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

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.

CVE‑2015‑1641 (Microsoft Office Memory Corruption w RTF) — zdalne wykonanie kodu po otwarciu spreparowanego dokumentu

TL;DR

CVE‑2015‑1641 to błąd obsługi RTF w Microsoft Office (Word/Word Viewer/Word Automation Services), który umożliwia RCE w kontekście użytkownika po otwarciu złośliwego pliku. W ATT&CK mapuje się to przede wszystkim na T1203 (Exploitation for Client Execution), zwykle dostarczane przez T1566.001 (Spearphishing Attachment) i/lub uruchamiane przez T1204.002 (User Execution: Malicious File). Skuteczna obrona opiera się na aktualizacjach, regułach ASR blokujących potomne procesy Office, kontroli aplikacji (WDAC/AppLocker) i analityce parent→child (Office → LOLBin).


Krótka definicja techniczna

CVE‑2015‑1641 to podatność w sposobie, w jaki Microsoft Office przetwarza RTF w pamięci; umożliwia zdalne wykonanie kodu po otwarciu specjalnie przygotowanego dokumentu (np. .rtf). Atak skutkuje uruchomieniem procesu/łańcucha procesów potomnych z rodzicem WINWORD.EXE (lub inną aplikacją Office) i typowo prowadzi do pobrania/uruchomienia ładunku (np. przez cmd.exe, powershell.exe, mshta.exe, rundll32.exe).


Gdzie występuje / przykłady platform

  • Windows / macOS (Word dla Mac 2011) — otwarcie/obsługa RTF przez aplikacje Office.
  • SharePoint (Word Automation Services), Office Web Apps — przetwarzanie dokumentów po stronie serwerowej.
  • M365/Exchange Online — wektor dostarczenia (e‑mail z załącznikiem RTF), detekcja/remediacja po stronie Defender for Office 365 (ZAP, akcje purge).
  • Środowiska hybrydowe (AD + M365) — najczęstszy scenariusz spearphishing + endpoint Windows.

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

Atakujący dostarcza spreparowany dokument RTF. Gdy aplikacja Office przetwarza plik, błąd w obsłudze RTF prowadzi do korupcji pamięci i wykonania arbitralnego kodu w kontekście bieżącego użytkownika. To umożliwia wykonanie stagera i ruch dalszy (np. dowolny LOLBin). Technika jest skuteczna, bo:

  • Wymaga jedynie interakcji użytkownika (otwarcie dokumentu) i często wygląda jak zwykła korespondencja służbowa (T1566.001 + T1204.002).
  • Office jest powszechny, a łańcuch Office → interpretery/LOLBin jest typową ścieżką living‑off‑the‑land.
  • Historycznie podatność była obserwowana “in the wild” w kampaniach APT (np. Sednit/Sofacy) oraz figuruje w KEV, co potwierdza realne wykorzystanie.

6) Artefakty i logi (tabela)

WarstwaŹródło/typID / PoleCo szukać
WindowsSecurity4688 (Process Creation)ParentImage = \WINWORD.EXE/EXCEL.EXE/POWERPNT.EXE + NewProcessName = cmd.exe, powershell.exe, mshta.exe, wscript.exe, rundll32.exe, regsvr32.exe
WindowsSysmon1 (ProcessCreate), 3 (NetworkConnect), 11 (FileCreate), 7 (ImageLoad), 13 (Registry)Łańcuch Office → LOLBin, nietypowe połączenia wychodzące tuż po uruchomieniu potomka, zapisy do %TEMP%/%APPDATA%
MDEAdvanced HuntingDeviceProcessEvents, DeviceNetworkEventsInitiatingProcessFileName w {WINWORD/EXCEL/POWERPNT}, FileName w {cmd/powershell/…}, nietypowe domeny C2
M365Defender for Office 365 / PurviewZAP, New-ComplianceSearchAction -PurgeAlerty o złośliwych załącznikach, raporty EOP, akcje SoftDelete/HardDelete przy remediacji maili.
AWSCloudTrail Lake (opcjonalnie, jeśli SES/WorkMail → S3)PutObject/GetObject (S3 data events)Masowe wrzuty .rtf do skrzynek/bucketów przychodzących; korelować ze wzrostem alertów EOP (jeśli integracja).
K8s audit[nie dotyczy] – podatność dotyczy klienta Office
GCP/Azure[nie dotyczy] – j.w.

Detekcja (praktyczne reguły)

Sigma

