Archiwa: APT - Strona 31 z 45 - Security Bez Tabu

Dlaczego Hakerzy 'Kochają’ Święta

Jak sezon urlopowy tworzy lukę operacyjną w cyberobronie (i co z tym zrobić)

Święta – dla większości z nas czas odpoczynku i wyciszenia. Dla hakerów? Wręcz przeciwnie – to okres żniw. Cyberprzestępcy dosłownie „kochają” długie weekendy i przerwy świąteczne, bo wtedy czujność obrony jest najniższa. Zespoły bezpieczeństwa (SOC, blue team) pracują często w okrojonym składzie albo pełnią dyżury zdalnie, podczas gdy atakujący nie biorą urlopu. Rezultat?

Czytaj dalej „Dlaczego Hakerzy 'Kochają’ Święta”

Atak DDoS na La Poste tuż przed świętami: NoName057(16) ogłasza „sukces”, DGSI przejmuje śledztwo

Wprowadzenie do problemu / definicja luki

Na kilka dni przed Bożym Narodzeniem 2025 r. francuski operator pocztowy La Poste odnotował poważne zakłócenia w usługach online – od śledzenia przesyłek po elementy bankowości elektronicznej La Banque Postale. Z perspektywy cyberbezpieczeństwa nie była to „klasyczna luka” w oprogramowaniu, tylko atak DDoS (Distributed Denial of Service): przeciążenie usług ogromną liczbą żądań w taki sposób, by legalni użytkownicy nie mogli z nich korzystać. La Poste potwierdziła, że incydent miał charakter odmowy usługi i zadeklarowała brak wpływu na dane klientów.

W skrócie

  • Atak rozpoczął się 22 grudnia 2025 i spowodował niedostępność/niestabilność wielu usług internetowych La Poste.
  • Ucierpiały m.in. kanały online oraz elementy usług bankowych (szczególnie dostęp do bankowości online/aplikacji), przy zachowaniu działania części operacji w placówkach oraz płatności z SMS-owym uwierzytelnianiem.
  • Grupa NoName057(16) (prorosyjski kolektyw „hacktywistyczny”) ogłosiła odpowiedzialność, ale pojawiły się publiczne głosy ostrożności wobec takich deklaracji (ryzyko „opportunistic claiming”).
  • Francuskie organy ścigania wszczęły postępowanie, a DGSI przejęła sprawę po pojawieniu się roszczeń sprawców.

Kontekst / historia / powiązania

Według relacji medialnych NoName057(16) działa od początku pełnoskalowej inwazji Rosji na Ukrainę (2022) i jest znana z koordynowania relatywnie prostych, ale uciążliwych kampanii DDoS wymierzonych w Ukrainę i państwa wspierające ją politycznie.

W przypadku La Poste śledztwo dotyczy przede wszystkim celowego zakłócenia działania systemu przetwarzania danych (typowy kwalifikator dla incydentów DDoS w kontekście prawnym), a sama firma złożyła zawiadomienie.

Analiza techniczna / szczegóły luki

Co wiemy pewnego (z komunikatów i doniesień)

  • La Poste wprost wskazała na denial-of-service jako charakter ataku, oraz podkreśliła brak wpływu na dane klientów.
  • Incydent spowodował niedostępność usług online i niestabilność w kolejnych godzinach/dniach; część funkcji bankowych pozostała dostępna (np. płatności z SMS), a operacje w placówkach działały.

Co jest prawdopodobne (mechanika DDoS w takim scenariuszu)

W praktyce ataki na instytucje masowe (poczta/bank) zwykle łączą:

  • warstwę L7 (HTTP/S) – zasypywanie aplikacji i API (np. tracking, logowanie, sesje),
  • oraz/lub warstwę L3/L4 – wolumetryczne zalewanie łącz i urządzeń brzegowych.

Efekt biznesowy jest podobny: usługa „jest”, ale dla klientów wygląda jak awaria (timeouty, błędy 5xx, niedostępne aplikacje), a zespoły operacyjne przechodzą w tryb gaszenia pożaru: ograniczanie funkcji, przekierowania, priorytetyzacja najważniejszych systemów.

Uwaga o „przyznaniu się” sprawców

Le Monde opisał, że deklaracja NoName057(16) widziana na Telegramie nie zawierała twardych dowodów, a dodatkowo wskazywała domenę, która w obserwowanym momencie nie była już zakłócona — co pasuje do znanego zjawiska „opportunistic claiming”, gdy grupy przypisują sobie głośne incydenty dla rozgłosu.
To nie wyklucza ich udziału – ale operacyjnie oznacza jedno: atrybucję trzeba opierać na telemetrii (logach na brzegu/CDN/WAF, NetFlow, wzorcach botów, korelacji czasowej), a nie wyłącznie na wpisach w social media.

Praktyczne konsekwencje / ryzyko

  1. Zakłócenie łańcucha operacji: nawet jeśli sortowanie i doręczenia trwają, brak trackingu i niedostępne kanały cyfrowe eskalują liczbę zgłoszeń i koszt obsługi (call center, reklamacje). La Poste raportowała problemy m.in. z dostępnością centrów telefonicznych.
  2. Uderzenie w zaufanie: atak na operatora „usług krytycznych w praktyce” (poczta + bank) w szczycie sezonu wzmacnia efekt psychologiczny – dokładnie to, na czym DDoS „hacktywistyczny” często żeruje.
  3. Ryzyko wtórne: DDoS bywa dymną zasłoną dla innych działań (np. próby nadużyć, ataki na konta, fraud), bo SOC/NOC jest przeciążony zdarzeniami dostępnościowymi. Tego w tym przypadku nie potwierdzono, ale warto mieć w playbookach.

Rekomendacje operacyjne / co zrobić teraz

Jeśli odpowiadasz za usługi publiczne (logowanie, tracking, płatności, bankowość, e-administracja), ten incydent to dobry pretekst do szybkiego „health check”:

  • Weryfikacja architektury anty-DDoS: CDN/Anycast na zasobach statycznych i API, WAF z sensownymi regułami, rate limiting per endpoint, ochrona przed botami (device fingerprint, challenge).
  • Odporność DNS i punktów krytycznych: rozproszeni dostawcy DNS, krótkie procedury przełączeń, monitoring błędów NXDOMAIN/SERVFAIL.
  • Degradacja kontrolowana: tryby „read-only”, cache’owanie wyników (np. tracking), priorytetyzacja ruchu (np. partnerzy logistyczni vs. frontend), kolejki/„waiting room”.
  • Observability i dowody: trzymanie telemetrii z brzegu (CDN/WAF) + NetFlow, aby móc udowodnić wektor i skalę; to krytyczne również przy komunikacji z organami ścigania i ubezpieczycielem.
  • Komunikacja kryzysowa: jasny status page, aktualizacje co X godzin, rozdzielenie „awaria usług” od „brak naruszenia danych” – La Poste wyraźnie podkreśliła drugi element i to ogranicza panikę.

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

  • DDoS vs ransomware: tu mówimy o dostępności, nie o szyfrowaniu czy wycieku. La Poste wprost wskazała brak wpływu na dane klientów, co odróżnia incydent od typowych kryzysów typu „data breach”.
  • „Hacktywiści” vs APT: kampanie NoName057(16) są często masowe i nastawione na efekt medialny/zakłóceniowy. To nie znaczy, że są „nieszkodliwe” – zwłaszcza gdy trafiają w organizacje o ogromnym wolumenie transakcji w krótkim oknie czasowym.
  • Atrybucja: ten przypadek pokazuje klasyczny problem: „ktoś się przyznał” ≠ „mamy dowody”. Le Monde przytoczył ostrzeżenia przed spóźnionymi, oportunistycznymi roszczeniami.

Podsumowanie / kluczowe wnioski

Atak na La Poste (od 22 grudnia 2025) to podręcznikowy przykład, jak DDoS potrafi uderzyć w gospodarkę i społeczne zaufanie bez naruszania danych. Najbardziej wartościowa lekcja dla organizacji cyfrowych jest prosta: odporność na DDoS to nie tylko „większe łącze”, ale zestaw praktyk – architektura brzegowa, kontrolowana degradacja, twarda telemetria i dojrzała komunikacja. A jeśli sprawcy „chwalą się” w social media, trzeba pamiętać, że bez dowodów technicznych to wciąż tylko element wojny informacyjnej.

