Archiwa: SIEM - Strona 30 z 46 - Security Bez Tabu

VPN Hardening Cookbook

Dlaczego to ma znaczenie?

VPN jest bramą do firmowej sieci – ułatwia pracę zdalną, ale dla atakujących stanowi atrakcyjny cel. Wystarczy jedno przejęte konto lub luka w VPN, by intruz zyskał dostęp do zasobów wewnętrznych. Przykładowo, głośny atak na Colonial Pipeline w 2021 rozpoczął się od wykradzionych danych dostępowych VPN bez wymuszonego MFA, co sparaliżowało krytyczną infrastrukturę. To pokazuje, że kompromitacja VPN niesie poważne konsekwencje – od wycieku danych po zatrzymanie działalności firmy.

Czytaj dalej „VPN Hardening Cookbook”

CISA ostrzega: aktywnie wykorzystywana krytyczna luka zero-day w Oracle Identity Manager (CVE-2025-61757)

Wprowadzenie do problemu / definicja luki

CISA dodała do katalogu Known Exploited Vulnerabilities (KEV) krytyczną lukę CVE-2025-61757 w Oracle Identity Manager (OIM) — komponent Oracle Fusion Middleware. Luka ma CVSS 9.8 i umożliwia pre-auth RCE (zdalne wykonanie kodu bez uwierzytelnienia) w wersjach 12.2.1.4.0 i 14.1.2.1.0. Oracle załatał problem w Critical Patch Update z 21 października 2025 r., lecz według CISA luka jest już aktywnie wykorzystywana.

W skrócie

  • Co: CVE-2025-61757 — brak uwierzytelniania dla krytycznej funkcji w OIM (CWE-306) → pre-auth RCE.
  • Kogo dotyczy: OIM 12.2.1.4.0 i 14.1.2.1.0 (REST WebServices).
  • Status: aktywne exploity; CISA wpisała do KEV 21 listopada 2025 r.; termin na patch dla FCEB do 12 grudnia 2025 r.
  • Jak działa atak: ominięcie filtra bezpieczeństwa i potraktowanie chronionych endpointów jako publicznych przez dopisanie ?WSDL lub ;.wadl do URI; następnie POST do endpointu sprawdzania skryptów Groovy prowadzi do RCE.
  • Dowody nadużyć: obserwacje SANS ISC z logów honeypotów między 30 sierpnia a 9 września 2025 r. (wzorzec groovyscriptstatus;.wadl, 556-bajtowy payload, spójny user-agent, 3 adresy IP).

Kontekst / historia / powiązania

Oracle ujawnił i załatał CVE-2025-61757 w CPU October 2025; mapowanie CVE→doradztwo potwierdza przynależność luki do tego CPU. Kilka tygodni później CISA odnotowała aktywną eksploatację i dodała wpis do KEV, co w praktyce oznacza podniesienie priorytetu patchowania do najwyższego. Niezależnie, badacze Searchlight Cyber opisali wewnętrzną anatomię błędu oraz to, jak filtry oparte o regex/matching można zwieść dopisaniem sufiksów WSDL/WADL.

Analiza techniczna / szczegóły luki

  • Klasa problemu: CWE-306 – Missing Authentication for Critical Function: produkt nie wymusza uwierzytelniania przy wywołaniu funkcji wymagającej zaufanej tożsamości. W OIM błąd siedzi w REST WebServices.
  • Mechanizm obejścia: wadliwy allow-list/filtr URI pozwala, by chronione endpointy były rozpoznane jako publiczne po dopięciu ?WSDL lub ;.wadl do dowolnego URI. To typowy „edge case” parsowania ścieżek/parametrów.
  • Od R/W do RCE: po obejściu uwierzytelniania atakujący wysyła specjalnie przygotowany POST do /iam/governance/applicationmanagement/api/v1/applications/groovyscriptstatus. Choć endpoint służy tylko do sprawdzania składni Groovy, badacze pokazali, że adnotacja Groovy może wykonać się na etapie kompilacji, co skutkuje RCE.
  • Wersje i ocena ryzyka: dotyczy 12.2.1.4.0 i 14.1.2.1.0; CVSS 9.8 (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H).

Praktyczne konsekwencje / ryzyko

  • Przejęcie OIM = pełny dostęp do procesów zarządzania tożsamościami, przepływów aprowizacji, konektorów do systemów krytycznych.
  • Ruch boczny & eskalacja uprawnień: manipulacja przepływami uwierzytelniania i aprowizacji → dostęp do kont i zasobów zależnych.
  • Ataki łańcuchowe: OIM bywa centralnym punktem SSO/IGA — kompromitacja zwiększa blast radius.
  • Dowody aktywności: ruch skanujący i próby POST na URI z sufiksem ; .wadl przed wydaniem patcha sugerują wykorzystanie jako zero-day.

Rekomendacje operacyjne / co zrobić teraz

1) Patch natychmiast

  • Zastosuj CPU October 2025 dla OIM; zweryfikuj, że instancje 12.2.1.4.0 / 14.1.2.1.0 są zaktualizowane. Jeżeli nie możesz patchować „od ręki”, rozważ odseparowanie (segregacja sieci, VPN, allow-list IP, WAF) i czasowe wyłączenie REST WebServices, jeśli to możliwe.

2) Detekcja i triage incydentu

  • Przeskanuj logi reverse proxy/WAF/app servera pod kątem ?WSDL i ; .wadl w URI, zwłaszcza ścieżek zaczynających się od /iam/governance/applicationmanagement/….
  • Szukaj POST do .../groovyscriptstatus oraz nietypowej wielkości payloadu ~556 bajtów i user-agenta Chrome/60.0.3112.113.
  • Zweryfikuj ruch z/do adresów IP wskazanych przez SANS ISC: 89.238.132[.]76, 185.245.82[.]81, 138.199.29[.]153 (potencjalne IOC z września 2025).

Przykładowe wzorce (do adaptacji pod własne SIEM/WAF):

  • Regex URI (HTTP logs): (?i)(\\?|;)\\.?wadl($|[&])|\\?WSDL($|[&])
  • Sigma (pseudoklucze): selection: uri|contains_any: ['?WSDL', ';.wadl'] and http.method: 'POST' and uri|contains: '/groovyscriptstatus'

3) Twardnienie i monitoring

  • WAF: blokuj żądania zawierające ; .wadl lub ?WSDL kierowane do aplikacji OIM (czasowo — do aktualizacji).
  • Zaimplementuj deny-by-default dla management/diagnostic endpoints i egzekwuj mTLS dla API administracyjnych.
  • Włącz dodatkowe logowanie dla kompilacji/wykonania Groovy po stronie serwera aplikacyjnego (jeśli występuje).

4) Zgodność z wymogami CISA (jeśli dotyczy)

  • Jednostki FCEB: spełnij termin 12 grudnia 2025 r. z BOD 22-01 dla pozycji KEV.

Różnice / porównania z innymi przypadkami

Ataki wykorzystujące artefakty WSDL/WADL do obejścia kontroli dostępu nie są nowe — to warianty błędów w filtrach path/extension-based. W CVE-2025-61757 newralgiczne jest to, że wystarczy modyfikator w URI, by endpoint „udawał” publiczny, a następnie specyficzny endpoint Groovy daje RCE na etapie kompilacji — to rzadkie, ale bardzo niebezpieczne połączenie. Opis Searchlight Cyber szczegółowo pokazuje, jak taka „droga na skróty” w allow-liście sprowadza pełne przejęcie.

Podsumowanie / kluczowe wnioski

  • Luka CVE-2025-61757 w OIM jest poważna (CVSS 9.8), łatwa w nadużyciu i aktywnie wykorzystywana — traktuj ją jak incydent do natychmiastowej reakcji.
  • Nie czekaj na „okno serwisowe”: patch, segmentacja, WAF-owe reguły i łowy na IOCs już teraz.
  • Przejrzyj procesy IGA/SSO, bo kompromitacja OIM ma efekt domina w ekosystemie tożsamości.

Źródła / bibliografia

  1. CISA — alert o dodaniu do KEV i terminach łatania (21.11.2025). (CISA)
  2. Oracle — CPU October 2025 (opis luki + wersje) oraz mapowanie CVE→doradztwo. (oracle.com)
  3. Searchlight Cyber — analiza techniczna, vektory ?WSDL/; .wadl, RCE przez Groovy. (Searchlight Cyber)
  4. SANS ISC — obserwacje prób exploitacji (08.30–09.09.2025), IOCs i charakterystyka ruchu. (SANS Internet Storm Center)
  5. The Hacker News — przegląd najważniejszych faktów i statusu „aktywnie wykorzystywana”. (The Hacker News)

