
Co znajdziesz w tym artykule?
- 1 TL;DR
- 2 Krótka definicja techniczna
- 3 Gdzie występuje / przykłady platform
- 4 Szczegółowy opis techniki (jak działa, cele, dlaczego skuteczna)
- 5 Artefakty i logi
- 6 Detekcja (praktyczne reguły)
- 7 Heurystyki / korelacje
- 8 False positives / tuning
- 9 Playbook reagowania (SOC/IR)
- 10 Przykłady z kampanii / case studies
- 11 Lab (bezpieczne testy) — tylko w kontrolowanym środowisku
- 12 Mapowania
- 13 Źródła / dalsza literatura
- 14 Checklisty dla SOC / CISO
TL;DR
Krytyczna luka w Adobe Flash Player (CVE‑2015‑3113) umożliwiała zdalne wykonanie kodu poprzez przepełnienie bufora na stercie, m.in. po wejściu na złośliwą stronę lub kliknięciu odsyłacza w kampanii phishingowej. Zero‑day wykorzystywany był w operacji Clandestine Wolf (APT3), z łańcuchem: e‑mail → profilowanie JS → załadowanie pliku SWF/FLV → ROP/DEP/ASLR bypass → zrzut backdoora (SHOTPUT). Detekcja: obserwuj pobrania .swf, procesy/załadowane moduły Flash oraz nietypowe dzieci procesów Flash (cmd/powershell/wscript). Ponieważ Flash jest EOL (12.2020), każde użycie Flash w 2025 r. jest co najmniej podejrzane.
Krótka definicja techniczna
CVE‑2015‑3113 to luka typu heap‑based buffer overflow w Adobe Flash Player (przed 13.0.0.296; 14.x–18.x < 18.0.0.194 dla Windows/OS X; Linux < 11.2.202.468), pozwalająca zdalnie wykonać kod przy przetwarzaniu specjalnie spreparowanych treści Flash; w czerwcu 2015 była aktywnie wykorzystywana na wolności.
Gdzie występuje / przykłady platform
- Endpointy: Windows (IE/Edge Legacy/Chrome/Firefox), macOS (Safari/Firefox/Chrome), Linux (Firefox/Chromium – PPAPI/NPAPI).
- Scenariusze ataku: phishing z linkiem do serwisu z exploitem, drive‑by po wejściu na zainfekowaną stronę; znane cele zawierały m.in. Windows 7 (IE) i Firefox na XP.
- Stan dzisiaj: Flash Player zakończył życie 31.12.2020 (blokada uruchomienia od 12.01.2021) — użycie w sieci produkcyjnej to incydent ryzyka.
Szczegółowy opis techniki (jak działa, cele, dlaczego skuteczna)
Kampania Operation Clandestine Wolf przypisywana APT3 wykorzystywała e‑maile z odsyłaczami do przejętych witryn. Po kliknięciu ofiara była przekierowywana do skryptów profilujących (JS), które sprawdzały wersje przeglądarki/wtyczek. Następnie serwer dostarczał parę plików SWF + FLV wykorzystujących CVE‑2015‑3113. Exploit uzyskiwał arbitralny zapis/odczyt, wykonywał łańcuch ROP omijający DEP/ASLR, a finalnie odpalał shellcode i zrzucał backdoora SHOTPUT. Efekt: zdalne RCE i trwała kontrola hosta.
Dlaczego skuteczna?
(1) popularność Flash w 2015, (2) atak drive‑by nie wymagał pobierania plików przez użytkownika, (3) łańcuch exploitów obchodził mechanizmy łagodzące (DEP/ASLR), (4) szybka adopcja w ekosystemie exploit kitów (np. Magnitude).
Artefakty i logi
| Warstwa | Artefakt / źródło | Wskaźniki / pola | Uwagi |
|---|---|---|---|
| Windows (Sysmon) | EID 1 Process Create | Image/ParentImage: FlashPlayer.exe, FlashUtil*.exe, FlashPlayerPlugin*.exe; dzieci: cmd.exe, powershell.exe, wscript.exe, rundll32.exe, regsvr32.exe | Nietypowe dziecko procesu Flash = silny sygnał RCE. Nazwy procesów potwierdza Adobe Flash Player Admin Guide. |
| Windows (Sysmon) | EID 7 Image Loaded | ImageLoaded = \pepflashplayer.dll (Chrome/Chromium) | Obserwuj załadowanie w procesach przeglądarki. |
| Windows (Application) | EID 1000 Application Error | Awaria modułów Flash/pepflash | Nagłe crashe Flash niedługo przed nietypowym procesem‑dzieckiem. |
| Proxy/NGFW/DNS | Dostęp HTTP/S do *.swf, MIME application/x-shockwave-flash | url, mime, user_agent, referrer | Koreluj z kliknięciami z e‑maila (M365). |
| M365 Defender | EmailUrlInfo, UrlClickEvents | Url, UrlDomain, kliknięcia Safe Links | Łącz URL .swf z hostami, które uruchomiły procesy Flash. |
| MITRE ATT&CK (kontekst) | APT3 + SHOTPUT | Profilowanie, dostarczenie backdoora | Do korelacji z TTP grupy. |
| AWS (opcjonalnie) | CloudTrail Lake (S3 Data Events) | GetObject na kluczach %.swf | Wymaga włączonych data events. |
| CDN | CloudFront Access Logs / Athena | cs-uri-stem like '%.swf', sc-content-type | Przy hostowaniu/pośrednictwie treści. |
Detekcja (praktyczne reguły)
Sigma (Windows / Sysmon – anomalie dzieci procesów Flash)
title: Flash Plugin Spawns Suspicious Child (CVE-2015-3113 Context)
id: 5a8b2f3b-8ce3-49d0-9f1f-6a2e1d1f3f31
status: experimental
description: Wykrywa nietypowe dzieci procesów Flash (cmd/powershell/skrpty), co bywa obserwowane przy RCE (np. CVE-2015-3113).
references:
- https://nvd.nist.gov/vuln/detail/CVE-2015-3113
- https://cloud.google.com/blog/topics/threat-intelligence/operation-clandestine-wolf-adobe-flash-zero-day/
tags:
- attack.t1203
- attack.t1189
- attack.t1566.002
- cve.2015-3113
logsource:
category: process_creation
product: windows
detection:
sel_parent:
ParentImage|contains:
- '\FlashPlayer'
- '\FlashUtil'
- '\FlashPlayerPlugin'
sel_child:
Image|endswith:
- '\cmd.exe'
- '\powershell.exe'
- '\wscript.exe'
- '\cscript.exe'
- '\rundll32.exe'
- '\regsvr32.exe'
condition: sel_parent and sel_child
fields:
- ParentImage
- ParentCommandLine
- Image
- CommandLine
falsepositives:
- Rzadkie narzędzia korporacyjne wołane z aplikacji opartej na Flash (dziś skrajnie rzadkie)
level: high
Splunk (SPL)
1) Flash uruchomiony przez przeglądarkę
index=sysmon EventCode=1
(ParentImage="*\\iexplore.exe" OR ParentImage="*\\chrome.exe" OR ParentImage="*\\firefox.exe" OR ParentImage="*\\msedge.exe")
(Image="*\\FlashPlayer*.exe" OR Image="*\\FlashUtil*.exe" OR Image="*\\FlashPlayerPlugin*.exe")
| stats count min(_time) max(_time) by host, ParentImage, Image, CommandLine, ParentCommandLine
2) Dzieci procesów Flash
index=sysmon EventCode=1
(ParentImage="*\\FlashPlayer*.exe" OR ParentImage="*\\FlashUtil*.exe" OR ParentImage="*\\FlashPlayerPlugin*.exe")
(Image="*\\cmd.exe" OR Image="*\\powershell.exe" OR Image="*\\wscript.exe" OR Image="*\\rundll32.exe" OR Image="*\\regsvr32.exe")
| table _time host ParentImage Image CommandLine
3) Proxy/HTTP — pobrania .swf
index=proxy (uri_path="*.swf" OR mime_type="application/x-shockwave-flash")
| stats count by src_ip, user, uri, http_status, user_agent, referrer
KQL (Microsoft Defender / M365)
Defender for Endpoint — dzieci procesów Flash
DeviceProcessEvents
| where InitiatingProcessFileName in~ ("FlashPlayer.exe","FlashPlayerPlugin.exe","FlashUtil32.exe","FlashUtil64.exe")
| where FileName in~ ("cmd.exe","powershell.exe","wscript.exe","cscript.exe","rundll32.exe","regsvr32.exe")
| project Timestamp, DeviceName, InitiatingProcessFileName, FileName, ProcessCommandLine, InitiatingProcessCommandLine
MDO — kliknięcia linków .swf
UrlClickEvents
| where Url endswith ".swf" or Url has ".swf?"
| summarize Clicks=count() by UrlDomain, Url, AccountUpn, Timestamp
MDO — adresy URL w wiadomościach
EmailUrlInfo
| where Url endswith ".swf" or Url has ".swf?"
| join kind=leftouter EmailEvents on NetworkMessageId
| project Timestamp, SenderFromAddress, RecipientEmailAddress, Url, UrlDomain, Subject, ThreatTypes
(Definicje tabel: EmailUrlInfo, UrlClickEvents — dokumentacja Microsoft).
CloudTrail / CloudWatch (AWS)
Założenie: włączone S3 Data Events lub logi CloudFront.
CloudTrail Lake SQL (AWS CLI): wyszukaj pobrania *.swf z bucketów
SELECT eventTime, sourceIPAddress, userIdentity.principalId, requestParameters.bucketName AS bucket,
requestParameters.key AS objectKey
FROM event_data_store
WHERE eventSource = 's3.amazonaws.com'
AND eventName = 'GetObject'
AND requestParameters.key LIKE '%.swf'
AND eventTime > TIMESTAMP '2025-11-01 00:00:00';
(Wymaga włączonych data events).
CloudFront / Athena (przykład):
SELECT date, time, cs_host, cs_uri_stem, sc_status, sc_content_type, c_ip, cs_user_agent
FROM cloudfront_logs
WHERE cs_uri_stem LIKE '%.swf'
ORDER BY date, time DESC;
Elastic EQL
process where
process.parent.name in ("FlashPlayer.exe","FlashPlayerPlugin.exe","FlashUtil32.exe","FlashUtil64.exe") and
process.name in ("cmd.exe","powershell.exe","wscript.exe","cscript.exe","rundll32.exe","regsvr32.exe")
Heurystyki / korelacje
- Klik .swf ⇒ proces Flash ⇒ podejrzane dziecko ⇒ połączenie wychodzące (czasowo blisko) — korelacja M365 (UrlClickEvents / EmailUrlInfo) + EDR + egress DNS/HTTP.
- Załadowanie
pepflashplayer.dllprzez przeglądarkę, następnie nietypowe zachowanie (np. nagłepowershell.exe). - Rzadko używane dziś MIME
application/x-shockwave-flashw ruchu web — traktuj jako anomalię. - Artefakty APT3/SHOTPUT (nietypowe rozpoznanie hosta/użytkowników/sieci po kompromitacji) jako sygnały post‑exploitation do korelacji (np. lista kont, netstat).
False positives / tuning
- Dziedzictwo wewnętrzne: pojedyncze kioski/offline‑aplikacje z zawartością SWF (dziś wyjątkowe). Użyj allowlist domen/aplikacji biznesowych i ogranicz reguły do organizacji/OU, gdzie jakiekolwiek Flash jest dopuszczone.
- Narzędzia administracyjne mogą incydentalnie wywołać interpretery (np. skrypty logowania), ale rodzicem nie powinien być proces Flash.
- Ustal okno czasowe (np. ±5 min od kliknięcia URL .swf) i filtruj znane testy w labie.
Playbook reagowania (SOC/IR)
- Zablokuj źródło: domenę/URL z .swf w proxy/DNS firewall; wypchnij blokadę przez EDR.
- Izoluj host z alertem (EDR quarantine).
- Triage artefaktów:
- Procesy potomne Flash, dropy w
%APPDATA%, połączenia C2. - Zrzut pamięci procesu przeglądarki/Flash (jeśli polityka na to pozwala).
- Procesy potomne Flash, dropy w
- Hunting rozprzestrzenienie: użyj zapytań (SPL/KQL/EQL powyżej) w horyzoncie 7–30 dni.
- Patch & harden: potwierdź brak Flash w flocie (wycofanie EOL), wymuś aktualizacje przeglądarek.
- Eradykacja: usuń artefakty, przeinstaluj przeglądarkę, unieważnij poświadczenia pozyskane po kompromitacji.
- Lessons learned: blokada typów/MIME, EDR policy na podejrzane dzieci procesów, kampania edukacyjna „nie klikaj .swf”.
Przykłady z kampanii / case studies
- Operation Clandestine Wolf (APT3/UPS) — phishing z odsyłaczami do przejętych witryn; profilowanie JS; exploit CVE‑2015‑3113; backdoor SHOTPUT (Backdoor.APT.CookieCutter). Branże: A&D, telco, high‑tech, transport, budownictwo.
- Eksploatacja na szeroką skalę — szybka adopcja w exploit kitach (np. Magnitude) w 2015 r.
Lab (bezpieczne testy) — tylko w kontrolowanym środowisku
Nie instaluj Flash w produkcji. Nie testujemy exploitu — jedynie łańcuch detekcji.
- Symulacja ruchu web
curl -I https://lab.example.org/test.swf(serwuj neutralny plik binarny z nagłówkiemContent-Type: application/x-shockwave-flash).- Zweryfikuj, że proxy/NGFW/Athena (CloudFront) odnotowały żądanie
*.swf.
- Symulacja korelacji M365
- Wyślij na skrzynkę testową e‑mail z linkiem do
https://lab.example.org/test.swf. - Sprawdź
EmailUrlInfo/UrlClickEvents(KQL z sekcji 7).
- Wyślij na skrzynkę testową e‑mail z linkiem do
- Symulacja anomalii procesów
- Zastępczo uruchom aplikację, która imituje wzorzec: proces „AplikacjaGUI.exe” →
cmd.exe /c whoami. Reguły powinny złapać schemat „aplikacja multimedialna → interpreter”. (Bez użycia Flash).
- Zastępczo uruchom aplikację, która imituje wzorzec: proces „AplikacjaGUI.exe” →
Mapowania
Mitigations (ATT&CK):
- M1050 Exploit Protection — ASR/Exploit Guard/EDR exploit prevention.
- M1033 Limit Software Installation — blokada instalacji wtyczek/dodatków; usunięcie Flash.
- M1040 Behavior Prevention on Endpoint — blokuj podejrzane łańcuchy (Flash → skrypty/LOLBins).
- M1017 User Training — prewencja kliknięć w odsyłacze .swf.
Powiązane techniki (kaskada):
- T1105 Ingress Tool Transfer — dociąganie backdoora po RCE.
- T1027 Obfuscated/Compressed Files & Information — xor/steganografia/packery w payloadach.
Źródła / dalsza literatura
- NVD: opis, wersje, „exploited in the wild” (VI 2015). (NVD)
- Mandiant/FireEye: Operation Clandestine Wolf, łańcuch ataku, SHOTPUT (APT3). (Google Cloud)
- SecurityWeek: zero‑day, cele (IE na Win7, Firefox na XP), powiązanie z APT3. (SecurityWeek)
- Trend Micro: adopcja w exploit kitach (Magnitude). (www.trendmicro.com)
- Adobe: EOL Flash (31.12.2020). (Adobe)
- Adobe Flash Player 32 Admin Guide: procesy/plik DLL (FlashUtil*, pepflashplayer.dll). (open-flash.github.io)
- MITRE ATT&CK: T1189, T1566.002, T1203; wersja v18.0. (MITRE ATT&CK)
- Microsoft Defender: tabele EmailUrlInfo, UrlClickEvents. (Microsoft Learn)
- AWS: CloudTrail Data Events, CloudFront/Athena zapytania. (AWS Documentation)
Checklisty dla SOC / CISO
SOC (operacyjne):
- Włączone telemetry: Sysmon (EID 1/7), proxy/DNS, M365 Defender (EmailUrlInfo/UrlClickEvents).
- Reguły: Sigma (Flash → cmd/powershell), SPL/KQL/EQL z sekcji 7.
- Korelacja: klik .swf ↔ procesy Flash ↔ dziecko/egress DNS/HTTP.
- Blokady: MIME
application/x-shockwave-flash, rozszerzenie.swfw bramkach. - Hunting retro 30 dni: dzieci procesów Flash i ruch do domen z kampanii (wg TI).
CISO (strategiczne):
- Potwierdzić brak Flash w organizacji (EOL).
- Polityka „deny by default” dla wtyczek przeglądarek.
- Wymuszony Exploit Protection/EDR (M1050/M1040).
- Szkolenia użytkowników (M1017) z naciskiem na klikalność linków.
- Gotowość IR: playbook powyżej, retencja logów ≥ 30–90 dni.