--- name: enumerate_subdomains kind: function lang: bash domain: cybersecurity version: "1.0.0" purity: impure signature: "enumerate_subdomains(domain: string, output_file: string) -> void" description: "Enumera subdominios de un dominio objetivo usando un diccionario integrado de ~100 subdominios comunes (www, mail, api, dev, admin, vpn, etc.). Detecta tanto registros A (IP directa) como CNAME. Muestra progreso cada 20 subdominios y opcionalmente guarda los resultados en un archivo." tags: [bash, cybersecurity, dns, subdomain, enumeration, reconnaissance, osint, pendiente-usar] uses_functions: [] uses_types: [] returns: [] returns_optional: false error_type: "error_go_core" imports: [] params: - name: domain desc: "dominio objetivo a enumerar, ej: example.com" - name: output_file desc: "ruta al archivo donde guardar los resultados (opcional; si se omite, solo imprime a stdout)" output: "imprime subdominios encontrados con su IP o CNAME, progreso cada 20 entradas y resumen final con total encontrados" tested: false tests: [] test_file_path: "" file_path: "bash/functions/cybersecurity/enumerate_subdomains.sh" source_repo: "https://gitea-dgg044oo04woo4ggcsws4gk0.organic-machine.com/egutierrez/DevLauncher.git" source_license: "MIT" source_file: "scripts/linux/ciberseguridad/web/subdominios.sh" --- ## Ejemplo ```bash source bash/functions/cybersecurity/enumerate_subdomains.sh # Solo imprimir resultados enumerate_subdomains example.com # Guardar resultados en archivo enumerate_subdomains example.com /tmp/subdominios.txt ``` ## Notas Requiere `dig` (paquete dnsutils). El diccionario integrado cubre subdominios comunes en entornos corporativos y de desarrollo: www, api, dev, admin, vpn, git, jenkins, staging, prod, db, mail, smtp, ns1/ns2, grafana, kibana, docker, k8s, auth, sso, etc. (~100 entradas). La enumeración es puramente pasiva via DNS — no realiza ningún tipo de conexión al servidor web. Los subdominios con CNAME sin resolución A se marcan en amarillo.