Źródła / bibliografia

  • The Record (Recorded Future News): informacje o roszczeniu NoName057(16), skali zakłóceń i tle działań grupy. (The Record from Recorded Future)
  • La Poste Groupe: oficjalny komunikat o ataku DoS, wpływie na usługi i braku wpływu na dane klientów. (La Poste Groupe)
  • TechCrunch: przebieg incydentu i podsumowanie wpływu na usługi online/bankowe. (TechCrunch)
  • Associated Press: kontekst śledztwa i przejęcia sprawy przez DGSI. (AP News)
  • Le Monde (AFP): szczegóły dot. postępowania (UNC/DGSI) oraz ostrożność wobec deklaracji sprawców. (Le Monde.fr)

Evasive Panda i DNS poisoning: jak „fałszywe aktualizacje” dostarczały MgBot w latach 2022–2024

Wprowadzenie do problemu / definicja luki

DNS poisoning (zatrucie odpowiedzi DNS) to technika, w której atakujący powoduje, że ofiara rozwiązuje prawidłową domenę do nieprawidłowego (atakującego) adresu IP. W efekcie użytkownik może łączyć się „z właściwym adresem w pasku przeglądarki”, ale faktycznie trafia na serwer kontrolowany przez napastnika — a to idealny punkt wyjścia do cichej dystrybucji malware, zwłaszcza przez mechanizmy aktualizacji o słabej walidacji.

W grudniu 2025 Kaspersky opisał kampanię przypisaną do chińskojęzycznego APT Evasive Panda (alias m.in. Daggerfly/BRONZE HIGHLAND/StormBamboo), w której DNS poisoning posłużył do dostarczania backdoora MgBot w wysoce ukierunkowanych atakach obserwowanych między listopadem 2022 a listopadem 2024.


W skrócie

  • Kto: Evasive Panda / Daggerfly (G1034 w MITRE ATT&CK), powiązany z Chinami i znany z ekskluzywnego użycia MgBot.
  • Co: ukierunkowana dystrybucja MgBot przez DNS poisoning + fałszywe aktualizacje popularnych aplikacji.
  • Gdzie: ofiary wykryte w Türkiye, Chinach i Indiach; część hostów utrzymywana w kompromitacji ponad rok.
  • Jak: wieloetapowy łańcuch loaderów i shellcode’u, pobieranie kolejnego etapu jako „PNG” z domeny dictionary[.]com po uprzedniej manipulacji DNS, a następnie szyfrowanie hybrydowe DPAPI+RC5 wiążące payload z konkretną maszyną.

Kontekst / historia / powiązania

Evasive Panda jest aktywny co najmniej od 2012 r., a MITRE wskazuje na jego profil ofiar (m.in. podmioty rządowe/NGO/telekomy) oraz powiązanie z kampaniami o charakterze supply-chain.

To nie pierwsza historia, w której ta grupa „wchodzi w ścieżkę zaufania” użytkownika:

  • ESET (kwiecień 2023) opisał przypadek, gdzie kanały aktualizacji legalnych aplikacji zostały przejęte/hijackowane, aby podsunąć instalator MgBot — z rozważanymi hipotezami supply-chain lub ataku typu adversary-in-the-middle.
  • Volexity (sierpień 2024) pokazał scenariusz jeszcze cięższego kalibru: DNS poisoning na poziomie ISP, gdzie podmieniano odpowiedzi DNS dla domen mechanizmów aktualizacji, szczególnie gdy aktualizacje szły po HTTP i bez weryfikacji podpisu.

Analiza techniczna / szczegóły luki

1) „Aktualizacja” jako przynęta: SohuVA / iQIYI / Tencent QQ / IObit

W kampanii opisanej przez Kaspersky, startem infekcji był plik udający update do aplikacji (np. SohuVA). Telemetria wskazała pobieranie z zasobu pod domeną p2p.hd.sohu.com[.]cn, a badacze ocenili, że mogło dojść do DNS poisoning, które kierowało ofiarę na serwer atakującego mimo użycia „prawidłowej” domeny.
Kaspersky dopisał też analogiczny schemat z „fałszywym updaterem” m.in. dla iQIYI, uruchamianym przez legalny qiyiservice.exe, oraz podobne podejście wobec IObit Smart Defrag i Tencent QQ.

2) Loader i etap shellcode: podszycie pod legalny projekt

Loader był napisany w C++ (WTL) i miał przypominać przykładową aplikację (sample) — co utrudnia szybkie odróżnienie „zwykłego” binarium od złośliwego.

3) DNS poisoning jako kanał dostarczania kolejnego etapu (dictionary[.]com)

Istotny fragment łańcucha: jeśli lokalny plik z danymi nie był obecny, shellcode przechodził do pobrania zaszyfrowanych danych z „web source” kontrolowanego przez atakującego, ale realizowanego poprzez DNS poisoning — w telemetrii wyglądało to jak pobranie „PNG” z legalnego dictionary[.]com.
Co ważne, manipulacja miała być selektywna: ofiary rozwiązywały dictionary[.]com do różnych adresów IP w zależności od geolokalizacji i ISP.

4) „Sprytna” kryptografia: DPAPI + RC5, czyli payload związany z hostem

Kaspersky opisał hybrydę, w której klucz RC5 jest zaszyfrowany DPAPI i zapisany w pierwszych bajtach pliku (perf.dat), a reszta zawartości to payload szyfrowany RC5. Taki zabieg utrudnia analizę, bo DPAPI wiąże odszyfrowanie z konkretną maszyną.

5) In-memory execution i wstrzyknięcie MgBot

Po odszyfrowaniu kolejnego etapu secondary loader inicjuje uruchomienie/iniekcję (m.in. wskazano wstrzyknięcie wariantu MgBot do legalnego svchost.exe). Konfiguracja (m.in. nazwa kampanii, adresy C2) miała być odszyfrowywana prostym XOR, a część infrastruktury C2 wygląda na używaną wieloletnio.


Praktyczne konsekwencje / ryzyko

  1. Zaufanie do DNS i update’ów jako punkt pojedynczej porażki. Jeśli DNS zostanie „skręcony” (na ISP, w sieci firmowej, na routerze), to nawet rozsądne zachowania użytkownika mogą nie wystarczyć — bo ofiara pobiera „aktualizację” spod znanej domeny.
  2. Długotrwała, cicha kompromitacja. W tej kampanii część hostów pozostawała zainfekowana ponad rok, a całość (według telemetrii) trwała ok. 2 lata: XI 2022 – XI 2024.
  3. Trudniejsza analiza i detekcja. Unikalne, per-ofiara elementy (np. dobór odpowiedzi po nagłówkach/wersji Windows) oraz szyfrowanie powiązane z hostem utrudniają triage, sandboxing i „łatwe” IOC-driven hunting.

Rekomendacje operacyjne / co zrobić teraz

Priorytet 1: uszczelnij aktualizacje (software supply chain w skali mikro)

  • Wymuszaj aktualizacje po HTTPS i z weryfikacją podpisów (oraz blokuj aktualizatory, które tego nie robią). Volexity wskazywał, że atakujący wybierali oprogramowanie z niepewnymi mechanizmami update (np. HTTP, brak walidacji podpisu).
  • W środowiskach firmowych rozważ allowlistę dla updaterów i repozytoriów aktualizacji oraz kontrolę uruchamiania binariów (AppLocker/WDAC).

Priorytet 2: zredukuj ryzyko manipulacji DNS

  • Przestaw stacje/serwery na zaufane resolvery i rozważ DoH/DoT (tam, gdzie to zgodne z polityką), aby utrudnić podmianę odpowiedzi po drodze na poziomie dostawcy. Uwaga: to nie „magiczna tarcza”, jeśli atakujący siedzi na brzegu sieci lub na urządzeniu końcowym — ale ogranicza klasę ataków na trasie. (W omawianej kampanii mechanizm poisoning pozostaje nie w pełni wyjaśniony).
  • Monitoruj rozbieżności DNS (np. porównanie odpowiedzi z kilku resolverów, alerty na nagłe zmiany A/AAAA dla popularnych domen).

