ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

AD 域渗透 autobloody 认证完全指南:明文密码、Pass-the-Hash、票据与证书 4 种连法

AD 域渗透 autobloody 认证完全指南:明文密码、Pass-the-Hash、票据与证书 4 种连法 AD 域渗透 autobloody 认证完全指南明文密码、Pass-the-Hash、票据与证书 4 种连法【免费下载链接】claude-quickstartsA collection of projects designed to help developers quickly get started with building deployable applications using the Claude API项目地址: https://gitcode.com/GitHub_Trending/an/claude-quickstarts你已经进了 AD 域手里攥着一张凭据。密码就直接用Pass-the-Hash 就换个写法用 Hash 登录怎么让 autobloody 连上域控都得先解决同一个问题。下面这 4 种认证方式一次讲清。一条命令的骨架4 种方式只差一个槽位想搞懂差别先看 autobloody 干什么从 Neo4j 读 BloodHound 图谱用最短路算法找出最优提权路径再调用 bloodyAD 在真实域控上逐步执行——加组成员、改密码、DCSync——结束后把可逆操作清掉。这两步的前提都是先连上域控的 LDAP 服务。不管走哪条路命令骨架是固定的autobloody 凭据参数 --host 域控 -dp neo4j 密码 -ds 源节点 -dt 目标节点逐一说下含义--host域控的主机名或 IP必填跑不掉-dpNeo4j 数据库密码用来读 BloodHound 数据-ds/-dtBloodHound 里源节点和目标节点的标签即我是谁和我想拿下谁-d域名和-u用户名不填时会自动从-ds推导省一步。所以 4 种方式真正的差别只在凭据参数这一个槽位手里攥着什么用哪个参数要准备的东西明文密码-p用户名 密码只有 NTLM Hash-p换个写法用户名 HashKerberos 票据-kccache 票据文件PKI 证书-c私钥 证书文件下面按凭据分组逐个过。有密码或只有 Hash 这俩是双胞胎都走-p只差取值格式。手里有明文密码最直接autobloody -p Password123! --host 192.168.10.2 -dp neo4jPss -ds JOHN.DOEBLOODY.LOCAL -dt BLOODY.LOCALmain.py的参数解析第 54~129 行的 argparse 配置里-p的帮助文本写得明明白白Cleartext password or LMHASH:NTHASH for NTLM authentication——也就是说明文和 Hash 走的是同一条 NTLM 通道底层由 bloodyAD 统一接管。手里只有 Hash不用去破解把-p的取值写成LMHASH:NTHASH即可如果只有 NT HashLM 段留空、前面带个冒号autobloody -p :aad3b435b51404eeaad3b435b51404ee --host 192.168.10.2 -dp neo4jPss -ds JOHN.DOEBLOODY.LOCAL -dt BLOODY.LOCAL两个细节要记牢:NTHASH里的冒号不能丢它是空 LM 段的占位。还有一点容易被忽略——路径执行中途 autobloody 会自己换身份比如通过 ReadGMSAPassword 读到 GMSA 账号的 NT Hash 后它会拼出:hash格式、调用_switchUser换个账号继续往下打你不用手动重跑命令这两段逻辑在automation.py里。手里只有 Kerberos 票据怎么连 纯 Kerberos 环境、或者想绕开 NTLM 限制时票据登场。这一组的组合是-k 环境变量KRB5CCNAMEexport KRB5CCNAME/path/to/ticket.ccache autobloody -k --host dc.bloody.local -d BLOODY.LOCAL -u john.doe -dp neo4jPss -ds JOHN.DOEBLOODY.LOCAL -dt BLOODY.LOCAL坑都在细节上-k只是个开关main.py里默认 False加了才生效票据要先用kinit或gettgtpkinit.py拿到 TGT官方tests/test_functional.py里gettgtpkinit 生成 ccache 再跑测试的完整流程值得翻一遍--host写域名别写 IP不然 Kerberos 名字解析可能直接翻车。拿到 PKI 证书怎么认证 证书认证是 AD 渗透里最热的攻击面之一——PKI 签发的证书到手不知道密码也能完成认证对应证书伪造、AD CS 滥用这类攻击链。用-c指定文件对格式是私钥在前、证书在后冒号分隔autobloody -c /path/to/priv.key:/path/to/cert.pem --host 192.168.10.2 -dp neo4jPss -ds JOHN.DOEBLOODY.LOCAL -dt BLOODY.LOCAL⚠️ certificate、kerberos、password 三者是互斥的凭据来源bloodyAD 会按你传入的参数自动选认证协议别一次传多个。顺手记住的两个参数-s, --secure用 LDAP over TLSLDAPS连域控默认是明文 LDAP审计、合规场景建议加上--timeout连接超时秒数默认 60 秒网络拉胯的测试环境写--timeout 120仓库里对这个参数有专门的测试覆盖。翻车现场排查按症状对号入座症状原因处置提示No path exploitable by autobloody foundBloodHound 数据里没有 autobloody 能利用的路径它目前只支持 MemberOf、ForceChangePassword、DCSync、GenericAll、WriteDacl 等十几种边回查采集范围确认目标关系在支持列表里-ds/-dt一直报错这两个值必须和 BloodHound 的name属性完全一致且区分大小写逐字符核对大小写和符号例如JOHN.DOEBLOODY.LOCAL4 种方式拿不准选哪个别看工具看手里的凭据有密码 →-p明文只有 Hash →-p写:NTHASH有票据 →-k有证书 →-c上手建议把 4 类凭据各跑一遍别光记去跑。在测试环境里按顺序把 4 类凭据过一遍明文密码登录先熟悉命令骨架把-p的取值换成:NTHASH格式体会 Hash 登录和明文登录的差异用gettgtpkinit.py拿一张 TGT试-kKRB5CCNAME的组合最后走一遍-c的证书流程。跑完这 4 遍认证对 autobloody 意味着什么、你手里的哪类凭据对应 BloodHound 数据里的哪条路径就都清楚了。【免费下载链接】claude-quickstartsA collection of projects designed to help developers quickly get started with building deployable applications using the Claude API项目地址: https://gitcode.com/GitHub_Trending/an/claude-quickstarts创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进