目录导航
在扫描远程主机和 Web 应用程序时,文件包含攻击的危险是一个重要的考虑因素,尤其是在处理支持插件(如 WordPress)的 Web 应用程序时。
RFI 或远程文件包含攻击的目标是通过外部脚本(通常称为应用程序插件)、挂钩、主题以及运行时动态包含在 Web 应用程序中的任何内容来使用包含的 Web 应用程序。

如果这些包含包含漏洞,则利用包含很可能会导致主 Web 应用程序被利用。
这就是为什么今天我们将看一看 Uniscan项目。用项目自己的话来说,Uniscan 是一个简单的远程文件包含、本地文件包含和远程命令执行漏洞扫描器。
安装
我们推荐使用Kali Linux for Uniscan,因为它可以通过包管理器轻松安装。
在 Kali Linux 上安装 Uniscan 相对简单,因为它可以通过 APT 包管理器直接安装,不需要从源代码编译。
首先,我们使用以下命令更新我们的 APT 包管理器信息:
apt update
接下来,我们继续安装 Uniscan:
apt install uniscan

要验证 Uniscan 安装是否成功,让我们运行以下命令:
sudo uniscan
然后应该返回以下输出,其中显示 Uniscan 可用的选项/标志:

┌──(root?ddosi)-[~/桌面]
└─# uniscan
####################################
# Uniscan project #
# http://uniscan.sourceforge.net/ #
####################################
V. 6.3
参数:
-h 帮助信息
-u <url> 例如: https://www.example.com/
-f <file> url's列表-批量扫描
-b 后台运行Uniscan
-q 启用目录检查
-w 启用文件检查
-e 启用robots.txt和sitemap.xml检查
-d 启用动态检查
-s 使用静态检查
-r 启用压力测试
-i <dork> Bing搜索
-o <dork> Google搜索
-g web指纹
-j 服务器指纹
用法示例:
[1] perl ./uniscan.pl -u http://www.example.com/ -qweds
[2] perl ./uniscan.pl -f sites.txt -bqweds
[3] perl ./uniscan.pl -i uniscan
[4] perl ./uniscan.pl -i "ip:xxx.xxx.xxx.xxx"
[5] perl ./uniscan.pl -o "inurl:test"
[6] perl ./uniscan.pl -u https://www.example.com/ -r
配置
Uniscan 也可以以最少的配置运行,但它确实允许进行大量的自定义:
- -h — -h 标志向我们展示了 Uniscan 下的所有可用选项。
- -u — -u 标志用于指定被扫描的 URL,例如:https://www.example.com/
- -f — 如果您希望扫描 URL 列表,您可以将它们输入到一个文本文件中并使用 -f 标志引用它们。
- -b — 如果要扫描多个 URL,则扫描可能需要一段时间才能完成。使用 -b 标志推动 Uniscan 在后台运行;或者,您可以在“屏幕”会话以及 Linux 下运行 Uniscan。
- -q — -q 标志为正在扫描的目标启用基于目录的检查。
- -w — “-w”标志使 Uniscan 能够检查被扫描的远程主机上是否存在文件。
- -e — “-e”标志使 Uniscan 能够检查 robots.txt 和 sitemap.xml,这可以进一步帮助识别目标主机上运行的脚本/Web 应用程序的类型。
- -d — “-d”标志启用 Uniscan 中的动态检查,以检查任何动态文件包含。
- -s — “-s”标志启用 Uniscan 中的静态检查,以检查任何静态文件包含。
- -r — “-r”标志允许在被扫描的目标上运行压力检查。
- -i 和 -o 标志执行 Bing 和 Google 搜索与正在扫描的目标相关的傻瓜。
- -g — “-g”标志用于 Web 指纹识别,这有助于识别 Web 服务器上运行的 Web 应用程序、启用的插件(例如,在 WordPress 中)、服务器上运行的 WordPress 版本,和更多。
- -j — “-j”标志用于启用服务器指纹检查/列表,允许识别服务器软件。这将执行诸如 ping、Nmap、traceroute 以及列出正在运行的 Web 服务器和操作系统之类的操作。
测试和结果
要在 Web 应用程序上运行基本扫描,我们使用标志“qweds”,它指示 Uniscan 执行以下操作:
- 目录检查 (q)
- 文件检查 (w)
- 机器人/站点地图检查 (e)
- 动态文件包含检查 (d)
- 静态文件包括检查
标志“qweds”执行的检查都可以在同一次运行中执行,使用命令:
sudo uniscan -u https://target.webapp.url -qweds
注意:将https://target.webapp.url替换为您要扫描的实际 URL。
然后返回给我们以下输出:

如上所示,当执行目录和文件检查时,Uniscan 将查找并列出目录以及在被扫描的目标上看到的文件。
接下来,Uniscan 对robot.txt、站点地图执行检查,并开始枚举与被扫描目标链接的每个外部主机:

Uniscan 还列出了在被扫描的 Web 应用程序上找到的电子邮件地址,如下面的屏幕截图所示:

然后,Uniscan 加载其插件以执行 RFI(远程文件包含)攻击测试、XSS、SQL 注入测试等:

最后但并非最不重要的是,检查 web 应用程序是否有任何 web shell,并将结果保存到 .html 格式的报告文件中:

运行网络指纹扫描
运行网络指纹扫描是另一个方便的 Uniscan 功能。此选项针对正在扫描的 Web 应用程序运行检查,并尝试在运行其他扫描(例如捕获错误信息、WHOIS 信息、语言和有趣的字符串)的同时识别它。
要运行网络指纹扫描,我们使用 -g 和 -u 标志:
sudo uniscan -g -u scanme.nmap.org
然后返回以下结果:

运行服务器指纹扫描
与 Web 指纹扫描类似,运行服务器指纹扫描是 Uniscan 的另一个关键功能,它运行一系列测试,例如 ping、traceroute、Nmap 和 Nslookup:
要运行服务器指纹扫描,我们使用 -j 和 -u 标志:
sudo uniscan -j -u scanme.nmap.org
然后返回以下 ping 和 traceroute 结果:

其次是 Nslookup 结果:

而且,最重要的是,发现和探测到的每个端口的 Nmap 结果:

uniscan-gui
uniscan还自带gui界面
开启命令
uniscan-gui

概括
虽然这个项目在很多年前就已经死了,但它仍然在 Kali Linux 存储库中提供,并证明它是任何安全分析工具包的一个很好的补充。该工具还提供其他关键功能,例如压力检查和将扫描结果生成为 HTML 格式的文件。
此外,Uniscan 还执行与指纹相关的关键功能,例如网络指纹检查,它允许人们找出正在运行的网络应用程序的哪个版本,以及启用了哪些插件。另一个有趣的功能是服务器指纹识别功能,它允许您了解有关服务器本身的更多信息,执行诸如 Nmap 扫描、traceroutes、ping 检查等扫描,识别 Web 服务器和服务器上运行的操作系统。
最后但并非最不重要的一点是,凭借其简单、轻松的安装过程和通过 KaliLinux 本身的 APT 包管理器的可用性,Uniscan 集成到一个人的安全工具集中并且易于使用。
Hi, is this tool still relevant?