Priorytet 3: hunting/IR pod kątem tej kampanii

  • Sprawdź artefakty ścieżek i plików wskazywanych w analizie (m.in. %ProgramData%\Microsoft\MF, status.dat, perf.dat) oraz nietypowe biblioteki/dropy związane z loaderem.
  • Poluj na podejrzane połączenia do znanych adresów C2 i anomalie w ruchu HTTP związane z pobieraniem „obrazów PNG” z domen, które normalnie nie służą do dystrybucji binariów.

Różnice / porównania z innymi przypadkami

  • ESET 2023: fokus na „przejęte aktualizacje” i rozważane scenariusze supply-chain/AitM przy dystrybucji MgBot.
  • Volexity 2024: twardy dowód na poisoning na poziomie ISP i wykorzystywanie słabych mechanizmów aktualizacji (HTTP, brak weryfikacji).
  • Kaspersky 2025: nacisk na selektywną dystrybucję kolejnych etapów (np. dictionary[.]com rozwiązywany do różnych IP zależnie od ISP/geo) oraz na utrudnianie analizy poprzez DPAPI+RC5 i in-memory injection.

Wspólny mianownik: atakowanie „zaufanych ścieżek” (DNS + aktualizacje), gdzie klasyczne „nie klikaj w linki” ma ograniczoną wartość, bo użytkownik i system robią to, co zwykle.


Podsumowanie / kluczowe wnioski

Kampania Evasive Panda opisana pod koniec grudnia 2025 r. to podręcznikowy przykład, jak DNS poisoning może stać się „niewidzialnym przewodem” do dystrybucji backdoora MgBot: ofiara widzi legalne domeny, a mimo to pobiera złośliwy kod. Dodatkowo, hybrydowe szyfrowanie (DPAPI+RC5) oraz selektywne odpowiedzi po DNS/HTTP podnoszą koszt obrony i analizy.

Jeśli chcesz zmniejszyć ekspozycję na tę klasę operacji, najwięcej „zysku za wysiłek” dają: twarda polityka bezpiecznych aktualizacji, sensowne zarządzanie DNS (i jego monitoring) oraz przygotowane playbooki huntingowe pod MgBot/Evasive Panda.


Źródła / bibliografia

  1. The Hacker News — China-Linked Evasive Panda Ran DNS Poisoning Campaign to Deliver MgBot Malware (26.12.2025) (The Hacker News)
  2. Kaspersky Securelist — Evasive Panda APT poisons DNS requests to deliver MgBot (24.12.2025) (Securelist)
  3. Volexity — StormBamboo Compromises ISP to Abuse Insecure Software Update Mechanisms (02.08.2024) (Volexity)
  4. ESET WeLiveSecurity — Evasive Panda APT group delivers malware via updates for popular Chinese software (26.04.2023) (We Live Security)
  5. MITRE ATT&CK — Daggerfly / Evasive Panda (G1034) (aktualizacja: 31.10.2024) (MITRE ATT&CK)

Obserwowane nadużycia FG-IR-19-283 (CVE-2020-12812): jak „zmiana wielkości liter” może ominąć 2FA w FortiOS SSL VPN

Wprowadzenie do problemu / definicja luki

Fortinet opublikował 24 grudnia 2025 analizę incydentową, w której potwierdza zaobserwowane nadużycia starszej podatności FG-IR-19-283 / CVE-2020-12812 w środowiskach produkcyjnych — ale tylko tam, gdzie występują określone konfiguracje uwierzytelniania (FortiGate + LDAP + 2FA).

Sedno problemu jest podstępnie proste: FortiGate domyślnie traktuje nazwę użytkownika jako case-sensitive, podczas gdy katalog LDAP/AD często nie. To otwiera drogę do obejścia wymuszenia 2FA przez użycie innej wielkości liter w loginie (np. jsmith vs JSmith).


W skrócie

  • Podatność: CVE-2020-12812 / FG-IR-19-283 (FortiOS SSL VPN; scenariusz obejścia 2FA).
  • Mechanizm nadużycia: zmiana wielkości liter w nazwie użytkownika powoduje, że FortiGate nie dopasowuje konta lokalnego (z 2FA), po czym może „spaść” na uwierzytelnienie LDAP (bez 2FA) przez polityki/grupy.
  • Status: Fortinet wskazuje na aktywnie obserwowane nadużycia w 2025 r. (w konkretnych konfiguracjach).
  • Priorytet działań: jeśli podejrzewasz wykorzystanie — traktuj konfigurację jako skompromitowaną i resetuj poświadczenia (w tym bind do LDAP/AD).

Kontekst / historia / powiązania

CVE-2020-12812 została ujawniona w 2020 r. i dotyczy nieprawidłowego uwierzytelniania w kontekście SSL VPN. Opis podatności i dotknięte wersje FortiOS są ujęte m.in. w NVD.

Co ważne, problem „perymetrowych” luk w FortiOS SSL VPN był już wcześniej elementem kampanii skanowania i eksploatacji: kanadyjskie Cyber Centre (w nawiązaniu do ostrzeżeń CISA/FBI) wskazywało, że aktorzy APT wykorzystywali podatności Fortinet (w tym CVE-2020-12812) do uzyskania dostępu i pozycjonowania się w sieciach wielu sektorów.

Dodatkowo NVD zaznacza, że CVE-2020-12812 znajduje się w katalogu CISA KEV (Known Exploited Vulnerabilities), co jest silnym sygnałem operacyjnym: luka ma historię realnego wykorzystania i powinna być traktowana priorytetowo.


Analiza techniczna / szczegóły luki

Warunki konieczne (najczęściej pomijane w ocenie ryzyka)

Fortinet bardzo wyraźnie zaznacza, że skuteczne nadużycie wymaga konkretnego układu konfiguracji:

  1. Lokalne konta użytkowników na FortiGate z włączonym 2FA, które jednocześnie „odsyłają” do LDAP.
  2. Ci sami użytkownicy są członkami grup na serwerze LDAP/AD.
  3. Co najmniej jedna z tych grup LDAP jest skonfigurowana na FortiGate i użyta w polityce uwierzytelniania (np. admin, SSL VPN lub IPsec VPN).

Jak wygląda obejście 2FA krok po kroku

W uproszczeniu:

  • Użytkownik loguje się jako jsmith → pasuje do lokalnego wpisu → FortiGate wymusza token/2FA.
  • Użytkownik loguje się jako JSmith / jSmith itd. → brak dopasowania do lokalnego wpisu (case-sensitive) → FortiGate sprawdza alternatywne ścieżki uwierzytelnienia (np. przez grupę LDAP używaną w polityce).
  • Jeśli polityka/grupa LDAP „złapie” użytkownika, a hasło jest poprawne, uwierzytelnienie kończy się sukcesem bez 2FA, nawet gdy lokalny profil miał 2FA lub konto było wyłączone (w zależności od scenariusza i polityk).

Wersje i „łatka konfiguracyjna”

Fortinet wskazuje, że mechanizmy ograniczające to zachowanie wprowadzono w ramach poprawek dla linii m.in. 6.0.10 / 6.2.4 / 6.4.1 (i nowszych), a jako kluczową konfigurację podaje wyłączenie wrażliwości na wielkość liter w nazwie użytkownika:

  • starsze: set username-case-sensitivity disable
  • nowsze: set username-sensitivity disable

Praktyczne konsekwencje / ryzyko

Najbardziej krytyczny efekt biznesowy to ominięcie wymuszenia 2FA dla dostępu zdalnego (SSL VPN) lub nawet dla dostępu administracyjnego — jeżeli taka ścieżka istnieje w politykach.

Fortinet ostrzega też wprost: jeśli doszło do takiego scenariusza uwierzytelnienia, należy założyć kompromitację i zresetować poświadczenia, włącznie z danymi używanymi do LDAP/AD binding.

