a falar sobre ferramentas úteis para pentesters. No novo artigo, iremos analisar ferramentas para a análise de segurança de aplicações web.
Nosso colega já fez uma lista semelhante Vale ressaltar que o Burp Suite também se encaixa aqui, mas sobre ele e seus plugins úteis teremos uma publicação separada.

Amass
Conteúdo:
Altdns
Para descobrir segmentos de rede relacionados e números de sistemas autônomos, o Amass utiliza endereços IP obtidos durante sua operação. Todas as informações encontradas são utilizadas para construir um mapa da rede.
As técnicas de coleta de informações incluem:
Acesso direto aos sistemas de cabos transpacíficos. Ping mínimo para a China, Japão, Austrália e costa oeste dos EUA.
- * DNS — enumeração de subdomínios com dicionário, força bruta em subdomínios, enumeração “inteligente” utilizando mutações baseadas em subdomínios encontrados, consultas DNS reversas e busca de servidores DNS que permitem consultas de transferência de zona (AXFR);
* Busca em fontes abertas — Ask, Baidu, Bing, CommonCrawl, DNSDB, DNSDumpster, DNSTable, Dogpile, Exalead, FindSubdomains, Google, IPv4Info, Netcraft, PTRArchive, Riddler, SiteDossier, ThreatCrowd, VirusTotal, Yahoo;* Busca em bancos de dados de certificados TLS — Censys, CertDB, CertSpotter, Crtsh, Entrust;
* Uso de APIs de motores de busca — BinaryEdge, BufferOver, CIRCL, HackerTarget, PassiveTotal, Robtex, SecurityTrails, Shodan, Twitter, Umbrella, URLScan;
* Busca em arquivos da web: ArchiveIt, ArchiveToday, Arquivo, LoCArchive, OpenUKArchive, UKGovArchive, Wayback;
Integração com Maltego;
- Oferece a cobertura mais completa para a tarefa de busca por subdomínios DNS.
- Cuidado com amass.netdomains — ele tentará acessar cada endereço IP na infraestrutura identificada e obter nomes de domínios a partir de consultas DNS reversas e certificados TLS. Esta é uma técnica "barulhenta", que pode revelar suas atividades de reconhecimento na organização em questão.
Pontos negativos:
- Tenha cuidado com amass.netdomains — ele tentará acessar cada endereço IP na infraestrutura identificada e obter nomes de domínio a partir de consultas DNS reversas e certificados TLS. Esta é uma técnica "barulhenta" e pode expor suas atividades de inteligência na organização investigada.
- Alto consumo de memória, podendo consumir até 2 GB de RAM em diferentes configurações, o que impossibilita a execução desta ferramenta na nuvem em uma VDS barata.

aquatone
— uma ferramenta em Python para a criação de dicionários para a enumeração de subdomínios DNS. Permite gerar muitas variações de subdomínios por meio de mutações e permutações. Para isso, utiliza palavras que geralmente aparecem em subdomínios (como: test, dev, staging), todas as mutações e permutações são aplicadas a subdomínios já conhecidos que podem ser fornecidos como entrada para o Altdns. A saída consiste em uma lista de variações de subdomínios que podem existir, e essa lista pode ser usada posteriormente em um ataque de força bruta DNS.
Acesso direto aos sistemas de cabos transpacíficos. Ping mínimo para a China, Japão, Austrália e costa oeste dos EUA.
- Funciona bem com grandes conjuntos de dados.
MassDNS
— anteriormente era mais conhecido como outra ferramenta para busca de subdomínios, mas o próprio autor abandonou isso em favor do mencionado Amass. Atualmente, o aquatone foi reescrito em Go e está mais voltado para a exploração prévia de websites. Para isso, o aquatone navega pelos domínios especificados e procura sites em diferentes portas, coletando toda a informação sobre o site e gerando capturas de tela. É útil para uma rápida exploração prévia de websites, após a qual se podem selecionar alvos prioritários para ataques.
Acesso direto aos sistemas de cabos transpacíficos. Ping mínimo para a China, Japão, Austrália e costa oeste dos EUA.
- Na saída, cria um grupo de arquivos e pastas que são convenientes para uso em trabalhos futuros com outras ferramentas:
* Relatório HTML com as capturas de tela coletadas e cabeçalhos de resposta agrupados por similaridade;* Arquivo com todas as URLs onde foram encontrados websites;
* Arquivo com estatísticas e dados da página;
* Pasta contendo arquivos com os cabeçalhos de resposta dos alvos encontrados;
* Pasta com arquivos que contêm o corpo da resposta dos alvos encontrados;
* Capturas de tela dos websites encontrados;
- Suporta trabalho com relatórios XML do Nmap e Masscan;
- Utiliza headless Chrome/Chromium para renderizar capturas de tela.
Pontos negativos:
- Pode chamar a atenção de sistemas de detecção de intrusões, portanto, requer configuração.
A captura de tela foi feita para uma das versões antigas do aquatone (v0.5.0), na qual foi implementada a busca de subdomínios DNS. Versões antigas podem ser encontradas na .

