Ferramentas da Web ou por onde começar como pentester?

Continuar fale sobre ferramentas úteis para pentesters. No novo artigo veremos ferramentas para analisar a segurança de aplicações web.

Nosso colega Seja amor Eu já fiz algo assim compilação há cerca de sete anos. É interessante ver quais ferramentas mantiveram e fortaleceram suas posições, e quais ficaram em segundo plano e agora são raramente usadas.
Ferramentas da Web ou por onde começar como pentester?

Observe que isso também inclui o Burp Suite, mas haverá uma publicação separada sobre ele e seus plug-ins úteis.

Conteúdo:

Acumular

Acumular - uma ferramenta Go para pesquisar e enumerar subdomínios DNS e mapear a rede externa. Amass é um projeto OWASP projetado para mostrar como as organizações na Internet são para quem está de fora. O Amass obtém nomes de subdomínios de várias maneiras; a ferramenta usa enumeração recursiva de subdomínios e pesquisas de código aberto.

Para descobrir segmentos de rede interconectados e números de sistemas autônomos, o Amass utiliza 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 - pesquisa de dicionário de subdomínios, subdomínios de força bruta, pesquisa inteligente usando mutações baseadas em subdomínios encontrados, consultas reversas de DNS e pesquisa de servidores DNS onde é possível fazer uma solicitação de transferência de zona (AXFR);

    * Pesquisa de código aberto - 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;

    * Utilização de APIs de mecanismos de busca - BinaryEdge, BufferOver, CIRCL, HackerTarget, PassiveTotal, Robtex, SecurityTrails, Shodan, Twitter, Umbrella, URLScan;

    * Pesquise arquivos da Internet: ArchiveIt, ArchiveToday, Arquivo, LoCArchive, OpenUKArchive, UKGovArchive, Wayback;

  • Integração com Maltego;
  • Fornece a cobertura mais completa da tarefa de busca de subdomínios DNS.

Contras:

  • Tenha cuidado com o amass.netdomains - ele tentará entrar em contato com todos os endereços IP na infraestrutura identificada e obter nomes de domínio a partir de pesquisas reversas de DNS e certificados TLS. Esta é uma técnica de "alto perfil", que pode revelar suas atividades de inteligência na organização sob investigação.
  • Alto consumo de memória, pode consumir até 2 GB de RAM em diferentes configurações, o que não permitirá que você execute esta ferramenta na nuvem em um VDS barato.

Ferramentas da Web ou por onde começar como pentester?

Altdns

Altdns — uma ferramenta Python para compilar dicionários para enumerar subdomínios DNS. Permite gerar muitas variantes de subdomínios usando mutações e permutações. Para isso, são utilizadas palavras frequentemente encontradas em subdomínios (por exemplo: test, dev, staging), todas as mutações e permutações são aplicadas a subdomínios já conhecidos, que podem ser submetidos à entrada Altdns. A saída é uma lista de variações de subdomínios que podem existir, e essa lista pode ser usada posteriormente para força bruta de DNS.

Prós:

  • Funciona bem com grandes conjuntos de dados.

aquatona

aquatona - era anteriormente mais conhecido como mais uma ferramenta de busca de subdomínios, mas o próprio autor a abandonou em favor do já citado Amass. Agora o aquatone foi reescrito em Go e está mais voltado para reconhecimento preliminar em sites. Para isso, o aquatone percorre os domínios especificados e procura sites em diferentes portas, após o que coleta todas as informações sobre o site e faz uma captura de tela. Conveniente para reconhecimento preliminar rápido de sites, após o qual você pode selecionar alvos prioritários para ataques.

Prós:

  • A saída cria um grupo de arquivos e pastas que são convenientes para uso ao trabalhar com outras ferramentas:
    * Relatório HTML com capturas de tela coletadas e títulos de respostas agrupados por similaridade;

    * Um arquivo com todas as URLs onde os sites foram encontrados;

    * Arquivo com estatísticas e dados da página;

    * Uma pasta com arquivos contendo cabeçalhos de resposta dos alvos encontrados;

    * Uma pasta com arquivos contendo o corpo da resposta dos alvos encontrados;

    * Capturas de tela dos sites encontrados;

  • Suporta trabalhar com relatórios XML do Nmap e Masscan;
  • Usa Chrome/Chromium sem cabeça para renderizar capturas de tela.

Contras:

  • Pode atrair a atenção de sistemas de detecção de intrusão, por isso requer configuração.

A captura de tela foi tirada para uma das versões antigas do aquatone (v0.5.0), na qual a pesquisa de subdomínios DNS foi implementada. Versões mais antigas podem ser encontradas em página de lançamentos.
Ferramentas da Web ou por onde começar como pentester?

MassaDNS

