前言
大家好,这里是 渗透攻击红队 的 RedTeam 系列文章,我是 saulGoodman ,本文仅用于技术讨论与研究,如因此产生的一切不良后果与文章作者无关!
一次攻防演练中,通过内网渗透拿到目标内网主域所用到的知识点如下:
-
通过常规 Linux shell 进行内网渗透 -
内网 mssql 再到内网域 -
通过基于资源的约束委派 (RBCD)拿到子域 -
本地 hash 注入 + socks 无密码登录远程桌面 -
同林跨域攻击:从子域拿到父域
从 Linux shell 到 mssql 再到内网域
首先是通过常规打点拿到了一枚 Linux 的 Webshell,当前权限为 root,且有一个 xxx.xxx.22.xxx 的内网段,只能走 http、https 出网,环境有点苛刻:
随后通过常规的信息搜集发现了内网是有 red-teamH 域的:
不到一会通过常规手段找到了内网一个 mssql 的 sa 账号,但是调用 XP_cmdshell 权限只是一个服务权限且找不到任何有价值的文件和信息,因此才选择通过 BadPototo 提权到 System:
后续抓到了 administrator 的密码,并且通过此密码去成功 smb 横向拿到了两台机器 xxx.xxx.20.1、xxx.xxx.20.2:
随后通过这两天机器上发现其中 xxx.xxx.20.1机器是 red-teamH 域的域机器,并且拿到了几个域账号。
并且发现当前 red-teamH 域是有证书的:(此时其实可以考虑 ADCS)
通过上面搜集到的域账号登录到 LDAP 可以直观的看到当前域的一些基础信息:
当前 DC=red,DC=teamH,DC=cn 有四个域控,还有一台 Exchange:
由于当前已有的域用户应该是做了 ACL 设置,权限较小,大多命令都执行不来,只能通过 PowerView.ps1 来对域内进行信息搜集,后续通过在 xxx.xxx.20.1上用 red-teamHsaul 的凭证使用 bloodhound 导出域内信息,发现其实域管还挺多:
通过把域内所有的域账号名导出,然后使用已有的域账号的密码去密码喷洒成功拿到了其他的域账号:
Invoke-DomainPasswordSprayOutsideTheDomain -UserList .1.txt -Domain "xx.xx.21.xx/DC=red,DC=teamH,DC=cn" -Password passs
把所有对 red-teamH 域已控的机器和账号进行梳理分析,发现了一条攻击线路:
上图可知,我们已经获取到的两个域账号:saul、saul1,其中上面那个是黄色图标那个 ADD Domain 组下的账号,而 ADD Domain 组可对 DC 进行 WriteAccountRestrictions 。
也就是说通过上面那个 saul 账号权限就可以对 DC 进行 WriteAccountRestrictions,也就是RBCD。
通过基于资源的约束委派 (RBCD)拿到子域
由于对 DC 进行 RBCD 攻击的时候没截图,这里就继续写了,后续通过 RBCD 拿到了 DC:
本地 hash 注入 + socks 无密码登录远程桌面
然后通过查询 spn 找到了 Exchange:
通过 wmi 使用域管票据得到 exchange/OWA.red.teamH.cn 的机器权限,把本地管理员 hash 抓了出来,但是解不出明文密码。
但是问题不大,可以使用本地 hash 注入来进行登录到远程桌面,和我之前在星球里写的 无密码 socks + 本地 hash 注入登录内网 mssql 是一模一样的操作:
# 先在目标机器开启 Restricted Admin mode:
REG ADD "HKLMSystemCurrentControlSetControlLsa" /v DisableRestrictedAdmin /t REG_DWORD /d 00000000 /f
# 然后使用 mimikatz 横向过去
sekurlsa::pth /user:administrator /domain:. /ntlm:xxxxxxxxxxxxxxxxxxxxxxxxx "/run:c:windowssystem32mstsc.exe /restrictedadmin"
此时已经拿到了 Exchange 的机器权限:
同林跨域攻击:从子域拿到父域
通过查询域信任发现当前拿下的是 red.teamH.cn 域,他还有一个根域为:teamH.cn
定位到 teamH.cn 父域的 IP:xxx.xxx.xxx.3
查询发现当前 red.teamH.cn 子域和 teamH.cn 父域是双向信任的:
因为我们知道在同一个域林中:林根域和其它树根域之间会自动建立可传递的双向信任关系、且同一个域树中, 默认情况下父域和子域之间会自动建立可传递的双向信任关系
实际上是通过企业管理组(Enterprise Administrators) ,也叫做 EA 组,只要拿到 EA 组的 SID 设置 SIDHistory 属性并和金票结合利用,那么一旦当我们拿到了林中任意一个域的 krbtgt NTLM,,即可实现到同林根域的 "跨域金票"拿到了根域,也就等于变相拿到林中的所有其它域,因为林根源对同林下所有域都有管理权。
随后通过 mimikatz 实现同林跨域:
然后使用 DCSync 导入父域所有 hash:
至此整个内网已经 GG,最后通过 LAPS 拿到所有可拿到的明文密码:
到这里这个内网差不多凉透了,写报告提交到裁判组,刷个排名下班吃饭。
结尾
到这里打个广告需要培训内网渗透的兄弟可以扫描下方的二维码联系我,具体培训目录可以参考这篇文章:
本次培训只围绕着内网渗透讲,学完保证在拿到一个大型的内网,能够单兵一个人对整个内网有着清晰的渗透思路,并且拿到想要的东西,包括各种内网里的攻击手法(知识星球里是没有的),有感兴趣的朋友可以加我微信私聊:
原文始发于微信公众号(渗透攻击红队):域渗透之从 RBCD 拿到子域,再通过同林跨域攻击拿到整个内网域森林
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论