๐Ÿง  About BloodyAD

BloodyAD is an openโ€‘source Python tool that communicates over LDAP(S) and MSโ€‘SAMR to read and write Active Directory objects without requiring Windowsโ€‘based utilities. It is ideal for Linuxโ€‘based red team engagements.

Installation:

pip install bloodyad

๐Ÿ” Basic Connection

bloodyAD --host 192.168.1.11 -d ignite.local -u administrator -p 'Ignite@987'

๐Ÿ“‹ Enumerating Computer Accounts

bloodyAD --host 192.168.1.11 -d ignite.local -u administrator -p 'Ignite@987' get children --otype computer

This reveals workstations, servers, and service accounts registered as computer objects.

๐Ÿ‘ฅ Enumerating All User Accounts

bloodyAD --host 192.168.1.11 -d ignite.local -u administrator -p 'Ignite@987' get children --otype useronly

Lists all user accounts โ€“ default accounts (Administrator, Guest, krbtgt) plus domain users.

๐Ÿ—‚๏ธ Enumerating Containers and OUs

bloodyAD --host 192.168.1.11 -d ignite.local -u administrator -p 'Ignite@987' get children --otype container

Reveals container structure and where GPOs are applied.

๐ŸŒ DNS Zone Dump

bloodyAD --host 192.168.1.11 -d ignite.local -u administrator -p 'Ignite@987' get dnsDump

Dumps all DNS records โ€“ reveals additional hosts, services, and infrastructure.

๐Ÿ‘‘ Domain Admins Group Members

bloodyAD --host 192.168.1.11 -d ignite.local -u administrator -p 'Ignite@987' get object "Domain Admins" --attr member

๐Ÿ”Ž Deep Inspection of a User Object

bloodyAD -d ignite.local -u administrator -p Ignite@987 --host 192.168.1.11 get object aaru

Dumps all LDAP attributes โ€“ often reveals cleartext passwords in userPassword or unixUserPassword attributes.

โš™๏ธ Checking Machine Account Quota

bloodyAD --host 192.168.1.11 -d ignite.local -u Administrator -p 'Ignite@987' get object "DC=ignite,DC=local" --attr ms-DS-MachineAccountQuota

By default, regular users can create up to 10 computer accounts โ€“ abuseable for RBCD attacks.

๐Ÿ›ก๏ธ Detection & Hardening

โœ… Enable LDAP logging and monitor for bulk queries
โœ… Alert on searches for sensitive attributes (userPassword, unixUserPassword)
โœ… Never store passwords in LDAP description or custom attributes
โœ… Reduce Machine Account Quota from 10 to 0 for standard users
Back to Active Directory