红日的第七个靶场链接如下:http://vulnstack.qiyuanxuetang.net/vuln/detail/9/,整个靶场的网络环境分为三层。从最初的信息收集、外网初探、攻入内网、搭建代理、横向移动,最终拿下域控。
搭建完成后访问172.20.10.4,发现是一个博客页面对目标ip进行端口扫描发现还开启了22,81,6379端口访问81端口发现是个Larvel的站点,版本v8.29.0存在远程代码执行漏洞,可以拿exp打一下使用脚本getshell,工具地址:https://github.com/SecPros-Team/laravel-CVE-2021-3129-EXP这里使用哥斯拉直接连接就可以。
使用哥斯拉执行命令回显有点问题,就又写了一个php一句话换成了用蚁剑进行连接,发现当前的shell处于docker容器中,反弹shell也失败了。那来看下6379端口的redis有没有未授权,kali直接连接发现存在redis未授权。直接往目标主机上写ssh公钥然后连接redis执行命令写入成功后,ssh进行连接,发现目标主机还存在另外一网段192.168.52.1/24查看主机的基本信息发现存在nginx代理服务,发现我们前面访问的80端口,nginx服务将其转发给了47.117.125.220而81端口的请求转发给了第二层网络的web服务器192.168.52.20。
我们先将前面Larvel的shell反弹给web1,然后获取一个交互式shell:前面已经知道当前的shell是在docker容器中,当前用户为www-data,我们要想办法提权,这里利用环境变量来提权,直接使用find命令来搜索具有SUID或4000权限的文件,在这里发现一个在/home/jobs目录下有一个shell文件,执行该文件发现该文件执行了ps命令并且未使用绝对路径。
更改$PATH来执行我们的恶意程序,从而获得目标主机的高权限shell这个我们已经获取到root权限了,接下来就是要进行docker逃逸发现home目录下有unbuntu用户,可以生成ssh密钥写入到/chan/home/ubuntu/.ssh目录中的authorized_keys文件中,写入成功之后就可以使用该密钥登陆到该机器上。成功登录,系统未ubuntu,还存在192.168.93.1/24网段利用内核提权漏洞CVE-2021-3493进行提权至此已经成功拿下了这两台机器,如下:下面开始上线msf,生成两个elf文件在web1上将两个文件下载下来,执行web1.elf文件此时msf已经接收到web1的session,添加路由web1使用python3开启http服务 web2远程下载并执行we2.elf文件,此时两台机器已上线msf对192.168.52.0段进行存活主机扫描,发现存在192.168.52.30对该主机进行端口扫描如下,发现开启了445端口使用msf的永恒之蓝模块攻击失败发现192.168.52.30还开放了8080端口,配置代理然后访问一下配置好代理后访问8080发现是个通达OA经测试其版本为通达OA V11.3这个版本未授权文件上传、文件包含等漏洞。直接抓包,修改数据包来未授权上传图片马,这里路径为/2112/1345204797.jpg。
文件包含图片马来执行命令,发现也存在另外一个ip192.168.93.20既然可以执行命令来了,生产一个exe木马然后直接上线msf上传到web1,win7远程从web1开启的http服务上将chan.exe下载下来。执行exe成功返回session至此已经拿下第三台机器,经过信息搜集发现域控为192.168.93.30使用meterpreter上的kiwi模块尝试抓取域用户及域管理员的密码在第二层网络Windows服务器的meterpreter中添加一个通往192.168.93.1/24网段的路由对192.168.93.0网段进行存活主机扫描,发现存在192.168.93.30 192.168.93.40使用msf永恒之蓝的扫描模块对这两台机器进行扫描,发现存在永恒之蓝漏洞利用msf模块进行攻击,只有192.168.93.40这台机器成功了至此已经拿下四台主机:我们登录到192.168.93.40这台机器上,我们前面已经获取到了域管理员的账号密码,直接与域控建立ipc连接。
exploit/windows/smb/psexec 模块即可成功登录成功拿下域控,至此三层网络结构中的五台机器已经全部拿下了这里拿师傅的图来展示一下网络结构:通过此次靶场的练习,学习了Laravel远程代码执行、通达OA v11.3的漏洞利用、ssh密钥的利以及sudo权限提升,三层网络代理等。
这里应该还有其他的姿势,等后面在研究研究。