Romper Contraseñas de Windows 7 utilizando bkhive y samdump2

  • Posted on: 28 August 2014
  • By: ReYDeS

La Base de Datos SAM (Security Accounts Management) de Microsoft Windows almacena las copias hash de las contraseñas de los usuarios. Esta base de datos esta cifrada con una llave del sistema almacenada localmente. Para mantener la base de datos SAM segura, Windows requiere que los hashs de las contraseñas sean cifradas. Windows previene el uso de hashs de contraseñas almacenadas no cifradas.

Se puede utilizar la utilidad SysKey para asegurar adicionalmente la base de datos SAM moviendo la llave de cifrado de la base de datos SAM fuera del computador basado en Windows. La utilidad SysKey también puede ser utilizada para configurar una contraseña de puesta en funcionamiento, la cual debe ser ingresada para descifrar la llave del sistema, de tal manera que Windows pueda acceder a la base de datos SAM.

Para la siguiente práctica se utilizarán un Sistema Windows 7 y Kali Linux.

El primera instancia se debe obtener, capturar o tener acceso a los archivos de nombres “SYSTEM” y "SAM" del Sistema Operativo Windows 7. Esta acción puede ser realizada utilizando diversos procedimientos. Se asume la tenencia de estos dos archivos.

Se procede a extraer el Syskey desde el archivo SYSTEM. Para esta acción se utilizar la herramienta bkhive, la cual permite volcar la clave de inicio syskey desde un sistema Windows NT/2k/XP/Vista.


# bkhive SYSTEM syskey.txt

El siguiente procedimiento implica realizar el volcado de los hashs asociados para cada nombre de usuario del sistema. Para este propósito se utiliza la herramienta de nombre SamDump2, la cual permite volcar los hashs de las contraseñas desde sistemas Windows 2k/NT/XP/Vista.


# samdump2 SAM syskey.txt

El resultado obtenido por la herramienta samdump2 puede ser redireccionado hacia un archivo de nombre “hashsw7”. De esta manera se utiliza la herramienta John The Ripper, para tratar de averiguar o "romper" las contraseñas. La opción “--wordlist” define el modo wordlist, donde se utiliza una lista de palabras como posibles contraseñas. La opción “--rules” permite aplicar ciertas reglas sobre la lista de contraseñas. Y la opción “--format” fuerza el tipo de hash al especificado.


# john --wordlist=/usr/share/wordlists/rockyou.txt --rules --format=nt hashsw7

El procedimiento de tratar de “romper” las contraseñas depende de factores como el algoritmo de cifrado utilizado, la fortaleza en la creación de las contraseñas, entre otros. No siempre es factible obtener rápidamente contraseñas.

Fuentes:

http://support.microsoft.com/kb/310105
http://sourceforge.net/projects/ophcrack/files/samdump2/
http://www.openwall.com/john/

Sobre el Autor


Alonso Eduardo Caballero Quezada - ReYDeS
Instructor y Consultor Independiente en Ciberseguridad
Correo Electrónico: ReYDeS@gmail.com
Twitter: https://twitter.com/Alonso_ReYDeS
LinkedIn: https://pe.linkedin.com/in/alonsocaballeroquezada/
Facebook: https://www.facebook.com/alonsoreydes
Youtube: https://www.youtube.com/c/AlonsoCaballero


Webinar Informática Forense