Revisão de ferramentas gratuitas para pentest de recursos web e muito mais v2

Há algum tempo, escrevi sobre isso, mas de forma um pouco escassa e confusa. Depois, decidi expandir a lista de ferramentas na revisão, adicionar estrutura ao artigo e levar em conta as críticas (muito obrigado Lefty pelas sugestões) e a enviei para um concurso no SecLab (e publiquei o link, mas por todas as razões compreensíveis, ninguém a viu). O concurso terminou, os resultados foram anunciados e agora posso publicá-la (o artigo) no Habra.

Ferramentas gratuitas para pentesters de aplicações web

Neste artigo, falarei sobre as ferramentas mais populares para pentesting (testes de penetração) de aplicações web, seguindo a estratégia de "caixa-preta".
Para isso, analisaremos utilitários que ajudarão nesse tipo de teste. Veremos as seguintes categorias de produtos:

  1. Scanners de rede
  2. Scanners de vulnerabilidades em scripts web
  3. Exploitagem
  4. Automatização de injeções
  5. Depuradores (sniffers, proxies locais, etc.)


Alguns produtos têm um "caráter" universal, por isso os classificarei na categoria onde eles têm ummaiorresultado (opinião subjetiva).

Scanners de rede.

A principal tarefa é revelar serviços de rede disponíveis, determinar suas versões, identificar o SO, etc.

