Continuamos a falar sobre ferramentas úteis para o pentester. Em um novo artigo, consideraremos ferramentas para analisar a segurança de aplicativos da web.
Nosso colega
BeLove já fez uma
seleção semelhante há cerca de sete anos. É interessante ver quais ferramentas mantiveram e fortaleceram suas posições e quais recuaram para o segundo plano e raramente são usadas agora.

Observe que o Burp Suite também se aplica aqui, mas haverá uma publicação separada sobre ele e seus plugins úteis.
Conteúdo:
Acumular
Amass é uma ferramenta Go para localizar e enumerar subdomínios DNS e mapear uma rede externa. Amass é um projeto da OWASP projetado para mostrar como as organizações na Internet se parecem com um observador externo. O Amass recebe nomes de subdomínios de várias maneiras; a ferramenta usa enumeração recursiva de subdomínios e pesquisa de código aberto.
Para detectar segmentos de rede interconectados e números de sistemas autônomos, o Amass usa os endereços IP obtidos durante a operação. Todas as informações encontradas são usadas para construir um mapa de rede.
Prós:
- As técnicas de coleta de informações incluem:
* DNS - enumeração de subdomínios em um dicionário, subdomínios bruteforce, enumeração "inteligente" usando mutações baseadas em subdomínios encontrados, consultas DNS reversas e pesquisa de servidores DNS onde é possível fazer uma solicitação de transferência de zona (AXFR);
* Pesquise em fontes abertas - Ask, Baidu, Bing, CommonCrawl, DNSDB, DNSDumpster, DNSTable, Dogpile, Exalead, FindSubdomains, Google, IPv4Info, Netcraft, PTRArchive, Riddler, SiteDossier, ThreatCrowd, VirusTotal, Yahoo;
* Pesquise bancos de dados de certificados TLS - Censys, CertDB, CertSpotter, Crtsh, Entrust;
* Usando APIs de mecanismo de pesquisa - BinaryEdge, BufferOver, CIRCL, HackerTarget, PassiveTotal, Robtex, SecurityTrails, Shodan, Twitter, Umbrella, URLScan;
* Pesquise nos arquivos da Web da Internet: ArchiveIt, ArchiveToday, Arquivo, LoCArchive, OpenUKArchive, UKGovArchive, Wayback; - Integração com Maltego;
- Fornece a cobertura mais completa da tarefa de localizar subdomínios DNS.
Contras:
- Mais precisamente com amass.netdomains - ele tentará acessar todos os endereços IP na infraestrutura identificada e obter nomes de domínio de consultas DNS reversas e certificados TLS. Essa é uma técnica "barulhenta"; pode revelar suas ações de inteligência na organização em estudo.
- Alto consumo de memória, pode consumir até 2 GB de RAM em configurações diferentes, o que não permitirá executar essa ferramenta na nuvem em um VDS barato.