title: Office Spawns Suspicious Child Process (CVE-2015-1641 tradecraft)
id: 4c8c6a7b-9d0e-46d0-9a9e-1641office-child-proc
status: experimental
description: Wykrywa uruchamianie podejrzanych procesów potomnych przez aplikacje Office (WINWORD/EXCEL/POWERPNT).
references:
  - https://attack.mitre.org/techniques/T1203/
  - https://learn.microsoft.com/en-us/defender-endpoint/attack-surface-reduction-rules-reference
logsource:
  category: process_creation
  product: windows
detection:
  parent_office:
    ParentImage|endswith:
      - '\WINWORD.EXE'
      - '\EXCEL.EXE'
      - '\POWERPNT.EXE'
      - '\WORDVIEW.EXE'
  child_suspicious:
    Image|endswith:
      - '\cmd.exe'
      - '\powershell.exe'
      - '\wscript.exe'
      - '\cscript.exe'
      - '\mshta.exe'
      - '\rundll32.exe'
      - '\regsvr32.exe'
      - '\hh.exe'
      - '\msbuild.exe'
      - '\installutil.exe'
      - '\certutil.exe'
      - '\bitsadmin.exe'
  condition: parent_office and child_suspicious
falsepositives:
  - Legalne dodatki Office/automatyzacje (DLP, AV, integracje korporacyjne)
level: high
tags:
  - attack.t1203
  - attack.execution

(Technika T1203, ASR „Block Office apps from creating child processes”).

Splunk (SPL)

(index=win* (sourcetype="XmlWinEventLog:Microsoft-Windows-Sysmon/Operational" EventCode=1)
 OR (sourcetype="WinEventLog:Security" EventCode=4688))
| eval parent=coalesce(ParentImage, ParentProcessName), child=coalesce(Image, NewProcessName)
| where like(lower(parent), "%\\winword.exe")
   OR like(lower(parent), "%\\excel.exe")
   OR like(lower(parent), "%\\powerpnt.exe")
   OR like(lower(parent), "%\\wordview.exe")
| where match(lower(child), "\\\\(cmd|powershell|wscript|cscript|mshta|rundll32|regsvr32|hh|msbuild|installutil|certutil|bitsadmin)\\.exe$")
| stats earliest(_time) as first_seen, values(CommandLine) as cmd, values(ParentCommandLine) as p_cmd by host, user, parent, child
| convert ctime(first_seen)

KQL (Microsoft 365 Defender – Advanced Hunting)

DeviceProcessEvents
| where InitiatingProcessFileName in~ ("WINWORD.EXE","EXCEL.EXE","POWERPNT.EXE","WORDVIEW.EXE")
| where FileName in~ ("cmd.exe","powershell.exe","wscript.exe","cscript.exe","mshta.exe",
                      "rundll32.exe","regsvr32.exe","hh.exe","msbuild.exe","installutil.exe",
                      "certutil.exe","bitsadmin.exe")
| project Timestamp, DeviceName, AccountName,
          InitiatingProcessFileName, InitiatingProcessCommandLine,
          FileName, ProcessCommandLine
| order by Timestamp desc

CloudTrail Lake (SQL) — opcjonalnie (SES/WorkMail→S3)

-- Wymaga włączonych data events dla S3
SELECT eventTime, eventSource, eventName, sourceIPAddress,
       requestParameters.bucketName AS bucket, requestParameters.key AS object
FROM $EDS_EVENT
WHERE eventName IN ('PutObject','GetObject')
  AND requestParameters.key LIKE '%.rtf'
  AND eventTime > TIMESTAMP '2025-11-01 00:00:00';

(Użyte do korelacji fali załączników .rtf z incydentami e‑mail.)

Elastic / EQL

process where
  process.parent.name in ("WINWORD.EXE","EXCEL.EXE","POWERPNT.EXE","WORDVIEW.EXE") and
  process.name in ("cmd.exe","powershell.exe","wscript.exe","cscript.exe","mshta.exe",
                   "rundll32.exe","regsvr32.exe","hh.exe","msbuild.exe","installutil.exe",
                   "certutil.exe","bitsadmin.exe")

Heurystyki / korelacje

  • Parent→Child: Office → (cmd/powershell/wscript/mshta/rundll32/regsvr32) + sieć w ≤2 min od uruchomienia.
  • Ścieżki plików: tworzenie DLL/EXE/skrótów w %TEMP%, %APPDATA%, Startup, Office\Recent (Sysmon 11 + 1).
  • DNS/HTTP(S): nowe domeny bez reputacji tuż po otwarciu dokumentu.
  • ASR: zdarzenia AsrOfficeChildProcessAudited/Blocked (jeśli reguła włączona).
  • E‑mail → endpoint: korelacja EmailEvents (złośliwy załącznik RTF) z telemetrią procesu na hoście.