Sankcje USA, Wielkiej Brytanii i Australii uderzają w rosyjne „bulletproof hosting” (Media Land, Hypercore/Aeza). Co to oznacza dla obrony przed ransomware?

Wprowadzenie do problemu / definicja luki

Rządy USA, Wielkiej Brytanii i Australii ogłosiły skoordynowane sankcje wobec dostawców tzw. bulletproof hostingu (BPH) – wyspecjalizowanej infrastruktury, która świadomie toleruje nadużycia, ignoruje zgłoszenia z organów ścigania i usuwa mechanizmy egzekwowania regulaminu, by zapewnić cyberprzestępcom „bezpieczną przystań” dla C2, serwerów płatności w kryptowalutach, dropów danych czy infrastruktur DDoS. Na celowniku znalazły się m.in. Media Land (Rosja) i Hypercore Ltd. (Wielka Brytania), powiązane z wcześniej sankcjonowaną Aeza Group.


W skrócie

  • Kogo objęto sankcjami (SDN/Krajowe listy):
    Media Land LLC, ML.Cloud LLC, Media Land Technology LLC, Data Center Kirishi LLC; osoby: Aleksandr A. Volosovik (alias „Yalishanda”), Kirill A. Zatolokin, Yulia V. Pankova. Dodatkowo: Hypercore Ltd. jako „front” Aeza Group, osoby: Maksim V. Makarov, Ilya V. Zakirov.
  • Powód: wspieranie ransomware (LockBit, BlackSuit, Play, Cl0p), DDoS i innej działalności cyberprzestępczej.
  • Zakres koordynacji: wspólne działania USA–UK–AU + poradnik techniczny Five Eyes (+Niderlandy) dot. ograniczania ryzyk BPH.
  • Co to zmienia: większe ryzyko deplatformingu, „przemeblowanie” infrastruktur przestępczych i przepięcia do kolejnych AS/hostingów w krajach trzecich (np. Serbia, Uzbekistan – spółki wspierające).

Kontekst / historia / powiązania

Hypercore Ltd. została wskazana jako fasada dla Aeza Group, wobec której wcześniej zastosowano środki ograniczające. Obecnie rządy wskazują dodatkowo łańcuch podmiotów pomocniczych (np. Smart Digital Ideas DOO w Serbii i Datavice MCHJ w Uzbekistanie), które miały służyć obchodzeniu sankcji. Australia równolegle nałożyła kary finansowe i zakazy wjazdu na kluczowe osoby oraz podmioty powiązane z Media Land.


Analiza techniczna / szczegóły luki

Jak BPH wzmacnia ataki:

  • Odporność na zgłoszenia (abuse/LEA): brak reakcji na notyfikacje, przeciąganie lub ignorowanie nakazów, szybka rotacja adresacji i AS.
  • Segmentacja i „whitelabel”: klienci dostają dedykowane podsieci, tunelowanie, anycast/GeoDNS, aby utrudnić atribucję i sekwencję blokad.
  • Infrastruktury „pod kampanię”: hosting paneli C2, serwerów kradzieży danych i portali płatności, z możliwością szybkiego „mirrorowania” i fast-flux.
  • Łańcuch pośredników: firmy-słupy, resellerzy i procesory płatności w jurysdykcjach o niższej współpracy prawnej.

Wspólna publikacja techniczna (CISA/FBI + partnerzy Five Eyes i Niderlandy) zalicza BPH do dostawców, którzy „świadomie i celowo” oferują infrastrukturę cyberprzestępcom; dokument podaje konkretne wzorce TTP i czeklisty dla operatorów.

Wskazane powiązania kampanii: w materiałach rządowych Media Land/Aeza mają historię obsługi LockBit, BlackSuit, Play (oraz w komunikatach AU także Cl0p) i kampanii DDoS wymierzonych w infrastrukturę krytyczną.


Praktyczne konsekwencje / ryzyko

  • Ryzyko „przeciążenia” list blokad: nowe sankcje spowodują przepięcia infrastruktur do innych AS/hostingów (w tym „czystych”), co może przejściowo obniżyć skuteczność statycznych blokad.
  • Efekt uboczny (collateral): błędnie zaklasyfikowane adresy współdzielone z legalnymi klientami mogą trafić na denylisty – potrzebna granularność i telemetria ruchu.
  • Ekspozycja łańcucha dostaw: jeżeli Twój MSP/ISP używa trasowania przez AS powiązane z BPH, możesz nadal widzieć beaconing lub fallback C2 mimo sankcji.
  • Zwiększona presja compliance: podmioty objęte sankcjami trafiają na listy SDN/UK sanctions, co implikuje obowiązki KYC/AML i weryfikacje kontrahentów (także dla dostawców chmurowych i rejestratorów).

Rekomendacje operacyjne / co zrobić teraz

W oparciu o wspólne wytyczne (CISA/FBI/partnerzy) i komunikaty rządowe:

  1. Dynamiczne filtrowanie: wdrażaj dynamiczne listy ASN / prefiksów / IP powiązanych z BPH; utrzymuj „curated lists” i automatyczne review. Zapewnij telemetrię i logowanie zdarzeń dla ruchu dopasowanego do list.
  2. Routing security: stosuj najlepsze praktyki BGP (RPKI/ROA), BCP-38/84 i monitoruj anomalia tras do „podejrzanych” AS. (Rekomendacja wynika z poradnika – „internet routing security best practices”.)
  3. Segmentacja i egress controls: ogranicz połączenia wychodzące do dozwolonych destynacji (FQDN/JA3/SNI), wymuś proxy/TLS inspection w strefach o podwyższonym ryzyku.
  4. TI & współdzielenie: zasilaj SIEM/SOAR i IDS/IPS z wielu źródeł TI, w tym publikacji CISA/FBI (IOC/TTP), oraz dziel się obserwacjami z branżą (ISAC/CSIRT).
  5. Playbook „deplatformingu”: przygotuj runbook na nagłe „przepięcia” C2 (nowe ASN, nowe VPS w 3. krajach), z huntami DNS/HTTP-TLS i regułami detekcji beaconing-like.
  6. KYC dostawców: przeprowadź due diligence wobec rejestratorów, resellerów i mniejszych dostawców chmurowych; unikaj podmiotów bez polityk abuse i Secure-by-Design.
  7. Mapowanie zależności: zaktualizuj asset inventory i mapy egress/ingress pod kątem zależności od AS powiązanych z BPH; uruchom alerty na zmiany tras/WHOIS.

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

W odróżnieniu od poprzednich, bardziej punktowych sankcji przeciw pojedynczym operatorom, obecne działania łączą designacje z natychmiastowo dostarczonym poradnikiem technicznym (mitigacje na poziomie ISP/defenderów). Dodatkowo rządy ujawniają łańcuchy obejścia sankcji (np. Hypercore ⇄ Aeza + spółki w Serbii/Uzbekistanie), co ułatwia proaktywne blokady na poziomie AS/firm-słupów.


Podsumowanie / kluczowe wnioski

  • BPH to krytyczne „zaplecze” ekosystemu ransomware – uderzenie w infrastrukturę dostawców utrudnia monetyzację i utrzymanie C2.
  • Skuteczna obrona wymaga dynamicznej, as-levelowej kontroli ruchu i koordynacji branżowej; same, statyczne denylisty nie wystarczą.
  • Organizacje powinny operacyjnie wdrożyć zalecenia z poradnika CISA/FBI/Five Eyes w ciągu najbliższych sprintów (network, SOC, compliance).

Źródła / bibliografia

  1. U.S. Treasury (OFAC): „United States, Australia, and United Kingdom Sanction Russian Cybercrime Infrastructure Supporting Ransomware” (19 listopada 2025). (U.S. Department of the Treasury)
  2. OFAC – Recent Actions / SDN Update (19 listopada 2025) – pełna lista osób/podmiotów (Media Land, ML.Cloud, MLT, DC Kirishi; Hypercore; Makarov, Zakirov; Pankova, Zatolokin; Volosovik). (OFAC)
  3. UK FCDO: „UK smashes Russian cybercrime networks…” (19 listopada 2025). (GOV.UK)
  4. Australian Federal Police: wspólny komunikat o sankcjach (20 listopada 2025). (afp.gov.au)
  5. CISA/FBI + partnerzy (Five Eyes + NL): „Bulletproof defense: Mitigating risks from bulletproof hosting providers” – komunikat i publikacja techniczna (19 listopada 2025). (CISA)