Warto też pamiętać o sygnale z NVD: CVE-2020-12812 ma przypisany CVSS 3.1 9.8 (Critical) w NVD, a jednocześnie w praktyce jej „realna” wykonalność jest silnie zależna od konfiguracji — co często prowadzi do błędnego uspokajania ryzyka w organizacjach („u nas to nie działa”).


Rekomendacje operacyjne / co zrobić teraz

  1. Zweryfikuj warunki podatności w konfiguracji
    • Czy masz lokalne konta z 2FA powiązane z LDAP?
    • Czy masz skonfigurowane grupy LDAP używane w politykach SSL VPN / admin / IPsec?
    • Czy istnieje „secondary/fallback” scenariusz LDAP, który przejmuje autoryzację, gdy lokalny wpis nie pasuje?
  2. Wprowadź ustawienie unifikujące nazwy użytkowników
    • Zastosuj rekomendowane przez Fortinet ustawienie username-…-sensitivity disable adekwatne do wersji FortiOS.
  3. Usuń zbędne grupy LDAP / ścieżki awaryjne
    • Fortinet podkreśla, że istotnym czynnikiem jest „misconfiguration of a secondary LDAP Group” — jeżeli nie jest wymagana, usuń ją.
  4. Higiena po incydencie (jeśli podejrzewasz nadużycie)
    • Reset haseł i sekretów: konta VPN/admin, konta serwisowe, bind do LDAP/AD.
    • Przegląd logów VPN/admin pod kątem logowań z nietypową wielkością liter (np. JSmith zamiast jsmith), anomalii geolokalizacji, nowych sesji, nowych urządzeń, nietypowych godzin.
  5. Ustal priorytet patchowania
    • Traktuj to jako priorytet, bo CVE figuruje jako znana wykorzystywana (KEV wg NVD) oraz ma potwierdzone obserwacje nadużyć w 2025 r.

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

W praktyce incydenty FortiOS SSL VPN rzadko występują „w próżni”. Ostrzeżenia rządowe i branżowe z 2021 r. łączyły CVE-2020-12812 z innymi podatnościami Fortinet wykorzystywanymi do uzyskiwania dostępu i przygotowania kolejnych etapów ataku (np. eksfiltracja lub szyfrowanie). Wymieniano m.in. CVE-2018-13379 oraz CVE-2019-5591 obok CVE-2020-12812.

Różnica jest taka, że:

  • CVE-2020-12812 jest „konfiguracyjno-logiczna” i silnie zależna od tego, jak zbudowano łańcuch uwierzytelniania (lokalne konta + grupy LDAP + polityki).
  • Wiele innych luk SSL VPN historycznie bywało bardziej „bezpośrednich” (np. odczyt plików / traversal), a więc łatwiejszych do masowego skanowania.

Podsumowanie / kluczowe wnioski

  • Nie lekceważ wieku podatności: Fortinet potwierdza obserwowane nadużycia CVE-2020-12812 w 2025 r.
  • To nie jest „magiczny bypass 2FA wszędzie” — ale w określonych konfiguracjach zmiana wielkości liter w loginie może przełączyć ścieżkę uwierzytelnienia z lokalnego 2FA na LDAP bez 2FA.
  • Minimalny hardening: wyłącz wrażliwość na wielkość liter w nazwie użytkownika oraz usuń zbędne „fallback” grupy LDAP.
  • Jeżeli widzisz symptomy nadużycia: traktuj to jak kompromitację i resetuj poświadczenia, włącznie z bindami do LDAP/AD.

Źródła / bibliografia

  1. Fortinet PSIRT Blog: Product Security Advisory and Analysis: Observed Abuse of FG-IR-19-283 (24.12.2025) (Fortinet)
  2. NIST NVD: CVE-2020-12812 Detail (opis, wersje, metryki, informacja o KEV) (NVD)
  3. CVE.org: CVE-2020-12812 (rekord CVE) (cve.org)
  4. Canadian Centre for Cyber Security: Exploitation of Fortinet FortiOS vulnerabilities (CISA, FBI) – update 1 (06.04.2021 / 28.05.2021) (Canadian Centre for Cyber Security)
  5. The Hacker News: relacja o ostrzeżeniu Fortinet i aktywnych atakach (24.12.2025) (The Hacker News)

CVE-2025-14847 (MongoDB Server) — wyciek pamięci heap przez zlib w protokole MongoDB

TL;DR

CVE-2025-14847 to podatność w MongoDB Server związana z obsługą zlib w kompresji sieciowej protokołu MongoDB: niespójne pola długości w nagłówkach skompresowanych wiadomości mogą doprowadzić do zwrócenia fragmentów niezainicjalizowanej pamięci heap do klienta bez uwierzytelnienia.
Dla SOC oznacza to: jeśli instancja MongoDB jest wystawiona na Internet, atakujący może „wyciągać” z odpowiedzi wrażliwe fragmenty pamięci procesu (potencjalnie dane aplikacyjne/sekrety zależnie od tego, co akurat było w RAM). Priorytet: patch do wersji naprawionych lub czasowo usuń zlib z kompresorów.


Krótka definicja techniczna (1 akapit)

CVE-2025-14847 to błąd klasy CWE-130 polegający na niewłaściwej obsłudze niespójnych parametrów długości w zlib-compressed protocol headers MongoDB, co umożliwia zdalnemu, nieautoryzowanemu klientowi odczyt niezainicjalizowanej pamięci heap poprzez odpowiedzi serwera.


Gdzie występuje / przykłady platform (Windows, AD, AWS, Azure, GCP, K8s, ESXi, M365)

Windows (self-hosted):

  • mongod.exe/mongos.exe uruchomione jako usługa (często port 27017) — ryzyko rośnie, gdy bind/listen jest „na świat” i gdy zlib pozostaje włączony (domyślnie jest).

AD (Active Directory):

  • Bezpośrednio „nie dotyczy” (to nie jest podatność AD), ale realnie MongoDB bywa konsumowane przez aplikacje domenowe; wyciek pamięci może pośrednio ujawnić np. tokeny/sekrety aplikacyjne trzymane w RAM.

AWS (EC2 / EKS / self-managed):

  • EC2 z Security Group otwierającą 27017/27018 do 0.0.0.0/0 → klasyczny scenariusz T1190.
  • EKS: MongoDB jako StatefulSet; ekspozycja przez Service type=LoadBalancer/Ingress/NodePort zwiększa ryzyko.

Azure (VM / AKS):

  • VM z publicznym IP + NSG pozwalający na 27017; AKS analogicznie jak EKS.

GCP (Compute Engine / GKE):

  • Publiczny endpoint + reguły FW do 27017; w GKE ekspozycja przez Service LB.

Kubernetes (K8s):

  • Szczególnie ryzykowne: publiczny LoadBalancer dla MongoDB lub brak NetworkPolicy dla namespace z bazą.

ESXi:

  • Pośrednio: gdy MongoDB stoi na VM — liczą się zasady ekspozycji/segmentacji sieci, snapshoty do IR itp.

M365:

  • Zwykle „nie dotyczy” (chyba że logi/alerty spływają do Sentinel/MDE; sama podatność jest po stronie serwera MongoDB).

Ważne operacyjnie: MongoDB informował, że Atlas fleet został spatchowany i „nie ma dowodów” na wykorzystanie ani kompromitację danych klientów; dotyczy to jednak usług zarządzanych — self-hosted musi być zaktualizowany osobno.


Szczegółowy opis techniki (jak działa, cele, dlaczego jest skuteczna)

Negocjacja kompresji i dlaczego zlib ma znaczenie

MongoDB wspiera kompresję ruchu między klientem a serwerem (OP_COMPRESSED). Domyślnie zarówno mongod, jak i mongos mają ustawione kompresory sieciowe na snappy,zstd,zlib (w tej kolejności).
CVE-2025-14847 dotyczy ścieżki obsługi zlib: spreparowane (niepoprawne) nagłówki skompresowanych wiadomości z niespójnymi długościami mogą doprowadzić do sytuacji, w której serwer zwraca w odpowiedzi fragmenty niezainicjalizowanej pamięci heap.

Co realnie wycieka z heap i jak to eskaluje ryzyko

