pypykatz的核心功能
TOPIC SOURCE
Lsassy:如何远程从lsaas中提取用户凭证
在红队工具链中,pypykatz已经从实验室代码演进为生产环境的“凭证收割机”。它的核心价值体现在三大能力:直接从 LSASS 内存获取明文密码、提炼 NTLM 哈希以及恢复 Kerberos 票据(TGT/TGS),而且全部在 Python 环境下完成,无需额外的 C++ 编译链。
核心功能概览
- Memory Dump:使用
minidump或proc_dump两种方式读取 LSASS 进程的原始内存块。 - Credential Extraction:解析内存结构,定位
MSV、WDIGEST、DPAPI、KERBEROS四大子模块,分别抽取密码、NTLM、DPAPI 保护的密钥以及 Kerberos 票据。 - Ticket Decryption:对提取到的 Kerberos 票据进行解密,恢复出原始的
krb5结构,便于后续的 Pass-The-Ticket(PTT)攻击。
凭证抽取的技术细节
pypykatz 通过 impacket 的 MSRPC 通道,先在目标机器上启动 lsass 读取进程句柄,然后将内存块写入本地临时文件。随后,它解析 Windows 7/8/10 以及 Server 2016/2019 中的 _LsaLogonSession 链表,遍历每个登录会话的 Credential Manager,把每条记录映射为 Python 对象。整个过程在 5 GB 内存的机器上,平均耗时仅为 12 秒,远快于传统的 mimikatz 手工导出。
支持的凭证类型一览
- 明文密码(仅在 LSASS 中以
unicodeString形式存储的账号) - NTLM 哈希(
NTLM、LM双哈希) - DPAPI 密钥(用于解密浏览器、邮件客户端等本地加密数据)
- Kerberos 票据(包括 TGT、TGS,支持 AES256、RC4 加密)
实战案例速写
一次红队演练中,团队在获得域管理员的凭证后,直接在内部网络的 Windows Server 2019 上运行 pypykatz dump,瞬间拿到 12 条有效的 Kerberos TGT。随后利用 Rubeus 将这些票据注入到攻击机,成功横向渗透到高价值的 SQL Server 实例,整个链路从内存抽取到横向移动不到两分钟。案例揭示了 pypykatz 在“内存即服务”模型下的高效闭环。

参与讨论
有人试过在Win10 1909上跑吗?会不会被Defender拦
从内存dump到横向移动才两分钟,这速度有点吓人啊
之前搞过类似的内存取证,解析结构这块确实容易踩坑
要是目标系统开了Credential Guard还能用吗?
感觉LSASS这块成了万能钥匙,什么凭证都能掏出来
这工具确实比mimikatz方便多了,不用折腾编译环境
TGS票据也能解?那岂不是域内横行无阻了
12秒出结果,这效率可以啊
DPAPI密钥也能搞,那浏览器密码岂不是随便看了