TryHackMe-AD证书模板

研究发现配置错误的AD证书模板可能导致权限提升和横向移动,允许低权限用户轻易获取企业域管理员权限。攻击者可利用证书模板的毒性参数组合,包括客户端身份验证和自定义主题备用名称,实现持久化访问。利用sysinternals工具包的certutil枚举证书模板,寻找特定权限和设置,如允许客户端身份验证的EKU和自定义SAN,是检测此类漏洞的关键。
摘要由CSDN通过智能技术生成

AD Certificate Templates

SpecterOps 完成并作为白皮书发布的研究表明,可以利用配置错误的证书模板进行权限提升和横向移动。根据错误配置的严重性,它可能允许 AD 域上的任何低特权用户只需单击几下即可将其权限提升为企业域管理员的权限!

简介

在之前,我们利用AD证书来进行权限提升和持久化

ADCS是微软的公钥基础设施(PKI)实现。由于AD在组织中提供了一定程度的信任,因此它可以用作CA来证明和委托信任。AD CS用于多种用途,例如加密文件系统,创建和验证数字签名,甚至用户身份验证,这使其成为攻击者的有前途的途径。

我们不但能利用证书的缺陷进行权限提升。就像域持久化当中所说的,我们通过伪造根证书以让我们保持域访问权限,并且不受凭据轮换影响,由于伪造的证书不由CA颁发,所以根本无法将其吊销,只能吊销其被恶意利用的证书。

摘自 SpecterOps 白皮书

组织往往太大,无法让管理员手动创建和分发每个证书。这就是证书模板的用武之地。AD CS 的管理员可以创建多个模板,这些模板可以允许具有相关权限的任何用户自行请求证书。这些模板具有指示哪个用户可以请求证书以及所需内容的参数。SpecterOps发现,这些参数的特定组合可能具有令人难以置信的毒性,并被滥用于权限提升和持久访问!

证书模板枚举

我们可以利用sysinternels工具包的certutil来获取证书模板信息

certutil -v -template

我们正在寻找的特定毒性参数集具有以下内容:

  • 我们具有请求证书的相关权限或我们拥有具有这些权限的帐户的模板
  • 允许客户端身份验证的模板,这意味着我们可以将其用于 Kerberos 身份验证
  • 允许我们更改主题备用名称 (SAN) 的模板

相关权限

我们需要具有生成证书请求的权限才能使此漏洞利用起作用。它通常以AD组为单位分配权限

在这里插入图片描述

查看所有证书权限通常是明智的,因为它可能会将指向一个可以泄露的帐户的方向。

客户端身份验证

我们应该寻找具有Client Authentication的EKU, 因为该EKU允许我们利用其进行kerberos身份验证, 还有其他方法可以利用证书,但对于这个房间,这个 EKU 将是主要关注点。

在这里插入图片描述

指定SAN

我们需要验证模板是否允许我们(证书客户端)指定主题备用名称 (SAN)。SAN 通常类似于我们要加密的网站的 URL。例如:tryhackme.com。但是,如果我们有能力控制 SAN,我们就可以利用证书为我们选择的任何 AD 帐户实际生成 kerberos 票证

获取应设置为 1 的CT_FLAG_ENROLLEE_SUPPLIES_SUBJECT 属性标志。这表明我们可以自己指定 SAN

从certutil导出的证书模板当中,我们找到这么一个模板

  Template[31]:
  TemplatePropCommonName = UserRequest
  TemplatePropFriendlyName = User Request
  TemplatePropEKUs =
3 ObjectIds:
    1.3.6.1.5.5.7.3.2 Client Authentication
    1.3.6.1.5.5.7.3.4 Secure Email
    1.3.6.1.4.1.311.10.3.4 Encrypting File System

  TemplatePropCryptoProviders =
    0: Microsoft Enhanced Cryptographic Provider v1.0

  TemplatePropMajorRevision = 64 (100)
  TemplatePropDescription = User
  TemplatePropSchemaVersion = 2
  TemplatePropMinorRevision = a (10)
  TemplatePropRASignatureCount = 0
  TemplatePropMinimumKeySize = 800 (2048)
  TemplatePropOID =
    1.3.6.1.4.1.311.21.8.13251815.15344444.12602244.3735211.11040971.202.13950390.3651808 User Request

  TemplatePropV1ApplicationPolicy =
