Skip to content

feat: add bloodyAD single attribute modification primitive#293

Merged
l50 merged 1 commit into
feat/more-attack-covfrom
feat/dreadgoad-bloodyad-set-object
May 13, 2026
Merged

feat: add bloodyAD single attribute modification primitive#293
l50 merged 1 commit into
feat/more-attack-covfrom
feat/dreadgoad-bloodyad-set-object

Conversation

@l50
Copy link
Copy Markdown
Contributor

@l50 l50 commented May 13, 2026

Key Changes:

  • Introduced a new primitive to set a single LDAP attribute on an AD object via bloodyAD
  • Added schema and tool definition for bloodyad_set_object_attr in the tool registry
  • Implemented corresponding async function and tests for attribute modification
  • Integrated new primitive into the main tool dispatcher

Added:

  • Single attribute modification tool - Defined bloodyad_set_object_attr in tool_registry/acl.rs with schema covering use cases like ESC9, ESC10 (case 2), and RBCD, allowing targeted LDAP attribute changes (e.g., spoofing userPrincipalName or modifying msDS-AllowedToActOnBehalfOfOtherIdentity)
  • Implementation of attribute modification - Added bloodyad_set_object_attr async function in ares-tools/src/acl.rs to invoke bloodyAD for setting a specific attribute on a target object, handling all required fields and credentials
  • Test coverage for new primitive - Added async test to ensure bloodyad_set_object_attr executes as expected, plus a unit test to confirm all required fields are validated and enforced

Changed:

  • Tool dispatcher integration - Updated dispatch function in ares-tools/src/lib.rs to include routing for the new bloodyad_set_object_attr primitive, enabling its use through the standard dispatch interface

…butes

**Added:**

- Introduced the `bloodyad_set_object_attr` tool definition in the tool registry to enable setting a single LDAP attribute on an AD object, supporting use cases like UPN spoofing, RBCD, and ESC10
- Implemented the `bloodyad_set_object_attr` function in `acl.rs` to run the corresponding bloodyAD command, handling required arguments and execution
- Added tests to verify correct execution and required argument enforcement for `bloodyad_set_object_attr`
- Registered `bloodyad_set_object_attr` in the tool dispatcher in `lib.rs` to make it accessible via dispatch
@l50 l50 changed the base branch from main to feat/more-attack-cov May 13, 2026 01:03
@l50 l50 changed the title feat: enable full attack coverage and loot/report fidelity for multi-forest AD labs feat: add bloodyAD single attribute modification primitive May 13, 2026
@l50 l50 merged commit 57b2f51 into feat/more-attack-cov May 13, 2026
3 checks passed
@l50 l50 deleted the feat/dreadgoad-bloodyad-set-object branch May 13, 2026 02:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant