Files
fn_registry/python/functions/cybersecurity/enrich_org_passive.md
T
egutierrez eb8dbf66a1 feat(infra): auto-commit con 88 cambios
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-06-11 00:16:46 +02:00

2.9 KiB

name, kind, lang, domain, version, purity, signature, description, tags, uses_functions, uses_types, returns, returns_optional, error_type, imports, params, output, tested, tests, test_file_path, file_path
name kind lang domain version purity signature description tags uses_functions uses_types returns returns_optional error_type imports params output tested tests test_file_path file_path
enrich_org_passive function py cybersecurity 1.0.0 impure def enrich_org_passive(dominio: str) -> dict Orquestador OSINT pasivo: perfil de una organizacion por su dominio usando solo fuentes publicas. Compone whois_lookup (registro WHOIS), dns_records (registros DNS) y enum_subdomains_crtsh (subdominios via Certificate Transparency / crt.sh). Devuelve whois + dns + subdomains.
osint-enrich
osint-passive
cybersecurity
org
whois
dns
subdomains
whois_lookup_py_cybersecurity
dns_records_py_cybersecurity
enum_subdomains_crtsh_py_cybersecurity
false error_go_core
name desc
dominio dominio de la organizacion, p.ej. organic-machine.com. No puede estar vacio (ValueError). Se hace strip de espacios
dict con whois (salida de whois_lookup(dominio)), dns (salida de dns_records(dominio)) y subdomains (salida de enum_subdomains_crtsh(dominio)) true
test_golden_compone_whois_dns_subdomains
test_dominio_vacio_lanza
test_dominio_con_espacios_se_normaliza
python/functions/cybersecurity/enrich_org_passive_test.py python/functions/cybersecurity/enrich_org_passive.py

Ejemplo

import sys, os
sys.path.insert(0, os.path.join("python", "functions"))
from cybersecurity import enrich_org_passive

res = enrich_org_passive("organic-machine.com")

print(res["whois"]["registrar"])     # registrar segun WHOIS
print(res["dns"].get("A"))           # registros A del dominio
print(res["subdomains"][:5])         # primeros subdominios vistos en crt.sh

Cuando usarla

  • Cuando arrancas la ficha OSINT de una organizacion y quieres su perfil pasivo (quien registro el dominio, su DNS y su superficie de subdominios) sin enviar trafico ofensivo a la infraestructura.
  • Como reconocimiento previo, completamente pasivo, antes de cualquier evaluacion activa (que requeriria otra autorizacion explicita).
  • Para mapear de un golpe la huella publica de un dominio: WHOIS + DNS + Certificate Transparency en una sola llamada.

Gotchas

  • Uso solo para investigacion autorizada. El reconocimiento de infraestructura ajena debe contar con permiso del propietario o ampararse en una base legitima.
  • Funcion IMPURA: hace consultas de red (WHOIS, DNS y HTTP a crt.sh). Es pasiva respecto al objetivo (no le envia trafico ofensivo), pero deja huella en los servicios consultados (logs de crt.sh, resolvers DNS, servidores WHOIS).
  • La salida depende de la disponibilidad y rate-limiting de las fuentes: WHOIS puede venir truncado/redactado (GDPR), crt.sh puede limitar o tardar, y algunos registros DNS pueden no existir. Maneja claves ausentes en el dict resultante.
  • crt.sh solo ve subdominios que hayan emitido certificados TLS publicos: la lista NO es exhaustiva (no incluye subdominios sin cert o con certs privados).