Skip to main content

ADCS

ADCS 的利用,是这几年里较新的利用手段。因此,我们也需要对 ADCS 进行枚举。ADCS(Active Directory 证书服务)是 Microsoft 的 PKI 实现,可与现有的 Active Directory 森林集成,从而实现数字证书的创建和管理。这些证书具有多种功能,如对用户进行身份验证,对文件和通信进行加密,提供数字签名以及验证电子文档。ADCS 使管理员能够建立并监督他们的证书颁发机构(CA),以向组织内的用户、计算机和其他资源颁发数字证书。与使用外部证书提供商相比,这种方法被认为更安全、更高效。

然而,同其他技术一样,不当的配置会引入可被利用的风险因素。在 ADCS 的上下文中,可以导致特权提升 (普通域用户甚至可以提升至域管理员) 以及持久化。我们可以使用工具 Certify (https://github.com/GhostPack/Certify) 来枚举域内的ADCS。


枚举CA

我们可以用 certify.exe 以及 cas 选项来枚举域内的 CA。

certify.exe cas

不过,white-bird 域中并没有 ADCS 服务,因此也没有 CA 的存在。

image.png

对于 PROD 以及 RAVEN-MED 也一样。

image.png

实际上,med-factory 域中存在 ADCS 服务。我们发现,172.16.1.32 这台内部主机,即 Cert01 开放了 80 端口,是个 HTTP 服务。

image.png

当我们访问终端 certsrv,发现需要验证,虽然我们还没有有效的凭证,但是这证明了 Med-factory 确实存在着 ADCS 服务,而 Cert01 提供了 ADCS 的 Web 终端。

image.png

RAVEN-MED 森林被 Med-factory 信任,因此我们需要一个有效的 RAVEN-MED 森林中的帐号来跨域枚举 Med-factory 的 ADCS 信息。

 

枚举脆弱的证书模板

certify.exe find /vulnerable


枚举允许客户认证的模板

certify.exe find /clientauth /ca: [ca] 


枚举ADCS网页终端

http(s)://[主机名]/certsrv