红队|域渗透重要漏洞总结()

kerberos认证,no PAC

用户在向 Kerberos 密钥分发中心(KDC)申请TGT(由票据授权服务产生的身份凭证)时,可以伪造自己的 Kerberos 票据

漏洞效果:

将任意域用户提升到域管权限

利用条件:

1.小于2012R2的域控 没有打MS14-068的补丁(KB3011780)

2.拿下一台加入域的计算机

3.有这台域内计算机的域用户密码和Sid

利用方式:

在《Kerberos认证及过程中产生的攻击》一文中有详细讲

这可以看 https://cloud.tencent.com/developer/article/1760132

2.CVE-2020-1472

NetLogon特权提升漏洞(CVE-2020-1472)是一个windows域控中严重的远程权限提升漏洞。

Netlogon使用的AES认证算法中的vi向量默认为0,导致攻击者可以绕过认证,同时其设置域控密码的远程接口也使用了该函数,导致

以将域控机器用户的password设置为空。

这样我们就可以导域管hash,最后再还原域控机器用户的密码

漏洞效果:

可利用此漏洞获取域管访问权限

影响版本:

Windows Server 2008 R2 for x64-based Systems Service Pack 1
Windows Server 2008 R2 for x64-based Systems Service Pack 1 (Server Core installation)
Windows Server 2012Windows Server 2012 (Server Core installation)
Windows Server 2012 R2Windows Server 2012 R2 (Server Core installation)
Windows Server 2016Windows Server 2016 (Server Core installation)
Windows Server 2019Windows Server 2019 (Server Core installation)
Windows Server, version 1903 (Server Core installation)
Windows Server, version 1909 (Server Core installation)Windows Server, version 2004 (Server Core installation)

利用方式:

准备工具:
Impacket工具包:https://github.com/SecureAuthCorp/impacket.git
poc:https://github.com/SecuraBV/CVE-2020-1472.git
exp:https://github.com/dirkjanm/CVE-2020-1472
exp:https://github.com/risksense/zerologon

https://cloud.tencent.com/developer/article/1780108

https://cloud.tencent.com/developer/article/1837483

3.CVE-2021-42287&42278

Windows域服务权限提升漏洞(CVE-2021-42287, CVE-2021-42278)是由于Active Directory 域服务没有进行适当的安全限制,导致可绕过安全限制进行权限提升。攻击者可利用该漏洞造成将域内的普通用户权限提升到域管理员权限

漏洞效果:

将任意域用户提升到域管权限

影响版本:

Windows Server 2012 R2 (Server Core installation)
Windows Server 2012 R2
Windows Server 2012 (Server Core installation)
Windows Server 2012
Windows Server 2008 R2 for x64-based Systems Service Pack 1 (Server Core installation)
Windows Server 2008 R2 for x64-based Systems Service Pack 1
Windows Server 2008 for x64-based Systems Service Pack 2 (Server Core installation)
Windows Server 2008 for x64-based Systems Service Pack 2
Windows Server 2008 for 32-bit Systems Service Pack 2 (Server Core installation)
Windows Server 2008 for 32-bit Systems Service Pack 2
Windows Server 2016 (Server Core installation)
Windows Server 2016
Windows Server, version 20H2 (Server Core Installation)
Windows Server, version 2004 (Server Core installation)
Windows Server 2022 (Server Core installation)
Windows Server 2022
Windows Server 2019 (Server Core installation)
Windows Server 2019

利用条件 :

(1)一个普通域成员帐户

(2)域用户有创建机器用户的权限(一般默认权限)

(3)DC未打补丁KB5008380或KB5008602

利用方式:

https://github.com/WazeHell/sam-the-admin
https://github.com/Ridter/noPac

https://blog.csdn.net/FHLZLHQ/article/details/121964692

4.CVE-2021-1675/CVE-2021-34527

PrintNightmare 此漏洞一开始为CVE-2021-1675,随后微软把此漏洞分配给了CVE-2021-34527,并提到了两个漏洞很像,但是攻击向量是不同的。

Print Spooler是Windows系统中管理打印相关事务的服务,用于管理所有本地和网络打印队列并控制所有打印工作。Windows系统默认开启 Print Spooler 服务,普通用户可以利用此漏洞提升至SYSTEM管理权限。

漏洞效果:

未经身份验证的远程攻击者可利用该漏洞以SYSTEM权限在域控制器上执行任意代码,从而获得整个域的控制权

影响版本:

Windows Server 2012 R2 (Server Core installation)
Windows Server 2012 R2
Windows Server 2012 (Server Core installation)
Windows Server 2012
Windows Server 2008 R2 for x64-based Systems Service Pack 1 (Server Core installation)
Windows Server 2008 R2 for x64-based Systems Service Pack 1
Windows Server 2008 for x64-based Systems Service Pack 2 (Server Core installation)
Windows Server 2008 for x64-based Systems Service Pack 2
Windows Server 2008 for 32-bit Systems Service Pack 2 (Server Core installation)
Windows Server 2008 for 32-bit Systems Service Pack 2
Windows RT 8.1
Windows 8.1 for x64-based systems
Windows 8.1 for 32-bit systems
Windows 7 for x64-based Systems Service Pack 1
Windows 7 for 32-bit Systems Service Pack 1
Windows Server 2016 (Server Core installation)
Windows Server 2016
Windows 10 Version 1607 for x64-based Systems
Windows 10 Version 1607 for 32-bit Systems
Windows 10 for x64-based Systems
Windows 10 for 32-bit Systems
Windows Server, version 20H2 (Server Core Installation)
Windows 10 Version 20H2 for ARM64-based Systems
Windows 10 Version 20H2 for 32-bit Systems
Windows 10 Version 20H2 for x64-based Systems
Windows Server, version 2004 (Server Core installation)
Windows 10 Version 2004 for x64-based Systems
Windows 10 Version 2004 for ARM64-based Systems
Windows 10 Version 2004 for 32-bit Systems
Windows 10 Version 21H1 for 32-bit Systems
Windows 10 Version 21H1 for ARM64-based Systems
Windows 10 Version 21H1 for x64-based Systems
Windows 10 Version 1909 for ARM64-based Systems
Windows 10 Version 1909 for x64-based Systems
Windows 10 Version 1909 for 32-bit Systems
Windows Server 2019 (Server Core installation)
Windows Server 2019
Windows 10 Version 1809 for ARM64-based Systems
Windows 10 Version 1809 for x64-based Systems
Windows 10 Version 1809 for 32-bit Systems

