上周 Tim Tomes 在 Pauldotcom 博客上发表了一篇关于使用 MySQL 枚举文件和目录的文章。一看到它,我就觉得这是自动化的绝佳机会[1],因此我为其编写了一个 Metasploit 模块[2]。
Tim 已经很好地解释了扫描的工作原理,因此我只补充一些在测试模块时发现的要点。
首先,如果启用了严格模式,MySQL 会抛出关于尝试将过多数据挤入小空间或错误数据类型的错误,这没问题——如果它成功获取数据并尝试挤入,就意味着文件存在。
要使此功能正常工作,您只需要 FILE 权限。根据 MySQL 规则,该权限必须作为全局选项授予,而不是针对单个数据库。如果您想测试,可以使用以下命令设置用户:
|
|
如果要检查的文件存在但 MySQL 用户无法读取(例如 /etc/shadow),则 MySQL 会报告该文件不存在,我未能找到解决方法。
最后,至少在 Linux 上,目录不需要尾部斜杠。如下例所示,/tmp 和 /tmp/ 都被识别为目录。
非常感谢 Juan Vazquez 帮助我完成了以正确格式将文件提交到仓库的过程。使用 git 比我们过去只是向票务系统提交文件要困难得多,但经过几次尝试后,它开始变得有意义。
该模块名为 auxiliary/scanner/mysql/mysql_file_enum,现已加入主 Metasploit 仓库,您只需更新即可获取。以下是实际操作示例:
|
|
[1] 正如我之前所说,您不必会编码才能成为渗透测试员,但在这种情况下,它确实很有帮助。
[2] 最近有人写了一篇博客文章,抱怨 Metasploit 正在接管漏洞利用市场,并强迫每个人在框架中编写漏洞利用程序。我将此编写为 Metasploit 模块的原因不是被迫,而是因为这意味着其他人已经完成了所有艰苦的工作,包括用户输入、样式优美的输出和访问库。
支持本站
本网站上的任何项目均未获得报酬,因此如果您想支持我的工作,可以通过使用下面的联盟链接来实现,我会获得账户积分或现金返还。通常只有几分钱,但它们会积少成多。
请我喝一杯冰沙
所有内容均由 Robin Wood 创建,除非另有说明。