4个版本
0.1.3 | 2024年7月9日 |
---|---|
0.1.2 | 2024年6月27日 |
0.0.22 |
|
464 在 认证
每月400 次下载
160KB
4K SLoC
____ _ _ _ _
/ ___|___ _ __| |__ ___ _ __ ___ | (_) |__
| | / _ \ '__| '_ \ / _ \ '__/ _ \ _____| | | '_ \
| |__| __/ | | |_) | __/ | | (_) |_____| | | |_) |
\____\___|_| |_.__/ \___|_| \___/ |_|_|_.__/
Active Directory渗透测试中执行与Kerberos协议相关的多个任务的库。
此仓库从 https://gitlab.com/Zer1i0/cerbero 克隆,并已转换为库格式。我打算添加更多功能/进一步清理代码 -- 请查看下面的 待办事项 部分。
目录
安装
要在项目中使用此库,您可以通过 cargo add
cargo add cerbero-lib
函数
询问
ask
函数允许从KDC(Active Directory环境中的域控制器)检索Kerberos票据(TGT/TGS)。此外,它还执行使用S4U2Self和S4U2Proxy Kerberos扩展获取票据的请求。
(在此处查看 ask
示例 这里)
AsRepRoast
asreproast
函数可用于发现不需要预先认证的用户并检索用于与hashcat或john破解的票据。
(在此处查看 asreproast
示例 这里)
Brute
brute
函数通过执行TGT请求以根据KDC响应发现用户凭据。这种暴力破解技术允许您发现
- 有效的用户名/密码对
- 有效的用户名
- 过期的密码
- 被阻止或禁用的用户
此攻击应谨慎执行,因为在同一用户多次执行错误认证尝试的情况下可能会阻止用户帐户。
(在此处查看 brute
示例 这里)
Convert
convert
函数可以将票据文件在 krb(Windows)和 ccache(Linux)格式之间进行转换。
(查看 convert
示例 这里)
制作
craft
函数允许制作金票和银票。
(查看 craft
示例 这里)
哈希
hash
模块包含从用户密码计算 Kerberos 密钥(密码哈希)的函数。
(查看 hash
示例 这里)
Kerberoast
kerberoast
函数可以用来获取一个(可能可破解的)密码哈希,用于已设置 SPN 的帐户。
为了格式化票据的加密部分以便由 hashcat 或 john 破解,你需要提供一个包含用户服务的文件。文件中的每一行必须具有以下格式之一
用户
域/用户
用户:spn
域/用户:spn
当没有指定服务 SPN 时,则使用 NT-ENTERPRISE 主。这也可以用于暴力破解有服务的用户。
(查看 kerberoast
示例 这里)
待办事项
[!note]
- 清理代码,clippy 认为某些函数的参数太多 + 大型 Result 类型
- 从 lib.rs 中删除一些允许
- 显著改进文档,包括 README 和示例目录
- 添加 SID 查找模块并改进需要它们的函数
- 通过 LSA 为 WindowsVault 实现适当的票据转储
致谢
这项工作基于其他人的出色工作
- Impacket 来自 Alberto Solino @agsolino
- Rubeus 来自 Will @harmj0y 和 Elad Shamir @elad_shamir
- Mimikatz 来自 @gentilkiwi
- Cerbero 来自 Eloy @zer1i0
依赖项
~10–53MB
~818K SLoC