"LowNoiseHG (LNHG) 大规模网络指纹识别器"(以下简称"mwebfp")于2013年7月构思,源于在一次涉及大型外部或内部IP地址范围的渗透测试任务中,认识到Web服务器截图对渗透测试人员的实用性——它可作为快速识别关键资产、易利用服务、被遗忘/过时服务器以及目标基本网络架构知识的手段。
mwebfp的基本操作流程是:处理输入(目标与TCP端口),然后借助强大的端口扫描器(nmap)识别开放的Web服务器端口。所有发现的开放端口都将被分析(HTTP和HTTPS),记录所有相关的Web服务器信息,并截取渲染后的网页截图(如同从浏览器中看到的一样)。
# LowNoiseHG Massive Web Fingerprinter
# by F4Lc0N - LNHG - USA/Colombia
#
# Thanks to ET, c4an, Th3R3g3nt, ch0ks and ElJeffe311
# for inspiration, ideas and debugging/beta-testing help.
usage: mwebfp.py [-h]
[-i INPUT_RANGE | -n SERVER_NAME | -f INPUT_FILE | -r]
[-p HTTP_PORTS] [-s HTTPS_PORTS] [-o OUTPUT_DIR]
[-t {HTML,XLS,CSV,XML}] [-v {yes,no}] [-w {yes,no}]
optional arguments:
-h, --help show this help message and exit
-i INPUT_RANGE, --input-range INPUT_RANGE
input IP CIDR range
-n SERVER_NAME, --server-name SERVER_NAME
name of server (DNS name)
-f INPUT_FILE, --input-file INPUT_FILE
input file containing IP addresses and/or IP ranges
-r, --recover recover/continue previous process
-p HTTP_PORTS, --http-ports HTTP_PORTS
TCP HTTP ports (Default: 80/tcp)
-s HTTPS_PORTS, --https-ports HTTPS_PORTS
TCP HTTPS ports (Default: 443/tcp)
-o OUTPUT_DIR, --output-dir OUTPUT_DIR
working directory
-t {HTML,XLS,CSV,XML}, --output-format {HTML,XLS,CSV,XML}
output report format (Default: HTML)
-v {yes,no}, --vhosts {yes,no}
choice of processing vhosts for each IP address
(Default: no)
-w {yes,no}, --web-screenshots {yes,no}
choice of taking web schreenshots (Default: no)
如同**LowNoiseHG (LNHG)**中大部分研发工作一样,该工具仅因其实用性而被设计和开发,没有任何经济资助或专门时间分配。所有开发均利用个人时间完成,并将随着有趣功能的出现而继续进行,同时需根据其他项目情况考虑可用时间。
当前版本运行良好,但仍有一些小问题(Bug)需要修复,以及一些基本功能可以改进:
正在开发中的功能:
已知Bug:
mwebfp及其所有相关代码均根据GPL v3 开源许可证发布。完整许可证请参阅LICENSE.md文件。
若需在"开箱即用"(直接克隆使用)的情况下启用所有选项运行mwebfp,您需要:
注意: mwebfp已在Kali、Ubuntu和Debian上开发和测试。我相信您可以让它在您选择的其他平台上运行 ;)
$ sudo apt-get install -y nmap python python-nmap python-requests git
请不要使用apt-get安装,也不要使用操作系统提供的版本。您可以通过运行cutycapt --help检查现有版本是否适用于mwebfp,查看是否包含--insecure选项,或者版权信息是"2003-2010"还是"2003-2013"(查看帮助最后一行的版权信息)。您需要拥有--insecure选项或版权为"2003-2013"才能将cutycapt与mwebfp一起使用。
如果您需要最新版本,请卸载当前版本并执行以下步骤:
$ cd /opt
$ sudo apt-get install -y subversion g++ libqt4-webkit libqt4-dev
$ sudo svn checkout svn://svn.code.sf.net/p/cutycapt/code/ cutycapt
$ cd cutycapt/CutyCapt
修改文件./CutyCapt.hpp,在第一行中#include \<QtWebKit\>之后添加以下两行:
#include <QNetworkReply>
#include <QSslError>
然后执行:
$ sudo qmake
$ sudo make
$ sudo cp CutyCapt /usr/local/bin/
您可以通过以下命令测试是否拥有--insecure参数或"2003-2013"版权信息:
$ cutycapt --help
$ cd /opt
$ sudo git clone https://github.com/falcon-lnhg/mwebfp.git
$ cd mwebfp
$ ./mwebfp -i 10.0.0.0/8 -o OutputDir -w yes -v no
您随时可以通过以下命令查看完整的选项列表:
$ ./mwebfp -h