SlideShare a Scribd company logo
BloodHound:
Attack Graphs Practically Applied to
Active Directory
HELLO!
I am Andy Robbins
Adversary Resilience Lead at
SpecterOps
BloodHound co-creator and
developer, Red Teamer
You can find me at @_wald0
HELLO!
I am Rohan Vazarkar
Adversary Resilience Senior
Operator at SpecterOps
BloodHound co-creator and
developer, Red Teamer
You can find me at @CptJesus
Agenda
▪ The Problem
▪ The Solution
▪ Conclusion
44
Purpose
We want to demonstrate how graphs can
be an elegant and practical solution to
incredibly complex problems, and inspire
you to consider using graphs for problems
you face
55
The Problem
Pushed Into a Corner, circa 2014-2015
▪ Remote Code Execution (RCE) flaws in Windows
become increasingly rare and risky to exploit
▪ Maturing vulnerability management programs
ensure ephemerality of RCE in the enterprise
▪ A common methodology appeared...
77
8
9
10
11
12
13
14
15
16
17
18
Domain Admin!
19
Domain Admin!
The Data is RIGHT… THERE!
▪ Question: Where are users logged on?
▪ Answer: NetSessionEnum
▪ Question: Who are local admins on a system?
▪ Answer: NetLocalGroupGetMembers
▪ Question: Who belongs to what security group?
▪ Answer: Basic LDAP queries
By default, all data is accessible by any domain authenticated principal
on systems before Windows 10 Anniversary (1607)
2020
An effective, albeit tedious and naive approach...
21
Target Users:
Admin-1
Admin-2
Admin-3
Admin-4
Admin-5
Admin-1 Uses
These Systems:
Computer-1
Computer-2
Computer-3
Admins on Computer-1:
Admin-1
Admin-2
Admin-10
Group-11
Members of Group 11
Use These Systems:
Computer-1
Computer-2
Computer-5
Admins on Computer-5:
Admin-1
Admin-2
Admin-10
Admin-15
Admin-15 Uses These
Systems:
Computer-1
Computer-2
Computer-10
Members of
Group-11:
Admin-5
Admin-6
Admin-7
Admin-8
The Problem, In Short
▪ We have a reliable, proven methodology for
escalating rights in almost any Active Directory
deployment
▪ That methodology is enhanced by data which, by
default, anyone in a domain can access
▪ The data is way too complicated to analyze by hand
2222
The Solution
It’s a graph, dummy!
▪ Every principal (user, group, computer) is a node
▪ Every privilege (and group membership) is a
relationship
▪ Graphs are phenomenally fast at finding paths
between disparate nodes
2424
25
Domain AdminsAlice AdminComputer 1
Bob User
Helpdesk Group
Data Source: LDAP
26
Domain AdminsAlice AdminComputer 1
Bob User
Helpdesk Group
MemberOf
MemberOf
Data Source: LDAP
27
Domain AdminsAlice AdminComputer 1
Bob User
Helpdesk Group
MemberOf
MemberOf
AdminTo
Data Source:
NetLocalGroupGetMembers
28
Domain AdminsAlice AdminComputer 1
Bob User
Helpdesk Group
MemberOf
MemberOfHasSession
AdminTo
Data Source:
NetSessionEnum
Now You’re Thinking With Graphs
▪ Manual “derivative local admin” takes days to
months
▪ Data collection, graph analysis, and attack path
execution takes minutes to hours
2929
30
BloodHound 1.0 Schema
31
BloodHound 2.0 Schema
Conclusion
Three Problems Graphs Solved
▪ Complexity - Analyzing thousands of paths became
possible
▪ Readability - Presenting concepts to non-technical
audiences became easier
▪ Accessibility - Opened up the methodology to both
the defensive and offensive side
3333
Three Exciting Defensive Applications
▪ Easier, more effective, more accurate permission
auditing
▪ Attack path identification and mitigation/elimination
▪ Empirical key terrain identification
3434
If There’s One Thing to Take Away From this Talk
▪ Graphs are not the solution to every problem;
however, they allow you to look at problems in a
unique way and solve complex problems that
otherwise would be insanely difficult to visualize,
compute, or solve
3535
Acknowledgements and Prior Work
http://alicezheng.org/papers/sosp2009-heatray-10pt.pdf
https://www.sixdub.net/?p=591
https://bitbucket.org/iwseclabs/bta
https://github.com/ANSSI-FR/AD-control-paths
https://powersploit.readthedocs.io/en/latest/Recon/
3636
37
Thank you!
QUESTIONS?
You can find us at:
▪ specterops.io
▪ @SpecterOps
▪ @_wald0
▪ @CptJesus
▪ BloodHound: https://bit.ly/GetBloodHound
▪ BloodHound Slack: https://bloodhoundgang.herokuapp.com

