Los pentesters utilizan diversas herramientas para realizar reconocimientos, detectar vulnerabilidades y automatizar partes clave del proceso de pruebas de penetración. Algunas de las herramientas más comunes son:
Sistemas operativos especializados: la mayoría de los pentesters utilizan sistemas operativos diseñados para pruebas de penetración y hacking ético. La más popular es Kali Linux, una distribución de Linux de código abierto que viene preinstalada con herramientas de pen testing como Nmap, Wireshark y Metasploit.
Herramientas de descifrado de credenciales: estos programas pueden descubrir contraseñas rompiendo cifrados o lanzando ataques de fuerza bruta, que utilizan bots o scripts para generar y probar automáticamente posibles contraseñas hasta que una funciona. Algunos ejemplos son Medusa, Hyrda, Hashcat y John the Ripper.
Escáneres de puertos: los escáneres de puertos permiten a los pentesters probar remotamente los dispositivos en busca de puertos abiertos y disponibles, que pueden utilizar para violar una red. Nmap es el escáner de puertos más utilizado, pero masscan y ZMap también son comunes.
Escáneres de vulnerabilidades: las herramientas de escaneo de vulnerabilidades buscan vulnerabilidades conocidas en los sistemas, lo que permite a los especialistas en pruebas de penetración encontrar rápidamente posibles vías de acceso a un objetivo. Algunos ejemplos son Nessus, Core Impact y Netsparker.
Los escáneres de vulnerabilidades web son un subconjunto de los escáneres de vulnerabilidades que evalúan las aplicaciones web y los sitios web. Algunos ejemplos son Burp Suite y Zed Attack Proxy (ZAP) de OWASP.
Analizadores de paquetes: los analizadores de paquetes, también llamados sniffers de paquetes, permiten a los pentesters analizar el tráfico de red capturando e inspeccionando paquetes. Los pentesters pueden averiguar de dónde procede el tráfico, adónde se dirige y, en algunos casos, qué datos contiene. Wireshark y tcpdump se encuentran entre los analizadores de paquetes más utilizados.
Metasploit: Metasploit es un marco de pruebas de penetración con multitud de funciones. Lo más importante es que Metasploit permite a los pentesters automatizar los ciberataques. Metasploit cuenta con una biblioteca integrada de códigos de exploits y cargas útiles preescritos. Los pentesters pueden seleccionar un exploit, darle una carga útil para entregar al sistema de destino, y dejar que Metasploit se encargue del resto.