利用场景

  • 在工作组环境下,可通过该漏洞获取系统最高权限;
  • 域环境下,直接攻击域控制器可以获取域控的SYSTEM权限,执行任意代码;
  • 可用于持久化的操作,得到域控后,在有共享目录、能访问到域控的情况下,远程的加载共享目录下的DLL。

利用条件

  • 目标开启Spooler服务;
  • 一个普通权限的域账户;
  • 创建的smb服务允许匿名访问,即目标可以直接获取到文件。

利用方式

https://github.com/cube0x0/CVE-2021-1675

https://github.com/cube0x0/impacket  
https://github.com/3gstudent/Invoke-BuildAnonymousSMBServer   

https://bewhale.github.io/posts/29501.html

https://mp.weixin.qq.com/s/1sR0wTyJFf5UnuPjtJ-DWw

5.CVE-2019-1040

2019年6月,Microsoft发布了一条安全更新。该更新针对CVE-2019-1040漏洞进行修复。此次漏洞,攻击者可以通过中间人攻击,绕过NTLM MIC(消息完整性检查)保护,将身份验证流量中继到目标服务器。

漏洞效果

通过这种攻击使得攻击者在仅有一个普通域账号的情况下可以远程控制 Windows 域内的任何机器,包括域控服务器。

影响版本

Windows 7 sp1 至Windows 10 1903

Windows Server 2008 至Windows Server 2019

利用场景

对于特定环境, CVE-2019-1040漏洞的攻击链目前已经确定的两种攻击途径:

1、攻击域Exchange Server (下面以这种途径来描述)

2、攻击域AD Server(结合基于资源的约束委派)

利用条件

A、Exchange服务器可以是任何版本(包括为PrivExchange修补的版本)。唯一的要求是,在以共享权限或RBAC模式安装,Exchange默认具有高权限。 B、域内任意账户。(由于能产生SpoolService错误的唯一要求是任何经过身份验证的域内帐户) C、CVE-2019-1040漏洞的实质是NTLM数据包完整性校验存在缺陷,故可以修改NTLM身份验证数据包而不会使身份验证失效。而此攻击链中攻击者删除了数据包中阻止从SMB转发到LDAP的标志。 D、构造请求使Exchange Server向攻击者进行身份验证,并通过LDAP将该身份验证中继到域控制器,即可使用中继受害者的权限在Active Directory中执行操作。比如为攻击者帐户授予DCSync权限。 E、如果在可信但完全不同的AD林中有用户,同样可以在域中执行完全相同的攻击。(因为任何经过身份验证的用户都可以触发SpoolService反向连接)

漏洞利用攻击链

1、使用域内任意帐户,通过SMB连接到被攻击ExchangeServer,并指定中继攻击服务器。同时必须利用SpoolService错误触发反向SMB链接。 2、中继服务器通过SMB回连攻击者主机,然后利用ntlmrelayx将利用CVE-2019-1040漏洞修改NTLM身份验证数据后的SMB请求据包中继到LDAP。 3、使用中继的LDAP身份验证,此时Exchange Server可以为攻击者帐户授予DCSync权限。 4、攻击者帐户使用DCSync转储AD域中的所有域用户密码哈希值(包含域管理员的hash,此时已拿下整个域)。

利用方式:

https://github.com/SecureAuthCorp/impacket
https://github.com/dirkjanm/krbrelayx

https://github.com/Ridter/CVE-2019-1040

https://github.com/Ridter/CVE-2019-1040-dcpwn

同一网段内:https://www.freebuf.com/vuls/274091.html

隧道下:https://zhuanlan.zhihu.com/p/142080911

CVE-2019-1040+RBCD(基于资源的约束性委派)+PetitPatom

6.域委派攻击

https://mp.weixin.qq.com/s/GdmnlsKJJXhElA4GuwxTKQ

7.NTLM Relay

https://www.anquanke.com/post/id/193149 https://www.anquanke.com/post/id/193493 https://www.anquanke.com/post/id/194069 https://www.anquanke.com/post/id/194514

8.ADCS漏洞–ESC8(PetitPotam)(ADCS relay)

ESC8是一个http的ntlm relay,原因在于ADCS的认证中支持NTLM认证

漏洞效果:

将普通域用户提升到域管权限

利用条件:

1.未打adcs的补丁 2.有两台域控 3.有adcs服务

利用方式:

https://blog.csdn.net/qq_43645782/article/details/119322322

https://forum.butian.net/share/1583

9.ADCS漏洞–CVE-2022–26923

漏洞影响: 允许低权限用户在安装了 Active Directory 证书服务 (AD CS) 服务器角色的默认 Active Directory 环境中将权限提升到域管理员

漏洞组件:活动目录证书服务(Active Directory Certificate Services,AD CS)