GlobalProtect na celowniku: 2,3 mln prób dostępu do portali VPN Palo Alto w 5 dni

Wprowadzenie do problemu / definicja luki

W dniach 14–19 listopada 2025 r. odnotowano gwałtowny wzrost wrogiej aktywności wymierzonej w portale logowania Palo Alto Networks GlobalProtect. Według danych GreyNoise zarejestrowano 2,3 mln sesji trafiających w /global-protect/login.esp, co oznacza 40-krotny skok w 24 godziny i nowy szczyt z ostatnich 90 dni. Najwięcej ruchu pochodziło z AS200373 (3xK Tech GmbH), głównie geolokalizowanego w Niemczech (62%) i Kanadzie (15%), z dodatkowymi wkładami z AS208885. Celem były w szczególności USA, Meksyk i Pakistan.

O lawinowym wzroście skanów informował także serwis BleepingComputer, zestawiając najnowsze dane z wcześniejszymi pikami na tej samej powierzchni ataku.

W skrócie

  • Co się dzieje? Zautomatyzowane, masowe skanowanie i próby logowania do GlobalProtect na ścieżce /global-protect/login.esp.
  • Skala: ~2,3 mln sesji w 5 dni; 40× wzrost w 24h.
  • Infrastruktura źródłowa: dominacja AS200373, część ruchu z AS208885.
  • Ryzyko kontekstowe: w 2025 r. CVE-2025-0108 (PAN-OS) trafiło do katalogu CISA KEV jako wykorzystywane w atakach; bywało łączone z innymi błędami (np. CVE-2025-0111, CVE-2024-9474).

Kontekst / historia / powiązania

GreyNoise wcześniej raportował wzrosty skanów dotyczących GlobalProtect/PAN-OS (m.in. na początku października), wskazując, że piki rekonesansu często wyprzedzają ujawnienia nowych podatności w ekosystemie urządzeń sieciowych. Najnowszy skok z połowy listopada wpisuje się w tę sekwencję. Niezależne media branżowe odnotowały identyczne wnioski i parametry kampanii.

W lutym 2025 r. CISA dodała CVE-2025-0108 do katalogu znanych, wykorzystywanych podatności (KEV), a Palo Alto Networks potwierdziło aktywne nadużycia – co znacząco podnosi priorytet działań po stronie obrońców.

Analiza techniczna / szczegóły luki

  • Wejście atakującego: publiczny punkt /global-protect/login.esp – strona logowania GlobalProtect na firewallu Palo Alto (PAN-OS). To nie jest sama luka, ale powierzchnia ataku idealna do:
    • hurtowych prób uwierzytelnienia (credential stuffing/brute force),
    • zbierania sygnatur serwera (banery, JA4t/TLS), mapowania wersji i konfiguracji,
    • poszukiwania n-day/0-day w komponentach portalu.
  • Atrybucja infrastruktury: powtarzalne odciski TCP/JA4t, konsolidacja w AS200373 i AS208885, co sugeruje skoordynowaną kampanię jednego lub kilku powiązanych operatorów.
  • Powiązane CVE:
    • CVE-2025-0108 – obejście uwierzytelniania w PAN-OS (interfejs zarządzania); potwierdzone nadużycia & wpis w CISA KEV.
    • CVE-2025-0111authenticated file read w interfejsie zarządzania; często łączone w łańcuchach.

Uwaga: obecna fala skanów nie oznacza automatycznie wykorzystania nowej luki w login.esp, ale jest silnym wskaźnikiem wzmożonego rekonesansu pod kątem błędów i słabych haseł.

Praktyczne konsekwencje / ryzyko

  • Ryzyko natychmiastowe: przejęcie kont VPN metodami credential stuffing/spray, blokady kont, zakłócenia działania, zwiększony noise w SOC/SIEM.
  • Ryzyko pośrednie: przygotowanie gruntu pod eksploatację n-day/0-day w PAN-OS/GlobalProtect, zwłaszcza w środowiskach z ekspozycją interfejsu zarządzania lub nieaktualnymi poprawkami bezpieczeństwa (historycznie obserwowane korelacje).
  • Ryzyko strategiczne: pivot z VPN do sieci wewnętrznej, kradzież danych i ransomware po uzyskaniu dostępu. (Wniosek oparty na wzorcach kampanii wobec bram sieciowych w 2025 r.).

Rekomendacje operacyjne / co zrobić teraz

  1. Wymuś MFA odporną na phishing (FIDO2/WebAuthn) dla wszystkich dostępów VPN; wyłącz słabe formy 2FA (TOTP bez zabezpieczeń, SMS) tam, gdzie to możliwe. (Najbardziej efektywna kontra na stuffing/spray.)
  2. Geo/ASN filtering na brzegu: tymczasowo ogranicz loginy do oczekiwanych krajów/ASN; rozważ denylistę dla AS200373 i AS208885 (z zachowaniem wyjątków biznesowych).
  3. Rate-limiting i ochrona przed brute force na endpointzie /global-protect/login.esp (CAPTCHA po nieudanych próbach, progressive backoff, blokady IP).
  4. Monitoruj sygnatury JA4t/TLS wskazane przez GreyNoise w regułach NIDS/SIEM; koreluj z logami failed-auth.
  5. Aktualizacje PAN-OS / GlobalProtect: upewnij się, że środowisko ma załataną CVE-2025-0108 i pokrewne błędy – status znajduje się w advisory Palo Alto i w katalogu CISA KEV.
  6. Ogranicz ekspozycję paneli: nie wystawiaj interfejsu zarządzania PAN-OS do Internetu; jeśli to konieczne – IP allowlist/VPN administracyjny, cert-based auth. (Dobra praktyka rekomendowana przez dostawcę/branżę.)
  7. Higiena haseł i polityki kont: wymuś rotację haseł po wykryciu anomalii, włącz ochronę przed reuse, sprawdzaj przeciw bazom wycieków (np. HIBP).
  8. Dzienniki i telemetria: zbieraj i alertuj na anomalię failed-auth burst/login from new ASN/country, korelacja z WAF/NGFW.

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

  • Doświadczenia z 2025 r.: podobne skoki rekonesansu bywały prekursorem ujawnień/eksploatacji błędów w bramach sieciowych (np. wcześniejsze fale na GlobalProtect, a także głośne kampanie wobec urządzeń innych producentów). Choć wektor i vendor się różnią, wspólny mianownik to: ekspozycja usług webowych, masowe skanowanie, szybkie łańcuchowanie CVE oraz próby ukrycia śladów przez atakujących.

Podsumowanie / kluczowe wnioski

  • Obserwowany 40× wzrost i 2,3 mln sesji na /global-protect/login.esp to istotny sygnał ryzyka – nawet jeśli nie wskazuje na nowy 0-day, to potwierdza ukierunkowany rekonesans i presję na kradzież poświadczeń.
  • Organizacje korzystające z GlobalProtect powinny już teraz zaostrzyć kontrolę dostępu (MFA odporna na phishing, filtrowanie geo/ASN, rate-limits), zaktualizować PAN-OS (zwłaszcza pod kątem CVE-2025-0108 i powiązań) oraz wzmocnić monitoring.

Źródła / bibliografia

  1. GreyNoise: Palo Alto Scanning Surges 40X in 24 Hours, Marking 90-Day High (19 listopada 2025). (greynoise.io)
  2. BleepingComputer: GlobalProtect VPN portals probed with 2.3 million scan sessions (20 listopada 2025). (Bleeping Computer)
  3. Palo Alto Networks – Advisory CVE-2025-0108 (12 lutego 2025). (security.paloaltonetworks.com)
  4. CISA: Adds Two Known Exploited Vulnerabilities to Catalog – wpis dot. CVE-2025-0108 (18 lutego 2025). (CISA)
  5. The Register: Palo Alto kit sees massive surge in malicious activity (20 listopada 2025). (The Register)

7-Zip pod ostrzałem: aktywne ataki na lukę RCE via symlinki (CVE-2025-11001) — co musisz zrobić teraz

Wprowadzenie do problemu / definicja luki

NHS England Digital poinformowało o aktywnym wykorzystywaniu luki w 7-Zip oznaczonej jako CVE-2025-11001. Błąd dotyczy sposobu obsługi symbolicznych linków (symlinków) w archiwach ZIP i może prowadzić do wykonania dowolnego kodu (RCE) po stronie ofiary w określonych warunkach. Luka została naprawiona w 7-Zip 25.00 (Windows), a dodatkowe wzmocnienia mechanizmów symlinków znalazły się w 25.01. Jeśli wciąż używasz wersji < 25.00, jesteś w strefie ryzyka.