Altdns
Altdns é uma ferramenta Python para
criar dicionários para enumerar subdomínios DNS. Permite gerar muitas variantes de subdomínios usando mutações e permutações. Para fazer isso, usamos palavras que geralmente são encontradas em subdomínios (por exemplo: teste, desenvolvimento, teste), todas as mutações e permutações são aplicadas a subdomínios já conhecidos que podem ser inseridos no Altdns. A saída é uma lista de variações de subdomínios que podem existir e, posteriormente, essa lista pode ser usada com força bruta de DNS.
Prós:
- Funciona bem com grandes conjuntos de dados.
aquatone
aquatone - anteriormente era mais conhecido como outra ferramenta para encontrar subdomínios, mas o próprio autor abandonou isso em favor da mencionada Amass. O Aquatone agora foi reescrito no Go e é mais direcionado para a exploração preliminar de sites. Para fazer isso, o aquatone percorre os domínios especificados e procura sites neles em portas diferentes, após o qual coleta todas as informações sobre o site e faz uma captura de tela. Conveniente para inteligência preliminar rápida em sites, após o qual você pode selecionar alvos prioritários para ataques.
Prós:
- Na saída, ele cria um grupo de arquivos e pastas que são convenientes de usar ao trabalhar com outras ferramentas:
* Relatório HTML com capturas de tela coletadas e agrupadas por cabeçalhos de resposta de similaridade;
* Um arquivo com todos os URLs nos quais os sites foram encontrados;
* Arquivo com estatísticas e dados da página;
* Uma pasta com arquivos contendo cabeçalhos de resposta dos objetivos encontrados;
* Uma pasta com arquivos contendo o corpo da resposta dos objetivos encontrados;
* Screenshots de sites encontrados; - Oferece suporte ao trabalho com relatórios XML do Nmap e Masscan;
- Usa Chrome / Chromium decapitado para renderizar capturas de tela.
Contras:
- Pode atrair a atenção dos sistemas de detecção de intrusão, por isso requer configuração.
A captura de tela foi feita para uma das versões antigas do aquatone (v0.5.0), nas quais a pesquisa por subdomínios DNS foi implementada. Versões antigas podem ser encontradas na
página de lançamentos .
Captura de tela aquatone v0.5.0MassDNS
O MassDNS é outra ferramenta para encontrar subdomínios DNS. Sua principal diferença é que ele faz consultas DNS diretamente para muitos resolvedores DNS diferentes e faz isso a uma velocidade considerável.
Prós:
- Rápido - capaz de resolver mais de 350 mil nomes por segundo.
Contras:
- O MassDNS pode causar uma carga significativa nos resolvedores de DNS usados, o que pode levar a uma proibição desses servidores ou a reclamações ao seu provedor. Além disso, causará uma grande carga nos servidores DNS da empresa se eles os tiverem e se forem responsáveis pelos domínios que você está tentando resolver.
- A lista de resolvedores está desatualizada agora, no entanto, se você selecionar resolvedores de DNS quebrados e adicionar novos, tudo ficará bem.

nsec3map
O nsec3map é uma ferramenta Python para obter uma lista completa de domínios protegidos pelo DNSSEC.
Prós:
- Ele detecta rapidamente hosts em zonas DNS com um número mínimo de consultas se o suporte DNSSEC estiver ativado na zona;
- Ele inclui um plugin para John the Ripper, que pode ser usado para decifrar os hashes NSEC3 recebidos.
Contras:
- Muitos erros de DNS não são tratados corretamente;
- Não há paralelização automática do processamento de registros NSEC - você precisa dividir o espaço para nome manualmente;
- Alto consumo de memória.
Acunetix
O Acunetix é um scanner de vulnerabilidades da web que automatiza o processo de verificação da segurança de aplicativos da web. Testa o aplicativo para injeção de SQL, XSS, XXE, SSRF e muitas outras vulnerabilidades da web. No entanto, como qualquer outro scanner de muitas vulnerabilidades da Web, ele não substitui o pentester, porque cadeias complexas de vulnerabilidades ou vulnerabilidades na lógica não podem ser encontradas. Mas ele abrange muitas vulnerabilidades diferentes, incluindo várias CVEs, das quais o pentester pode esquecer, portanto, é muito conveniente para isenção de verificações de rotina.
Prós:
- Baixos falsos positivos
- Os resultados podem ser exportados como relatórios;
- Realiza um grande número de verificações para várias vulnerabilidades;
- Varredura paralela de vários hosts.
Contras:
- Não há algoritmo de deduplicação (a Acunetix considera que as páginas têm a mesma funcionalidade porque possuem URLs diferentes), mas os desenvolvedores estão trabalhando nisso;
- Requer instalação em um servidor Web separado, o que complica o teste de sistemas clientes com uma conexão VPN e o uso de um scanner em um segmento isolado de uma rede cliente local;
- O serviço sob investigação pode "fazer barulho", por exemplo, enviar muitos vetores de ataque para a forma de comunicação no site, complicando bastante os processos de negócios;
- É uma solução proprietária e, portanto, não livre.

