Entradas con la etiqueta ‘sistemas operativos’

La pantalla negra I

Sábado, 16 de Junio de 2001

#####################################
## HACKINDEX ##
## http://www.hackindex.org ##
#####################################
Titulo: La pantalla negra I
Autor: Lokutus
Tema: Linux

La información incluída en este documento es expuesta en base a un interés educativo. HackIndex no se hace responsable del uso de dicha información.

El siguiente documento es propiedad de HackIndex y de su autor, pudiendo ser distribuído de forma totalmente libre y sobre cualquier tipo de soporte siempre y cuando se respete el formato original, se cite a A.H.E. como fuente, se incluya un enlace actualizado al documento o a la web del grupo: http://www.hackindex.org ; y se incluya este disclaimer en su totalidad y sin modificación alguna.

Queda extrictamente prohibida su distribución con fines lucrativos, cuando se altere su contenido sin consentimiento o cuando se incumpla cualquier otra condicion citada anteriormente en el presente disclaimer.
#####################################

Requerimientos:
Un Linux instalado funcionando con una cuenta de usuario, que se compone de un Login (nombre), y un password (contraseña), Ese Linux debe de arrancar en modo consola, sin las X. Es aconsejable que sea una versión castellanizada con las páginas del manual del proyecto Lucas.

Encendemos el ordenador, apretando a ese botón que pone Power, el sistema operativo arranca, y al cabo de un rato veremos la pantalla de color negro y un mensaje similar a:

Linux Debian (Potatoe)
Login:

¿No ve nada?, compruebe si el pilotito del monitor está encendido, si no es así, pulse el botón gordo. ¿Problema subsanado?, bien empezamos.

Escribimos el login, cada vez que pulsamos una tecla, aparecerá en pantalla el caracter correspondiente,

Linux Debian (Potatoe)
Login: genaro

Y ahora, ¿Como decimos que hemos acabado de introducir el nombre?, con la tecla "Intro" que está en el teclado numérico, el de la derecha, debajo de la tecla "+". Un equivalente a este tecla es la tecla gorda que tiene una flecha en forma de L apuntando a la izquierda, la que está justo encima de la tecla de mayúsculas izquierda. Esta tecla también se llama retorno de carro, o CR de "Carriage Return".

Despues de introducir el login, nos pide el password.

Linux Debian (Potatoe)
Login: genaro
password:

Es este caso, no veremos los caracteres que tecleamos, si nos confundimos en el password o en el login, no nos dirá en que nos hemos confundido y tendremos que teclear las dos cosas.

¿Ya hemos entrado?, bien podemos comenzar. En primer lugar y si nunca ha tenido contacto con un interfaz en modo consola, Linux es como un chat o IRC, pero en lugar de hablar con otras personas que están conectadas al IRC, hablamos con el sistema operativo.

Observamos que en la pantalla, sólo vemos un mensaje y un cursor parpadeante:

[genaro]$ _

Ese mensajito, es el llamado "prompt", traducido como simbolo del sistema, y quiere decir, que el sistema operativo, está preparado y listo para aceptar órdenes, o sea, escribimos algo, pulsamos retorno de carro y el sistema operativo, nos responde, y vuelve a aparecer el shell para que podamos decir más cosas.

Si pulsamos varias veces la tecla de retorno de carro sin decir nada, se escribe más veces el símbolo del sistema.

[genaro]$
[genaro]$
[genaro]$
[genaro]$
[genaro]$ _

Comenzamos a trabajar.
[Siempre pulsamos retorno de carro para acabar una órden]

[genaro]$ naz, que pasa tronco?
bash: naz,:
command not found

Parece que no nos ha hecho mucho caso, lo mismo hay que hablarle en giri.

[genaro]$ hello, what’s the matter?
bash: hello:
command not found

¿Qué es lo que pasa?, que el sistema operativo no es un sistema experto, no podemos hablar con el como si fuera otra persona, tenemos que introducirle órdenes, el se las traga, hace lo que tenga que hacer y escribe en pantalla los resultados.

Vamos a comenzar con una primera órden. "clear".

[genaro]$ CLEAR
bash: CLEAR:
command not found

Ops, parece que no funciona, ¿por qué?, ¿tiene que ser en minúsculas?, pues si.

[genaro]$ clear

Y la pantalla se nos limpia, de todas formas si pulsamos la combinación de teclas Control + L, se nos limpia la pantalla también.

TIP 1: Linux distingue las mayúsculas de las minúsculas

La siguiente órden, "ls", lista el contenido de un directorio, un directorio es el equivalente a una carpeta de trabajo, como las que tenemos en Windows, solo que no la vemos en una ventana. "ls" viene de la contracción de la palabra inglesa "list", en castellano "LiStar".