More Related Content

PPTX
BloodHound 1.3 - The ACL Attack Path Update - Paranoia17, Oslo
PDF
Derbycon - The Unintended Risks of Trusting Active Directory
PPTX
Six Degrees of Domain Admin - BloodHound at DEF CON 24
PDF
PHDays 2018 Threat Hunting Hands-On Lab
PPTX
(Ab)Using GPOs for Active Directory Pwnage
PPTX
Here Be Dragons: The Unexplored Land of Active Directory ACLs
PPTX
I Hunt Sys Admins
PDF
ReCertifying Active Directory
BloodHound 1.3 - The ACL Attack Path Update - Paranoia17, Oslo
Derbycon - The Unintended Risks of Trusting Active Directory
Six Degrees of Domain Admin - BloodHound at DEF CON 24
PHDays 2018 Threat Hunting Hands-On Lab
(Ab)Using GPOs for Active Directory Pwnage
Here Be Dragons: The Unexplored Land of Active Directory ACLs
I Hunt Sys Admins
ReCertifying Active Directory

What's hot (20)

PDF
aclpwn - Active Directory ACL exploitation with BloodHound
KEY
Protocol Buffers and Hadoop at Twitter
PDF
I Have the Power(View)
PDF
Not a Security Boundary
PDF
0wn-premises: Bypassing Microsoft Defender for Identity
PPTX
Catch Me If You Can: PowerShell Red vs Blue
PPTX
Red Team Revenge - Attacking Microsoft ATA
PDF
Carlos García - Pentesting Active Directory [rooted2018]
PDF
Carlos García - Pentesting Active Directory Forests [rooted2019]
PDF
BloodHound Unleashed.pdf
PPTX
RACE - Minimal Rights and ACE for Active Directory Dominance
PPTX
Hashicorp Vault ppt
PPTX
Owasp Top 10 A1: Injection
PDF
Linux Hardening - nullhyd
PDF
Git 101: Git and GitHub for Beginners
PDF
왜 쿠버네티스는 systemd로 cgroup을 관리하려고 할까요
PDF
An overview of Amazon Athena
PPTX
Abusing Microsoft Kerberos - Sorry you guys don't get it
PDF
쿠버네티스를 이용한 기능 브랜치별 테스트 서버 만들기 (GitOps CI/CD)
PDF
Hunting for Privilege Escalation in Windows Environment
aclpwn - Active Directory ACL exploitation with BloodHound
Protocol Buffers and Hadoop at Twitter
I Have the Power(View)
Not a Security Boundary
0wn-premises: Bypassing Microsoft Defender for Identity
Catch Me If You Can: PowerShell Red vs Blue
Red Team Revenge - Attacking Microsoft ATA
Carlos García - Pentesting Active Directory [rooted2018]
Carlos García - Pentesting Active Directory Forests [rooted2019]
BloodHound Unleashed.pdf
RACE - Minimal Rights and ACE for Active Directory Dominance
Hashicorp Vault ppt
Owasp Top 10 A1: Injection
Linux Hardening - nullhyd
Git 101: Git and GitHub for Beginners
왜 쿠버네티스는 systemd로 cgroup을 관리하려고 할까요
An overview of Amazon Athena
Abusing Microsoft Kerberos - Sorry you guys don't get it
쿠버네티스를 이용한 기능 브랜치별 테스트 서버 만들기 (GitOps CI/CD)
Hunting for Privilege Escalation in Windows Environment
Ad

Similar to BloodHound: Attack Graphs Practically Applied to Active Directory (20)

