¿Cómo EXTRAER CONTRASEÑAS en Windows?

Hola a tod@s, hoy vengo con una entrada la cual es el inicio de una larga lista de entradas de técnicas para atacar servidores y equipos con Windows instalado, pero para empezar, lo haremos desde los ataques más «sencillos» como es la extracción de contraseñas en Windows.

Para comenzar esta entrada, empezaremos por un poco de teoría, dónde vamos a describir los protocolos de autenticación LM, NTLMv1 y NTLMv2.

LAN MANAGER (LM):

Usado por Microsoft en versiones de Windows anteriores a NT 4.0. A día de hoy está obsoleto al no ser un protocolo seguro.

Hashes LM:

  1. A partir de 14 caracteres como máximo la contraseña se corta. Es decir da igual que tengamos una contraseña de 20 caracteres que solo guardará 14 caracteres.
  2. Divide la contraseña en dos partes de 7 caracteres cada una. Si la contraseña es menor a 14 caracteres, rellena al final con caracteres nulos.
  3. Todas las minúsculas se convierten a mayúsculas. De manera que la contraseña «password» acaba siendo «PASSWORD».
  4. Se cifra cada parte por separado utilizando DES-56-bits.
  5. El resultado del cifrado se concatena generando una sola cadena.

Conclusión:

El cifrado DES 56-bits no es suficiente a día de hoy, cuando se vaya a realizar un ataque de fuerza bruta, se realizará sobre contraseñas de 7 caracteres, que a día de hoy es sencillo.

NTLMv1:

Este protocolo surgió de la necesidad de eliminar los errores del protocolo de autenticación de LM. Pero no quita que NTLMv1 siga con deficiencias. Es un protocolo de autenticación de desafío/respuesta al igual que LM.

Hashes NT:

A diferencia de LM, NTLM si que diferencia entre mayúsculas y minúsculas, esto es un punto a favor, a parte se expandió el tamaño de las contraseñas a 128 caracteres y esta contraseña posteriormente se convierte en un hash MD4 sin ser dividida en grupos de 7 caracteres.

Deficiencias:

  • No tiene la suficiente aleatoriedad en todo el proceso de cifrado.
  • DES no es lo suficiente robusta a día de hoy.
  • El hash todavía contiene valores nulos, esto desemboca en que sea más débil.

NTLMv2:

Presentado por Microsoft para mejorar las deficiencias de NTLMv1. Este protocolo es la mejora de NTLMv1, ya que NTLMv1 solo utilizaba un desafío para autenticar contra el servidor, se le añadió un segundo desafío, a parte de que ya no se utiliza DES para cifrar si no HMAC_MD5.

Extracción de credenciales LM y NT de SAM:

Windows guarda las credenciales de las cuentas locales en la base de datos local SAM. Nomenclatura del fichero SAM:

USUARIO:ID:HASH_LM:HASH_NT:::

Ejemplo: Administrator:500:611D6F6E763B902934544489FCC9192B:B71ED1E7F2B60ED5A2EDD28379D45C91:::

Extracción de credenciales de SAM con MIMIKATZ:

Mimikatz es una herramienta que nos permite vulnerar los protocolos de autenticación que utiliza Windows. Para que esta extracción de credenciales tenga éxito es necesaria una consola con permisos de administrador:

Cmd con permisos de adminsitrador.

Ejecutamos mimikatz en la consola con permisos de adminsitrador:

Mimikatz ejecutado

A continuación elevamos los privilegios a SYSTEM:

Mimikatz con permisos SYSTEM

Ahora extraeremos los hashes de las cuentas del equipo.

Extracción de hashes

En la siguiente entrada veremos como realizar fuerza bruta a este tipo de hashes. Espero que os haya gustado la entrada. Un saludo, David.

3 comentarios sobre “¿Cómo EXTRAER CONTRASEÑAS en Windows?

  1. Pingback: EXTRACCIÓN de CONTRASEÑAS en MEMORIA – WINDOWS – Hardsoft Security

  2. Pingback: Pass The Hash con Mimikatz – Ataque Windows – Hardsoft Security

  3. Pingback: ¿Cómo hacer CRACKING de HASHES WINDOWS? – John The Ripper – Hardsoft Security

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.