Os testadores de penetração usam várias ferramentas para realizar reconhecimento, detectar vulnerabilidades e automatizar partes importantes do processo de testes de penetração. Algumas das ferramentas mais comuns incluem:
Sistemas operacionais especializados: a maioria dos testadores de penetração usa sistemas operacionais projetados para testes de penetração e hackers éticos. O mais popular é o Kali Linux, uma distribuição Linux de código aberto que vem pré-instalada com ferramentas de testes de penetração como Nmap, Wireshark e Metasploit.
Ferramentas de quebra de credenciais: esses programas podem descobrir senhas quebrando criptografias ou lançando ataques de força bruta, que usam bots ou scripts para gerar e testar automaticamente possíveis senhas até que uma funcione. Como exemplos, temos o Medusa, Hyrda, Hashcat e John the Ripper.
Scanners de portas: os scanners de portas permitem que os testadores de penetração testem remotamente os dispositivos em busca de portas abertas e disponíveis, que podem ser usadas para violar uma rede. O Nmap é o scanner de portas mais usado, mas o masscan e o ZMap também são comuns.
Verificadores de vulnerabilidades: as ferramentas de verificação de vulnerabilidades pesquisam sistemas em busca de vulnerabilidades conhecidas, permitindo que os testadores de penetração encontrem rapidamente possíveis entradas para um alvo. Como exemplos, temos o Nessus, Core Impact e Netsparker.
Os verificadores de vulnerabilidades da web são um subconjunto de verificadores de vulnerabilidades que avaliam aplicativos da web e sites. Como exemplos, temos o Burp Suite e o Zed Attack Proxy (ZAP) do OWASP.
Analisadores de pacotes: os analisadores de pacotes, também chamados de farejadores de pacotes, permitem que os testadores de penetração analisem o tráfego de rede capturando e inspecionando pacotes. Os testadores de penetração podem descobrir de onde vem o tráfego, para onde está indo e, em alguns casos, quais dados ele contém. O Wireshark e o tcpdump estão entre os analisadores de pacotes mais comumente usados.
Metasploit: o Metasploit é uma estrutura de testes de penetração com uma série de funções. E o mais importante, o Metasploit permite que os testadores de penetração automatizem ataques cibernéticos. O Metasploit possui uma biblioteca integrada de códigos de exploração e cargas úteis pré-escritos. Os testadores de penetração podem selecionar um exploit, fornecer a ele uma carga útil para entregar ao sistema-alvo e deixar que o Metasploit cuide do resto.