False positives / tuning

  • Legalne dodatki Office, wtyczki DLP/AV, integracje (np. eksport do PDF z użyciem procesów systemowych).
  • Narzędzia administracyjne i automatyzacje (np. pakiety do raportowania) — whitelist wg hasha, ścieżki i podpisu.
  • Tuning: wyklucz znane, podpisane ścieżki biznesowe; zostaw reguły ogólne dla cmd/powershell/mshta/... wywoływanych przez Office. Regułę Sigma/kwarantannę zaostrzaj dopiero po tygodniu audytu.

Playbook reagowania (kroki + komendy)

  1. Triag i zawężenie
  • Uruchom zapytania (SPL/KQL powyżej).
  • Piwotuj po ParentImage=WINWORD.EXE i user session.
  • Sprawdź alerty MDO (Defender for Office 365) i retencję ZAP.
  1. Izolacja i skan
  • Izoluj host w EDR/MDE (izolacja sieci).
  • Na hoście: szybki skan AV:
"%ProgramFiles%\Windows Defender\MpCmdRun.exe" -Scan -ScanType 2
  1. Higiena skrzynek (Purview/PowerShell) — usuń złośliwe maile:
New-ComplianceSearch -Name "CVE-2015-1641-purge" -ExchangeLocation All \
  -ContentMatchQuery '(attachments:".rtf") AND (Subject:"<ciąg kampanii>" OR From:"<nadawca>")'
Start-ComplianceSearch -Identity "CVE-2015-1641-purge"
New-ComplianceSearchAction -SearchName "CVE-2015-1641-purge" -Purge -PurgeType SoftDelete

(Potwierdzone procedury Purview).

  1. Artefakty
  • Zbierz pliki z %TEMP%/%APPDATA%, Prefetch, $MFT, Sysmon log.
  • Sprawdź autostarty (Run, Startup, zadania).
  1. Remediacja i twardnienie
  • Patch Office/SharePoint/Web Apps (MS15‑033 i nowsze).
  • Włącz/egzekwuj ASR: Block Office apps from creating child processes (d4f940ab-401b-4efc-aadc-ad5f3c50688a).
    Przykład (testowo – AuditMode):
