Files
fn_registry/python/functions/cybersecurity/__init__.py
T
egutierrez 935008ec3f feat(recon): grupo de reconocimiento de red + servicios + fingerprint web
Añade el capability group `recon` (dominio cybersecurity + pipelines, Python),
con la política de archivado OSINT y página madre docs/capabilities/recon.md.

Lookups y sondeo (wrappers de CLI):
- whois_lookup, rdap_lookup, dns_records, ping_host, traceroute_host, nmap_scan
- save_scan_to_osint (sink común) + recon_osint (pipeline one-shot scan+archivado)

Escaneo de puertos/servicios nativo (stdlib, sin nmap ni sudo):
- scan_tcp_ports: connect-scan TCP concurrente (open/closed/filtered)
- grab_service_banner: banner grab + identificación de servicio/versión real
- identify_port_service: puro, puerto -> servicio IANA esperado (~120 puertos)
- scan_port_services: pipeline one-shot (scan -> identify + banner por puerto abierto)

Fingerprint de tecnología web (estilo Wappalyzer), patrón pura/impura:
- fetch_http_fingerprint: GET stdlib, recoge headers/html/cookies (solo nombres)
- detect_web_tech: puro, matchea ~50 firmas regex -> tecnologías por categoría
- fingerprint_web_stack: pipeline one-shot url -> tecnologías

Todas devuelven dict {status} sin lanzar. Tests: 43 verdes, sin red externa.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-14 15:12:07 +02:00

96 lines
2.9 KiB
Python

from .cybersecurity import (
hash_sha256,
hash_md5,
entropy_shannon,
detect_sql_injection,
extract_urls,
is_base64,
is_hex,
levenshtein_distance,
jaccard_similarity,
normalize_url,
envelope_encrypt,
envelope_decrypt,
)
from .extract_ip_addresses import extract_ip_addresses
from .extract_emails import extract_emails
from .extract_domains import extract_domains
from .extract_file_hashes import extract_file_hashes
from .extract_crypto_wallets import extract_crypto_wallets
from .extract_cve_ids import extract_cve_ids
from .extract_mac_addresses import extract_mac_addresses
from .extract_phone_numbers import extract_phone_numbers
from .extract_iocs import extract_iocs
# OSINT passive atomic functions (grupo osint-passive).
from .extract_exif_metadata import extract_exif_metadata
from .extract_pdf_metadata import extract_pdf_metadata
from .guess_email_formats import guess_email_formats
from .enumerate_username_sites import enumerate_username_sites
from .build_search_dorks import build_search_dorks
from .whois_lookup import whois_lookup
from .dns_records import dns_records
from .enum_subdomains_crtsh import enum_subdomains_crtsh
# Active recon (grupo recon).
from .nmap_scan import nmap_scan
from .rdap_lookup import rdap_lookup
from .ping_host import ping_host
from .traceroute_host import traceroute_host
from .scan_tcp_ports import scan_tcp_ports
from .grab_service_banner import grab_service_banner
from .identify_port_service import identify_port_service
from .save_scan_to_osint import save_scan_to_osint
from .fetch_http_fingerprint import fetch_http_fingerprint
from .detect_web_tech import detect_web_tech
# OSINT passive enrichment orchestrators (grupo osint-enrich).
from .scan_ficha_attachments_metadata import scan_ficha_attachments_metadata
from .enrich_person_passive import enrich_person_passive
from .enrich_org_passive import enrich_org_passive
__all__ = [
"hash_sha256",
"hash_md5",
"entropy_shannon",
"detect_sql_injection",
"extract_urls",
"is_base64",
"is_hex",
"levenshtein_distance",
"jaccard_similarity",
"normalize_url",
"envelope_encrypt",
"envelope_decrypt",
"extract_ip_addresses",
"extract_emails",
"extract_domains",
"extract_file_hashes",
"extract_crypto_wallets",
"extract_cve_ids",
"extract_mac_addresses",
"extract_phone_numbers",
"extract_iocs",
"extract_exif_metadata",
"extract_pdf_metadata",
"guess_email_formats",
"enumerate_username_sites",
"build_search_dorks",
"whois_lookup",
"dns_records",
"enum_subdomains_crtsh",
"nmap_scan",
"rdap_lookup",
"ping_host",
"traceroute_host",
"scan_tcp_ports",
"grab_service_banner",
"identify_port_service",
"save_scan_to_osint",
"fetch_http_fingerprint",
"detect_web_tech",
"scan_ficha_attachments_metadata",
"enrich_person_passive",
"enrich_org_passive",
]