Identificando el tipo de hash

Tensor 1,684 views 43 slides Dec 05, 2013
Slide 1
Slide 1 of 43
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33
Slide 34
34
Slide 35
35
Slide 36
36
Slide 37
37
Slide 38
38
Slide 39
39
Slide 40
40
Slide 41
41
Slide 42
42
Slide 43
43

About This Presentation

Identificando el tipo de hash


Slide Content

HashCaT Crackeando Hash

Identificando el tipo de hash Cuando hacemos una auditoría nos encontramos con un hash si no sabemos de donde viene puede ser difícil tarea saber que tipo de hash es. Si el hash lo extraemos de algún paquete de software conocido, es probable que la documentación de dicho software nos diga como almacena los passwords . ¿Que es un hash? Un hash es una cadena de longitud determinada. Identifica de forma unívoca a la entrada que lo generó. Es computacionalmente imposible recuperar la información de entrada a partir de la cadena de salida. Es computacionalmente muy difícil (prácticamente imposible) generar una misma salida a partir de dos entradas diferentes.

HashCat HashCaT es una aplicación el cual sirve para obtener contraseñas a partir del hash de las mismas. La herramienta alega ser la herramienta de recuperación de contraseñas mas rápida del mundo . Actualmente existen muchas versiones de las mismas, ya sean para Windows como para Linux. Posee múltiples vectores de ataques el cual nos va a ser muy útil al momento de extraer la contraseña de los hash. Además posee una versión que utiliza la tarjeta gráfica (GPU) para las operaciones de cómputo, lo que permite acelerar mucho el proceso de obtención de las contraseñas .

HashCat Vamos a utilizar la versión clásica. (versión para CPU). Como mencione también existen versiones para GPU las cuales son : Oclhashcat -plus Oclhashcat -lite Descargar HahsCaT : http://hashcat.net/hashcat /

HashCat Nota : Para poder entender los modos de ataque de Hashcat , les recomiendo y les comparto un pequeño manual. Dicho manual fue hecho utilizando las distros BaCkTraCk . Usted puede utilizarlo ya sea en Kali -Linux u otra distribución, claro esta con las mimas referencias de dicho manual . http://www.exploit-db.com/download_pdf/23922 /

HashCat Modos de ataque : Straight * Combination * Toggle -Case Brute-Force Permutation Table-Lookup * accept Rules

HashCat Algoritmos a desencriptar . : MD5 md5($ pass .$ salt ) md5($ salt .$ pass ) md5( unicode ($ pass ).$ salt ) md5($ salt.unicode ($ pass )) HMAC-MD5 ( key = $ pass ) HMAC-MD5 ( key = $ salt ) SHA1 sha1($ pass .$ salt ) sha1($ salt .$ pass )

HashCat Algoritmos a desencriptar . : sha1( unicode ($ pass ).$ salt ) sha1($ salt.unicode ($ pass )) HMAC-SHA1 ( key = $ pass ) HMAC-SHA1 ( key = $ salt ) MySQL MySQL4.1/MySQL5 phpass , MD5( Wordpress ), MD5(phpBB3) md5crypt, MD5(Unix), FreeBSD MD5, Cisco-IOS MD5

HashCat Algoritmos a desencriptar . : SHA-1(Django) MD4 NTLM Domain Cached Credentials , mscash SHA256 sha256($ pass .$ salt ) sha256($ salt .$ pass ) HMAC-SHA256 ( key = $ pass ) HMAC-SHA256 ( key = $ salt ) md5apr1, MD5(APR), Apache MD5 SHA512

HashCat Algoritmos a desencriptar . : WPA/WPA2 Double MD5 bcrypt , Blowfish ( OpenBSD ) MD5( Sun ) md5(md5(md5($ pass ))) md5(md5($ salt ).$ pass ) md5($salt.md5($ pass )) md5($pass.md5($ salt )) md5($ salt .$ pass .$ salt )

HashCat Algoritmos a desencriptar . : md5(md5($ pass ).md5($ salt )) md5($salt.md5($ salt .$ pass )) md5($salt.md5($ pass .$ salt )) md5($username.0.$pass) md5( strtoupper (md5($ pass ))) md5(sha1($ pass )) sha1(sha1($ pass )) sha1(sha1(sha1($ pass )))

HashCat Algoritmos a desencriptar . : sha1(md5($ pass )) MD5( Chap ) SHA-3( Keccak ) Half MD5 Password Safe SHA-256 IKE-PSK MD5 IKE-PSK SHA1 NetNTLMv1-VANILLA / NetNTLMv1+ESS NetNTLMv2 Cisco-IOS SHA256 AIX {smd5} AIX {ssha256} AIX {ssha512 }

HashCat Algoritmos a desencriptar . : AIX {ssha1} Samsung Android Password /PIN GOST, GOST R 34.11-94 Fortigate ( FortiOS ) OS X v10.8 GRUB 2 IPMI2 RAKP HMAC-SHA1

