Pentesting y el ciclo del ataque
Marco ético y legal — leer primero
Pentesting sin autorización escrita es un delito en prácticamente todos los países (España: art. 197bis CP; internacionalmente: CFAA en EE.UU., Computer Misuse Act en UK, etc.).
Todo lo que se desarrolla en este documento aplica exclusivamente a:
- Laboratorios propios (máquinas virtuales, redes aisladas).
- Plataformas CTF (Capture The Flag): HackTheBox, TryHackMe, PicoCTF, etc.
- Entornos con permiso escrito explícito del propietario (contratos de pentesting profesional, Bug Bounty con scope definido).
La mentalidad ofensiva existe para entender cómo piensa el atacante y así defender mejor. No para explotar sistemas ajenos.
Por qué importa entender el ciclo del ataque
La mayoría de controles defensivos (firewalls, antivirus, SIEM, parches) responden a amenazas concretas. Si no sabes qué fases atraviesa un atacante real, no sabes dónde poner los controles ni cómo detectar que algo está pasando.
El pentesting (penetration testing o prueba de intrusión) es el proceso controlado y autorizado de simular un ataque para encontrar vulnerabilidades antes de que lo haga un actor malicioso. Es la versión profesionalizada de “hackear tu propia casa para encontrar las ventanas abiertas”.
Posición en el mapa de ciberseguridad:
[Defender (Blue Team)] <------ gap de conocimiento ------> [Atacante]
↑
[Pentester / Red Team]
(entiende ambos lados, trabaja
para el defensor con permiso)
Ver 01-fundamentos-y-mentalidad para el encuadre general y los roles Red/Blue/Purple Team.
Marcos de referencia: Kill Chain y MITRE ATT&CK
Antes de ver las fases concretas, conviene conocer los dos marcos que las estructuran.
Cyber Kill Chain (Lockheed Martin, 2011)
Modelo lineal de 7 fases que describe cómo progresa un ataque. La idea central: romper cualquier eslabón detiene el ataque. El defensor gana si interrumpe la cadena lo antes posible.
| Fase | Nombre | Qué hace el atacante |
|---|---|---|
| 1 | Reconocimiento | Recolecta información sobre el objetivo |
| 2 | Armamentización | Crea el payload/exploit |
| 3 | Entrega | Envía el arma (phishing, USB, web) |
| 4 | Explotación | El exploit se ejecuta en el objetivo |
| 5 | Instalación | Instala un backdoor/implante |
| 6 | C2 (Command & Control) | Establece canal de comunicación con el atacante |
| 7 | Acciones sobre objetivos | Exfiltra datos, cifra, destruye |
Limitación: es lineal, no modela bien los ataques modernos que saltan fases o retroceden.
MITRE ATT&CK (Adversarial Tactics, Techniques & Common Knowledge)
Base de conocimiento pública mantenida por MITRE con tácticas y técnicas reales documentadas de grupos APT (Advanced Persistent Threat). Es el estándar de la industria para describir comportamientos de atacantes.
- Táctica: el objetivo que persigue el atacante en esa fase (ej. “Persistencia”).
- Técnica: cómo lo logra (ej. T1053 — Scheduled Task/Job).
- Sub-técnica: variante específica (ej. T1053.005 — Windows Task Scheduler).
MITRE ATT&CK Enterprise Matrix (resumen de tácticas):
┌─────────────────────────────────────────────────────────────────┐
│ Reconn. │ Resource │ Initial │ Execution│ Persist. │ Priv.Esc.│
│ │ Develop. │ Access │ │ │ │
├─────────────────────────────────────────────────────────────────┤
│ Defense │ Credential│ Discovery│ Lateral │ Collection│ C2 │
│ Evasion │ Access │ │ Movement │ │ │
├─────────────────────────────────────────────────────────────────┤
│ Exfiltration │ Impact │
└─────────────────────────────────────────────────────────────────┘
ATT&CK es más granular que Kill Chain y permite mapear defensas concretas a técnicas concretas. Referencia: attack.mitre.org.
Fases de un test de intrusión
Un pentest profesional sigue una metodología (PTES, OWASP Testing Guide, NIST SP 800-115). Las fases que se explican a continuación son conceptuales y transferibles entre metodologías.
Fase 0 — Alcance y reglas de enfrentamiento (antes de tocar nada)
La más importante. Sin esto, todo lo demás es ilegal.
- Documento de alcance (scope): qué IPs, dominios, aplicaciones están dentro del objetivo. Qué queda fuera (producción crítica, sistemas de terceros).
- Rules of Engagement (RoE): horarios permitidos, qué técnicas están autorizadas (¿se puede hacer DoS? ¿ingeniería social?), contacto de emergencia si algo se rompe.
- Firma de contrato / carta de autorización.
Fase 1 — Reconocimiento (Reconnaissance)
Objetivo: recopilar toda la información posible sobre el objetivo sin interactuar directamente con sus sistemas (reconocimiento pasivo) o con interacción mínima (reconocimiento activo).
Reconocimiento pasivo (no deja rastro en los logs del objetivo):
- OSINT (Open Source Intelligence): Google dorks, Shodan, LinkedIn, WHOIS, registros DNS públicos, Wayback Machine, GitHub con credenciales filtradas.
- Herramientas:
theHarvester,Maltego,recon-ng,Amass.
Reconocimiento activo (puede aparecer en logs):
- Enumeración DNS, traceroute, ping sweeps.
- Comienzo de la huella de red (network footprinting).
Desde la defensa: reducir la superficie de información pública (OSINT de tu propia organización), monitorizar menciones en foros/pastebins, deshabilitar headers informativos en servidores.
Fase 2 — Escaneo y enumeración (Scanning & Enumeration)
Objetivo: descubrir hosts activos, puertos abiertos, servicios en ejecución, versiones de software, posibles vulnerabilidades.
Conceptos clave:
- Puerto: punto de comunicación lógico (0-65535). Los primeros 1024 son “well-known” (HTTP=80, HTTPS=443, SSH=22, FTP=21…).
- Escaneo SYN (half-open): envía SYN, si recibe SYN-ACK el puerto está abierto; no completa el handshake TCP, menos ruidoso.
- Banner grabbing: leer la respuesta de un servicio para identificar su versión.
- Enumeración: ir más allá del escaneo — listar usuarios, recursos compartidos SMB, directorios web, registros de Active Directory.
Herramienta central: nmap
# Conceptualmente, qué hace cada opción (no ejecutar en redes ajenas):
nmap -sV -O <objetivo> # detecta versiones de servicio y SO
nmap -sC <objetivo> # lanza scripts NSE por defecto (más info, más ruido)
nmap -p- <objetivo> # escanea todos los 65535 puertos
nmap -A <objetivo> # agresivo: versiones + OS + scripts + traceroute
Desde la defensa: IDS/IPS detectan escaneos (muchos SYN sin completar handshake). Firewall que solo expone puertos necesarios. No dejar banners con versiones expuestos.
Fase 3 — Explotación (Exploitation)
Objetivo: aprovecharse de una vulnerabilidad identificada para obtener acceso no autorizado al sistema.
Tipos de vulnerabilidad que se explotan (conceptos):
- Vulnerabilidades de software (buffer overflow, inyección SQL, RCE).
- Configuraciones incorrectas (credenciales por defecto, permisos excesivos).
- Credenciales débiles o filtradas.
- Ingeniería social (phishing — si está en scope).
Ver 08-vulnerabilidades-y-explotacion y 04-seguridad-web-owasp para detalles.
Herramienta: Metasploit Framework
Framework open-source (Rapid7) que centraliza exploits y payloads. Estructura conceptual:
Metasploit
├── módulos exploit/ → código que aprovecha la vulnerabilidad
├── módulos payload/ → qué ejecutar si el exploit tiene éxito
│ ├── singles → payload autocontenido (ejecuta y listo)
│ ├── stagers → establece canal, descarga stage
│ └── stages → Meterpreter (shell avanzada)
├── módulos auxiliary/ → escaneo, fuzzing, sin explotar
└── módulos post/ → acciones post-explotación
En un laboratorio controlado (VM vulnerable como Metasploitable2):
# Flujo conceptual en Metasploit:
use exploit/multi/handler # seleccionar módulo
set PAYLOAD <payload> # configurar payload
set LHOST <tu IP> # donde escuchará la conexión inversa
set RHOST <IP objetivo> # objetivo (solo en tu lab)
run # lanzar
Desde la defensa: parchear vulnerabilidades (CVEs), principio de mínimo privilegio, WAF para aplicaciones web, IPS con firmas actualizadas.
Fase 4 — Post-explotación (Post-Exploitation)
Objetivo: una vez dentro, entender el contexto, elevar privilegios y preparar las siguientes fases.
Actividades típicas:
- Enumeración local: qué usuario soy, qué privilegios tengo, qué SO y versión, qué otros hosts son accesibles desde aquí.
- Escalada de privilegios (privesc): pasar de usuario limitado a administrador/root. Técnicas comunes: explotar SUID mal configurado (Linux), servicios con permisos incorrectos (Windows), tokens de impersonación.
- Movimiento lateral: usar el acceso actual para alcanzar otros sistemas de la red interna (Pass-the-Hash, Pass-the-Ticket, abuso de credenciales en memoria).
- Dumping de credenciales: extraer hashes de contraseñas de memoria o archivos SAM/NTDS.dit.
Desde la defensa: segmentación de red (VLAN, microsegmentación), EDR (Endpoint Detection and Response), monitorización de comportamiento anómalo (SIEM), protección de LSASS en Windows.
Fase 5 — Persistencia (Persistence)
Objetivo: mantener el acceso aunque el sistema se reinicie o el vector inicial se cierre.
Técnicas conceptuales (MITRE ATT&CK Táctica TA0003):
- Crear cuentas de usuario backdoor.
- Añadir tareas programadas o servicios.
- Modificar claves de registro de autoarranque (Windows).
- Cron jobs maliciosos (Linux).
- Web shells en aplicaciones web.
Desde la defensa: monitorización de cambios en registro/crontabs, revisión de cuentas nuevas, alertas SIEM sobre new scheduled tasks, integridad de archivos web (AIDE, Tripwire).
Fase 6 — Exfiltración (Exfiltration)
Objetivo: sacar datos del objetivo hacia un punto controlado por el atacante.
Técnicas conceptuales:
- Exfiltración por canal DNS (datos codificados en consultas DNS, difícil de detectar).
- Transferencia por HTTPS a C2 (se mezcla con tráfico legítimo).
- Uso de servicios cloud legítimos (Dropbox, Google Drive) como punto de entrega.
- Exfiltración lenta/fragmentada para evitar alertas por volumen.
Desde la defensa: DLP (Data Loss Prevention), inspección de tráfico saliente (CASB), alertas sobre grandes transferencias de datos, monitorización de tráfico DNS inusual.
Herramientas del pentester — panorama general
No memorizarlas; entender qué categoría cubre cada una y cuándo usarla.
| Herramienta | Categoría | Para qué sirve |
|---|---|---|
| nmap | Escaneo de red | Descubrir hosts, puertos, servicios, OS |
| Metasploit | Framework de explotación | Exploits, payloads, post-explotación |
| Burp Suite | Proxy HTTP/web | Interceptar, modificar y analizar tráfico web; encontrar vulns OWASP |
| Wireshark | Análisis de paquetes | Capturar y diseccionar tráfico de red |
| Gobuster / ffuf | Fuzzing web | Descubrir directorios y archivos ocultos en servidores web |
| Hydra / John the Ripper / Hashcat | Ataques a credenciales | Fuerza bruta / cracking de hashes |
| sqlmap | Inyección SQL | Automatizar detección y explotación de SQLi |
| Mimikatz | Credenciales Windows | Extraer hashes/tickets de memoria LSASS (solo en labs/autorizados) |
| Impacket | Protocolos Windows | Suite Python para SMB, Kerberos, LDAP |
| Nikto | Escáner web | Detectar configuraciones inseguras en servidores web |
| Aircrack-ng | Redes Wi-Fi | Auditar redes wireless (en tu propio router) |
Burp Suite en detalle (por su importancia en web)
Actúa como proxy interceptor: se sitúa entre el navegador y el servidor, permitiendo leer y modificar cada petición/respuesta HTTP/S.
Navegador → [Burp Suite] → Servidor web
intercepta aquí
Módulos principales:
- Proxy: intercepción manual de peticiones.
- Repeater: reenviar peticiones modificadas manualmente.
- Intruder: automatizar variaciones de parámetros (fuzzing, brute force).
- Scanner (Pro): detectar vulnerabilidades automáticamente.
- Decoder: codificar/decodificar Base64, URL, HTML, etc.
Ver 04-seguridad-web-owasp para el contexto de las vulnerabilidades que Burp ayuda a encontrar.
Distribuciones orientadas a seguridad
Sistemas operativos Linux preconfigurados con herramientas de seguridad instaladas. Se usan típicamente desde una VM o modo live USB en el laboratorio.
| Distro | Base | Perfil |
|---|---|---|
| Kali Linux | Debian | La más conocida. Orientada a pentesting profesional. Mantenida por Offensive Security. |
| Parrot OS | Debian | Más ligera que Kali. Incluye también herramientas de privacidad/OPSEC. Buena para hardware antiguo. |
| BlackArch | Arch Linux | Repositorio enorme (>2800 herramientas). Para usuarios avanzados que ya dominan Arch. |
| REMnux | Ubuntu | Especializada en análisis de malware y forense. |
| FLARE VM | Windows | Entorno Windows para análisis de malware (de Mandiant). |
Recomendación de inicio: Kali o Parrot en VirtualBox/VMware, red en modo host-only o internal network para aislarla del exterior.
Ciclo completo — diagrama de flujo
[SCOPE & RoE] — sin esto, STOP
│
▼
[RECONOCIMIENTO]
OSINT pasivo → huella activa
│
▼
[ESCANEO Y ENUMERACIÓN]
nmap, enum de servicios, versiones
│
▼
[ANÁLISIS DE VULNERABILIDADES]
CVEs, configs incorrectas, credenciales débiles
│
▼
[EXPLOTACIÓN]
Metasploit, Burp Suite, exploit manual
│
▼
[POST-EXPLOTACIÓN]
Enumeración local, privesc, pivoting
│
┌────┴────┐
▼ ▼
[PERSIST.] [EXFIL.]
│
▼
[INFORME] ← la entrega real del trabajo
Hallazgos, evidencias, impacto, remediaciones
El informe es el producto final de un pentest profesional. Sin él, el trabajo no tiene valor para el cliente.
Errores comunes y cómo prevenirlos
Desde la perspectiva del defensor que entiende estas fases:
| Error del defensor | Por qué facilita el ataque | Contramedida |
|---|---|---|
| Puertos innecesarios abiertos | Amplía superficie de escaneo | Firewall con política deny-all, solo abrir lo necesario |
| Banners de versión expuestos | Reconocimiento trivial de CVEs aplicables | Deshabilitar ServerTokens en Apache/Nginx |
| Credenciales por defecto | Explotación sin necesidad de exploit | Cambiar siempre en el primer arranque, gestionar con vault |
| Sin segmentación de red | Movimiento lateral trivial | VLANs, microsegmentación, zero-trust |
| Sin logs centralizados | Ataque pasa desapercibido meses | SIEM, alertas sobre IOCs (indicadores de compromiso) |
| Parches retrasados | Metasploit tiene módulos para CVEs con años | Patch management automatizado (ver 06-seguridad-de-sistemas-y-hardening) |
| Usuarios con privilegios excesivos | Privesc innecesaria — ya son admin | Principio de mínimo privilegio |
Aplícalo / practica
Laboratorio propio (sin internet, sin riesgo legal)
- Instala VirtualBox o VMware Workstation Player (gratuito).
- Crea red interna (host-only o internal): las VMs se ven entre sí pero no salen a internet.
- Máquinas vulnerables por diseño (para practicar legalmente):
- Metasploitable 2/3: Linux con decenas de servicios vulnerables.
- DVWA (Damn Vulnerable Web Application): app web con vulns OWASP.
- VulnHub: catálogo de VMs descargables con niveles de dificultad.
Plataformas CTF y guiadas (online, gratuitas o freemium)
- TryHackMe — ruta estructurada, ideal para comenzar, muchas máquinas guiadas.
- HackTheBox — más desafiante, cerca del pentesting real, comunidad activa.
- PicoCTF — CTF universitario, bueno para criptografía y reversing.
- PortSwigger Web Security Academy — gratuito, laboratorios de Burp Suite con todas las vulns OWASP.
Asegurar tus propios proyectos
- En la app web (FastAPI + React): escanear con OWASP ZAP en modo pasivo, revisar headers HTTP de seguridad, auditar dependencias con
pip-auditynpm audit. - Revisar 09-devsecops-y-appsec para integrar seguridad en el pipeline CI/CD.
Certificaciones de referencia (orientación)
| Certificación | Nivel | Enfoque |
|---|---|---|
| eJPT (eLearnSecurity) | Principiante | Pentesting básico, buena entrada |
| CEH (EC-Council) | Intermedio | Más teórico, reconocido en enterprise |
| OSCP (Offensive Security) | Avanzado | Examen de 24h en lab real, gold standard |
| PNPT (TCM Security) | Intermedio | Más práctico y asequible que OSCP |
Conexiones
- MOC_Ciberseguridad
- 01-fundamentos-y-mentalidad
- 02-criptografia
- 03-seguridad-de-redes
- 04-seguridad-web-owasp
- 05-identidad-auth-y-secretos
- 06-seguridad-de-sistemas-y-hardening
- 08-vulnerabilidades-y-explotacion
- 09-devsecops-y-appsec
- 10-blue-team-y-respuesta-incidentes
- 11-privacidad-y-opsec
- 12-aprender-y-carrera
- MOC_Desarrollo_Software