Fases del Pentesting
El pentesting (abreviatura de penetration testing o prueba de penetración) es una simulación controlada de un ataque informático realizada por especialistas en ciberseguridad (pentesters) con el objetivo de evaluar la seguridad de sistemas, redes o aplicaciones.
El propósito no es dañar, sino descubrir vulnerabilidades antes de que lo hagan los atacantes reales. A diferencia de un hacker malicioso, el pentester tiene autorización para realizar las pruebas.
Temario
El proceso de pentesting suele dividirse en 5 fases principales, que simulan las etapas que seguiría un atacante real:
1. Reconocimiento (o Recolección de Información) {#1-reconocimiento-o-recolección-de-información}
→ “Saber todo lo posible sobre el objetivo antes de atacar.”
Objetivo: obtener información sobre el sistema, red o empresa objetivo. Esta información permite planificar los siguientes pasos del ataque.
Tipos:
- Reconocimiento pasivo: recopilar datos sin interactuar directamente con el objetivo (ej: buscar en Google, redes sociales, bases de datos públicas, OSINT).
- Reconocimiento activo: interactuar con el objetivo (ej: hacer ping, usar herramientas como Nmap, Whois, DNSenum).
Ejemplos de información buscada:
- IPs, dominios, subdominios.
- Puertos abiertos.
- Servicios en ejecución.
- Versiones de software.
- Correos o usuarios expuestos.
- Tecnología usada (Apache, Nginx, WordPress, etc).
2. Escaneo (Scanning) {#2-escaneo-scanning}
→ “Detectar puertas abiertas y servicios vulnerables.”
Objetivo: descubrir las posibles vulnerabilidades o puntos de entrada.
Actividades:
- Escanear puertos (con herramientas como Nmap o Masscan).
- Detectar servicios activos y sus versiones.
- Identificar sistemas operativos y software.
- Usar escáneres de vulnerabilidades (como Nessus, OpenVAS, Nikto, WPScan).
Ejemplo: Se detecta que el puerto 22 (SSH) está abierto con una versión antigua = posible vector de ataque.
3. Explotación {#3-explotación}
→ “Aprovechar las vulnerabilidades descubiertas.”
Objetivo: comprobar sí las vulnerabilidades pueden ser explotadas para obtener acceso no autorizado.
Tipos de ataques:
- Inyección SQL o XSS (en aplicaciones web).
- Ataques de fuerza bruta o diccionario.
- Explotación de servicios con exploits conocidos (usando Metasploit, Searchsploit, etc).
- Escalamiento de privilegios para obtener control total del sistema.
Ejemplo: Se explota un servicio FTP mal configurado para subir un webshell y ganar acceso al servidor.
4. Post-explotación {#4-post-explotación}
→ “Analizar el impacto del ataque y mantener el acceso.”
Objetivo: determinar qué tan grave es la vulnerabilidad explotada y qué daños podría causar un atacante real.
Acciones posibles:
- Recolectar información sensible (contraseñas, bases de datos, documentos).
- Escalar privilegios de usuario a administrador/root.
- Instalar backdoors o keyloggers (solo con autorización).
- Comprobar el nivel de acceso conseguido.
Ejemplo: El pentester obtiene acceso como administrador, roba contraseñas y demuestra cómo podría haber tomado control de toda la red.
5. Reporte {#5-reporte}
→ “Documentar todo lo encontrado.”
Objetivo: entregar un informe profesional que detalle los hallazgos, impactos y soluciones.
El reporte incluye:
- Resumen ejecutivo (explicado en lenguaje no técnico).
- Descripción técnica de las vulnerabilidades.
- Nivel de riesgo (bajo, medio, alto, crítico).
- Pruebas y evidencia (capturas, comandos, logs).
- Recomendaciones de mitigación o parches.
Importancia: Es la fase más valiosa, ya que ayuda a la organización a corregir las fallas y fortalecer su seguridad.