sábado, 19 de noviembre de 2011

Auditoría de passwords con John the Ripper (Windows/ Linux)


John the Ripper es un programa que aplica distintos ataques para descifrar contraseñas. Es muy popular, debido a su facilidad de uso y a que es compatible con 15 Sistemas Operativos. No necesita instalación.
Los ataques que utiliza son fuerza bruta y diccionario, aunque en éste ultimo también puede cambiar palabras, añadir números, signos, etc…
Entre los algoritmos de cifrado que es capaz de romper están SHA-1, MD5 y DES, entre otros.
Ahora vamos a ver cómo se utiliza en Windows y Linux.

WINDOWS
Para empezar, debemos obtener una copia del archivo SAM (Security Account Manager), que es un fichero que almacena los nombres de usuarios y contraseñas (cifradas) del equipo o dominio. Podemos utilizar, para realizar esta tarea, pwdump, fgdump, u otro programa que haga el mismo trabajo.
Una vez tengamos el archivo con las contraseñas y John the Ripper descargado, ejecutaremos la siguiente orden, (en la consola de comandos), para comenzar la búsqueda de claves:

     john archivo_claves

Así utilizará los métodos single crack, wordlist e incremental, en ese orden. Pero, ¿Cómo funcionan estos métodos?:


  • Single crack: prueba el nombre del usuario, el nombre del home y combinaciones entre éstos y números y letras para dar con la clave. Para utilizar sólo este método:
           john --single fichero_claves 
  • Wordlist: utiliza el método por diccionario. Podemos utilizar el que viene por defecto o probar con otro. Utilización:
          john --wordlist=password.lst ficero_claves
           (password.lst es el diccionario que viene con el programa)
  • Incremental: es el método más potente para averiguar contraseñas, ya que puede probar todas las combinaciones de caracteres posibles. Utilización:
          john --incremental fichero_claves
    john –i fichero_claves (método abreviado)

           En el modo incremental le podemos indicar los tipos de caracteres que utilizará:
           john –i=alpha fichero_claves
           Alpha utilizará los caracteres de ‘a’ a ‘zzzzzzzz’. Los modos del método incremental son: all, alnum, alpha, digits, lanman.


Una vez haya acabado el programa de averiguar las contraseñas, las podemos visulizar ejecutando:
         john --show fichero_claves


Ésta es solo una muestra de algunos parámetros. Para ver todas las posibilidades del programa, lo mejor es acudir a la documentación del mismo. 

También hay un fichero de configuración (john.conf o jhon.ini) en el que podremos definir multitud de parámetros y opciones.


LINUX
Es igual que en Windows, sólo cambia la forma de instalarlo (también lo podremos descargar de aquí, o ejecutando, por ejemplo, apt-get install john) y la forma en que coge el archivo con las contraseñas.
En Linux, no existe un solo archivo con los usuarios y contraseñas, sino que existe uno para cada cosa, usuarios (archivo passwd) y contraseñas (archivo shadow).
Así que para que Jhon the Ripper pueda realizar bien su trabajo, hay que combinar estos documentos en uno solo. Y para esto ejecutaremos:

            unshadow /etc/passwd /etc/shadow > fichero_claves

unshadow es una utilidad que viene incluida con John the Ripper, por lo que habrá que instalarlo primero para realizar esta paso.

Una vez hayamos obtenido el fichero de claves, la utilización los comandos, parámetros y demás es exactamente igual que en Windows.


ADVERTENCIA: Ésta es una herramienta que utilizan los administradores de sistema para comprobar la vulnerabilidad de las claves en su red y averiguar claves débiles, para así poder mejorar la seguridad. En ningún caso se debe utilizar para crackear contraseñas de una red que no sea nuestra.

0 comentarios:

Publicar un comentario