0% encontró este documento útil (0 votos)
19 vistas16 páginas

Arte de Romper Contraseñas

ARTE DE ROMPER CONTRASEÑAS

Cargado por

Jafet Jafet
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
19 vistas16 páginas

Arte de Romper Contraseñas

ARTE DE ROMPER CONTRASEÑAS

Cargado por

Jafet Jafet
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

John the Ripper: El arte de romper

contraseñas

“La seguridad es un proceso, no un producto.”

Roberto Luzanilla
Estudiante de Ingenierı́a en Sistemas
13 de mayo de 2025
John the Ripper: El arte de romper contraseñas 1

Índice
1. Introducción a John the Ripper 3

2. Instalación y configuración 3
2.1. Debian/Ubuntu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2. Kali Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.3. Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.4. Verificar instalación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.5. Configuración básica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

3. Estructura y componentes 5
3.1. Modos de operación principales . . . . . . . . . . . . . . . . . . . . . . . . 5
3.2. Formatos de hash soportados . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.3. Archivos importantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

4. Preparando archivos de hash 6


4.1. Extracción de hashes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
4.2. Formato de archivos de hash . . . . . . . . . . . . . . . . . . . . . . . . . . 6

5. Ataques básicos 7
5.1. Ataque automático . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
5.2. Ataque por diccionario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
5.3. Ataque por diccionario con reglas . . . . . . . . . . . . . . . . . . . . . . . 7
5.4. Ataque de fuerza bruta (modo incremental) . . . . . . . . . . . . . . . . . 8
5.5. Ver resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

6. Ataques avanzados 8
6.1. Ataque de máscara . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
6.2. Ataques hı́bridos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
6.3. Reglas personalizadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
6.4. Distribución de trabajo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
6.5. Utilizando GPU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

7. Optimización de rendimiento 10
7.1. Benchmarking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
7.2. Ajustes de memoria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
7.3. Multithreading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
7.4. Formatos especı́ficos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
John the Ripper: El arte de romper contraseñas 2

8. Casos de uso prácticos 10


8.1. Auditorı́a de polı́ticas de contraseñas . . . . . . . . . . . . . . . . . . . . . 10
8.2. Recuperación de archivos cifrados . . . . . . . . . . . . . . . . . . . . . . . 11
8.3. Análisis forense . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
8.4. Evaluaciones de seguridad . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

9. Limitaciones y consideraciones 11
9.1. Factores limitantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
9.2. Consideraciones éticas y legales . . . . . . . . . . . . . . . . . . . . . . . . 12

[Link] prácticas defensivas 12


10.1. Recomendaciones para administradores . . . . . . . . . . . . . . . . . . . . 12
10.2. Patrones a evitar en contraseñas . . . . . . . . . . . . . . . . . . . . . . . . 13

[Link] de la auditorı́a de contraseñas 13


11.1. Tendencias emergentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
11.2. El papel de John the Ripper en el futuro . . . . . . . . . . . . . . . . . . . 14

[Link]́n 14

[Link] y recursos 15
John the Ripper: El arte de romper contraseñas 3

1. Introducción a John the Ripper


En el complejo universo de la ciberseguridad, pocas herramientas han permanecido tan
relevantes a lo largo del tiempo como John the Ripper. Desarrollada originalmente por
Solar Designer, esta herramienta de código abierto se ha convertido en un estándar de
facto para la auditorı́a de contraseñas y la evaluación de su fortaleza.

John the Ripper (comúnmente llamado simplemente ”John”) destaca por su versatilidad
y eficacia. Más allá de ser una simple utilidad para romper contraseñas, representa una
filosofı́a fundamental en seguridad: para proteger adecuadamente un sistema, primero
debes entender cómo puede ser vulnerado.

Esta herramienta opera bajo diferentes modos de ataque que simulan las estrategias uti-
lizadas por actores maliciosos: desde ataques de fuerza bruta hasta sofisticados ataques
basados en reglas y diccionarios personalizados. Su capacidad para detectar y explotar
debilidades en los mecanismos de autenticación la convierte en un aliado invaluable para
administradores de sistemas y auditores de seguridad.

Lo que distingue a John the Ripper de otras herramientas similares es su equilibrio entre
poder, flexibilidad y accesibilidad. Su arquitectura modular permite adaptarse a diferentes
escenarios y requisitos, mientras que su continuo desarrollo garantiza compatibilidad con
los más recientes algoritmos de cifrado y hash.