Add-MpPreference -AttackSurfaceReductionRules_Ids d4f940ab-401b-4efc-aadc-ad5f3c50688a `
                 -AttackSurfaceReductionRules_Actions AuditMode

Dokumentacja ASR: referencja/enable.


Przykłady z kampanii / case studies

  • Sednit / Sofacy (APT28) – kampanie z załącznikami RTF wykorzystującymi CVE‑2015‑1641; po otwarciu zrzucały dwa DLL (np. btecache.dll, svchost.dll) i ładowały ładunek Seduploader.
  • Confucius – wykorzystywał podatności Office, w tym CVE‑2015‑1641, do uzyskania wykonania na stacjach ofiar.
  • Microsoft i media branżowe wskazywały na wykorzystanie in‑the‑wild przy wydaniu MS15‑033.

Lab (bezpieczne testy)

Wyłącznie w izolowanym, nieprodukcyjnym środowisku! Celem jest test detekcji, nie eksploatacja.

A. Dymny test ASR (AuditMode)

  1. Ustaw ASR „Block Office apps from creating child processes” w AuditMode (komenda powyżej).
  2. Utwórz w Wordzie prosty makrotest, który uruchamia Notepad (bezpieczny program): Sub TestChild() CreateObject("WScript.Shell").Run "notepad.exe" End Sub
  3. Uruchom makro → sprawdź, czy pojawiły się zdarzenia audytowe ASR/EDR i alert Sigma/SIEM. (Przykładowe demo ASR: Microsoft docs).

B. Heurystyka parent→child (bez makr)
Uruchom winword.exe, a następnie ręcznie zainicjuj proces potomny z linii poleceń (symulacja anomalii):

Start-Process "$env:ProgramFiles\Microsoft Office\root\Office16\WINWORD.EXE"
Start-Sleep -s 5
Start-Process cmd.exe -ArgumentList "/c echo benign" -WindowStyle Hidden

Sprawdź, czy reguły (Sigma/SPL/KQL) flagują zdarzenie.

C. E‑mail flow (MDO)
Wyślij do skrzynki labowej .rtf z nieszkodliwą zawartością i sprawdź ścieżkę skanowania/raporty MDO/ZAP oraz logi Purview (bez złośliwego payloadu).


Mapowania (Mitigations, Powiązane techniki)

Mitigations (ATT&CK):

  • M1051 – Update Software (regularne łatki Office/SharePoint/Web Apps).
  • M1038 – Execution Prevention (WDAC/AppLocker; ASR blokujący potomne procesy Office).
  • M1042 – Disable or Remove Feature or Program (wyłącz nieużywane komponenty, ogranicz makra).
  • M1017 – User Training (świadomość spearphishingu).

Powiązane techniki (często współwystępują):

  • T1566.001 – Phishing: Spearphishing Attachment (wektor dostarczenia).
  • T1204.002 – User Execution: Malicious File (użytkownik otwiera plik).
  • T1218 – Signed Binary Proxy Execution (np. rundll32.exe, regsvr32.exe).
  • T1059 – Command and Scripting Interpreter (PowerShell/WSH).
  • T1105 – Ingress Tool Transfer (pobranie kolejnych ładunków).
  • T1547 – Boot or Logon Autostart Execution (utrwalenie po eksploatacji).

Źródła / dalsza literatura

  • NVD – CVE‑2015‑1641 (opis, CVSS, wpis KEV w CISA). (NVD)
  • Microsoft MS15‑033 – biuletyn, lista produktów i opis RTF memory corruption. (Microsoft Learn)
  • ATT&CK T1203 – technika, wersja, modyfikacja 24.10.2025. (MITRE ATT&CK)
  • ATT&CK – wersje/aktualności – v18 (10.2025). (MITRE ATT&CK)
  • SecurityWeek – patch Tuesday z adnotacją „exploited in the wild” (CVE‑2015‑1641). (SecurityWeek)
  • ESET “En Route with Sednit” – przykład kampanii (Seduploader via CVE‑2015‑1641). (web-assets.esetstatic.com)
  • Defender for Office 365 – remediacja maili (ZAP/Purge). (Microsoft Learn)
  • ASR – referencja i włączanie – blokada potomnych procesów Office. (Microsoft Learn)

Checklisty dla SOC / CISO

SOC – operacyjna

  • Monitoring parent→child: Office → (cmd/powershell/mshta/wscript/…) w SIEM.
  • Włącz ASR Block Office apps from creating child processes (najpierw AuditMode, potem Block).
  • Korelacja e‑mail (EOP/MDO) ↔ endpoint (EDR).
  • Hunts: świeże .rtf + nietypowe połączenia po otwarciu dokumentu.
  • Procedura Purview Search+Purge gotowa do masowej remediacji.

CISO – strategiczna

  • Polityka patchowania Office/SharePoint/Web Apps (SLA).
  • Polityka makr, kontrola aplikacji (WDAC/AppLocker).
  • Szkolenia spearphishing/zasady otwierania załączników.
  • Testy okresowe (lab) pod T1203/T1566.001 z metrykami skuteczności.

Specjalistyczne Dystrybucje Linuksa W Cyberbezpieczeństwie

Po co nam tyle dystrybucji bezpieczeństwa? Krótki kontekst techniczny

W świecie cyberbezpieczeństwa Linux odgrywa szczególną rolę – to fundament wielu narzędzi i środowisk do testów bezpieczeństwa, analizy incydentów czy ochrony prywatności. Zwykła dystrybucja Ubuntu czy Fedora oczywiście może zostać wyposażona w potrzebne programy, ale istnieją gotowe systemy tworzone z myślą o konkretnych zadaniach.

Czytaj dalej „Specjalistyczne Dystrybucje Linuksa W Cyberbezpieczeństwie”

Jak Zamienić MITRE D3FEND W Wizualne Mapy Obrony

Dlaczego budujemy mapę obrony z MITRE D3FEND

W świecie cyberbezpieczeństwa Blue Team często korzysta z matrycy MITRE ATT&CK do mapowania taktyk i technik ataków przeciwnika. A co z naszą własną defensywą? Czy potrafimy równie przejrzyście zobrazować, jak broni się nasza organizacja? W tym artykule zobaczymy, jak framework MITRE D3FEND pomaga zbudować wizualną mapę obrony – swoisty dashboard defensywny zespołu SOC. Zamiast domyślać się, gdzie mamy luki, zwizualizujemy techniki obrony tak, by od razu wskazać mocne punkty i obszary wymagające uwagi.

Czytaj dalej „Jak Zamienić MITRE D3FEND W Wizualne Mapy Obrony”