Ejecuta Fases de Reconocimiento, Escaneo y Explotación

Lectura
30 min~4 min lectura

Concepto clave

El pentesting es una metodología estructurada para evaluar la seguridad de sistemas informáticos simulando ataques reales. Se divide en fases que siguen un flujo lógico: primero, reconocimiento (recopilar información sobre el objetivo), luego escaneo (identificar vulnerabilidades específicas) y finalmente explotación (intentar aprovechar esas vulnerabilidades).

Imagina que eres un cerrajero profesional evaluando la seguridad de una casa. Primero, observas desde fuera (reconocimiento: puertas, ventanas, alarmas). Luego, pruebas cada cerradura con herramientas especializadas (escaneo: buscar puntos débiles). Finalmente, intentas abrir una cerradura vulnerable (explotación: demostrar que se puede entrar). En ciberseguridad, este proceso ayuda a encontrar y corregir fallos antes que los atacantes reales.

Cómo funciona en la práctica

Vamos a aplicar las tres fases a un servidor web hipotético usando Kali Linux. Supongamos que el objetivo es ejemplo.com (un dominio de prueba).

  1. Reconocimiento: Usa whois ejemplo.com para obtener datos del dominio, y nslookup ejemplo.com para ver direcciones IP. Esto te da una visión inicial.
  2. Escaneo: Ejecuta nmap -sV -O ejemplo.com para descubrir puertos abiertos, servicios y sistema operativo. Por ejemplo, podrías encontrar el puerto 80 (HTTP) con Apache 2.4.
  3. Explotación: Si el escaneo revela una versión vulnerable de Apache, usa una herramienta como metasploit para intentar un ataque controlado. Por ejemplo, buscar un exploit para CVE-2021-41773.

Este flujo asegura que no saltes etapas: sin reconocimiento, podrías escanear objetivos equivocados; sin escaneo, no sabrías qué explotar.

Caso de estudio

Una empresa contrata un pentest para su sitio web tiendaonline.com. Como analista, sigues este proceso:

FaseHerramienta en KaliResultado clave
ReconocimientotheHarvesterEncuentra subdominios: admin.tiendaonline.com
Escaneonmap -p 1-1000Puerto 22 (SSH) abierto con versión antigua
Explotaciónsearchsploit + metasploitExplota vulnerabilidad en SSH para acceso no autorizado
En un pentest real, siempre se obtiene autorización por escrito y se trabaja en entornos aislados para evitar daños.

El informe final mostraría cómo el reconocimiento llevó al escaneo, que identificó el SSH vulnerable, permitiendo la explotación. Esto ayuda a la empresa a parchear el servicio.

Errores comunes

  • Saltarse el reconocimiento: Ir directamente al escaneo puede hacer que pierdas información crítica, como subdominios ocultos. Solución: Dedica al menos 20% del tiempo a recopilar datos con herramientas como whois o dnsrecon.
  • Escaneo agresivo sin permiso: Usar opciones como -A en nmap sin autorización puede bloquear sistemas o alertar a defensores. Solución: Empieza con escaneos silenciosos (-sS) y ajusta la velocidad.
  • Explotar sin verificar impactos: Lanzar un exploit sin entenderlo puede causar caídas del servicio. Solución: Prueba primero en un laboratorio controlado y revisa documentación.
  • Olvidar documentar pasos: No tomar notas dificulta reproducir hallazgos para el informe. Solución: Usa herramientas como keepnote o un cuaderno digital desde el inicio.

Checklist de dominio

  1. ¿Puedo recopilar información básica de un dominio usando comandos como whois y nslookup?
  2. ¿Sé escanear puertos y servicios con nmap, interpretando resultados como estados (open, filtered)?
  3. ¿Identifico al menos una vulnerabilidad común (ej., servicio desactualizado) a partir de un escaneo?
  4. ¿Utilizo searchsploit para buscar exploits relacionados con vulnerabilidades encontradas?
  5. ¿Ejecuto un exploit simple en un entorno de prueba (ej., máquina virtual) usando metasploit?
  6. ¿Documento cada paso con herramientas o notas para un futuro informe?
  7. ¿Comprendo la importancia de la autorización y el alcance definido antes de empezar?

Pentest básico a un servidor web local

En este ejercicio, aplicarás las fases de reconocimiento, escaneo y explotación en un entorno seguro. Usarás Kali Linux en una máquina virtual y un servidor web vulnerable (ej., Metasploitable2) en otra máquina virtual en la misma red.

  1. Preparación: Configura dos máquinas virtuales: una con Kali Linux y otra con Metasploitable2 (descargable desde internet). Asegúrate de que estén en la misma red (ej., modo NAT).
  2. Reconocimiento: Desde Kali, identifica la IP del servidor Metasploitable2. Usa ifconfig en Metasploitable2 para ver su IP, luego en Kali, ejecuta ping [IP] para verificar conectividad. Anota la IP.
  3. Escaneo: Escanea el servidor con nmap -sV [IP]. Analiza los resultados: busca puertos abiertos (ej., 80 para HTTP, 21 para FTP) y versiones de servicios. Anota al menos un servicio con versión desactualizada.
  4. Explotación: Para un servicio vulnerable (ej., vsftpd 2.3.4 en puerto 21), usa Metasploit. Ejecuta msfconsole, luego busca el exploit: search vsftpd. Selecciona y configura el exploit (ej., use exploit/unix/ftp/vsftpd_234_backdoor), define el objetivo (set RHOSTS [IP]) y ejecuta (exploit). Si tiene éxito, obtendrás acceso.
  5. Documentación: Crea un archivo de texto con los pasos, comandos usados y resultados. Incluye capturas de pantalla si es posible.
Pistas
  • Si no encuentras la IP de Metasploitable2, usa netdiscover en Kali para escanear la red local.
  • En el escaneo, si nmap no muestra versiones, prueba agregando -sC para scripts básicos.
  • Al usar Metasploit, lee la descripción del exploit con info antes de ejecutarlo para entender su funcionamiento.

Evalua tu comprension

Completa el quiz interactivo de arriba para ganar XP.