NmapRevisão de ferramentas gratuitas para pentest de recursos web e muito mais v2
Nmap ("Network Mapper") é um utilitário gratuito de código aberto para análise de rede e auditoria de segurança de sistemas. Os amantes de interfaces gráficas podem usar o Zenmap, que é uma GUI para o Nmap.
Não é apenas um "scanner inteligente", é uma ferramenta séria e expansível (entre as "particularidades" está a presença de um script para verificar se um nó está infectado com o worm "Stuxnet" (mencionado aqui). Um exemplo típico de uso:

nmap -A -T4 localhost

-A para determinar a versão do SO, escaneamento usando scripts e rastreamento
-T4 configuração da gestão de tempo (mais é mais rápido, de 0 a 5)
localhost — host de destino
Algo mais intenso?

nmap -sS -sU -T4 -A -v -PE -PP -PS21,22,23,25,80,113,31339 -PA80,113,443,10042 -PO --script all localhost

Este é um conjunto de opções do perfil "slow comprehensive scan" no Zenmap. Leva um tempo considerável, mas no final fornece informações mais detalhadas sobre o sistema de destino. Guia referencial em português, se você decidir se aprofundar, e também recomendo a tradução do artigo Guia do Iniciante para Nmap.
O Nmap recebeu o status de “Produto de Segurança do Ano” por revistas e comunidades como Linux Journal, Info World, LinuxQuestions.Org e Codetalker Digest.
Um fato interessante é que o Nmap pode ser visto em filmes como “Matrix: Reloaded”, “Duro de Matar 4”, “O Ultimato Bourne”, “Hot Tub Time Machine” e outros.

IP-ToolsRevisão de ferramentas gratuitas para pentest de recursos web e muito mais v2
IP-Tools é um conjunto de várias utilidades de rede, oferecido com GUI, voltado para usuários do Windows.
Scanner de portas, recursos compartilhados (impressoras/pastas compartilhadas), WhoIs/Finger/Lookup, cliente telnet e muito mais. Apenas uma ferramenta conveniente, rápida e funcional.

Não há muito sentido em considerar outros produtos, pois existem muitas utilidades nessa área e todas têm um princípio de operação e funcionalidades semelhantes. No entanto, o Nmap continua sendo o mais utilizado.

Scanners de vulnerabilidades em scripts web

Tentam encontrar vulnerabilidades populares (SQL inj, XSS, LFI/RFI, etc.) ou erros (arquivos temporários não removidos, indexação de diretórios, etc.)

Acunetix Web Vulnerability ScannerRevisão de ferramentas gratuitas para pentest de recursos web e muito mais v2
Acunetix Web Vulnerability Scanner — no link, parece ser um scanner XSS, mas na verdade não é bem assim. A versão gratuita, disponível no link, oferece uma funcionalidade bastante ampla. Normalmente, uma pessoa que executa este scanner pela primeira vez e recebe o relatório sobre seu recurso fica um pouco chocada, e você entenderá o porquê ao fazê-lo. É um produto muito poderoso para analisar praticamente todas as vulnerabilidades em um site e funciona não apenas com sites em php, mas também em outras linguagens (embora a diferença de linguagem não seja um indicador). Não há muito sentido em descrever o manual, pois o scanner simplesmente “captura” as ações do usuário. Algo semelhante a “próximo, próximo, próximo, pronto” em uma instalação típica de qualquer software.

NiktoRevisão de ferramentas gratuitas para pentest de recursos web e muito mais v2
Nikto é um scanner web Open Source (GPL). Elimina o trabalho manual rotineiro. Procura no site alvo scripts não removidos (como test.php, index_.php, etc.), ferramentas de administração de banco de dados (/phpmyadmin/, /pma e semelhantes) e verifica o recurso em busca dos erros mais comuns, geralmente causados pelo fator humano.
Além disso, se encontra algum script popular, verifica se há exploits disponíveis (que estão no banco de dados).
Informa sobre métodos "indesejados" disponíveis, como PUT e TRACE.
E assim por diante. É muito conveniente se você trabalha como auditor e realiza análises de sites diariamente.
Entre os pontos negativos, eu destacaria a alta taxa de falsos positivos. Por exemplo, se o seu site, ao invés de retornar um erro 404 (quando deveria ocorrer), sempre exibe a página inicial, o scanner dirá que todos os scripts e vulnerabilidades do seu site estão presentes em sua base. Na prática, isso não ocorre com tanta frequência, mas, de fato, muito depende da estrutura do seu site.
Uso clássico:

.\/nikto.pl -host localhost

Se for necessário estar autorizado no site, pode-se definir um cookie no arquivo nikto.conf, na variável STATIC-COOKIE.

WiktoRevisão de ferramentas gratuitas para pentest de recursos web e muito mais v2
Wikto — Nikto para Windows, mas com algumas adições, como a lógica "fuzzy" ao verificar o código em busca de erros, uso do GHDB, obtenção de links e pastas do recurso, monitoramento em tempo real de requisições/respostas HTTP. Wikto é escrito em C# e requer o .NET framework.

skipfishRevisão de ferramentas gratuitas para pentest de recursos web e muito mais v2
skipfish — scanner de vulnerabilidades web de Michal Zalewski (conhecido pelo apelido lcamtuf). Escrito em C, é multiplataforma (para Windows precisa do Cygwin). Faz um percurso recursivo (e muito demorado, cerca de 20 a 40 horas, embora da última vez tenha funcionado por 96 horas) por todo o site e encontra várias brechas de segurança. Também gera um tráfego muito alto (vários gigabytes de entrada/saída). Mas todos os métodos são válidos, especialmente se houver tempo e recursos.
Uso típico:

./skipfish -o /home/reports www.example.com

Na pasta "reports", haverá um relatório em html, exemplo.

w3af Revisão de ferramentas gratuitas para pentest de recursos web e muito mais v2
w3af — Web Application Attack and Audit Framework, scanner de vulnerabilidades web de código aberto. Possui GUI, mas pode ser utilizado a partir do console. Na verdade, trata-se de um framework, com um monte de plugins..
Falar sobre suas vantagens pode levar tempo, é melhor testá-lo :]
O trabalho típico com ele consiste em selecionar um perfil, indicar um alvo e, finalmente, executar.

Mantra Security FrameworkRevisão de ferramentas gratuitas para pentest de recursos web e muito mais v2
Mantra é um sonho que se tornou realidade. Uma coleção de ferramentas livres e abertas de segurança da informação, integradas ao navegador da web.
Muito úteis para testar aplicações web em todas as etapas.
O uso resume-se a instalar e iniciar o navegador.

Na verdade, existem muitas utilidades nesta categoria e é bastante difícil destacar uma lista específica. Na maioria das vezes, cada pentester determina seu conjunto de ferramentas necessárias.

