Deploy realistic network services that trap attackers and deliver every interaction to your webhook as JSON.
View on GitHubSingle docker compose up -d. One environment variable for your webhook URL. No agents, no cloud dependencies.
8 realistic services respond with proper protocol handshakes, banners, and error messages. Indistinguishable from real targets.
Every connection, login attempt, command, and credential gets logged with source IP, MAC address, and full payload data.
Events batch every 30 seconds into a single JSON POST to your webhook. Failed deliveries retry automatically.
Device persona: From the network, resin looks like a Siemens DESIGO CC building automation controller - a high-value target that attracts lateral movement, credential spraying, and enumeration attempts.
| Port | Protocol | Banner | Captures |
|---|---|---|---|
| 21 | FTP | vsFTPd 3.0.5 | Credentials, directory listing attempts |
| 22 | SSH | OpenSSH 8.9p1 | Usernames, passwords, key attempts |
| 80/443 | HTTP/S | Siemens DESIGO CC v5.0 | Login credentials, request paths, user agents |
| 445 | SMB | SMB 3.1.1 | NTLMv2 hashes, domain names, workstations |
| 161/udp | SNMP | Siemens building controller | Community strings, queried OIDs |
| 3306 | MySQL | MariaDB 10.11.6 | Usernames, auth packets |
| 6379 | Redis | Redis 7.2.4 | AUTH passwords, commands |
PostgreSQL connects via Unix socket with peer auth. No TCP, no credentials to manage or leak.
Host network mode gives direct access to the ARP table - every event includes the attacker's hardware address when on the same L2 segment.
Runs as unprivileged user with only CAP_NET_BIND_SERVICE. Limits blast radius if a service is compromised.