lunes, 8 de mayo de 2017

Donde están las claves, matarile, rile, rile





Hace tiempo me pregunte donde se almacenaban las contraseñas de los usuarios locales dentro de sistemas Windows.

Antes de seguir, comentar que las pruebas están realizadas sobre un sistema Windows 7

Es lógico pensar que dichas contraseñas (hashes) residen en el registro de Windows, pero, ¿dónde?

Pues básicamente residen en las "secciones" del registro SAM and SECURITY. Más concretamente: HKEY_LOCAL_MACHINE\SAM y HKEY_LOCAL_MACHINE\SECURITY. De hecho ambas se organizan igual y poseen la misma información.

Dichas "secciones" sólo son legibles mediante el usuario: system.

"Secciones" HKLM/SAM y HKLM/SECURITY sin permisos para su visualización

Por lo tanto para acceder a dichas secciones necesitamos elevar privilegios mediante el siguiente comando:

Psexec.exe –s –i regedit.exe

Pero para que dicha instrucción funcione correctamente, se debe ejecutar con permisos de administrador.

"Secciones" HKLM/SAM y HKLM/SECURITY tras elevar privilegios

La herramienta: Psexec.exe, del pack de herramientas SysInternals, puede ser descargado desde la siguiente URL: http://technet.microsoft.com/en-us/sysinternals/bb896649.aspx

Más información: 
http://www.windowsnetworking.com/kbase/WindowsTips/Windows2000/RegistryTips/RegistryTools/HowtobreakintoregistrytoexploreHKLMSAMandHKLMSECURITYkeys.html 

Dentro de las "secciones" anteriormente comentadas, debemos irnos a: "\Domains\Account\Users\", en donde se podrá ver los identificadores únicos de los distintos usuarios presentes en la máquina local.

NOTA: Para poner "cara" a cada uno de esos identificadores, dentro de la clave de registro: "\Domains\Account\Users\Names", nos aparecerán los nombres de los usuarios dados de alta en la máquina local, y si seleccionas cualquiera de ellos se podrá averiguar el identificador único del usuario en cuestión.

Relación entre usuario e identificador único del mismo.

Dentro de la clave de registro del identificador único de un usuario se puede ver dos valores de tipo binario: "F" y "V"

La que nos interesará será la clave "F", ya que ella contendrá el valor hash de la clave del usuario.
















Clave de registro que contiene el hash de la contraseña para el usuario "Administrador"

Más información:
http://windowsitpro.com/en/how-reset-administrator-password

De hecho, metasploit, tiene un modulo de post-explotación para obtener la lista de contraseñas (hashes) de los distintos usuarios de la máquina. También podemos hacer uso de dicho modulo, mediante un comando tras obtener una shell remota con meterpreter. Este módulo/comando es: hashdump.

Si se quiere se puede obtener el código de dicho comando o módulo en:
https://github.com/rapid7/metasploit-framework/blob/master/modules/post/windows/gather/hashdump.rb

En el código se pueden ver llamadas a las claves comentadas en este artículo.

Lectura de las claves de registro donde se almacena la información de las claves de los usuarios

Lectura de las claves de registro de los distintos usuarios dados de alta en un sistema local.


Lo que hagas con la información es cosa tuya, no mía ... pero ten conciencia.

No hay comentarios:

Publicar un comentario