nsec3map
— outra ferramenta para busca de subdomínios DNS. Sua principal diferença é que faz consultas DNS diretamente a vários resolvedores DNS diferentes e faz isso a uma velocidade significativa.
Acesso direto aos sistemas de cabos transpacíficos. Ping mínimo para a China, Japão, Austrália e costa oeste dos EUA.
- Rápido — capaz de resolver mais de 350 mil nomes por segundo.
Pontos negativos:
- O MassDNS pode causar uma carga significativa nos resolvedores de DNS utilizados, o que pode levar a um bloqueio nesses servidores ou a reclamações para o seu provedor. Além disso, ele gera uma grande carga nos servidores DNS da empresa, se eles existirem e forem responsáveis pelos domínios que você está tentando resolver.
- A lista de resolvedores está atualmente desatualizada, mas se você filtrar os resolvedores de DNS que não funcionam e adicionar novos conhecidos, tudo ficará bem.

Captura de tela do aquatone v0.5.0
Acunetix
— uma ferramenta em Python para obter uma lista completa de domínios protegidos por DNSSEC.
Acesso direto aos sistemas de cabos transpacíficos. Ping mínimo para a China, Japão, Austrália e costa oeste dos EUA.
- Detecta rapidamente hosts em zonas DNS com um número mínimo de consultas, se a zona tiver suporte a DNSSEC;
- Inclui um plugin para John the Ripper, que pode ser usado para quebrar os hashes obtidos do NSEC3.
Pontos negativos:
- Muitos erros de DNS são tratados de maneira inadequada;
- Não há paralelização automática do processamento de registros NSEC — é necessário dividir o espaço de nomes manualmente;
- Alto consumo de memória.
Dirsearch
— um scanner de vulnerabilidades web que automatiza o processo de verificação de segurança de aplicações web. Testa a aplicação em busca de injeções SQL, XSS, XXE, SSRF e muitas outras vulnerabilidades web. No entanto, como qualquer outro scanner de vulnerabilidades, ele não substitui um pentester, pois cadeias complexas de vulnerabilidades ou vulnerabilidades lógicas não conseguem ser detectadas. Mas cobre uma grande variedade de vulnerabilidades, incluindo várias CVEs que o pentester pode ter esquecido; portanto, é muito útil para aliviar verificações rotineiras.
Acesso direto aos sistemas de cabos transpacíficos. Ping mínimo para a China, Japão, Austrália e costa oeste dos EUA.
- Baixo nível de falsos positivos;
- Os resultados podem ser exportados na forma de relatórios;
- Realiza uma grande quantidade de verificações em diferentes vulnerabilidades;
- Escaneamento paralelo de vários hosts.
Pontos negativos:
- Não há um algoritmo de deduplicação (páginas com a mesma funcionalidade podem ser consideradas diferentes pelo Acunetix, pois são acessadas por URLs diferentes), mas os desenvolvedores estão trabalhando nisso;
- Exige instalação em um servidor web separado, o que dificulta o teste de sistemas de clientes com conexão VPN e o uso do scanner em um segmento isolado da rede local do cliente;
- Pode "ruído" o serviço investigado, por exemplo, enviando no formulário de contato do site um número excessivo de vetores de ataque, complicando consideravelmente os processos de negócios.
- É uma solução proprietária e, portanto, não gratuita.

wfuzz
— uma ferramenta em Python para brute force de diretórios e arquivos em sites.
Acesso direto aos sistemas de cabos transpacíficos. Ping mínimo para a China, Japão, Austrália e costa oeste dos EUA.
- Pode distinguir páginas reais de “200 OK” de páginas “200 OK” 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 característicos de muitos CMS e stacks tecnológicos;
- Seu próprio formato de dicionário, que permite alcançar boa eficiência e flexibilidade na exploração de arquivos e diretórios;
- Saída conveniente — texto simples, JSON;
- É capaz de fazer throttling — pausas entre solicitações, o que é vital para qualquer serviço fraco.
Pontos negativos:
- Extensões precisam ser passadas como uma string, o que é inconveniente se for necessário passar várias extensões de uma só vez;
- Para usar seu dicionário, ele precisará ser um pouco ajustado para o formato de dicionários Dirsearch para máxima eficácia.