En un mundo donde las violaciones de datos son cada vez más frecuentes y sofisticadas,
dominar herramientas como John the Ripper no es simplemente una habilidad técnica: es
una necesidad para quienes buscan fortalecer activamente la seguridad de sus sistemas y
proteger información sensible.

2. Instalación y configuración
La instalación de John the Ripper varı́a según el sistema operativo. A continuación, se
detallan los métodos más comunes.

2.1. Debian/Ubuntu
1 sudo apt update
2 sudo apt install john

Para la versión Jumbo (recomendada por sus caracterı́sticas adicionales):


1 sudo apt update
2 sudo apt install john - data
John the Ripper: El arte de romper contraseñas 4

3 git clone https :// github . com / openwall / john -b bleeding - jumbo john
4 cd john / src
5 ./ configure && make -s clean && make - sj4

2.2. Kali Linux


Kali Linux ya incluye John the Ripper preinstalado. Para verificar la versión:
1 john -- version

2.3. Windows
Para Windows, se recomienda descargar la versión compilada desde el sitio oficial de
Openwall o utilizar la versión de Cygwin:

1. Visita [Link]

2. Descarga la versión adecuada para tu arquitectura

3. Extrae el archivo comprimido

4. Accede a la herramienta desde la lı́nea de comandos

2.4. Verificar instalación


Una vez instalado, puedes comprobar que todo funciona correctamente con:
1 john -- test

2.5. Configuración básica


La configuración principal de John the Ripper se encuentra en el archivo [Link]. Este
archivo contiene opciones para personalizar el comportamiento de la herramienta:
1 # Ubicaci n t p i c a en sistemas Linux
2 cat / etc / john / john . conf
3 # o
4 cat ~/. john / john . conf

Los parámetros más importantes a considerar en la configuración incluyen:

Rutas a diccionarios y reglas

Limitaciones de recursos (memoria, CPU)

Configuración de formatos especı́ficos

Reglas de mutación personalizadas


John the Ripper: El arte de romper contraseñas 5

3. Estructura y componentes
John the Ripper se basa en una arquitectura modular que le permite manejar diferentes
tipos de ataques y formatos de hash. Comprender estos componentes es esencial para
aprovechar al máximo la herramienta.

3.1. Modos de operación principales


Modo de ataque por diccionario: Prueba palabras de un archivo de texto.

Modo de ataque de fuerza bruta: Prueba sistemáticamente todas las combina-


ciones posibles.

Modo de ataque con reglas: Aplica transformaciones a palabras de diccionario


según reglas predefinidas.

Modo incremental: Un sofisticado ataque de fuerza bruta que prioriza combina-


ciones más probables.

Modo externo: Permite programar formas personalizadas de generar contraseñas.

3.2. Formatos de hash soportados


John the Ripper soporta una amplia variedad de formatos de hash y cifrado, incluyendo:

Unix tradicional (DES, MD5, Blowfish, SHA256, SHA512)

Windows (LM, NTLM)

Hashes de base de datos (MySQL, PostgreSQL, Oracle)

Hashes de aplicaciones web (WordPress, Drupal, Joomla)

Cifrado de archivos (ZIP, RAR, PDF, Office)

Y muchos más, especialmente en la versión Jumbo

Para ver todos los formatos disponibles en tu instalación:


1 john -- list = formats

3.3. Archivos importantes


[Link]: Almacena las contraseñas ya crackeadas.

[Link]: Registro de la actividad reciente.

[Link] : Archivo de configuración principal.


John the Ripper: El arte de romper contraseñas 6

[Link]: Diccionario por defecto (ubicación según instalación).

[Link]: Tablas de estadı́sticas para modo incremental.

4. Preparando archivos de hash


Antes de iniciar cualquier ataque con John the Ripper, es necesario obtener y preparar
los hashes que se intentarán crackear.

4.1. Extracción de hashes


John incluye varias utilidades para extraer hashes de diferentes fuentes:
1 # Extraer hashes de c o n t r a s e a s de Linux
2 sudo unshadow / etc / passwd / etc / shadow > hashes . txt
3

4 # Extraer hashes de archivos zip


5 zip2john archivo . zip > zip_hash . txt
6

7 # Extraer hashes de archivos RAR


8 rar2john archivo . rar > rar_hash . txt
9

10 # Extraer hashes de documentos Office