Ponieważ mowa o pamięci procesu, w praktyce „to, co wycieknie”, zależy od:

  • obciążenia bazy (zapytania/odpowiedzi, BSON, bufory),
  • bibliotek i alokacji w danym buildzie,
  • tego, co aplikacje trzymają w pamięci (np. fragmenty dokumentów, metadane sesji, czasem sekrety).

Oficjalny wektor CVSS od CNA wskazuje wysoki wpływ na poufność i brak wpływu na integralność/dostępność (C:H / I:N / A:N).

Dlaczego to pasuje do ATT&CK T1190

Jeżeli MongoDB jest publicznie wystawione (Internet-facing), to atakujący wykorzystuje błąd w usłudze nasłuchującej na gnieździe TCP — to klasyczny model Exploit Public-Facing Application (T1190) w taktyce Initial Access (nawet jeśli „efektem” jest wyciek informacji, a nie RCE).


Artefakty i logi (tabela — EID, CloudTrail events, K8s audit, M365 operations)

Obszar obserwacjiWindows EID (przykłady)CloudTrail (AWS)K8s AuditM365 operationsCo zbierać / na co patrzeć
Ekspozycja portu MongoDB (27017/27018)Sysmon EID 3 (NetworkConnect), Windows Filtering Platform 5156AuthorizeSecurityGroupIngress, ModifySecurityGroupRules, RevokeSecurityGroupIngresspatch/create Service (LoadBalancer/NodePort), Ingress, NetworkPolicyN/ASkoki nowych źródeł łączących się do 27017; ruch z Internetu do DB zamiast z warstwy app
Start procesu MongoDB i parametry ryzykaSysmon EID 1 (ProcessCreate), Security 4688N/Acreate/patch Deployment/StatefulSet (args/env/config)N/ACzy mongod/mongos startuje z --bind_ip_all / 0.0.0.0 oraz czy wymuszasz wyłączenie zlib
Zmiany konfiguracji kompresjiEID 1/4688 + (opcjonalnie) audyt plików mongod.confN/Azmiany ConfigMap/Secret montowanych do podaN/ACzy net.compression.compressors nadal zawiera zlib (domyślnie zawiera)
„Skany” i bursty połączeń do MongoDBSysmon EID 3 + firewall(opcjonalnie) GuardDuty/VPC Flow Logs poza CloudTrailN/AN/AWysoka liczba krótkich połączeń, nietypowe geolokacje/ASN, brak auth events (bo pre-auth)
Działania IR/patchEID 1/4688 (restart usługi), systemd logsStartInstances/StopInstances (jeśli robisz)rollout restart, delete podN/AOkno zmian + walidacja, że wersja/kompresja jest zgodna z polityką

Detekcja (praktyczne reguły)

Sigma (gotowa reguła)

Cel: wykryć hosty, na których MongoDB jest uruchamiane w sposób zwiększający ekspozycję na CVE-2025-14847 (publiczny bind i/lub jawnie włączone zlib).
Uwaga: to jest detekcja „posture / hardening”, nie sygnatura exploit payload.

title: MongoDB Server Risky Startup Options (CVE-2025-14847 / zlib / public bind)
id: 3f7f2c2e-5b5c-4a6c-9b5e-6b7f9e3a8a21
status: experimental
description: >
  Detects mongod/mongos started with zlib network compression enabled and/or bound to all interfaces,
  increasing exposure to CVE-2025-14847 (unauth heap memory read via zlib compressed protocol).
references:
  - https://nvd.nist.gov/vuln/detail/CVE-2025-14847
  - https://jira.mongodb.org/browse/SERVER-115508
  - https://www.mongodb.com/docs/manual/reference/configuration-options/
author: Badacz CVE
date: 2025/12/25
tags:
  - attack.initial_access
  - attack.t1190
logsource:
  category: process_creation
  product: windows
detection:
  selection_image:
    Image|endswith:
      - '\mongod.exe'
      - '\mongos.exe'

  selection_public_bind:
    CommandLine|contains:
      - '--bind_ip_all'
      - '--bind_ip 0.0.0.0'
      - 'bindIpAll'
      - 'bindIp: 0.0.0.0'

  selection_zlib_cli:
    CommandLine|contains|all:
      - 'networkMessageCompressors'
      - 'zlib'

  selection_zlib_cfg_hint:
    CommandLine|contains|all:
      - 'net.compression.compressors'
      - 'zlib'

  condition: selection_image and (selection_public_bind or selection_zlib_cli or selection_zlib_cfg_hint)
fields:
  - Image
  - CommandLine
falsepositives:
  - MongoDB za reverse-proxy / w prywatnej sieci, gdzie bind na 0.0.0.0 jest akceptowalny
  - Środowiska, gdzie zlib jest wymagany (wydajność/kompatybilność), ale port nie jest publiczny
level: medium

Dlaczego to ma sens: zlib jest domyślnie włączony w mongod/mongos (snappy,zstd,zlib), więc realna mitigacja często polega na jego usunięciu/wyłączeniu.


Splunk (SPL)

A) Wykrywanie nieautoryzowanych źródeł łączących się do MongoDB (logi MongoDB):

index=mongodb sourcetype=mongodb:log ("connection accepted" OR "Connection accepted")
| rex field=_raw "from (?<src_ip>\d{1,3}(\.\d{1,3}){3}):(?<src_port>\d+)"
| stats count as connections dc(src_port) as uniq_src_ports by src_ip
| sort - connections

B) Bursty krótkich połączeń (sygnał skanowania / prób exploitacji pre-auth):

index=mongodb sourcetype=mongodb:log ("connection accepted" OR "end connection")
| rex field=_raw "connection accepted from (?<src_ip>\d{1,3}(\.\d{1,3}){3})"
| timechart span=5m count by src_ip limit=20

C) (Jeśli masz VPC/NSG/Firewall w Splunku) — inbound na 27017 z Internetu:

index=netflow (dest_port=27017 OR dest_port=27018) action=allowed
| stats sum(bytes) as bytes count as flows by src_ip dest_ip dest_port
| sort - flows

KQL (Azure / Microsoft Sentinel)

A) Azure Firewall (NetworkRule) — ruch do 27017/27018:

AzureDiagnostics
| where Category == "AzureFirewallNetworkRule"
| where msg_s has "Dport: 27017" or msg_s has "Dport: 27018"
| summarize flows=count() by SourceIP=src_ip_s, DestinationIP=dst_ip_s, bin(TimeGenerated, 5m)
| order by flows desc

B) Wykrywanie publicznej ekspozycji przez zmiany NSG (Activity Log):

AzureActivity
| where OperationNameValue has_any ("MICROSOFT.NETWORK/NETWORKSECURITYGROUPS/SECURITYRULES/WRITE",
                                   "MICROSOFT.NETWORK/NETWORKSECURITYGROUPS/WRITE")
| where ActivityStatusValue == "Succeeded"
| where Properties has "27017" or Properties has "27018"
| project TimeGenerated, Caller, OperationNameValue, ResourceGroup, Resource, Properties
| order by TimeGenerated desc

CloudTrail query (AWS CLI/CloudWatch)

A) CloudTrail Lake (SQL) — kto otworzył MongoDB na świat:

SELECT eventTime, userIdentity.arn, sourceIPAddress, eventName, requestParameters
FROM <your_cloudtrail_lake_table>
WHERE eventName IN ('AuthorizeSecurityGroupIngress','ModifySecurityGroupRules','RevokeSecurityGroupIngress')
  AND requestParameters LIKE '%27017%'
ORDER BY eventTime DESC;

B) AWS CLI (lookup-events) + filtr portów (przykład z jq):

aws cloudtrail lookup-events \
  --lookup-attributes AttributeKey=EventName,AttributeValue=AuthorizeSecurityGroupIngress \
  --start-time 2025-12-01T00:00:00Z \
  --end-time   2025-12-25T23:59:59Z \
  --max-results 50 \
| jq -r '.Events[]
  | select(.CloudTrailEvent | test("27017|27018"))
  | [.EventTime, .Username, .EventName] | @tsv'

Elastic (EQL) przykłady

A) Inbound connections do MongoDB z adresów publicznych (Elastic Defend / endpoint network events):

network
where event.type == "start"
  and destination.port in (27017, 27018)
  and network.direction == "inbound"
  and not cidrMatch(source.ip, "10.0.0.0/8", "172.16.0.0/12", "192.168.0.0/16")

B) Start mongod/mongos z parametrami wysokiego ryzyka:

process
where event.type == "start"
  and process.name in ("mongod", "mongos", "mongod.exe", "mongos.exe")
  and (
    process.command_line like "*bind_ip_all*" or
    process.command_line like "*bind_ip 0.0.0.0*" or
    process.command_line like "*networkMessageCompressors*" and process.command_line like "*zlib*"
  )

Heurystyki / korelacje (co łączyć)

  1. Asset + posture: lista instancji MongoDB + wersja + czy port publiczny + czy zlib wyłączony.
    • zlib jest domyślnie włączony → jeśli nie zrobiłeś hardeningu, traktuj jak „włączone”.
  2. Netflow/VPC Flow Logs/NSG Flow Logs: wzrost liczby połączeń do 27017 z nietypowych ASN/geo + krótkie sesje.
  3. MongoDB logs: dużo connection accepted bez towarzyszących zdarzeń auth/audit (pre-auth).
  4. Change management: korelacja w czasie z rolloutem poprawek (upgrade/konfig) i spadkiem prób połączeń.

False positives / tuning

Typowe FP:

  • skanowanie wewnętrzne (CMDB, monitoring, VA tools),
  • load balancer / NAT pokazuje jeden adres źródłowy,
  • legalne aplikacje o wysokiej częstotliwości połączeń.

Tuning:

  • allowlist znanych CIDR aplikacji/ETL/backup,
  • alertuj tylko dla źródeł spoza prywatnych zakresów,
  • progi: np. >N nowych IP w 10 minut lub >X połączeń/IP/5 min.

Playbook reagowania

  1. Triage ekspozycji
    • Sprawdź, czy MongoDB jest Internet-facing (SG/NSG/Firewall/Ingress).
    • Jeśli tak: priorytet P1 (T1190).
  2. Weryfikacja wersji
    • Na hoście:mongod --version mongos --version
    • Porównaj z wersjami naprawionymi: 8.2.3 / 8.0.17 / 7.0.28 / 6.0.27 / 5.0.32 / 4.4.30.
  3. Natychmiastowa mitigacja (jeśli nie możesz patchować „teraz”)
    • Wyłącz zlib w kompresji sieciowej, ustawiając kompresory na snappy,zstd albo disabled.
    • Przykład (wariant uruchomieniowy):mongod --networkMessageCompressors snappy,zstd # albo całkowicie: mongod --networkMessageCompressors disabled
  4. Remediacja docelowa
    • Upgrade do wersji naprawionej (jw.).
  5. Hunting / impact assessment
    • Przejrzyj logi połączeń do 27017 (źródła, wolumeny, okna czasowe).
    • Jeśli DB była publiczna: potraktuj to jak incydent „potential data exposure”.
  6. Rotacja sekretów (jeśli ekspozycja była realna)
    • Rotuj hasła użytkowników DB, klucze aplikacyjne, tokeny (w zależności od tego, co mogło znaleźć się w pamięci procesu).
    • Wymuś TLS + auth + segmentację sieci (minimalny blast radius).

Przykłady z kampanii / case studies

  • Brak publicznie potwierdzonych kampanii APT/ransomware wykorzystujących CVE-2025-14847 „w dziczy” na moment publikacji źródeł; MongoDB wskazywał, że w Atlas „nie ma dowodów” na wykorzystanie ani kompromitację danych i że flota została spatchowana.
  • Ten CVE jest jednak modelowym przykładem ryzyka T1190 dla baz danych (public-facing socket + bug w parserze/protokole).

Lab (bezpieczne testy) — przykładowe komendy

  1. Sprawdź, czy serwer nadal pozwala na zlib
    • Ponieważ pole hello.compression pojawia się tylko, gdy kompresja jest używana, wymuś po stronie klienta zlib i zobacz, czy serwer je negocjuje.
    • Przykład:mongosh "mongodb://<host>:27017/?compressors=zlib" --eval 'db.hello()'
    • Jeśli w wyniku pojawia się "compression": ["zlib"], to zlib jest aktywnie używane (czyli mitigacja nie została wdrożona).
  2. Weryfikacja domyślnej listy kompresorów (dla wiedzy operacyjnej)
    • MongoDB domyślnie: snappy,zstd,zlib.
  3. Weryfikacja ustawień w pliku konfiguracyjnymsudo grep -n "compression" -n /etc/mongod.conf sudo grep -n "bindIp" -n /etc/mongod.conf
  4. K8s: sprawdź argumenty/ConfigMapkubectl -n <ns> get sts <mongo-sts> -o yaml | grep -n "networkMessageCompressors" -n kubectl -n <ns> get cm -o yaml | grep -n "net.compression" -n

Mapowania (Mitigations, Powiązane techniki)

ATT&CK (główne):

  • T1190 Exploit Public-Facing ApplicationTA0001 Initial Access

Dlaczego nie „RCE” w mapowaniu?
Opis CNA/NVD mówi o odczycie niezainicjalizowanej pamięci (information disclosure), a wektor CVSS v3.1 ma I:N/A:N — to nie jest opis skutku typu „arbitrary code execution”.

Mitigations (praktycznie):

  • Patch management / szybka aktualizacja wersji naprawionych
  • Ograniczenie ekspozycji (SG/NSG/Firewall/NetworkPolicy), zasada „DB nie jest publiczna”
  • Wyłączenie zlib (czasowo lub polityką) — snappy,zstd albo disabled

Powiązane techniki (łańcuchowo, zależnie od tego co wycieknie):

  • Potencjalnie: nadużycie ujawnionych sekretów → Valid Accounts (T1078) (jeśli wyciek umożliwi logowanie innymi kanałami).
    (To zależne od środowiska; sam CVE nie gwarantuje przejęcia kont.)

Źródła / dalsza literatura

  • NVD: opis, CVSS, wersje podatne, CWE-130 (NVD)
  • MongoDB JIRA SERVER-115508: fix/upgrade + workaround (wyłączenie zlib) (MongoDB Jira)
  • MongoDB Alerts (CVE-2025-14847): oficjalny wpis „Zlib … may allow memory read” + zakresy wersji (MongoDB)
  • MongoDB Docs: domyślne snappy,zstd,zlib (mongod/mongos) (MongoDB)
  • MongoDB Docs: hello.compression (walidacja negocjacji kompresji) (MongoDB)
  • MITRE ATT&CK: T1190 (tactic Initial Access, last modified) (MITRE ATT&CK)
  • MongoDB Community Hub: komunikat o spatchowaniu Atlas + brak dowodów exploitacji (wg MongoDB) (MongoDB)

Checklisty dla SOC / CISO

SOC (operacyjnie, dziś):

  • Zidentyfikuj wszystkie mongod/mongos i ich wersje.
  • Sprawdź ekspozycję 27017/27018 (Internet-facing = P1).
  • Jeśli nie możesz patchować natychmiast: usuń zlib z kompresorów (snappy,zstd lub disabled).
  • Wdróż detekcje: bursty połączeń, nowe źródła, zmiany SG/NSG.
  • Jeśli DB była publiczna: threat hunting + ocena ryzyka wycieku danych.

CISO / Risk:

  • Wymuś politykę: „bazy danych nie mają publicznych endpointów”.
  • SLA na patchowanie krytycznych/High dla usług publicznych.
  • Segmentacja sieci + Zero Trust dla dostępu do DB.
  • Standard hardening MongoDB: auth/TLS, ograniczenia kompresji, monitoring i centralne logowanie.

Irański APT Infy („Prince of Persia”) wraca: nowe wersje Foudre i Tonnerre, DGA oraz C2 z elementami Telegrama

Wprowadzenie do problemu / definicja luki