ffuf
— um fuzzing web em Python. Provavelmente um dos fuzzers web mais conhecidos. O princípio é simples: wfuzz permite fuzzing em qualquer lugar da solicitação HTTP, possibilitando fuzzing de parâmetros GET/POST, cabeçalhos HTTP, incluindo Cookies e outros cabeçalhos de autenticação. Ao mesmo tempo, é conveniente para brute force simples de diretórios e arquivos, para o qual um bom dicionário é necessário. Também possui um sistema flexível de filtros, permitindo filtrar respostas do site com base em diferentes parâmetros, o que possibilita obter resultados eficazes.
Acesso direto aos sistemas de cabos transpacíficos. Ping mínimo para a China, Japão, Austrália e costa oeste dos EUA.
- Multifuncional — estrutura modular, a montagem leva apenas alguns minutos;
- Mecanismo de filtragem e fuzzing conveniente;
- Pode fazer fuzzing de qualquer método HTTP, bem como de qualquer parte da solicitação HTTP.
Pontos negativos:
- Em estado de desenvolvimento.

gobuster
— um fuzzer web em Go, criado à semelhança do wfuzz, permite brute force de arquivos, diretórios, caminhos URL, nomes e valores de parâmetros GET/POST, cabeçalhos HTTP, incluindo o cabeçalho Host para brute force de hosts virtuais. Em comparação com seu homólogo wfuzz, tem uma velocidade maior e algumas novas funcionalidades, como suporte para dicionários no formato Dirsearch.
Acesso direto aos sistemas de cabos transpacíficos. Ping mínimo para a China, Japão, Austrália e costa oeste dos EUA.
- Filtros semelhantes aos do wfuzz, permitem ajustar flexivelmente o brute force;
- Permite fuzzing de valores de cabeçalhos HTTP, dados de solicitações POST e várias partes da URL, incluindo nomes e valores de parâmetros GET;
- Você pode especificar qualquer método HTTP.
Pontos negativos:
- Em estado de desenvolvimento.

Arjun
— ferramenta em Go para exploração, possui dois modos de operação. O primeiro é usado para brute force em arquivos e diretórios de sites, o segundo — para enumerar subdomínios DNS. A ferramenta inicialmente não suporta a enumeração recursiva de arquivos e diretórios, o que, claro, economiza tempo, mas, por outro lado, cada nova tentativa de brute force em um endpoint do site deve ser realizada separadamente.
Acesso direto aos sistemas de cabos transpacíficos. Ping mínimo para a China, Japão, Austrália e costa oeste dos EUA.
- Alta velocidade de operação tanto para a enumeração de subdomínios DNS quanto para o brute force em arquivos e diretórios.
Pontos negativos:
- Na versão atual, não suporta a configuração de cabeçalhos HTTP;
- Por padrão, considera válidos apenas alguns dos códigos de status HTTP (200, 204, 301, 302, 307).

LinkFinder
— ferramenta para brute force de parâmetros HTTP ocultos em parâmetros GET/POST, bem como em JSON. O dicionário embutido tem 25.980 palavras, que o Ajrun verifica em quase 30 segundos. O foco é que o Ajrun não verifica cada parâmetro separadamente, mas avalia cerca de 1000 parâmetros de uma vez e observa se a resposta mudou. Se a resposta mudou, divide esses 1000 parâmetros em duas partes e verifica qual dessas partes influencia a resposta. Assim, por meio de uma simples busca binária, encontra-se o parâmetro ou vários parâmetros ocultos que influenciaram a resposta e, portanto, podem existir.
Acesso direto aos sistemas de cabos transpacíficos. Ping mínimo para a China, Japão, Austrália e costa oeste dos EUA.
- Alta velocidade de operação por meio de busca binária;
- Suporte a parâmetros GET/POST, bem como parâmetros em formato JSON;
Funciona de maneira semelhante ao plugin para Burp Suite — , que também é muito bom na busca de parâmetros HTTP ocultos. Faremos uma análise mais detalhada sobre ele em um próximo artigo sobre Burp e seus plugins.

