En este tutorial vamos a describir las principales opciones de john the ripper. Vamos a explicar el funcionamiento basico para el uso de JTR para romper contraseñas (LM, NTML, MD5) haciendo uso de una lista de palabras o ataque de fuerza bruta.
Acerca de John the ripper
John the ripper es un rapido rompedor de contraseñas, actualmente disponible para muchos sistemas tales como unix, windows, DOS, BeOS, y OpenVMS. Su objetivo principal es detectar contraseñas debiles de unix. Es uno de los programas rompedores de contraseñas mas famosos, ya que combina una serie de rompedores de contraseñas en un solo paquete, detecta automaticamente los tipos de contraseñas, e incluye un cracker personalizable.
Puedes ejecutar varios formatos de contraseñas encriptadas, incluso varios hash de contraseñas en sistemas unix(DES, MD5, Blowfish), Kerberos AFS, y Windows NT/2000/XP/2003 (LM hash). Los modulos adicionales han ampliado su capacidad de incluir hashes en MD4, contraseñas en LDAP, MySQL y otros.
Mas informacion: http://openwall.info/wiki/john/sample-hashes
Descargar - Instalar JTR
Descargar la ultima version gratis de JTR usando el sitio web oficial. Descargarlo dependiendo del sistema donde te encuentres. Lo ejecutamos desde consola o terminal y veremos lo siguiente:
>john
John the Ripper password cracker, version 1.7.9
Copyright (c) 1996-2011 by Solar Designer
Homepage: http://www.openwall.com/john/
Usage: john [OPTIONS] [PASSWORD-FILES]
--single "single crack" mode
--wordlist=FILE --stdin wordlist mode, read words from FILE or stdin
--rules enable word mangling rules for wordlist mode
--incremental[=MODE] "incremental" mode [using section MODE]
--external=MODE external mode or word filter
--stdout[=LENGTH] just output candidate passwords [cut at LENGTH]
--restore[=NAME] restore an interrupted session [called NAME]
--session=NAME give a new session the NAME
--status[=NAME] print status of a session [called NAME]
--make-charset=FILE make a charset, FILE will be overwritten
--show show cracked passwords
--test[=TIME] run tests and benchmarks for TIME seconds each
--users=[-]LOGIN|UID[,..] [do not] load this (these) user(s) only
--groups=[-]GID[,..] load users [not] of this (these) group(s) only
--shells=[-]SHELL[,..] load users with[out] this (these) shell(s) only
--salts=[-]COUNT load salts with[out] at least COUNT passwords only
--save-memory=LEVEL enable memory saving, at LEVEL 1..3
--format=NAME force hash type NAME: des/bsdi/md5/bf/afs/lm/trip/
dummy
Explicacion de opciones
Las opciones pueden ser especificadas junto con los archivos de contraseñas o por su cuenta. Todas las opciones son case sensitive, puede ser abreviado de manera larga o corta, pueden prefijar dos guiones o con un solo guion y pueden utilizar "=" o ":" para indicar un argumento. Activa el modo "solo crack" usando las reglas de la seccion del archivo de configuracion.
--single
john --single archivo_a_crackear.txt
Activar el modo wordlist (ataque de diccionario) este es mas rapido que el ataque por defecto (fuerza bruta).
--wordlist=ARCHIVO
john --wordfile:password.lst archivo_a_crackear.txt
Le permite definir las reglas para el uso de wordlist.
--rules
Permite un modo incremental que le permite hacer un ataque de fuerza bruta bajo ciertos modos.
--incremental[=MODO]
john --incremental:alpha archivo_a_crackear.txt
john --incremental:digits archivo_a_crackear.txt
Sigue una sesion interrumpida de crackeo, leyendo informacion sobre el estado del archivo de sesion especificado o de $JOHN/john.rec por defecto.
--restore[=NOMBRE]
john --restore:restore
(Nota: Si ha utilizado la opcion de sesion, debe especificar el nombre de sesion para el proceso de restauracion).
Esta opcion puede utilizarse solo a partir de una nueva sesion de cracking y su proposito es dar a la nueva sesion un nombre (a la cual john le agregará el sufijo ".rec" para formar el nombre del archivo de sesion).
--session=NOMBRE
john --session:[archivo_a_guardar] archivo_a_crackear.txt
(Nota: Esta opcion crea y mantiene los datos de su sesion que permite restaurarla mas adelante).
Imprime el estado de una sesion interrumpida o corriendo.
--status[=NOMBRE]
john --status:[nombre_del_archivo]
Muestra las contraseñas crackeadas para los archivos dados. Usted puede utilizar esta opcion para ver que es lo que hizo john hasta el momento.
--show
john --show archivo_a_crackear.txt
Prueba todos los algoritmos hash compilados para verificar el correcto funcionamiento y sus puntos de referencia.
--test[=TIEMPO]
john --test
Le permite seleccionar unas cuentas para crackear o para otras operaciones.
--users=[-]LOGIN|UID
john --users:Usuario archivo_a_crackear.txt
Esta opcion es util para cargar cuentas con una shell valida solamente o no cargar cuentas con una shell mala.
--shells=[-]SHELL
Permite sobreescribir la deteccion del tipo de Hash. Actualmente, los "nombres de formato" validos son DES, BSDI, MD5, BF, AFS, LM, y crypt.
--format=NOMBRE
john --format:DES archivo_a_crackear.txt
john --format:BSDI archivo_a_crackear.txt
john --format:MD5 archivo_a_crackear.txt
john --format:BF archivo_a_crackear.txt
john --format:AFS archivo_a_crackear.txt
john --format:LM archivo_a_crackear.txt
Ejemplos - fuerza bruta
En esta parte del tutorial crearemos un archivo .txt con los hash que incluiran contraseñas en formato (LM/NTLM/HASH).
Añadiremos los hashes el LM y NTLM como sigue:
Editor::A4A54C86C6E5B8D0D69E92D4A9360EB0:FC4CB75BCC71D23954F4C94AD31AF0B1:::
A continuacion vamos a escribir el siguiente comando para abrir el archivo .txt.
>john john.txt
Loaded 2 password hashes with no different salts (LM DES [128/128 BS SSE2
ATSIS (Editor:2)
guesses: 1 time: 0:00:01:32 (3) c/s: 10880K trying: CR5PT24 - CR5PNHJ
FOTISLI (Editor:1)
guesses: 2 time: 0:00:01:33 (3) c/s: 10931K trying: FOTILVY - FOTIBFA
Warning: passwords printed above might be partial
Use the "--show" option to display all of the cracked passwords reliably
Para previsualizar los resultados de esta operacion escribimos:
>john --show john.txt
Editor:FOTISLIATSIS::FC4CB75BCC71D23954F4C94AD31AF0B1:::
2 password hashes cracked, 0 left
(Nota: el archivo john.txt contiene solo caracteres alfa).
Ahora crearemos el archivo john2.txt que contendra caracteres alfanumericos.
Liatsis_Fotis#Post::C99FFEFFD8300629F500944B53168930:892A0EAA0CFE35F105138006D6415A2E:::
Liatsis_Fotis#About::5524ADDCF15F4B1EAAD3B435B51404EE:730F52CBC638F6ECD8E1F5D89600AA6A:::
Liatsis_Fotis#ID::686A307B45A7EC144207FD0DF35A59A8:C7DE72EBBFF0979175DF38D63294FFA9:::
A continuacion vamos a escribir el siguiente comando, agregando --format como opcion y podremos especificar el formato de LM.
>john --format=LM john2.tx
Loaded 5 password hashes with no different salts (LM DES [128/128 BS SSE2]
L (Liatsis_Fotis#Post:2)
12 (Liatsis_Fotis#ID:2)
JTR (Liatsis_Fotis#About)
TUTORIA (Liatsis_Fotis#Post:1)
guesses: 4 time: 0:00:00:06 (3) c/s: 6613K trying: MYKHRT2 - MYKHNTH
PRIVACY (Liatsis_Fotis#ID:1)
guesses: 5 time: 0:00:00:09 (3) c/s: 7749K trying: PRIVAI! - PRIVSM2
Warning: passwords printed above might be partial
Use the "--show" option to display all of the cracked passwords reliably
Para previsualizar los resultados de esta operacion escribimos:
>john --show john2.txt
Liatsis_Fotis#Post:TUTORIAL::892A0EAA0CFE35F105138006D6415A2E:::
Liatsis_Fotis#About:JTR::730F52CBC638F6ECD8E1F5D89600AA6A:::
Liatsis_Fotis#ID:PRIVACY12::C7DE72EBBFF0979175DF38D63294FFA9:::
5 password hashes cracked, 0 left
Ejemplos - Ataque por diccionario
En esta parte vamos a escribir el siguiente comando añadiendo la opcion --wordlist y especificar la ubicacion del archivo de lista de palabras.
>john --wordlist=mi_wordlist.txt john3.txt
Loaded 1 password hash (LM DES [128/128 BS SSE2-16])
PR1V@CY (Security)
guesses: 1 time: 0:00:00:00 100% c/s: 248533 trying: PR1VYPV - PR1V@YC
Use the "--show" option to display all of the cracked passwords reliably
Para previsualizar los resultados de esta operacion escribimos:
>john --show john3.txt
Security:PR1V@CY::A8C6E71DC39003852ACC407CFA612363:::
1 password hash cracked, 0 left
(Nota: como hemos observado, el metodo de ataque wordlist llevo menos tiempo para decifrar el codigo hash).
(Nota: use onlinehashcrack.com para generar mis contraseñas en formato LM/NTLM)
Conclusion
Son muchas maneras en las que podemos pasar un hash a un archivo. Este tutorial describe las cosas basicas para generar, crear/abrir un archivo .txt con algoritmos simples como LM/NTLM, la mejor manera es intentar usar todos los parametros en un entorno virtual, creando nuestros hash y wordlist para lo que la opcion puede realizar antes de proceder al archivo real .txt.
Traduccion: arthusu
Post original: http://www.liatsisfotis.com/2012/12/crack-passwords-using-john-ripper.html
No hay comentarios:
Publicar un comentario