推荐开源项目:SharpRoast - Kerberoasting的C#实现
项目地址:https://gitcode.com/GhostPack/SharpRoast
项目介绍
请注意,此项目SharpRoast
已被废弃,并其功能已合并到Rubeus项目中。然而,回顾历史,SharpRoast
是一个由C#编写的工具,它对PowerView的Kerberoasting功能进行了移植。这个工具主要用于从活动目录中提取特定服务主体名称(SPN)关联的哈希值,这些哈希可以用于离线身份验证。它支持以hashcat格式输出结果,便于进一步的安全审计和密码破解。
项目技术分析
SharpRoast
的核心是利用.NET Framework 3.5
中的System.IdentityModel.Tokens.KerberosRequestorSecurityToken.GetRequest()
方法,该方法允许获取Kerberos票证授予票证(TGT)的请求部分。这个C#端口由@harmj0y主要编写,@machosec贡献了关键的Kerberos相关代码。它的设计旨在简化在Windows环境中执行Kerberoasting任务的流程,无需依赖PowerShell环境。
应用场景
- 安全评估:在渗透测试或安全审计期间,
SharpRoast
可以帮助检测网络中存在的弱密码,因为攻击者可以通过获取SPN关联的哈希并尝试解密来绕过系统认证。 - 内部威胁识别:对于企业IT团队而言,定期使用
SharpRoast
检查SPN哈希可以帮助发现未经授权的服务账户使用情况。 - 教育与研究:网络安全研究人员和教育工作者可以利用此工具了解Kerberos协议的工作原理以及潜在的攻击面。
项目特点
- 命令行友好:
SharpRoast
提供简单的命令行接口,允许用户轻松地指定要查询的SPN、用户或组织单元(OU)。 - 跨域支持:除了本域,还可以针对信任的其他域进行Kerberoasting操作。
- 自定义凭据:允许使用指定的域用户名和密码进行身份验证,增强了灵活性。
- 兼容性:基于.NET 3.5,可在多种环境下运行,包括与Visual Studio 2015社区版配合使用。
- hashcat格式:输出的哈希值可以直接导入hashcat进行破解,简化了后续处理步骤。
虽然SharpRoast
不再维护,但其功能已整合到Rubeus
项目中。如果你正在寻找一个高效、灵活的Kerberoasting工具,Rubeus
无疑是最佳选择。