Max - Maximizing BloodHound
http://www.kitploit.com/2021/04/max-maximizing-bloodhound.html
http://www.kitploit.com/2021/04/max-maximizing-bloodhound.html
Maximizing BloodHound.
Description
New Release: dpat (https://github.com/knavesec/Max/blob/master/wiki/dpat.md) - The BloodHound Domain Password Audit Tool (DPAT) A simple suite of tools: get-info (https://github.com/knavesec/Max/blob/master/wiki/get-info.md) - Pull lists of information from the Neo4j database mark-owned (https://github.com/knavesec/Max/blob/master/wiki/mark-owned.md) - Mark a list of objects as Owned mark-hvt (https://github.com/knavesec/Max/blob/master/wiki/mark-hvt.md) - Mark a list of objects as High Value Targets query (https://github.com/knavesec/Max/blob/master/wiki/query.md) - Run a raw Cypher query and return output export (https://github.com/knavesec/Max/blob/master/wiki/export.md) - Export all outbound controlling privileges of a domain object to a CSV file del-edge (https://github.com/knavesec/Max/blob/master/wiki/del-edge.md) - Delete an edge from the database add-spns (https://github.com/knavesec/Max/blob/master/wiki/add-spns.md) - Create HasSPNConfigured relationships, new attack primitive add-spw (https://github.com/knavesec/Max/blob/master/wiki/add-spw.md) - Create SharesPasswordWith relationships dpat (https://github.com/knavesec/Max/blob/master/wiki/dpat.md) - The BloodHound Domain Password Audit Tool (DPAT) pet-max (https://github.com/knavesec/Max/blob/master/wiki/pet-max.md) - Dogsay, happiness for stressful engagements This was released with screenshots & use-cases on the following blogs: Max Release (https://whynotsecurity.com/blog/max/), Updates & Primitives (https://whynotsecurity.com/blog/max2/) & DPAT (https://whynotsecurity.com/blog/max3/) A new potential attack primitive was added to this tool during my research, see the add-spns section for full details.
Usage
Installation
Ideally there shouldn't be much to install, but I've included a requirements.txt file just in case. Tested on Kali Linux (https://www.kitploit.com/search/label/Kali%20Linux) & Windows 10, all functionality should work for both linux and Windows operating systems. pip3 install -r requirements.txt
Neo4j Creds
Neo4j credentials (https://www.kitploit.com/search/label/Credentials) can be hardcoded at the beginning of the script OR they can be provided as CLI. If both areas are left blank, you will be prompted for the uname/password. python3 max.py -u neo4j -p neo4j {module} {args}
python3 max.py {module} {args}
Neo4j Username: neo4j
Neo4j Password:
Quick Use
Getting help in general, and module specific python3 max.py -h
python3 max.py {module} -h
Importing owned objects into BH python3 max.py mark-owned -f owned.txt
python3 max.py mark-owned -f owned.txt --add-note "Owned by repeated local admin"
Get list of users python3 max.py get-info --users
python3 max.py get-info --users --enabled
USER01@DOMAIN.LOCAL
USER02@DOMAIN.LOCAL
...
Get list of objects in a target group python3 max.py get-info --group-members "domain controllers@domain.local"
Get a list of computers that a user has administrative rights to python3 max.py get-info --adminto USER01@DOMAIN.LOCAL
Get a list of owned objects with the notes for each python3 max.py get-info --owned --get-note
Running a query - return a list of all users with a path to DA python3 max.py query -q "MATCH (n:User),(m:Group {name:'DOMAIN ADMINS@DOMAIN.LOCAL'}) MATCH (n)-[*1..]->(m) RETURN DISTINCT(n.name)"
Delete an edge from the database python3 max.py del-edge CanRDP
Add HasSPNConfigured relationship using the information stored within BloodHound, or with a GetUserSPNs impacket (https://www.kitploit.com/search/label/Impacket) file python3 max.py add-spns -b
python3 max.py add-spns -i getuserspns-raw-output.txt
DPAT python3 max.py dpat -n ~/client/ntds.dit -p ~/.hashcat/hashcat.potfile -o ouputdir --html --sanitize
Pet max python3 max.py pet-max
Object Files & Specification
Description
New Release: dpat (https://github.com/knavesec/Max/blob/master/wiki/dpat.md) - The BloodHound Domain Password Audit Tool (DPAT) A simple suite of tools: get-info (https://github.com/knavesec/Max/blob/master/wiki/get-info.md) - Pull lists of information from the Neo4j database mark-owned (https://github.com/knavesec/Max/blob/master/wiki/mark-owned.md) - Mark a list of objects as Owned mark-hvt (https://github.com/knavesec/Max/blob/master/wiki/mark-hvt.md) - Mark a list of objects as High Value Targets query (https://github.com/knavesec/Max/blob/master/wiki/query.md) - Run a raw Cypher query and return output export (https://github.com/knavesec/Max/blob/master/wiki/export.md) - Export all outbound controlling privileges of a domain object to a CSV file del-edge (https://github.com/knavesec/Max/blob/master/wiki/del-edge.md) - Delete an edge from the database add-spns (https://github.com/knavesec/Max/blob/master/wiki/add-spns.md) - Create HasSPNConfigured relationships, new attack primitive add-spw (https://github.com/knavesec/Max/blob/master/wiki/add-spw.md) - Create SharesPasswordWith relationships dpat (https://github.com/knavesec/Max/blob/master/wiki/dpat.md) - The BloodHound Domain Password Audit Tool (DPAT) pet-max (https://github.com/knavesec/Max/blob/master/wiki/pet-max.md) - Dogsay, happiness for stressful engagements This was released with screenshots & use-cases on the following blogs: Max Release (https://whynotsecurity.com/blog/max/), Updates & Primitives (https://whynotsecurity.com/blog/max2/) & DPAT (https://whynotsecurity.com/blog/max3/) A new potential attack primitive was added to this tool during my research, see the add-spns section for full details.
Usage
Installation
Ideally there shouldn't be much to install, but I've included a requirements.txt file just in case. Tested on Kali Linux (https://www.kitploit.com/search/label/Kali%20Linux) & Windows 10, all functionality should work for both linux and Windows operating systems. pip3 install -r requirements.txt
Neo4j Creds
Neo4j credentials (https://www.kitploit.com/search/label/Credentials) can be hardcoded at the beginning of the script OR they can be provided as CLI. If both areas are left blank, you will be prompted for the uname/password. python3 max.py -u neo4j -p neo4j {module} {args}
python3 max.py {module} {args}
Neo4j Username: neo4j
Neo4j Password:
Quick Use
Getting help in general, and module specific python3 max.py -h
python3 max.py {module} -h
Importing owned objects into BH python3 max.py mark-owned -f owned.txt
python3 max.py mark-owned -f owned.txt --add-note "Owned by repeated local admin"
Get list of users python3 max.py get-info --users
python3 max.py get-info --users --enabled
USER01@DOMAIN.LOCAL
USER02@DOMAIN.LOCAL
...
Get list of objects in a target group python3 max.py get-info --group-members "domain controllers@domain.local"
Get a list of computers that a user has administrative rights to python3 max.py get-info --adminto USER01@DOMAIN.LOCAL
Get a list of owned objects with the notes for each python3 max.py get-info --owned --get-note
Running a query - return a list of all users with a path to DA python3 max.py query -q "MATCH (n:User),(m:Group {name:'DOMAIN ADMINS@DOMAIN.LOCAL'}) MATCH (n)-[*1..]->(m) RETURN DISTINCT(n.name)"
Delete an edge from the database python3 max.py del-edge CanRDP
Add HasSPNConfigured relationship using the information stored within BloodHound, or with a GetUserSPNs impacket (https://www.kitploit.com/search/label/Impacket) file python3 max.py add-spns -b
python3 max.py add-spns -i getuserspns-raw-output.txt
DPAT python3 max.py dpat -n ~/client/ntds.dit -p ~/.hashcat/hashcat.potfile -o ouputdir --html --sanitize
Pet max python3 max.py pet-max
Object Files & Specification
Objects in file, must contain FQDN within, capitalization does not matter. This also applies to whenever a CLI username/computer name is supplied. user01@domain.local <- will be added / correct CLI input
group01@domain.local <- will be added / correct CLI input
computer01.domain.local <- will be added / correct CLI input
ComPutEr01.doMAIn.LOcaL <- will be added / correct CLI input
user02 <- will not be added / incorrect CLI input
computer02 <- will not be added / incorrect CLI input
Further work
I hope to include an analyze function to provide some sort functionality similar to PlumHound/Cypheroth. Lastly, thinking about creating a Powershell version for those running Neo4j on Windows, but I'm trash at Powershell so TBD. Any other features and improvements welcome, find me @knavesec in the BloodHoundGang Slack channel and on Twitter
Contributors
I'd like to especially thank those who have contributed their time to developing & improving this tool: Nic Losby @blurbdust (https://twitter.com/blurbdust) (DPAT Module) Scott Brink @_sandw1ch (https://twitter.com/_sandw1ch) (Various)
Download Max (https://github.com/knavesec/Max)
group01@domain.local <- will be added / correct CLI input
computer01.domain.local <- will be added / correct CLI input
ComPutEr01.doMAIn.LOcaL <- will be added / correct CLI input
user02 <- will not be added / incorrect CLI input
computer02 <- will not be added / incorrect CLI input
Further work
I hope to include an analyze function to provide some sort functionality similar to PlumHound/Cypheroth. Lastly, thinking about creating a Powershell version for those running Neo4j on Windows, but I'm trash at Powershell so TBD. Any other features and improvements welcome, find me @knavesec in the BloodHoundGang Slack channel and on Twitter
Contributors
I'd like to especially thank those who have contributed their time to developing & improving this tool: Nic Losby @blurbdust (https://twitter.com/blurbdust) (DPAT Module) Scott Brink @_sandw1ch (https://twitter.com/_sandw1ch) (Various)
Download Max (https://github.com/knavesec/Max)
Max - Maximizing BloodHound
Maximizing BloodHound. Description New Release: dpat - The BloodHound Domain Password Audit Tool (DPAT) A simple suite of tools: get-info - Pull lists of information from the Neo4j database mark-owned - Mark a list of objects as Owned mark-hvt - Mark a list of objects as High Value Targets query - Run a raw Cypher query and return output export - Export all outbound controlling privileges of a domain object to a CSV file del-edge - Delete an edge from the database add-spns - Create HasSPNConfigured relationships, new attack primitive add-spw - Create SharesPasswordWith relationships dpat - The BloodHound Domain Password Audit Tool (DPAT) pet-max - Dogsay, happiness for stressful engagements This was released with screenshots & use-cases on the following blogs: Max Release, Updates & Primitives & DPAT A new potential attack primitive was added to this tool during my research, see the add-spns section for full details.Usage Installation Ideally there shouldn't be much to install, but I've included a requirements.txt file just in case. Tested on Kali Linux & Windows 10, all functionality should work for both linux and Windows operating systems. pip3 install -r requirements.txt Neo4j Creds Neo4j credentials can be hardcoded at the beginning of the script OR they can be provided as CLI. If both areas are left blank, you will be prompted for the uname/password. python3 max.py -u neo4j -p neo4j {module} {args} python3 max.py {module} {args}Neo4j Username: neo4jNeo4j Password: Quick Use Getting help in general, and module specific python3 max.py -hpython3 max.py {module} -h Importing owned objects into BH python3 max.py mark-owned -f owned.txtpython3 max.py mark-owned -f owned.txt --add-note "Owned by repeated local admin" Get list of users python3 max.py get-info --userspython3 max.py get-info --users --enabledUSER01@DOMAIN.LOCALUSER02@DOMAIN.LOCAL... Get list of objects in a target group python3 max.py get-info --group-members "domain controllers@domain.local" Get a list of computers that a user has administrative rights to python3 max.py get-info --adminto USER01@DOMAIN.LOCAL Get a list of owned objects with the notes for each python3 max.py get-info --owned --get-note Running a query - return a list of all users with a path to DA python3 max.py query -q "MATCH (n:User),(m:Group {name:'DOMAIN ADMINS@DOMAIN.LOCAL'}) MATCH (n)-\*1..->(m) RETURN DISTINCT(n.name)" Delete an edge from the database python3 max.py del-edge CanRDP Add HasSPNConfigured relationship using the information stored within BloodHound, or with a GetUserSPNs impacket file python3 max.py add-spns -bpython3 max.py add-spns -i getuserspns-raw-output.txt DPAT python3 max.py dpat -n ~/client/ntds.dit -p ~/.hashcat/hashcat.potfile -o ouputdir --html --sanitize Pet max python3 max.py pet-max Object Files & Specification Objects in file, must contain FQDN within, capitalization does not matter. This also applies to whenever a CLI username/computer name is supplied. user01@domain.local <- will be added / correct CLI inputgroup01@domain.local <- will be added / correct CLI inputcomputer01.domain.local <- will be added / correct CLI inputComPutEr01.doMAIn.LOcaL <- will be added / correct CLI inputuser02 <- will not be added / incorrect CLI inputcomputer02 <- will not be added / incorrect CLI input Further work I hope to include an analyze function to provide some sort functionality similar to PlumHound/Cypheroth. Lastly, thinking about creating a Powershell version for those running Neo4j on Windows, but I'm trash at Powershell so TBD. Any other features and improvements welcome, find me @knavesec in the BloodHoundGang Slack channel and on Twitter Contributors I'd like to especially thank those who have contributed their time to developing & improving this tool: Nic Losby @blurbdust (DPAT Module) Scott Brink @_sandw1ch (Various) Download Max
Read more...
Maximizing BloodHound. Description New Release: dpat - The BloodHound Domain Password Audit Tool (DPAT) A simple suite of tools: get-info - Pull lists of information from the Neo4j database mark-owned - Mark a list of objects as Owned mark-hvt - Mark a list of objects as High Value Targets query - Run a raw Cypher query and return output export - Export all outbound controlling privileges of a domain object to a CSV file del-edge - Delete an edge from the database add-spns - Create HasSPNConfigured relationships, new attack primitive add-spw - Create SharesPasswordWith relationships dpat - The BloodHound Domain Password Audit Tool (DPAT) pet-max - Dogsay, happiness for stressful engagements This was released with screenshots & use-cases on the following blogs: Max Release, Updates & Primitives & DPAT A new potential attack primitive was added to this tool during my research, see the add-spns section for full details.Usage Installation Ideally there shouldn't be much to install, but I've included a requirements.txt file just in case. Tested on Kali Linux & Windows 10, all functionality should work for both linux and Windows operating systems. pip3 install -r requirements.txt Neo4j Creds Neo4j credentials can be hardcoded at the beginning of the script OR they can be provided as CLI. If both areas are left blank, you will be prompted for the uname/password. python3 max.py -u neo4j -p neo4j {module} {args} python3 max.py {module} {args}Neo4j Username: neo4jNeo4j Password: Quick Use Getting help in general, and module specific python3 max.py -hpython3 max.py {module} -h Importing owned objects into BH python3 max.py mark-owned -f owned.txtpython3 max.py mark-owned -f owned.txt --add-note "Owned by repeated local admin" Get list of users python3 max.py get-info --userspython3 max.py get-info --users --enabledUSER01@DOMAIN.LOCALUSER02@DOMAIN.LOCAL... Get list of objects in a target group python3 max.py get-info --group-members "domain controllers@domain.local" Get a list of computers that a user has administrative rights to python3 max.py get-info --adminto USER01@DOMAIN.LOCAL Get a list of owned objects with the notes for each python3 max.py get-info --owned --get-note Running a query - return a list of all users with a path to DA python3 max.py query -q "MATCH (n:User),(m:Group {name:'DOMAIN ADMINS@DOMAIN.LOCAL'}) MATCH (n)-\*1..->(m) RETURN DISTINCT(n.name)" Delete an edge from the database python3 max.py del-edge CanRDP Add HasSPNConfigured relationship using the information stored within BloodHound, or with a GetUserSPNs impacket file python3 max.py add-spns -bpython3 max.py add-spns -i getuserspns-raw-output.txt DPAT python3 max.py dpat -n ~/client/ntds.dit -p ~/.hashcat/hashcat.potfile -o ouputdir --html --sanitize Pet max python3 max.py pet-max Object Files & Specification Objects in file, must contain FQDN within, capitalization does not matter. This also applies to whenever a CLI username/computer name is supplied. user01@domain.local <- will be added / correct CLI inputgroup01@domain.local <- will be added / correct CLI inputcomputer01.domain.local <- will be added / correct CLI inputComPutEr01.doMAIn.LOcaL <- will be added / correct CLI inputuser02 <- will not be added / incorrect CLI inputcomputer02 <- will not be added / incorrect CLI input Further work I hope to include an analyze function to provide some sort functionality similar to PlumHound/Cypheroth. Lastly, thinking about creating a Powershell version for those running Neo4j on Windows, but I'm trash at Powershell so TBD. Any other features and improvements welcome, find me @knavesec in the BloodHoundGang Slack channel and on Twitter Contributors I'd like to especially thank those who have contributed their time to developing & improving this tool: Nic Losby @blurbdust (DPAT Module) Scott Brink @_sandw1ch (Various) Download Max
Read more...
Hacking Articles Tips Tricks Videos Tutorials
Photo
Hacking on Medium
Hack The Box — SneakyMailer: Walkthrough (without Metasploit)
https://cdn-images-1.medium.com/max/600/1*2BZNjIM7WAIpQY1ZhRfRog.png
Hack The Box — SneakyMailer: Walkthrough (without Metasploit) | Road to OSCP | Linux Medium Level | pypi | pip | scripting | nginx | python
Continue reading on Medium »
Hack The Box — SneakyMailer: Walkthrough (without Metasploit)
https://cdn-images-1.medium.com/max/600/1*2BZNjIM7WAIpQY1ZhRfRog.png
Hack The Box — SneakyMailer: Walkthrough (without Metasploit) | Road to OSCP | Linux Medium Level | pypi | pip | scripting | nginx | python
Continue reading on Medium »
Hacking Articles Tips Tricks Videos Tutorials
Photo
Hacking on Medium
Built to Explore: Le hackathon Skynet du Printemps 2021 !
https://cdn-images-1.medium.com/max/1400/1*t57hZqsGKCkfN0Op6TLrfQ.png
C’est avec grand plaisir que j’annonce notre hackathon du printemps 2021, qui offrira plus de 25 000 dollars de prix aux participants. Le…
Continue reading on Medium »
Built to Explore: Le hackathon Skynet du Printemps 2021 !
https://cdn-images-1.medium.com/max/1400/1*t57hZqsGKCkfN0Op6TLrfQ.png
C’est avec grand plaisir que j’annonce notre hackathon du printemps 2021, qui offrira plus de 25 000 dollars de prix aux participants. Le…
Continue reading on Medium »
Hacking Articles Tips Tricks Videos Tutorials
Photo
KitPloit - PenTest Tools!
Max - Maximizing BloodHound
https://1.bp.blogspot.com/-D7d038RLOPA/YGvbaekOqEI/AAAAAAAAVyw/m8HiLwy1bT0HJhOaHXCExk1oQwEiU6SqwCNcBGAsYHQ/s16000/BloodHound-Hacking-Active-Directory-Trust-Relationships.png Maximizing BloodHound. DescriptionNew Release:
* dpat - The BloodHound Domain Password Audit Tool (DPAT)
A simple suite of tools:
* get-info - Pull lists of information from the Neo4j database
* mark-owned - Mark a list of objects as Owned
* mark-hvt - Mark a list of objects as High Value Targets
* query - Run a raw Cypher query and return output
* export - Export all outbound controlling privileges of a domain object to a CSV file
* del-edge - Delete an edge from the database
* add-spns - Create HasSPNConfigured relationships, new attack primitive
* add-spw - Create SharesPasswordWith relationships
* dpat - The BloodHound Domain Password Audit Tool (DPAT)
* pet-max - Dogsay, happiness for stressful engagements
This was released with screenshots & use-cases on the following blogs: Max Release, Updates & Primitives & DPAT
A new potential attack primitive was added to this tool during my research, see the
Max - Maximizing BloodHound
https://1.bp.blogspot.com/-D7d038RLOPA/YGvbaekOqEI/AAAAAAAAVyw/m8HiLwy1bT0HJhOaHXCExk1oQwEiU6SqwCNcBGAsYHQ/s16000/BloodHound-Hacking-Active-Directory-Trust-Relationships.png Maximizing BloodHound. DescriptionNew Release:
* dpat - The BloodHound Domain Password Audit Tool (DPAT)
A simple suite of tools:
* get-info - Pull lists of information from the Neo4j database
* mark-owned - Mark a list of objects as Owned
* mark-hvt - Mark a list of objects as High Value Targets
* query - Run a raw Cypher query and return output
* export - Export all outbound controlling privileges of a domain object to a CSV file
* del-edge - Delete an edge from the database
* add-spns - Create HasSPNConfigured relationships, new attack primitive
* add-spw - Create SharesPasswordWith relationships
* dpat - The BloodHound Domain Password Audit Tool (DPAT)
* pet-max - Dogsay, happiness for stressful engagements
This was released with screenshots & use-cases on the following blogs: Max Release, Updates & Primitives & DPAT
A new potential attack primitive was added to this tool during my research, see the
add-spnssection for full details. UsageInstallationIdeally there shouldn't be much to install, but I've included a requirements.txt file just in case. Tested on Kali Linux & Windows 10, all functionality should work for both linux and Windows operating systems. pip3 install -r requirements.txtNeo4j CredsNeo4j credentials can be hardcoded at the beginning of the script OR they can be provided as CLI. If both areas are left blank, you will be prompted for the uname/password. python3 max.py -u neo4j -p neo4j {module} {args} python3 max.py {module} {args}
Neo4j Username: neo4j
Neo4j Password: Quick UseGetting help in general, and module specific python3 max.py -h
python3 max.py {module} -h Importing owned objects into BH python3 max.py mark-owned -f owned.txt
python3 max.py mark-owned -f owned.txt --add-note "Owned by repeated local admin" Get list of users python3 max.py get-info --users
python3 max.py get-info --users --enabled
USER01@DOMAIN.LOCAL
USER02@DOMAIN.LOCAL
... Get list of objects in a target group python3 max.py get-info --group-members "domain controllers@domain.local" Get a list of computers that a user has administrative rights to python3 max.py get-info --adminto USER01@DOMAIN.LOCAL Get a list of owned objects with the notes for each python3 max.py get-info --owned --get-note Running a query - return a list of all users with a path to DA python3 max.py query -q "MATCH (n:User),(m:Group {name:'DOMAIN ADMINS@DOMAIN.LOCAL'}) MATCH (n)-[*1..]->(m) RETURN DISTINCT(n.name)" Delete an edge from the database python3 max.py del-edge CanRDP Add HasSPNConfigured relationship using the information stored within BloodHound, or with a GetUserSPNs impacket file python3 max.py add-spns -b
python3 max.py add-spns -i getuserspns-raw-output.txt DPAT python3 max.py dpat -n ~/client/ntds.dit -p ~/.hashcat/hashcat.potfile -o ouputdir --html --sanitize Pet max python3 max.py pet-max Object Files & SpecificationObjects in file, must contain FQDN within, capitalization does not matter. This also applies to whenever a CLI username/computer name is supplied. user01@domain.local <-
group01@domain.local <-
computer01.domain.local <-
ComPutEr01.doMAIn.LOcaL <-
user02 <-
computer02 <- Further workI hope to include an analyzefunction to provide some sort functionality similar to PlumHound/Cypheroth. Lastly, thinking about creating a Powershell version for those running Neo4j on Windows, but I'm trash at P[...]
Hacking Articles Tips Tricks Videos Tutorials
KitPloit - PenTest Tools! Max - Maximizing BloodHound https://1.bp.blogspot.com/-D7d038RLOPA/YGvbaekOqEI/AAAAAAAAVyw/m8HiLwy1bT0HJhOaHXCExk1oQwEiU6SqwCNcBGAsYHQ/s16000/BloodHound-Hacking-Active-Directory-Trust-Relationships.png Maximizing BloodHound. DescriptionNew…
owershell so TBD.
Any other features and improvements welcome, find me @knavesec in the BloodHoundGang Slack channel and on Twitter ContributorsI'd like to especially thank those who have contributed their time to developing & improving this tool:
* Nic Losby @blurbdust (DPAT Module)
* Scott Brink @_sandw1ch (Various) Download Max
Any other features and improvements welcome, find me @knavesec in the BloodHoundGang Slack channel and on Twitter ContributorsI'd like to especially thank those who have contributed their time to developing & improving this tool:
* Nic Losby @blurbdust (DPAT Module)
* Scott Brink @_sandw1ch (Various) Download Max