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.
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