Exploitagem

Para um uso automatizado e mais conveniente de vulnerabilidades em softwares e scripts, são escritos exploits que apenas precisam receber parâmetros para explorar uma brecha de segurança. Existem também produtos que eliminam a necessidade de busca manual de exploits, aplicando-os "em tempo real". É sobre esta categoria que falaremos agora.

Metasploit Framework Revisão de ferramentas gratuitas para pentest de recursos web e muito mais v2
The Metasploit® Framework — um verdadeiro monstro em nosso campo. Ele tem tantas funcionalidades que o guia pode se estender por vários artigos. Vamos abordar a exploração automática (nmap + metasploit). A ideia é que o Nmap analise a porta necessária, identifique o serviço, e o metasploit tentará aplicar exploits, dependendo da classe do serviço (ftp, ssh, etc.). Em vez de uma instrução textual, vou inserir um vídeo, bastante popular sobre o tema autopwn.

Por que no hosting comum a administração do PrestaShop é lenta, e no seu não é?

Ou podemos simplesmente automatizar o trabalho do exploit que precisamos. Por exemplo:

msf > usar auxiliar/admin/cisco/vpn_3000_ftp_bypass
msf auxiliar(vpn_3000_ftp_bypass) > definir RHOST [TARGET IP]
msf auxiliar(vpn_3000_ftp_bypass) > executar

Na verdade, as capacidades deste framework são muito amplas, portanto, se você decidiu se aprofundar, acesse link

ArmitageRevisão de ferramentas gratuitas para pentest de recursos web e muito mais v2
Armitage — OVA do gênero cyberpunk GUI para Metasploit. Visualiza o alvo, recomenda exploits e oferece recursos avançados deste framework. Em suma, para aqueles que gostam que tudo pareça bonito e impressionante.
Screencast:

Por que no hosting comum a administração do PrestaShop é lenta, e no seu não é?

Tenable Nessus®Revisão de ferramentas gratuitas para pentest de recursos web e muito mais v2
Tenable Nessus® scanner de vulnerabilidades — tem muitas funcionalidades, mas o que precisamos dele é uma certa capacidade — determinar para quais serviços há exploits. A versão gratuita do produto é "home only".

Uso:

  • Baixamos (para o nosso sistema), instalamos, registramos (a chave chega por e-mail).
  • Iniciamos o servidor, adicionamos o usuário no Nessus Server Manager (botão Manage users)
  • Acessamos pelo endereço
    https://localhost:8834/

    e recebemos o cliente flash no navegador.

  • Scans -> Add -> preenchemos os campos (escolhendo o perfil de varredura adequado) e clicamos em Scan.

Após algum tempo, o relatório da varredura aparecerá na aba Reports.
Para verificar a vulnerabilidade prática dos serviços a exploits, podemos usar o Metasploit Framework descrito acima ou tentar encontrar um exploit (por exemplo, em Explot-db, packet storm, explot search e outros) e usá-lo manualmente contra seu sistema.
IMHO: muito complexo. Apresentei-o como um dos líderes nesta área da indústria de software.

Automação de injeções.

A busca de injeções é realizada por muitos scanners de segurança de aplicativos web, mas eles ainda são apenas scanners gerais. Existem utilitários que se dedicam especificamente à busca e exploração de injeções. É sobre eles que iremos falar agora.

sqlmapRevisão de ferramentas gratuitas para pentest de recursos web e muito mais v2
sqlmap — é um utilitário de código aberto para busca e exploração de injeções SQL. Suporta bancos de dados como: MySQL, Oracle, PostgreSQL, Microsoft SQL Server, Microsoft Access, SQLite, Firebird, Sybase, SAP MaxDB.
O uso típico se resume à linha:

python sqlmap.py -u "http://example.com/index.php?action=news&id=1"
Existem muitos manuais disponíveis, inclusive em português. O software facilita bastante o trabalho do pentester ao lidar com esta área.
Adicionarei uma demonstração em vídeo oficial:

