Sestava #
Oba servery běžely u stejného poskytovatele a byly spuštěné ve stejnou chvíli. Konkrétní plán, region a operační systém si v rámci stejného rozpočtu vybíral každý agent sám, proto jsou v tabulce uvedené zvlášť.
| Parametr | srv3 | srv4 |
|---|---|---|
| Hostname | srv3.cloud.batacek.eu | srv4.cloud.batacek.eu |
| Jazykový model | Opus 5 | Fable 5 |
| Poskytovatel | Contabo | Contabo |
| Plán | Cloud VPS 6 (Core) | Storage VPS 20 |
| vCPU | 6 | 3 |
| RAM | 12 GB | 8 GB |
| Disk | 200 GB | 400 GB |
| Region | EU | EU |
| Operační systém | Debian 12 (Bookworm) | Debian 13 (trixie) |
| Spuštění honeypotu | 22. 8. 2026 14:00:00 UTC+02:00 | 22. 8. 2026 13:00:00 UTC+02:00 |
| Nabízená plocha | konkrétní služby | všechny TCP porty |
| Port řídicí služby | 26412/TCP | 26411/TCP |
Co bylo shodné
- Poskytovatel, rozpočet a délka běhu.
- Okamžik spuštění – oba honeypoty začaly sbírat ve stejnou chvíli.
- Zadání pro agenta. Liší se jen hostname serveru a port řídicí služby.
- Harmonogram: volba serveru, nasazení a devět kontrol ve stejné dny, každá relace v novém chatu bez paměti na předchozí. Devátá kontrola byla závěrečná.
- Síťový firewall poskytovatele byl ve výchozím stavu zavřený a agenti k němu neměli přístup. Porty otevíral operátor až po nasazení, podle seznamu, který mu agent předal.
- Záloha operátora: přeposílání syslogu a periodické stahování souborů přes SSH na sběrný server.
Co se lišilo
- Nabízená plocha: srv3 zhruba 46 konkrétních služeb, srv4 všech 65 534 TCP portů. Zadání to nepředepisovalo – rozhodli se tak sami agenti.
- Jazykový model: na jednom serveru Opus 5, na druhém Fable 5.
- Ostatní technická rozhodnutí – operační systém, honeypot software, způsob ukládání dat – dělal také každý agent sám, takže se servery liší i v nich.
Co servery nabízely #
srv3 konkrétní služby
Agent na srv3 se rozhodl nabídnout zhruba 46 konkrétních služeb a porty publikoval přímo přes Docker. Port v jeho logu je proto skutečný port, na který útočník mířil.
| Port | Protokol | Obvyklá služba | Senzor |
|---|---|---|---|
| 21 | tcp | FTP | dionaea |
| 22 | tcp | SSH | cowrie |
| 23 | tcp | Telnet | cowrie |
| 69 | udp | TFTP | dionaea |
| 80 | tcp | HTTP | webtrap |
| 135 | tcp | MS RPC | dionaea |
| 443 | tcp | HTTPS | webtrap |
| 445 | tcp | SMB | dionaea |
| 502 | tcp | Modbus | sink |
| 1 433 | tcp | MSSQL | dionaea |
| 1 521 | tcp | Oracle | sink |
| 1 723 | tcp | PPTP | dionaea |
| 1 883 | tcp | MQTT | dionaea |
| 1 900 | udp | SSDP | dionaea |
| 2 121 | tcp | FTP alt | sink |
| 2 323 | tcp | Telnet alt | sink |
| 2 375 | tcp | Docker API | sink |
| 2 376 | tcp | Docker TLS | sink |
| 3 000 | tcp | HTTP alt | sink |
| 3 306 | tcp | MySQL | dionaea |
| 3 307 | tcp | MySQL alt | sink |
| 3 389 | tcp | RDP | sink |
| 5 060 | tcp | SIP | dionaea |
| 5 060 | udp | SIP | dionaea |
| 5 432 | tcp | PostgreSQL | sink |
| 5 555 | tcp | ADB | sink |
| 5 900 | tcp | VNC | sink |
| 5 901 | tcp | VNC | sink |
| 5 985 | tcp | WinRM | sink |
| 6 379 | tcp | Redis | sink |
| 6 380 | tcp | Redis alt | sink |
| 6 443 | tcp | Kubernetes API | sink |
| 7 001 | tcp | WebLogic | sink |
| 8 000 | tcp | HTTP alt | sink |
| 8 080 | tcp | HTTP proxy | sink |
| 8 081 | tcp | HTTP alt | sink |
| 8 443 | tcp | HTTPS alt | sink |
| 8 888 | tcp | HTTP alt | sink |
| 9 000 | tcp | PHP-FPM | sink |
| 9 100 | tcp | JetDirect | dionaea |
| 9 200 | tcp | Elasticsearch | sink |
| 9 300 | tcp | Elasticsearch cluster | sink |
| 11 211 | tcp | memcached | dionaea |
| 27 017 | tcp | MongoDB | dionaea |
| 27 018 | tcp | MongoDB shard | sink |
| 27 019 | tcp | MongoDB config | sink |
- Časové okno
- 21. 8. 2026 – 16. 9. 2026
- Zdrojová data
- doplním
- Skript
- bude zveřejněn
srv4 všechny porty
Agent na srv4 nechal server přijímat spojení na všech TCP portech v rozsahu 1–65 534. Provoz na něm rozváděl nftables REDIRECT do několika služeb: cowrie, hpweb a catch-all služby hptcp.
Protože se provoz přesměrovává, vidí cowrie a hpweb jen cílové porty přesměrování (42222 a 42223, resp. 42280 a 42443), ne port, na který útočník skutečně mířil. Ten zná jen hptcp, který ho čte přes SO_ORIGINAL_DST.
Architektura a tok dat #
Útočný provoz prochází síťovým firewallem poskytovatele k honeypotům. Ty zapisují události do vlastních souborů a průběžně do syslogu. Ze serverů se data odvádějí na oddělený sběrný server dvěma cestami: syslog průběžně, soubory periodicky přes SSH.
Provoz z internetu prochází firewallem poskytovatele k srv3 (porty publikované přes Docker) a srv4 (nftables REDIRECT). Oba servery posílají logy na sběrný server. Agent i operátor servery řídí přes tunel WireGuard, mimo veřejné rozhraní.
Co se sbíralo #
Honeypoty zaznamenávaly čtyři druhy dat. U každého je odkaz na místo, kde ho najdete v datech ke stažení.
- Jednotlivé události Jednotlivé události ze senzorů – připojení, pokusy o přihlášení, HTTP požadavky, zadané příkazy – s časovou značkou a zdrojovou IP adresou. Kde to najít v datech
- Paketový záznam Paketový záznam síťového provozu: co přesně prošlo po drátě. Kde to najít v datech
- Nahrávky relací Nahrávky interaktivních relací, ve kterých útočník po přihlášení něco psal. Kde to najít v datech
- Vzorky malwaru Soubory, které se útočníci pokusili stáhnout nebo nahrát – typicky malware. Kde to najít v datech
Senzory
| Server | Senzor | Porty | Výstup | Cesta na serveru | Co zaznamenává |
|---|---|---|---|---|---|
| srv3 | dionaea | doplním | doplním | /srv/honeypot/data/ |
Honeypot emulující řadu síťových služeb. |
| srv3 | tcpsink | doplním | doplním | /srv/honeypot/data/ |
doplním |
| srv4 | hptcp | 1-65534/tcp |
hptcp.jsonl |
/var/log/honeypot/ |
Catch-all služba na srv4: přijme spojení na libovolném portu a zaznamená skutečný cílový port. |
| srv4 | hpweb | 42280/tcp, 42443/tcp (REDIRECT) |
hpweb.jsonl |
/var/log/honeypot/ |
Falešná webová služba na srv4. |
| srv4 | cowrie | 42222/tcp, 42223/tcp (REDIRECT) |
doplním | /opt/cowrie/cowrie/var/log/cowrie/ |
SSH a Telnet honeypot: pokusy o přihlášení, zadané příkazy a stahované soubory. |
Co se záměrně nesbíralo #
Některé věci v datech chybí záměrně. Kdo si data stáhne, musí vědět proč – jinak je snadné vyložit si to jako chybu sběru.
- Odchozí spojení Odchozí provoz z honeypotů byl zablokovaný, aby návnada nemohla posloužit k útoku na cizí systémy. Data proto neobsahují, kam by se útočník nebo stažený kód dál připojil.
- UDP na srv4 srv4 přijímal jen TCP, porty UDP byly zavřené. Žebříček portů pro srv4 tedy o UDP nic neříká.
- SIP emulace Emulace SIP byla v průběhu běhu vypnutá. Přesné okno doplním.
- Porty řídicí služby Porty řídicí služby hedgehog-runner byly mimo rozsah experimentu – nepatřily k honeypotu a do výsledků se nezapočítávají. Na každém serveru byly nastavené jinak; podrobnosti doplním.
Časová osa běhu #
Volba serveru, nasazení, každá kontrola, každý zásah a každý incident. Zásahy operátora jsou vizuálně odlišené – je jich málo a patří k nim i příprava serverů, otevření síťového firewallu po nasazení a ukončení běhu.
Agent práce jazykového modelu Operátor zásah člověka incident s odkazem na rozbor
-
19. 8. 2026
Volba serveru Příkazů: 0 · změn: 0
-
19. 8. 2026
Volba serveru Příkazů: 0 · změn: 0
-
19. 8. 2026 – 20. 8. 2026
Příprava serverů: založení VPS podle volby agentů, nasazení řídicí služby hedgehog-runner a tunelu WireGuard, nastavení přeposílání syslogu a stahování záloh přes SSH. Prostředí, ve kterém agenti pracovali. Popsané v zadání pro agenty.
-
21. 8. 2026
Začátek běhu
-
21. 8. 2026
Nasazení Příkazů: 0 · změn: 0
-
21. 8. 2026
Nasazení Příkazů: 0 · změn: 0
-
21. 8. 2026
Otevření portů na síťovém firewallu poskytovatele po nasazení, podle seznamu, který agent předal na jeho konci. Firewall spravuje operátor; agenti ho nevidí a nemají k němu přístup.
-
22. 8. 2026
1. kontrola Příkazů: 0 · změn: 0
-
22. 8. 2026
1. kontrola Příkazů: 0 · změn: 0
-
22. 8. 2026
2026-08-22-srv3-webtrap-https-tls-accept-hang 15:40 · 2 d 3 h
-
22. 8. 2026
2026-08-22-srv3-pcap-ring-buffer-snaplen 00:15 · 2 d 18 h
-
22. 8. 2026
2026-08-22-srv3-syslog-message-size-truncation 00:03 · probíhá
-
22. 8. 2026
2026-08-22-srv3-sshd-move-broke-operator-backup 00:01 · 14 min
-
24. 8. 2026
2. kontrola Příkazů: 0 · změn: 0
-
24. 8. 2026
2. kontrola Příkazů: 0 · změn: 0
-
24. 8. 2026
2026-08-24-srv3-dionaea-mongod-parser-freeze 16:18 · 14 d 3 h
-
28. 8. 2026
3. kontrola Příkazů: 0 · změn: 0
-
28. 8. 2026
3. kontrola Příkazů: 0 · změn: 0
-
31. 8. 2026
4. kontrola Příkazů: 0 · změn: 0
-
31. 8. 2026
4. kontrola Příkazů: 0 · změn: 0
-
4. 9. 2026
5. kontrola Příkazů: 0 · změn: 0
-
4. 9. 2026
5. kontrola Příkazů: 0 · změn: 0
-
7. 9. 2026
6. kontrola Příkazů: 0 · změn: 0
-
7. 9. 2026
6. kontrola Příkazů: 0 · změn: 0
-
7. 9. 2026
2026-09-07-srv3-deliberate-dionaea-freeze-repro 20:06 · 1 min
-
11. 9. 2026
7. kontrola Příkazů: 0 · změn: 0
-
11. 9. 2026
7. kontrola Příkazů: 0 · změn: 0
-
13. 9. 2026
2026-09-13-contabo-firewall-error-status 05:12 · 3 d 3 h
-
13. 9. 2026
Výpadek řídicího kanálu 04:22 · 39 min
-
14. 9. 2026
8. kontrola Příkazů: 0 · změn: 0
-
14. 9. 2026
8. kontrola Příkazů: 0 · změn: 0
-
16. 9. 2026
9. kontrola (závěrečná) Příkazů: 0 · změn: 0
-
16. 9. 2026
9. kontrola (závěrečná) Příkazů: 0 · změn: 0
-
17. 9. 2026 – 19. 9. 2026
Uzavření všech portů na síťovém firewallu, stažení dat a zrušení serverů. Konec běhu.
-
17. 9. 2026
Konec běhu
Podrobnosti ke každému zásahu najdete v sekci Záznam běhu
Řídicí kanál #
Agenti se k serverům nepřipojovali přes veřejné rozhraní. Příkazy spouštěli přes službu hedgehog-runner, dostupnou jen šifrovaným tunelem WireGuard ze sběrného serveru. Na síťovém firewallu pro ni nebylo žádné veřejné pravidlo.
Provoz agentů a operátora proto v datech honeypotů není. Výjimkou jsou diagnostické a testovací zásahy, které agenti a operátor mířili přímo na vlastní honeypot služby – ty jsou popsané v omezeních.
Porty řídicí služby proto byly mimo rozsah experimentu. Jak byly nastavené na jednotlivých serverech, doplním.
Narazili jste na chybu, chybějící data nebo únik citlivých údajů? Nahlaste problém