Hay muchos tipos diferentes de software de prueba de penetración, y los probadores de penetración a menudo utilizan aplicaciones y programas especializados que están ampliamente disponibles para el público en general. Dado que hay una serie de pasos típicamente asociados con las pruebas de penetración, cada fase requiere diferentes tipos de software. Las categorías básicas en las que se incluyen la mayoría de los tipos de software de prueba de penetración son los escáneres de puertos, vulnerabilidades y aplicaciones. Algunos de estos programas solo son capaces de escanear, mientras que otros también se pueden usar para iniciar ataques sobre cualquier vulnerabilidad que se descubra. Las herramientas de software básicas, como los programas de correo electrónico, también pueden ser útiles para llevar a cabo el aspecto de ingeniería social de las pruebas de penetración.
Las pruebas de penetración son un término general que cubre una amplia variedad de actividades, todas las cuales tienen como objetivo ayudar a proteger los datos, los servidores y las aplicaciones en línea. Otros términos para las pruebas de penetración incluyen «sombrero blanco» y piratería «ética», ya que los probadores de penetración utilizan muchas de las mismas herramientas que suelen emplear los piratas informáticos malintencionados. La diferencia es que los probadores de penetración se contratan para identificar debilidades y vulnerabilidades para que puedan protegerse antes de que ocurra un ataque real.
El proceso de prueba de penetración incluye varios pasos diferentes, y existen muchos tipos diferentes de tecnología y software que se pueden probar. Eso significa que las pruebas de penetración pueden hacer uso de muchos tipos diferentes de software. Los escáneres de puertos son uno de los tipos de software de prueba de penetración que se utilizan comúnmente durante la fase de recopilación de información. Este tipo de software está diseñado para escanear un host remoto en busca de puertos abiertos, que pueden ser el objetivo durante un ataque. Por lo general, el software de escaneo de puertos también se puede usar para determinar qué sistema operativo (SO) se está ejecutando en el host remoto.
Los escáneres de vulnerabilidades son otro tipo de software de prueba de penetración de uso común. Este tipo de software generalmente se programa con una serie de vulnerabilidades conocidas. Si un host remoto tiene alguna de estas vulnerabilidades, entonces el software puede configurarse para implementar una serie de posibles exploits y ataques. Este tipo de software a veces también se combina con un escáner de puertos, que puede agilizar el flujo de trabajo de las pruebas de penetración.
En otras situaciones, también puede resultar útil un tipo de software de prueba de penetración conocido como escáner de aplicaciones. Este tipo de software puede escanear aplicaciones basadas en la web y luego intentar llevar a cabo una serie de ataques diferentes. Algunos ataques comunes empleados por los escáneres de aplicaciones incluyen manipulación de cookies, inserción de lenguaje de consulta estructurado (SQL) y desbordamientos de búfer.
Algunas pruebas de penetración también tienen un aspecto de ingeniería social que puede, o no, hacer uso de cualquier software. Este tipo de pruebas de penetración puede localizar de forma eficaz cualquier debilidad de la seguridad humana, y los evaluadores suelen utilizar técnicas engañosas para acceder a información confidencial. A veces se utiliza software de correo electrónico para establecer contacto, aunque este tipo de pruebas de penetración a menudo utiliza conversaciones telefónicas e incluso interacciones físicas para acceder a datos valiosos.