PPT
raph Databases with Neo4j – Emil Eifrem
PDF
5.17 - IntroductionToNeo4j-allSlides_1_2022_DanMc.pdf
PPTX
Add Redis to Postgres to Make Your Microservices Go Boom!
PPTX
Myths & Reality - Choose a DBMS tailored to your use cases
PPTX
THE RISE AND FALL OF SERVERLESS COSTS - TAMING THE (SERVERLESS) BEAST
PPTX
Electron
PDF
CSA on Rails: a practical case-study
PPTX
Solving the Database Problem
PDF
PostgreSQL at 20TB and Beyond
PDF
Data Versioning and Reproducible ML with DVC and MLflow
PPTX
Government and Education Webinar: Simplify Your Database Performance Manageme...
PDF
Migrate all the things!
PPTX
.NET Fest 2019. Леонид Молотиевский. DotNet Core in production
PDF
Things Every Oracle DBA Needs to Know about the Hadoop Ecosystem
PDF
Hybrid my sql_hadoop_datawarehouse
PDF
Workshop Español - Introducción a Neo4j
PDF
Neo4j: What's Under the Hood & How Knowing This Can Help You
PPTX
No IT Left Behind - Connecting the Software-Defined Data Center to Multi-Moda...
PDF
Big data & frameworks: no book for you anymore
PDF
Big data & frameworks: no book for you anymore.
raph Databases with Neo4j – Emil Eifrem
5.17 - IntroductionToNeo4j-allSlides_1_2022_DanMc.pdf
Add Redis to Postgres to Make Your Microservices Go Boom!
Myths & Reality - Choose a DBMS tailored to your use cases
THE RISE AND FALL OF SERVERLESS COSTS - TAMING THE (SERVERLESS) BEAST
Electron
CSA on Rails: a practical case-study
Solving the Database Problem
PostgreSQL at 20TB and Beyond
Data Versioning and Reproducible ML with DVC and MLflow
Government and Education Webinar: Simplify Your Database Performance Manageme...
Migrate all the things!
.NET Fest 2019. Леонид Молотиевский. DotNet Core in production
Things Every Oracle DBA Needs to Know about the Hadoop Ecosystem
Hybrid my sql_hadoop_datawarehouse
Workshop Español - Introducción a Neo4j
Neo4j: What's Under the Hood & How Knowing This Can Help You
No IT Left Behind - Connecting the Software-Defined Data Center to Multi-Moda...
Big data & frameworks: no book for you anymore
Big data & frameworks: no book for you anymore.
Ad

Recently uploaded (20)

PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Encapsulation theory and applications.pdf
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
KodekX | Application Modernization Development
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PPTX
Big Data Technologies - Introduction.pptx
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Electronic commerce courselecture one. Pdf
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPTX
Programs and apps: productivity, graphics, security and other tools
PPT
Teaching material agriculture food technology
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPTX
sap open course for s4hana steps from ECC to s4
PDF
Review of recent advances in non-invasive hemoglobin estimation
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Encapsulation_ Review paper, used for researhc scholars
Network Security Unit 5.pdf for BCA BBA.
Encapsulation theory and applications.pdf
Digital-Transformation-Roadmap-for-Companies.pptx
KodekX | Application Modernization Development
NewMind AI Weekly Chronicles - August'25 Week I
Big Data Technologies - Introduction.pptx
“AI and Expert System Decision Support & Business Intelligence Systems”
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Electronic commerce courselecture one. Pdf
Diabetes mellitus diagnosis method based random forest with bat algorithm
Programs and apps: productivity, graphics, security and other tools
Teaching material agriculture food technology
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
sap open course for s4hana steps from ECC to s4
Review of recent advances in non-invasive hemoglobin estimation
Understanding_Digital_Forensics_Presentation.pptx
Advanced methodologies resolving dimensionality complications for autism neur...
The Rise and Fall of 3GPP – Time for a Sabbatical?
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx

BloodHound: Attack Graphs Practically Applied to Active Directory

  • 1. BloodHound: Attack Graphs Practically Applied to Active Directory
  • 2. HELLO! I am Andy Robbins Adversary Resilience Lead at SpecterOps BloodHound co-creator and developer, Red Teamer You can find me at @_wald0
  • 3. HELLO! I am Rohan Vazarkar Adversary Resilience Senior Operator at SpecterOps BloodHound co-creator and developer, Red Teamer You can find me at @CptJesus
  • 4. Agenda ▪ The Problem ▪ The Solution ▪ Conclusion 44
  • 5. Purpose We want to demonstrate how graphs can be an elegant and practical solution to incredibly complex problems, and inspire you to consider using graphs for problems you face 55
  • 7. Pushed Into a Corner, circa 2014-2015 ▪ Remote Code Execution (RCE) flaws in Windows become increasingly rare and risky to exploit ▪ Maturing vulnerability management programs ensure ephemerality of RCE in the enterprise ▪ A common methodology appeared... 77
  • 8. 8
  • 9. 9
  • 10. 10
  • 11. 11
  • 12. 12
  • 13. 13
  • 14. 14
  • 15. 15
  • 16. 16
  • 17. 17
  • 20. The Data is RIGHT… THERE! ▪ Question: Where are users logged on? ▪ Answer: NetSessionEnum ▪ Question: Who are local admins on a system? ▪ Answer: NetLocalGroupGetMembers ▪ Question: Who belongs to what security group? ▪ Answer: Basic LDAP queries By default, all data is accessible by any domain authenticated principal on systems before Windows 10 Anniversary (1607) 2020
  • 21. An effective, albeit tedious and naive approach... 21 Target Users: Admin-1 Admin-2 Admin-3 Admin-4 Admin-5 Admin-1 Uses These Systems: Computer-1 Computer-2 Computer-3 Admins on Computer-1: Admin-1 Admin-2 Admin-10 Group-11 Members of Group 11 Use These Systems: Computer-1 Computer-2 Computer-5 Admins on Computer-5: Admin-1 Admin-2 Admin-10 Admin-15 Admin-15 Uses These Systems: Computer-1 Computer-2 Computer-10 Members of Group-11: Admin-5 Admin-6 Admin-7 Admin-8
  • 22. The Problem, In Short ▪ We have a reliable, proven methodology for escalating rights in almost any Active Directory deployment ▪ That methodology is enhanced by data which, by default, anyone in a domain can access ▪ The data is way too complicated to analyze by hand 2222
  • 24. It’s a graph, dummy! ▪ Every principal (user, group, computer) is a node ▪ Every privilege (and group membership) is a relationship ▪ Graphs are phenomenally fast at finding paths between disparate nodes 2424
  • 25. 25 Domain AdminsAlice AdminComputer 1 Bob User Helpdesk Group Data Source: LDAP
  • 26. 26 Domain AdminsAlice AdminComputer 1 Bob User Helpdesk Group MemberOf MemberOf Data Source: LDAP
  • 27. 27 Domain AdminsAlice AdminComputer 1 Bob User Helpdesk Group MemberOf MemberOf AdminTo Data Source: NetLocalGroupGetMembers
  • 28. 28 Domain AdminsAlice AdminComputer 1 Bob User Helpdesk Group MemberOf MemberOfHasSession AdminTo Data Source: NetSessionEnum
  • 29. Now You’re Thinking With Graphs ▪ Manual “derivative local admin” takes days to months ▪ Data collection, graph analysis, and attack path execution takes minutes to hours 2929
  • 33. Three Problems Graphs Solved ▪ Complexity - Analyzing thousands of paths became possible ▪ Readability - Presenting concepts to non-technical audiences became easier ▪ Accessibility - Opened up the methodology to both the defensive and offensive side 3333
  • 34. Three Exciting Defensive Applications ▪ Easier, more effective, more accurate permission auditing ▪ Attack path identification and mitigation/elimination ▪ Empirical key terrain identification 3434
  • 35. If There’s One Thing to Take Away From this Talk ▪ Graphs are not the solution to every problem; however, they allow you to look at problems in a unique way and solve complex problems that otherwise would be insanely difficult to visualize, compute, or solve 3535
  • 36. Acknowledgements and Prior Work http://alicezheng.org/papers/sosp2009-heatray-10pt.pdf https://www.sixdub.net/?p=591 https://bitbucket.org/iwseclabs/bta https://github.com/ANSSI-FR/AD-control-paths https://powersploit.readthedocs.io/en/latest/Recon/ 3636
  • 37. 37 Thank you! QUESTIONS? You can find us at: ▪ specterops.io ▪ @SpecterOps ▪ @_wald0 ▪ @CptJesus ▪ BloodHound: https://bit.ly/GetBloodHound ▪ BloodHound Slack: https://bloodhoundgang.herokuapp.com