Infy (znany też jako „Prince of Persia”) to przypisywany Iranowi aktor APT, kojarzony z długotrwałymi kampaniami szpiegowskimi, w których wykorzystywał własne rodziny malware oraz infrastrukturę C2 (command-and-control). Po okresie względnej ciszy badacze ponownie obserwują aktywność grupy – tym razem z odświeżonym toolsetem i technikami utrudniającymi wykrywanie oraz „zrywanie” łączności z serwerami sterującymi.

W praktyce nie jest to pojedyncza „luka” w rozumieniu CVE, tylko powrót kampanii malware: infekcje inicjowane socjotechniką (phishing) i plikami biurowymi, a następnie etapowe wdrażanie komponentów Foudre/Tonnerre do rozpoznania ofiary i eksfiltracji danych.


W skrócie

  • Infy/„Prince of Persia” wraca po latach z nowszymi wersjami Foudre i Tonnerre; najnowsze warianty Tonnerre były obserwowane we wrześniu 2025 r.
  • Zmienia się wektor wejścia: obok klasycznych dokumentów z makrami pojawiają się pliki Excel z osadzonym wykonywalnym payloadem (co potrafi ominąć część polityk „macro hygiene”).
  • Istotnym elementem odporności jest DGA (Domain Generation Algorithm) oraz dodatkowa walidacja „prawdziwości” domeny C2 z użyciem podpisu RSA.
  • SafeBreach opisuje też scenariusz, w którym część C2/operacji jest przekierowywana do Telegrama (bot/grupa) jako kanału kontroli/transferu.

Kontekst / historia / powiązania

Infy to nazwa używana w branży do opisu aktora i kampanii obserwowanych co najmniej od wczesnych lat 2010., wiązanych m.in. z celowaniem w aktywistów i organizacje wrażliwe politycznie. Malpedia opisuje Infy jako grupę podejrzewaną o irańskie pochodzenie, obserwowaną w kontekście ukierunkowanych działań i własnych rodzin złośliwego oprogramowania.

Starsze analizy Unit 42 (Palo Alto Networks) dokumentowały „Prince of Persia/Infy” jako kampanię opartą o spear-phishing z dokumentami Office i etapowe dostarczanie malware. To ważne tło, bo pokazuje, że dzisiejszy „powrót” to raczej ciągłość rozwoju i ewolucja TTP, a nie całkowicie nowy byt.


Analiza techniczna / szczegóły luki

1) Łańcuch infekcji: Office jako nośnik, ale z twistem

Według SafeBreach i relacji The Hacker News, aktor odchodzi (przynajmniej częściowo) od klasyki w postaci makr w Excelu na rzecz dokumentów Excel z osadzonym plikiem wykonywalnym, który instaluje Foudre. Równolegle wciąż mogą występować warianty oparte o makra.

Z perspektywy MITRE ATT&CK taki model często „opiera się” o zachowanie użytkownika (otwarcie pliku, włączenie zawartości/uruchomienie elementu), czyli wzorce z obszaru User Execution: Malicious File.

2) Role malware: Foudre jako etap 1, Tonnerre jako etap 2

SafeBreach opisuje Foudre jako pierwszy etap (profilowanie/rozpoznanie i selekcja), a Tonnerre jako komponent uruchamiany, gdy ofiara jest „warta” dalszej inwestycji (np. eksfiltracja, rozszerzone komendy). W kampanii wykryto m.in. Foudre v34 oraz Tonnerre w wersjach 12–18 i 50.

3) Odporność C2: DGA + walidacja podpisem

Najbardziej charakterystyczny element obecnej odsłony to:

  • DGA – generowanie domen C2 w czasie, co utrudnia blokowanie listą statycznych domen,
  • walidacja C2 – pobranie pliku podpisu RSA i porównanie z lokalnym „wzorcem”, aby upewnić się, że malware łączy się z właściwą infrastrukturą (a nie np. sinkhole/pułapką analityków).

4) Telegram jako element ekosystemu sterowania

Nowością opisywaną przez SafeBreach jest sytuacja, w której infrastruktura C2 kieruje komunikację do zasobów Telegrama (bot/grupa) jako alternatywnego kanału – co może poprawiać „przeżywalność” kampanii i utrudniać klasyczne blokady po IP/domenie.

Uwaga praktyczna: nawet jeśli badacze publikują szczegóły, w środowisku obronnym lepiej traktować je jako punkt startowy do detekcji (telemetria endpoint + proxy/DNS), a nie „jedyne IOC”, bo aktor może szybko rotować elementy infrastruktury.

5) Zasięg geograficzny i profil celów

W podsumowaniach wskazuje się ofiary w wielu krajach (m.in. Iran, Irak, Turcja, Indie, Kanada oraz część Europy). To sugeruje, że kampania ma charakter szerszy niż lokalny i może obejmować diasporę, podmioty powiązane tematycznie lub łańcuchy relacji biznesowych.


Praktyczne konsekwencje / ryzyko

  • Ryzyko wycieku danych: Tonnerre jest opisywany jako etap, w którym pojawia się realna eksfiltracja/operacje na plikach, a infrastruktura ma katalogowanie i logowanie komunikacji.
  • Trudniejsze blokowanie C2: DGA + walidacja „autentyczności” C2 zmniejszają skuteczność prostych blokad domen/IP i mogą ograniczać skuteczność sinkholingu.
  • Wyzwania dla polityk Office: organizacje skupione wyłącznie na blokadzie makr mogą mieć lukę kontrolną, jeśli wektor przechodzi na osadzone executables / nietypowe SFX/loader-y.

Rekomendacje operacyjne / co zrobić teraz

  1. Wzmocnij kontrolę uruchomień z Office
  • Blokuj/ograniczaj tworzenie procesów potomnych przez aplikacje Office (np. reguły ASR w Microsoft Defender, polityki EDR).
  • Monitoruj nietypowe zachowania: Excel → tworzenie plików wykonywalnych, uruchamianie SFX/loaderów, wykonywanie DLL z katalogów tymczasowych. (Zgodne z ryzykiem User Execution: Malicious File).
  1. DNS i egress: przygotuj się na DGA
  • Wykrywaj anomalie DNS (dużo nieudanych zapytań, domeny o nietypowej entropii/alfabecie, krótkie „losowe” hosty).
  • Stosuj egress filtering i proxy z inspekcją; DGA bez wyjścia na Internet traci sens.
  1. Detekcje na endpoint
  • Poluj na wzorce: dokumenty Office jako initial access, a potem binaria w nietypowych lokalizacjach + ruch HTTP(S) do świeżo generowanych domen.
  1. Procedury IR i threat hunting
  • Jeśli podejrzewasz infekcję: izolacja hosta, pełna triage (autoruny, harmonogram zadań, persistence), korelacja DNS/Proxy/EDR.
  • Ustal, czy w organizacji występowały kontakty z infrastrukturą opisywaną przez badaczy i czy doszło do nietypowych transferów danych.

Różnice / porównania z innymi przypadkami

  • Klasyczne APT vs „odporne C2”: DGA to technika znana od lat, ale połączenie jej z walidacją C2 (podpis RSA) i potencjalnym „fallbackiem” do popularnej platformy komunikacyjnej (Telegram) tworzy bardziej elastyczny, trudniejszy do przejęcia łańcuch sterowania.
  • Makra to nie jedyny problem: przesunięcie w stronę osadzonych wykonywalnych elementów w dokumentach pokazuje, że polityki „disable macros” są konieczne, ale niewystarczające, jeśli nie ma twardej kontroli uruchomień i zachowań procesów.

Podsumowanie / kluczowe wnioski

Powrót Infy/„Prince of Persia” to sygnał ostrzegawczy: grupa rozwija toolset (Foudre/Tonnerre), zmienia elementy dostarczania (Excel z osadzonym payloadem), a przede wszystkim zwiększa odporność infrastruktury (DGA + walidacja RSA, a według SafeBreach także elementy oparte o Telegram). Dla obrony kluczowe jest odejście od myślenia „zablokuj domenę i po sprawie” na rzecz podejścia warstwowego: kontrola uruchomień z Office, analiza anomalii DNS, telemetria EDR oraz dobrze przećwiczone IR.


