Domain Analyzer é uma ferramenta de análise de segurança que descobre e relata automaticamente informações sobre um determinado domínio. Seu principal objetivo é analisar os domínios de forma autônoma.
Exemplo de opções padrão
Funcionamento da Ferramenta
Através do domínio informado, o Domain Analyzer encontra informações sobre ele, como servidores DNS, servidores de e-mail, endereços IP, e-mails no Google, informações de SPF, etc. Depois que todas as informações são armazenadas e organizadas, ele varre as portas de cada IP encontrado usando nmap e executa várias outras verificações de segurança. Depois que as portas são encontradas, é utilizada a ferramenta crawler.py
(por @verovaleros) para exibir a página completa de todas as portas da Web encontradas. Esta ferramenta tem a opção de baixar os arquivos e encontrar pastas abertas.
A versão atual é a 0.8 e os principais recursos são:
- Cria um diretório com todas as informações, incluindo arquivos de saída do nmap;
- Usa cores para observar informações importantes no console;
- Detecta alguns problemas de segurança como problemas de nomes de host, número de portas incomuns e transferências de zona;
- É fortemente testado e muito robusto contra problemas de configuração de DNS;
- Usa o nmap para detecção de host ativo, varredura de portas e informações de versão (incluindo scripts nmap);
- Procura informações de registros SPF para encontrar novos nomes de host ou endereços IP;
- Procura por nomes DNS reverso e faz a comparação com o nome do host;
- Traz o país de cada endereço IP;
- Cria um arquivo PDF com os resultados;
- Detecta e analisa automaticamente subdomínios;
- Procura por domínios de e-mails;
- Verifica os 192 nomes de host mais comuns nos servidores DNS;
- Verifica a Transferência de Zona em cada servidor de DNS;
- Encontra os reverse names da faixa de rede /24 de cada endereço IP;
- Localiza host ativo usando o conjunto completo de técnicas nmap;
- Escaneia as portas usando nmap (lembre-se de que para a varredura SYN você precisa de root);
- Procura informações do host e da porta usando o nmap;
- Detecta automaticamente servidores web usados;
- Rastreia todas as páginas do servidor da Web usando a ferramenta
crawler.py
. Veja a descrição abaixo; - Filtra nomes de host com base no nome deles;
- Pseudo-aleatoriamente busca N domínios no Google e automaticamente os analisa;
- Use CTRL-C para parar o estágio de análise atual e continuar trabalhando;
- Pode ler um arquivo externo com nomes de domínio e tentar encontrá-los no domínio.
Recursos bônus
@verovaleros desenvolveu separadamente um web crawler em python chamado crawler.py
. Seus principais recursos são:
- Rastrear sites http e https;
- Rastrear sites http e https que não estão usando portas comuns;
- Usa expressões regulares para encontrar tags html
href
esrc
e também links de conteúdo; - Identifica links relativos;
- Identifica os e-mails relacionados ao domínio;
- Identifica indexação de diretórios;
- Detecta referências a URLs como
file:
,feed=
,mailto:
,javascript:
e outros; - Usa CTRL-C para parar as etapas atuais do rastreador e continuar trabalhando;
- Identifica extensões de arquivo (zip, swf, sql, rar, etc);
- Faz download de arquivos para um diretório:
- Baixa todos os arquivos importantes (imagens, documentos, arquivos compactados);
- Ou baixe tipos de arquivos especificados;
- Ou, ainda, baixa um conjunto predefinido de arquivos (como arquivos documento: .doc, .xls, .pdf, .odt, .gnumeric, etc.).
- Quantidade máxima de links para rastrear. Um valor padrão de 5000 URLs está definido;
- Seguem os redirecionamentos usando HTML e tag JavaScript Location e códigos de resposta HTTP.
Esta edição estendida tem mais recursos
- World-domination: você pode analisar automaticamente o mundo inteiro! (se você tiver tempo);
- Robin-hood: Embora ainda esteja em desenvolvimento, ele permitirá que você envie automaticamente um e-mail para os endereços de e-mails encontrados durante a varredura com as informações de análise;
- Robtex DNS: Com esta função incrível, toda vez que você encontrar servidores DNS com Transferência de Zona, ele irá recuperar a partir do site Robtex outros domínios usando esse servidor DNS. Ele também irá analisá-los de forma automática. Este pode ser um teste sem fim! Cada servidor DNS vulnerável pode ser usado por centenas de domínios, que por sua vez podem estar usando outros servidores DNS vulneráveis. CUIDADO! Os domínios recuperados não podem ser relacionados ao primeiro.
Exemplos
- Encontre 10 domínios aleatórios no domínio .gov e analise-os por completo (incluindo rastreamento na web). Se encontrar alguma Transferência de Zona, recupere mais domínios usando o Robtex:
domain_analyzer.py -d .gov -k 10 -b
.
domain_analyzer.py -d edu.cn -b -o -g -a -n
.
domain_analyzer.py -d 386.edu.ru -b -o
.
domain_analyzer.py -d amigos.net -o -e
.
domain_analyzer.py -d mil.cn -b -o -g -a -n -v google -x '-O --reason --webxml --traceroute -sS -sV -sC -PN -n -v -p 80,4443'
.
crawler.py -u www.386.edu.ru -w -s -m 100 -f
.
crawler.py -u www.386.edu.ru -w -m 20
.
crawler.py -u ieeeexplore.ieee.org/otherfiles/ -d -v
.
A maioria desses recursos podem ser desativados.
Screenshots
Exemplo de domain_analyzer.py -d .gov -k 10 -b
Instalação
Basta descompactar o arquivo .tar.gz e copiar os arquivos python para o diretório /usr/bin/
. Domain Analyzer precisa ser executado como root. O crawler pode ser executado como um usuário não privilegiado. Se você quer todos os recursos (web crawler, pdf e cores), o que é bom, copie esses arquivos para /usr/bin
ou /usr/local/bin
.
- ansistrm.py
- crawler.py
- pyText2pdf.py
Se você tiver algum problema com o banco de dados GeoIP, baixe-o da sua fonte original por este link. Instale-o no local em que seu sistema necessita, geralmente em /opt/local/share/GeoIP/GeoIP.dat
Download do Domain Analyzer
Para efetuar o download da ferramenta, confira diretamente no projeto oficial neste link.
.