Skład #
Oba serwery działały u tego samego dostawcy i zostały uruchomione w tym samym momencie. Każdy agent samodzielnie wybierał konkretny plan, region i system operacyjny w ramach tego samego budżetu, dlatego w tabeli są one wymienione osobno.
| Parametr | srv3 | srv4 |
|---|---|---|
| Nazwa hosta | srv3.cloud.batacek.eu | srv4.cloud.batacek.eu |
| Model językowy | Opus 5 | Fable 5 |
| Dostawca | Contabo | Contabo |
| Plan | Cloud VPS 6 (Core) | Storage VPS 20 |
| vCPU | 6 | 3 |
| RAM | 12 GB | 8 GB |
| Dysk | 200 GB | 400 GB |
| Region | EU | EU |
| System operacyjny | Debian 12 (Bookworm) | Debian 13 (trixie) |
| Uruchomienie honeypota | 22. 8. 2026 14:00:00 UTC+02:00 | 22. 8. 2026 13:00:00 UTC+02:00 |
| Powierzchnia do wynajęcia | konkretne usługi | wszystkie porty TCP |
| Port usługi sterującej | 26412/TCP | 26411/TCP |
Co było wspólne
- Dostawca, budżet i czas trwania.
- Chwila uruchomienia – oba honeypoty zaczęły gromadzić dane w tym samym momencie.
- Zadanie dla agenta. Różnią się jedynie nazwą hosta serwera i portem usługi sterującej.
- Harmonogram: wybór serwera, uruchomienie i dziewięć kontroli w tych samych dniach, każda sesja w nowym czacie bez zapamiętania poprzedniej. Dziewiąta kontrola była ostatnią.
- Domyślnie zapora sieciowa dostawcy była zamknięta, a agenci nie mieli do niej dostępu. Operator otwierał porty dopiero po wdrożeniu, zgodnie z listą przekazaną mu przez agenta.
- Kopia zapasowa operatora: przekazywanie danych syslog oraz okresowe pobieranie plików przez SSH na serwer zbiorczy.
Czym się różniły
- Oferowana powierzchnia: srv3 – około 46 konkretnych usług, srv4 – wszystkie 65 534 porty TCP. W zadaniu nie było takich wytycznych – agenci sami tak postanowili.
- Model językowy: na jednym serwerze Opus 5, na drugim Fable 5.
- Pozostałe decyzje techniczne – system operacyjny, oprogramowanie typu honeypot, sposób przechowywania danych – również podejmował każdy agent samodzielnie, więc serwery różnią się również pod tym względem.
Co oferowały serwery #
srv3 konkretne usługi
Agent na serwerze srv3 postanowił udostępnić około 46 konkretnych usług, a porty opublikował bezpośrednio za pośrednictwem Docker. Port podany w jego logu jest zatem rzeczywistym portem, na który celował atakujący.
| Port | Protokół | Standardowa usługa | Czujnik |
|---|---|---|---|
| 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 |
- Okno czasowe
- 21. 8. 2026 – 16. 9. 2026
- Dane źródłowe
- dodam
- Skrypt
- zostanie opublikowany
srv4 wszystkie porty
Agent na serwerze srv4 zezwolił serwerowi na przyjmowanie połączeń na wszystkich portach TCP w zakresie od 1 do 65 534. Ruch na tym serwerze był rozdzielany przez nftables za pomocą polecenia REDIRECT do kilku usług: cowrie, hpweb oraz usługi hptcp obsługującej wszystkie pozostałe połączenia.
Ponieważ ruch jest przekierowywany, serwery cowrie i hpweb widzą jedynie docelowe porty przekierowania (odpowiednio 42222 i 42223 oraz 42280 i 42443), a nie port, do którego faktycznie zmierzał atakujący. Zna go jedynie hptcp, który odczytuje go za pomocą SO_ORIGINAL_DST.
Architektura i przepływ danych #
Ruch atakujący przechodzi przez zaporę sieciową dostawcy do honeypotów. Zapisują one zdarzenia we własnych plikach oraz na bieżąco w syslogu. Dane są przesyłane z serwerów na oddzielny serwer zbiorczy dwiema drogami: na bieżąco przez syslog, a pliki okresowo przez SSH.
Ruch z Internetu przechodzi przez zaporę sieciową dostawcy do serwera srv3 (porty udostępnione przez Docker) oraz serwera srv4 (nftables REDIRECT). Oba serwery wysyłają logi na serwer zbiorczy. Zarówno agent, jak i operator zarządzają serwerami za pośrednictwem tunelu WireGuard, poza interfejsem publicznym.
Co zbierano #
Honeypoty rejestrowały cztery rodzaje danych. Przy każdym z nich znajduje się link do miejsca, w którym można je znaleźć w danych do pobrania.
- Poszczególne wydarzenia Poszczególne zdarzenia z czujników – połączenia, próby logowania, żądania HTTP, wprowadzone polecenia – wraz z sygnaturą czasową i źródłowym adresem IP. Gdzie to znaleźć w danych
- Zapis pakietowy Rejestr pakietów ruchu sieciowego: co dokładnie przeszło przez kabel. Gdzie to znaleźć w danych
- Nagrania audycji Nagrania interaktywnych sesji, podczas których osoba atakująca pisała coś po zalogowaniu się. Gdzie to znaleźć w danych
- Próbki złośliwego oprogramowania Pliki, które hakerzy próbowali pobrać lub przesłać – zazwyczaj złośliwe oprogramowanie. Gdzie to znaleźć w danych
Czujniki
| Serwer | Czujnik | Porty | Wynik | Ścieżka na serwerze | Co rejestruje |
|---|---|---|---|---|---|
| srv3 | dionaea | dodam | dodam | /srv/honeypot/data/ |
Honeypot emulujący szereg usług sieciowych. |
| srv3 | tcpsink | dodam | dodam | /srv/honeypot/data/ |
dodam |
| srv4 | hptcp | 1-65534/tcp |
hptcp.jsonl |
/var/log/honeypot/ |
Usługa typu „catch-all” na srv4: przyjmuje połączenia na dowolnym porcie i rejestruje rzeczywisty port docelowy. |
| srv4 | hpweb | 42280/tcp, 42443/tcp (REDIRECT) |
hpweb.jsonl |
/var/log/honeypot/ |
Fałszywa usługa internetowa na serwerze srv4. |
| srv4 | cowrie | 42222/tcp, 42223/tcp (REDIRECT) |
dodam | /opt/cowrie/cowrie/var/log/cowrie/ |
Honeypot SSH i Telnet: próby logowania, wprowadzone polecenia i pobrane pliki. |
Czego celowo nie zebrano #
Niektóre informacje w danych zostały celowo pominięte. Kto pobiera te dane, musi wiedzieć, dlaczego – w przeciwnym razie łatwo jest to uznać za błąd w gromadzeniu danych.
- Połączenia wychodzące Ruch wychodzący z honeypotów został zablokowany, aby przynęta nie mogła posłużyć do ataku na obce systemy. Dane nie zawierają zatem informacji o tym, z czym atakujący lub pobrany kod nawiązałby następnie połączenie.
- UDP na srv4 srv4 akceptował tylko połączenia TCP, porty UDP były zamknięte. Ranking portów dla srv4 nie zawiera zatem żadnych informacji dotyczących protokołu UDP.
- Emulacja SIP Emulacja SIP została wyłączona w trakcie działania. Podam dokładny przedział czasowy.
- Porty usługi sterującej Porty usługi sterującej hedgehog-runner wykraczały poza zakres eksperymentu – nie należały do honeypota i nie zostały uwzględnione w wynikach. Na każdym serwerze były skonfigurowane inaczej; podam szczegóły.
Oś czasu działania #
Wybór serwera, wdrożenie, każda kontrola, każda interwencja i każdy incydent. Interwencje operatora są wizualnie wyróżnione – jest ich niewiele i obejmują one również przygotowanie serwerów, otwarcie zapory sieciowej po wdrożeniu oraz zakończenie działania.
Agent działanie modelu językowego Operator ingerencja człowieka incydent z odniesieniem do analizy
-
19. 8. 2026
Wybór serwera Poleceń: 0 · zmian: 0
-
19. 8. 2026
Wybór serwera Poleceń: 0 · zmian: 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
Początek biegu
-
21. 8. 2026
Wdrożenie Poleceń: 0 · zmian: 0
-
21. 8. 2026
Wdrożenie Poleceń: 0 · zmian: 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 Poleceń: 0 · zmian: 0
-
22. 8. 2026
1. kontrola Poleceń: 0 · zmian: 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 · trwa
-
22. 8. 2026
2026-08-22-srv3-sshd-move-broke-operator-backup 00:01 · 14 min
-
24. 8. 2026
2. kontrola Poleceń: 0 · zmian: 0
-
24. 8. 2026
2. kontrola Poleceń: 0 · zmian: 0
-
24. 8. 2026
2026-08-24-srv3-dionaea-mongod-parser-freeze 16:18 · 14 d 3 h
-
28. 8. 2026
3. kontrola Poleceń: 0 · zmian: 0
-
28. 8. 2026
3. kontrola Poleceń: 0 · zmian: 0
-
31. 8. 2026
4. kontrola Poleceń: 0 · zmian: 0
-
31. 8. 2026
4. kontrola Poleceń: 0 · zmian: 0
-
4. 9. 2026
5. kontrola Poleceń: 0 · zmian: 0
-
4. 9. 2026
5. kontrola Poleceń: 0 · zmian: 0
-
7. 9. 2026
6. kontrola Poleceń: 0 · zmian: 0
-
7. 9. 2026
6. kontrola Poleceń: 0 · zmian: 0
-
7. 9. 2026
2026-09-07-srv3-deliberate-dionaea-freeze-repro 20:06 · 1 min
-
11. 9. 2026
7. kontrola Poleceń: 0 · zmian: 0
-
11. 9. 2026
7. kontrola Poleceń: 0 · zmian: 0
-
13. 9. 2026
2026-09-13-contabo-firewall-error-status 05:12 · 3 d 3 h
-
13. 9. 2026
Awaria kanału sterującego 04:22 · 39 min
-
14. 9. 2026
8. kontrola Poleceń: 0 · zmian: 0
-
14. 9. 2026
8. kontrola Poleceń: 0 · zmian: 0
-
16. 9. 2026
9. kontrola (końcowa) Poleceń: 0 · zmian: 0
-
16. 9. 2026
9. kontrola (końcowa) Poleceń: 0 · zmian: 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
Koniec biegu
Szczegółowe informacje na temat każdej interwencji można znaleźć w sekcji Zapis przebiegu
Kanał sterujący #
Agenci nie łączyli się z serwerami za pośrednictwem publicznego interfejsu. Polecenia uruchamiali za pomocą usługi hedgehog-runner, dostępnej wyłącznie przez zaszyfrowany tunel WireGuard z serwera zbiorczego. W sieciowej zaporze ogniowej nie było dla niej żadnej publicznej reguły.
W związku z tym w danych z honeypotów nie ma śladów działania agentów ani operatora. Wyjątkiem są działania diagnostyczne i testowe, które agenci i operator kierowali bezpośrednio na własny honeypot serwisu – zostały one opisane w sekcji „Ograniczenia”.
Porty usługi sterującej nie były zatem objęte zakresem eksperymentu. Podam, jak były skonfigurowane na poszczególnych serwerach.
Czy zauważyliście błąd, brakujące dane lub wyciek danych wrażliwych? Zgłoś problem