DEV Community

Antonio Jose Socorro Marin
Antonio Jose Socorro Marin

Posted on

decoy-hunter — Contrarrestando la Decepción "All Ports Are Open"

Autor: Antonio José Socorro Marín
Fecha: 28 de septiembre de 2025

Resumen Ejecutivo

El enfoque planteado para decoy-hunter es sólido y necesario en entornos donde las técnicas de engaño all ports open intentan confundir a atacantes y escáneres automatizados. La propuesta original expone con claridad la problemática y presenta un diseño técnico coherente. Endoso este enfoque y presento esta contribución consolidada para reforzar la propuesta, clarificar la arquitectura, documentar los controles operativos y ofrecer una metodología de validación reproducible para su adopción profesional.

  1. Motivación

Las técnicas defensivas de engaño que hacen parecer que todos los puertos TCP están abiertos —implementadas mediante redirecciones con iptables, herramientas como portspoof, o emuladores de banners estáticos— buscan hacer perder tiempo al adversario y generar falsos positivos en escaneos automatizados. Sin embargo, muchas implementaciones son superficiales y dejan artefactos detectables:

Banners que cambian entre escaneos sin un comportamiento consistente de protocolo.

Emuladores estáticos que carecen de lógica stateful.

Servicios falsos que responden siempre lo mismo ante cualquier entrada, algo que un servicio real no hace.

Inconsistencias sospechosas, como banners de SSH en puertos HTTP.

Estas debilidades abren la puerta a una metodología de contra-decepción que valide el comportamiento real en lugar de confiar únicamente en banners.

  1. Objetivo Técnico

decoy-hunter se concibe como un marco de contra-decepción con dos objetivos principales:

Detectar servicios genuinos y explotables ocultos entre capas de ruido defensivo.

Brindar a los defensores una herramienta práctica para evaluar la efectividad de su capa de deception e identificar configuraciones erróneas que crean una falsa sensación de seguridad.

La herramienta está diseñada para evaluaciones de seguridad autorizadas: equipos rojos, validación interna y ejercicios conjuntos de ataque-defensa.

  1. Principios de Diseño

El diseño de decoy-hunter se apoya en cinco principios centrales:

Probes realistas. Se envían solicitudes consistentes con clientes legítimos (HTTP GET/HEAD con User-Agent válido, ClientHello TLS con SNI y ALPN, comandos SMTP EHLO, FTP USER/STAT, Redis PING, etc.), utilizando como base la librería nmap-service-probes.

Validación stateful. Se comprueba la progresión en los estados esperados de los protocolos (intercambio de claves SSH, handshake TLS completo con validación de certificados, secuencia de comandos SMTP con códigos correctos). Un simple banner no basta.

Ofuscación del tráfico. Se introducen retardos aleatorios, concurrencia baja y variación de patrones para que el tráfico se asemeje al de un cliente humano y reduzca la probabilidad de detección por firmas simples de escáneres.

Minimización de datos y auditabilidad. Por defecto no se persisten los cuerpos de las respuestas. Si se habilita la captura de payloads, debe hacerse de forma explícita, con cifrado en reposo y bajo controles de gobernanza. Los reportes de auditoría se exportan firmados para garantizar integridad.

Integridad de artefactos. Se garantiza la integridad criptográfica de la base de probes y de los artefactos publicados mediante firma digital. Las firmas se verifican en tiempo de ejecución antes de usar los probes.

  1. Componentes y Arquitectura

La arquitectura modular facilita la revisión y la adopción profesional:

decoy_hunter.py — CLI principal y orquestación del escaneo.

probes.py — Implementación de probes, control de jitter y concurrencia, manejo de timeouts.

service_probes_parser.py — Parseo de la base nmap-service-probes y verificación de firma.

fingerprints.py — Recolección de huellas JA3/JA3S y atributos TCP/IP para fingerprinting pasivo.

scoring & assessment — Módulo de cálculo de puntajes de confianza y explicación detallada.

audit/ — Exportación de reportes en JSON firmados y PCAPs opcionales.

testbed/ (recomendado) — Entorno reproducible en Docker para validar resultados con servicios reales, falsos y un IDS.

  1. Flujo Operativo

