Una prueba de penetración, o "pen test", es una prueba de seguridad que lanza un ciberataque simulado para encontrar vulnerabilidades en un sistema informático.
Los evaluadores de penetración son profesionales de seguridad expertos en el arte del hackeo ético, que es el uso de herramientas y técnicas de hackeo para corregir las debilidades de seguridad en lugar de causar daños. Las empresas contratan evaluadores de penetración para lanzar ataques simulados contra sus aplicaciones, redes y otros activos. Al organizar ataques falsos, los evaluadores de penetración ayudan equipos de seguridad a descubrir vulnerabilidades de seguridad críticas y mejorar la posición general de seguridad.
Los términos "hackeo ético" y "prueba de penetración" a veces se usan indistintamente, pero hay una diferencia. El hackeo ético es un campo de ciberseguridad más amplio que incluye cualquier uso de habilidades de hackeo para mejorar la seguridad de la red. Las pruebas de penetración son solo uno de los métodos que utilizan los hackers éticos. Los hackers éticos también pueden proporcionar análisis de malware, evaluación de riesgos y otros servicios.
Hay tres razones principales por las que las empresas realizan pruebas de penetración.
Las pruebas de penetración son más completas que las evaluaciones de vulnerabilidad por sí solas. Las pruebas de penetración y las evaluaciones de vulnerabilidad ayudan a los equipos de seguridad a identificar las debilidades en las aplicaciones, los dispositivos y las redes. Sin embargo, estos métodos tienen propósitos ligeramente diferentes, por lo que muchas organizaciones usan ambos en lugar de confiar en uno u otro.
Las evaluaciones de vulnerabilidades suelen ser exploraciones automatizadas recurrentes que buscan vulnerabilidades conocidas en un sistema y las marcan para su revisión. Los equipos de seguridad usan evaluaciones de vulnerabilidad para verificar rápidamente fallas comunes.
Las pruebas de penetración van un paso más allá. Cuando los evaluadores de penetración encuentran vulnerabilidades, las explotan en ataques simulados que imitan los comportamientos de hackers informáticos maliciosos. Esto proporciona al equipo de seguridad una comprensión detallada de cómo los hackers reales podrían explotar las vulnerabilidades para acceder a datos confidenciales o interrumpir las operaciones. En lugar de tratar de adivinar lo que podrían hacer los hackers, el equipo de seguridad puede usar este conocimiento para diseñar controles de seguridad de red para amenazas cibernéticas del mundo real.
Debido a que los evaluadores de penetración utilizan procesos manuales y automatizados, descubren vulnerabilidades conocidas y desconocidas. Debido a que los evaluadores de penetración explotan activamente las debilidades que encuentran, es menos probable que presenten falsos positivos. Si pueden explotar una falla, también pueden hacerlo los ciberdelincuentes. Y debido a que los servicios de pruebas de penetración generalmente son proporcionados por expertos en seguridad de terceros, que abordan los sistemas desde la perspectiva de un hacker, las pruebas de penetración a menudo descubren fallas que los equipos de seguridad internos pueden pasar por alto.
Los expertos en ciberseguridad recomiendan las pruebas de penetración. Muchos expertos y autoridades en ciberseguridad recomiendan las pruebas de penetración como una medida de seguridad proactiva. Por ejemplo, en 2021, el gobierno federal de los Estados Unidos (enlace externo a ibm.com) instó a las empresas a utilizar pruebas de penetración para defenderse de los crecientes ataques de ransomware.
Las pruebas de penetración ofrecen soporte a la conformidad normativa. Las normas de seguridad de datos, como la Ley de Portabilidad y Responsabilidad de Seguros Médicos (HIPAA) y el Reglamento General de Protección de Datos (GDPR), exigen ciertos controles de seguridad. Las pruebas de penetración pueden ayudar a las empresas a demostrar la conformidad de estas regulaciones al garantizar que sus controles funcionen según lo previsto.
Otras reglamentaciones exigen explícitamente pruebas de penetración. El Estándar de seguridad de datos de la industria de tarjetas de pago (PCI-DSS), que se aplica a las organizaciones que procesan tarjetas de crédito, exige específicamente "pruebas de penetración externas e internas" (enlace externo a ibm.com).
Las pruebas de penetración también pueden respaldar la conformidad de estándares voluntarios de seguridad de la información, como ISO/CEI 27001 (enlace externo a ibm.com).
Todas las pruebas de penetración implican un ataque simulado contra los sistemas informáticos de una empresa. Sin embargo, los diferentes tipos de pruebas de penetración se dirigen a diferentes tipos de activos empresariales.
Las pruebas de penetración de aplicaciones buscan vulnerabilidades en aplicaciones y sistemas relacionados, incluidas aplicaciones web y sitios web, aplicaciones móviles y de IoT, aplicaciones en la nube e interfaces de programación de aplicaciones (API).
Los evaluadores de penetración a menudo comienzan al buscar vulnerabilidades enumeradas que aparecen en la lista Open Web Application Security Project (OWASP) Top 10 (enlace externo a ibm.com). El OWASP Top 10 es una lista de las vulnerabilidades más críticas en aplicaciones web. La lista se actualiza periódicamente para reflejar el panorama cambiante de la ciberseguridad, pero las vulnerabilidades comunes incluyen inyecciones de códigos maliciosos, configuraciones incorrectas y fallas de autenticación. Más allá del OWASP Top 10, las pruebas de penetración de aplicaciones también buscan fallas de seguridad y vulnerabilidades menos comunes que pueden ser exclusivas de la aplicación en cuestión.
Las pruebas de penetración de red atacan toda la red informática de la empresa. Hay dos tipos generales de pruebas de penetración de red: pruebas externas y pruebas internas.
En las pruebas externas, los evaluadores de penetración imitan el comportamiento de los hackers externos para encontrar problemas de seguridad en los activos de Internet, como servidores, routers, sitios web y computadoras de los empleados. Estas se denominan "pruebas externas" porque los evaluadores de penetración intentan ingresar a la red desde el exterior.
En las pruebas internas, los evaluadores de penetración imitan el comportamiento de infiltrados maliciosos o hackers con credenciales robadas. El objetivo es descubrir vulnerabilidades que una persona podría explotar desde dentro de la red, por ejemplo, el abuso de privilegios de acceso para robar datos confidenciales.
Estas pruebas de seguridad buscan vulnerabilidades en los dispositivos conectados a la red, como computadoras portátiles, dispositivos móviles y de IoT, y tecnología operativa (OT).
Los evaluadores de penetración pueden buscar fallas de software, como una irrupción del sistema operativo que permite a los hackers obtener acceso remoto a un punto final. Pueden buscar vulnerabilidades físicas, como un centro de datos mal protegido al que podrían acceder los agentes maliciosos. El equipo de pruebas también puede evaluar cómo los hackers podrían pasar de un dispositivo comprometido a otras partes de la red.
Las pruebas de penetración del personal buscan debilidades en la higiene de la ciberseguridad de los empleados. Dicho de otra manera, estas pruebas de seguridad evalúan qué tan vulnerable es una empresa a los ataques de ingeniería social.
Los evaluadores de penetración del personal utilizan phishing, vishing (phishing de voz) y smishing (phishing de SMS) para engañar a los empleados para que revelen información confidencial. Las pruebas de penetración del personal también pueden evaluar la seguridad física de la oficina. Por ejemplo, los evaluadores de penetración pueden intentar colarse en un edificio disfrazándose de repartidores. Este método, llamado "tailgating", es comúnmente utilizado por delincuentes del mundo real.
Antes de que comience una prueba de penetración, el equipo de pruebas y la empresa establecen un alcance para la prueba. El alcance describe qué sistemas se probarán, cuándo se realizarán las pruebas y los métodos que pueden usar los evaluadores de penetración. El alcance también determina cuánta información tendrán los evaluadores de penetración de antemano:
En una prueba de caja negra, los evaluadores de penetración no tienen información acerca del sistema de destino. Deben confiar en su propia investigación para desarrollar un plan de ataque, como lo haría un hacker del mundo real.
En una prueba de caja blanca, los evaluadores de penetración tienen total transparencia en el sistema de destino. La empresa comparte detalles como diagramas de red, códigos fuente, credenciales y más.
En una prueba de caja gris, los evaluadores de penetración obtienen algo de información, pero no mucha. Por ejemplo, la empresa puede compartir rangos de IP para dispositivos de red, pero los evaluadores de penetración tendrán que probar esos rangos de IP en busca de vulnerabilidades por su cuenta.
Con un alcance establecido, comienzan las pruebas. Los evaluadores de penetración pueden seguir una serie de metodologías de prueba de penetración. Los más comunes incluyen las pautas de prueba de seguridad de aplicaciones de OWASP (enlace externo a ibm.com), el Estándar de ejecución de pruebas de penetración (PTES) (enlace externo a ibm.com) y el Instituto Nacional de Estándares y Tecnología (NIST) SP 800-115 (enlace externo a ibm.com).
Independientemente de la metodología que utilice un equipo de pruebas, el proceso suele seguir los mismos pasos generales.
El equipo de pruebas recopila información del sistema de destino. Los evaluadores de penetración utilizan diferentes métodos de reconocimiento según el objetivo. Por ejemplo, si el objetivo es una aplicación, los evaluadores de penetración podrían estudiar su código fuente. Si el objetivo es una red completa, los evaluadores de penetración pueden usar un analizador de paquetes para inspeccionar los flujos de tráfico de la red.
Los evaluadores de penetración a menudo también recurren a la inteligencia de código abierto (OSINT). Al leer la documentación pública, los artículos de noticias e incluso las redes sociales y las cuentas de GitHub de los empleados, los evaluadores de penetración pueden obtener información valiosa sobre sus objetivos.
Los evaluadores de penetración utilizan el conocimiento que obtuvieron en el paso de reconocimiento para identificar vulnerabilidades explotables en el sistema. Por ejemplo, los evaluadores de penetración pueden usar un escáner de puertos como Nmap para buscar puertos abiertos donde puedan enviar malware. Para una prueba de penetración de ingeniería social, el equipo de prueba podría desarrollar una historia falsa o "pretexto" que usarán en un e-mail de phishing para robar las credenciales de los empleados.
Como parte de este paso, los evaluadores de penetración pueden verificar cómo reaccionan las características de seguridad a las intrusiones. Por ejemplo, pueden enviar tráfico sospechoso al firewall de la empresa para ver qué sucede. Los evaluadores de penetración usarán lo que aprenden para evitar la detección durante el resto de la prueba.
El equipo de pruebas comienza el ataque real. Los evaluadores de penetración pueden probar una variedad de ataques según el sistema de destino, las vulnerabilidades que encontraron y el alcance de la prueba. Algunos de los ataques más comúnmente probados incluyen:
Inyecciones SQL: los evaluadores de penetración intentan que una página web o aplicación revele datos confidenciales al ingresar un código malicioso en los campos de entrada.
Secuencias de comandos entre sitios: los evaluadores de penetración intentan plantar un código malicioso en el sitio web de una empresa.
Ataques de denegación de servicio: los evaluadores de penetración intentan desconectar servidores, aplicaciones y otros recursos de red inundándolos con tráfico.
Ingeniería social: los evaluadores de penetración utilizan phishing, baiting, pretextos u otras tácticas para engañar a los empleados para que comprometan la seguridad de la red.
Ataques de fuerza bruta: los evaluadores de penetración intentan ingresar a un sistema ejecutando scripts que generan y prueban contraseñas potenciales hasta que una funciona.
Ataques de intermediario: los evaluadores de penetración interceptan el tráfico entre dos dispositivos o usuarios para robar información confidencial o plantar malware.
Una vez que los evaluadores de penetración han explotado una vulnerabilidad para establecerse en el sistema, intentan moverse y acceder aún más. Esta fase a veces se denomina "encadenamiento de vulnerabilidades" porque los evaluadores de penetración pasan de una vulnerabilidad a otra para profundizar en la red. Por ejemplo, podrían comenzar al instalar un registrador de teclas en la computadora de un empleado. Mediante ese keylogger, pueden capturar las credenciales del empleado. Con esas credenciales, pueden acceder a una base de datos confidencial.
En esta etapa, el objetivo del evaluador de penetración es mantener el acceso y escalar sus privilegios mientras evade las medidas de seguridad. Los evaluadores de penetración hacen todo esto para imitar amenazas persistentes avanzadas (APT), que pueden estar al acecho en un sistema durante semanas, meses o años antes de ser detectados.
Al final del ataque simulado, los evaluadores de penetración limpian cualquier rastro que hayan dejado, como los troyanos de puerta trasera que plantaron o las configuraciones que cambiaron. De esa manera, los hackers del mundo real no pueden usar los ataques de los evaluadores de penetración para violar la red.
Luego, los evaluadores de penetración preparan un informe sobre el ataque. El informe generalmente describe las vulnerabilidades que encontraron, los ataques que usaron, los detalles de cómo evitaron las funciones de seguridad y las descripciones de lo que hicieron mientras estaban dentro del sistema. El informe también puede incluir recomendaciones específicas sobre la reparación de vulnerabilidades. El equipo de seguridad interno puede usar esta información para fortalecer las defensas contra los ataques del mundo real.
Los evaluadores de penetración utilizan una serie de herramientas para realizar reconocimientos, detectar vulnerabilidades y automatizar partes clave del proceso de prueba de penetración. Algunas de las herramientas más comunes incluyen:
Sistemas operativos especializados: la mayoría de los evaluadores de penetración utilizan sistemas operativos diseñados para pruebas de penetración y hackeo ético. La más popular es Kali Linux, una distribución de Linux de código abierto que incluye herramientas de prueba de penetración precargadas como Nmap, Wireshark y Metasploit.
Herramientas para descifrar credenciales: estos programas pueden descubrir contraseñas al romper cifrados o lanzar ataques de fuerza bruta, que usan bots o scripts para generar y probar automáticamente contraseñas potenciales hasta que una funcione. Los ejemplos incluyen Medusa, Hyrda, Hashcat y John the Ripper.
Escáneres de puertos: los escáneres de puertos permiten a los evaluadores de penetración probar de forma remota los dispositivos en busca de puertos abiertos y disponibles, que pueden usar 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 vulnerabilidad: las herramientas de escaneo de vulnerabilidades buscan sistemas de vulnerabilidades conocidas, lo que permite a los evaluadores de penetración encontrar rápidamente posibles entradas a un objetivo. Los ejemplos incluyen Nessus, Core Impact y Netsparker.
Los escáneres de vulnerabilidades web son un subconjunto de los escáneres de vulnerabilidades que evalúan aplicaciones y sitios web. Los ejemplos incluyen Burp Suite y Zed Attack Proxy (ZAP) de OWASP.
Analizadores de paquetes: los analizadores de paquetes, también llamados rastreadores de paquetes, permiten a los evaluadores de penetración analizar el tráfico de la red al capturar e inspeccionar paquetes. Los evaluadores de penetración pueden averiguar de dónde proviene el tráfico, hacia dó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 prueba de penetración con una gran cantidad de funciones. Lo que es más importante, Metasploit permite a los evaluadores de penetración automatizar los ciberataques. Metasploit ofrece una biblioteca integrada de códigos de ataques y cargas útiles preescritos. Los evaluadores de penetración pueden seleccionar un ataque, darle una carga útil para entregar al sistema de destino y dejar que Metasploit se encargue del resto.
Pruebas de penetración para sus aplicaciones, redes, hardware y personal para descubrir y solucionar vulnerabilidades que exponen sus activos más importantes a un ataque.
X-Force Red es un equipo global de hackers contratados para entrar en organizaciones y descubrir vulnerabilidades peligrosas que los atacantes pueden usar para beneficio personal.
Detecte y elimine amenazas más rápido con la suite XDR líder en la industria.
La búsqueda de amenazas es un enfoque proactivo para identificar amenazas no remediadas previamente desconocidas o en curso dentro de la red de una organización.
Los ciberataques son intentos no deseados de robar, exponer, alterar, deshabilitar o destruir información mediante el acceso no autorizado a los sistemas informáticos.
Las amenazas internas provienen de usuarios que tienen acceso autorizado y legítimo a los activos de una empresa y abusan de ellos de forma deliberada o accidental.