En la lección anterior construimos el expediente de TechNova sin tocar sus sistemas: whois, DNS público, crt.sh, dorks, archive.org y metadatos nos dieron una lista de candidatos —subdominios como dev., staging-tienda., intranet. y vpn., la IP de la tienda, los servidores de nombres NS1/NS2—. Pero todo eso es una hipótesis: nos dice qué podría existir, no qué está vivo y respondiendo. Para pasar de "existe en un certificado" a "este host contesta", hay que hablar directamente con la infraestructura del objetivo. Eso es el reconocimiento activo.
Reconocimiento activo significa interactuar directamente con los sistemas del objetivo enviándoles paquetes y analizando sus respuestas. A diferencia del pasivo, aquí sí dejamos rastro: nuestras peticiones pueden aparecer en los logs de TechNova y activar sus sistemas de detección. Por eso es doblemente importante mantenernos dentro del alcance y las RoE, e ir con cuidado. En esta lección cubrimos la primera franja de técnicas activas —consultas y transferencia de zona DNS, descubrimiento de hosts vivos, banner grabbing básico, traceroute, enumeración activa de subdominios y crawling web ligero—, y marcamos con claridad dónde termina el reconocimiento y empieza el escaneo (que es el Módulo 3).
Contenido
- Qué cambia respecto al pasivo (y la frontera con el Módulo 3)
- DNS activo: consultas al servidor autoritativo y transferencia de zona
- Descubrimiento de hosts vivos (ping sweep)
- Traceroute: la ruta hasta el objetivo
- Banner grabbing básico
- Enumeración activa de subdominios
- Web crawling ligero
- Encuadre ético y de alcance
- Errores comunes y consejos
- Ejercicios
- Conclusión
- Qué cambia respecto al pasivo (y la frontera con el Módulo 3)
El cambio esencial es que ahora el tráfico llega al objetivo. Con ello ganamos certeza (confirmamos qué vive) a cambio de visibilidad (podemos ser detectados). Situemos esta lección entre lo que ya vimos y lo que viene:
flowchart LR
A[02-01 Pasivo<br/>sin tocar el objetivo] --> B[02-02 Activo<br/>confirmar que existe y vive]
B --> C[Modulo 3<br/>escaneo profundo + enumeracion de servicios]
style A fill:#e3f2fd,stroke:#1565c0
style B fill:#fff3e0,stroke:#e65100,stroke-width:2px
style C fill:#f3e5f5,stroke:#6a1b9a
La frontera que no vamos a cruzar en esta lección: el escaneo profundo de puertos (barrer los 65535 puertos, detección fina de versiones, scripts de enumeración de servicios) pertenece al Módulo 3. Aquí hacemos reconocimiento activo "de superficie": confirmar hosts vivos, obtener algún banner puntual y mapear nombres y rutas. Piensa en ello como pasar lista ("¿estás ahí?") antes del interrogatorio detallado que vendrá después.
| Reconocimiento activo (02-02) | Escaneo y enumeración (Módulo 3) | |
|---|---|---|
| Objetivo | Confirmar qué hosts/nombres viven | Detallar puertos, servicios y versiones |
| Profundidad | Superficial, puntual | Exhaustiva |
| Ejemplo | Ping sweep, un banner suelto | nmap -sV -p-, scripts NSE, enumeración SMB/HTTP |
- DNS activo: consultas al servidor autoritativo y transferencia de zona
En el pasivo preguntábamos a un resolutor público. Ahora preguntamos directamente al servidor autoritativo de TechNova (ns1.technova.lab), lo que ya es interacción directa.
La técnica estrella aquí es la transferencia de zona (AXFR). Una zona DNS mal configurada puede permitir que cualquiera se descargue todos sus registros de golpe: un mapa completo de la infraestructura servido en bandeja.
Si el servidor está mal configurado, la salida es un regalo:
technova.lab. IN SOA ns1.technova.lab. sistemas.technova.lab. ... technova.lab. IN NS ns1.technova.lab. technova.lab. IN MX 10 correo.technova.lab. tienda.technova.lab. IN A 203.0.113.25 dev.technova.lab. IN A 10.10.10.15 intranet.technova.lab. IN A 10.10.10.20 vpn.technova.lab. IN A 203.0.113.30 db-interno.technova.lab. IN A 10.10.10.40
Lectura del hallazgo:
- Confirmamos las IPs de los subdominios que en 02-01 solo eran candidatos.
- Aparecen registros internos (
10.10.10.x) que no salían en fuentes públicas:dev,intranety un reveladordb-interno.technova.lab → 10.10.10.40. Esto conecta directamente con la red interna10.10.10.0/24del alcance. - Una transferencia de zona exitosa es en sí misma un hallazgo reportable (mala configuración del DNS).
Si la zona está bien configurada, veremos algo como Transfer failed o REFUSED, que es el comportamiento correcto.
Contrapartida defensiva: TechNova debe restringir las transferencias de zona a los servidores secundarios autorizados (
allow-transferen BIND). Permitir AXFR a cualquiera filtra el mapa completo de la red.
- Descubrimiento de hosts vivos (ping sweep)
Dentro del alcance interno tenemos la red 10.10.10.0/24 (254 direcciones útiles). Antes de nada queremos saber qué direcciones tienen una máquina viva. Un ping sweep envía sondas (ICMP echo, o ARP en red local) a todo el rango y anota quién responde.
Con nmap en modo "solo descubrimiento" (-sn, sin escaneo de puertos):
Nmap scan report for 10.10.10.1 Host is up (0.0009s latency). Nmap scan report for 10.10.10.15 Host is up (0.0011s latency). Nmap scan report for 10.10.10.20 Host is up (0.0010s latency). Nmap scan report for 10.10.10.40 Host is up (0.0013s latency). Nmap scan report for 10.10.10.55 Host is up (0.0012s latency). Nmap done: 256 IP addresses (5 hosts up) scanned in 3.21s
Fíjate en el flag: -sn hace descubrimiento de hosts sin escanear puertos. Es la frontera exacta de esta lección. El resultado es un inventario de hosts vivos: 10.10.10.1 (probable gateway/controlador de red), .15 (dev), .20 (intranet), .40 (db-interno) y .55 (una estación no vista antes). Estos cinco hosts serán los objetivos del escaneo profundo del Módulo 3.
Alternativa ligera con fping:
-a muestra solo los vivos (alive) y -g genera el rango.
Contrapartida defensiva: filtrar ICMP en el perímetro y segmentar la red reduce el éxito del ping sweep; un IDS puede detectar el patrón de "una IP sonda a todo un /24 en segundos".
- Traceroute: la ruta hasta el objetivo
traceroute (o tracert en Windows) revela los saltos de red entre nosotros y el objetivo, mostrando la topología intermedia (routers, cortafuegos).
1 10.8.0.1 1.02 ms (nuestra salida VPN de auditoria) 2 198.51.100.1 8.44 ms (router frontera) 3 203.0.113.1 12.10 ms (gateway de TechNova) 4 203.0.113.25 12.88 ms tienda.technova.lab
Lectura: vemos que la tienda está detrás del gateway 203.0.113.1. Los saltos intermedios ayudan a entender dónde está el perímetro y si hay un cortafuegos filtrando (a menudo aparecen saltos con * * * cuando un dispositivo no responde al TTL agotado). Es información de topología, no de servicios.
- Banner grabbing básico
Cuando conectamos a un puerto abierto, muchos servicios se "presentan" con un banner que puede revelar el software y su versión. En reconocimiento activo hacemos banner grabbing puntual y manual sobre un servicio concreto que ya sabemos que existe; el barrido sistemático de versiones en muchos puertos es tarea del Módulo 3.
Con netcat contra el puerto 80 de la tienda:
Respuesta:
HTTP/1.1 200 OK Server: Apache/2.4.29 (Ubuntu) X-Powered-By: PHP/7.2.24 Set-Cookie: PHPSESSID=...; path=/
Lectura: el banner confirma la pila Apache 2.4.29 sobre Ubuntu con PHP 7.2.24, coherente con la "tienda PHP/MySQL" del alcance. Anotamos versiones concretas: son claves para buscar vulnerabilidades conocidas más adelante. PHP 7.2 está fuera de soporte, un indicio temprano de exposición.
También se puede leer el banner de un servicio SSH:
De nuevo: versión concreta de OpenSSH del host dev. Aquí solo lo leemos; explotarlo o enumerarlo a fondo es de módulos posteriores.
- Enumeración activa de subdominios
En 02-01 obtuvimos subdominios de fuentes pasivas (crt.sh). Ahora los verificamos activamente e intentamos descubrir más mediante fuerza bruta de nombres: probamos una lista de nombres comunes (www, dev, api, correo, vpn, git...) resolviéndolos contra el DNS para ver cuáles existen.
Con una herramienta como dnsx alimentada por un diccionario:
www.technova.lab correo.technova.lab dev.technova.lab api.technova.lab git.technova.lab vpn.technova.lab
Aparece api.technova.lab y git.technova.lab, que no estaban en crt.sh: la fuerza bruta activa complementa lo pasivo. Un git. expuesto es especialmente interesante (posible fuga de código fuente). Esto es activo porque cada intento genera una consulta DNS real; con un diccionario grande, el volumen de consultas es perceptible.
- Web crawling ligero
Un crawler recorre los enlaces de una web para mapear sus rutas y recursos. En reconocimiento hacemos un rastreo ligero y respetuoso (poca profundidad, baja concurrencia) para dibujar la estructura del sitio, no un escaneo agresivo de vulnerabilidades (eso es Módulo 3/4).
wget --spider --recursive --level=2 --no-verbose https://tienda.technova.lab 2>&1 | grep -Eo 'https?://[^ ]+' | sort -u | headhttps://tienda.technova.lab/ https://tienda.technova.lab/carrito.php https://tienda.technova.lab/login.php https://tienda.technova.lab/producto.php?id=1 https://tienda.technova.lab/admin/ https://tienda.technova.lab/robots.txt
Lectura: descubrimos rutas de la tienda —login.php, producto.php?id=1 (parámetro candidato a inyección, a estudiar en el Módulo 4), un directorio /admin/—. Conviene mirar siempre robots.txt y sitemap.xml, que a menudo listan rutas que el propietario no quería indexar pero que existen:
Irónicamente, robots.txt nos revela directorios sensibles (/admin/, /backup/). Es un clásico. Rastrea con cuidado: mantén la carga baja para no degradar el servicio de TechNova.
- Encuadre ético y de alcance
El reconocimiento activo ya deja huella y toca los sistemas del cliente, así que las RoE pesan más que nunca:
- No te salgas del rango autorizado. El ping sweep debe limitarse a
10.10.10.0/24y a las IPs públicas del alcance. Barrer una red vecina o el rango del proveedor de hosting es salirse del scope. - Nada de terceros. Si el traceroute atraviesa la red de un ISP o un CDN, eso es tránsito, no objetivo: no lo sondees.
- Controla la intensidad. Un crawling agresivo o un ping sweep masivo pueden degradar servicios en producción. Ajusta ritmo y concurrencia; coordina ventanas con el cliente si hay riesgo.
- Documenta con marca de tiempo. Como ahora dejas rastro, registra qué lanzaste y cuándo. Si el SOC de TechNova detecta actividad, deben poder correlacionarla con tu trabajo autorizado (de ahí la utilidad de una IP de origen conocida y comunicada).
Errores Comunes y Consejos
- Cruzar la frontera del Módulo 3 sin darse cuenta. Lanzar
nmap -sV -p-"ya que estoy" es escaneo profundo, no reconocimiento. Mantén el activo en-sny banners puntuales; deja el escaneo para su módulo. - Salirse del rango. Un
/24mal escrito (10.10.0.0/16) puede barrer redes fuera del alcance. Revisa siempre el CIDR antes de ejecutar. - Ignorar
robots.txtysitemap.xml. Son de las fuentes activas más rentables y a menudo se pasan por alto. - Ir demasiado fuerte contra producción. Un ping sweep o crawler agresivo puede causar una interrupción; eso es un incidente, no un hallazgo.
- Consejo: parte siempre de lo que descubriste en pasivo. El activo confirma y completa; usar la lista de candidatos de 02-01 hace tu reconocimiento activo mucho más dirigido y silencioso.
Ejercicios
Ejercicio 1. Explica por qué nmap -sn 10.10.10.0/24 es reconocimiento activo apropiado para esta lección, mientras que nmap -sV -p- 10.10.10.15 no lo es. ¿A qué módulo corresponde el segundo?
Ejercicio 2. Una transferencia de zona (dig @ns1.technova.lab technova.lab AXFR) tiene éxito y devuelve registros internos 10.10.10.x. Indica dos cosas: (a) qué valor tiene esto para el reconocimiento y (b) por qué es en sí mismo un hallazgo reportable, con su contrapartida defensiva.
Ejercicio 3. Tras un crawling ligero de la tienda encuentras robots.txt con Disallow: /admin/ y Disallow: /backup/. ¿Por qué esta información, pensada para buscadores, es útil para el pentester? ¿Qué precaución de intensidad debes mantener al rastrear producción?
Soluciones
Solución 1. nmap -sn realiza descubrimiento de hosts sin escanear puertos: solo confirma qué IPs del rango están vivas, que es justo el objetivo del reconocimiento activo de esta lección. En cambio, nmap -sV -p- barre los 65535 puertos y hace detección de versiones de cada servicio: eso es escaneo profundo y enumeración, propio del Módulo 3. La diferencia es profundidad: pasar lista vs. interrogatorio detallado.
Solución 2. (a) Nos da un mapa completo y confirmado de la infraestructura, incluidos hosts internos (db-interno → 10.10.10.40) que no aparecían en fuentes públicas, ahorrándonos gran parte del descubrimiento. (b) Es reportable porque una zona que permite AXFR a cualquiera es una mala configuración: filtra toda la topología DNS a un atacante. Contrapartida defensiva: restringir allow-transfer únicamente a los servidores secundarios autorizados.
Solución 3. Porque robots.txt pide a los buscadores que no indexen esas rutas, pero al listarlas revela su existencia: /admin/ (panel de administración) y /backup/ (posibles copias con datos sensibles) son objetivos directos que quizá no habríamos encontrado enlazados. Precaución: rastrear con baja profundidad y concurrencia para no degradar la tienda en producción; un crawler agresivo puede provocar una caída, lo que sería un incidente y una violación de las RoE de no interrumpir el servicio.
Conclusión
Con el reconocimiento activo hemos pasado de hipótesis a certezas: confirmamos las IPs de los subdominios, descubrimos hosts internos vía transferencia de zona (db-interno → 10.10.10.40), inventariamos los hosts vivos de 10.10.10.0/24 con un ping sweep, mapeamos la ruta hasta la tienda, leímos banners que revelan Apache 2.4.29 / PHP 7.2.24 / OpenSSH 7.6, ampliamos la lista de subdominios (api, git) y dibujamos la estructura de la tienda con un crawling ligero. Todo ello dejando rastro de forma controlada y sin salirnos del alcance.
Hemos tocado ya muchas herramientas —whois, dig, nmap -sn, nc, dnsx, wget— de forma dispersa, a medida que las necesitábamos. En la siguiente lección, 02-03 Herramientas de Recolección de Información, damos un paso atrás para ver estas y otras herramientas como un catálogo comparado y, sobre todo, para aprender a orquestarlas en un flujo de recon coherente para TechNova, en lugar de usarlas sueltas. Ni pasivo ni activo en abstracto: qué herramienta, para qué, en qué orden.
Curso de Pentesting: Técnicas de Pruebas de Penetración
Módulo 1: Introducción al Pentesting
- ¿Qué es el Pentesting?
- Tipos de Pentesting
- Fases del Pentesting
- Ética y Legalidad en el Pentesting
- Metodologías y Estándares del Sector
Módulo 2: Reconocimiento y Recolección de Información
- Reconocimiento Pasivo
- Reconocimiento Activo
- Herramientas de Recolección de Información
- OSINT y Análisis de la Superficie de Ataque
Módulo 3: Escaneo y Enumeración
Módulo 4: Explotación de Vulnerabilidades
- Introducción a la Explotación
- Explotación de Vulnerabilidades Web
- Explotación de Vulnerabilidades de Red
- Explotación de Vulnerabilidades de Sistemas
- Ataques a Contraseñas y Autenticación
Módulo 5: Post-Explotación
- Escalada de Privilegios
- Mantenimiento del Acceso
- Pivoting y Movimiento Lateral
- Cobertura de Huellas y Anti-Forense
Módulo 6: Reporte y Remediación
- Documentación de Hallazgos
- Clasificación de Riesgos y CVSS
- Recomendaciones de Remediación
- Presentación de Resultados
