
# ¿Esto Parece un Honeypot? (DTLLAH) CLI multiprotocolo que identifica mediante huellas digitales si una IP objetivo se comporta como un honeypot de baja interacción: Shodan Honeyscore, sondeos activos de autenticación/estado y una puntuación ponderada.
.______________________________________________________________________________.
| :: H-AUDITOR :: v0.5.0 :: "DIALING IN... CARRIER DETECTED" :: |
|---|
| "warez? nah. headers. we trade banners, not bins." |
| "if it answers any password, it ain't production — it's a lure." |
| "respect the sysop. probe only what you own. leave no STOR behind." |
| ______________________________________________________________________________ |
[](https://pypi.org/project/honeypot-auditor/)
[](https://pypi.org/project/honeypot-auditor/)
[](https://github.com/mziqudhd92/honeypot-auditor/actions/workflows/test.yml)
[](LICENSE)
[](https://mziqudhd92.github.io/honeypot-auditor/)
**Sitio (BBS / NFO):** https://mziqudhd92.github.io/honeypot-auditor/
**Agentes / AEO:** [llms.txt](https://mziqudhd92.github.io/honeypot-auditor/llms.txt) · [agents.md](https://mziqudhd92.github.io/honeypot-auditor/agents.md)
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ █ >>> LIVE DEMO · COWRIE ON :2222 · EC2 LAB · DEEP AUDIT <<< █ ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀

"cowrie said yes to every password. the shell lied about sleep. egress went quiet. scoreboard lit up — SUSPECTED." — some random BBS elite, '96
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ █ >>> LIVE DEMO · DIONAEA BUFFET · FTP/HTTP/SMB · CONFIRMED <<< █ ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀

"PASV handed me a private IP. STOR vanished on reconnect. nginx forgot the Date. that's not a NAS — that's a stage." — file area #13 · no call waiting
.------------------------------------------------------------------------------.
| NFO · READ BEFORE YOU DIAL |
|---|
| Authorized targets ONLY. Lab boxes. Decoys you own. Sensors you run. |
| Permission on paper (or in ticket). |
| Scanning random /16 because Shodan said "interesting" = YOU are the bait. |
| TYPE ...... Multi-Protocol Decoy Fingerprinter / Lab Util |
| PLATFORM .. Linux · macOS · Windows (Python 3.10+) |
| LICENSE ... MIT · spread the sauce · keep the copyright |
| PYPI ...... pypi.org/project/honeypot-auditor |
| REPO ...... github.com/mziqudhd92/honeypot-auditor |
| '------------------------------------------------------------------------------' |
## -=[ QUÉ ES ESTO ]=-
**Honeypot Auditor** — una CLI que hace una pregunta impertinente:
> *¿Se comporta esta IP como un honeypot de baja interacción, o como algo
> que de verdad le pasaría factura a alguien por el tiempo de inactividad?*
Intel pasiva ([Shodan Honeyscore](https://honeyscore.shodan.io/)) más sondas activas
**no destructivas** en las caras de señuelo habituales. Genera un **Honeyscore**
ponderado (0–100 %), tabla de consola Rich e informe JSON.
No son exploits. No es exfiltración. Semántica de banner/estado/auth. El tipo de cosas
que hacían sudar a Cowrie en `'09 y que aún cazan clones en `'26.
[ BASIC ] Shodan · Nmap NSE · SSH/Telnet/SMB/FTP/HTTP/Redis/SMTP/VNC/SIP [ DEEP ] shell semantics · OS coherence · HASSH · TCP stack · FSM fuzz · co-tenancy buffet detect · latency · latency-under-load · egress bait (flag: --deep · more intrusive · same authorization rules)
"elite? nah. just consistent timeouts and a honest --confirm-authorized."
---
## -=[ INSTALACIÓN ]=-
┌─ USERS · PyPI (public index — no pip config voodoo) ─────────────────────┐ │ python3 -m venv .venv && source .venv/bin/activate # recommended │ │ pip install honeypot-auditor │ │ pip install "honeypot-auditor[full]" # + nmap impacket shodan scapy │ │ honeypot-auditor --version │ └──────────────────────────────────────────────────────────────────────────┘
| Instalación | Desbloquea |
|---------|---------|
| `pip install honeypot-auditor` | Sondas principales (Paramiko + Requests + Rich + cabecera figlet) |
| `pip install "honeypot-auditor[full]"` | + Nmap · SMB/Impacket · SDK de Shodan · Scapy · telnet profundo |
`SHODAN_API_KEY` o `--shodan-key` sigue siendo **tu** clave — `[full]` solo instala la librería cliente.
**Primera conexión:**
```bash
honeypot-auditor --help # -h, --help, o /help (cabecera figlet BBS)
honeypot-auditor --target 127.0.0.1 --skip-nmap
┌─ DEVELOPERS · from source ───────────────────────────────────────────────┐
│ git clone https://github.com/mziqudhd92/honeypot-auditor.git │
│ cd honeypot-auditor && python3 -m venv .venv && source .venv/bin/activate│
│ pip install -e ".[full,dev]" │
│ make test-cov && make lint │
└──────────────────────────────────────────────────────────────────────────┘
Sin pip install (checkout de git — instala las dependencias mínimas una vez):
pip install -r requirements.txt # o: pip install rich paramiko requests
python3 honeypot-auditor.py --help
python3 honeypot-auditor.py --target 127.0.0.1 --skip-nmap
pyfiglet / rich-argparse son opcionales para la ruta del script (cabecera simple + ayuda de stdlib si faltan). Las sondas completas necesitan pip install -e ".[full]".
Mantenedores de releases → docs/PUBLISHING.md
# laboratorio local · sondas por defecto IANA + puertos docker/lab (22 y 2222, 80 y 8081, …)
honeypot-auditor --target 127.0.0.1 --skip-nmap
# modo profundo · seis ejes de detección extra · sigue sin exploits
honeypot-auditor --target 127.0.0.1 --skip-nmap --deep
# objetivo expuesto a internet · requiere confirmación explícita + clave de Shodan si quieres intel
honeypot-auditor --target 203.0.113.10 --confirm-authorized
# solo SSH 22 (no escanea el resto del preset)
honeypot-auditor --target 203.0.113.10 -p 22 --confirm-authorized
# barrido de subred · CIDR IPv4 hasta /24 (254 hosts) · paralelo por defecto
honeypot-auditor --target 192.168.1.0/24 --skip-nmap --scan-concurrency 16 \
--confirm-authorized
# JSON de subred → honeypot-audit-subnet-192.168.1.0_24.json (resumen + informes por host)
# laboratorio de referencia · cowrie + dionaea en docker
./scripts/benchmark-lab.sh
El Honeyscore suma pesos de categoría activados. Las categorías distintas se acumulan (p. ej., estático 20 % + estado 25 % = 45 %).
Corroboración multiprotocolo — cuando las sondas básicas se activan en más de un protocolo, cada protocolo adicional al primero añade +5 %, con tope en +35 %. Ejemplo: telnet estático + ftp estado → 20 + 25 + 5 = 50 % Sospechoso. Los buffets de denegación total con ≥5 señuelos de protocolo también pueden activar co-tenancy (15 %) una vez que otro indicio lo corrobora.
╭──────────────────────────┬────────╮
│ CATEGORY │ WEIGHT │
├──────────────────────────┼────────┤
│ Shodan intel │ 25% │
│ Arbitrary auth │ 30% │
│ State non-persistence │ 25% │
│ Static signature │ 20% │
│ Co-tenancy │ 15% │
╰──────────────────────────┴────────╯
CORROBORATION BONUS (dynamic):
+5% per protocol with a basic-strategy hit, from the 2nd protocol up, max +35%
--deep ADDS (on top of basic):
┌──────────────────────────┬────────┐
│ behavior │ 18% │
│ coherence │ 15% │
│ stack_fingerprint │ 12% │
│ proto_conformance │ 12% │
│ temporal │ 10% │
└──────────────────────────┴────────┘
VERDICT BANDS:
[##########----------] < 30% LIKELY REAL HOST
[################----] 30-59% SUSPECTED HONEYPOT
[####################] >= 60% CONFIRMED HONEYPOT
La columna Strategies de la tabla de protocolos solo cuenta las tres estrategias de sonda por cara (hasta 3). Shodan y co-tenancy son a nivel de host. Co-tenancy no se activa sola en stacks de investigación con múltiples señuelos.
-h, --help, /help show options (figlet H-AUDITOR header + Rich help)
--version print version and exit
--target HOST IP, hostname, or IPv4 CIDR (max /24)
--scan-concurrency N parallel hosts for CIDR scans (default 8; Shodan skipped)
--preset both IANA + lab ports (default: SSH 22 and 2222, …)
--preset iana well-known ports only (22, 80, 445, …)
--preset docker-research lab ports only (2222, 8081, 1445, …)
-p, --port 22 only these TCP ports (nmap-style; 22,2222 or -p 22 -p 80)
--ports ssh=2222,http=8081 per-protocol override (map unused protos to =9)
--shodan-key KEY or env SHODAN_API_KEY
--output report.json JSON path (subnet default: honeypot-audit-subnet-<cidr>.json)
--confirm-authorized REQUIRED if any scanned IP is public
-v, --verbose strategy breakdown, per-protocol matrix, indicators, notes
-n, --with-nmap run Nmap -sV / NSE phase (slow; off by default)
--deep advanced six-axis probes
--safe-mode handshake-only; disables deep shell/path probes
--profile audit|blend probe profile (default audit; blend=mimesis OPSEC)
--proxy socks5h://host:port SOCKS5 egress (remote DNS enforced)
--passive-first Shodan before active; skip active when score high
--osint-only Shodan only — no TCP probes
--dual-stack resolve A+AAAA and compare IPv4 vs IPv6
--jitter 0.3 fraction of timeout as max random delay (authorized OPSEC)
--jitter-ms 50-500 random delay range in ms before each probe (authorized OPSEC)
--max-concurrent 32 global socket concurrency budget
--seed N RNG seed for blend profile
--preset deception-audit blue-team QA preset (both ports + --deep)
--format json|sarif report format (default json)
--output-nmap-exclude path append IP when Honeyscore >= 60
check-sig PATH validate declarative signature pack offline
--timeout SECS socket timeout (default 3)
16 motores de protocolo en la versión actual. Cada uno usa hasta 3 estrategias de sonda (auth arbitraria · no persistencia de estado · firma estática). La columna Strategies indica cuántas de esas tres están activas para ese protocolo en esta versión — no Shodan, co-tenancy ni comprobaciones de indicadores individuales.
El preset por defecto (--preset both) sondea puertos bien conocidos de IANA y
alias comunes de lab/docker en las mismas caras. Sobrescribe los puertos con -p / --ports.
Las caras cerradas se omiten, no se puntúan.
| Protocolo | Puertos por defecto (iana · lab) | Strategies |
|---|---|---|
| SSH | 22 · 2222 | 3 |
| Telnet | 23 · 2323 | 3 |
| FTP | 21 · 2121 | 3 |
| SMTP | 25 · 2525 | 3 |
| Redis | 6379 · 6379 | 3 |
| SMB | 445 · 1445 | 2 |
| VNC | 5900 · 5000 | 2 |
| MySQL | 3306 · 3306 | 2 |
| Postgres | 5432 · 5432 | 2 |
| RDP | 3389 · 3389 | 2 |
| MSSQL | 1433 · 1433 | 2 |
| MongoDB | 27017 · 27017 | 2 |
| HTTP | 80 / 443 · 8081 | 1 |
| SIP | 5060 · 5060 | 1 |
| Git | 9418 · 9418 | 1 |
| HTTP proxy | 3128 · 8080 | 1 |
-p asigna extras bien conocidos de la misma forma: 443/8443 → HTTP (TLS), 8080/3128 → proxy HTTP, 139 → SMB, 5061 → SIP, 5000/5901 → VNC. Los números desconocidos se sondean como SSH.
--deep añade ejes entre protocolos (semántica de shell, pila HASSH/TCP, fuzzing FSM, co-tenancy, latencia en serie y con carga concurrente) además de las estrategias básicas anteriores. El Honeyscore de Shodan y Nmap NSE (-n) son capas de intel opcionales, no motores de protocolo.
make install && make test-cov && make lint
docker compose -f deploy/docker-compose.benchmark.yml up -d
./scripts/benchmark-lab.sh
Re-graba las demos animadas → docs/demo/README.md
Contribuciones → CONTRIBUTING.md
Esta herramienta pregunta: "¿Es esa IP un honeypot?" (vista de atacante / CTI)
UHBS pregunta: "¿Qué tan bueno es tu señuelo?" (grado UHQS de constructor / lab · Módulos A–F · 36 protocolos)
Mismo vecindario. Puerta distinta. Usa ambas si construyes decepción profesionalmente. Usa esta si solo necesitas una huella externa rápida.
Proper respect to:
Cowrie · Dionaea · Conpot · the old Kippo crew
UHBS lab rats · CyberHalluciNet purple-team night shift
Shodan · Salesforce HASSH · everyone who ever typed USER anonymous
BBS sysops who ran 9600 baud file areas for "utilz"
and the three people who still read NFO files in 2026
NO GREETS TO:
script kiddies scanning /0
vendors who call Cowrie "AI-powered threat intelligence"
anyone who STORs malware on decoys then writes a LinkedIn post about it
"greetz to the elite · no greetz to the lame · hang up clean."
Investigación defensiva. Pruebas autorizadas. Sandboxes de laboratorio. Tus sensores. Tus tickets.
No apuntes esto a infraestructura que no poseas o para la que no tengas autorización de prueba.
Informes de vulnerabilidades → SECURITY.md
.------------------------------------------------------------------------------.
| h0n3yp0t 4ud1t0r · v0.5.0 · spread headers not malware · EOF · NO CARRIER |
'------------------------------------------------------------------------------'