Por que no hosting comum a administração do PrestaShop é lenta, e no seu não é?

bsqlbf-v2
bsqlbf-v2 — é um script em Perl, bruteforcer de injeções SQL "cegas". Funciona tanto com valores inteiros na URL quanto com strings.
Suporta bancos de dados:

  • MS-SQL
  • MySQL
  • PostgreSQL
  • Oracle

Exemplo de uso:

.\/bsqlbf-v2-3.pl -url www.somehost.com\/blah.php?u=5 -blind u -sql "select table_name from imformation_schema.tables limit 1 offset 0" -database 1 -type 1

-url www.somehost.com/blah.php?u=5 — Link com parâmetros
-blind u — parâmetro para injeção (por padrão, o último da string de endereço é utilizado)
-sql "select table_name from information_schema.tables limit 1 offset 0" — nossa consulta arbitrária ao banco de dados
-database 1 — servidor de banco de dados: MSSQL
-type 1 — tipo de ataque, injeção "cega" baseada em respostas True e Error (por exemplo, erros de sintaxe)

Depuradores

Essas ferramentas são usadas principalmente por desenvolvedores, quando há problemas com os resultados da execução de seu código. Mas esta abordagem é útil também em pentesting, permitindo alterar os dados que precisamos "no voo", analisar o que é retornado a partir de nossos parâmetros de entrada (por exemplo, em fuzzing) etc.

Burp Suite
Burp Suite — um conjunto de utilitários que ajudam em testes de penetração. Na internet há uma boa análise em português de Raz0r (embora de 2008).
A versão gratuita inclui:

  • Burp Proxy — um proxy local, permite modificar as requisições já formadas pelo navegador
  • Burp Spider — um 'aranha', procura arquivos e diretórios existentes
  • Burp Repeater — envio manual de requisições HTTP
  • Burp Sequencer — análise de valores aleatórios em formulários
  • Burp Decoder — codificador-decodificador padrão (html, base64, hex, etc.), existem milhares que podem ser rapidamente escritos em alguma linguagem
  • Burp Comparer — componente para comparação de strings

Este pacote, em princípio, resolve praticamente todas as questões relacionadas a essa área.

FiddlerRevisão de ferramentas gratuitas para pentest de recursos web e muito mais v2
Fiddler — Fiddler é um proxy de depuração que registra todo o tráfego HTTP(S). Permite explorar esse tráfego, definir pontos de interrupção e manipular os dados de entrada ou saída.

Há também Firesheep, um monstro Wireshark e outros, a escolha é do usuário.

Conclusão

Naturalmente, cada pentester tem seu arsenal e suas ferramentas, pois existem muitas delas. Tentei apresentar algumas das mais convenientes e populares. Mas para que todos possam conhecer outras ferramentas nesta área, fornecerei links abaixo.

Vários tops/listas de scanners e utilitários

Distribuições Linux que já incluem várias utilidades para pentesting

upd: Documentação sobre BurpSuite em russo pela equipe "Hack4Sec" (adicionado AntonKuzmin)

P.S. Não posso deixar de mencionar o XSpider. Não participa da revisão, embora seja condicionalmente gratuito (descobri isso ao enviar o artigo para o SecLab, devido a isso (por falta de conhecimento e também por não ter a última versão 7.8) e não o incluí no artigo). E, em teoria, estava planejado revisar o mesmo (tenho testes difíceis preparados para ele), mas não sei se o mundo o verá.

P.P.S. Parte do material do artigo será usada para seu propósito original na próxima palestra em CodeFest 2012 na seção QA, que cobrirá ferramentas não mencionadas aqui (gratuitas, é claro), além de explicar o algoritmo sobre a ordem de uso, quais resultados esperar, quais configurações usar e várias dicas e truques ao trabalhar (estou refletindo sobre a palestra quase todos os dias e tentarei compartilhar o melhor que aprendi sobre o tópico)
A propósito, houve uma atividade sobre este artigo na Open InfoSec Days (tag no Habré, o site), é possível saquear caravanas dar uma olhada materiais.

Fonte: habr.com

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster