Seguridad Informática Crackeo de contraseñas 1 Dr. Roberto Gómez Cárdenas Lámina 1 Dr. Roberto Gómez Cárdenas Kali y crackeo de contraseñas Roberto Gómez Cárdenas [email protected]http://cryptomex.org Lámina 2 Dr. Roberto Gómez Cárdenas Distribución Kali • Distribución Linux orientada a pruebas de penetración. • Desarrollada por Offensive Security • Cuenta con cerca de 300 herramientas de seguridad • Dirigida a auditoria de seguridad y forensia • A diferencia de otras distribuciones de Offensive Security, Kali esta basado en Debian 7.0 • Sitio web – http://www.kali.org/
31
Embed
Kali y crackeo de contraseñas - cryptomex.org · avanzado Versiones “oficiales” creadas por Solar Designer. Seguridad Informática Crackeo de contraseñas 3 Dr. Roberto Gómez
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Tiempo transcurrido desde que arrancó la aplicación
Porcentajede
contraseñas trabajadas
Comparaciones por segundo.
Combinaciones de cuenta y contraseña por
segundo, no cifrados
Fase en la que se encuentra corriendo, cuando no se
especifica el modo
Seguridad Informática
Crackeo de contraseñas 4
Dr. Roberto Gómez Cárdenas
Lámina 7 Dr. Roberto Gómez Cárdenas
Modos de “crackeo”
Modos de crackeo
Por diccionario(wordlist)john –w
Simple(campo GECOS )
john -single
Por fuerza bruta(incremental)
john -i
Externo(definido usuario)
john
Lámina 8 Dr. Roberto Gómez Cárdenas
Ejecutando john sin opciones
• Si no se proporciona opción alguna, john lleva a cabo todos los modos
• Por ejemplo
– Primero intenta el modo single
– Después va con wordlist y reglas
– Por último intenta modo incremental
john passwd
Seguridad Informática
Crackeo de contraseñas 5
Dr. Roberto Gómez Cárdenas
Lámina 9 Dr. Roberto Gómez Cárdenas
Creando un script de limpia
• Crear un archivo llamado limpia, con el contenido siguiente
• Una vez creado asigne permisos de ejecución
• El script creado se usará para borrar el archivo de contraseñas encontradas y poder llevar a cabo las prácticas.
rm /root/.john/john.pottouch /root/.john/john.pot
# chmod 755 limpia
Lámina 10 Dr. Roberto Gómez Cárdenas
El modo single
• Utiliza información contenida dentro del archivo de contraseñas:– Login names
– GECOS
– Nombre del directorio hogar
• Aplica conjunto reglas para mezclar la información.
• Información usada para probar la cuenta de la que fue tomada.– Proporciona rapidez
• Ejemplo:john -single passwd
Seguridad Informática
Crackeo de contraseñas 6
Dr. Roberto Gómez Cárdenas
Lámina 11 Dr. Roberto Gómez Cárdenas
Probando el modo single
• Teclee los siguientes comandos
• En otra terminal, despliegue el contenido de los archivos de contraseñas.
• Saque sus conclusiones
john -single passwd1
john -single passwd2
more passwd1
more passwd2
Lámina 12 Dr. Roberto Gómez Cárdenas
El modo wordlist
• Se debe proporcionar el nombre de un archivo que contenga una lista de palabras, por ejemplo:
• También se puede definir una serie de reglas que mezclen las palabras contenidas en el archivo
• Posible ver la lista de palabras usadas y no hacer ninguna verificación
• Con la opción stdin se puede introducir la lista de palabras a través de la línea de comandos
john -w:wordlist passwd
john -w:dico -rules passwd
john -w:dico -rules -stdout
Seguridad Informática
Crackeo de contraseñas 7
Dr. Roberto Gómez Cárdenas
Lámina 13 Dr. Roberto Gómez Cárdenas
Probando el modo wordlist
• Verifique el contenido de los diccionarios dico1 y dico2
• Ejecute john con los archivos de contraseñas y los archivos de diccionario. Primero sin reglas y después con reglas. Compare el número de contraseñas encontradas
john –w:dico1 passwd1
john –w:dico1 passwd2
john –w:dico2 passwd1
john –w:dico2 passwd2
more passwd1
more passwd2
john –w:dico1 –rules passwd1
john –w:dico1 –rules passwd2
john –w:dico2 –rules passwd1
john –w:dico2 –rules passwd2
Lámina 14 Dr. Roberto Gómez Cárdenas
El modo incremental
• Modo de crackeo mas potente, ya que probará todas las combinaciones de caracteres posibles
• Se asume que nunca terminara debido a que el número de combinaciones es muy largo– Puede terminar si se define una longitud de password pequeña
o si se usa un pequeño conjunto de caracteres• Cuenta con cuatro modos y es necesario especificar los
parámetros del modo elegido• Si no se especifica ningún modo intentara el modo All
en el que se probará todo el conjunto de 95 caracteres ASCII imprimibles y todos los passwords de longitud 0 a 8.
john –i passwd
Seguridad Informática
Crackeo de contraseñas 8
Dr. Roberto Gómez Cárdenas
Lámina 15 Dr. Roberto Gómez Cárdenas
Opciones modo incremental
• Archivo John.conf cuenta con 4 opciones incrementales diferentes– All : Minúsculas, mayúsculas, dígitos, puntuación,
– Alpha : Minúsculas.
– Digits : Del 0 al 9.
– LANMan : Similar al All, pero sin minúsculas
• Cada opción cuenta con cuatro campos dentro del archivo John.conf
Lámina 16 Dr. Roberto Gómez Cárdenas
Parámetros modo incremental
• Parámetros soportados– File: especificar archivo de conjunto caracteres
– MinLen: longitud mínima password (0 default)
– MaxLen: longitud máxima password (8 default)
– CharCount: limita el número de diferentes caracteres usados, (todos los caracteres por default)
– Extra: permite utilizar más caracteres que los definidos en el archivo de caracteres
Seguridad Informática
Crackeo de contraseñas 9
Dr. Roberto Gómez Cárdenas
Lámina 17 Dr. Roberto Gómez Cárdenas
Ejemplos parámetros
john –i:alpha passwd john –i:all passwd
Lámina 18 Dr. Roberto Gómez Cárdenas
Probando el modo incremental
• Teclee lo siguiente y analice el resultado– Si no hay respuesta de un minuto aborte la ejecución
presionando las teclas CTRL y C al mismo tiempo.
– Recuerde que debe correr el script de limpia. antes
john –i:digits passwd1
john –i:alpha passwd1
john –i:all passwd1
john –i:digits passwd2
john –i:alpha passwd2
john –i:all passwd2
Seguridad Informática
Crackeo de contraseñas 10
Dr. Roberto Gómez Cárdenas
Lámina 19 Dr. Roberto Gómez Cárdenas
El modo externo
• Posible definir un modo de crackeo externo para ser usado con john.
• El modo es definido en el archivo john.config en la sección:
– donde MODE es cualquier nombre que se le asigne al modo
• La sección debe contener código de algunas funciones que john usara para generar las palabras a probar.
• Funciones son codificadas en un subconjunto de C y son compiladas por john al arrancar este y solicitar el modo externo definido.
[List.External:MODE]
Lámina 20 Dr. Roberto Gómez Cárdenas
Funciones frecuentes usadas en john
• Todos son de tipo void, sin argumentos
• Se usa la variable global word" (pre-definida como "int word[]").
• La variable word contiene la palabra actual a ser probada como posiblecontraseña.
Función Descripción
init() Invocada al arranque, usada para inicializar variables globales.
filter() Invocada por cada palabra a ser procesada, puede filtrar algunas palabras.
generate() Invocada para generar palabras, cuando no se usan otros modos de crackeo.
restore() Llamada cuando se reestablece y se interrumpe una sesión.
Seguridad Informática
Crackeo de contraseñas 11
Dr. Roberto Gómez Cárdenas
Lámina 21 Dr. Roberto Gómez Cárdenas
Ejemplo modo externo
• Se configura para que cada palabra del diccionario se le añada el año “2011”.
• Dentro de john.confhabría que añadir:
[List.External:A2011]
void filter()
{
/* calcular longitud palabra*/
int length;
length = 0;
while (word[length]) length++;
word[length] = '2';
word[length+1] = '0';
word[length+2] = '1';
word[length+3] = '1';
word[length+4] = 0; /* fin string*/
}
Una regla sobre el diccionario puede hacer lo anterior.
Lámina 22 Dr. Roberto Gómez Cárdenas
Llamando al modo externo definido
• Para llamar el modo externo definido, se teclea lo siguiente:
• Analice las siguientes salidas
john --wordlist=dico --external=A2011 passwd1
john --wordlist=dico --external=A2011 -stdout
john --wordlist=dico -rules --external=A2011 -stdout
Seguridad Informática
Crackeo de contraseñas 12
Dr. Roberto Gómez Cárdenas
Lámina 23 Dr. Roberto Gómez Cárdenas
Definiendo su propio modo incremental
• Abrir el archivo john.pot y añadir los caracteres que conformarán el charset, precedidos del carácter “:” – Ejemplo
– En el archivo solo deben de encontrarse estos caracteres, ningún otro.
– Importante: en el caso de windows, no almacenarlo como un archivo de texto (seleccionar “allfiles types”)
• Correr john con opción --makechars y el nombre del archivo del charset
• Se realizan cálculos y se indica cuantos caracteres se usaron
• Comportamiento programa puede ser configurado editando este archivo.
• Se pueden definir:– opciones globales,
– definir listas de palabras y reglas de crackeo simple,
– definir parámetros para modo incremental
– definir un nuevo modo de crackeo.
• Definido en secciones– cada línea empieza con su nombre entre corchetes
Lámina 26 Dr. Roberto Gómez Cárdenas
Parte del archivo john.ini
# This file is part of John the Ripper password cracker,# Copyright (c) 1996-98 by Solar Designer
[Options]# Wordlist file name, to be used in batch modeWordfile = ~/password.lst# Crash recovery file saving delay in secondsSave = 600# Beep when a password is found (who needs this anyway?)Beep = N
# "Single crack" mode rules[List.Rules:Single]
# Simple rules come first...:-s x**-c (?acQ-c lQ-s-c x**MlQ
Seguridad Informática
Crackeo de contraseñas 14
Dr. Roberto Gómez Cárdenas
Lámina 27 Dr. Roberto Gómez Cárdenas
Secciones
• "Single crack" mode rules– [List.Rules:Single]
• Wordlist mode rules– [List.Rules:Wordlist]
• Some pre-defined word filters– [List.External:Filter_Alpha]– [List.External:Filter_Digits]
• A simple cracker for LM hashes, similar to L0phtCrack– [List.External:LanMan][List.External:Filter_LanMan]