Przejdź do treści

Eksperyment typu „honeypot”

Metodologia

Im dokładniej opisano, w jaki sposób powstały dane, tym mniej trzeba polegać na słowach. Znajdziecie tu zestawienie obu serwerów i różnic między nimi, przepływ danych, oś czasu działania, a także każdą interwencję operatora.

Dane zaktualizowane: 3. 10. 2026 10:31:16 UTC+02:00

Zgłoś problem

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.

Porty 42222, 42223, 42280 i 42443 w danych dotyczących srv4 nie są rzeczywistymi portami docelowymi. Lista portów dla srv4 opiera się na hptcp. Więcej

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.

Internet skanery, boty, atakujący Zapora sieciowa dostawcy srv3 · ~46 usług Docker: opublikowane porty port w logu = rzeczywisty port docelowy dionaea · tcpsink · … Logi JSONL + syslog srv4 · 1–65 534/tcp nftables REDIRECT Rzeczywisty port docelowy jest znany tylko hptcp hptcp · cowrie · hpweb Logi JSONL + syslog Serwer zbiorczy syslog – na bieżąco pliki przez SSH – okresowo archiwum danych wszystko przez szyfrowany tunel WireGuard Agent i operator polecenia za pośrednictwem hedgehog-runner
przepływ danych kanał sterujący (poza interfejsem publicznym)

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.

Usuń filtry

Agent działanie modelu językowego   Operator ingerencja człowieka   incydent z odniesieniem do analizy

Pierwotny zapis, wyświetlany dokładnie w takiej postaci, w jakiej powstał.
  1. 19. 8. 2026
    Agentsrv3 Wybór serwera Poleceń: 0 · zmian: 0
  2. 19. 8. 2026
    Agentsrv4 Wybór serwera Poleceń: 0 · zmian: 0
  3. 19. 8. 2026 – 20. 8. 2026
    Operatoroba serwery 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.
  4. 21. 8. 2026
    Początek biegu
  5. 21. 8. 2026
    Agentsrv3 Wdrożenie Poleceń: 0 · zmian: 0
  6. 21. 8. 2026
    Agentsrv4 Wdrożenie Poleceń: 0 · zmian: 0
  7. 21. 8. 2026
    Operatoroba serwery 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.
  8. 22. 8. 2026
    Agentsrv3 1. kontrola Poleceń: 0 · zmian: 0
  9. 22. 8. 2026
    Agentsrv4 1. kontrola Poleceń: 0 · zmian: 0
  10. 22. 8. 2026
    incydent Brakuje danych Waga: poważna Sprawił: agent 2026-08-22-srv3-webtrap-https-tls-accept-hang 15:40 · 2 d 3 h
  11. 22. 8. 2026
    incydent Brakuje danych Waga: poważna Sprawił: agent 2026-08-22-srv3-pcap-ring-buffer-snaplen 00:15 · 2 d 18 h
  12. 22. 8. 2026
    incydent Dane są kompletne Waga: drobna Sprawił: agent 2026-08-22-srv3-syslog-message-size-truncation 00:03 · trwa
  13. 22. 8. 2026
    incydent Dane są kompletne Waga: drobna Sprawił: agent 2026-08-22-srv3-sshd-move-broke-operator-backup 00:01 · 14 min
  14. 24. 8. 2026
    Agentsrv3 2. kontrola Poleceń: 0 · zmian: 0
  15. 24. 8. 2026
    Agentsrv4 2. kontrola Poleceń: 0 · zmian: 0
  16. 24. 8. 2026
    incydent Brakuje danych Waga: poważna Sprawił: agent 2026-08-24-srv3-dionaea-mongod-parser-freeze 16:18 · 14 d 3 h
  17. 28. 8. 2026
    Agentsrv3 3. kontrola Poleceń: 0 · zmian: 0
  18. 28. 8. 2026
    Agentsrv4 3. kontrola Poleceń: 0 · zmian: 0
  19. 31. 8. 2026
    Agentsrv3 4. kontrola Poleceń: 0 · zmian: 0
  20. 31. 8. 2026
    Agentsrv4 4. kontrola Poleceń: 0 · zmian: 0
  21. 4. 9. 2026
    Agentsrv3 5. kontrola Poleceń: 0 · zmian: 0
  22. 4. 9. 2026
    Agentsrv4 5. kontrola Poleceń: 0 · zmian: 0
  23. 7. 9. 2026
    Agentsrv3 6. kontrola Poleceń: 0 · zmian: 0
  24. 7. 9. 2026
    Agentsrv4 6. kontrola Poleceń: 0 · zmian: 0
  25. 7. 9. 2026
    incydent Brakuje danych Waga: poważna Sprawił: agent 2026-09-07-srv3-deliberate-dionaea-freeze-repro 20:06 · 1 min
  26. 11. 9. 2026
    Agentsrv3 7. kontrola Poleceń: 0 · zmian: 0
  27. 11. 9. 2026
    Agentsrv4 7. kontrola Poleceń: 0 · zmian: 0
  28. 13. 9. 2026
    incydent Dane są kompletne Waga: drobna Sprawił: dostawca 2026-09-13-contabo-firewall-error-status 05:12 · 3 d 3 h
  29. 13. 9. 2026
    incydent Dane są kompletne Waga: poważna Sprawił: operator Awaria kanału sterującego 04:22 · 39 min
  30. 14. 9. 2026
    Agentsrv3 8. kontrola Poleceń: 0 · zmian: 0
  31. 14. 9. 2026
    Agentsrv4 8. kontrola Poleceń: 0 · zmian: 0
  32. 16. 9. 2026
    Agentsrv3 9. kontrola (końcowa) Poleceń: 0 · zmian: 0
  33. 16. 9. 2026
    Agentsrv4 9. kontrola (końcowa) Poleceń: 0 · zmian: 0
  34. 17. 9. 2026 – 19. 9. 2026
    Operatoroba serwery planowane Uzavření všech portů na síťovém firewallu, stažení dat a zrušení serverů. Konec běhu.
  35. 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.