ADCSKiller核心原理剖析:如何自动化枚举域管理员和证书颁发机构
ADCSKiller核心原理剖析:如何自动化枚举域管理员和证书颁发机构
【免费下载链接】ADCSKillerAn ADCS Exploitation Automation Tool Weaponizing Certipy and Coercer项目地址: https://gitcode.com/gh_mirrors/ad/ADCSKiller
ADCSKiller是一款专业的Active Directory证书服务自动化攻击工具,它巧妙地将Certipy和Coercer的强大功能整合在一起,为安全研究人员提供了完整的ADCS漏洞利用解决方案。这个工具能够自动化执行域管理员枚举、证书颁发机构发现以及关键漏洞利用,极大地简化了ADCS基础设施的安全评估流程。🎯
ADCSKiller自动化攻击流程解析
ADCSKiller的核心原理基于一个精心设计的自动化工作流,通过adcskiller.py主程序文件实现完整的攻击链。工具首先建立与目标域的连接,然后逐步执行多个关键步骤来发现和利用安全漏洞。
域管理员自动化枚举技术
在Active Directory安全评估中,识别域管理员账户是攻击的关键第一步。ADCSKiller通过LDAP协议智能查询域控制器,自动发现所有具有域管理员权限的用户账户。这一过程在get_domain_admins()方法中实现,工具会:
- 获取域SID(安全标识符)
- 查询域管理员组的通用名称
- 枚举组内所有成员账户
# 从adcskiller.py中提取的域管理员枚举逻辑 response = execute_ldap_search(f'{self.__domain_cn}', f'(&(objectCategory=group)(cn={self.__domain_admins_cn}))', ['member'])这种自动化枚举不仅节省了手动查询的时间,还能确保不会遗漏任何具有管理员权限的账户。
证书颁发机构智能发现机制
ADCSKiller利用Certipy的强大功能来发现和评估证书颁发机构的安全性。通过get_certipy_results()方法,工具能够:
- 扫描所有可访问的证书颁发机构
- 识别易受攻击的证书模板
- 评估ESC1和ESC8等关键漏洞
工具会生成详细的JSON报告,记录所有发现的证书模板及其安全配置,为后续的漏洞利用提供数据支持。
ESC1和ESC8漏洞自动化利用
ESC1漏洞自动化攻击流程
ESC1(ESCALATION1)漏洞允许攻击者通过配置不当的证书模板获取域管理员权限。ADCSKiller自动化执行以下步骤:
- 识别允许任意主体注册的证书模板
- 验证模板是否配置了域控制器身份验证
- 自动请求并获取特权证书
ESC8中继攻击自动化实现
ESC8漏洞涉及HTTP到LDAP的中继攻击,ADCSKiller通过集成Coercer工具实现自动化攻击链:
# Coercer线程类的实现 class Coercer(threading.Thread): def run(self): subprocess.run(["Coercer", "coerce", "-u", self.username, "-p", self.password, "-d", self.domain, "-t", self.target_dc, "-l", self.lhost, "--always-continue"], capture_output=True, text=True)这种多线程设计允许工具同时处理多个攻击向量,提高了攻击效率和成功率。
工具配置与使用指南
快速安装部署步骤
要使用ADCSKiller,需要先安装依赖工具。从requirements.txt文件中可以看到所需的Python包:
# 安装Certipy和Coercer依赖 git clone https://github.com/ly4k/Certipy && cd Certipy && python3 setup.py install git clone https://github.com/p0dalirius/Coercer && cd Coercer && pip install -r requirements.txt核心参数配置说明
ADCSKiller提供了直观的命令行接口,主要参数包括:
-d DOMAIN:目标域名(使用完全限定域名)-u USERNAME:认证用户名-p PASSWORD:认证密码-dc-ip TARGET:域控制器IP地址-L LHOST:监听主机FQDN
这些参数在Exploit类的__init__方法中初始化,确保工具能够正确连接到目标环境。
安全防御与最佳实践
针对ADCSKiller的防御策略
了解ADCSKiller的攻击原理后,组织可以采取以下防御措施:
- 证书模板安全配置:限制证书模板的注册权限,避免任意主体注册
- 网络分段与监控:监控证书颁发机构的异常访问模式
- 定期安全审计:使用类似工具进行红队测试,发现配置漏洞
安全测试最佳实践
在进行安全测试时,建议:
- 在隔离的测试环境中验证工具功能
- 获取明确的授权和书面许可
- 遵循负责任的披露流程
- 记录所有测试活动和发现
未来功能展望
根据项目中的TODO列表,ADCSKiller计划增加更多功能:
- DCSync权限枚举和利用
- ESC2到ESC7漏洞的完整支持
- 自动化ADIDNS条目添加
- 改进的认证机制支持
这些增强功能将使ADCSKiller成为更全面的ADCS安全评估工具。
总结
ADCSKiller通过自动化整合Certipy和Coercer的核心功能,为安全专业人员提供了强大的ADCS漏洞评估能力。工具的设计注重实用性和效率,能够快速识别域环境中的安全弱点。了解其工作原理不仅有助于防御此类攻击,也为安全团队提供了宝贵的红队测试工具。🔒
无论是进行渗透测试还是安全加固,ADCSKiller都是一个值得深入研究和使用的专业工具。通过掌握其核心原理,安全团队可以更好地保护组织的Active Directory证书服务基础设施。
【免费下载链接】ADCSKillerAn ADCS Exploitation Automation Tool Weaponizing Certipy and Coercer项目地址: https://gitcode.com/gh_mirrors/ad/ADCSKiller
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考