AD CS证书攻击与防御:ESC1

简介

2021年的BlackHat大会上,Will Schroeder和Lee Christensen发布了关于Active Directory Certificate Services 利用白皮书《Certified Pre-Owned - Abusing Active Directory Certificate Services》。
攻击对象为AD CS,攻击手法主要是利用证书模版配置、证书模版访问权限配置,PKI访问权限配置和CA访问权限配置错误,导致的windows域内权限提升或持久化。

条件

  • 攻击者已拿下域内一个低权限账户
  • 存在错误配置且已发布的证书
    (1) 颁发CA授予低权限用户读取权限(默认)
    (2) 模板中CA管理员审批未启用(默认)
    (3) 模板中不需要授权的签名(默认)
    (4) 模板允许低权限用户注册
    (5) 模板定义了启用认证的EKU
    (6) 证书模板允许请求者在请求中中指定一个SAN
  • AD: 支持PKINIT扩展认证(client通过证书进行kerberos认证,可选)

过程

  1. AD CS配置存在漏洞的证书: certsrv.msc->证书模版->右键管理
    在这里插入图片描述
  2. 复制现有的User证书,将新证书配置如下
    在这里插入图片描述
  3. 回到证书模版界面,右边空白处右键,新建->要颁发的证书模版,选择启用刚刚创建的ESC1证书模版
    在这里插入图片描述
  4. Certify find /vulnerable, 寻找错误配置证书ESC1
    在这里插入图片描述
  5. certipy req -username test@hack.com -password xxx -ca hack-2012-DC-CA -target 2012-DC.hack.com -template ESC1 -upn test2@hack.com
    在已获得域用户账户密码情况下,利用存在配置错误的ESC1证书模版,使用-upn参数指定要伪造的用户(此处test2为域管)
    在这里插入图片描述
  6. certipy auth -pfx test2.pfx -dc-ip 192.168.190.142, 利用已获取的test2域管证书拿其TGT,此时会出现error,表示kdc不支持通过证书进行kerberos认证(默认也没开启)
    在这里插入图片描述
  7. 可选择去域控上,组策略管理器->计算机配置->策略->管理模版->系统->KDC,开启PKINIT认证
    在这里插入图片描述
  8. certipy auth -pfx test2.pfx -dc-ip 192.168.190.142 -kirbi,获取域管test2的tgt。拿到域管tgt后的利用不再赘述
    在这里插入图片描述
  9. .另外,实战中不能改预控配置情况下,可选择使用ldaps进行证书验证(Active Directory supports certificate authentication over two protocols by default: Kerberos and Secure Channel (Schannel). One protocol that supports client authentication via Schannel is LDAPS (LDAP over SSL/TLS))
    在这里插入图片描述
  10. 工具默认支持对创建新用户,将用户加入组,改用户密码等。成功新建用户test_ldap,并加入域管组
    在这里插入图片描述
    在这里插入图片描述

防御

  1. 证书模版配置正确,另外也需确保证书模版访问权限,PKI访问权限,CA访问权限配置无误
  2. 日志开启
    win默认不开启证书相关日志审核,需要在AD CS服务器上,certsrv.msc中,右键左侧的CA名->属性->审核中勾选上要审核的事件
    在这里插入图片描述
  3. 日志监控
    可重点监控4886和4887相关折证书申请和签发日志
    在这里插入图片描述
    在这里插入图片描述
    其他event id:
    (1) Certificate设置相关更改
    	Windows    4873: A certificate request extension changedWindows    4873: A certificate request extension changedWindows    4873: A certificate request extension changedWindows    4899: A Certificate Services template was updatedWindows    4900: Certificate Services template security was updated
    

(2) Certificate申请

	    Windows    4868: The certificate manager denied a pending certificate requestWindows    4869: Certificate Services received a resubmitted certificate requestWindows    4886: Certificate Services received a certificate requestWindows    4887: Certificate Services approved a certificate request and issued a certificateWindows    4888: Certificate Services denied a certificate requestWindows    4898: Certificate Services loaded a template

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/160916.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

045_第三代软件开发-U盘监测