11 office2john documento . docx > office_hash . txt
12

13 # Extraer hashes de PDFs


14 pdf2john documento . pdf > pdf_hash . txt
15

16 # Extraer hashes de un sistema Windows ( requiere acceso )


17 pwdump > windows_hashes . txt
18 # o usar herramientas como mimikatz

4.2. Formato de archivos de hash


Un archivo de hash tı́pico para John the Ripper tiene este formato:
1 usuario : $id$salt$hash

Donde:

usuario: Nombre de usuario asociado al hash

$id$: Identificador del tipo de hash

$salt$: Valor de salt utilizado (si aplica)


John the Ripper: El arte de romper contraseñas 7

$hash$: El hash de la contraseña propiamente dicho

5. Ataques básicos
Una vez instalado John the Ripper y preparados los archivos de hash, podemos comenzar
con los ataques básicos.

5.1. Ataque automático


El modo automático intenta diferentes métodos de ataque en secuencia:
1 john hashes . txt

Este modo primero intenta un ataque de ”single crack”, luego un ataque basado en dic-
cionario con reglas y finalmente un ataque incremental.

5.2. Ataque por diccionario


Este ataque prueba palabras de un archivo de texto:
1 john -- wordlist =/ ruta / al / diccionario . txt hashes . txt

Algunos diccionarios populares incluyen:

RockYou (filtrado de más de 32 millones de contraseñas)

Palabras comunes del idioma (ej. /usr/share/dict/words)

SecLists (colección de múltiples diccionarios para diferentes propósitos)

5.3. Ataque por diccionario con reglas


Las reglas permiten transformar palabras base para crear variantes:
1 john -- wordlist =/ ruta / al / diccionario . txt -- rules hashes . txt

John incluye varios conjuntos de reglas predefinidos:


1 john -- list = rules

Para especificar un conjunto de reglas en particular:


1 john -- wordlist =/ ruta / al / diccionario . txt -- rules = Jumbo hashes . txt
John the Ripper: El arte de romper contraseñas 8

5.4. Ataque de fuerza bruta (modo incremental)


El modo incremental es un ataque de fuerza bruta optimizado:
1 john -- incremental hashes . txt

Para especificar un modo incremental particular:


1 john -- incremental = Digits hashes . txt

Los modos predefinidos incluyen:

All: Todos los caracteres ASCII imprimibles

Alpha: Solo letras (a-z, A-Z)

Digits: Solo números (0-9)

Alnum: Alfanumérico (a-z, A-Z, 0-9)

5.5. Ver resultados


Para mostrar las contraseñas ya crackeadas:
1 john -- show hashes . txt

6. Ataques avanzados
John the Ripper ofrece opciones avanzadas para casos donde los métodos básicos no son
suficientes.

6.1. Ataque de máscara


Los ataques de máscara permiten especificar patrones para las contraseñas:
1 john -- mask ="? d ? d ? d ?d -? l ? l ? l ? l " hashes . txt

Donde:

?d: Dı́gito (0-9)

?l: Letra minúscula (a-z)

?u: Letra mayúscula (A-Z)

?s: Sı́mbolo especial

?a: ASCII imprimible completo


John the Ripper: El arte de romper contraseñas 9

6.2. Ataques hı́bridos


Combinan diccionarios con ataques de fuerza bruta:
1 john -- wordlist =/ ruta / diccionario . txt -- mask ="? d ? d ? d " hashes . txt

Este ejemplo añade tres dı́gitos a cada palabra del diccionario.

6.3. Reglas personalizadas


Para crear reglas personalizadas, edita el archivo [Link]:
1 [ List . Rules : MisReglas ]
2 # A a d i r un n m e r o del 0 al 9 al final
3 $ [0 -9]
4 # Capitalizar primera letra
5 c
6 # Reemplazar ’a ’ por ’@ ’
7 sa@

Y luego:
1 john -- wordlist =/ ruta / diccionario . txt -- rules = MisReglas hashes . txt

6.4. Distribución de trabajo


Para tareas grandes, John permite distribuir el trabajo:
1 # En la primera m q u i n a ( nodos 1/4)
2 john -- incremental -- node =1/4 hashes . txt
3

4 # En la segunda m q u i n a ( nodos 2/4)


5 john -- incremental -- node =2/4 hashes . txt
6

7 # Y as sucesivamente ...

6.5. Utilizando GPU