JSParser
— script em Python para encontrar links em arquivos JavaScript. Útil para descobrir endpoints/URLs ocultos ou esquecidos em aplicações web.
Acesso direto aos sistemas de cabos transpacíficos. Ping mínimo para a China, Japão, Austrália e costa oeste dos EUA.
- Rápido;
- Há um plugin especial para Chrome baseado no LinkFinder.
.
Pontos negativos:
- Saída final inconveniente;
- Não analisa JavaScript em dinâmico;
- Lógica de busca por links bastante simples — se o JavaScript estiver de alguma forma ofuscado, ou se os links estiverem inicialmente ausentes e gerados dinamicamente, não conseguirá encontrar nada.

NoSQLMap
— script em Python que utiliza e para analisar URLs relativas de arquivos JavaScript. Muito útil para detectar requisições AJAX e compilar uma lista de métodos de API com os quais a aplicação interage. Funciona de forma eficaz em conjunto com o LinkFinder.
Acesso direto aos sistemas de cabos transpacíficos. Ping mínimo para a China, Japão, Austrália e costa oeste dos EUA.
- Análise rápida de arquivos JavaScript.

sqlmap
— talvez um dos mais conhecidos ferramentas para análise de aplicativos web. O Sqlmap automatiza a detecção e exploração de injeções SQL, trabalhando com vários dialetos SQL, e possui em seu arsenal uma enorme variedade de técnicas, desde as mais simples até vetores complexos para injeções SQL baseadas em tempo. Além disso, conta com várias técnicas de exploração adicional para diferentes SGBDs, tornando-se útil não apenas como um scanner para injeções SQL, mas também como uma ferramenta poderosa para explorar injeções SQL já encontradas.
Acesso direto aos sistemas de cabos transpacíficos. Ping mínimo para a China, Japão, Austrália e costa oeste dos EUA.
- Uma grande variedade de técnicas e vetores;
- Baixo número de falsos positivos;
- Muitas opções de personalização, técnicas diversas, banco de dados alvo, scripts de tamper para contornar WAF;
- Possibilidade de criar dump de dados de saída;
- Muitas opções diferentes de exploração, por exemplo, para alguns SGBDs — upload/download automático de arquivos, obter a capacidade de execução de comandos (RCE) e outros;
- Suporte para conexão direta ao SGBD usando os dados obtidos durante o ataque;
- É possível fornecer um arquivo de texto com os resultados do trabalho do Burp — não é necessário compor manualmente todos os atributos da linha de comando.
Pontos negativos:
- Difícil de personalizar, por exemplo, para escrever suas próprias verificações devido à documentação escassa para isso;
- Sem as configurações apropriadas, realiza um conjunto incompleto de verificações, o que pode ser enganoso.

