# subfinder: descubrimiento pasivo de subdominios para recon de pentest

> Cómo instalar y ejecutar subfinder, qué contiene su salida JSON y cómo Tandera lo usa en la fase de discovery del recon web.

`subfinder` enumera subdominios de forma pasiva. Nunca toca el objetivo: consulta fuentes públicas — logs de certificate transparency, proveedores de DNS pasivo, índices de búsqueda — y devuelve los hostnames que esas fuentes ya conocen. Esa propiedad es lo que lo hace seguro para ejecutar primero, antes de confirmar el alcance y antes de autorizar cualquier acción activa.

## Instalación

```bash
go install -v github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest
```

Hay releases binarios en la página de releases del repositorio, si prefieres no compilar. En Kali y derivados de Debian `apt install subfinder` también funciona, aunque la versión empaquetada va por detrás del upstream.

La mayoría de las fuentes pasivas necesitan claves de API para ser útiles. Sin ellas subfinder igual funciona, pero sobre una fracción de los datos:

```bash
mkdir -p ~/.config/subfinder
$EDITOR ~/.config/subfinder/provider-config.yaml
```

## Comandos principales

```bash
# un dominio, lista simple de hosts en stdout
subfinder -d example.com -silent

# líneas JSON, con la fuente que produjo cada host
subfinder -d example.com -oJ -o subs.jsonl -cs

# muchas raíces a la vez, todas las fuentes, recursivo
subfinder -dL roots.txt -all -recursive -o subs.txt
```

Flags que conviene conocer: `-silent` suprime el banner para que la salida fluya limpia en un pipe, `-all` habilita todas las fuentes configuradas (más lento, más amplio), `-cs` registra qué fuente encontró cada host, y `-nW` descarta resultados de wildcard.

## Salida

Con `-oJ` cada línea es un objeto JSON:

```json
{"host":"api.example.com","input":"example.com","source":"crtsh"}
```

Sin eso obtienes un hostname por línea, que es lo que quieres al encadenar directamente hacia `dnsx` o `httpx`.

## Dónde encaja en Tandera

subfinder se ejecuta en la fase de **discovery** tanto de `recon_web_lite` como de `recon_web_full`. Es uno de los tres productores pasivos de subdominios que Tandera agenda — `findomain` y `cero` son los otros — y sus resultados se combinan y deduplican antes de que cualquier etapa posterior los vea. Ejecutar tres productores es deliberado: las fuentes pasivas discrepan, y la unión es notablemente mayor que la salida de cualquier herramienta por sí sola.

Por ser no intrusivo, subfinder está permitido dentro de `recon_web_lite`, que tiene un techo de riesgo `NonIntrusive`.

## Uso en un pentest

La enumeración pasiva es lo primero que haces y lo último en lo que confías. Dos hábitos importan:

**Todo lo que devuelve es una afirmación, no un activo.** Certificate transparency recuerda hostnames dados de baja hace años. Resuelve la lista (`dnsx`) y sondéala (`httpx`) antes de tratar cualquier cosa como dentro del alcance.

**Contrasta los resultados con tu documento de alcance antes de sondear.** El descubrimiento pasivo trae rutinariamente hostnames de otra unidad de negocio, de un socio o de una adquisición que nunca estuvo en el engagement. Encontrarlos está bien. Escanearlos no.

La cadena de apertura estándar:

```bash
subfinder -d example.com -silent \
  | dnsx -silent -a -resp \
  | httpx -silent -title -tech-detect -status-code
```

---

Canonical: https://tandera.io/es/tools/subfinder
This page as markdown: https://tandera.io/es/tools/subfinder.md
Index for agents: https://tandera.io/llms.txt

Every page here is also available as markdown: append `.md` to the path (e.g. `/recon.md`, `/index.md` for this homepage, `/blog/<slug>.md`), or request the canonical path with `Accept: text/markdown`.
