
LNHG - Identificador de Websites em Massa
O "LowNoiseHG (LNHG) Massive Web Fingerprinter" ("mwebfp" daqui em diante) foi concebido em julho de 2013 após perceber a utilidade de capturas de tela de servidores web para pentesters, durante um engajamento com grandes faixas de endereços IP externos ou internos, como um meio rápido de identificação de ativos críticos, serviços facilmente exploráveis, servidores esquecidos/desatualizados e conhecimento básico da arquitetura de rede do alvo.
A operação básica do mwebfp consiste no processamento de uma entrada (alvos e portas TCP) que é então usada para identificar portas abertas de servidores web com a ajuda de um poderoso scanner de portas (nmap). Todas as portas encontradas abertas são então analisadas (em HTTP e HTTPS) e todas as informações relevantes do servidor web são registradas, bem como uma captura de tela da página web renderizada (como se vista de um navegador).
# 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 mostra esta mensagem de ajuda e sai
-i INPUT_RANGE, --input-range INPUT_RANGE
faixa de IP no formato CIDR
-n SERVER_NAME, --server-name SERVER_NAME
nome do servidor (nome DNS)
-f INPUT_FILE, --input-file INPUT_FILE
arquivo de entrada contendo endereços IP e/ou faixas IP
-r, --recover recuperar/continuar processo anterior
-p HTTP_PORTS, --http-ports HTTP_PORTS
portas TCP HTTP (Padrão: 80/tcp)
-s HTTPS_PORTS, --https-ports HTTPS_PORTS
portas TCP HTTPS (Padrão: 443/tcp)
-o OUTPUT_DIR, --output-dir OUTPUT_DIR
diretório de trabalho
-t {HTML,XLS,CSV,XML}, --output-format {HTML,XLS,CSV,XML}
formato do relatório de saída (Padrão: HTML)
-v {yes,no}, --vhosts {yes,no}
escolha de processar vhosts para cada endereço IP
(Padrão: no)
-w {yes,no}, --web-screenshots {yes,no}
escolha de capturar telas da web (Padrão: no)
Como a maior parte da P&D feita no LowNoiseHG (LNHG), esta ferramenta foi projetada e desenvolvida apenas por sua utilidade e sem fundos econômicos ou tempo alocado para ela. Todo o desenvolvimento foi feito apenas em tempo pessoal, e continuará conforme recursos interessantes surgirem, e se houver tempo disponível, levando em conta outros projetos.
A versão atual funciona muito bem, embora ainda existam alguns pequenos problemas (bugs) a serem resolvidos, e alguns recursos básicos que podem ser melhorados:
Recursos em andamento:
Bugs conhecidos:
mwebfp e todo o seu código relacionado são lançados sob a licença de código aberto GPL v3. A licença completa está anexada no arquivo LICENSE.md.
Para executar o mwebfp "pronto-para-usar", com todas as opções habilitadas, você precisará de:
NOTA: mwebfp foi desenvolvido e testado em Kali, Ubuntu e Debian. Tenho certeza que VOCÊ pode fazê-lo funcionar em outras plataformas de sua escolha ;)
$ sudo apt-get install -y nmap python python-nmap python-requests git
NÃO use apt-get para isso, ou a versão fornecida pelo seu SO. Você pode verificar se a versão que você tem funciona para o mwebfp executando 'cutycapt --help' e verificando se você tem uma opção '--insecure' ou não, ou se o copyright é '2003-2010' ou '2003-2013' (verifique a última linha da ajuda). Você precisa ter '--insecure' ou copyright '2003-2013' para poder usar o cutycapt com o mwebfp. Se você precisar da versão mais recente, desinstale sua versão atual e siga os próximos passos:
$ 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
Modifique o arquivo ./CutyCapt.hpp, e inclua as duas linhas seguintes após o '#include <QtWebKit>' na primeira linha:
#include <QNetworkReply>
#include <QSslError>
e então:
$ sudo qmake
$ sudo make
$ sudo cp CutyCapt /usr/local/bin/
Você pode testar o parâmetro '--insecure' ou o copyright '2003-2013' com:
$ 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
Você pode verificar a lista completa de opções a qualquer momento com:
$ ./mwebfp -h