Dirsearch
Dirsearch é uma ferramenta Python para diretórios e arquivos de força bruta em sites.
Prós:
- Pode distinguir páginas "200 OK" reais das páginas "200 OK", mas com o texto "página não encontrada";
- Vem com um dicionário útil que tem um bom equilíbrio entre tamanho e eficiência de pesquisa. Contém caminhos padrão comuns a muitas pilhas de CMS e tecnologia;
- Formato de dicionário próprio, que permite obter boa eficiência e flexibilidade na classificação de arquivos e diretórios;
- Saída conveniente - texto simples, JSON;
- Capaz de acelerar - uma pausa entre solicitações, que é vital para qualquer serviço fraco.
Contras:
- As extensões precisam ser transmitidas como uma string, o que é inconveniente se você precisar passar muitas extensões ao mesmo tempo;
- Para usar seu dicionário, ele precisará ser ligeiramente modificado para o formato dos dicionários do Dirsearch para obter a máxima eficiência.

wfuzz
wfuzz - Python para aplicações web. Provavelmente um dos mais famosos phasers da web. O princípio é simples: o wfuzz permite a fase de qualquer lugar na solicitação HTTP, o que possibilita a fase dos parâmetros GET / POST, cabeçalhos HTTP, incluindo cookies e outros cabeçalhos de autenticação. Ao mesmo tempo, é conveniente para diretórios e arquivos simples do bruteforce, o que requer um bom dicionário. Ele também possui um sistema de filtro flexível com o qual você pode filtrar respostas de um site por vários parâmetros, o que permite alcançar resultados efetivos.
Prós:
- Multifuncional - estrutura modular, a montagem leva vários minutos;
- Mecanismo de filtragem e difusão conveniente;
- Você pode colocar em fase qualquer método HTTP, bem como qualquer lugar na solicitação HTTP.
Contras:

ffuf
ffuf - O web fuzzer Go, criado à “imagem e semelhança” do wfuzz, permite criar arquivos brutos, diretórios, caminhos de URL, nomes e valores de parâmetros GET / POST, cabeçalhos HTTP, incluindo o cabeçalho Host para força bruta de hosts virtuais. O Wfuzz difere do seu equivalente por uma velocidade mais alta e alguns novos recursos, por exemplo, os dicionários no formato Dirsearch são suportados.
Prós:
- Os filtros são semelhantes aos filtros wfuzz, eles permitem que você configure com flexibilidade o bruteforce;
- Permite difundir os valores de cabeçalhos HTTP, dados de solicitação POST e várias partes da URL, incluindo os nomes e valores dos parâmetros GET;
- Você pode especificar qualquer método HTTP.
Contras:

gobuster
gobuster - uma ferramenta do Go para reconhecimento, possui dois modos de operação. O primeiro é usado para arquivos e diretórios de força bruta no site, o segundo - para iterar pelos subdomínios DNS. A ferramenta inicialmente não suporta enumeração recursiva de arquivos e diretórios, o que, obviamente, economiza tempo, mas, por outro lado, a força bruta de cada novo endpoint no site precisa ser executada separadamente.
Prós:
- Alta velocidade de trabalho para enumerar subdomínios DNS e para arquivos e diretórios de força bruta.
Contras:
- A versão atual não suporta a instalação de cabeçalhos HTTP;
- Por padrão, apenas alguns dos códigos de status HTTP são considerados válidos (200.204.301.302.307).

Arjun
Arjun é uma ferramenta para força bruta de parâmetros HTTP ocultos nos parâmetros GET / POST, bem como no JSON. O dicionário interno possui 25.980 palavras que o Ajrun verifica em quase 30 segundos. O truque é que o Ajrun não verifica cada parâmetro separadamente, mas verifica imediatamente ~ 1000 parâmetros por vez e procura ver se a resposta foi alterada. Se a resposta tiver sido alterada, divida esses 1000 parâmetros em duas partes e verifique qual dessas partes afeta a resposta. Assim, usando uma pesquisa binária simples, você pode encontrar um parâmetro ou vários parâmetros ocultos que influenciaram a resposta e, portanto, podem existir.
Prós:
- Alta velocidade devido à pesquisa binária;
- Suporte para parâmetros GET / POST, bem como parâmetros na forma de JSON;
O plug-in do Burp Suite,
param-miner , que também é muito bom em encontrar parâmetros HTTP ocultos, funciona de acordo com um princípio semelhante. Falaremos mais sobre isso em um próximo artigo sobre Burp e seus plugins.

