autobloodyautobloody 是一个自动利用BloodHound显示的Active Directory权限提升路径的工具。
该工具可自动在AD对象之间实施权限提升:源对象(我们拥有的)和目标对象(我们想要的),前提是BloodHound数据库中存在权限提升路径。 自动化分为两步:
bloodyAD包执行找到的路径。由于autobloody依赖于bloodyAD,它支持使用明文密码、哈希传递、票据传递或证书进行身份验证,并绑定到域控制器的LDAP服务以执行AD权限提升。
提供了Python包:
pip install autobloody
或者克隆仓库:
git clone --depth 1 https://github.com/CravateRouge/autobloody
pip install .
为了获得更好的性能,建议在Neo4j中安装GDS库。如果没有安装,autobloody将使用原生CYPHER查询,速度较慢但仍能工作。
可以通过从https://github.com/CravateRouge/Single-User-BloodHound启动./bloodhound-ce来安装一个带有GDS插件的轻量级BloodHound环境。
首先,必须将数据导入BloodHound(例如使用SharpHound或BloodHound.py),并且Neo4j必须正在运行。
⚠️ -ds和-dt的值区分大小写
简单用法:
autobloody -p 'Password123!' --host 192.168.10.2 -dp 'neo4jP@ss' -ds '[email protected]' -dt 'BLOODY.LOCAL'
完整帮助:
[bloodyAD]$ ./autobloody.py -h
usage: autobloody.py [-h] [--dburi DBURI] [-du DBUSER] -dp DBPASSWORD -ds DBSOURCE -dt DBTARGET [-d DOMAIN] [-u USERNAME] [-p PASSWORD] [-k] [-c CERTIFICATE] [-s] --host HOST [-y] [-v] [--timeout TIMEOUT]
AD权限提升自动化
选项:
-h, --help 显示此帮助信息并退出
--dburi DBURI neo4j运行的主机(默认为"bolt://localhost:7687")
-du DBUSER, --dbuser DBUSER
要使用的Neo4j用户名(默认为"neo4j")
-dp DBPASSWORD, --dbpassword DBPASSWORD
要使用的Neo4j密码
-ds DBSOURCE, --dbsource DBSOURCE
源节点的区分大小写的标签(bloodhound中的name属性)
-dt DBTARGET, --dbtarget DBTARGET
目标节点的区分大小写的标签(bloodhound中的name属性)
-d DOMAIN, --domain DOMAIN
用于NTLM身份验证的域(可选,默认为dbsource的域)
-u USERNAME, --username USERNAME
用于NTLM身份验证的用户名(可选,默认为dbsource的sAMAccountName)
-p PASSWORD, --password PASSWORD
NTLM身份验证的明文密码或LMHASH:NTHASH
-k, --kerberos
-c CERTIFICATE, --certificate CERTIFICATE
证书认证,例如:"path/to/key:path/to/cert"
-s, --secure 尝试通过TLS使用LDAP(即LDAPS)(默认为LDAP)
--host HOST DC的主机名或IP(例如:my.dc.local或172.16.1.3)
-y, --yes 假定同意以应用生成的权限提升
-v, --verbose 启用详细输出(-v为INFO,-vv为DEBUG)
--timeout TIMEOUT 连接超时时间(秒,默认为60)
首先,使用Neo4j GDS库中实现的Dijkstra算法找到一条权限提升路径。 Dijkstra算法可以在加权图上解决最短路径问题。默认情况下,BloodHound创建的边没有权重,但有类型(例如MemberOf、WriteOwner)。随后,根据边的类型和到达的节点类型(例如用户、组、域)为每条边添加权重。
一旦生成了路径,autobloody将连接到DC并执行该路径,同时对可逆的操作进行清理(除了ForcePasswordChange和setOwner之外的所有操作)。
目前,仅支持以下BloodHound边用于自动利用:
需要个性化支持?发送邮件至 [email protected] 以获取培训或定制功能。