raven靶机实战(linux-udf提权)-vuluhub系列(四)

这是vulnhub靶机系列文章的第四篇,本次的靶机感觉还是挺有趣的,学到的重要知识点为linux下-mysql的udf提权以及某cms的漏洞getshell,开始吧...
靶机下载链接:https://download.vulnhub.com/raven/Raven2.ova

 

#001 环境搭建(nat)

攻击机kali:192.168.136.129

靶机Raven2:192.168.136.140

 

#002 实战writeup

寻找靶机ip,netdiscover -i eth0,找到靶机ip为192.168.136.140

 

 Nmap扫描靶机端口情况,看到开放了22,80,111端口

raven靶机实战(linux-udf提权)-vuluhub系列(四)_第1张图片

 

 从web端下手,访问80端口,发现是wordpress搭建的博客页面,先不急用wpscan扫,跑一下目录,看下有没有其他发现,发现了img和vendor目录,img目录存放的博客的图片,感觉没啥用..

raven靶机实战(linux-udf提权)-vuluhub系列(四)_第2张图片

 

 访问http://192.168.136.140/vendor/目录发现了phpmailer,由于没见过这玩意就百度了一波

 

 

查看到版本为5.2.16,查找一下有没有历史漏洞,找到了远程代码执行漏洞,并且可以getshell,漏洞编号为CVE-2016-10033

raven靶机实战(linux-udf提权)-vuluhub系列(四)_第3张图片

漏洞影响范围WordPress、Drupal、1CRM、Joomla!等使用了PHPMailer的开源CMS
PHPMailer < 5.2.18

用kali的searchsploit phpmailer,不得不说真的方便,找到几个可以的利用exp,

这里使用py的exp脚本
raven靶机实战(linux-udf提权)-vuluhub系列(四)_第4张图片

 

 Locate一下exp的位置,然后复制到当前目录

 

 

#003 利用脚本getshell

到https://www.exploit-db.com/exploits/40974查看了脚本使用方法,发现需要修改脚本的几个参数

 

修改脚本,执行攻击,首先找到网站发邮件的地方

raven靶机实战(linux-udf提权)-vuluhub系列(四)_第5张图片

 

修改以下的地方,然后python执行脚本,如果报错,加上utf8的编码头部

 

然后执行脚本,出现以下页面代表执行成功

raven靶机实战(linux-udf提权)-vuluhub系列(四)_第6张图片

 

Kali开启监听6666端口,浏览器访问a.php文件,成功getshell,python一句话转为标准终端,查看权限为网站用户权限,需要提权

raven靶机实战(linux-udf提权)-vuluhub系列(四)_第7张图片

 

 #004 提权操作

查看目录下有wordpress文件,因为wordpress搭建网站肯定有数据库配置文件的,通过它寻找数据库账号密码

raven靶机实战(linux-udf提权)-vuluhub系列(四)_第8张图片

 

Cat 查看配置文件信息,发现了数据库的账号密码,并且为root,可以尝试利用udf提权

raven靶机实战(linux-udf提权)-vuluhub系列(四)_第9张图片

 

首先kali编译好.so文件,把udf文件放到kali网站根目录下,然后靶机利用wget下载

 raven靶机实战(linux-udf提权)-vuluhub系列(四)_第10张图片

 

登陆到mysql命令行,mysql -u root -p,然后输入密码登陆进mysql命令行

raven靶机实战(linux-udf提权)-vuluhub系列(四)_第11张图片

 

udf提权步骤,首先查看有哪些数据库,并把.so文件导入到mysql的plugin目录下,和windows下类似

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/udf.so’; create function do_system returns integer soname ‘udf.so’;

raven靶机实战(linux-udf提权)-vuluhub系列(四)_第12张图片

 

利用创建出来的函数执行命令,给find加上s权限,目的是想利用find的suid提权,方便

select do_system('chmod u+s /usr/bin/find');

 raven靶机实战(linux-udf提权)-vuluhub系列(四)_第13张图片

 

然后利用find / -exec "/bin/sh" \;提权,whoami查看成功提权到root

 raven靶机实战(linux-udf提权)-vuluhub系列(四)_第14张图片

 

#006 总结归纳

phpmailer远程代码执行漏洞利用py脚本getshell

wordpress数据库配置文件查找账号密码

mysql udf提权(linux)的利用

你可能感兴趣的:(raven靶机实战(linux-udf提权)-vuluhub系列(四))