内网安全之注册和查看证书

注册证书

如图所示,是 Will Schroeder 和 Lee Christensen 发布的 Certified_Pre-Owned 白皮书里面画的证书注册流程:

从图中我们可以看到,证书注册流程如下:

  1. 客户端生成一对公、私钥。
  2. 客户端生成证书签名请求(CSR,Certificate Signing Request),里面包含客户端生成的公钥以及请求的证书模板、请求的主体等信息。整个 CSR 用客户端的私钥签名,发送给 CA。
  3. CA 收到请求后,从中取出公钥对 CSR 进行签名校验。校验通过后判断客户端请求的证书模板是否存在,如果存在,根据证书模板中的属性判断请求的主体 是否有权限申请该证书。如果有权限,则还要根据其他属性来校验,如:发布要求、使用者名称、扩展来生成证书。
  4. CA 使用其私钥签名生成的证书并发送给客户端。
  5. 客户端存储该证书在系统中。

注册证书权限

不同模板的证书具有不同的权限,查看证书模板的安全属性,可以看到不同主体对其具有的权限。比如完全控制权限、读取权限、写入权限、注册权限等。

如下是计算机证书模板的属性,可以看到域内所有机器都对其具有注册权限。

如下是用户证书模板的属性,可以看到域内所有用户都对其具有注册权限。

注册证书方式

客户端可以根据ADCS环境的配置选择不同方式注册证书:

  1. 使用 Windows 客户端证书注册协议(MS-WCCE),这是一组分布式组件对象模型(DCOM)接口,可与 ADCS 进行交互。DCOM 服务器默 认在所有 ADCS 服务器上启用,这也是客户端申请证书的最常用方法。
  2. 通过 ICertPassage 远程协议(MS-ICPR),一种可以在命名管道或 TCP/IP 上运行的 RPC 协议。
  3. 访问证书注册 Web 界面。要使用此功能,ADCS 服务器需要安装并 配置 "证书颁发机构 Web 注册" 角色。启用后,用户可以导航到 http:///certsrv/,以访问 AD CS 服务器上通过 IIS 托管的 ASP Web 注册应用程序。
  4. 与证书注册服务(CES)交互。要使用此功能,服务器需要安装 "证书注册 Web 服务" 角色。启用后,用户可以通过 https:///_CES_Kerberos/service.svc 访问 Web 服务以请求证书。此服务与证书注册策略(CEP)服务(通过证书注册策略 Web 服务角色安装)协 同工作,客户端使用该服务在 URLhttps:///ADPolicyProvider_CEP_Kerberos/service.svc 中列出证书模板。
  5. 使用网络设备注册服务。要使用它,服务器需要安装 "网络设备注册服务" 角色,它允许客户端(即网络设备)通过简单证书注册协议 (SCEP)获取证书。启用后,管理员可以在 URL http:///CertSrv/mscep_admin/ 中获取一次性密码(OTP)。然后管理员 可以将 OTP 提供给网络设备,该设备将使用 SCEP 通过 URLhttp://NDESSERVER/CertSrv/mscep/ 请求证书。

图形化注册证书

域内机器可以使用 certmgr.msc(管理用户证书)命令或 certlm.msc(管理机器 证书)命令图形化申请证书。

certmgr.msc 命令是用于管理用户证书。

certlm.msc 命令是用于管理机器证书。

web接口注册证书

如果在安装 ADCS 服务的时候,勾选了"证书颁发机构 Web 注册"选项,那么则可以通过 Web 方式来申请证书。

访问问 ADCS 证书服务器的/Certsrv 路径即可看到该注册接口,需要输入有效的账号密码进行认证。这里我们输入域用户 hack 和密码进行登录。

输入了有效的账号密码后,即可看到申请证书等功能,点击申请证书

点击高级证书申请

然后到了提交证书申请页面,这里需要在框中输入证书申请。

这里的证书申请可以执行如下命令来进行证生成

复制代码
openssl req -new -SHA256 -newkey rsa:4096 -nodes -keyout tmac.com.key -o ut www.tmac.com.csr -subj "/C=CN/ST=Beijing/L=Beijing/O=jishu/OU=sec/CN=www.tmac.com"


或者访问在线页面进行生成:https://myssl.com/csr_create.html

此时只需要将 www.tmac.com.ser 文件的证书申请请求内容复制粘贴即可。

或者在线网页的所生成的 CSR 文件内容复制粘贴即可。

点击提交

可以看到申请的证书已经颁发,点击下载证书即可下载证书文件。

使用命令certsrv.msc打开CA证书颁发机构即可看到颁发的证书

工具申请证书

certipy
复制代码
#用户请求证书
certipy req -u hack@tmac.com -p admin@123 -dc-ip 192.168.1.11 -target 192.168.1.12 -ca tmac-SERVER12-CA -template User -debug

#机器请求证书
certipy req -u machine\$ -p root -dc-ip 192.168.1.11 -target 192.168.1.12 -ca tmac-SERVER12-CA -template Machine -debug
certify
复制代码
#在域内机器执行,以当前登录的用户权限申请证书
Certify.exe request /ca:WIN-3EAQBB8A70H.tmac.com\tmac-SERVER12-CA /template:User
#在域内机器执行,以当前登录的用户权限伪造 administrator 用户申请证书
Certify.exe request /ca:WIN-3EAQBB8A70H.tmac.com\tmac-SERVER12-CA /template:ESC1 /altname:tmac\Administrator

查看证书

图形化查看

复制代码
#查看用户证书
certmgr.msc
#查看机器证书
certlm.msc

查看用户证书

查看机器证书

certutil查看

复制代码
#查看用户证书
certutil -user -store My 
#查看机器证书
certutil -store My

用户证书

机器证书

Seatbelt查看

项目地址:https://github.com/GhostPack/Seatbelt

执行如下命令查看当前机器上的用户证书和机器证书。

复制代码
Seatbelt.exe Certificates
相关推荐
用户962377954481 天前
DVWA 靶场实验报告 (High Level)
安全
数据智能老司机1 天前
用于进攻性网络安全的智能体 AI——在 n8n 中构建你的第一个 AI 工作流
人工智能·安全·agent
数据智能老司机1 天前
用于进攻性网络安全的智能体 AI——智能体 AI 入门
人工智能·安全·agent
用户962377954481 天前
DVWA 靶场实验报告 (Medium Level)
安全
red1giant_star1 天前
S2-067 漏洞复现:Struts2 S2-067 文件上传路径穿越漏洞
安全
用户962377954482 天前
DVWA Weak Session IDs High 的 Cookie dvwaSession 为什么刷新不出来?
安全
cipher3 天前
ERC-4626 通胀攻击:DeFi 金库的"捐款陷阱"
前端·后端·安全
一次旅行6 天前
网络安全总结
安全·web安全
red1giant_star6 天前
手把手教你用Vulhub复现ecshop collection_list-sqli漏洞(附完整POC)
安全
ZeroNews内网穿透6 天前
谷歌封杀OpenClaw背后:本地部署或是出路
运维·服务器·数据库·安全