Źródła / bibliografia

  1. The Hacker News – opis ponownej aktywności Infy, zmiany w łańcuchu ataku i elementy DGA/walidacji C2. (The Hacker News)
  2. SafeBreach – raport techniczny o Foudre/Tonnerre, wariantach, C2 i obserwacjach dotyczących Telegrama. (SafeBreach)
  3. Unit 42 (Palo Alto Networks) – historyczny kontekst kampanii „Prince of Persia/Infy” i model działania. (Unit 42)
  4. Malpedia – profil aktora Infy (kontekst, nazewnictwo, ogólny opis). (Malpedia)
  5. MITRE ATT&CK – User Execution: Malicious File jako punkt odniesienia dla wektora „użytkownik otwiera złośliwy plik”. (attack.mitre.org)

Nowa grupa hakerska powiązana z Chinami szpiegowała rządy w Azji Południowo-Wschodniej i Japonii

Wprowadzenie do problemu / definicja luki

Badacze ESET ujawnili nową, wcześniej nieudokumentowaną grupę APT powiązaną z Chinami, którą nazwali LongNosedGoblin. Zespół ten ma prowadzić ukierunkowane operacje cyberszpiegowskie wobec instytucji rządowych w krajach Azji Południowo-Wschodniej oraz w Japonii. Charakterystyczną techniką napastników jest nadużywanie Zasad grupy (Windows Group Policy) do rozsyłania i utrzymywania narzędzi szpiegowskich w zainfekowanych domenach. Informację potwierdziły branżowe media, w tym Recorded Future News (The Record).

W skrócie

  • Ofiary: instytucje rządowe w regionie ASEAN oraz w Japonii.
  • Atrybucja: grupa APT LongNosedGoblin, powiązana z ekosystemem cyberoperacji ChRL.
  • Kluczowa technika: dystrybucja złośliwych komponentów przez Group Policy (GPO) w domenie Windows.
  • Aktywność: co najmniej od 2023 r.; aktywna kampania potwierdzona w grudniu 2025 r.

Kontekst / historia / powiązania

Cyberszpiegostwo sponsorowane przez państwo chińskie od lat koncentruje się na administracji publicznej i sektorach strategicznych w Azji. W 2025 r. odnotowano szereg operacji PRC-nexus wymierzonych w administrację i dyplomację regionu, co potwierdzają m.in. bieżące raporty i przeglądy trendów (Mandiant/Google Cloud oraz publikacje branżowe). Na tym tle pojawienie się LongNosedGoblin wpisuje się w szerszy wzorzec stałej presji wywiadowczej.

Analiza techniczna / szczegóły kampanii

Wejście i rozprzestrzenianie: według ESET, po uzyskaniu wstępnego dostępu napastnicy wykorzystują mechanizmy Group Policy do zautomatyzowanego wdrażania ładunków w całej domenie. Taki model umożliwia trwałą i „cichą” dystrybucję komponentów, zgodną z legalnym przepływem administracyjnym w środowiskach Windows.

Komunikacja i utrzymanie dostępu: doniesienia branżowe wskazują, że w niektórych przypadkach wykorzystywana jest infrastruktura chmurowa i techniki utrzymywania C2 typowe dla operacji APT z regionu Chin, co utrudnia blokowanie i atrybucję. (Wniosek syntetyzowany na podstawie materiałów o kampanii i szerszych przeglądów PRC-nexus w 2025 r.).

Celowanie: priorytetowo traktowane są resorty rządowe (ministerstwa, urzędy centralne) w wybranych państwach Azji Południowo-Wschodniej oraz w Japonii, co sugeruje cele czysto wywiadowcze (kradzież dokumentów, planów, notatek dyplomatycznych).

Mapowanie do MITRE ATT&CK (wybrane techniki):

  • T1484.001 – Domain Policy Modification (GPO) – modyfikacja/wykorzystanie zasad domenowych do egzekucji payloadów.
  • T1059 / T1053 – Command & Scripting Interpreter / Scheduled Task – egzekucja i utrzymanie harmonogramu na hostach (typowy wzorzec przy GPO). (Wniosek na bazie opisu nadużycia GPO).

Praktyczne konsekwencje / ryzyko

  • Szybka, domenowa propagacja: nadużycie GPO pozwala w krótkim czasie objąć zasięgiem całą organizację – bez wzbudzania podejrzeń użytkowników.
  • Trudna detekcja: działania są wykonywane w ramach „normalnych” mechanizmów AD, co utrudnia wykrywanie sygnaturowe i sprzyja długotrwałej obecności napastnika.
  • Ryzyko wycieku wrażliwych danych (korespondencja dyplomatyczna, dokumenty rządowe), co może mieć skutki geopolityczne i negocjacyjne.

Rekomendacje operacyjne / co zrobić teraz

  1. Włącz i egzekwuj auditing GPO/AD: szczegółowy monitoring zmian w Group Policy Objects (kto/ kiedy/ co) + alertowanie na tworzenie/edycję skryptów logon/logoff, startup/shutdown.
  2. Zasada najmniejszych uprawnień dla GPO: ogranicz administracyjne uprawnienia do tworzenia/edycji GPO, segmentuj role, stosuj „just-in-time” i „just-enough admin”.
  3. Telemetria hostowa i Sysmon: rejestrowanie procesów wyzwalanych przez GPO (np. powershell.exe, cmd.exe, mshta.exe), korelacja z czasem aktualizacji zasad. (Good practice wynikająca z opisanego TTP).
  4. Kontrola wykonywania skryptów: AppLocker / WDAC dla skryptów i binariów LoLBin, polityki ASR blokujące uruchamianie podejrzanych interpreterów przez GPO. (Wniosek operacyjny na bazie techniki).
  5. Hunting w AD: przegląd niedawno zmienionych GPO i powiązanych sysvol (szczególnie skrypty, pliki MSI/EXE/DLL), analiza nietypowych uprawnień na obiektach.
  6. Zewnętrzny traffic & C2: inspekcja ruchu do usług chmurowych i nietypowych domen jako potencjalnego C2, z uwzględnieniem wzorców PRC-nexus opisywanych w 2025 r.
  7. Playbook IR pod GPO-abuse: przygotuj procedury szybkiego „roll-backu” złośliwych zasad, izolacji kontrolerów domeny oraz rotacji poświadczeń.

Różnice / porównania z innymi przypadkami

Nadużywanie Group Policy było dotąd rzadziej opisywanym wektorem masowej dystrybucji w ramach operacji APT – częściej widzieliśmy techniki takie jak side-loading czy złośliwe aktualizacje oprogramowania. LongNosedGoblin wyróżnia się systemowym wykorzystaniem GPO jako kanału wdrożeniowego, co upodabnia atak do wewnętrznej operacji administracyjnej i znacząco utrudnia detekcję oraz triage.

Podsumowanie / kluczowe wnioski

  • LongNosedGoblin to świeżo udokumentowana, China-aligned APT, która celuje w rządy regionu ASEAN i Japonię.
  • Jej znakiem rozpoznawczym jest nadużywanie Windows Group Policy do dystrybucji narzędzi szpiegowskich w domenie.
  • Obrona wymaga precyzyjnego monitoringu i kontroli zmian GPO, łączenia telemetrii AD/host/C2 oraz gotowych playbooków IR.

Źródła / bibliografia

  • ESET WeLiveSecurity: „LongNosedGoblin tries to sniff out governmental affairs in Southeast Asia and Japan” (19 grudnia 2025). (welivesecurity.com)
  • Help Net Security: „Group Policy abuse reveals China-aligned espionage group targeting governments” (18–19 grudnia 2025). (Help Net Security)
  • The Record (Recorded Future News): „New China-linked hacker group spies on governments in Southeast Asia, Japan” (18–19 grudnia 2025). (The Record from Recorded Future)
  • The Hacker News: „China-Aligned Threat Group Uses Windows Group Policy to Deploy Espionage Malware” (19 grudnia 2025). (The Hacker News)
  • Google Cloud Threat Intelligence (kontekst PRC-nexus 2025): „PRC-Nexus Espionage Campaign … targets diplomats” (25 sierpnia 2025). (Google Cloud)