MassaDNS é outra ferramenta para encontrar subdomínios DNS. Sua principal diferença é que ele faz consultas de DNS diretamente para muitos resolvedores de DNS diferentes e 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 DNS em uso, o que pode levar ao banimento desses servidores ou a reclamações ao seu ISP. Além disso, colocará uma grande carga nos servidores DNS da empresa, se os possuírem e se forem responsáveis ​​pelos domínios que você está tentando resolver.
  • A lista de resolvedores está desatualizada, mas se você selecionar os resolvedores DNS quebrados e adicionar novos conhecidos, tudo ficará bem.

Ferramentas da Web ou por onde começar como pentester?
Captura de tela do Aquatone v0.5.0

nsec3map

nsec3map é uma ferramenta Python para obter uma lista completa de domínios protegidos por DNSSEC.

Prós:

  • Descobre rapidamente hosts em zonas DNS com um número mínimo de consultas se o suporte DNSSEC estiver habilitado na zona;
  • Inclui um plugin para John the Ripper que pode ser usado para quebrar os hashes NSEC3 resultantes.

Contras:

  • Muitos erros de DNS não são tratados corretamente;
  • Não há paralelização automática no processamento de registros NSEC - você precisa dividir o namespace manualmente;
  • Alto consumo de memória.

Acunetix

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ções de SQL, XSS, XXE, SSRF e muitas outras vulnerabilidades da web. No entanto, como qualquer outro scanner, uma variedade de vulnerabilidades da web não substitui um pentester, uma vez que não consegue encontrar cadeias complexas de vulnerabilidades ou vulnerabilidades na lógica. Mas cobre muitas vulnerabilidades diferentes, incluindo vários CVEs, dos quais o pentester pode ter esquecido, por isso é muito conveniente para livrá-lo de verificações de rotina.

Prós:

  • Baixo nível de falsos positivos;
  • Os resultados podem ser exportados como relatórios;
  • Executa um grande número de verificações de diversas vulnerabilidades;
  • Verificação paralela de vários hosts.