La versión Jumbo de John the Ripper puede utilizar GPU para acelerar el proceso:
1 # Listar dispositivos OpenCL disponibles
2 john -- list = opencl - devices
3

4 # Usar un dispositivo e s p e c f i c o
5 john -- format = sha512crypt - opencl -- opencl - device =1 hashes . txt
John the Ripper: El arte de romper contraseñas 10

7. Optimización de rendimiento
El rendimiento de John the Ripper puede optimizarse significativamente con los ajustes
adecuados.

7.1. Benchmarking
Antes de iniciar un ataque a gran escala, es útil realizar pruebas de rendimiento:
1 john -- test
2 # O para un formato e s p e c f i c o
3 john -- test -- format = md5crypt

7.2. Ajustes de memoria


Puedes controlar el uso de memoria:
1 john -- fork =4 -- mem - file - size =500 MB hashes . txt

7.3. Multithreading
John puede utilizar múltiples núcleos:
1 john -- fork =4 hashes . txt
2 # o
3 john -- fork =0 hashes . txt # Utiliza todos los n c l e o s disponibles

7.4. Formatos especı́ficos


Especificar el formato correcto puede acelerar enormemente el proceso:
1 john -- format = raw - md5 hashes . txt

8. Casos de uso prácticos


John the Ripper se utiliza en diversos escenarios en el ámbito de la ciberseguridad.

8.1. Auditorı́a de polı́ticas de contraseñas


Verificar el cumplimiento de polı́ticas de seguridad:
1 # Extraer hashes
2 sudo unshadow / etc / passwd / etc / shadow > hashes . txt
3
John the Ripper: El arte de romper contraseñas 11

4 # Realizar a u d i t o r a
5 john -- wordlist = top_10000 . txt hashes . txt
6 john -- show -- users = usuarios_admin . txt hashes . txt

8.2. Recuperación de archivos cifrados


Recuperar contraseñas de archivos protegidos:
1 # Para un archivo ZIP
2 zip2john archivo . zip > zip_hash . txt
3 john zip_hash . txt
4

5 # Para un documento de Office


6 office2john documento . docx > office_hash . txt
7 john office_hash . txt

8.3. Análisis forense


En investigaciones forenses para recuperar credenciales:
1 # Recuperar c o n t r a s e a s de un volcado de SAM de Windows
2 john -- format = NT hashes_windows . txt
3

4 # A n l i s i s de credenciales encontradas
5 john -- show -- format = NT hashes_windows . txt > c r e d e n c i a l e s _ r e c u p e r a d a s .
txt

8.4. Evaluaciones de seguridad


Como parte de pruebas de penetración:
1 # Intentar crackear hashes capturados
2 john -- wordlist = diccionarios / en terpri se_com mon . txt -- rules = best64
has hes_ca pturad os . txt
3

4 # Generar informe de resultados


5 john -- show -- format = md5crypt ha shes_c aptura dos . txt >
i n f o r m e _ c o n t r a s e a s _ d e b i l e s . txt

9. Limitaciones y consideraciones
A pesar de su potencia, John the Ripper tiene limitaciones que deben tenerse en cuenta.
John the Ripper: El arte de romper contraseñas 12

9.1. Factores limitantes


Complejidad de contraseñas: Contraseñas largas y verdaderamente aleatorias
pueden ser prácticamente imposibles de crackear.

Algoritmos modernos: Algunos algoritmos están diseñados para ser computacio-


nalmente intensivos (bcrypt, Argon2, etc.).

Limitaciones de hardware: La velocidad depende directamente de los recursos


disponibles.

Limitaciones de tiempo: Algunos ataques pueden tomar dı́as, semanas o incluso


años.

9.2. Consideraciones éticas y legales


Solo utilizar en sistemas propios o con autorización explı́cita.

Documentar todas las actividades y mantener registros.

Reportar vulnerabilidades siguiendo procedimientos adecuados.

Estar al tanto de las regulaciones locales sobre pruebas de seguridad.

No utilizar contraseñas recuperadas para acceso no autorizado.

10. Mejores prácticas defensivas


Conocer las herramientas de cracking permite implementar mejores defensas.

10.1. Recomendaciones para administradores


Implementar polı́ticas de contraseñas robustas: longitud mı́nima, complejidad, ca-
ducidad.

Utilizar algoritmos de hash modernos con factor de trabajo ajustable (bcrypt, Ar-
gon2, etc.).