Inicialización y verificación. Validar la firma de la base de probes. Abortar si falla.

Configuración de objetivo. Definir hosts, rango de puertos, modos TCP/UDP, concurrencia y parámetros de sigilo.

Ejecución de probes. Enviar peticiones legítimas con jitter y concurrencia controlada.

Validación stateful. Confirmar que las respuestas cumplen con la lógica de los protocolos (handshakes, secuencias, errores coherentes).

Correlación cruzada. Detectar inconsistencias entre puertos y diferentes probes.

Scoring. Asignar etiquetas: REAL, FAKE o AMBIGUOUS, junto con un puntaje de confianza y explicación.

Reporte. Mostrar salida en consola y generar reportes firmados opcionales.

  1. Ejemplo de Uso y Salida

Comandos de ejemplo:

Escanear los 10k puertos TCP principales

python3 decoy_hunter.py 192.168.1.10

Incluir UDP (más lento)

python3 decoy_hunter.py target.com --udp --concurrency 5

Escaneo de puertos personalizados

python3 decoy_hunter.py 10.0.0.5 --ports 22,80,443,8080,1234

Salida ilustrativa:

[REAL] 22/tcp open ssh → SSH-2.0-OpenSSH_8.9p1 (confianza: 0.92)
[FAKE] 8080/tcp open http → SSH-2.0-OpenSSH_8.9p1 🚩 incoherencia (confianza: 0.12)
[REAL] 443/tcp open https → HTTP/1.1 200 OK (confianza: 0.88)

  1. Estrategia de Validación

Un enfoque riguroso de validación es esencial:

Entorno de pruebas (testbed):

Servicios genuinos: OpenSSH, nginx, SMTP, Redis.

Decoys simples: servidores de banners estáticos.

Decoys stateful: emuladores con handshake parcial.

IDS: Suricata/Zeek para medir patrones de detección.

Métricas a recolectar:

Precision y Recall.

Tiempo promedio por host.

Tasa de activación de IDS.

Conteo de falsos positivos y falsos negativos.

Metodología: variar sofisticación de decoys, perfiles de concurrencia, y presencia de middleboxes (NAT, balanceadores, proxies).

  1. Seguridad, Privacidad y Gobernanza

Autorización. El uso de la herramienta requiere autorización previa y documentada.

Integridad. Los artefactos y la base de probes deben firmarse con ECDSA P-256/SHA-256.

Validación TLS. Se valida la cadena de certificados y, cuando es posible, el estado de revocación (OCSP/CRL).

Minimización de datos. Por defecto no se guardan payloads. Si se habilita, deben cifrarse en reposo.

Auditoría. Se pueden generar reportes firmados y PCAPs cifrados para análisis forense.

Seguridad operacional. La herramienta opera en modo conservador por defecto y evita comportamientos intrusivos salvo autorización explícita.

  1. Declaración de Contribución

Me gusta el diseño y el enfoque original de decoy-hunter. Tras una revisión técnica, presento esta versión consolidada para reforzar la claridad de la arquitectura, la seguridad operativa y la metodología de validación. Mi contribución enfatiza la integridad de los artefactos, la validación de protocolos y la generación de evidencia bajo controles de gobernanza.

  1. Notas Operativas por Defecto

Concurrencia por defecto: baja (8).

Jitter por defecto: 0.3–1.5 segundos.

Persistencia de payloads: desactivada salvo bandera explícita.

Confirmación de autorización: requerida con token o interacción manual.

Validación de firma de la base de probes: obligatoria antes de uso.

  1. Reflexión Final

La deception puede ser una herramienta defensiva eficaz, pero mal implementada crea una falsa sensación de seguridad. Evaluarla requiere herramientas que validen comportamiento real, no solo banners.

decoy-hunter es un marco de contra-decepción que combina probes realistas, validación de protocolos, ofuscación, integridad de artefactos y validación reproducible.

Aprecio la propuesta original y presento esta consolidación como un paso hacia una capacidad de contra-decepción profesional, auditable y útil. La verdadera seguridad no se logra escondiendo servicios tras banners falsos, sino construyendo defensas resilientes y verificables.

Top comments (0)