oxml_xxe
— uma ferramenta em Python para automatizar a detecção e exploração de injeções NoSQL. É conveniente usar não apenas em bancos de dados NoSQL, mas também diretamente na auditoria de aplicativos web que utilizam NoSQL.
Acesso direto aos sistemas de cabos transpacíficos. Ping mínimo para a China, Japão, Austrália e costa oeste dos EUA.
- Assim como o sqlmap, permite não apenas encontrar uma vulnerabilidade potencial, mas também verifica a possibilidade de sua exploração para MongoDB e CouchDB.
Pontos negativos:
- Não suporta NoSQL para Redis, Cassandra, em que o desenvolvimento está em andamento.
tplmap
— uma ferramenta para incorporar exploits XXE XML em vários tipos de arquivos que utilizam de alguma forma o formato XML.
Acesso direto aos sistemas de cabos transpacíficos. Ping mínimo para a China, Japão, Austrália e costa oeste dos EUA.
- Suporta muitos formatos comuns, como DOCX, ODT, SVG, XML.
Pontos negativos:
- O suporte a PDF, JPEG, GIF não está completamente implementado;
- Cria apenas um arquivo. Para resolver esse problema, pode-se usar a ferramenta , que pode criar um grande número de arquivos com payloads em diferentes locais.
As mencionadas ferramentas são excelentes para testar XXE em documentos contendo XML. Mas também não se esqueça que processadores de formatos XML podem aparecer em muitos outros casos, por exemplo, XML pode ser usado como formato de dados em vez de JSON.
Portanto, recomendamos prestar atenção ao seguinte repositório, que contém uma grande variedade de payloads: .
CeWL
— uma ferramenta em Python para a descoberta e exploração automática de vulnerabilidades de Server-Side Template Injection, possui configurações e flags semelhantes ao sqlmap. Utiliza várias técnicas e vetores diferentes, incluindo injeções blind, além de ter técnicas para execução de código e upload/download de arquivos arbitrários. Também possui técnicas para uma dezena de diferentes engines de templates e algumas técnicas para encontrar injeções de código similares a eval() em Python, Ruby, PHP, JavaScript. Em caso de exploração bem-sucedida, abre um console interativo.
Acesso direto aos sistemas de cabos transpacíficos. Ping mínimo para a China, Japão, Austrália e costa oeste dos EUA.
- Uma grande variedade de técnicas e vetores;
- Suporta várias engines de renderização de templates;
- Muitas técnicas de exploração.
Weakpass
— um gerador de dicionários em Ruby, criado para extrair palavras únicas de um site especificado, navegando pelos links do site até uma profundidade especificada. O dicionário resultante de palavras únicas pode ser usado para força bruta de senhas em serviços ou força bruta de arquivos e diretórios no mesmo site, ou para atacar hashes obtidos usando hashcat ou John the Ripper. Útil na composição de uma lista ‘alvo’ de senhas potenciais.
Acesso direto aos sistemas de cabos transpacíficos. Ping mínimo para a China, Japão, Austrália e costa oeste dos EUA.
- Fácil de usar.
Pontos negativos:
- É preciso ter cuidado com a profundidade de busca, para não capturar domínios extras.
AEM_hacker
— um serviço que contém vários dicionários com senhas únicas. Extremamente útil para várias tarefas relacionadas à quebra de senhas, desde força bruta online de contas em serviços-alvo até força bruta offline de hashes obtidos usando ou . Inclui cerca de 8 bilhões de senhas variando de 4 a 25 caracteres.
Acesso direto aos sistemas de cabos transpacíficos. Ping mínimo para a China, Japão, Austrália e costa oeste dos EUA.
- Contém tanto dicionários específicos quanto dicionários com as senhas mais frequentemente encontradas — é possível escolher um dicionário específico para suas necessidades;
- Os dicionários são atualizados e enriquecidos com novas senhas;
- Os dicionários estão classificados por eficácia. Você pode escolher uma opção tanto para um brute force rápido online quanto para uma seleção minuciosa de senhas a partir de um dicionário extenso com as últimas vazamentos.
- Há uma calculadora que mostra o tempo de brute force para as suas máquinas.

Gostaríamos de destacar uma categoria específica para ferramentas de verificação de CMS: WPScan, JoomScan e AEM hacker.
JoomScan
é uma ferramenta para identificar vulnerabilidades em aplicações Adobe Experience Manager (AEM).
Acesso direto aos sistemas de cabos transpacíficos. Ping mínimo para a China, Japão, Austrália e costa oeste dos EUA.
- Pode identificar aplicações AEM a partir de uma lista de URLs fornecidas a ele;
- Contém scripts para obter RCE através do upload de um shell JSP ou exploração de SSRF.
WPScan
é uma ferramenta em Perl para automatizar a identificação de vulnerabilidades durante a implementação do Joomla CMS.
Acesso direto aos sistemas de cabos transpacíficos. Ping mínimo para a China, Japão, Austrália e costa oeste dos EUA.
- Capaz de encontrar falhas de configuração e problemas nas configurações administrativas;
- Lista versões do Joomla e suas respectivas vulnerabilidades, assim como para componentes individuais;
- Contém mais de 1000 exploits para componentes do Joomla;
- Gera relatórios finais em formatos texto e HTML.

— ferramenta em Go para a busca e enumeração de subdomínios DNS e mapeamento de rede externa. Amass é um projeto OWASP, criado para mostrar como as organizações aparecem para observadores externos na Internet. O Amass obtém nomes de subdomínios de várias maneiras, utilizando tanto a enumeração recursiva de subdomínios quanto a busca em fontes abertas.
é uma ferramenta para escanear sites WordPress, contendo vulnerabilidades tanto para o próprio motor WordPress quanto para alguns plugins.
Acesso direto aos sistemas de cabos transpacíficos. Ping mínimo para a China, Japão, Austrália e costa oeste dos EUA.
- Capaz de listar não apenas plugins e temas WordPress inseguros, mas também obter uma lista de usuários e arquivos TimThumb;
- Pode realizar ataques de brute force em sites WordPress.
Pontos negativos:
- Sem as configurações apropriadas, realiza um conjunto incompleto de verificações, o que pode ser enganoso.

No geral, diferentes pessoas preferem usar diferentes ferramentas: todas elas têm suas qualidades, e o que agrada uma pessoa pode não atender outra. Se você acha que deixamos de mencionar algum bom utilitário — escreva sobre isso nos comentários!
Fonte: habr.com