第三代软件开发-U盘监测 文章目录 第三代软件开发-U盘监测项目介绍U盘监测原理解释源代码 关键字: Qt、 Qml、 USB、 Disk、 文件 项目介绍 欢迎来到我们的 QML & C 项目!这个项目结合了 QML(Qt Meta-Object Language)和…

BO(Business Object)是一种用于表示业务对象的设计模式

BO是 Business Object 的缩写,是一种用于表示业务对象的设计模式。在Java中,BO的主要作用是 封装业务逻辑,实现业务流程的可重用性和可维护性。 BO主要有以下几个作用: 实现业务逻辑的封装:将业务逻辑封装在BO对象中&a…

城市内涝怎么预警?万宾科技内涝积水监测仪

在城市运行过程中,城市内涝问题频繁出现,影响城市管理水平的提升,也会进一步减缓城市基础设施建设。尤其近几年来,城市内涝灾害频繁出现,在沿海地区内涝所带来的安全隐患成为城市应急管理部门的心头大患。城市内涝的背…

【Linux进行时】磁盘文件结构

磁盘 上篇文章,我们提及文件是存放在磁盘当中,本篇文件我们来了解一下磁盘的结构!!! 磁盘的概念: ❓什么是磁盘? 💡磁盘(disk)是指利用磁记录技术存储数据…

Spring基础

文章目录 Spring基础IoC容器基础IoC理论第一个Spring程序Bean注册与配置依赖注入自动装配生命周期与继承工厂模式和工厂Bean注解开发 AOP面向切片配置实现AOP接口实现AOP注解实现AOP Spring基础 Spring是为了简化开发而生,它是轻量级的IoC和AOP的容器框架&#xff…

【排序算法】 计数排序(非比较排序)详解!了解哈希思想!

🎥 屿小夏 : 个人主页 🔥个人专栏 : 算法—排序篇 🌄 莫道桑榆晚,为霞尚满天! 文章目录 📑前言🌤️计数排序的概念☁️什么是计数排序?☁️计数排序思想⭐绝对…

年终述职技巧

一个共识 给个交代 复盘 给自己的交代 展示 给公司的交代 三维构思法 认知与成长 以己为师 萃取与迭代 以事为师 响应与前瞻 以人为师(“作者视角”转变为“观众视角”,听懂、感兴趣、认可、有收获) 六点通关术 论证价值点 工作成果&#x…

100量子比特启动实用化算力标准!玻色量子重磅发布相干光量子计算机

2023年5月16日,北京玻色量子科技有限公司(以下简称“玻色量子”)在北京正大中心成功召开了2023年首场新品发布会,重磅发布了自研100量子比特相干光量子计算机——“天工量子大脑”。 就在3个月前,因“天工量子大脑”在…

数字化饲料工厂中常见的系统及其介绍

数字化饲料工厂是基于先进技术和数字化平台构建的现代化饲料生产系统,它包含了多种软件、硬件和基础设施系统。以下是数字化饲料工厂中常见的系统及其介绍: 一、自动化控制系统:包括PLC(可编程逻辑控制器)系统、SCADA&…

Voice vlan、ICMP、单臂路由、mux-vlan

目录 一,Voice VLAN Voice vlan配置命令 一,问:已知网络中一台服务器的IP地址,如何找到这太服务器在哪台交换机的哪个接口上​编辑 思路: 二,ICMP协议 三,ICMP案例分析​编辑 四&#xf…

SIP 系统容器化实践

由于SIP系统相对成熟,目前互联网上的SIP系统方案大多数都是基于虚拟机来实现的。 本文是基于容器化实现SIP系统的方案以及遇到的问题总结。 本文会展示两个系统的SIP实现,分别是智能语音机器人和CTI系统,不会涉及太多的业务,只是对…

『精』Vue 组件如何模块化抽离Props

『精』Vue 组件如何模块化抽离Props 文章目录 『精』Vue 组件如何模块化抽离Props一、为什么要抽离Props二、选项式API方式抽离三、组合式API方式抽离3.1 TypeScript类型方式3.2 文件分离方式3.3 对文件分离方式优化 参考资料💘推荐博文🍗 一、为什么要抽…