[genaro]$ ls
[genaro]$ _

¿Qué ha pasado?, ¿no ha funcionado?, por lo visto no hay ningún fichero en la carpeta en la que estamos y por lo tanto no ha devuelto nada.

TIP 2: Cuando Linux no tiene nada que decir, no dice nada.

Si no tenemos ficheros, pues nos lo hacemos, vamos a empezar por otra carpeta.

[genaro]$ mkdir mi carpeta
[genaro]$

Y vamos a ver si la ha creado.

[genaro]$ ls
carpeta mi
[genaro]$

Opssss, ¿ha puesto el nombre del directorio al reves?, no, resulta que ha creado dos directorios, un directorio "mi" y un directorio "carpeta", vamos a intentarlo de otra forma:

[genaro]$ mkdir "mi carpeta"
[genaro]$ ls
carpeta mi mi carpeta
[genaro]_

dabuten, si queremos cambiar de directorio, usamos la órden "cd".

[genaro]$ cd
carpeta
[carpeta]$ _

Observamos, que el prompt ha cambiado, indicando el directorio en el que estamos, en cualquier momento podemos hallar el directorio en el cual estamos situados usando la órden pwd.

[carpeta]$ pwd
/home/genaro/carpeta
[carpeta]$ _

El mensaje que nos ha respondido quiere decir, que estamos en el directorio carpeta, que está dentro del directorio genaro que a su vez está en el directorio home. Linux, al igual que todos los Unix, utiliza para separar los directorios el símbolo correcto, o sea el "/", ‘backslack’, de hecho es el que se utiliza en los URL de internet.

El directorio más alto de todos, es el directorio "/", llamado directorio raiz, un directorio, puede contener varios directorios, llamados subdirectorios, o directorios hijos, pero un directorio hijo, o subdirectorio, no puede contener varios directorios padres. Para subir en la jerarquía de directorios, podemos teclear.

[carpeta] cd ..
[genaro] _

Los dos puntitos separados del cd, pues de lo contrario, no se reconocerá la órden. También podíamos haber dado el camino completo, veamos como:

[genaro] cd -
[carpeta] cd /home/genaro
[genaro] _

La primera órden cd -, vuelve al anterior directorio en el que hayamos estado, y con la segúnda órden, indicamos el camino completo. También se puede indicar un camino relativo, veamos como.

[genaro] cd -
[carpeta] cd ../mi
[mi] cd ../../genaro
[genaro] cd mi
[mi] _

El directorio "mi", está a la misma altura que el directorio "carpeta", ambos cuelgan del directorio "genaro", asi que vamos al directorio "mi" dando como referencia el directorio padre, (los dos puntos), "../mi". Estando en el directorio "mi", la órden "cd ../../genaro" es equivalente a "cd ..", simplemente hemos dado un rodeo. Voy a introducir en este punto una órden, la órden es "touch", sirve para crear un fichero si no existe.

[mi]$ touch fichero1
[mi]$ ls
fichero1

Hemos creado un fichero llamado "fichero1", este fichero estará vacío, no contiene nada. Vamos al directorio padre, y vamos con lo último que nos queda de los directorios, el borrado de estos. El borrado de directorios se hace con "rmdir".

[mi]$ cd ..
[genaro]$ ls
carpeta mi mi carpeta
[genaro]$ rmdir carpeta
[genaro]$ ls
mi mi carpeta
[genaro]$ rmdir "mi carpeta"
[genaro]$ ls
mi
[genaro]$ rmdir mi
rmdir: mi: Directory not empty
[genaro] _

No podemos borrar el directorio "mi", por que hemos creado antes el fichero "fichero1". tenemos que entrar en ese directorio, borrar el fichero, volver y borrar el directorio. Para borrar ficheros, usamos la órden "rm".

[genaro]$ cd mi
[mi]$ rm fichero1
[mi]$ ls
[mi]$ cd ..
[genaro]$ rmdir mi
[genaro]$ ls
[genaro]$ _

Ya está, hay otra forma de borrar directorios que no están vacios, es con la órden "rm -r", la r de recursivo. Para salir de una sesión abierta de Linux, se usa la órden exit.

[genaro]$ exit
Linux Debian (Potatoe)
Login:

Y volveremos a ver el login inicial. De momento y como no sabemos parar un sistema Linux, para pararlo usamos la combinación de teclas "Control + Alt + Delete", cuando esté el ordenador a punto de arrancar otra vez, lo para pulsando el botón de power.