漏洞简述:通过构造机器账户并篡改dNSHostName属性,在证书申请时AD CS将dNSHostName属性嵌入证书中,进而机器账户获得高权限的域控身份。

受影响的 Windows 版本:

Windows 8.1

Windows 10 Version 1607, 1809,1909, 2004, 20H2, 21H1, 21H2

Windows 11

Windows Server 2008,2012,2016,2019,2022

利用先决条件:

CVE-2022-26923/CVE-2022-26931漏洞与2021年CVE-2021-42278/CVE-2021-42287sAMAccountName spoofing漏洞类似,均通过利用伪造域控制器名称身份来进行相关的提权操作。它的利用先决条件为:

  • 该提权漏洞适用于所有的Windows服务器活动目录版本,包含目前位于微软产品支持范围内的Windows Server 2012 R2到Windows Server 2022,以及超出产品支持范围的旧Windows服务器版本。
  • 入侵者至少控制一个活动目录用户账户,该用户账户对于活动目录中至少一个计算机账户具有“Validated write to DNS host name”权限。默认情况下,单个活动目录普通域用户可以加入或创建(包含创建空账户)10个计算机账户到活动目录中,并对自己所加入/创建的计算机账户具有CREATOR OWNER管理权限(包含“Validated write to DNShost name”权限)。因此该权限较为容易获得。
  • 在活动目录内部部署有企业证书服务,并允许上述被控制的计算机账户申请计算机身份验证证书。企业证书服务是活动目录中广泛部署的一种相关基础服务,并且默认情况下,与活动目录集成的企业证书服务默认即允许域内计算机申请计算机身份验证证书。

复现参考:

https://forum.butian.net/share/1578

https://forum.butian.net/share/1583

10.Exchange相关,可控制Exchange服务器

Exchange在域内有着重要的地位,一般来说,拿到Exchange服务器的权限,基本等同于拿到域管的权限。拿到Exchange服务器,有很大概率就是域管直接登录的。或者域管曾经登录过。拿到Exchange服务器权限的时候,可以尝试直接dir下域控的C盘,看有没有权限。如果没有权限,再尝试使用mimikatz抓一波密码,很大概率可以直接抓到域管或者高权限用户。而且就算是高版本的server,在Exchange上也能抓到明文密码。

11.CVE-2018-8581 (拿域控)

漏洞描述:

该漏洞利用了 Exchange 服务器的 SSRF 和高权限的请求,导致拥有合法邮箱凭证的用户可以被提升至域管权限

影响范围:

 Exchange Server 2010
 Exchange Server 2013
 Exchange Server 2016

利用条件:

Exchange 默认配置下,攻击者拥有合法的邮箱用户凭证,同时,该漏洞利用是通过 NTLM Relay的方式进行提权,因此攻击者需要已经在内网环境中取得可用主机。

漏洞简介:

该漏洞的发生源于几个方面:

  • 首先,Exchange 允许任意用户(只要是通过了认证的)通过 EWS 接口来创建一个推送订阅(Push Subscription),并可以指定任意 URL 作为通知推送的目的地;
  • 其次,通知被订阅推送后,当触发推送时,Exchange 使用了 CredentialCache 类的 DefaultCredentials 属性,由于 EWS 以 SYSTEM 权限运行,当使用 DefaultCredentials 时发出的 HTTP 请求将使用该权限发起 NTLM 认证;
  • 在 EWS 请求中,通过在 Header 中使用 SerializedSecurityContext,指定 SID 可以实现身份伪装,从而以指定用户身份进行 EWS 调用操作。

也就是说【我们可以控制Exchange服务器向我们发起HTTP 协议的NTLM 请求,这样我们就能拿到Exchange机器用户的 Net-Ntlm Hash】

也就是说【我们可以控制Exchange服务器向我们发起HTTP 协议的NTLM 请求,这样我们就能拿到Exchange机器用户的 Net-Ntlm Hash】

由于该漏洞利用涉及 NTLM 的重放攻击,一种很容易想到的思路就是将该凭证重放到域控机器。由于重放的 NTLM 凭证来自 Exchange 服务器的机器用户权限,根据Relay To LDAP一节的描述,我们知道Exchange机器用户具有write-acl权限,可以给任意用户提权,赋予Dcsync的权限,从而dump出所有密码哈希值。

服务端是否要求签名:

我们Relay到的服务端是Ldap,在前面【ldap签名】一节提到,Ldap服务器的默认策略是协商签名。是否签名是由客户端决定的。客户端分情况,如果是smb协议的话,默认要求签名的,如果是webadv或者http协议,是不要求签名的

在这个漏洞里面发起的请求是http协议,这也就意味着我们什么都不用做,在这个漏洞中并不要求签名。

EXP :

https://github.com/Ridter/Exchange2domain


#也可以使用 ntlmrelayx.py+privexchange.py+secretdump.py
https://github.com/dirkjanm/privexchange
https://github.com/SecureAuthCorp/impacket

复现可以参考这篇文章:

https://www.jianshu.com/p/e081082cbc73 CVE-2020-0688 (RCE)

漏洞描述:当攻击者通过各种手段获得一个可以访问Exchange Control Panel (ECP)组件的用户账号密码,就可以在被攻击的exchange上执行任意代码,直接获取服务器权限。

利用条件:Exchange Server 2010 SP3/2013/2016/2019,普通账号。

攻击脚本:

https://github.com/zcgonvh/CVE-2020-0688

https://github.com/random-robbie/cve-2020-0688

复现:

https://www.anquanke.com/post/id/226543#h3-13

12.CVE-2020-17144 (RCE)

