Certiception 是一个用于 Active Directory 证书服务(ADCS)的蜜罐,旨在通过逼真且极具吸引力的诱饵来诱捕攻击者,并触发高度相关的警报。
由 SRLabs 红队开发,Certiception 会在您的 ADCS 环境中创建一个看似存在漏洞的证书模板,设置限制以防止被利用,并帮助您建立有效的告警机制。
最初在 Troopers24 大会上发布,Certiception 附带一份关于有效欺骗的策略指南:红队欺骗指南
tl;dr:从攻击者的角度来看:看起来有漏洞,利用却会失败。

在我们的红队和事件管理项目中,我们经常观察到横向移动和权限提升未被检测到的情况。 即使检测被触发,也往往得不到及时响应,因为误报太常见了。 我们相信内部蜜罐(又称金丝雀,又称欺骗技术)是防御者捕获突破初始防线威胁的有效方式。
内部蜜罐是部署在您网络中的、有意设置的攻击者陷阱。 它们看起来存在漏洞,但在被利用时会触发警报。以下是我们认为欺骗技术潜力巨大的原因:
尽管潜力巨大,我们仍经常遇到从根本上就无效的欺骗配置。 为了帮助防御者创建更有效的蜜罐,Certiception 附带了一份详尽的欺骗策略指南。
Active Directory 证书服务(ADCS)是放置蜜罐的理想位置:
这就是我们构建 Certiception 的原因。
Certiception 会在您的环境中设置一个新的证书颁发机构(CA),并配置一个 ESC1 蜜罐。
它以一个 Ansible playbook 的形式实现,调用多个角色。总体而言,会执行以下步骤:
CA 或模板名称等参数可以自定义,以伪装蜜罐。
这就是 Certiception 的工作方式:

未来计划支持其他类型的 ESC 漏洞,并支持向现有 CA 添加蜜罐模板。
Certiception 使用 CA 内置的 Windows 事件以及 TameMyCerts 策略模块生成的事件。 为了获取包含所需信息的内置 CA 事件,Certiception 会在蜜罐 CA 服务器上启用扩展审核日志。
我们建议对严重和中等事件进行告警:
Certiception 会为这两种不同的警报输出可直接使用的 SIGMA 规则。 您只需确保相应的事件 ID 已接入您的 SIEM,然后使用 SIGMA 规则设置告警。
未来的版本可能会引入新的或额外的 SIGMA 规则。
请按照以下步骤设置您的 ADCS 蜜罐。
注意:我们仍在改进不同测试实验室环境中设置任务所用账户的稳定性。如果您想尝试,最好再等一周 :)
inventory 中配置您的常规域和 Ansible 连接参数host_vars/honeypotCA.yml 中自定义蜜罐的参数ansible-playbook -i inventory playbooks/certiception.yml
此工具按现状提供,不附带任何保证或担保。 它组合了现有软件,并自动化了安装和配置过程。 您需对 Certiception 执行的所有安装和配置步骤负责。
如果您使用此工具,我们强烈建议您阅读源代码,以了解您配置的内容,并在安装后验证您的设置。
此外,我们建议您考虑以下几点:

| 事件来源 | 事件 ID | 警报 |
|---|
| TameMyCerts | 6 – 因策略违规而拒绝 CSR | 严重 - 尝试通过 SAN 进行利用 |
| Windows 安全日志 | 4886 – 请求证书注册 | 中等 - 使用了蜜罐模板 |
| Windows 安全日志 | 4887 – 已颁发证书 | 不使用,4886 覆盖范围更广 |
| Windows 安全日志 | 4888 – 证书请求被拒绝 | 不使用,当颁发因非恶意原因失败时,TameMyCerts 6 更精确 |