W skrócie

  • Status: aktywnie eksploatowana (potwierdzone przez NHS England Digital 18 listopada 2025 r.).
  • Wpływ: możliwość zapisania plików poza docelowym katalogiem podczas rozpakowywania ZIP (directory traversal), co w sprzyjających warunkach prowadzi do RCE.
  • Platforma: praktycznie Windows; exploit wymaga kontekstu uprzywilejowanego (np. usługa/administrator) lub trybu deweloperskiego.
  • Wersje podatne: przedział 21.02–25.00 (wg autora PoC); oficjalnie łatka w 25.00, dalsze utwardzenie w 25.01.
  • Pilne działanie: aktualizacja do 25.00+ (zalecane 25.01+) oraz wdrożenie kontroli bezpieczeństwa opisanych niżej.

Kontekst / historia / powiązania

Zgłoszenie przygotowała Trend Micro ZDI (Ryota Shiga, GMO Flatt Security, z użyciem narzędzia takumi-san.ai). Publiczny advisory ZDI pojawił się 7 października 2025 r. i wskazuje na CVE-2025-11001 (CVSS 7.0) oraz bliźniaczą CVE-2025-11002 — obie związane z obsługą symlinków w ZIP. 7-Zip 25.00 (lipiec 2025) „naprawia błędy i podatności”, a 25.01 (sierpień 2025) dodatkowo modyfikuje kod obsługi symlinków „dla większego bezpieczeństwa” przy ekstrakcji. 18 listopada 2025 r. NHS potwierdziło aktywną eksploatację CVE-2025-11001.


Analiza techniczna / szczegóły luki

Sednem problemu jest niewłaściwe traktowanie linków symbolicznych znajdujących się w archiwum ZIP. Źle przygotowany ZIP może sprawić, że proces rozpakowywania „wyjdzie” poza katalog docelowy i zapisze pliki w miejscach niezamierzonych przez użytkownika (directory traversal). W kombinacji z uruchomieniem 7-Zip w uprzywilejowanym kontekście (np. jako usługa systemowa) taki zapis może prowadzić do nadpisania plików systemowych / ścieżek wykonywalnych, a w konsekwencji do wykonania kodu podczas późniejszego startu procesu/usługi. ZDI klasyfikuje to jako RCE, choć wektor CVSS to AV:L (wymagana lokalna interakcja/wywołanie). Autor publicznego PoC potwierdza, że eksploatacja sensowna jest głównie na Windows i wymaga uprawnień administracyjnych lub kontekstu konta usługi.


Praktyczne konsekwencje / ryzyko

  • Środowiska build/deploy i stacje narzędziowe (Dev/CI/CD), gdzie 7-Zip działa z wyższymi uprawnieniami, są najbardziej narażone. Atak może nadpisać pliki binarne/skrypty uruchamiane później przez pipeline lub usługę.
  • Serwery Windows wykonujące zadania rozpakowywania z uprawnieniami usługi mogą paść ofiarą eskalacji skutków do RCE poprzez „zatruwanie” ścieżek wykonywalnych lub miejsc ładowania DLL. (Wniosek na podstawie mechaniki luki i opisu ZDI.)
  • Użytkownicy końcowi zwykle są mniej zagrożeni pełnym RCE (brak uprzywilejowanego kontekstu), ale wciąż możliwy jest zapis poza docelowym katalogiem, co stanowi naruszenie integralności i wektory dalszych ataków (np. DLL search order hijacking).

Rekomendacje operacyjne / co zrobić teraz

1) Patch natychmiast:

  • Zaktualizuj 7-Zip na wszystkich hostach do ≥ 25.00; praktycznie rekomendujemy 25.01+, gdzie dodatkowo utwardzono logikę symlinków. Zweryfikuj wersję binarnie (hash/inventory), nie tylko deklarację w MDM/CMDB.

2) Hardening i polityki:

  • Na serwerach/agentach CI zabroń uruchamiania 7-Zip z uprawnieniami admin/system, chyba że jest to absolutnie konieczne; uruchamiaj w zwykłym kontekście użytkownika. (Wniosek wynikający z wymagań exploita.)
  • Waliduj pliki ZIP pochodzące z nieufnych źródeł: rozpakowuj do tymczasowych sandboxów i weryfikuj, czy ścieżki nie wychodzą poza katalog docelowy (kontrola normalizacji ścieżek). (Zgodne z opisem mechanizmu ataku.)
  • Jeżeli automatyzujesz ekstrakcję, odrzucaj wpisy będące symlinkami lub prowadzące do ścieżek absolutnych/„..”. (Best practice wynikająca z advisory ZDI.)

3) Detekcja i reagowanie:

  • Szukaj w EDR/SIEM zdarzeń tworzenia symlinków przez procesy 7-Zip oraz zapisu poza katalogiem docelowym w krótkim oknie czasowym po rozpakowaniu ZIP. (Wniosek z opisu wektora.)
  • Koreluj uruchomienia 7zFM.exe/7z.exe w kontekście kont usług (LocalSystem, gMSA, itp.) — to czerwone flagi dla tej luki.
  • Jeśli podejrzewasz nadużycie, sprawdź ostatnie zmiany w ścieżkach autostartu, usługach i katalogach binarnych systemu (np. C:\Windows\System32, katalogi usług). (Wniosek operacyjny zgodny z profilem ataku.)

4) Ograniczenie wektora:

  • Tam, gdzie to możliwe, zastąp wrażliwe zadania rozpakowywania mechanizmem, który ignoruje symlinki lub rozwiązuje je wyłącznie w bezpiecznym jailu (chroot-like/temp). (Dobór kontrolny wynikający z natury podatności.)

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

Istnieje pokrewna podatność CVE-2025-11002 (również CVSS 7.0), która dotyczy tej samej klasy problemów (symlinki w ZIP) i została naprawiona w tym samym wydaniu 7-Zip (25.00). W praktyce program naprawczy jest identyczny: przejście na 25.00+ i stosowanie dobrych praktyk z tej publikacji.


Podsumowanie / kluczowe wnioski

  • CVE-2025-11001 jest w aktywnych kampaniach. Zaktualizuj do 7-Zip 25.01+ i unikać uruchamiania 7-Zip z uprawnieniami admin/usługi.
  • Wektor to symlinki w ZIP + traversal. Największe ryzyko dotyczy środowisk, gdzie 7-Zip działa uprzywilejowanie lub w pipeline’ach automatyzacji.
  • Detekcja: logi tworzenia symlinków, zapisy poza katalogiem docelowym, użycie 7-Zip przez konta usług. Reakcja: weryfikacja krytycznych ścieżek i autostartów. (Wnioski operacyjne spójne z treścią advisory i PoC.)

Źródła / bibliografia

  1. NHS England Digital — Active Exploitation Reported for CVE-2025-11001 in 7-Zip (18 listopada 2025) — potwierdzenie aktywnej eksploatacji i zalecenia. (NHS England Digital)
  2. Trend Micro Zero Day Initiative — ZDI-25-949 / CVE-2025-11001 — opis luki, CVSS, timeline, „fixed in 25.00”. (zerodayinitiative.com)
  3. Trend Micro Zero Day Initiative — ZDI-25-950 / CVE-2025-11002 — podatność pokrewna, ten sam mechanizm i naprawa. (zerodayinitiative.com)
  4. 7-Zip — history.txt — wpisy dla 25.00 (lipiec 2025) i 25.01 (sierpień 2025) wskazujące poprawki i zaostrzenie obsługi symlinków. (7-zip.org)
  5. GitHub (pacbypass) — CVE-2025-11001 PoC — uwagi o wymogach exploita (Windows, kontekst admin/usługi) i zakres wersji podatnych 21.02–25.00. (GitHub)

CVE-2019-3396 — Atlassian Confluence “Widget Connector” RCE

TL;DR

W Atlassian Confluence (Server/Data Center) luka CVE‑2019‑3396 w makrze Widget Connector pozwala zdalnemu, nieuwierzytelnionemu napastnikowi na RCE poprzez Server‑Side Template Injection (Velocity) i path traversal. W praktyce ataki często uderzają w endpoint /rest/tinymce/1/macro/preview i prowadzą do dropu web‑shella i uruchamiania powłoki systemowej przez proces Javy/Tomcata. Mitygacja: natychmiastowy upgrade do wersji naprawczych (≥ 6.6.12, 6.12.3, 6.13.3, 6.14.2 lub nowsze), ewentualnie tymczasowe wyłączenie wtyczki Widget Connector; Confluence Cloud nie jest podatny. Mapowanie do ATT&CK: przede wszystkim T1190, a dalej typowo T1059 (Interpreter poleceń) i T1505.003 (Web shell).


