- A+
Panoptic是一个开源的渗透测试工具,它通过LFI漏洞自动检索内容的过程中,可以搜索常见的日志和配置文件。
渗透测试过程中,遇到一个的LFI漏洞却不能将其转换成一个像RFI这样容易利用的漏洞,当开始入侵测试时,你并不知道某大型数据库的配置文件、日志文件或其他重要文件的默认位置的。
出于这种情况,Panoptic就此诞生了。以下将展示一些Panoptic的特性和功能:
依赖:
Python 2.6+(保险起见,2.6以下没试过) Git (可选)
只需执行Panoptic.py脚本
如果你仔细看看上面的截图,您将注意到所有的基本功能展示
(GET / POST请求,socks4/5+ HTTP代理支持,随机(random-agent)、用户(user-agent)代理选择的所有基本功能,添加自定义header和cookie、etc等)。
Panoptic具有内置的启发式检测,在罕见的情况下,这可能会失败。在这种情况下,可以使用–bad-string参数来指定一个匹配HTML字符串响应文件。
如果Panoptic检测bad-string还在响应中,那么它会知道文件未找到。
被搜索到的文件路径都在cases.xml文件中,每个文件的路径相关软件的软件类别、操作系统。分类取决于是否该文件是一个日志,配置文件或其他文件。
有了这些参数,可以过滤搜索,来寻找这些特定的文件: –os, –software, –category –type
./panoptic.py --url "http://localhost/lfi.php?file=x" --os "Windows" --software "WAMP" --type "log"
http://static.freebuf.com/uploads/image/20130410/20130410034228_62530.png
如果你想看到所有的选项,你可以使用 – list参数
./panoptic.py --list software
不仅会显示找到的文件路径,它可以对文件进行保存和写入( –write-file),每个文件的内容将被保存到output/<domain>/<file path>.txt,所以无需再次请求查看文件。
它还可以通过运行清理功能删除不需要的HTML输出。
http://static.freebuf.com/uploads/image/20130410/20130410034147_26118.png
有一个LFI漏洞将里面文件夹扩展名都是在最后增加。在这种情况下,我们可以使用—— –prefix –multiplier –postfix
<?php include("Library/Webserver/Documents/" . $_GET["file"] . ".php"); ?>
此漏洞的PHP代码是一个典型的例子,其中一个空字节必须终止在最后的文件扩展名包括而忽略。可以用下面的Panoptic命令满足以下要求:
./panoptic.py --url "http://localhost/lfi.php?file=x" --prefix "../" --multiplier 3 --postfix "%00"
附加功能:
一些人可能知道可以绕过过滤器,但是不能排除这种可能性,有一些请求是没有办法解除防火墙封锁。对此作者加入了–replace-slash参数
此参数可以任何你指定的文件路径替换所有的正斜杠。
./panoptic.py -u "http://localhost/lfi.php?file=x" --replace-slash "/././"
在这种情况下/etc/passwd将成为/././etc/././passwd
还可以利用包含在backtrack内的DotDotPwn工具来实现寻找绕过过滤深度确定的LFI路径遍历
它现在还可以解析* NIX passwd文件提取用户的主文件夹和搜索不同的常见文件的组合,例如:
.bash_config .bash_history .bash_logout .ksh_history .Xauthority
它还可以解析MySQL二进制日志索引(MySQL bin.index),它使用的二进制日志以获取列表。此功能在默认情况下被禁用。–skip-file-parsing。
- 我的微信
- 这是我的微信扫一扫
- 我的微信公众号
- 我的微信公众号扫一扫