Introducción a las pruebas de penetración: cómo piensan los hackers éticos
A los pentesters se les paga por irrumpir en sistemas antes que los delincuentes. Aprende la metodología, las fases y la mentalidad del hacking ético.
Tabla de contenidos
Qué son —y qué no son— las pruebas de penetración
Una prueba de penetración (pentest) es un ataque autorizado y simulado a un sistema, red o aplicación para identificar debilidades de seguridad antes de que los atacantes reales las encuentren. La palabra clave es autorizado. Las habilidades técnicas de un pentester y las de un atacante criminal suelen ser idénticas. La diferencia es el permiso legal y la intención.
Una prueba de penetración no es lo mismo que un escaneo de vulnerabilidades. Un escáner identifica vulnerabilidades conocidas comparando los sistemas con una base de datos. Un pentester intenta explotar esas vulnerabilidades para demostrar el impacto en el mundo real: encadenando debilidades, escalando privilegios y moviéndose por los sistemas como lo haría un atacante real.
Tampoco es lo mismo que un ejercicio de red team. Un red team simula una campaña completa de un adversario —a menudo durante semanas o meses— poniendo a prueba a las personas, los procesos y la tecnología. Una prueba de penetración suele tener un alcance más acotado y un límite de tiempo.
La base legal y ética
Antes de que comience cualquier prueba, un pentester debe contar con una autorización explícita por escrito. Esta suele adoptar la forma de un documento de Reglas de Enfrentamiento (ROE) y una Declaración de Trabajo (Statement of Work) que definen:
- Alcance: qué sistemas, rangos de IP y aplicaciones están dentro del alcance
- Sistemas fuera del alcance: bases de datos de producción que no puedes tocar, servicios de terceros
- Técnicas permitidas: ¿se permite la ingeniería social? ¿El acceso físico?
- Horarios: ¿hay ventanas de mantenimiento que evitar?
- Contactos de emergencia: si algo se rompe, ¿a quién se llama de inmediato?
Realizar pruebas sin autorización es ilegal según las leyes sobre fraude informático en prácticamente todas las jurisdicciones (la Computer Fraud and Abuse Act en EE. UU., la Computer Misuse Act en el Reino Unido y equivalentes en otros lugares). Durante cualquier prueba que pueda activar alertas de seguridad debe llevarse una carta de exención de responsabilidad del cliente, a veces llamada literalmente "carta de salida de la cárcel".
Las cinco fases de una prueba de penetración
Fase 1: Reconocimiento
El reconocimiento (recon) es la fase de recopilación de información. El pentester aprende todo lo posible sobre el objetivo antes de tocar ningún sistema. Se divide en dos categorías:
El reconocimiento pasivo utiliza información públicamente disponible sin interactuar con el objetivo:
- Registros WHOIS, registros DNS, registros de transparencia de certificados
- LinkedIn para nombres de empleados, cargos y pistas sobre la pila tecnológica
- GitHub y repositorios de código en busca de credenciales filtradas, claves de API y direcciones IP internas
- Shodan.io y Censys para servicios expuestos a internet
- Google dorking (site:target.com filetype:pdf, site:target.com inurl:login)
El reconocimiento activo implica interacción directa con el objetivo:
- Enumeración de DNS y transferencias de zona
- Escaneo de puertos (Nmap)
- Identificación de servicios
- Rastreo de aplicaciones web
Un reconocimiento cuidadoso a menudo revela hallazgos sin ninguna explotación: directorios .git expuestos públicamente, archivos de entorno expuestos, credenciales predeterminadas en interfaces administrativas.
Fase 2: Escaneo y enumeración
Con una lista de objetivos establecida, el pentester escanea de forma sistemática en busca de puertos abiertos, servicios en ejecución, versiones de software y configuraciones incorrectas.
Herramientas clave:
- Nmap — el estándar para el escaneo de puertos y servicios
- Nikto — escáner de vulnerabilidades de servidores web
- Gobuster / ffuf — fuerza bruta de directorios y archivos en aplicaciones web
- Enum4linux — enumeración de SMB y Windows
- Nessus / OpenVAS — escáneres automatizados de vulnerabilidades
La enumeración va más a fondo: extraer nombres de usuario de LDAP, identificar recursos compartidos SMB, descubrir endpoints de API, mapear la lógica de la aplicación.
Fase 3: Explotación
La explotación intenta aprovechar las vulnerabilidades descubiertas para obtener acceso no autorizado. El objetivo suele ser lograr uno de estos:
- Ejecución remota de código (RCE) en un sistema objetivo
- Elusión de la autenticación para acceder a recursos protegidos
- Escalada de privilegios de un usuario con pocos privilegios a uno con muchos privilegios
- Exfiltración de datos para demostrar qué podría robar un atacante
Metasploit Framework es la herramienta más utilizada para organizar y ejecutar exploits. Proporciona una biblioteca de módulos para vulnerabilidades conocidas, generación de payloads y postexplotación.
Una habilidad crítica aquí es el encadenamiento de vulnerabilidades. Una configuración incorrecta de baja gravedad podría no justificar acción por sí sola, pero combinada con una divulgación de información y una contraseña débil se convierte en un camino hacia el administrador de dominio.
Fase 4: Postexplotación
Tras el acceso inicial, los pentesters simulan lo que haría un atacante real: mantener la persistencia, moverse lateralmente, escalar privilegios y alcanzar sus objetivos.
Técnicas de movimiento lateral:
- Pass-the-Hash: usar hashes NTLM capturados para autenticarse sin conocer la contraseña en texto plano
- Kerberoasting: solicitar tickets de servicio y descifrarlos sin conexión para obtener contraseñas de cuentas de servicio
- Pivoting: usar un host comprometido como puente para alcanzar sistemas que no eran accesibles directamente
Técnicas de persistencia:
- Tareas programadas, trabajos cron
- Claves de ejecución del registro
- Cuentas de puerta trasera
- Web shells en servidores web comprometidos
La profundidad de la postexplotación está limitada por las ROE.
Fase 5: Informe
El informe es el entregable principal de una prueba de penetración. Un buen informe:
- Ofrece un resumen ejecutivo accesible para la dirección no técnica
- Enumera cada hallazgo con una calificación de gravedad (puntuación CVSS o cualitativa: Crítica/Alta/Media/Baja)
- Documenta una prueba de concepto para cada hallazgo (capturas de pantalla, comandos usados)
- Explica el impacto en el negocio: no solo "se encontró inyección SQL", sino "un atacante podría acceder a todos los registros de pago de los clientes"
- Proporciona orientación de remediación específica, no consejos genéricos
- Incluye una hoja de ruta de remediación priorizada por riesgo
Metodologías y marcos comunes
- PTES (Penetration Testing Execution Standard) — metodología integral que cubre todas las fases
- OWASP Testing Guide — específicamente para pruebas de aplicaciones web
- NIST SP 800-115 — guía técnica para las pruebas de seguridad de la información
- OSSTMM (Open Source Security Testing Methodology Manual) — metodología de pruebas de seguridad más amplia
Cómo empezar en las pruebas de penetración
Para quienes buscan dedicarse profesionalmente a las pruebas de penetración:
Entornos de práctica:
- HackTheBox, TryHackMe, PentesterLab — máquinas intencionadamente vulnerables
- DVWA (Damn Vulnerable Web Application) — práctica local con aplicaciones web
- VulnHub — máquinas virtuales vulnerables descargables
Certificaciones:
- OSCP (Offensive Security Certified Professional) — práctica, respetada en el sector, difícil
- CEH (Certified Ethical Hacker) — ampliamente reconocida, más basada en conocimientos
- eJPT (eLearnSecurity Junior Penetration Tester) — un buen punto de partida
Herramientas clave que aprender: Nmap, Metasploit, Burp Suite, Wireshark, John the Ripper, Hashcat, Gobuster, BloodHound
La mentalidad de las pruebas de penetración se basa fundamentalmente en la resolución creativa de problemas dentro de unas restricciones. El conocimiento técnico importa, pero la capacidad de pensar como un atacante —de identificar lo que los defensores han pasado por alto— es lo que separa a los pentesters eficaces de los meros operadores de herramientas.