Krótka definicja techniczna

CVE‑2019‑3396 to błąd w komponencie Widget Connector Confluence powodujący server‑side template injection (Velocity Template), umożliwiający path traversal i ostatecznie zdalne wykonanie kodu (RCE) bez uwierzytelnienia. Błąd dotyczy wersji Server/Data Center poniżej wydań naprawczych; Confluence Cloud nie jest narażony.


Gdzie występuje / przykłady platform

  • Linux/Windows: Confluence Server/Data Center hostowany na Tomcat/Java (instalacje on‑prem/VM/bare‑metal).
  • Reverse proxy/WAF: NGINX/Apache/ALB/WAF przed Confluence — logi tych warstw są kluczowe do detekcji. [Źródła ogólne — patrz sekcja 6/7]
  • Kubernetes/K8s/ESXi: Confluence wdrożone w kontenerze/na VM (artefakty w logach kontenerów i audycie K8s). [Źródła ogólne — patrz sekcja 6/12]
  • Chmury (AWS/Azure/GCP): Same API chmurowe nie są wektorem tej luki, ale logi ALB/WAF/Front Door pomagają identyfikować próby eksploatacji. [Źródła ogólne — patrz sekcja 7]

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

Błąd znajduje się w makrze Widget Connector odpowiedzialnym za osadzanie treści (np. wideo) na stronach Confluence. Przez niewłaściwą walidację parametrów napastnik może wstrzyknąć szablon Velocity i/lub skorzystać z path traversal do wczytania niezamierzonych plików szablonów, co kończy się wykonaniem arbitralnego kodu w kontekście procesu Confluence (Java/Tomcat). Typowy wektor żądań obserwowany był na endpointzie /rest/tinymce/1/macro/preview (metoda POST) z nietypowymi polami (np. _template) — legalne użycie nie powinno ich zawierać. Po skutecznej eksploatacji napastnicy często zrzucają web‑shelle i uruchamiają powłokę systemową, a następnie pobierają narzędzia (T1105) i przechodzą do ruchów bocznych. Zależnie od środowiska obserwuje się kampanie z ransomware (np. GandCrab) i kryptominery po udanym RCE, a także wykorzystanie przez grupy APT (np. APT41).

Wersje i statusy: Atlassian wydał łatki 20 marca 2019 r. (m.in. 6.6.12, 6.12.3, 6.13.3, 6.14.2). Confluence Cloud nie jest podatny. Jako obejście do czasu aktualizacji zalecano wyłączenie Widget Connector (oraz WebDAV dla innej luki CVE‑2019‑3395).


Artefakty i logi

ŹródłoCo szukaćPrzykładowe pola / EIDUwaga
HTTP reverse proxy / web server (NGINX/Apache/ALB/WAF)POST do */rest/tinymce/1/macro/preview*; obecność "_template" lub wzorca traversal ../, nagły wzrost 4xx/5xxcs-method, cs-uri-stem, request, http.request.body.content, statusW wielu raportach ten endpoint pojawiał się w eksploatacji.
Confluence/TomcatW atlassian-confluence.log/catalina.out: błędy Velocity, stacktrace’y, nietypowe wyjątki w momencie żądańTekst surowyKoreluj z czasem żądań HTTP.
WindowsProcesy potomne od java.exe/usługi Confluence: cmd.exe, powershell.exe, narzędzia siecioweSecurity 4688, Sysmon 1/3/11Spawn powłoki spod Javy jest anomalią dla Confluence.
Linuxjava/bin/bash//bin/sh/curl/wget/nc; nowo utworzone pliki w katalogu aplikacji/WEB-INFauditd: type=EXECVE, Sysmon‑for‑Linux EID 1/3/11Sprawdzaj użytkownika usługi (np. confluence).
K8s audit (jeśli Confluence w kontenerze)verb: create/get na pods/exec; podejrzane kubectl exec do podów z Confluencekubernetes.audit.verb, objectRef.subresource=="exec"Polityka audytu K8s rejestruje pods/exec (GET/CREATE).
AWS WAF/ALB (CloudWatch Logs)Wzorce żądań jak wyżejrequestUri, httpRequest.uriCloudTrail tu nie pomoże — to ruch L7, nie API.
M365[nie dotyczy]Brak bezpośrednich artefaktów.
CISA/NSA/CTIWzmianki o kampaniach, IOCWskazywane jako powszechnie eksploatowane.

Detekcja (praktyczne reguły)

Sigma — próba eksploatacji w logach HTTP (web/proxy)

title: Confluence CVE-2019-3396 Macro Preview Exploit Attempt
id: 1e2a2c9a-2b3d-4c4d-9d66-3396cve-http
status: experimental
description: Wykrywa podejrzane POST do /rest/tinymce/1/macro/preview z parametrem _template i traversal.
logsource:
  category: webserver
detection:
  sel_path:
    cs-uri-stem|contains: "/rest/tinymce/1/macro/preview"
  sel_method:
    cs-method: POST
  sel_body_a:
    request|contains: "_template"
  sel_body_b:
    request|contains:
      - "../"
      - "web.xml"
      - ".vm"
  condition: sel_path and sel_method and sel_body_a and sel_body_b
fields:
  - src_ip
  - dest_ip
  - user_agent
  - cs-uri-stem
  - request
falsepositives:
  - Bardzo mało prawdopodobne (parametr _template nie jest używany w legalnym ruchu).
level: high
tags:
  - attack.T1190

(wzorzec oparty o publiczne opisy wektora żądań i szablonu skanera; dopasowania do _template i traversal minimalizują FP).

Sigma — potomne procesy spod Confluence (Windows+Linux)

title: Confluence Spawns Shell/LOLBins (Post-Exploitation)
id: 84a3b92d-7f6f-42a1-bdb6-confluence-child-proc
status: experimental
logsource:
  category: process_creation
detection:
  parent_java:
    ParentImage|endswith:
      - '\java.exe'
      - '\tomcat*.exe'
    ParentCommandLine|contains:
      - 'atlassian-confluence'
  child_shells:
    Image|endswith:
      - '\cmd.exe'
      - '\powershell.exe'
      - '/bash'
      - '/sh'
      - '/curl'
      - '/wget'
      - '/nc'
  condition: parent_java and child_shells
level: high
tags:
  - attack.T1059
  - attack.T1505.003
fields: [Image, ParentImage, CommandLine, ParentCommandLine, User, Hostname]

Splunk (SPL) — warstwa HTTP

(index=proxy OR index=web OR sourcetype=aws:alb:accesslogs OR sourcetype=nginx OR sourcetype=apache)
"POST" "/rest/tinymce/1/macro/preview"
| search _raw="*_template*" (_raw="*../*" OR _raw="*web.xml*" OR _raw="*.vm*")
| stats count by src_ip, uri_path, user_agent, status
| where count > 1

Splunk (SPL) — potomne procesy spod Javy/Tomcata

index=sysmon (EventCode=1 OR EventCode=4688)
(ParentImage="*\\java.exe" OR ParentCommandLine="*atlassian-confluence*")
(Image="*\\cmd.exe" OR Image="*\\powershell.exe" OR Image="*/bash" OR Image="*/sh" OR Image="*/curl" OR Image="*/wget" OR Image="*/nc")
| table _time host User ParentImage Image CommandLine ParentCommandLine

KQL — Microsoft Defender for Endpoint (procesy)

DeviceProcessEvents
| where (InitiatingProcessFileName =~ "java.exe" or InitiatingProcessCommandLine has "atlassian-confluence")
| where FileName in~ ("cmd.exe","powershell.exe","bash","sh","curl","wget","nc")
| project Timestamp, DeviceName, InitiatingProcessFileName, FileName, ProcessCommandLine, InitiatingProcessCommandLine, AccountName

KQL — Azure Application Gateway WAF / Front Door (HTTP)

AzureDiagnostics
| where Category in ("ApplicationGatewayFirewallLog","FrontDoorAccessLog")
| where requestUri_s has "/rest/tinymce/1/macro/preview"
| where requestUri_s has "_template" and (requestUri_s has "../" or requestUri_s has "web.xml" or requestUri_s has ".vm")
| project TimeGenerated, clientIp_s, requestUri_s, httpStatus_d, userAgent_s

AWS — CloudWatch Logs Insights (ALB/WAF; CloudTrail nie dotyczy tej luki)