Linkfinder
LinkFinder é um script Python para encontrar links em arquivos JavaScript. Útil para encontrar pontos de extremidade / URLs ocultos ou esquecidos em um aplicativo da web.
Prós:
- Rápido;
- Existe um plugin especial para o Chrome baseado no LinkFinder.
.
Contras:
- Conclusão final inconveniente;
- Não analisa JavaScript em dinâmica;
- Uma lógica bastante simples para encontrar links - se o JavaScript estiver de alguma forma ofuscado ou se os links estiverem inicialmente ausentes e gerados dinamicamente, não será possível encontrar nada.

Jsparser
JSParser é um script Python que usa
Tornado e
JSBeautifier para analisar URLs relativas de arquivos JavaScript. Muito útil para detectar solicitações AJAX e compilar uma lista de métodos de API com os quais o aplicativo interage. Efetivamente emparelhado com o LinkFinder.
Prós:
- Análise rápida de arquivos javascript.

sqlmap
O sqlmap é provavelmente uma das ferramentas mais famosas para analisar aplicativos da web. O Sqlmap automatiza a busca e operação de injeções de SQL, trabalha com vários dialetos do SQL, possui em seu arsenal um grande número de técnicas diferentes, variando entre aspas "na testa" e terminando com vetores complexos para injeções de SQL baseadas no tempo. Além disso, possui muitas técnicas de exploração adicionais para vários DBMSs, portanto, é útil não apenas como um scanner de injeções de SQL, mas também como uma ferramenta poderosa para explorar as injeções de SQL já encontradas.
Prós:
- Um grande número de diferentes técnicas e vetores;
- Baixo número de falsos positivos;
- Muitas possibilidades de ajuste fino, várias técnicas, banco de dados de destino, scripts de violação para ignorar o WAF;
- Capacidade de despejar dados de saída;
- Existem muitas opções operacionais diferentes, por exemplo, para alguns bancos de dados - upload / download automático de arquivos, obtendo a capacidade de executar comandos (RCE) e outros;
- Suporte para conexão direta ao banco de dados usando os dados obtidos durante o ataque;
- Você pode enviar um arquivo de texto com resultados de Burp para a entrada - não é necessário compor manualmente todos os atributos da linha de comando.
Contras:
- É difícil personalizar, por exemplo, para escrever algumas das suas verificações devido à escassa documentação para isso;
- Sem as configurações apropriadas, ele executa um conjunto incompleto de verificações, o que pode ser enganoso.