Contras:

  • Não existe um algoritmo de desduplicação (o Acunetix considerará páginas com funcionalidade idêntica como diferentes, pois levam a 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 conexão VPN e o uso do scanner em um segmento isolado da rede local do cliente;
  • O serviço em estudo pode fazer barulho, por exemplo, ao enviar muitos vetores de ataque para o formulário de contato do site, complicando bastante os processos de negócios;
  • É uma solução proprietária e, portanto, não gratuita.

Ferramentas da Web ou por onde começar como pentester?

Pesquisa Direta

Pesquisa Direta - uma ferramenta Python para forçar diretórios e arquivos em sites.

Prós:

  • Consegue distinguir páginas reais “200 OK” de páginas “200 OK”, mas com o texto “página não encontrada”;
  • Vem com um dicionário prático que apresenta um bom equilíbrio entre tamanho e eficiência de pesquisa. Contém caminhos padrão comuns a muitos CMS e pilhas de tecnologia;
  • Formato de dicionário próprio, que permite obter boa eficiência e flexibilidade na enumeração de arquivos e diretórios;
  • Saída conveniente - texto simples, JSON;
  • Ele pode fazer estrangulamento – uma pausa entre as solicitações, que é vital para qualquer serviço fraco.

Contras:

  • As extensões devem ser passadas como uma string, o que é inconveniente se você precisar passar muitas extensões de uma vez;
  • Para usar seu dicionário, ele precisará ser ligeiramente modificado para o formato de dicionário Dirsearch para máxima eficiência.

Ferramentas da Web ou por onde começar como pentester?

que merda

que merda - Difusor de aplicativos da web em Python. Provavelmente um dos web phasers mais famosos. O princípio é simples: wfuzz permite que você coloque em fase qualquer lugar em uma solicitação HTTP, o que torna possível colocar em fase parâmetros GET/POST, cabeçalhos HTTP, incluindo Cookie e outros cabeçalhos de autenticação. Ao mesmo tempo, também é conveniente para a simples força bruta de diretórios e arquivos, para os quais você precisa de um bom dicionário. Possui também um sistema de filtros flexível, com o qual você pode filtrar as respostas do site de acordo com diversos parâmetros, o que permite obter resultados eficazes.

Prós:

  • Multifuncional - estrutura modular, a montagem leva poucos minutos;
  • Mecanismo conveniente de filtragem e difusão;
  • Você pode fasear qualquer método HTTP, bem como qualquer lugar em uma solicitação HTTP.

Contras:

  • Em desenvolvimento.

Ferramentas da Web ou por onde começar como pentester?

aff

aff — um web fuzzer em Go, criado à “imagem e semelhança” do wfuzz, permite que você faça brute de arquivos, 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. wfuzz difere de seu irmão pela maior velocidade e alguns novos recursos, por exemplo, suporta dicionários no formato Dirsearch.

Prós:

  • Os filtros são semelhantes aos filtros wfuzz, eles permitem configurar a força bruta com flexibilidade;
  • Permite confundir valores de cabeçalho HTTP, dados de solicitação POST e várias partes da URL, incluindo nomes e valores de parâmetros GET;
  • Você pode especificar qualquer método HTTP.

Contras:

  • Em desenvolvimento.

Ferramentas da Web ou por onde começar como pentester?

arrasador

arrasador — uma ferramenta Go para reconhecimento, possui dois modos de operação. O primeiro é usado para forçar arquivos e diretórios em um site, o segundo é usado para subdomínios DNS de força bruta. A ferramenta inicialmente não suporta enumeração recursiva de arquivos e diretórios, o que, claro, economiza tempo, mas por outro lado, a força bruta de cada novo endpoint no site deve ser lançada separadamente.

Prós:

  • Alta velocidade de operação tanto para busca de força bruta de subdomínios DNS quanto para busca de força bruta de arquivos e diretórios.

Contras:

  • A versão atual não oferece suporte à configuração de cabeçalhos HTTP;
  • Por padrão, apenas alguns dos códigos de status HTTP (200,204,301,302,307) são considerados válidos.

Ferramentas da Web ou por onde começar como pentester?

Arjun

Arjun - uma ferramenta para força bruta de parâmetros HTTP ocultos em parâmetros GET/POST, bem como em JSON. O dicionário integrado possui 25 palavras, que Ajrun verifica em quase 980 segundos. O truque é que Ajrun não verifica cada parâmetro separadamente, mas verifica cerca de 30 parâmetros por vez e vê se a resposta mudou. Se a resposta mudou, ele divide esses 1000 parâmetros em duas partes e verifica qual dessas partes afeta a resposta. Assim, por meio de uma simples busca binária, encontra-se um parâmetro ou vários parâmetros ocultos que influenciaram a resposta e, portanto, podem existir.

Prós:

  • Alta velocidade devido à busca binária;
  • Suporte para parâmetros GET/POST, bem como parâmetros na forma de JSON;

O plugin para Burp Suite funciona com um princípio semelhante - param-miner, que também é muito bom para encontrar parâmetros HTTP ocultos. Contaremos mais sobre isso em um próximo artigo sobre Burp e seus plugins.
Ferramentas da Web ou por onde começar como pentester?

Link Finder

Link Finder — um script Python para procurar links em arquivos JavaScript. Útil para encontrar endpoints/URLs ocultos ou esquecidos em um aplicativo da web.

Prós:

  • Rápido;
  • Existe um plugin especial para Chrome baseado no LinkFinder.

.

Contras:

  • Conclusão final inconveniente;
  • Não analisa JavaScript ao longo do tempo;
  • Uma lógica bastante simples para procurar links - se o JavaScript estiver de alguma forma ofuscado ou se os links estiverem inicialmente ausentes e gerados dinamicamente, ele não será capaz de encontrar nada.

Ferramentas da Web ou por onde começar como pentester?

JSParser

JSParser é um script Python que usa Tornado и JSBeautificador para analisar URLs relativos de arquivos JavaScript. Muito útil para detectar solicitações AJAX e compilar uma lista de métodos API com os quais a aplicação interage. Funciona de forma eficaz em conjunto com o LinkFinder.

Prós:

  • Análise rápida de arquivos JavaScript.

Ferramentas da Web ou por onde começar como pentester?

sqlmap

sqlmap é provavelmente uma das ferramentas mais famosas para análise de aplicações web. O Sqlmap automatiza a busca e operação de injeções SQL, funciona com diversos dialetos SQL e possui um grande número de técnicas diferentes em seu arsenal, desde cotações diretas até vetores complexos para injeções SQL baseadas em tempo. Além disso, possui muitas técnicas para exploração posterior de vários SGBDs, por isso é útil não apenas como um scanner para injeções de SQL, mas também como uma ferramenta poderosa para explorar 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 opções de ajuste fino, várias técnicas, banco de dados de destino, scripts de adulteração para contornar o WAF;
  • Capacidade de criar dump de saída;
  • Muitas capacidades operacionais diferentes, por exemplo, para algumas bases de dados - carregamento/descarregamento automático de ficheiros, obtenção da capacidade de execução de comandos (RCE) e outros;
  • Suporte para conexão direta ao banco de dados utilizando dados obtidos durante um ataque;
  • Você pode enviar um arquivo de texto com os resultados do Burp como entrada - não há necessidade de compor manualmente todos os atributos da linha de comando.

Contras:

  • É difícil personalizar, por exemplo, a emissão de alguns de seus próprios cheques devido à escassa documentação para isso;
  • Sem as configurações apropriadas, ele executa um conjunto incompleto de verificações, o que pode ser enganoso.

Ferramentas da Web ou por onde começar como pentester?

NoSQLMap

NoSQLMap — uma ferramenta Python para automatizar a busca e exploração de injeções NoSQL. É conveniente usar não apenas em bancos de dados NoSQL, mas também diretamente ao auditar aplicativos da web que usam NoSQL.

Prós:

  • Assim como o sqlmap, ele não apenas encontra uma vulnerabilidade potencial, mas também verifica a possibilidade de sua exploração para MongoDB e 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 exploits XXE XML em vários tipos de arquivos que usam o formato XML de alguma forma.

Prós:

  • Suporta muitos formatos comuns, como DOCX, ODT, SVG, XML.

Contras:

  • O suporte para PDF, JPEG, GIF não está totalmente implementado;
  • Cria apenas um arquivo. Para resolver este 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 contendo XML. Mas lembre-se também de que 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 ao seguinte repositório, que contém um grande número de cargas úteis diferentes: Cargas úteisAllTheThings.

tplmap

tplmap - uma ferramenta Python para identificar e explorar automaticamente vulnerabilidades de injeção de modelo no lado do servidor; possui configurações e sinalizadores semelhantes ao sqlmap. Utiliza diversas técnicas e vetores diferentes, incluindo injeção cega, e também possui técnicas para execução de código e carregamento/upload de arquivos arbitrários. Além disso, ele tem em seu arsenal técnicas para uma dúzia de mecanismos de templates diferentes e algumas técnicas para busca de injeções de código do tipo eval() em Python, Ruby, PHP, JavaScript. Se for bem-sucedido, ele abre um console interativo.

Prós:

  • Um grande número de diferentes técnicas e vetores;
  • Suporta muitos mecanismos de renderização de modelos;
  • Muitas técnicas operacionais.

CeWL

CeWL - um gerador de dicionário em Ruby, criado para extrair palavras exclusivas de um site específico, segue os links do site até uma profundidade especificada. O dicionário compilado de palavras exclusivas pode ser usado posteriormente para forçar senhas em serviços ou arquivos e diretórios de força bruta no mesmo site, ou para atacar os hashes resultantes usando hashcat ou John the Ripper. Útil ao compilar uma lista “alvo” de senhas potenciais.

Prós:

  • Fácil de usar.

Contras:

  • É preciso ter cuidado com a profundidade da pesquisa para não capturar um domínio extra.

Passe fraco

Passe fraco - um serviço que contém muitos dicionários com senhas exclusivas. Extremamente útil para diversas tarefas relacionadas à quebra de senhas, desde simples força bruta on-line de contas em serviços de destino até força bruta off-line de hashes recebidos usando hashcat ou John o estripador. Ele contém cerca de 8 bilhões de senhas com comprimento de 4 a 25 caracteres.

Prós:

  • Contém dicionários específicos e dicionários com as senhas mais comuns - você pode escolher um dicionário específico para suas necessidades;
  • Os dicionários são atualizados e reabastecidos com novas senhas;
  • Os dicionários são classificados por eficiência. Você pode escolher a opção de força bruta on-line rápida e seleção detalhada de senhas de um dicionário volumoso com os vazamentos mais recentes;
  • Existe uma calculadora que mostra o tempo que leva para quebrar senhas brutas no seu equipamento.

Ferramentas da Web ou por onde começar como pentester?

Gostaríamos de incluir ferramentas para verificações de CMS em um grupo separado: WPScan, JoomScan e AEM hacker.

AEM_hacker

Hacker AEM é uma ferramenta para identificar vulnerabilidades em aplicativos Adobe Experience Manager (AEM).

Prós:

  • Pode identificar aplicativos AEM na lista de URLs enviados para sua entrada;
  • Contém scripts para obter RCE carregando um shell JSP ou explorando SSRF.

JoomScan

JoomScan — uma ferramenta Perl para automatizar a detecção de vulnerabilidades ao implantar Joomla CMS.

Prós:

  • Capaz de encontrar falhas de configuração e problemas com configurações administrativas;
  • Lista versões do Joomla e vulnerabilidades associadas, da mesma forma para componentes individuais;
  • Contém mais de 1000 explorações para componentes do Joomla;
  • Saída de relatórios finais em formato texto e HTML.

Ferramentas da Web ou por onde começar como pentester?

WPScan

WPScan - ferramenta de varredura de sites WordPress, possui vulnerabilidades em seu arsenal tanto para o próprio motor WordPress quanto para alguns plugins.

Prós:

  • Capaz de listar não apenas plug-ins e temas WordPress inseguros, mas também obter uma lista de usuários e arquivos TimThumb;
  • Pode conduzir 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.

Ferramentas da Web ou por onde começar como pentester?

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

Fonte: habr.com

Adicionar um comentário