一次完美的内网域渗透,如何找到最有效的攻击路线,进行精准域内打击
在域渗透的时候我们手动梳理域内环境需要花很大功夫,这时候通过 SharpHound 对当前机器的环境进行分析,就能够很快知道离域管最近的攻击线路,快速精准打击!
一次完美的内网域渗透
前言
首先是拿到了一个命令执行的点,发现当前跳板机器是存在域环境的:
tasklist 未发现有 AV,并且当前机器是出网机器:
看了看当前系统是 Windows Server 2016:
由于当前是 Windows Server 2016 的服务器,肯定是有微软自带 Windows Defender 的,所以简单做了一下免杀上线到 Cobaltstrike:
然后 ms16-075 提权到 SYSTEM:
内网信息搜集
首先是查看了一下域管分别是哪些用户:
然后查看了一下域控列表,随后 ping 域控机器名得到域控的 IP:
发现域控是 10 段,而当前跳板机器是 192.168.54.200 ,猜测可能不止一个段的机器存活!
先抓一波 hash 把:(Windows server 2016 是抓不了明文密码的)
好家伙,这台机器应该是被”大哥“来过了,应该被改了一下注册表,这才让我抓到了明文,还有其他 hash,之后可以用来 PTH。
然后搜集了一下当前机器的其他密码发现 Oracle 的密码:
然后也抓到了其他浏览器的密码:
整理了一下密码,然后通过域外对域内当前 C 段进行横向喷射:
成功了几台,先留着。
Neo-reGeorg + Socks = 进入目标内网漫游
想要扩大战果还是要做个隧道进行目标内网,但是我发现常用的 frp、nps 都用不了,猜测目标做了限制,后来通过 http 隧道成功进了目标内网!
reGeorg 是 reDuh 的升级版。主要把内网服务器的端口通过http或https隧道转发到本机。
项目地址:https://github.com/L-codes/Neo-reGeorg
先设置密码,生成 tunnel 的 webshell,并上传到目标服务器:
- python neoreg.py generate -k pass
这个时候直接 VPS 运行,把目标内网流量通过 http 转发到 VPS 的 1080 端口:
- python neoreg.py -k pass -u http://saulgoodman.cn//wls-wsat/tuu.jsp
然后本地 VPS 代理:
说明代理成功了!记住这里是 127.0.0.1 只能本地代理,客户端代理你服务器的 socks 是代理不上的!为了方便我在我再 Windows 上重新代理了一下,方便后续操作!
这个时候就可以进目标内网了,由于当前目标机器时间是凌晨,且确定没有人在用远程桌面,我直接登陆目标远程桌面:
然后对目标桌面上进行信息搜集发现有 SSH 登陆:
成功又拿下内网其他机器:
然后换个用户登陆到 200 这台机器:(发现有大哥扫描过了,资产还挺多)
发现应该都是 docker,没啥价值!资产收集的差不多了该搜集域内的了!
SharpHound 对域内进行信息搜集
通过 SharpHound 对域内进行信息搜集:
- execute-assembly /root/桌面/nw/SharpHound.exe -c all
然后把他下载到本地进行分析:
可以看到当前只有四个域管理员:
由于当前跳板机器是DRAxx,我们就分析 DRAxx 的环境:
可以看到当前机器 DRAxx 可以到达 ERIDANUS.xxxx.xxx 机器,思路就是我们可以通过 ERIDANUS 拿到这台机器的权限,然后在拿到最近的域管!那么我们直接通过之前抓到的 ali.hamzeh 密码去横向 wmi 到 ERIDANUS:
- proxychains python3 wmiexec.py -shell-type cmd xxxx/ali.hamzeh:passsword@192.168.54.53 -codec gbk
然后直接 Powershell 上线到 CobaltStrike:(太卡了这个 socks,又重开了一个 wmi)
由于当前 ERIDANUS 机器没有 AV 直接提权把:
通过查看当前 ERIDANUS 机器发现的确如 SharpHound 分析那样有一个 ebrahim 域管的进程:
直接注入域管进程上线到 CobaltStrike 吧:
成功拿到域管权限!我为了好区分,绿色 beacon 是 域管!之后直接先抓下域管密码 hash:
有了域管的 hash 后,直接可以 PTH 域控:
- proxychains python3 wmiexec.py -shell-type powershell -hashes :84d562d8c6f5xxxxxxxxxx xxxxx/ebrahim@192.168.10.10 -codec gbk
然后还是老样子,直接 PowerShell 上线到 CobaltStrike:(还是老问题,socks 卡,重开了一个窗口)
成功拿到域控 AD :192.168.10.10
然后通过 PTH 也成功拿到域控 INF-AD-2:192.168.10.200
最后 hashdump 拿下整个域用户 hash:
嗯,就到这吧。