漏洞描述:远程攻击者通过构造特殊的cmdlet参数,绕过身份验证利用改漏洞可造成任意远程命令执行。

利用条件:Exchange2010,普通账号。

攻击脚本1:

https://github.com/Airboi/CVE-2020-17144-EXP

攻击脚本2:

https://github.com/zcgonvh/CVE-2020-17144
CVE-2020-17144 <target> <user> <pass>

13.CVE-2020-16875 (RCE)

漏洞描述:远程攻击者通过构造特殊的cmdlet参数,可造成任意命令执行。

影响版本

Exchange Server 2016 CU17

Exchange Server 2016 CU16(已测)

Exchange Server 2019 CU5

Exchange Server 2019 CU6

利用条件:Exchange Server 2016/2019,普通账号。

攻击脚本:

https://srcincite.io/pocs/cve-2020-16875.py.txt

复现:https://cloud.tencent.com/developer/article/1704777

14.CVE-2021-26855/CVE-2021-27065(getshell)(SSRF+任意文件写入)

Exchange ProxyLogon远程代码执行漏洞

漏洞概述:

CVE-2021-26855与CVE-2021-27065是微软在2021年3月2日发布的高危漏洞公告。这套组合拳被称为ProxyLogon,可直接获取目标邮件服务器主机权限。

CVE-2021-26855 SSRF 漏洞 ,该漏洞是Exchange中的服务端请求伪造漏洞(SSRF),利用此漏洞的攻击者能够发送任意HTTP请求并绕过Exchange Server身份验证,远程未授权的攻击者可以利用该漏洞以进行内网探测,并可以用于窃取用户邮箱的全部内容。

CVE-2021-27065 任意文件写入漏洞,该漏洞是Exchange中的任意文件写入漏洞。该漏洞需要进行身份认证,利用此漏洞可以将文件写入服务器上的任何路径。并可以结合利用CVE-2021-26855 SSRF漏洞可绕过权限认证进行文件写入。

影响范围:

Exchange Server 2019 < 15.02.0792.010

Exchange Server 2019 < 15.02.0721.013

Exchange Server 2016 < 15.01.2106.013

Exchange Server 2013 < 15.00.1497.012

利用原理:

通过ssrf漏洞读取到邮箱用户的SID——>通过有效SID结合任意文件写入漏洞上传以.aspx结尾的文件,在其中插入一句话木马——>造成交互式shell。

利用条件:

需要邮箱用户名称

该漏洞不同于以往的 exchange 漏洞,此漏洞并不需要一个可登录的用户身份,可以在未授权的情况下获取内部用户资源,配合 CVE-2021-27065 可以实现远程命令执行。

漏洞触发必要条件

  • 目标服务器存在漏洞
  • 目标 exchange 服务器必须为负载均衡服务器,即同时使用两台及以上服务器
  • 目标邮箱地址,注意,该地址需要为域内邮件地址而非邮箱地址,二者存在差异
  • 攻击者还必须标识内部Exchange服务器的完全限定域名(FQDN)

以上四项中,FQDN 可以通过 ntlm type2 消息抓取;邮件地址可以直接枚举。

