Nuevos labs cada semana — Accede a todos desde 5€/mes

Nivel BásicoGratis

Metodología de recon básica — del dominio a los endpoints vulnerables

Pipeline mínimo de recon para bug bounty: subdomain enum, live host discovery, URL collection, parameter discovery. Herramientas gratuitas y orden de ejecución.

Gorka El Bochi9 de mayo de 202613 min

Respuesta rápida

Recon en bug bounty es el proceso de mapear la superficie de ataque del target antes de empezar a auditar. Pipeline mínimo: subdominios → live hosts → URLs → parámetros → tecnologías. Con herramientas gratuitas (subfinder, dnsx, httpx, katana, waybackurls, ffuf) puedes mapear un target en 1-2 horas y exponer endpoints olvidados que nadie audita.


Por qué importa el recon

Los hunters que sólo testean app.target.tld compiten con miles de personas. Los que mapean legacy.target.tld, staging-old.target.tld, internal.api.target.tld encuentran flujos que nadie ha tocado en años.

El recon es el multiplicador del tiempo: sin él, repites el trabajo que mil personas ya hicieron en el dominio principal.


Pipeline en 5 pasos

csharp
[Step 1] Subdomain enumeration
   ↓
[Step 2] Live host discovery
   ↓
[Step 3] URL crawling + historical
   ↓
[Step 4] Parameter discovery
   ↓
[Step 5] Tech fingerprinting + categorización

Step 1 — Subdomain enumeration

bash
# Passive sources
subfinder -d target.tld -all -silent > subs.txt

# Pasivos extra (Chaos, AlienVault OTX, crt.sh)
chaos -d target.tld -silent >> subs.txt

# Pasivos manuales
curl -s "https://crt.sh/?q=%25.target.tld&output=json" | jq -r '.[].name_value' | sort -u >> subs.txt

Combinar 3-4 fuentes pasivas suele encontrar 30-50% más subdominios que una sola.

Step 2 — Live host discovery

bash
# DNS resolution
dnsx -l subs.txt -silent -a -resp | tee resolved.txt

# HTTP probing
httpx -l subs.txt -silent -title -tech-detect -status-code -follow-redirects -o live.txt

Output: subdominios vivos con código de estado, título y stack detectado. Útil para priorizar (un subdominio que responde 200 con título "Internal API Staging" es más interesante que uno con 404).

Step 3 — URL crawling

bash
# Active crawling
katana -list live.txt -d 3 -jc -o crawled.txt

# Historical (Wayback + commoncrawl + AlienVault)
cat live.txt | waybackurls > wayback.txt
cat live.txt | gau --threads 5 > gau.txt

# Combine and dedupe
cat crawled.txt wayback.txt gau.txt | sort -u > all_urls.txt

waybackurls y gau traen URLs históricas — endpoints que existieron en el pasado y a veces siguen vivos sin estar enlazados desde ningún sitio.

Step 4 — Parameter discovery

bash
# De URLs históricas
cat all_urls.txt | unfurl format "%s://%d%p?%q" | grep "?" | sort -u > params.txt

# Parameter mining con Arjun (uno por URL específica)
arjun -u https://api.target.tld/v1/users -m GET --stable

# Param-Miner (Burp extension) para headers ocultos y parámetros backend

Los parámetros que aparecen en wayback pero no en la versión actual del site son gold: el backend a veces sigue procesándolos sin que estén documentados.

Step 5 — Tech fingerprinting + categorización

bash
# Detect tech stack
httpx -l live.txt -tech-detect -title -status-code -web-server -o tech.txt

# JS analysis para encontrar endpoints internos + secretos
cat live.txt | hakrawler -d 2 -plain | grep '\.js$' > js_files.txt
cat js_files.txt | xargs -I{} curl -s {} | grep -oE 'https?://[^"]*' >> hidden_urls.txt

# Buscar API keys en JS
cat js_files.txt | xargs -I{} curl -s {} | grep -E '(api[_-]?key|secret|token|password)' -i

SecretFinder y LinkFinder automatizan la búsqueda de endpoints y secretos en JS bundle.


Patrones de hunting tras el recon

Una vez tienes el mapa, prioriza:

Tipo de subdominioProbabilidad de hallazgo
staging.*, dev.*, legacy.*Alta (auth débil, debug endpoints)
internal.*, admin.*Alta (auth bypass, IDOR)
api.*, *.api.*Media-alta (broken access control, GraphQL)
cdn.*, static.*Baja (subdomain takeover, info disclosure)
Subdominios .zip, .tar.gz en URLsCrítica (source code leak)

Recon continuo

Programas que llevan años abiertos están muy auditados. La diferencia la hace monitoreo continuo:

  • subfinder cron diario → diff de subdominios → alertar nuevos.
  • httpx semanal sobre dominios live → detectar cambios de status/title.
  • GitHub watcher → monitorear target.tld keywords en commits públicos.
  • nuclei con templates específicos sobre live hosts → escaneo de vulns conocidas.

Una vulnerabilidad lanzada hace 2 horas en un nuevo subdominio sin auditar es €1.000 fáciles para quien la encuentre primero.


Herramientas mínimas (gratis)

subfinder · dnsx · httpx · katana · gau · waybackurls
arjun · ffuf · nuclei · gf · hakrawler

Todas están en ProjectDiscovery / GitHub. Se instalan con go install o pip.


Recon ético — qué NO hacer

  • No DoS. Throttling agresivo en cada herramienta (-rate 50 o menos).
  • No salirse del scope. Si el programa dice *.target.tld excluyendo customer.*, respeta.
  • No bruteforce de auth. Recon es enumeración pasiva, no ataque activo.
  • No subir nada a Internet (BurpCollaborator está bien para PoCs, pero no fuerces a víctimas reales a hits inducidos).

Labs relacionados

Practica el pipeline completo de recon sobre targets controlados: labs de recon y enumeración.

Practica esto en un lab

Recon

Resolver

Sigue aprendiendo · cuenta gratis

Guarda tu progreso, desbloquea payloads avanzados y rankea tus flags.

Crear cuenta

Artículos relacionados