SpecterOps / SpecterOps/BloodHound
Bug: AZAddOwner Relationships not Being Created
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 3.4k
- Forks
- 376
- Avg merge
- 2d 7h
- Merged PRs (30d)
- 97
Description
Description:
the Azure relationship AZAddOwner is not being created as described in documentation. After further investigation it appears this feature was never implemented in BHCE.
Are you intending to fix this bug?
yes.
Component(s) Affected:
- API
Steps to Reproduce:
- Run Azurehound against a tenant that contains a user given one of the four roles specified in documentation:
- Hybrid Identity Administrator
- Partner Tier1 Support
- Partner Tier2 Support
- Directory Synchronization Accounts
- Upload collected data into bloodhound and wait for ingestion to complete.
- query bh data for AZAddOwner relationships:
MATCH p=()-[r:AZAddOwner]->() RETURN p LIMIT 25
- Query will return 0 results
Expected Behavior:
AZAddOwner relationship edges should be present between any user with the aformentioned roles and all AZApps and AZServicePrincipals within the same azure tenant.
Actual Behavior:
Relationships are not being created.
Screenshots/Code Snippets/Sample Files:
NSTR
Environment Information:
BloodHound: v5.12.0-rc1
Collector: Azurehound v2.1.9
OS: macOS 14.5
Go (if API related): go1.22.5 darwin/amd64
Docker (if using Docker): 25.0.3
Additional Information:
Potential Solution (optional):
add functionality to analysis/azure/post::UserRoleAssignments.
Related Issues:
If you've found related issues in the project's issue tracker, mention them here.
Contributor Checklist:
- [ x] I have searched the issue tracker to ensure this bug hasn't been reported before or is not already being addressed.
- [x ] I have provided clear steps to reproduce the issue.
- [x ] I have included relevant environment information details.
- [ x] I have attached necessary supporting documents.
- [x ] I have checked that any JSON files I am attempting to upload to BloodHound are valid.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start at analysis/azure/post::UserRoleAssignments and trace how the four listed Azure roles are converted into relationship data during ingestion. Reproduce the issue with Azurehound against a tenant containing one of those roles, then verify the BloodHound query returns AZAddOwner edges to the tenant’s AZApps and AZServicePrincipals.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- azure, go
- Domain
- api, backend-api-design
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100