fields @timestamp, @message
| filter @message like /POST \\/rest\\/tinymce\\/1\\/macro\\/preview/
| filter @message like /_template/ and (@message like /\\.\\.\// or @message like /web\\.xml/ or @message like /\\.vm/)
| sort @timestamp desc

Elastic / EQL — procesy

process where
  process.parent.executable : ("*java*", "*tomcat*")
  and process.name : ("cmd.exe","powershell.exe","bash","sh","curl","wget","nc")

Heurystyki / korelacje (co łączyć)

  • Korelacja czasowa: (1) POST do …/macro/preview z _template±30 s → (2) java/Tomcat spawnuje powłokę/LOLBIN → (3) wywołania sieciowe z hosta Confluence (curl/wget/nc).
  • Ścieżki i rozszerzenia: nowo utworzone pliki .jsp, .jspx, .vm, nietypowe w katalogach Confluence/WEB-INF/attachments.
  • Anomalie HTTP: wzrost 4xx/5xx dla /rest/tinymce/1/macro/preview, nietypowe UA, brak CSRF‑tokenów, nienaturalna objętość POST.
  • K8s: zdarzenia pods/exec na podzie z Confluence w oknie ±5 min od wzorca HTTP.

False positives / tuning

  • Legalne podglądy makr nie używają parametru _template; warunek obecności _template + ../ znacząco ogranicza FP.
  • Zdarza się, że administracja/backup tworzy procesy potomne (skrypty konserwacyjne) — whitelista po ścieżkach, podpisie, hashach i planach crona.
  • Ustal baseline dla ruchu do endpointu /rest/tinymce/1/macro/preview (kto edytuje strony, kiedy), a alertuj odchylone UA/IP/ASN.

Playbook reagowania (kroki + komendy)

Triage & izolacja

  1. Odłącz Confluence od Internetu/DMZ (lub włącz tryb tylko‑do‑odczytu, jeśli to jedyna wiedza bazowa).
  2. Zbierz logi: reverse proxy, atlassian-confluence.log, catalina.out, systemowe, WAF/ALB.

Szybkie sprawdzenia na hoście (bezpieczne polecenia administracyjne):

  • Linux # proces + drzewo ps -ef | egrep 'confluence|tomcat|java' pstree -ap | egrep 'java|tomcat' # ostatnie podejrzane pliki w instalacji i HOME Confluence find /opt/atlassian /var/atlassian -type f -mmin -60 -printf "%TY-%Tm-%Td %TH:%TM %p\n" | sort # ślady ruchu wychodzącego z procesu java sudo lsof -nP -p "$(pgrep -f 'atlassian|confluence|tomcat|java' | tr '\n' ',')" | egrep 'TCP|UDP' # grep wzorca endpointu w logach grep -R "/rest/tinymce/1/macro/preview" /opt/atlassian/confluence/logs /var/log/nginx 2>/dev/null
  • Windows (PowerShell jako Administrator) Get-Process java,Tomcat* -IncludeUserName Get-WinEvent -LogName "Microsoft-Windows-Sysmon/Operational" | Where-Object { $_.Id -eq 1 -and $_.Message -match "java.exe" -and $_.Message -match "(cmd.exe|powershell.exe)" } | Select-Object TimeCreated, Id, Message Get-ChildItem "C:\Program Files\Atlassian\Confluence\" -Recurse | Where-Object { $_.LastWriteTime -gt (Get-Date).AddDays(-1) }

Eradykacja i przywracanie

  • Aktualizacja Confluence do wersji naprawczych; jeżeli to niemożliwe, wyłącz plugin Widget Connector jako obejście (tymczasowe).
  • Przeskanuj pod kątem web‑shelli, skryptów .jsp/.jspx/.vm, sprawdź sumy kontrolne binariów.
  • Rotacja haseł i sekretów używanych na serwerze aplikacyjnym, w tym integracji (LDAP/DB).
  • Ocena lateral movement (kontrolery domeny, serwery plików, jump‑hosty).

Przykłady z kampanii / case studies

  • Ransomware GandCrab — obserwowano drop ransomware po eksploatacji CVE‑2019‑3396.
  • Kryptominery z rootkitem — Trend Micro opisało łańcuch: CVE‑2019‑3396 → kryptominer + rootkit.
  • Wykorzystanie przez aktorów APT — APT41 wymieniany w kontekście tego CVE i techniki T1190.
  • Ujęcie rządowe — CISA/NSA klasyfikowały CVE‑2019‑3396 jako powszechnie eksploatowaną lukę; zalecenia wykrywania web‑shelli.

Lab (bezpieczne testy) — przykładowe komendy

Cel: Walidacja reguł detekcyjnych bez atakowania podatnych systemów.

  1. Test pipeline’u logów HTTP
    • Na serwerze testowym (np. lokalny NGINX, nie Confluence) wygeneruj sztuczne wpisy zawierające wzorzec: logger 'POST /rest/tinymce/1/macro/preview HTTP/1.1 ... {"_template":"../web.xml"}'
    • Upewnij się, że Twoje źródło logów (Filebeat/Fluentd/Splunk UF) przesyła to do SIEM.
    • Sprawdź, czy reguła Sigma/Splunk/KQL podnosi alert (FP=0).
  2. Test korelacji hostowej
    • Na hoście testowym uruchom „fałszywy” łańcuch procesów: # symulacja: java (rodzic) -> bash (dziecko) (sleep 5; /bin/bash -c 'echo test') & (lub uruchom minimalny proces Java, który spawnuje bash, tylko w środowisku labowym; celem jest sprawdzenie, czy korelacja Parent=java → Child=shell działa).
    • Zweryfikuj, że reguła procesowa łapie zdarzenie.

Mapowania (Mitigations, powiązane techniki)

Mitigations (ATT&CK):

  • M1051 — Update Software (regularne patchowanie aplikacji webowych).
  • M1048 — Application Isolation and Sandboxing (izolacja procesów serwera www/aplikacji).
  • M1037 — Filter Network Traffic / M1030 — Network Segmentation (DMZ dla serwerów publicznych, WAF).
  • M1016 — Vulnerability Scanning (ciągłe skanowanie i zarządzanie podatnościami).

Powiązane techniki ATT&CK:

  • T1190 — Exploit Public‑Facing Application (wektor wejściowy dla CVE‑2019‑3396).
  • T1059.003/.004 — Command & Scripting Interpreter (Windows/Unix Shell) — powłoka po RCE.
  • T1505.003 — Web Shell — utrwalenie i sterowanie przez web‑shell.
  • T1105 — Ingress Tool Transfer — pobieranie narzędzi po udanym RCE.

Źródła / dalsza literatura


Checklisty dla SOC / CISO

SOC (operacyjne)

  • Alerty na POST do …/macro/preview + _template + ../ (HTTP).
  • Korelacja: HTTP → java/tomcat spawnuje cmd/bash w ≤60 s.
  • Polowanie na web‑shelle (*.jsp, *.jspx, *.vm) w katalogach Confluence/WEB-INF.
  • Monitoring ruchu wychodzącego z hosta Confluence (curl/wget/nc/certutil).
  • K8s: alerty na pods/exec do podów z Confluence.

CISO / właściciel usługi

  • Patch: utrzymuj Confluence na wersji ≥ 6.6.12/6.12.3/6.13.3/6.14.2/6.15.x+.
  • WAF/segregacja: DMZ, WAF reguły dla macro/preview, rate‑limit.
  • Zarządzanie podatnościami: regularne skany, SLA na krytyczne poprawki.
  • Hardening: uruchamiaj Confluence z kontem o najmniejszych uprawnieniach, bez powłoki logowania.
  • IR readiness: gotowe playbooki i kopie zapasowe, rotacja sekretów po incydencie.

CVE-2015-5122 — Adobe Flash Player UAF (opaqueBackground)

TL;DR

CVE‑2015‑5122 to krytyczna luka use‑after‑free w Adobe Flash Player (klasa DisplayObject/właściwość opaqueBackground), aktywnie wykorzystywana w 2015 r. m.in. przez zestawy exploitów (Angler, RIG, Neutrino) i kampanie watering‑hole. Daje zdalne wykonanie kodu po wizycie na złośliwej lub skompromitowanej stronie (łańcuch T1189 → T1203), typowo kończąc się uruchomieniem interpretera skryptów/LOLBin z procesu przeglądarki. Dziś Flash jest EOL i globalnie blokowany, ale detekcje nadal mają wartość do wykrywania analogicznych łańcuchów klient‑strona. Patch dla Flash: 18.0.0.209 (APSB15‑18).


Krótka definicja techniczna

CVE‑2015‑5122 to błąd Use‑After‑Free (CWE‑416) w implementacji ActionScript 3 (AS3) Adobe Flash Player, który przy specjalnie spreparowanej zawartości SWF prowadzi do korupcji pamięci i zdalnego wykonania kodu bez interakcji użytkownika poza odwiedzeniem strony. Dotyczy wersji 13.x–18.0.0.203 (Windows/macOS), 11.x–11.2.202.481 (Linux) i Chrome‑Linux do 18.0.0.204; podatność była wykorzystywana w naturze w lipcu 2015 r. (CVSS v3.1: 9.8).


Gdzie występuje / przykłady platform

  • Windows / macOS / Linux (endpointy z przeglądarkami) — wektorem jest załadowanie wtyczki Flash (PPAPI/NPAPI/ActiveX) i wykonanie SWF z exploitami; historycznie obserwowano ładowanie modułów pepflashplayer.dll, NPSWF*.dll, procesy pokrewne (np. plugin‑container.exe / FlashPlayerPlugin_.exe).
  • Active Directory / VDI — ryzyko lateralne, jeśli stacje domenowe/VDI mają przestarzały Flash.
  • Chmury (AWS/Azure/GCP), K8s, ESXi, M365 — sama podatność dotyczy klienta, ale artefakty sieciowe (pobrania .swf z S3/CloudFront) mogą być widoczne w telemetrych chmurowych organizacji hostującej treści.
  • Stan obecny — Adobe zakończyło wsparcie z końcem 2020 r. i blokuje uruchamianie Flash od 12 stycznia 2021 r., lecz „zombie‑instalacje” mogą nadal istnieć w niszach środowisk.

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

Atakujący dostarcza spreparowany plik SWF, który po załadowaniu przez wtyczkę Flash wyzwala UAF w obsłudze opaqueBackground w klasie DisplayObject. Stage shellcode/ROP przejmuje kontrolę w procesie wtyczki/przeglądarki i uruchamia trwały stage‑2 (np. interpreter skryptów lub „LOLBin”), często po cichu ściągając ładunek. W 2015 r. CVE‑2015‑5122 błyskawicznie trafił do zestawów exploitów (Angler, RIG, Neutrino, Magnitude) i był użyty w watering‑hole przeciw firmie z sektora lotniczego — właśnie dlatego technika była wyjątkowo skuteczna w łańcuchach malvertising i „wejdź‑i‑zainfekuj”.

Łańcuch ATT&CK (częsty):
T1189 (Drive‑by) → T1203 (Exploitation for Client Execution) → uruchomienie interpretera/LOLBin (np. powershell.exe, mshta.exe, rundll32.exe) → T1105 (Ingress Tool Transfer)/C2. (Wzorzec zgodny z analitykami/detection strategies MITRE v18).

Łatanie i reakcje ekosystemu (2015): Adobe wydało poprawkę APSB15‑18 podnosząc Flash do 18.0.0.209 (i 13.0.0.305). Mozilla tymczasowo „soft‑blockowała” wersje do 18.0.0.203.


Artefakty i logi

ŹródłoArtefakt / zdarzenieWartość dla detekcji
Windows SysmonEID 1 Process Create – dziecko powershell.exe, wscript.exe, mshta.exe, rundll32.exe, regsvr32.exe, cmd.exe, msiexec.exe uruchomione przez chrome.exe/msedge.exe/iexplore.exe/firefox.exe/plugin-container.exe/FlashPlayerPlugin_*.exeSilny sygnał post‑eksploitacyjny (client → OS).
EID 3 Network Connection – po podejrzanym procesie (C2/transfer)Korelacja czasowa po EID 1.
EID 7 Image Loaded – załadowanie pepflashplayer.dll / NPSWF*.dllKontekst historyczny (Flash w systemie).
EID 11 FileCreate – drop w %TEMP%/%APPDATA% (EXE/DLL/SCT/VBS)Artefakt płatka.
EID 22 DNS Query – zapytania do rzadkich domen chwilę po wizycie WWWCzęsty sygnał EK/C2.
Windows Security4688 Process CreationAlternatywa gdy brak Sysmon.
Przeglądarka/OSCrash/WER Event 1001 po błędzie wtyczkiUAF bywa poprzedzony niestabilnością.
Proxy/DNS/NGFWŻądania *.swf, nietypowe przekierowania, malvertisingKontekst T1189.
AWS CloudTrail (Data events/S3)GetObject na kluczach *.swf z publicznych bucketów (gdy Twoja organizacja hostuje treści)Do skanów higieny/ekspozycji.
K8s audit / M365[nie dotyczy]Luka dotyczy klienta, nie kontrol‑plane/SaaS.

Detekcja (praktyczne reguły)

Sigma (Windows / process_creation)

title: Browser/Flash Spawning Script Interpreters Or LOLBins
id: 4d9b8f83-7c2b-45b1-9e4b-ffb1b7b31012
status: stable
description: Wykrywa uruchomienie interpreterów/LOLBinów jako dziecka procesu przeglądarki/wtyczki Flash (łańcuch po T1203/CVE-2015-5122).
author: Badacz CVE
logsource:
  category: process_creation
  product: windows
detection:
  parent_browsers:
    ParentImage|endswith:
      - '\chrome.exe'
      - '\msedge.exe'
      - '\iexplore.exe'
      - '\firefox.exe'
      - '\plugin-container.exe'
      - '\FlashPlayerPlugin_32.exe'
      - '\FlashPlayerPlugin_64.exe'
  suspicious_children:
    Image|endswith:
      - '\powershell.exe'
      - '\wscript.exe'
      - '\cscript.exe'
      - '\mshta.exe'
      - '\rundll32.exe'
      - '\regsvr32.exe'
      - '\cmd.exe'
      - '\bitsadmin.exe'
      - '\certutil.exe'
      - '\msiexec.exe'
  condition: parent_browsers and suspicious_children
fields:
  - User
  - CommandLine
  - ParentCommandLine
  - Image
  - ParentImage
  - ProcessGuid
  - ParentProcessGuid
falsepositives:
  - Aktualizacje/instalatory uruchamiane z przeglądarki przez użytkownika
level: high
tags:
  - attack.t1203
  - attack.t1189

Splunk (Sysmon)

index=sysmon sourcetype="XmlWinEventLog:Microsoft-Windows-Sysmon/Operational" EventCode=1
| eval parent=lower(coalesce(ParentImage,ParentProcessName)), child=lower(Image)
| where like(parent,"%\\chrome.exe") OR like(parent,"%\\msedge.exe") OR like(parent,"%\\iexplore.exe")
  OR like(parent,"%\\firefox.exe") OR like(parent,"%\\plugin-container.exe") OR like(parent,"%\\flashplayerplugin%")
| where child like("%\\powershell.exe") OR child like("%\\wscript.exe") OR child like("%\\cscript.exe")
  OR child like("%\\mshta.exe") OR child like("%\\rundll32.exe") OR child like("%\\regsvr32.exe")
  OR child like("%\\cmd.exe") OR child like("%\\bitsadmin.exe") OR child like("%\\certutil.exe") OR child like("%\\msiexec.exe")
| stats count min(_time) as first_seen max(_time) as last_seen values(CommandLine) as child_cmd by host, user, parent, child, ParentCommandLine, ProcessGuid, ParentProcessGuid
| convert ctime(first_seen) ctime(last_seen)

KQL (Microsoft Defender for Endpoint / Sentinel)

DeviceProcessEvents
| where Timestamp > ago(14d)
| where InitiatingProcessFileName in~ ("chrome.exe","msedge.exe","iexplore.exe","firefox.exe","plugin-container.exe",
                                      "FlashPlayerPlugin_32.exe","FlashPlayerPlugin_64.exe")
| where FileName in~ ("powershell.exe","wscript.exe","cscript.exe","mshta.exe","rundll32.exe",
                      "regsvr32.exe","cmd.exe","bitsadmin.exe","certutil.exe","msiexec.exe")
| summarize cnt=count(), first=min(Timestamp), last=max(Timestamp),
            make_set(ProcessCommandLine), make_set(InitiatingProcessCommandLine)
          by DeviceName, AccountName, FileName, InitiatingProcessFileName

CloudTrail (S3 data events, higiena własnych zasobów)

Szuka pobrań plików .swf z Twoich bucketów (kontrola ekspozycji/legacy).

fields @timestamp, eventName, requestParameters.bucketName as bucket, requestParameters.key as key, sourceIPAddress, userAgent
| filter eventSource = "s3.amazonaws.com" and eventName = "GetObject"
| filter key like /(?i)\.swf$/
| sort @timestamp desc

Elastic / EQL

process where
  process.parent.name in ("chrome.exe","msedge.exe","iexplore.exe","firefox.exe","plugin-container.exe",
                          "FlashPlayerPlugin_32.exe","FlashPlayerPlugin_64.exe") and
  process.name in ("powershell.exe","wscript.exe","cscript.exe","mshta.exe","rundll32.exe",
                   "regsvr32.exe","cmd.exe","bitsadmin.exe","certutil.exe","msiexec.exe")

Heurystyki / korelacje (co łączyć)

  • Krótki łańcuch czasowy: wizytę WWW (proxy/DNS) → child process z przeglądarki → ruch wychodzący/C2 → drop w %TEMP%. (Wzorzec MITRE Detection Strategies dla technik klienckich).
  • Rzadkie moduły: ładowanie starych bibliotek Flash (NPSWF*, pepflashplayer.dll) na hostach, gdzie Flash nie powinien istnieć.
  • Domeny jednorazowe/malvertising: przekierowania, iFrame, 302‑cushioning — znane z EK (Angler).
  • WER/crashe po wtyczce tuż przed spawnem interpretera.

False positives / tuning

  • Instalacje/aktualizacje uruchamiane z przeglądarki (np. msiexec.exe po pobraniu legalnego instalatora).
  • Skrypty administracyjne wywoływane z web‑portali korporacyjnych (Self‑Service).
  • Tuning: zawęź do parent=browser/plugin + dziecko z listy + CommandLine z wzorcami web‑download (http, -enc, -w hidden, urlmon, bitsadmin, certutil -urlcache -split) i korelacja DNS/proxy w ±2 min.

Playbook reagowania (IR)

  1. Triage & izolacja hosta (EDR network containment).
  2. Zabezpieczenie artefaktów:
    • Zrzut pamięci podejrzanych procesów (przeglądarka/child).
    • Logi: Sysmon 1/3/11/22, WER 1001, proxy/DNS; Prefetch dla child.
  3. Szybkie IOC sweep: domeny/URL z proxy, hash dropu, ścieżki %TEMP%/%APPDATA%.
  4. Eradykacja: usuń pozostałości, zablokuj domeny/IP, wymuś aktualizację przeglądarek, odinstaluj Flash (jeśli gdzieś jeszcze jest). Adobe blokuje uruchamianie od 12.01.2021 — resztki usunąć.
  5. Higiena systemowa: ASR/EDR polityki block browser child, blokada wykonywania w %TEMP%.
  6. Post‑incident: przegląd polityk web (bloki *.swf), inwentaryzacja legacy.

Przykłady z kampanii / case studies

  • Watering‑hole na firmę lotniczą (lipiec 2015): strona ofiary serwowała exploit na CVE‑2015‑5122; po eksploatacji instalowano backdoor IsSpace.
  • Exploit‑kity (2015): 0‑day z wycieku Hacking Team trafił błyskawicznie do Angler/Neutrino/RIG/Magnitude (malvertising, przekierowania).
  • Reakcje vendorów: aktualizacja Adobe APSB15‑18 (18.0.0.209); Mozilla czasowo blokowała starsze wersje; CISA dodała CVE‑2015‑5122 do KEV.

Lab (bezpieczne testy) — przykładowe komendy

Wyłącznie w odseparowanym labie. Nie używamy prawdziwych exploitów. Celem jest walidacja detekcji łańcucha browser → child → network.

A. Szybki test detekcji (Windows)

  1. Otwórz przeglądarkę (np. Edge/Chrome), zostaw aktywne okno.
  2. W drugim oknie PowerShell uruchom „symulację dziecka” (bez złośliwości):
Start-Process -FilePath "powershell.exe" -ArgumentList "-NoLogo -NoProfile -Command whoami" -WindowStyle Hidden
Start-Process -FilePath "rundll32.exe" -ArgumentList "shell32.dll,Control_RunDLL" -WindowStyle Hidden

Ten test nie odtworzy rodzica=browser, ale pozwala przetestować parsowanie pól i konfigurację korelacji w SIEM/EDR (warunki z sekcji 7). Następnie tymczasowo wyświetl alerty „wszędzie”, aby potwierdzić, że reguły działają i dociśnij tuning do parent=browser.

B. Atomic Red Team — technika pokrewna (User Execution)
Zainstaluj Invoke-AtomicRedTeam i wykonaj bezpieczne atomiki dla T1204 (np. testy link/pliku nie ściągające malware) — cel: zobaczyć eventy procesowe i dopracować korelacje.

Set-ExecutionPolicy Bypass -Scope Process -Force
iwr https://raw.githubusercontent.com/redcanaryco/invoke-atomicredteam/master/install.ps1 | iex
Invoke-AtomicTest T1204.002 -ShowDetails -PromptForInputArgs

Dokumentacja i repozytoria: Atomic Red Team, Invoke-AtomicRedTeam.

C. Higiena legacy — skan resztek Flash
Sprawdź, czy na hostach nie ma katalogów C:\Windows\SysWOW64\Macromed\Flash\ lub starych OCX/DLL i usuń/wycofaj — Flash jest EOL i blokowany.


Mapowania (Mitigations, powiązane techniki)

Mitigations (MITRE):

  • M1051 — Update Software (patch management przeglądarek/wtyczek; historycznie APSB15‑18).
  • M1040 — Behavior Prevention on Endpoint (ASR/EDR: blok browser‑child).
  • M1031 — Network Intrusion Prevention (IDS/IPS/secure web gateway; blokowanie *.swf, wykrywanie przekierowań/ek).
  • M1017 — User Training (świadomość soc‑eng/malvertising).

Powiązane techniki ATT&CK:

  • T1189 Drive‑by Compromise (malvertising, iFrame, redirect).
  • T1204.001/002 User Execution: Malicious Link/File.
  • T1105 Ingress Tool Transfer (pobranie ładunku po eksploatacji). (strona referencyjna ogólna)

Źródła / dalsza literatura

  1. NVD — opis CVE‑2015‑5122 (CWE‑416, zakres wersji, CVSS, „exploited in the wild”). (NVD)
  2. CERT/CC VU#338736 — opaqueBackground UAF, APSB15‑18, wersja naprawcza 18.0.0.209. (kb.cert.org)
  3. CISA KEV — wpis dla CVE‑2015‑5122. (NVD)
  4. MITRE ATT&CK T1203 / T1189 / T1204.* (opisy technik i detekcje). (MITRE ATT&CK)
  5. Palo Alto Networks Unit 42 — watering‑hole na aerospace z wykorzystaniem CVE‑2015‑5122. (Unit 42)
  6. Malwarebytes (J. Segura) — EK (Angler/RIG/Neutrino/Magnitude) przyjmują 0‑day Flash. (Malwarebytes)
  7. Keysight/analiza Angler EK — techniki przekierowań (302 cushioning, domain shadowing). (Keysight)
  8. Adobe — EOL/blokada Flash od 12.01.2021. (Adobe)
  9. Mozilla — blokowanie starych wersji Flash (soft‑block). (Mozilla Support)
  10. Trend Micro — podsumowanie EK w 2015 r. (dominacja Flash, malvertising). (www.trendmicro.com)
  11. ATT&CK v18 — info o wersji/aktualizacjach. (MITRE ATT&CK)

Checklisty dla SOC / CISO

SOC (operacyjne):

  • Reguły z sekcji 7 wdrożone (Sigma/SPL/KQL/EQL) + korelacja proxy/DNS ±2 min.
  • Alarm „browser → child (interpreter/LOLBin)” = high + auto‑contain host.
  • Widoczność na WER/crashe pluginów i file drops w %TEMP%.
  • Blokowanie *.swf i legacy MIME w web‑gateway/NGFW.
  • Threat hunt: hosty z pepflashplayer.dll / NPSWF*.dll.

CISO (strategiczne):

  • Politycznie zabroniony Flash (potwierdzona deinstalacja; EOL).
  • ASR/EDR: „Block Office/Browser child process” i „Block executable content from email/web.”
  • Patch management (M1051) — gwarancja aktualnych przeglądarek; legacy wycofane.
  • Program szkoleń użytkowników (malvertising, „click‑to‑play” historia).

Uwagi końcowe

Flash Player jest wyłączony i blokowany przez Adobe — jakiekolwiek pozostałości należy usuwać. Dzisiejsza wartość detekcyjna polega na rozpoznawaniu wzorca zachowań klient‑strona, który pozostaje aktualny dla nowych błędów RCE w przeglądarkach/wtyczkach.