HashCat Algoritmos a desencriptar . : Plaintext Joomla osCommerce , xt:Commerce nsldap , SHA-1(Base64), Netscape LDAP SHA nsldaps , SSHA-1(Base64), Netscape LDAP SSHA Oracle 11g SMF > v1.1 OS X v10.4, v10.5, v10.6 MSSQL(2000 )

HashCat Algoritmos a desencriptar . : MSSQL(2005) EPiServer 6.x OS X v10.7 MSSQL 2012 vBulletin < v3.8.5 vBulletin > v3.8.5 IPB2+, MyBB1.2+ WebEdition CMS

Identificando el tipo de hash Cuando hacemos una auditoría nos encontramos con un hash si no sabemos de donde viene puede ser difícil tarea saber que tipo de hash es. Si el hash lo extraemos de algún paquete de software conocido, es probable que la documentación de dicho software nos diga como almacena los passwords . ¿Que es un hash? Un hash es una cadena de longitud determinada. Identifica de forma unívoca a la entrada que lo generó. Es computacionalmente imposible recuperar la información de entrada a partir de la cadena de salida. Es computacionalmente muy difícil (prácticamente imposible) generar una misma salida a partir de dos entradas diferentes.

Identificando el tipo de hash Vamos a ver dos herramientas que a pasarle un hash nos identificarán de que tipo es: La primera de las dos herramientas es hash- identifier , descargamos el contenido con subversión y ejecutamos el script (para Windows): El cual lo podemos descargar del siguiente enlace: http:// code.google.com/p/hash-identifier/downloads/list

Identificando el tipo de hash

Identificando el tipo de hash La herramienta es hash- identifier , descargamos el contenido con subversión y ejecutamos el script (para Linux en mi caso en BackTrack R5): El cual lo podemos descargar del siguiente enlace: http:// code.google.com/p/hash-identifier/downloads/list

Identificando el tipo de hash

Identificando el tipo de hash

Identificando el tipo de hash En mi caso voy a utilizar la versión GUI de Hashcat para windows . Descargar - HashCaT - Gui : http://hashcat.net/hashcat-gui / Bueno procedemos a hacer la descarga y en mi caso ejecutar la versión hashcat-gui64.

Identificando el tipo de hash

Identificando el tipo de hash

Identificando el tipo de hash

Identificando el tipo de hash Bueno una vez llegado a este punto, es necesario tener Worldlists para poder llevar a acabo el ataque. Pueden encontrar diccionarios en Diccionarios http :// hashcrack.blogspot.com/p/wordlist-downloads_29.html

Identificando el tipo de hash

Identificando el tipo de hash Pues comencemos. Primero voy a crear un archivo . txt , en el cual voy almacenar los hash que deseo crackear, como muestro a continuación

Identificando el tipo de hash

Identificando el tipo de hash Nota 1 : Si usted desconoce que tipo de Hash que posee, tiene la opción de poder utilizar un Script que le permita resolver el problema. El nombre del Script escrito en Python es Hash_ID_v1.1. Descargar Hash_ID_v1.1 : https :// code.google.com/p/hash-identifier/downloads/detail?name=Hash_ID_v1.1.py

Identificando el tipo de hash Nota 2 : Bueno si al dar click en Start en el HashCat nos aparece el siguiente error

Identificando el tipo de hash

Identificando el tipo de hash Si les muestra error eso es porque la versión que esta utilizando es antigua. Pero vamos a pensar un poco. La aplicación para verificar que ya paso su fecha de caducidad, debería por lógica compararse con otra fecha para poder decidir si ejecutarse o no. En este caso la fecha de la aplicación de compararía con la fecha de nuestra PC. Así que para que se pueda ejecutar correctamente la aplicación solo tendríamos que cambiar la fecha de nuestra PC, claro esta antes de la fecha de caducidad de la aplicación. Bueno dispondré a cambiar la fecha de mi PC . La fecha que he elegido es Marzo del 2012.

Identificando el tipo de hash

Identificando el tipo de hash Una vez terminado el cambio de horario, procedemos una vez mas a darle click en Start Nota 3 Cuando ejecute el HashCaT, primero me salió un texto de licencia por parte del autor Atom . Si a usted también le ha salido un texto refiriéndose a la licencia de la aplicación, usted solo deberá aceptar los las condiciones que el autor plantea ( YES ), para así poder utilizar la herramienta con toda libertad . y esperar a ver que nos responde la aplicación HashCaT.

Identificando el tipo de hash Ahora es el turno de utilizar HashCaT para poder descifrarlos. ( Leer el manual para entender las opciones que voy a utilizar en la versión Hashcat - Gui ). En mi caso utilizo el archivo creado llamado test.txt (que contiene los MD5 creados u obtenidos), además utilizamos nuestro diccionario de datos llamado pass.txt como se denota a continuación

Identificando el tipo de hash

Identificando el tipo de hash

Identificando el tipo de hash

Identificando el tipo de hash Una vez que estos dos archivos están colocados en el Hash Cat le damos run y nos aparecerá lo siguiente

Identificando el tipo de hash

Identificando el tipo de hash Abrimos nuestro archivo generado el cual nombramos testcrackeado.txt

Identificando el tipo de hash