Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
lsawhisper-bof — 一个信标对象文件 (BOF),可直接通过LSA非信任/信任客户端接口与Windows身份验证包通信,而无需触碰LSASS进程内存。 | Kitploit
工具/GitHubGitHub/dazzyddos/lsawhisper-bof
漏洞利用后渗透利用渗透测试命令与控制身份验证红队Payload 开发
GitHubdazzyddos/lsawhisper-bof

lsawhisper-bof

一个信标对象文件 (BOF),可直接通过LSA非信任/信任客户端接口与Windows身份验证包通信,而无需触碰LSASS进程内存。

查看仓库
297385个月前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

LSA Whisperer BOF

一个 Cobalt Strike Beacon 对象文件 (BOF) 移植版,基于 LSA Whisperer——该工具通过 LSA 非受信/受信客户端接口直接与 Windows 身份验证包通信,即使启用了 PPL 和 Credential Guard,也无需访问 LSASS 进程内存。

为什么存在

LSA Whisperer 由 Evan McBroom(SpecterOps)开发,证明了你可以通过合法的 LsaCallAuthenticationPackage API 调用恢复 DPAPI 凭据密钥、提取云 SSO 令牌以及与 Kerberos 交互——无需内存读取、进程注入或打开 LSASS 句柄。

本项目将这些能力以 BOF 形式引入 C2,用于红队演练。它从不打开 lsass 进程的句柄,所有调用都通过 LsaCallAuthenticationPackage(用于与 lsass 通信的官方客户端 API)进行,因此 LSASS 上的 PPL 完全无效。PPL 保护 LSASS 进程不被打开、读取或注入。

命令

MSV1_0 模块

命令描述
lsa-credkey [LUID]恢复 DPAPI 凭据密钥。支持 Credential Guard。
lsa-strongcredkey [LUID]恢复强 DPAPI 凭据密钥(Win10+)。
lsa-ntlmv1 [LUID] [challenge]使用自定义挑战生成 NTLMv1 响应。默认挑战 1122334455667788 兼容 crack.sh 彩虹表。

Kerberos 模块

命令描述
lsa-klist [LUID]列出缓存的 Kerberos 票据。
lsa-dump [LUID]将所有票据转储为带有会话密钥的 base64 .kirbi 数据块。
lsa-purge [LUID] [server]清除票据。支持按服务器名称选择性清除。

CloudAP 模块

命令描述
lsa-ssocookie [LUID]通过 AAD 插件提取 Entra ID(Azure AD)SSO Cookie。
lsa-devicessocookie [LUID]

LUID:0 或省略以使用当前会话。十六进制值(例如 0x3e7)用于指定特定登录会话。定位其他会话需要 SYSTEM 权限。

使用示例

DPAPI 凭据密钥恢复

root@kitploit:~
beacon> lsa-credkey 0x21d57
[*] MSV1_0 GetCredentialKey
[+] SUCCESS - DPAPI Credential Keys recovered!
[+] CredSize: 0x28 (40 bytes)
[*] Local CredKey (SHA OWF): <20-byte key>
[*] Domain CredKey (NT OWF): <16 or 20-byte key>

将恢复的密钥与 SharpDPAPI 配合使用:

root@kitploit:~
SharpDPAPI.exe masterkeys /credkey:<key_hex> /target:<masterkey_path>

NTLMv1 降级

root@kitploit:~
beacon> lsa-ntlmv1 0x21d57
[*] MSV1_0 Lm20GetChallengeResponse (NTLMv1 Generation)
[+] NTLMv1 Response generated!
[*] Hashcat (mode 5500):
    DOMAIN\user::HOSTNAME::NTResponse:1122334455667788

使用默认挑战,将响应提交至 crack.sh 即可即时恢复 NT 哈希。

Entra ID SSO Cookie

root@kitploit:~
beacon> lsa-ssocookie 0x21d57
[+] SSO Cookie received!
[*] Cookie: ESTSAUTH=<token>

架构

root@kitploit:~
lsa-whisperer-bof/
├── lsa-whisperer.cna          # 攻击脚本(加载此文件)
├── Makefile
├── include/
│   ├── bofdefs.h              # BOF API 声明 + DFR 导入
│   └── lsa_structs.h          # 所有 LSA/MSV1_0/Kerberos/CloudAP 结构体
├── src/
│   ├── common/
│   │   └── lsa_common.c       # 共享的 LSA 初始化、辅助函数、输出格式化
│   ├── msv1_0/
│   │   └── msv1_0_bof.c       # MSV1_0 命令
│   ├── kerberos/
│   │   └── kerberos_bof.c     # Kerberos 命令
│   └── cloudap/
│       └── cloudap_bof.c      # CloudAP/AAD 命令
└── build/                     # 编译后的 BOF(make 后生成)

每个模块编译为独立的 BOF。公共代码在编译时包含(标准 BOF 模式)——无共享库或运行时依赖。

权限要求

上下文能力
当前用户(非特权)lsa-klist、lsa-ssocookie、lsa-cloudinfo(针对自身会话)
SYSTEM(SeTcbPrivilege)所有命令,可通过 LUID 定位任意登录会话

使用 logonpasswords 或 klist 枚举可用的 LUID,以查找目标会话。

操作说明

  • Credential Guard:lsa-credkey 和 lsa-strongcredkey 可在 Credential Guard 下工作。lsa-ntlmv1 会被其阻止。
  • CloudAP:需要已加入 Entra ID / Azure AD 的设备且具有活跃的云登录会话。在纯本地 AD 环境中无法工作。
  • NTLMv1:默认挑战 1122334455667788 可通过 crack.sh 实现免费的彩虹表破解。自定义挑战也可工作,但需要标准暴力破解。
  • 选择性清除:lsa-purge 配合服务器筛选器仅移除匹配的票据——适用于有针对性的 Kerberos 滥用,而不会中断用户的会话。

鸣谢

本项目是 LSA Whisperer 的 BOF 移植版,原作者为 Evan McBroom (@EvanMcBroom),来自 SpecterOps。所有底层研究——未文档化的 MSV1_0 协议消息、CloudAP/AAD 插件调用接口以及实现所需的结构体定义——均出自他手。

主要参考资料:

  • LSA Whisperer — Evan McBroom / SpecterOps(MIT 许可证)
  • Exploring Credential Guard — Evan McBroom
  • nanorobeus — wavvs(BOF 模式参考)
  • Kerbeus-BOF — RalfHacker(BOF 模式参考)
下载工具
提取设备 SSO Cookie。
lsa-enterprisesso [LUID]提取 AD FS 企业 SSO Cookie。
lsa-cloudinfo [LUID]查询云提供商信息、TGT 状态、DPAPI 状态。