Implementar bloqueo de cuentas tras intentos fallidos.

Utilizar autenticación de múltiples factores donde sea posible.

Realizar auditorı́as periódicas de contraseñas con John the Ripper.

Capacitar a los usuarios sobre creación de contraseñas seguras.


John the Ripper: El arte de romper contraseñas 13

10.2. Patrones a evitar en contraseñas


Palabras de diccionario comunes.

Sustituciones obvias (a por @, e por 3, etc.).

Información personal (fechas de nacimiento, nombres, etc.).

Secuencias de teclado (qwerty, 123456, etc.).

Contraseñas cortas, independientemente de su complejidad.

Contraseñas reutilizadas en múltiples servicios.

11. Futuro de la auditorı́a de contraseñas


El campo de la auditorı́a de contraseñas continúa evolucionando, impulsado por la cons-
tante carrera entre atacantes más sofisticados y defensores mejor preparados. Lo que antes
era una simple verificación de fuerza bruta, hoy involucra inteligencia artificial, compu-
tación distribuida y un análisis profundo del comportamiento humano.

Herramientas como John the Ripper no sólo seguirán siendo relevantes, sino que también
se adaptarán a nuevas formas de autenticación, desde contraseñas gráficas hasta llaves
biométricas hı́bridas. A medida que los sistemas se endurecen, la auditorı́a no se queda
atrás: se vuelve más estratégica, más quirúrgica, más elegante.

En este panorama cambiante, el pentester del futuro no será sólo un conocedor de herra-
mientas, sino un analista del contexto, un lector de patrones, casi un detective digital. Y
la auditorı́a de contraseñas, lejos de desaparecer, se transformará en una disciplina aún
más esencial dentro del universo de la ciberseguridad.

Porque al final, donde hay autenticación, siempre habrá alguien tratando de romperla.

11.1. Tendencias emergentes


Uso de inteligencia artificial para generar patrones de ataque más eficientes.

Computación cuántica y sus implicaciones para algoritmos criptográficos.

Movimiento hacia autenticación sin contraseñas (biometrı́a, tokens, etc.).

Mayor uso de autenticación de múltiples factores.

Evolución de algoritmos de derivación de claves resistentes a la paralelización.


John the Ripper: El arte de romper contraseñas 14

11.2. El papel de John the Ripper en el futuro


Adaptación a nuevos algoritmos y métodos de autenticación.

Integración con otras herramientas de seguridad en flujos automatizados.

Mayor énfasis en ataques dirigidos vs. fuerza bruta pura.

Evolución para manejar volúmenes más grandes de datos.

12. Conclusión
En este juego de gato y ratón que es la ciberseguridad, *John the Ripper* sigue firme como
uno de los clásicos que no pasan de moda. No porque sea bonito ni nuevo, sino porque
funciona, y lo hace bien. Cuando se trata de romper contraseñas, esta herramienta es
brutalmente efectiva.

Pero más allá del código, *John* representa una filosofı́a: entender la seguridad desde la
mente del atacante. No se trata de romper por romper, se trata de pensar como el enemigo
para anticiparse, cerrar puertas y reforzar muros antes de que alguien más intente colarse.

Cada contraseña rota no es solo una victoria técnica: es una lección. Un recordatorio de
que ningún sistema es perfecto y de que la única defensa real es la mejora constante. Si
algo nos enseña *John the Ripper*, es que la seguridad no es un destino, es un camino.

Y claro, con gran poder viene. . . bueno, ya sabes. Esta herramienta no es un juguete.
Usarla implica tener claro el propósito, el permiso y la ética. Porque la lı́nea entre el
profesional y el atacante no la traza la herramienta, la traza la intención.

Ası́ que sı́, *John* rompe contraseñas, pero también rompe la comodidad de pensar que
todo está bajo control. Y por eso, sigue siendo una herramienta digna de respeto en el
arsenal de cualquier hacker ético.
John the Ripper: El arte de romper contraseñas 15

13. Referencias y recursos


Sitio oficial de John the Ripper: [Link]

John the Ripper GitHub: [Link]

Documentación oficial: [Link]

”The Password Cracking Bible Kevin Mitnick

”Hacking: The Art of Exploitation Jon Erickson

.OWASP Testing Guide Sección de pruebas de autenticación

”Password Attacks: Gaining Access to Networks, Computers, and Websites Heath


Adams

Foros de Openwall: [Link]

También podría gustarte