尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

certsync局限性解析:为什么被吊销用户无法Dump?边界条件与失败场景全清单

certsync局限性解析:为什么被吊销用户无法Dump?边界条件与失败场景全清单 certsync局限性解析为什么被吊销用户无法Dump边界条件与失败场景全清单【免费下载链接】certsyncDump NTDS with golden certificates and UnPAC the hash项目地址: https://gitcode.com/gh_mirrors/ce/certsynccertsync 是一款开源的 NTDS 远程 Dump 工具它不走传统的 DRSUAPI 通道而是利用黄金证书Golden Certificate UnPAC the hash技术仅凭 CA 管理员权限即可远程导出 AD 域内用户的 NT/LM 哈希。本文不重复讲解攻击流程而是聚焦一个新手最容易踩的坑certsync 的局限性——为什么被吊销revoked的用户无法被 Dump以及完整的边界条件与失败场景清单帮你在实战和复现前先判断能不能打。certsync 为什么值得关注传统 NTDS Dump 依赖 DRSUAPI 接口如今已被 EDR 方案重点监控甚至直接拦截。certsync 的思路完全不同通过 LDAP 收集用户列表、CA 信息与 CRL证书吊销列表Dump CA 证书与私钥利用 certutil 备份 CA PKI离线伪造每个用户的 PKINIT 证书PKINIT UnPAC the hash让 KDC 在认证过程中泄露每个用户的 NT/LM 哈希核心优势不需要域管理员只需要 AD 域中部署了企业 CAADCS、PKINIT 处于启用状态且你的账号是 ADCS 服务器的本地管理员或已导出 CA 证书与私钥。整个攻击流程的实现集中在certsync/entry.py中的CertSync.run()方法README.md 的 Requirements 一节明确了三个前提条件可作为可行性自检表使用。核心问题为什么被吊销用户无法 Dump这是 certsync 唯一被官方文档明确写下的硬性局限README.md 的 Limitations 一节Since we cannot PKINIT for users that are revoked, we cannot dump their hashes.原因在于PKINIT 的证书验证机制certsync 虽然能伪造出指向任意用户 UPN 的证书SAN 里写谁就是谁但 KDC 收到 PKINIT 认证请求后会验证证书链的有效性并检查CRL证书吊销列表如果目标用户已被吊销、账户处于被撤销/禁用状态KDC 会直接拒绝认证根本走不到泄露哈希这一步UnPAC the hash 依赖的是 KDC 内存中该账户的哈希参与认证过程认证被拒 无哈希可拿。从代码层面看certsync/entry.py中User.auth()与run()的循环每个用户认证失败时工具只会静默跳过把失败计入not_synced计数器且汇总信息仅在开启-debug时才会打印一行[*] users dumped. N users could not be dumped.也就是说——工具不会告诉你哪个用户失败、为什么失败这是新手复现时最容易困惑的一点。边界条件与失败场景全清单 结合certsync/entry.py的源码逻辑与 README 的 Requirements/OPSEC 说明整理出以下失败场景按攻击链四个阶段分类阶段一LDAP 侦察场景表现原因/排查过滤条件查不到用户报错No users found in LDAP后直接退出默认过滤器只匹配 person/computer 类可用-ldap-filter调整LDAP 连接失败无法进入下一步默认走ldaps加密方案需证书信任也可用-scheme ldap切换域内没有 ADCS报错No CA found in LDAP没有企业 CA 则整条攻击链不成立这是最硬的边界域内存在多个 CA进入交互式选择脚本会要求手动输入序号无法全自动执行阶段二CA 证书与私钥获取场景表现原因/排查无 CA 管理员权限备份服务创建/启动失败需要 ADCS 服务器本地管理员无权限时只能改用-ca-pfx提供已导出的 CA 密钥EDR 拦截服务创建certutil 备份失败工具通过 SCM 远程创建Certipy服务执行certutil -backupkey是典型被监控行为提供的 PFX 文件无效报错No CA certificate and private key loaded. Abort...-ca-pfx指向的文件必须包含完整证书链和私钥阶段三离线伪造证书耗时问题默认所有伪造证书共享同一把私钥、序列号与有效期速度快但特征明显加-randomize后逐个随机生成耗时显著增加模板问题-template指定的证书若无效或扩展不合规会导致后续 PKINIT 全部失败伪造阶段本身不会失败——证书在本地签出即可失败只会在最后认证阶段集中爆发。阶段四PKINIT UnPAC失败重灾区场景结果用户被吊销/账户禁用该用户静默失败无哈希输出核心局限PKINIT 未启用全体用户失败攻击整体不成立KDC 拒绝/网络阻断 88 端口认证超时计入失败数默认-timeout 0 -jitter 0连续高频请求极易触发风控/日志告警属于 OPSEC 层面的失败-k模式下 ccache 凭证无效需显式指定-kdcHost否则构造 Target 时直接抛异常⚠️ 一句话总结失败特征只要工具在第四步开始逐用户输出哈希说明攻击链已打通输出行数少于 LDAP 用户数且无任何报错时差额就是被吊销/失效的用户需开-debug才能确认数量。给防守方的启示 ️certsync 的局限恰好暴露了防守要点CRL 机制是天然防线及时吊销离职/可疑账户的证书可让该账户在 PKINIT 通道上免疫ADCS 最小权限CA 管理员权限等于 NTDS Dump 权限必须收敛监控 certutil 与 SCM 异常行为远程创建服务执行certutil -backupkey是高置信度告警点审计 PKINITKDC 侧对证书认证做审计异常 UPN 模式大量不同用户证书、相同序列号特征值得告警。参考文件 攻击主流程与失败计数逻辑certsync/entry.py局限性、前提条件与 OPSEC 选项说明README.md依赖声明基于 certipy-ad与版本信息pyproject.toml打包构建配置Makefile理解这些边界条件后你在评估 certsync 是否适用于某个目标环境时就能先回答有没有 CA、PKINIT 开没开、目标用户状态是否正常三个问题避免在无效的链路上浪费时间。【免费下载链接】certsyncDump NTDS with golden certificates and UnPAC the hash项目地址: https://gitcode.com/gh_mirrors/ce/certsync创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表