Resumen: hasta ahora hemos visto:

  • Entrar y salir en una sesión.
  • Qué es esa pantalla negra.
  • Crear y borrar directorios.
  • Moverse entre directorios.
  • Qué fichero hay en cada directorio.
  • Borrar ficheros.
  • Próxima sesión, más de lo mismo.

    • Share/Bookmark

    ¿Se puede hackear desde Windows?

    Sábado, 16 de Junio de 2001

    #####################################
    ##                                 HACKINDEX                               ##
    ##                     http://www.hackindex.org                    ##
    #####################################
    Titulo: ¿Se puede hackear desde Windows?
    Autor: Lokutus
    Tema: Windows

    La información incluída en este documento es expuesta en base a un interés educativo. HackIndex no se hace responsable del uso de dicha información.

    El siguiente documento es propiedad de HackIndex y de su autor, pudiendo ser distribuído de forma totalmente libre y sobre cualquier tipo de soporte siempre y cuando se respete el formato original, se cite a A.H.E. como fuente, se incluya un enlace actualizado al documento o a la web del grupo: http://www.hackindex.org ; y se incluya este disclaimer en su totalidad y sin modificación alguna.

    Queda extrictamente prohibida su distribución con fines lucrativos, cuando se altere su contenido sin consentimiento o cuando se incumpla cualquier otra condicion citada anteriormente en el presente disclaimer.
    #####################################

    ¿SE PUEDE HACKEAR DESDE WINDOWS?
    ——————————–

    A veces, y leyendo las news o algún foro desde la web, uno se encuentra afirmaciones tales como, “No se puede hacer hacking desde Windows”, “para ser hacker tienes que tener linux, si no eres un lamer”

    Aclaremos un primer punto, ¿qué es un hacker?, existen casi tantas definiciones como personas existen.

    Si nos vamos al lexicon, o leemos el artículo de Richard Stalmand acerca de “como ser un hacker”, observamos que según algunos circulos, ser hacker no consiste en romper la seguridad de sistemas informáticos, si no en resolver problemas, desarrollar software libre, hacer traducciones, soporte gratuito en las news y en el IRC ayudando a los que tienen problemas, e incluso hacer trabajos menos reconocidos como moderar grupos de noticias o listas de correo.

    Bajo ese punto de vista, es obvio que se puede desarrollar software libre para cualquier sistema operativo, ya sea Windows, BeOS, Linux o BSD en cualquiera de sus variantes. Y desde ese punto de vista, es probable que existan más hackers en “es.comp.linux.misc” que en “es.comp.hackers”.

    A menudo leyendo documentaciones o escritos procedentes del mundo del software libre, encuentro la palabra “hackear”, a veces esa palabra la traduzco como “desarrollar”, y otras veces como “hacer ingeniería inversa” o “aprender todo acerca del funcionamiento del software XXX”.

    Por ejemplo, cuando alguien intenta hallar el formato de un tipo de documento, o gráficos que no está documentado, o un protocolo, está hackeando. Los que programaron el software para ver DVD en linux, hackearon el sistema de encriptación del DVD.

    Naturalmente, Windows es una plataforma más cerrada sobre la que tienes menos información, y hay cosas que desearía desarrollar pero que no puedo hacerlas por carecer de información técnica. Sin embargo en Linux hay toda la información que necesito.

    Si nos centramos en el otro significado de la palabra “hacker”, invadir sistemas informáticos ajenos, o al menos ser capaz de hacerlo. También se puede hacer desde Windows. Nuevamente, es posible que inicialmente carezcamos de Herramientas, pero poco a poco podemos conseguirlas.

    Por otro lado, muchas herramientas no se van a ejecutar en la máquina del “hacker” si no en la máquina destino, como los root shell, los zapper, etc.

    A veces en la máquina “victima” no dispondrá de compilador, y necesitaremos compilar en nuestra propia máquina las “herramientas”, pero, ¿y si tienes linux y la máquina destino es un Solaris?, ¿y si una vez escarmentado, te has instalado solaris y la máquina de destino es un BSD en plataforma Power PC?, por muchos sistemas operativos que tengamos instalados siempre nos encontraremos con el problema de no poder compilar una herramienta.

    Un hacker, según muchas definiciones, es ante todo un forofo de la informática, alguien que siempre está liado con ordenadores, y en mi opinión un forofo lo mismo que en un momento dado trastea con Linux, en el momento siguiente está trasteando con Windows 2000, y en el siguiente con BSD.

    ¿Visteis la película “RAMBO” cuando dice, “yo he pilotado tanques, helicopteros, y he manejado todo tipo de armas”?, pues es un poco, como ser un “RAMBO” pero de la informática, ser capaz de pilotar cualquier sistema operativo que le pongan por delante, poder meterse con cualquier lenguaje de programación, o al menos aprenderlo en poco tiempo.

    Si, si, ya se que el que mucho abarca poco aprieta, pero el que tiene los conceptos bien claros, puede abarcar mucho, un desarrollador de software experto, cuando piensa en una arquitectura de software, le importa tres carajos en qué lenguaje de programación se va a desarrollar. A ningún programador de verdad, le asusta meterse de repente en Modula 2 cuando siempre ha programado en C, por ejemplo.

    De la misma forma, meterse de repente con Open VMS, o con MVS no debería asustar a nadie si tiene los conceptos claros acerca de qué es un sistema operativo y como funciona. Al principio tendrá que ler mucho y hacerse chuletas, pero en un par de semanas como el que más.

    En mi opinión, e independientemente del concepto de “hacker” que tengamos, puede ser util montarse un laboratorio “hacker” en casa, siempre y cuando sea posible.

    Para empezar, aunque no imprescindible, pero si muy, muy aconsejable, disponer de varios ordenadores, yo en casa tengo siete ordenadores, pero si vivis con vuestros padres o estais casados no es aconsejable tener tantos, puesto que podeis tener problemas familiares, y puede que os envien a una terapia de grupo.

    Un segundo o tercer ordenador, lo podeis conseguir de segunda mano bastante baratos, por ejemplo los que vivais en Madrid, podeis conseguir un Pentium 90 – 100 por unas 20.000.

    Lo que llevais un tiempo usando ordenadores y sabeis algo de hartware, es muy probable que cada cierto tiempo actualizais vuestro ordenador, le cambiais la placa base, la tarjeta de video, y poco a poco, os encontrais con que teneis el ordenador original que teníais en piezas sueltas, en ese caso, sólo os falta compraros una caja minitorre para tener un segundo o tercer PC.

    El segundo paso es instalaros una pequeña red local en vuestra casa, las tarjetas de red actualmente están tiradas de precio, por unas 2000 pesetas podeis conseguirlas. Un Hub de 4 puertos tampoco vale tanto, aunque os lo podeis ahorrar si adquiris tarjetas con conectores de varios tipos y os instalais la red con cableado coaxial.

    Tambien os podeis ahorrar la compra de varios monitores con un conmutador de pantalla-teclado-raton, hay dos tipos de este dispositivo, los más baratos, son una vulgar caja con un conmutador de galleta dentro, eso suele dar problemas al conmutar, por ejemplo que el teclado deje de funcionar y tengais que rearrancar un ordenador. A veces por culpa de los falsos contactos, se os puede poner el monitor de color verde, o azul.

    Los digitales, cuestan algo más de dinero, pero merecen la pena.

    Usando varios ordenadores, podeis instalaros varios sistemas operativos, Windows, Linux, BSD, servidores web.

    Si os va el hacking de guante blanco, podeis usar vuestra red casera para probar aplicaciones cliente servidor,

    Si os va el lado oscuro de la fuerza, podeis usar vuestra red casera para replicar en una de vuestras máquinas un servidor que querais atacar, (las mismas versiones de todo), y probar a atacar vuestro propio servidor, cuando consigais entrar, lo intentais con el servidor que habeis replicado de tal forma que vais directamente al grano.

    E incluso si solo intentais aprender acerca de seguridad informática, podeis intentar atacar un servidor vuestro, y desde el servidor observar en qué notais el ataque.

    Por ejemplo, he observado que en un Linux, sin ninguna herramienta de seguridad, son más invisibles los escaneos de puerto de tipo full que los invisibles de tipo “sync”, por que algunos software de servidor, cuando reciben una trama “sync”, envían un mensaje de error al fichero de trazas.

    Por otro lado, muchos, muchísimos bugs de seguridad, surgen para plataformas Windows, de tal forma que, ¿es posible detectar un bug en Windows si solo usas linux?, pues no. De hecho algo de lo que estoy convencido, es que muchos bugs de seguridad que aparecen tanto para Windows como para Linux, no han sido descubiertos por grupos de hackers, si no por administradores de sistemas, que los trabajan dia a dia o por empresas de seguridad informática.

    Resumen: ¿Es “vergonzoso” usar OutLook para enviar a las news?, cada cual usa lo que quiere o le apetece, a veces uso OutLook desde Windows y a veces netscape desde Linux, depende de lo que esté haciendo,

    Si envio mensajes desde Windows, o bien estoy en el trabajo, o bien estoy desarrollando algo en VC++. O estoy asimilando un virus. Si envío algo desde Linux, o bien estoy en el IRC, o bien estoy haciendo un simulador de troyanos en GTK efilon plan experimental.

    • Share/Bookmark