NoSQLMap
O NoSQLMap é uma ferramenta Python para automatizar a pesquisa e operação de injeções NoSQL. É conveniente usar não apenas nos bancos de dados NoSQL, mas também diretamente ao auditar aplicativos da Web usando o NoSQL.
Prós:
- Como o sqlmap, ele não apenas encontra vulnerabilidades em potencial, mas também verifica a possibilidade de sua exploração para o MongoDB e o CouchDB.
Contras:
- Não suporta NoSQL para Redis, Cassandra, o desenvolvimento está em andamento nessa direção.
oxml_xxe
oxml_xxe é uma ferramenta para incorporar explorações XXE XML em vários tipos de arquivos que usam o formato XML de alguma forma.
Prós:
- Ele suporta muitos formatos comuns, como DOCX, ODT, SVG, XML.
Contras:
- Suporte não totalmente implementado para PDF, JPEG, GIF;
- Cria apenas um arquivo. Para resolver esse problema, você pode usar a ferramenta docem , que pode criar um grande número de arquivos de carga útil em locais diferentes.
Os utilitários acima fazem um ótimo trabalho ao testar o XXE ao carregar documentos que contêm XML. Mas também não esqueça que os manipuladores de formato XML podem ser encontrados em muitos outros casos, por exemplo, XML pode ser usado como formato de dados em vez de JSON.
Portanto, recomendamos que você preste atenção no seguinte repositório, que contém um grande número de cargas diferentes:
PayloadsAllTheThings .
tplmap
O tplmap é uma ferramenta Python para detectar e explorar automaticamente as vulnerabilidades de injeção de modelos no servidor; possui configurações e sinalizadores semelhantes ao sqlmap. Ele usa várias técnicas e vetores diferentes, incluindo injeção cega, e também possui técnicas para executar código e carregar / descarregar arquivos arbitrários. Além disso, possui em seu arsenal técnicas para uma dúzia de mecanismos diferentes para modelos e algumas técnicas para encontrar eval () - injeções de código semelhantes em Python, Ruby, PHP, JavaScript. Em caso de operação bem-sucedida, abre um console interativo.
Prós:
- Um grande número de diferentes técnicas e vetores;
- Suporta muitos mecanismos para renderizar modelos;
- Muitas técnicas operacionais.
Cewl
CeWL é um gerador de dicionário Ruby, projetado para extrair palavras únicas de um site especificado, e segue links em um site até uma profundidade especificada. Um dicionário compilado de palavras exclusivas pode ser usado posteriormente para senhas de força bruta em serviços ou arquivos e diretórios de força bruta no mesmo site, ou para atacar hashes recebidos usando hashcat ou John the Ripper. Útil ao compilar uma lista "direcionada" de senhas em potencial.
Prós:
Contras:
- Você precisa ter cuidado com a profundidade da pesquisa para não capturar um domínio extra.
Weakpass
O Weakpass é um serviço que contém muitos dicionários com senhas exclusivas. É extremamente útil para várias tarefas relacionadas a senhas de hackers, desde uma simples conta de força bruta on-line nos serviços de destino, terminando com uma força bruta offline recebida por
hashcat usando
hashcat ou
John The Ripper . Composto por cerca de 8 bilhões de senhas com comprimento de 4 a 25 caracteres.
Prós:
- Ele contém dicionários específicos e dicionários com as senhas mais comuns - você pode escolher um dicionário específico para suas próprias necessidades;
- Os dicionários são atualizados e atualizados com novas senhas;
- Os dicionários são classificados por desempenho. Você pode escolher uma opção para força bruta on-line rápida e para uma seleção completa de senhas de um dicionário volumoso com os últimos vazamentos;
- Há uma calculadora mostrando a senha em tempo bruto no seu equipamento.

Em um grupo separado, gostaríamos de colocar ferramentas para verificações de CMS: WPScan, JoomScan e AEM hacker.
AEM_hacker
O hacker AEM é uma ferramenta para identificar vulnerabilidades nos aplicativos Adobe Experience Manager (AEM).
Prós:
- Ele pode identificar aplicativos AEM da lista de URLs enviados a ele na entrada;
- Ele contém scripts para obter o RCE carregando um shell JSP ou operando o SSRF.
Joomscan
O JoomScan é uma ferramenta Perl para automatizar a detecção de vulnerabilidades ao implantar o Joomla CMS.
Prós:
- Capaz de encontrar falhas de configuração e problemas com as configurações do administrador;
- Enumera versões do Joomla e vulnerabilidades relacionadas, da mesma forma para componentes individuais;
- Contém mais de 1000 explorações para componentes do Joomla;
- Saída de relatórios finais nos formatos texto e HTML.

Wpscan
O WPScan - uma ferramenta para rastrear sites no WordPress, possui em seu arsenal de vulnerabilidades o mecanismo do próprio WordPress e alguns plugins.
Prós:
- Capaz de listar não apenas plugins e temas inseguros do WordPress, mas também obter uma lista de usuários e arquivos TimThumb;
- Ele pode realizar ataques de força bruta em sites WordPress.
Contras:
- Sem as configurações apropriadas, ele executa um conjunto incompleto de verificações, o que pode ser enganoso.

Em geral, pessoas diferentes preferem ferramentas diferentes para o trabalho: todas são boas à sua maneira, e o que uma pessoa gostava pode não ser adequado para outra. Se você acha que ignoramos indevidamente uma boa utilidade - escreva sobre ela nos comentários!