利用CVE-2021-26855 SSRF漏洞枚举邮箱:(工具:https://github.com/charlottelatest/CVE-2021-26855)因为我们通过nmap获取了域名。user.txt里面为我们加入的邮箱名字典go run CVE-2021-26855.go -h 192.168.110.152 -U user.txt

利用CVE-2021-26855 SSRF漏洞枚举邮箱:

(工具:https://github.com/charlottelatest/CVE-2021-26855)

因为我们通过nmap获取了域名。user.txt里面为我们加入的邮箱名字典

go run CVE-2021-26855.go -h 192.168.110.152 -U user.txt

利用方式:

https://github.com/hausec/ProxyLogon  (一键利用)

https://github.com/charlottelatest/CVE-2021-26855  (k)
https://github.com/herwonowr/exprolog

复现:

https://blog.csdn.net/qq_44159028/article/details/123825115

分析与复现:

https://www.anquanke.com/post/id/259902

15.CVE-2021-34473 (RCE) (SSRF)

Exchange ProxyShell SSRF

漏洞描述:

攻击者利用该漏洞可绕过相关权限验证,进而配合其他漏洞可执行任意代码,控制Microsoft Exchange Server。

ProxyShell攻击链利用使用了以下漏洞:

CVE-2021-34473 Microsoft Exchange ACL绕过漏洞

CVE-2021-34523 Microsoft Exchange权限提升漏洞

CVE-2021-31207 Microsoft Exchange授权任意文件写入漏洞

微软官方于 2021年4月已发布相关补丁,2021年7月发布漏洞通告,可前往微软官方下载相应补丁进行更新:

https://msrc.microsoft.com/update-guide/vulnerability/CVE-2021-34473

影响版本

Microsoft Exchange Server 2010

Microsoft Exchange Server 2013

Microsoft Exchange Server 2016

Microsoft Exchange Server 2019

利用条件:

仅仅需要邮箱用户名称(用户名即可))

利用方法:

https://github.com/ktecv2000/ProxyShell

https://github.com/Ridter/proxyshell_payload
https://github.com/dmaasland/proxyshell-poc

复现:

https://www.cnblogs.com/colin-B/p/15783751.html

https://blog.csdn.net/qq_40989258/article/details/119750829

16.CVE-2022-41028(RCE)

Microsoft Exchange Server 存在远程代码执行漏洞,经过身份验证的攻击者可利用此漏洞在目标系统上执行任意代码。

原文连接:https://github.com/HackingCost/AD_Pentest

作者:HackingCost

————————

kerberos认证,no PAC

用户在向 Kerberos 密钥分发中心(KDC)申请TGT(由票据授权服务产生的身份凭证)时,可以伪造自己的 Kerberos 票据

漏洞效果:

将任意域用户提升到域管权限

利用条件:

1.小于2012R2的域控 没有打MS14-068的补丁(KB3011780)

2.拿下一台加入域的计算机

3.有这台域内计算机的域用户密码和Sid

利用方式:

在《Kerberos认证及过程中产生的攻击》一文中有详细讲

这可以看 https://cloud.tencent.com/developer/article/1760132

2.CVE-2020-1472

NetLogon特权提升漏洞(CVE-2020-1472)是一个windows域控中严重的远程权限提升漏洞。

Netlogon使用的AES认证算法中的vi向量默认为0,导致攻击者可以绕过认证,同时其设置域控密码的远程接口也使用了该函数,导致

以将域控机器用户的password设置为空。

这样我们就可以导域管hash,最后再还原域控机器用户的密码

漏洞效果:

可利用此漏洞获取域管访问权限

影响版本:

Windows Server 2008 R2 for x64-based Systems Service Pack 1
Windows Server 2008 R2 for x64-based Systems Service Pack 1 (Server Core installation)
Windows Server 2012Windows Server 2012 (Server Core installation)
Windows Server 2012 R2Windows Server 2012 R2 (Server Core installation)
Windows Server 2016Windows Server 2016 (Server Core installation)
Windows Server 2019Windows Server 2019 (Server Core installation)
Windows Server, version 1903 (Server Core installation)
Windows Server, version 1909 (Server Core installation)Windows Server, version 2004 (Server Core installation)

利用方式:

准备工具:
Impacket工具包:https://github.com/SecureAuthCorp/impacket.git
poc:https://github.com/SecuraBV/CVE-2020-1472.git
exp:https://github.com/dirkjanm/CVE-2020-1472
exp:https://github.com/risksense/zerologon

https://cloud.tencent.com/developer/article/1780108

https://cloud.tencent.com/developer/article/1837483

3.CVE-2021-42287&42278

Windows域服务权限提升漏洞(CVE-2021-42287, CVE-2021-42278)是由于Active Directory 域服务没有进行适当的安全限制,导致可绕过安全限制进行权限提升。攻击者可利用该漏洞造成将域内的普通用户权限提升到域管理员权限

漏洞效果:

将任意域用户提升到域管权限

影响版本:

Windows Server 2012 R2 (Server Core installation)
Windows Server 2012 R2
Windows Server 2012 (Server Core installation)
Windows Server 2012
Windows Server 2008 R2 for x64-based Systems Service Pack 1 (Server Core installation)
Windows Server 2008 R2 for x64-based Systems Service Pack 1
Windows Server 2008 for x64-based Systems Service Pack 2 (Server Core installation)
Windows Server 2008 for x64-based Systems Service Pack 2
Windows Server 2008 for 32-bit Systems Service Pack 2 (Server Core installation)
Windows Server 2008 for 32-bit Systems Service Pack 2
Windows Server 2016 (Server Core installation)
Windows Server 2016
Windows Server, version 20H2 (Server Core Installation)
Windows Server, version 2004 (Server Core installation)
Windows Server 2022 (Server Core installation)
Windows Server 2022
Windows Server 2019 (Server Core installation)
Windows Server 2019

利用条件 :

(1)一个普通域成员帐户

(2)域用户有创建机器用户的权限(一般默认权限)

(3)DC未打补丁KB5008380或KB5008602

利用方式:

https://github.com/WazeHell/sam-the-admin
https://github.com/Ridter/noPac

https://blog.csdn.net/FHLZLHQ/article/details/121964692

4.CVE-2021-1675/CVE-2021-34527

PrintNightmare 此漏洞一开始为CVE-2021-1675,随后微软把此漏洞分配给了CVE-2021-34527,并提到了两个漏洞很像,但是攻击向量是不同的。

Print Spooler是Windows系统中管理打印相关事务的服务,用于管理所有本地和网络打印队列并控制所有打印工作。Windows系统默认开启 Print Spooler 服务,普通用户可以利用此漏洞提升至SYSTEM管理权限。

漏洞效果:

未经身份验证的远程攻击者可利用该漏洞以SYSTEM权限在域控制器上执行任意代码,从而获得整个域的控制权

影响版本:

Windows Server 2012 R2 (Server Core installation)
Windows Server 2012 R2
Windows Server 2012 (Server Core installation)
Windows Server 2012
Windows Server 2008 R2 for x64-based Systems Service Pack 1 (Server Core installation)
Windows Server 2008 R2 for x64-based Systems Service Pack 1
Windows Server 2008 for x64-based Systems Service Pack 2 (Server Core installation)
Windows Server 2008 for x64-based Systems Service Pack 2
Windows Server 2008 for 32-bit Systems Service Pack 2 (Server Core installation)
Windows Server 2008 for 32-bit Systems Service Pack 2
Windows RT 8.1
Windows 8.1 for x64-based systems
Windows 8.1 for 32-bit systems
Windows 7 for x64-based Systems Service Pack 1
Windows 7 for 32-bit Systems Service Pack 1
Windows Server 2016 (Server Core installation)
Windows Server 2016
Windows 10 Version 1607 for x64-based Systems
Windows 10 Version 1607 for 32-bit Systems
Windows 10 for x64-based Systems
Windows 10 for 32-bit Systems
Windows Server, version 20H2 (Server Core Installation)
Windows 10 Version 20H2 for ARM64-based Systems
Windows 10 Version 20H2 for 32-bit Systems
Windows 10 Version 20H2 for x64-based Systems
Windows Server, version 2004 (Server Core installation)
Windows 10 Version 2004 for x64-based Systems
Windows 10 Version 2004 for ARM64-based Systems
Windows 10 Version 2004 for 32-bit Systems
Windows 10 Version 21H1 for 32-bit Systems
Windows 10 Version 21H1 for ARM64-based Systems
Windows 10 Version 21H1 for x64-based Systems
Windows 10 Version 1909 for ARM64-based Systems
Windows 10 Version 1909 for x64-based Systems
Windows 10 Version 1909 for 32-bit Systems
Windows Server 2019 (Server Core installation)
Windows Server 2019
Windows 10 Version 1809 for ARM64-based Systems
Windows 10 Version 1809 for x64-based Systems
Windows 10 Version 1809 for 32-bit Systems

利用场景

  • 在工作组环境下,可通过该漏洞获取系统最高权限;
  • 域环境下,直接攻击域控制器可以获取域控的SYSTEM权限,执行任意代码;
  • 可用于持久化的操作,得到域控后,在有共享目录、能访问到域控的情况下,远程的加载共享目录下的DLL。

利用条件

  • 目标开启Spooler服务;
  • 一个普通权限的域账户;
  • 创建的smb服务允许匿名访问,即目标可以直接获取到文件。

利用方式

https://github.com/cube0x0/CVE-2021-1675

https://github.com/cube0x0/impacket  
https://github.com/3gstudent/Invoke-BuildAnonymousSMBServer   

https://bewhale.github.io/posts/29501.html

https://mp.weixin.qq.com/s/1sR0wTyJFf5UnuPjtJ-DWw

5.CVE-2019-1040

2019年6月,Microsoft发布了一条安全更新。该更新针对CVE-2019-1040漏洞进行修复。此次漏洞,攻击者可以通过中间人攻击,绕过NTLM MIC(消息完整性检查)保护,将身份验证流量中继到目标服务器。

漏洞效果

通过这种攻击使得攻击者在仅有一个普通域账号的情况下可以远程控制 Windows 域内的任何机器,包括域控服务器。

影响版本

Windows 7 sp1 至Windows 10 1903

Windows Server 2008 至Windows Server 2019

利用场景

对于特定环境, CVE-2019-1040漏洞的攻击链目前已经确定的两种攻击途径:

1、攻击域Exchange Server (下面以这种途径来描述)

2、攻击域AD Server(结合基于资源的约束委派)

利用条件

A、Exchange服务器可以是任何版本(包括为PrivExchange修补的版本)。唯一的要求是,在以共享权限或RBAC模式安装,Exchange默认具有高权限。 B、域内任意账户。(由于能产生SpoolService错误的唯一要求是任何经过身份验证的域内帐户) C、CVE-2019-1040漏洞的实质是NTLM数据包完整性校验存在缺陷,故可以修改NTLM身份验证数据包而不会使身份验证失效。而此攻击链中攻击者删除了数据包中阻止从SMB转发到LDAP的标志。 D、构造请求使Exchange Server向攻击者进行身份验证,并通过LDAP将该身份验证中继到域控制器,即可使用中继受害者的权限在Active Directory中执行操作。比如为攻击者帐户授予DCSync权限。 E、如果在可信但完全不同的AD林中有用户,同样可以在域中执行完全相同的攻击。(因为任何经过身份验证的用户都可以触发SpoolService反向连接)

漏洞利用攻击链

1、使用域内任意帐户,通过SMB连接到被攻击ExchangeServer,并指定中继攻击服务器。同时必须利用SpoolService错误触发反向SMB链接。 2、中继服务器通过SMB回连攻击者主机,然后利用ntlmrelayx将利用CVE-2019-1040漏洞修改NTLM身份验证数据后的SMB请求据包中继到LDAP。 3、使用中继的LDAP身份验证,此时Exchange Server可以为攻击者帐户授予DCSync权限。 4、攻击者帐户使用DCSync转储AD域中的所有域用户密码哈希值(包含域管理员的hash,此时已拿下整个域)。

利用方式:

https://github.com/SecureAuthCorp/impacket
https://github.com/dirkjanm/krbrelayx

https://github.com/Ridter/CVE-2019-1040

https://github.com/Ridter/CVE-2019-1040-dcpwn

同一网段内:https://www.freebuf.com/vuls/274091.html

隧道下:https://zhuanlan.zhihu.com/p/142080911

CVE-2019-1040+RBCD(基于资源的约束性委派)+PetitPatom

6.域委派攻击

https://mp.weixin.qq.com/s/GdmnlsKJJXhElA4GuwxTKQ

7.NTLM Relay

https://www.anquanke.com/post/id/193149 https://www.anquanke.com/post/id/193493 https://www.anquanke.com/post/id/194069 https://www.anquanke.com/post/id/194514

8.ADCS漏洞–ESC8(PetitPotam)(ADCS relay)

ESC8是一个http的ntlm relay,原因在于ADCS的认证中支持NTLM认证

漏洞效果:

将普通域用户提升到域管权限

利用条件:

1.未打adcs的补丁 2.有两台域控 3.有adcs服务

利用方式:

https://blog.csdn.net/qq_43645782/article/details/119322322

https://forum.butian.net/share/1583

9.ADCS漏洞–CVE-2022–26923

漏洞影响: 允许低权限用户在安装了 Active Directory 证书服务 (AD CS) 服务器角色的默认 Active Directory 环境中将权限提升到域管理员

漏洞组件:活动目录证书服务(Active Directory Certificate Services,AD CS)

漏洞简述:通过构造机器账户并篡改dNSHostName属性,在证书申请时AD CS将dNSHostName属性嵌入证书中,进而机器账户获得高权限的域控身份。

受影响的 Windows 版本:

Windows 8.1

Windows 10 Version 1607, 1809,1909, 2004, 20H2, 21H1, 21H2

Windows 11

Windows Server 2008,2012,2016,2019,2022

利用先决条件:

CVE-2022-26923/CVE-2022-26931漏洞与2021年CVE-2021-42278/CVE-2021-42287sAMAccountName spoofing漏洞类似,均通过利用伪造域控制器名称身份来进行相关的提权操作。它的利用先决条件为:

  • 该提权漏洞适用于所有的Windows服务器活动目录版本,包含目前位于微软产品支持范围内的Windows Server 2012 R2到Windows Server 2022,以及超出产品支持范围的旧Windows服务器版本。
  • 入侵者至少控制一个活动目录用户账户,该用户账户对于活动目录中至少一个计算机账户具有“Validated write to DNS host name”权限。默认情况下,单个活动目录普通域用户可以加入或创建(包含创建空账户)10个计算机账户到活动目录中,并对自己所加入/创建的计算机账户具有CREATOR OWNER管理权限(包含“Validated write to DNShost name”权限)。因此该权限较为容易获得。
  • 在活动目录内部部署有企业证书服务,并允许上述被控制的计算机账户申请计算机身份验证证书。企业证书服务是活动目录中广泛部署的一种相关基础服务,并且默认情况下,与活动目录集成的企业证书服务默认即允许域内计算机申请计算机身份验证证书。

复现参考:

https://forum.butian.net/share/1578

https://forum.butian.net/share/1583

10.Exchange相关,可控制Exchange服务器

Exchange在域内有着重要的地位,一般来说,拿到Exchange服务器的权限,基本等同于拿到域管的权限。拿到Exchange服务器,有很大概率就是域管直接登录的。或者域管曾经登录过。拿到Exchange服务器权限的时候,可以尝试直接dir下域控的C盘,看有没有权限。如果没有权限,再尝试使用mimikatz抓一波密码,很大概率可以直接抓到域管或者高权限用户。而且就算是高版本的server,在Exchange上也能抓到明文密码。

11.CVE-2018-8581 (拿域控)

漏洞描述:

该漏洞利用了 Exchange 服务器的 SSRF 和高权限的请求,导致拥有合法邮箱凭证的用户可以被提升至域管权限

影响范围:

 Exchange Server 2010
 Exchange Server 2013
 Exchange Server 2016

利用条件:

Exchange 默认配置下,攻击者拥有合法的邮箱用户凭证,同时,该漏洞利用是通过 NTLM Relay的方式进行提权,因此攻击者需要已经在内网环境中取得可用主机。

漏洞简介:

该漏洞的发生源于几个方面:

  • 首先,Exchange 允许任意用户(只要是通过了认证的)通过 EWS 接口来创建一个推送订阅(Push Subscription),并可以指定任意 URL 作为通知推送的目的地;
  • 其次,通知被订阅推送后,当触发推送时,Exchange 使用了 CredentialCache 类的 DefaultCredentials 属性,由于 EWS 以 SYSTEM 权限运行,当使用 DefaultCredentials 时发出的 HTTP 请求将使用该权限发起 NTLM 认证;
  • 在 EWS 请求中,通过在 Header 中使用 SerializedSecurityContext,指定 SID 可以实现身份伪装,从而以指定用户身份进行 EWS 调用操作。

也就是说【我们可以控制Exchange服务器向我们发起HTTP 协议的NTLM 请求,这样我们就能拿到Exchange机器用户的 Net-Ntlm Hash】

也就是说【我们可以控制Exchange服务器向我们发起HTTP 协议的NTLM 请求,这样我们就能拿到Exchange机器用户的 Net-Ntlm Hash】

由于该漏洞利用涉及 NTLM 的重放攻击,一种很容易想到的思路就是将该凭证重放到域控机器。由于重放的 NTLM 凭证来自 Exchange 服务器的机器用户权限,根据Relay To LDAP一节的描述,我们知道Exchange机器用户具有write-acl权限,可以给任意用户提权,赋予Dcsync的权限,从而dump出所有密码哈希值。

服务端是否要求签名:

我们Relay到的服务端是Ldap,在前面【ldap签名】一节提到,Ldap服务器的默认策略是协商签名。是否签名是由客户端决定的。客户端分情况,如果是smb协议的话,默认要求签名的,如果是webadv或者http协议,是不要求签名的

在这个漏洞里面发起的请求是http协议,这也就意味着我们什么都不用做,在这个漏洞中并不要求签名。

EXP :

https://github.com/Ridter/Exchange2domain


#也可以使用 ntlmrelayx.py+privexchange.py+secretdump.py
https://github.com/dirkjanm/privexchange
https://github.com/SecureAuthCorp/impacket

复现可以参考这篇文章:

https://www.jianshu.com/p/e081082cbc73 CVE-2020-0688 (RCE)

漏洞描述:当攻击者通过各种手段获得一个可以访问Exchange Control Panel (ECP)组件的用户账号密码,就可以在被攻击的exchange上执行任意代码,直接获取服务器权限。

利用条件:Exchange Server 2010 SP3/2013/2016/2019,普通账号。

攻击脚本:

https://github.com/zcgonvh/CVE-2020-0688

https://github.com/random-robbie/cve-2020-0688

复现:

https://www.anquanke.com/post/id/226543#h3-13

12.CVE-2020-17144 (RCE)

漏洞描述:远程攻击者通过构造特殊的cmdlet参数,绕过身份验证利用改漏洞可造成任意远程命令执行。

利用条件:Exchange2010,普通账号。

攻击脚本1:

https://github.com/Airboi/CVE-2020-17144-EXP

攻击脚本2:

https://github.com/zcgonvh/CVE-2020-17144
CVE-2020-17144 <target> <user> <pass>

13.CVE-2020-16875 (RCE)

漏洞描述:远程攻击者通过构造特殊的cmdlet参数,可造成任意命令执行。

影响版本

Exchange Server 2016 CU17

Exchange Server 2016 CU16(已测)

Exchange Server 2019 CU5

Exchange Server 2019 CU6

利用条件:Exchange Server 2016/2019,普通账号。

攻击脚本:

https://srcincite.io/pocs/cve-2020-16875.py.txt

复现:https://cloud.tencent.com/developer/article/1704777

14.CVE-2021-26855/CVE-2021-27065(getshell)(SSRF+任意文件写入)

Exchange ProxyLogon远程代码执行漏洞

漏洞概述:

CVE-2021-26855与CVE-2021-27065是微软在2021年3月2日发布的高危漏洞公告。这套组合拳被称为ProxyLogon,可直接获取目标邮件服务器主机权限。

CVE-2021-26855 SSRF 漏洞 ,该漏洞是Exchange中的服务端请求伪造漏洞(SSRF),利用此漏洞的攻击者能够发送任意HTTP请求并绕过Exchange Server身份验证,远程未授权的攻击者可以利用该漏洞以进行内网探测,并可以用于窃取用户邮箱的全部内容。

CVE-2021-27065 任意文件写入漏洞,该漏洞是Exchange中的任意文件写入漏洞。该漏洞需要进行身份认证,利用此漏洞可以将文件写入服务器上的任何路径。并可以结合利用CVE-2021-26855 SSRF漏洞可绕过权限认证进行文件写入。

影响范围:

Exchange Server 2019 < 15.02.0792.010

Exchange Server 2019 < 15.02.0721.013

Exchange Server 2016 < 15.01.2106.013

Exchange Server 2013 < 15.00.1497.012

利用原理:

通过ssrf漏洞读取到邮箱用户的SID——>通过有效SID结合任意文件写入漏洞上传以.aspx结尾的文件,在其中插入一句话木马——>造成交互式shell。

利用条件:

需要邮箱用户名称

该漏洞不同于以往的 exchange 漏洞,此漏洞并不需要一个可登录的用户身份,可以在未授权的情况下获取内部用户资源,配合 CVE-2021-27065 可以实现远程命令执行。

漏洞触发必要条件

  • 目标服务器存在漏洞
  • 目标 exchange 服务器必须为负载均衡服务器,即同时使用两台及以上服务器
  • 目标邮箱地址,注意,该地址需要为域内邮件地址而非邮箱地址,二者存在差异
  • 攻击者还必须标识内部Exchange服务器的完全限定域名(FQDN)

以上四项中,FQDN 可以通过 ntlm type2 消息抓取;邮件地址可以直接枚举。

利用CVE-2021-26855 SSRF漏洞枚举邮箱:(工具:https://github.com/charlottelatest/CVE-2021-26855)因为我们通过nmap获取了域名。user.txt里面为我们加入的邮箱名字典go run CVE-2021-26855.go -h 192.168.110.152 -U user.txt

利用CVE-2021-26855 SSRF漏洞枚举邮箱:

(工具:https://github.com/charlottelatest/CVE-2021-26855)

因为我们通过nmap获取了域名。user.txt里面为我们加入的邮箱名字典

go run CVE-2021-26855.go -h 192.168.110.152 -U user.txt

利用方式:

https://github.com/hausec/ProxyLogon  (一键利用)

https://github.com/charlottelatest/CVE-2021-26855  (k)
https://github.com/herwonowr/exprolog

复现:

https://blog.csdn.net/qq_44159028/article/details/123825115

分析与复现:

https://www.anquanke.com/post/id/259902

15.CVE-2021-34473 (RCE) (SSRF)

Exchange ProxyShell SSRF

漏洞描述:

攻击者利用该漏洞可绕过相关权限验证,进而配合其他漏洞可执行任意代码,控制Microsoft Exchange Server。

ProxyShell攻击链利用使用了以下漏洞:

CVE-2021-34473 Microsoft Exchange ACL绕过漏洞

CVE-2021-34523 Microsoft Exchange权限提升漏洞

CVE-2021-31207 Microsoft Exchange授权任意文件写入漏洞

微软官方于 2021年4月已发布相关补丁,2021年7月发布漏洞通告,可前往微软官方下载相应补丁进行更新:

https://msrc.microsoft.com/update-guide/vulnerability/CVE-2021-34473

影响版本

Microsoft Exchange Server 2010

Microsoft Exchange Server 2013

Microsoft Exchange Server 2016

Microsoft Exchange Server 2019

利用条件:

仅仅需要邮箱用户名称(用户名即可))

利用方法:

https://github.com/ktecv2000/ProxyShell

https://github.com/Ridter/proxyshell_payload
https://github.com/dmaasland/proxyshell-poc

复现:

https://www.cnblogs.com/colin-B/p/15783751.html

https://blog.csdn.net/qq_40989258/article/details/119750829

16.CVE-2022-41028(RCE)

Microsoft Exchange Server 存在远程代码执行漏洞,经过身份验证的攻击者可利用此漏洞在目标系统上执行任意代码。

原文连接:https://github.com/HackingCost/AD_Pentest

作者:HackingCost