
LNHG - Массовый веб-фазер
«LowNoiseHG (LNHG) Massive Web Fingerprinter» (далее «mwebfp») был задуман в июле 2013 года после осознания полезности скриншотов веб-серверов для пентестеров при работе с большими внешними или внутренними IP-диапазонами, как быстрое средство идентификации критических активов, легко эксплуатируемых сервисов, забытых/устаревших серверов и базового понимания сетевой архитектуры цели.
Основная работа mwebfp заключается в обработке входных данных (цели и TCP-порты), которые затем используются для обнаружения открытых портов веб-серверов с помощью мощного сканера портов (nmap). Все найденные открытые порты анализируются (по HTTP и HTTPS), записывается вся релевантная информация о веб-сервере, а также делается скриншот отображаемой веб-страницы (так, как она видна в браузере).
# 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), этот инструмент был спроектирован и разработан исключительно исходя из его полезности, без финансовых вложений или выделенного времени. Вся разработка велась только в личное время и будет продолжаться по мере появления интересных функций, если позволит время с учётом других проектов.
Текущая версия работает очень хорошо, хотя ещё есть некоторые мелкие недочёты (баги), которые нужно исправить, и некоторые базовые функции, которые можно улучшить:
Функции в разработке:
Известные баги:
mwebfp и весь связанный с ним код распространяется под открытой лицензией GPL v3. Полный текст лицензии приложен в файле LICENSE.md.
Для запуска mwebfp «из коробки» со всеми включёнными опциями вам понадобятся:
ПРИМЕЧАНИЕ: mwebfp разработан и протестирован на Kali, Ubuntu и Debian. Я уверен, что ВЫ сможете заставить его работать на других платформах по вашему выбору ;)
$ sudo apt-get install -y nmap python python-nmap python-requests git
НЕ используйте для этого apt-get или версию, предоставленную вашей ОС. Вы можете проверить, подходит ли ваша версия для mwebfp, выполнив 'cutycapt --help' и проверив наличие опции '--insecure' или если копирайт '2003-2010' или '2003-2013' (проверьте последнюю строку справки). Для работы cutycapt с mwebfp необходима опция '--insecure' или копирайт '2003-2013'. Если вам нужна последняя версия, удалите текущую версию и выполните следующие шаги:
$ 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