3 ObjectIds:
    1.3.6.1.5.5.7.3.2 Client Authentication
    1.3.6.1.5.5.7.3.4 Secure Email
    1.3.6.1.4.1.311.10.3.4 Encrypting File System

  TemplatePropEnrollmentFlags = 19 (25)
    CT_FLAG_INCLUDE_SYMMETRIC_ALGORITHMS -- 1
    CT_FLAG_PUBLISH_TO_DS -- 8
    CT_FLAG_AUTO_ENROLLMENT_CHECK_USER_DS_CERTIFICATE -- 10 (16)

  TemplatePropSubjectNameFlags = 1
    CT_FLAG_ENROLLEE_SUPPLIES_SUBJECT -- 1

  TemplatePropPrivateKeyFlags = 1010010 (16842768)
    CTPRIVATEKEY_FLAG_EXPORTABLE_KEY -- 10 (16)
    CTPRIVATEKEY_FLAG_ATTEST_NONE -- 0
    TEMPLATE_SERVER_VER_2003<<CTPRIVATEKEY_FLAG_SERVERVERSION_SHIFT -- 10000 (65536)
    TEMPLATE_CLIENT_VER_XP<<CTPRIVATEKEY_FLAG_CLIENTVERSION_SHIFT -- 1000000 (16777216)

  TemplatePropGeneralFlags = 2023a (131642)
    CT_FLAG_ADD_EMAIL -- 2
    CT_FLAG_PUBLISH_TO_DS -- 8
    CT_FLAG_EXPORTABLE_KEY -- 10 (16)
    CT_FLAG_AUTO_ENROLLMENT -- 20 (32)
    CT_FLAG_ADD_TEMPLATE_NAME -- 200 (512)
    CT_FLAG_IS_MODIFIED -- 20000 (131072)

  TemplatePropSecurityDescriptor = O:LAG:S-1-5-21-3330634377-1326264276-632209373-519D:PAI(OA;;RPWPCR;0e10c968-78fb-11d2-90d4-00c04f79dc55;;DA)(OA;;RPWPCR;0e10c968-78fb-11d2-90d4-00c04f79dc55;;DU)(OA;;RPWPCR;0e10c968-78fb-11d2-90d4-00c04f79dc55;;S-1-5-21-3330634377-1326264276-632209373-519)(OA;;CR;0e10c968-78fb-11d2-90d4-00c04f79dc55;;AU)(OA;;CR;a05b8cc2-17bc-4802-a710-e7c15ab866a2;;AU)(A;;CCDCLCSWRPWPDTLOSDRCWDWO;;;DA)(A;;CCDCLCSWRPWPDTLOSDRCWDWO;;;S-1-5-21-3330634377-1326264276-632209373-519)(A;;CCDCLCSWRPWPDTLOSDRCWDWO;;;LA)(A;;LCRPLORC;;;AU)

    Allow Enroll	LUNAR\Domain Admins
    Allow Enroll	LUNAR\Domain Users
    Allow Enroll	LUNAR\Enterprise Admins
    Allow Enroll	NT AUTHORITY\Authenticated Users
    Allow Auto-Enroll	NT AUTHORITY\Authenticated Users
    Allow Full Control	LUNAR\Domain Admins
    Allow Full Control	LUNAR\Enterprise Admins
    Allow Full Control	LUNAR\Administrator
    Allow Read	NT AUTHORITY\Authenticated Users

EKU中允许利用进行身份验证,同时还设置了CT_FLAG_ENROLLEE_SUPPLIES_SUBJECT,并且允许了domain users组进行注册

组合在一起,该模板允许我们可以控制SAN,为任何用户请求证书,并且进行身份验证

生成恶意证书

我们确定了可以利用的证书模板,是时候生成证书请求了。如果您愿意,您可以从命令行执行此步骤

通过mmc进行请求证书和导出证书都相当简单,这里我就不再记录

通过证书进行用户模拟

现在我们使用Rubeus来利用证书请求TGT

在这里插入图片描述

有了tgt,我们能做很多事情,我们可以通过各种工具来利用tgt,比如mimikatz

这里我们使用Rubeus修改账户密码

在这里插入图片描述

然后使用runas注入凭据,值得注意的是这里不要加/netonly参数,因为我们要进行本地访问而不仅仅只是网络通信需要使用注入的凭据

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
毕业设计,基于SpringBoot+Vue+MySQL开发的体育馆管理系统,源码+数据库+毕业论文+视频演示 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本体育馆管理系统就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据信息,使用这种软件工具可以帮助管理人员提高事务处理效率,达到事半功倍的效果。此体育馆管理系统利用当下成熟完善的SpringBoot框架,使用跨平台的可开发大型商业网站的Java语言,以及最受欢迎的RDBMS应用软件之一的Mysql数据库进行程序开发。实现了用户在线选择试题并完成答题,在线查看考核分数。管理员管理收货地址管理、购物车管理、场地管理、场地订单管理、字典管理、赛事管理、赛事收藏管理、赛事评价管理、赛事订单管理、商品管理、商品收藏管理、商品评价管理、商品订单管理、用户管理、管理员管理等功能。体育馆管理系统的开发根据操作人员需要设计的界面简洁美观,在功能模块布局上跟同类型网站保持一致,程序在实现基本要求功能时,也为数据信息面临的安全问题提供了一些实用的解决方案。可以说该程序在帮助管理者高效率地处理工作事务的同时,也实现了数据信息的整体化,规范化与自动化。 关键词:体育馆管理系统;SpringBoot框架;Mysql;自动化
cocos-to-playable-ad是一种将Cocos Creator游戏引擎中开发的游戏转化为可玩广告的解决方案。在移动广告行业中,可玩广告已经成为吸引用户和提高点击率的一种重要方式。通过将游戏转化为可玩广告,广告主可以更好地展示他们的产品和服务,并吸引更多的用户进行真实游戏体验。 cocos-to-playable-ad解决方案提供了一个简便而高效的工具,使开发者能够将他们在Cocos Creator中开发的游戏快速转化为可玩广告。开发者只需将游戏项目导入到该工具中,选择相应的广告平台和相关设置,即可生成对应的可玩广告。 通过cocos-to-playable-ad,开发者能够自定义广告的展示内容和交互方式,使广告更具吸引力和互动性。该解决方案还支持多种广告平台,如Google AdMob、Facebook Audience Network等,使开发者能够轻松地将可玩广告投放到不同的渠道中。 从广告主的角度来看,cocos-to-playable-ad使他们能够用更直观的方式展示他们的产品和服务。用户可以亲身体验游戏的玩法和特色功能,从而更好地了解广告主的产品,并在游戏体验中与广告互动。这种形式的广告更容易吸引用户的注意力,提高点击率和转化率。 总之,cocos-to-playable-ad提供了一种方便、快捷的方式,将Cocos Creator游戏转化为可玩广告。它为开发者和广告主提供了一个更具吸引力和互动性的广告形式,帮助他们更好地展示产品和服务,并吸引更多的用户。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Sugobet

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值