从ADCS证书服务器攻击中看集权安全(上)

在2021年的BlackHat大会上,由Will Schroeder和Lee Christensen发布了关于Active Directory Certificate Services 利用白皮书《Certified Pre-Owned - Abusing Active Directory Certificate Services》,其中包含了大量的针对ADCS的攻击手法,通过对ADCS的攻击,将域渗透的攻击面扩展到了最大。尽管ADCS并不是默认安装在域环境中,但是在一些大型企业的域环境中却被广泛部署。

本文分为上中下三篇,重点介绍如何在域环境中使用ADCS技术攻击域控制器,以及如何利用对象ACL来维持更高的权限。同时,我们将深入探讨ADCS的基础架构、攻击面以及后利用。这些内容将通过实战演练的方式进行讲解。

一、技术背景

1.什么是PKI?

公钥基础建设 (Public Key Infrastructure,简称PKI) 是一组由硬件、软件、参与者、管理者与流程组成的基础架构,其目的在于创造、管理、分配、使用、存储以及撤销数字证书。PKI依赖于经过身份验证的用户和受信任的资源之间的数字证书交换。可以使用证书来保护数据安全,并管理来自组织内外的用户和计算机的标识凭据。

2.什么是CA?

数字证书认证机构 (Certificate Authority,简称CA) 是负责签发证书、认证证书、管理已颁发证书的权威机构。它要制定政策和具体步骤来验证、识别用户身份,并对用户证书进行签名,以确保证书持有者的身份和公钥的拥有权。

3.什么是证书?

证书是一个小文件,此文件包含了公钥信息、拥有者身份信息、以及数字证书认证机构对这份文件的数字签名,以保证这个文件的整体内容正确无误。

拥有者凭此文件,可向电脑系统或者其他用户表明身份,从而获得对方的信任并授权访问或使用某些敏感的电脑服务。在证书注册过程中,客户端会生成公钥/私钥对,然后客户端将公钥发送到CA,而CA会确认客户端信息,用自己的私钥对其进行签名,随后再将包含客户端公钥的证书发送回客户端。

在概念上,证书相当于驾照,交警部门相当于CA。将身份信息与考核情况递交给交警部门,他们会给我们一个带有特有盖章的驾照,这样才可以开车上路。乘客会因为驾照而信任你的驾车技术,因为只有通过考核交警部门才会给你发驾照。如果严重违反了交通规则,你会被吊销驾照,不能开车载人。

4.什么是ADCS?

AD域作为当前企业的办公内网广泛应用的集权管理方案,其域控在AD域内扮演着“大脑”的角色,至关重要,而不少企业在会在安装AD域的同时安装ADCS证书服务器来管理证书,攻击者会针对ADCS来进行攻击从何获取域控权限,导致AD集权安全收到威胁。

5.搭建ADCS

搭建ADCS可参考文章https://learn.microsoft.com/zh-cn/windows-server/networking/core-network-guide/cncg/server-certs/install-the-certification-authority注意不要将证书服务器和域控搭建在一台主机上。

二、什么是证书模板?

证书模板定义了用户和设备如何根据模板来请求和使用企业CA颁发的证书。例如你可以创建一个模板来提供文件加密或电子邮件签名功能。CA依赖于ADDS来存储配置的模板。注意,只有在使用企业CA时才可以使用证书模板,这意味着,在使用独立CA时,必须手动创建每个证书请求,并添加需要在证书中包含的必须信息。

CA针对用户和计算机提供了模板,可以向证书模板分配相应的权限,以定义可以管理模板的人员、可以执行注册或自动注册的人员,以及默认的有效期和续订期。可以通过复制预定义的证书模板来应用其他修改

1.模板版本

Windows Server AD CS 中的 CA 支持四个版本的证书模板,它们具有以下功能差异:

  • 版本 1 模板。这些模板只允许修改与证书相关的权限。在安装 CA 时,默认情况下会创建版本 1 证书模板。
  • 版本 2 模板。利用这些模板,可以自定义其他设置,如有效期和续订期。这也是支持自动注册的最低版本。AD CS 的默认安装内容包含多个预配置的版本 2 模板。你可以创建版本 2 模板,也可以复制版本 1 证书模板来创建新的版本 2 模板。
  • 版本 3 模板。版本 3 证书模板支持下一代加密技术 (CNG)。CNG 支持高级加密算法。可以复制默认版本 1 和版本 2 模板,并将其升级到版本 3。使用版本 3 证书模板时,可以将 CNG 加密和哈希算法用于证书请求、颁发的证书,以及密钥交换和密钥存档方案的私钥保护。
  • 版本 4 模板。版本 4 证书模板支持加密服务提供程序 (CSP) 和密钥存储提供者。还可以将其配置为要求使用相同的密钥进行续订。

可以使用certtmlp.msc打开证书模板控制台,使用certsrv.msv打开证书颁发机构。

其中版本架构就是我们上面所说的模板版本,预期用途就是这个证书模板申请之后用来干什么,例如可以客户端身份验证、服务器身份验证等,如果要设置模板特定用途可以右击模板属性在应用程序策略中添加或删除证书模板用途。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值