Archiwa: Windows - Strona 88 z 98 - Security Bez Tabu

CVE-2012-0158 — MSCOMCTL.OCX RCE w dokumentach Office

TL;DR

CVE‑2012‑0158 to klasyczna luka RCE w bibliotekach Windows Common Controls (ActiveX MSCOMCTL.OCX — m.in. kontrolki ListView/TreeView). Była masowo wykorzystywana poprzez złośliwe pliki RTF/DOC dostarczane e‑mailem; po otwarciu dokumentu dochodziło do wykonania kodu z uprawnieniami użytkownika. Microsoft załatał błąd w biuletynie MS12‑027 (2012‑04‑10), ale podatność pozostawała długo popularna w kampaniach APT i trafiła do katalogu CISA KEV. Dla SOC: monitoruj dzieci procesów Office (Word/Excel → cmd.exe/powershell.exe/wscript.exe), wymuś ASR „Block Office creating child processes”, blokuj/otwieraj w Protected View pliki RTF i egzekwuj aktualizacje.


Krótka definicja techniczna

Błąd stanowi przepełnienie bufora/pamięci w kontrolkach ActiveX (ListView, ListView2, TreeView, TreeView2) biblioteki MSCOMCTL.OCX. Specjalnie przygotowany dokument Office/RTF lub strona WWW może doprowadzić do zdalnego wykonania kodu (RCE) w kontekście ofiary (typowo przez osadzenie obiektu OLE/objocx w RTF).


Gdzie występuje / przykłady platform

  • Windows (stacje robocze z MS Office 2003/2007/2010) — główna powierzchnia ataku; komponent jest współdzielony z innymi produktami (np. SQL Server, BizTalk, Commerce Server).
  • M365/Exchange Online — wektor dostarczenia (załączniki); detekcja przez Defender for Office 365 (tabele EmailEvents, EmailAttachmentInfo w Advanced Hunting).
  • AD/Entra ID — kontekst tożsamości ofiary (późniejsze działania po przejęciu).
  • AWS/Azure/GCP — często hosting plików przynęt (S3/Blob/HTTP); przydatna telemetria z CloudTrail dla GetObject z nieznanych źródeł. [praktyka SOC]
  • Kubernetes/ESXi — nie dotyczy samej luki; możliwe tylko jako dalsze cele po kompromitacji użytkownika.

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

  • Mechanizm: złośliwy plik (najczęściej RTF) zawiera osadzony obiekt OLE z deklaracją kontrolki ActiveX (\object/\objocx). Renderowanie przez Worda wywołuje kod z biblioteki MSCOMCTL.OCX, co powoduje naruszenie pamięci i przekazanie sterowania attackerowi.
  • Skuteczność: wektor „zero‑click poza otwarciem” dla użytkownika (wystarczy otworzyć dokument), szeroko stosowany 2012‑2017; widoczny w wielu kampaniach, nawet po opublikowaniu łatki MS12‑027.
  • Łatki: MS12‑027 (10.04.2012) adresuje CVE‑2012‑0158 w Windows Common Controls; późniejszy MS12‑060 (08.2012) łata inną podatność w tej samej bibliotece (TabStrip, CVE‑2012‑1856), co podkreśliło potrzebę stałych aktualizacji.
  • Zagrożone produkty: Office 2003/2007/2010 oraz inne oprogramowanie korzystające z MSCOMCTL.OCX (m.in. SQL Server, Commerce Server, BizTalk, Visual Basic 6 runtime).

Artefakty i logi (co zbierać)

PlatformaŹródło danychZdarzenie/IDKluczowe pola / wzorceWskazówki analityczne
WindowsSysmonEID 1 (Process Create)ParentImage=WINWORD.EXE/EXCEL.EXE/POWERPNT.EXE + Image in (cmd.exe,powershell.exe,wscript.exe,mshta.exe,regsvr32.exe,rundll32.exe)Typowy łańcuch po eksploitacji dokumentu. Koreluj z CommandLine (URL, -enc, FromBase64String).
WindowsSysmonEID 7 (Image Loaded)ImageLoaded kończy się na \mscomctl.ocx przez WINWORD.EXERzadkie w zdrowych dokumentach; wzmacnia pewność analityki procesów.
WindowsSysmonEID 3 (Network Connect)Image=WINWORD.EXE lub dziecko → połączenia HTTP/HTTPSDokumenty przynęt często dociągały payloady; patrz hosty niesankcjonowane.
WindowsSecurityEvent ID 4688Procesy jak wyżej; NewProcessName, CreatorProcessNameAlternatywa dla środowisk bez Sysmon.
M365Defender for Office 365 (AH)tabele EmailEvents, EmailAttachmentInfoAttachmentFileType in (rtf, doc, docx); DetectionTechnology/ActionTypeTelemetria o załącznikach i kampaniach e‑mail; koreluj z host telemetry.
M365Unified Audit / MailItemsAccessedZdarzenia dostępu do wiadomościIP, klient, operacjaPomaga ocenić skalę kompromitacji skrzynek.
AWSCloudTrail (data events S3)GetObject, HeadObjectrequestParameters.key ~ `.(rtfdocx?)$, userAgent, sourceIPAddress`
Azure/GCP/K8s/ESXiNie dotyczy bezpośrednio luki; tylko kontekstowe telemetry (np. proxy, CASB).

Detekcja (praktyczne reguły)

Sigma (gotowa reguła)

title: Office Spawns Suspicious Child Process (CVE-2012-0158 Post-Ex)
id: 0b2c9c9a-5b6a-4a9b-b2d9-cc15e2150158
status: experimental
description: >
  Wykrywa aplikacje Office tworzące podejrzane procesy potomne
  (typowe po wykorzystaniu dokumentów, w tym CVE-2012-0158).
author: Badacz CVE
date: 2025/11/05
tags:
  - attack.t1203
  - attack.t1566.001
  - attack.t1204.002
  - cve.2012-0158
logsource:
  category: process_creation
  product: windows
detection:
  parent_office:
    ParentImage|endswith:
      - '\WINWORD.EXE'
      - '\EXCEL.EXE'
      - '\POWERPNT.EXE'
  suspicious_child:
    Image|endswith:
      - '\cmd.exe'
      - '\powershell.exe'
      - '\wscript.exe'
      - '\cscript.exe'
      - '\mshta.exe'
      - '\rundll32.exe'
      - '\regsvr32.exe'
  condition: parent_office and suspicious_child
falsepositives:
  - legalne dodatki/deployment (udokumentowane wyjątki)
level: high

Splunk (SPL)

(index=endpoint OR index=sysmon)
(
  (sourcetype=XmlWinEventLog:Microsoft-Windows-Sysmon/Operational EventCode=1)
  OR (sourcetype=WinEventLog:Security EventCode=4688)
)
| eval ParentImage=coalesce(ParentImage, CreatorProcessName)
| eval Image=coalesce(Image, NewProcessName)
| search ParentImage IN ("*\\WINWORD.EXE","*\\EXCEL.EXE","*\\POWERPNT.EXE")
| search Image IN ("*\\cmd.exe","*\\powershell.exe","*\\wscript.exe","*\\cscript.exe","*\\mshta.exe","*\\rundll32.exe","*\\regsvr32.exe")
| stats count min(_time) as firstTime max(_time) as lastTime by host user ParentImage Image CommandLine ParentCommandLine
| where count>=1

KQL (Microsoft 365 Defender AH)

// Office -> suspicious child
DeviceProcessEvents
| where InitiatingProcessFileName in~ ("WINWORD.EXE","EXCEL.EXE","POWERPNT.EXE")
| where FileName in~ ("cmd.exe","powershell.exe","wscript.exe","cscript.exe","mshta.exe","rundll32.exe","regsvr32.exe")
| project Timestamp, DeviceName, AccountName, InitiatingProcessFileName, FileName, ProcessCommandLine, InitiatingProcessCommandLine
| order by Timestamp desc
// Word/Excel ładuje mscomctl.ocx (wzmacniacz hipotezy)
DeviceImageLoadEvents
| where InitiatingProcessFileName in~ ("WINWORD.EXE","EXCEL.EXE")
| where FolderPath endswith @"\mscomctl.ocx"

AWS CloudTrail — CloudWatch Logs Insights (S3 data events)

fields @timestamp, eventSource, eventName, requestParameters.bucketName as bucket, requestParameters.key as key, sourceIPAddress, userAgent
| filter eventSource = "s3.amazonaws.com" and eventName in ["GetObject","HeadObject"]
| filter key like /.*\.(rtf|doc|docx)$/i
| sort @timestamp desc
| limit 100

Elastic / EQL

process
where
  process.parent.name in ("WINWORD.EXE","EXCEL.EXE","POWERPNT.EXE") and
  process.name in ("cmd.exe","powershell.exe","wscript.exe","cscript.exe","mshta.exe","rundll32.exe","regsvr32.exe")

Heurystyki / korelacje (co łączyć)

  • Office → interpreter skryptów w krótkim interwale czasu + sieć (pobrania) = mocny sygnał post‑eksploatacyjny. (T1059 po T1203/T1204).
  • Skanowanie treści RTF pod kątem tokenów \object, \objocx, MSComctlLib.ListViewCtrl.2 (wskaźnik heurystyczny; niejednoznaczny).
  • Załączniki RTF/DOC w M365 (EmailAttachmentInfo) + DeviceProcessEvents (dzieci WINWORD.EXE).
  • Image load mscomctl.ocx przez Word + brak wcześniejszych makr/OLE w dokumencie → dodatkowy kontekst.
  • ASR: „Block all Office applications from creating child processes” — jeżeli trigger → wysoka wiarygodność.

False positives / tuning

  • Legalne wtyczki Office/rozwiązania DLP/drukarki wirtualne potrafią tworzyć procesy potomne; wprowadź allow‑listy podpisanych binariów i znanych ścieżek.
  • Środowiska developerskie (VBA, add‑ins) — filtruj zaufanych wydawców certyfikatów.
  • mscomctl.ocx może być ładowany także przez aplikacje legacy (VB6) — użyj dodatkowych warunków: parent=WINWORD/EXCEL, CommandLine z nietypowymi przełącznikami.
  • Na bramce pocztowej: samo wystąpienie \objocx w RTF to sygnał podejrzany, nie rozstrzygający (stosuj sandbox/MDO).

Playbook reagowania (IR)

  1. Izoluj hosta z alertu (EDR).
  2. Zabezpiecz artefakty: próbka pliku, prefetch, memoria, Process Tree, DeviceProcessEvents/DeviceImageLoadEvents.
  3. Weryfikacja aktualizacji (PowerShell; różne KB wg produktu z MS12‑027): Get-HotFix -Id KB2664258,KB2598039,KB2598041,KB2597112 -ErrorAction SilentlyContinue Get-ChildItem "C:\Windows\System32\MSCOMCTL.OCX","C:\Windows\SysWOW64\MSCOMCTL.OCX" -ErrorAction SilentlyContinue | Select FullName,@{n='FileVersion';e={$_.VersionInfo.FileVersion}} (Lista KB wg biuletynu MS12‑027 i wariantów produktowych).
  4. Łańcuch zdarzeń: wyszukaj inne hosty z tym samym załącznikiem (EmailEvents + SHA256 z EmailAttachmentInfo), a następnie koreluj z host telemetry.
  5. Blokady: dodaj hash/URL do blokady w MDO/EOP/Proxy; włącz/utwardź ASR „Block Office creating child processes”.
  6. Naprawa: wymuś instalację MS12‑027, a także późniejszych zbiorczych aktualizacji Office/Windows; wdroż Exploit Protection/DEP/ASLR.
  7. Komunikacja i hardening: włącz Protected View i File Block dla RTF w organizacji, zwłaszcza dla skrzynek o podwyższonym ryzyku.

Przykłady z kampanii / case studies

  • 2012 — pierwsza fala szerokich ataków z RTF/DOC; w RTF widoczne \objocx.
  • 2013 — analiza Kaspersky: RTF/DOC dla Office 2003/2007/2010; mimo łatki wciąż obserwowane infekcje.
  • 2016 — „Word bug that won’t die”: luki wciąż używane w realnych kampaniach phishingowych.
  • 2017 — kampanie przeciw organizacjom w Wietnamie, dokumenty polityczne, przypisywane m.in. 1937CN.
  • APT (MITRE) — np. Aoqin Dragon wykorzystywała CVE‑2012‑0158 do uzyskania wykonania.
  • CISA — CVE‑2012‑0158 w zestawieniach „Top Routinely Exploited” i w katalogu KEV.

Lab (bezpieczne testy) — przykładowe zadania

Uwaga: poniższe kroki nie zawierają exploitów ani makr ofensywnych; służą wyłącznie do weryfikacji detekcji.

Lab‑1: Heurystyka RTF w bramce/MDO

  1. Utwórz harmless.rtf zawierający nieszkodliwy tekst oraz nagłówek z ciągiem \object/\objocx (bez osadzania binariów OLE).
  2. Wyślij na skrzynkę testową M365 i sprawdź, czy polityki (MDO Safe Attachments/Sandbox) oraz reguły treści podnoszą alert/znacznik podejrzany.
  3. Koreluj EmailAttachmentInfo ↔ host telemetry (brak uruchomionych procesów wtórnych powinien dać „clean”).

Lab‑2: Analityka „Office → child process” (symulacja zachowania, bez dokumentu)

  1. Uruchom ręcznie Word, a następnie w tym samym czasie uruchom testowo powershell.exe -nop -c "Write-Host Test" (symulacja artefaktów procesowych bez łańcucha infekcji).
  2. Sprawdź, czy reguły Sigma/Splunk/KQL wyłapują przypadki dziecko procesu Office (w środowisku produkcyjnym zadziała to na realnych incydentach).
  3. W środowiskach z ASR, potwierdź, że reguła „Block Office creating child processes” blokuje podobny łańcuch.

Lab‑3: Telemetria mscomctl.ocx (obserwacja)

  • Monitoruj DeviceImageLoadEvents dla WINWORD.EXEmscomctl.ocx (zwykle pusto). To testuje pipeline logów i zapytania KQL, bez ryzyka.

Mapowania (Mitigations, powiązane techniki)

Mitigations (ATT&CK):

  • M1051 — Update Software: egzekwuj aktualizacje (MS12‑027 i późniejsze biuletyny Office/Windows).
  • M1042 — Disable or Remove Feature or Program: usuń starsze komponenty/formaty; blokuj RTF w File Block.
  • M1050 — Exploit Protection: włącz DEP/ASLR/Exploit Protection politykami.
  • M1017 — User Training: szkolenia anty‑phishing, higiena otwierania załączników.

Techniki pokrewne:

  • T1566.001 (Spearphishing Attachment) — nośnik.
  • T1204.002 (User Execution: Malicious File) — warunek powodzenia.
  • T1059 (Command and Scripting Interpreter) — post‑eksploatacja.

Źródła / dalsza literatura

  • Microsoft Security Bulletin MS12‑027 (MSCOMCTL.OCX RCE). (Microsoft Learn)
  • NVD/CVE wpisy szczegółowe. (NVD)
  • Blog Microsoft SRD o MS12‑027. (Microsoft)
  • McAfee: „CVE‑2012‑0158 exploit in the wild”. (McAfee)
  • Kaspersky: „The curious case of a CVE‑2012‑0158 exploit”. (Securelist)
  • Sophos: „The Word bug that just won’t die”. (Sophos News)
  • Fortinet: kampanie w Wietnamie (1937CN). (Fortinet)
  • CISA: KEV i „Top Routinely Exploited”. (CISA)
  • MITRE ATT&CK: T1203, T1566.001, T1204.002. (MITRE ATT&CK)
  • Attack Surface Reduction — „Block Office creating child processes”. (Microsoft Learn)
  • Exploit Protection (Windows). (Microsoft Learn)
  • MDO Advanced Hunting: EmailEvents, EmailAttachmentInfo. (Microsoft Learn)

Checklisty dla SOC / CISO (krótko)

SOC (operacyjnie):

  • Alerty na Office → interpreter (reguły z sekcji 7).
  • Korelacja MDO załącznikihost telemetry (hash, nadawca, kampania).
  • Watchlist domen/URL z kampanii; blokady w bramkach.
  • Raportowanie i „mass search” po mscomctl.ocx load (wzmocnienie hipotezy).
  • Retencja logów: min. 90 dni dla e‑mail + endpoint.

CISO (strategicznie):

  • Egzekwuj aktualizacje (M1051) i compliance na stacjach z Office.
  • ASR: włącz „Block Office creating child processes” dla ogółu, wyjątki per‑grupa.
  • Protected View / File Block dla RTF w całej organizacji.
  • Awareness (M1017): szkolenia, symulacje phishingu.
  • Testy kontrolne (purple team) — weryfikacja detekcji bez exploitów.

CVE-2011-0609 — Adobe Flash/Reader (Authplay) RCE w kampaniach spear‑phishingowych

TL;DR

Krytyczny błąd w Adobe Flash Player oraz w komponencie Authplay bibliotek Adobe Reader/Acrobat (CVE‑2011‑0609) umożliwiał zdalne wykonanie kodu przez spreparowane pliki SWF. W 2011 r. był aktywnie wykorzystywany w atakach z załącznikami XLS (osadzony SWF), m.in. w incydencie RSA SecurID. Detekcja: korelacja Email → Office/Reader → podejrzany child‑process/C2, blokada starych Flash/Reader, sandboxing załączników.


Krótka definicja techniczna

CVE‑2011‑0609 to luka (memory corruption/unspecified) w Adobe Flash Player 10.2.154.13 i starszych (Windows/macOS/Linux/Solaris, Android), Adobe AIR 2.5.1 i starszych oraz w Authplay.dll/AuthPlayLib.bundle używanym przez Adobe Reader/Acrobat 9.x–9.4.2 oraz 10.x–10.0.1. Otwarcie złośliwego SWF (np. osadzonego w pliku Excel) skutkuje RCE w kontekście aplikacji.


Gdzie występuje / przykłady platform

  • Windows / macOS / Linux / Solaris (endpointy) — przeglądarki i Office/Reader ładujące wtyczkę Flash/komponent Authplay.
  • Android (mobile) — podatne wydania Flash 10.1.106.16 i starsze.
  • Active Directory — punkt rozprzestrzenienia po początkowym foothold; nie jest bezpośrednio podatne.
  • M365 — wektor mailowy (Exchange/Defender for Office 365: Safe Attachments/Safe Links, Message trace).
  • AWS/Azure/GCP — brak bezpośredniej podatności; możliwa telemetria z WorkMail/SES/WorkSpaces, VPC Flow/Firewall do korelacji C2.
  • Kubernetes/ESXi — nie dotyczy bezpośrednio; przydatne do detekcji lateral movement po inicjalnym włamaniu.
    (Flash i Authplay są EOL; nadal warto utrzymywać detekcję retro/archiwalną dla threat huntingu i IR).

Szczegółowy opis techniki (jak działa, cele, skuteczność)

Ataki wykorzystywały SWF z exploitem osadzony w pliku .xls wysyłanym jako spear‑phishing. Po otwarciu arkusza Excel ładował komponent Flash/ActiveX, wykonywał payload w pamięci i uruchamiał proces podrzędny (np. dropper/loader), typowo ustanawiający łączność C2 i dogrywający RAT (w publicznych opisach wskazywano m.in. Poison Ivy). W kampanii na RSA załącznik o nazwie “2011 Recruitment plan.xls” prowadził do kradzieży poufnych danych SecurID. Ta taktyka była skuteczna z powodu: zaufania do dokumentów Office, łańcucha User Execution → Client Exploitation, braku patchy i ograniczonej widoczności korelacyjnej między warstwą e‑mail, procesami na hoście i ruchem sieciowym.


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

KategoriaŹródłoID/OperacjaWzorzec / PolaCo oznacza
WindowsSysmonEID 1 (ProcessCreate)ParentImage in (EXCEL.EXE,AcroRd32.exe,WINWORD.EXE) + Image in (cmd.exe,powershell.exe,wscript.exe,mshta.exe,rundll32.exe)Nietypowe child‑procesy po otwarciu dokumentu/Readera (wskaźnik exploit→payload).
SysmonEID 3 (NetworkConnect)ParentImage jak wyżej; dest na świeże domeny/DGA/dynamic DNSWczesne C2 po exploitacji.
SysmonEID 7 (ImageLoaded)ImageLoaded endswith authplay.dll / Flash*.ocx z nieaktualnych ścieżekŁadowanie wrażliwego komponentu.
SysmonEID 11 (FileCreate)Tworzenie dropperów w %APPDATA%, %TEMP% (np. *.tmp, *.dat)Artefakty pierwszego etapu.
Windows Security4688Jak EID 1 (jeśli brak Sysmon)Procesy uruchomione przez Office/Reader.
Windows PowerShell4104Nieoczekiwane skrypty po otwarciu plikuWskaźnik T1059.
M365Defender for Office 365EmailEventsAttachmentExtension="xls" + ThreatTypes/MalwareVerdict + DetectionMethod=SafeAttachmentsZatrzymane/wykryte załączniki ze SWF/osadzonymi obiektami.
Unified Audit LogMailItemsAccessed/SendKorelacja adresatów/wątków phishingowychZasięg kampanii.
Proxy/DNSSecure Web Gateway / resolverUser-Agent Office/Reader → outbound, świeże domeny, nietypowe SNIPotwierdzenie C2 po otwarciu dokumentu.
AWS (telemetria)CloudWatch/VPC FlowNietypowe wyjścia z hostów WorkSpaces/EC2 po zdarzeniu e‑mailKorelacja sieciowa (brak bezpośredniego CloudTrail dla kontentu maili).
CloudTrail[brak danych / nie dotyczy] — CloudTrail nie rejestruje zawartości załącznikówUżyć WorkMail Message Flow/SES logs, VPC Flow.
K8s audit[brak danych / nie dotyczy]Dotyczy etapów późniejszych (lateral movement), nie samej CVE.

Detekcja (praktyczne reguły)

Sigma (Windows — Office/Reader uruchamia interpreter/shell po Flash/Authplay)

title: Office/Reader Suspicious Child Process (CVE-2011-0609 Tradecraft)
id: 6c6f3a3c-8f8c-4f2e-91c3-ofs-cve20110609
status: stable
description: Wykrywa uruchomienie interpreterów/shelli przez EXCEL/AcroRd32/Word – wzorzec obserwowany w eksploatacji SWF/Authplay (2011).
author: Badacz CVE
date: 2025/11/05
logsource:
  product: windows
  category: process_creation
detection:
  parent_office:
    ParentImage|endswith:
      - '\EXCEL.EXE'
      - '\AcroRd32.exe'
      - '\WINWORD.EXE'
  suspicious_child:
    Image|endswith:
      - '\cmd.exe'
      - '\powershell.exe'
      - '\wscript.exe'
      - '\cscript.exe'
      - '\mshta.exe'
      - '\rundll32.exe'
  condition: parent_office and suspicious_child
falsepositives:
  - Dodatki/plug‑iny wywołujące narzędzia systemowe (rzadkie)
level: high
tags:
  - attack.t1204.002
  - attack.t1203
  - attack.t1059
  - cve.2011.0609

Splunk (Sysmon EID 1 + 3)

index=endpoint (sourcetype="XmlWinEventLog:Microsoft-Windows-Sysmon/Operational" EventCode=1)
| where like(ParentImage,"%\\EXCEL.EXE") OR like(ParentImage,"%\\AcroRd32.exe") OR like(ParentImage,"%\\WINWORD.EXE")
| where match(Image,"(?i)\\(cmd|powershell|wscript|cscript|mshta|rundll32)\\.exe$")
| stats earliest(_time) as firstSeen latest(_time) as lastSeen values(CommandLine) values(ParentCommandLine) by Computer, Image, ParentImage, ParentProcessGuid, ProcessGuid
| join type=left ProcessGuid
    [ search index=endpoint sourcetype="XmlWinEventLog:Microsoft-Windows-Sysmon/Operational" EventCode=3
      | stats values(DestinationIp) values(DestinationHostname) by ProcessGuid ]
| sort - lastSeen

KQL (Defender for Endpoint + MDO korelacja)

// 1) Host: podejrzane child-procesy po Office/Reader
DeviceProcessEvents
| where InitiatingProcessFileName in~ ("EXCEL.EXE","AcroRd32.exe","WINWORD.EXE")
| where FileName in~ ("cmd.exe","powershell.exe","wscript.exe","mshta.exe","rundll32.exe")

// 2) E-mail: załączniki .xls ze złą reputacją
let suspiciousMail =
EmailEvents
| where AttachmentCount > 0 and tostring(AttachmentExtensions) has_cs "xls"
| where ThreatTypes has_any ("Malware","Phish") or MalwareFilterVerdict in~ ("Malware","HighConfMalware");
suspiciousMail
| project NetworkMessageId, RecipientEmailAddress, SenderFromDomain
| join kind=innerunique (
  DeviceProcessEvents
  | where InitiatingProcessFileName in~ ("EXCEL.EXE","AcroRd32.exe")
  | project Timestamp, DeviceId, InitiatingProcessParentCreationTime, InitiatingProcessFileName, FileName, ProcessCommandLine, NetworkMessageId
) on NetworkMessageId

AWS (CloudWatch Logs Insights — Amazon WorkMail Message Flow / alternatywnie SES)

Jeśli używasz Amazon WorkMail/SES z loggingiem do CloudWatch/S3:

fields @timestamp, fromAddress, recipient, attachmentExtension, malwareVerdict, attachmentMimeType
| filter attachmentExtension="xls"
| filter malwareVerdict="MALICIOUS"
  or like(attachmentMimeType, "%shockwave%")
  or like(attachmentMimeType, "%flash%")
| sort @timestamp desc

(CloudTrail nie zawiera treści e‑maili; użyj WorkMail Message Flow / SES event logs oraz VPC Flow do wskazania ewentualnego C2).

Elastic / EQL

process where
  process.parent.name in ("EXCEL.EXE","AcroRd32.exe","WINWORD.EXE") and
  process.name in ("cmd.exe","powershell.exe","wscript.exe","mshta.exe","rundll32.exe")

Heurystyki / korelacje

  • Łańcuch czasowy: Email (.xls z osadzonym SWF) → uruchomienie Office/Reader → child‑process → połączenie sieciowe do świeżej domeny → zapis droppera w %TEMP%/%APPDATA%.
  • Artefakty Flash/Authplay: ładowanie authplay.dll/Flash*.ocx przez Office/Reader w momencie otwarcia pliku.
  • Pola do pivotowania: NetworkMessageIdDeviceProcessEvents ↔ proxy/DNS; hash załącznika ↔ sandbox verdict.
  • Treść socjotechniki: tematy rekrutacyjne/HR (“Recruitment plan”), krótka treść maila zachęcająca do otwarcia załącznika.

False positives / tuning

  • Legalne dodatki Office/Reader mogą incydentalnie uruchamiać narzędzia systemowe (rzadkie).
  • Zastosuj tuning po wersjach: skup się na hostach, gdzie w telemetrycznych śladach widać obiekty Flash/Authplay lub historyczne wersje Reader/Flash (jeśli utrzymywane w VDI/legacy).
  • Kontekst e‑mail: preferuj zdarzenia z verdictem Malware/High‑confidence lub z sandboxu (MDO Safe Attachments/3rd‑party).
  • Sieć: ogranicz alerty tylko do outbound na świeże/dynamiczne domeny i/lub niedawno zarejestrowane certyfikaty.

Playbook reagowania (IR)

  1. Triage & izolacja hosta (EDR isolate/quarantine).
  2. Zabezpieczenie artefaktów: hash i kopia pliku .xls, volatile data (listy procesów, połączenia, moduły).
    • Windows (PowerShell, konto z uprawnieniami IR): Get-Process EXCEL,AcroRd32 -IncludeUserName Get-ChildItem $env:TEMP | Sort LastWriteTime -desc | Select -First 20 Get-FileHash "C:\Path\to\Attachment.xls" -Algorithm SHA256
  3. Hunting w skali organizacji: IOC = hash załącznika / domeny C2 / temat maila; wyszukaj w EmailEvents/MessageTrace i w EDR.
  4. Blokady: reguła w Secure Email Gateway/MDO na typ załączników (XLS z OLE/ActiveX), blokada starych komponentów Flash/Authplay.
  5. Eradykacja: usuń dropper/RAT, unieważnij poświadczenia z hosta, sprawdź persistence (usługi/Run Keys/Tasks).
  6. Lessons learned: wdroż patch‑management, makra ograniczone, otwieranie załączników w izolacji (sandbox/VDI).

Przykłady z kampanii / case studies

  • Incydent RSA SecurID (marzec 2011): spear‑phishing z „2011 Recruitment plan.xls”, osadzony SWF wykorzystał CVE‑2011‑0609, po czym doinstalowano backdoor (m.in. raportowano Poison Ivy) i kradziono dane związane z SecurID.
  • Wnioski branżowe: Adobe ostrzegało o aktywnej eksploatacji w ukierunkowanych atakach; aktualizacje zostały opublikowane w drugiej połowie marca 2011 r.

Lab (bezpieczne testy) — przykładowe komendy

Cel: zweryfikować, czy Twoje detektory wychwytują łańcuch Email/Office → child‑process/C2 bez używania realnego exploita.

  • Test 1 (host): z poziomu kontenera testowego/VDI uruchom kontrolowany child‑process z Office (np. otwarcie pliku, który uruchamia calc/whoami przez zgodny z polityką add‑in) i sprawdź, czy reguły Sigma/Splunk/KQL go łapią.
  • Test 2 (poczta): wyślij do skrzynki testowej plik XLS z nieszkodliwym osadzonym obiektem (np. formularz OLE bez makr) i obserwuj, czy Safe Attachments nadaje verdict i czy pipeline korelacyjny łączy NetworkMessageId ↔ DeviceProcessEvents.
  • Atomic Red Team (alternatywa): użyj atomików dla T1204.002 i T1566.001 (wersje bezpieczne/PUA), by wygenerować telemetryczne ślady bez rzeczywistej eksploatacji.

Mapowania (Mitigations, powiązane techniki)

Mitigations ATT&CK:

  • M1051 — Update Software: natychmiastowe łatki Flash/Reader (historycznie) i rygorystyczny patch management.
  • M1031 — Network Intrusion Prevention: IDS/IPS do blokady znanych C2/eksploatacji w ruchu.
  • M1047 — Audit: regularne audyty konfiguracji, telemetrii, list uprawnień.

Powiązane techniki (ATT&CK):

  • T1566.001 — Spearphishing Attachment (wektor początkowy).
  • T1204.002 — User Execution: Malicious File (uruchomienie przez użytkownika).
  • T1203 — Exploitation for Client Execution (RCE w aplikacji klienckiej).
  • T1105 — Ingress Tool Transfer (dogrywanie narzędzi/RAT).
  • T1059 — Command & Scripting Interpreter (uruchomienie poleceń/payloadów).

Źródła / dalsza literatura

  • Adobe Security Advisory APSA11‑01 (opis wektora: SWF w Excelu; aktywna eksploatacja). (adobe.com)
  • NVD/CVE — szczegóły produktu/wersji podatnych. (NVD)
  • CERT/CC VU#192052 (informacja o biuletynie z poprawką). (kb.cert.org)
  • Kaspersky/QuickHeal (informacja o wydaniu poprawek). (Securelist)
  • Case study RSA: Infosecurity‑Magazine, The Register, Wired, F‑Secure. (Infosecurity Magazine)
  • ATT&CK (T1566.001, T1204.002, T1203; Detection Strategies). (MITRE ATT&CK)
  • Wersjonowanie ATT&CK (aktualna v18.0). (MITRE ATT&CK)

15) Checklisty dla SOC / CISO

SOC:

  • Korelacja EmailEvents ↔ DeviceProcessEvents ↔ DNS/Proxy dla załączników .xls.
  • Aktywne reguły na Office/Reader → shell/interpreter (Sigma/SIEM).
  • Hunting: authplay.dll / Flash*.ocx załadowane przez Office/Reader (historyczne hosty/VDI).
  • Blokady w SEG/MDO: OLE/ActiveX w dokumentach Office z internetu.
  • Sandboxing załączników (dynamic + static) i automatyczna kwarantanna.

CISO:

  • Egzekwowanie M1051 (patch management) i EOL hygiene (wyeliminować Flash/Authplay).
  • NIPS/SSL inspection dla wczesnego C2 (M1031).
  • Szkolenia z rozpoznawania spear‑phishingu; procedury zgłoszeń.
  • Testy kontrolne (Purple Team/Atomic) mapowane do T1566.001/T1204.002/T1203.

Uwaga końcowa: Flash/Reader wersje z 2011 r. są dziś wygasłe, ale ślady i techniki (phishing + client‑side RCE) pozostają aktualne. Warto utrzymywać detekcje oparte na wzorcu zachowania (ATT&CK), nie na konkretnym CVE.

CVE-2010-3333 — Microsoft Office RTF Stack Buffer Overflow (MS10‑087)

TL;DR

CVE‑2010‑3333 to luka typu stack‑based buffer overflow w parserze RTF pakietu Microsoft Office. Otworzenie lub nawet podgląd (Outlook używający Worda jako czytnika) specjalnie spreparowanego RTF może prowadzić do zdalnego wykonania kodu z uprawnieniami użytkownika. Luka była aktywnie wykorzystywana (znajduje się w CISA KEV) i często dostarczana jako załącznik e‑mail (ATT&CK T1566.001), a samo wykonanie to T1203. Kluczowe sygnały: WINWORD.EXE otwiera plik .rtf i uruchamia proces potomny (np. cmd.exe, powershell.exe). Patch: biuletyn MS10‑087.


Krótka definicja techniczna

CVE‑2010‑3333 opisuje błąd przepełnienia stosu w składniku obsługi RTF Microsoft Office (m.in. Word), umożliwiający uruchomienie dowolnego kodu po przetworzeniu złośliwego RTF. Mechanizm bywał wywoływany m.in. przez właściwość pFragments w obiektach RTF (Office Art/Shape), co skutkuje korupcją pamięci i przejęciem przepływu sterowania.


Gdzie występuje / przykłady platform

  • Windows (Office XP/2003/2007/2010) – zagrożone wersje przed MS10‑087, często wektor: e‑mail/załącznik RTF.
  • macOS (Office 2004/2008/2011; Open XML File Format Converter) – również podatne, aktualizacje w ramach MS10‑087/KB.
  • M365/Exchange Online/Outlook – tor dostarczenia (skanowanie i telemetryka: EmailEvents, EmailAttachmentInfo).

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

Luka polega na błędzie zapisu poza granice bufora (CWE‑787) w kodzie analizującym dane RTF. Wystarczy, aby ofiara otworzyła lub podejrzała wiadomość/plik RTF – w konfiguracjach z Wordem jako czytnikiem w Outlook 2007/2010 samo „Preview Pane” może wyzwolić exploit. Po udanym przepełnieniu stosu atakujący uzyskuje wykonanie kodu w kontekście użytkownika. Praktycznie wszystkie ówczesne edycje Office dla Windows i macOS były podatne przed łatą MS10‑087. Skuteczność wynika z: popularności RTF/Office, niskiej świadomości ryzyka „podglądu”, oraz łatwości dostarczenia przez e‑mail (T1566.001).

Wykorzystanie w kampaniach: technika T1203 jest powszechnie nadużywana; MITRE wskazuje grupy (np. Aoqin Dragon, Transparent Tribe), które historycznie korzystały m.in. z CVE‑2010‑3333.


Artefakty i logi (co zbierać)

WarstwaŹródło/logCo obserwowaćIdentyfikator / polaUwagi
Endpoint (Windows)SysmonProcesy potomne WINWORD.EXEcmd.exe, powershell.exe, wscript.exe, mshta.exe, rundll32.exe, regsvr32.exeEID 1 (Process creation), ParentImage, CommandLinePodstawowy sygnał wykonania po eksploatacji.
Endpoint (Windows)SecurityTworzenie procesu4688Alternatywa dla Sysmon.
Endpoint (Windows)SysmonPołączenia sieciowe procesu potomnegoEID 3Eksfiltracja/ładowanie 2. etapu.
AplikacjeAplikation ErrorAwaria WINWORD.EXE po otwarciu RTFEID 1000Czasem skutek nieudanego exploitu.
Poczta M365Defender XDR – EmailEventsDostarczenie załącznika .rtf, verdict (Malware/Phish), NetworkMessageIdTabela EmailEventsKorelować z host‑telemetry (czas/odbiorca).
Poczta M365EmailAttachmentInfoFileType/AttachmentExtension = rtfTabela EmailAttachmentInfoRozszerzenie + wielkość, nadawca.
Poczta M365EmailPostDeliveryEventsAkcje ZAP (usunięcie, przeniesienie)ActionType (np. ZAP)Przydatne do potwierdzenia mitigacji.
CloudAWS CloudTrail (Data Events)(opcjonalnie) pobranie złośliwego RTF z S3s3:GetObject (włączone Data Events)Tylko jeśli wektor to link do pliku w S3; nie jest typowy dla tej CVE.

Uwaga: CVE‑2010‑3333 znajduje się w katalogu CISA Known Exploited Vulnerabilities – podnosi to priorytet reagowania.


Detekcja (praktyczne reguły)

Sigma (Windows / Process Creation)

title: Office Child Process — Possible RTF Exploit (CVE-2010-3333)
id: 6d5e3c3a-6c8a-4a3c-9a0b-rtf3333
status: experimental
description: Wykrywa podejrzane procesy potomne uruchamiane przez WINWORD.EXE po otwarciu pliku RTF (T1203, T1566.001).
references:
  - https://detection.fyi/sigmahq/sigma/windows/process_creation/proc_creation_win_office_susp_child_processes/
logsource:
  category: process_creation
  product: windows
detection:
  selection_parent:
    ParentImage|endswith:
      - '\WINWORD.EXE'
  selection_child:
    Image|endswith:
      - '\cmd.exe'
      - '\powershell.exe'
      - '\wscript.exe'
      - '\cscript.exe'
      - '\mshta.exe'
      - '\rundll32.exe'
      - '\regsvr32.exe'
  condition: selection_parent and selection_child
falsepositives:
  - Zdarzenia OLE/Packager (np. osadzenie obrazu uruchamia MSPAINT)
  - Skrypty administracyjne uruchamiane celowo z dokumentów (rzadkie)
level: high
tags:
  - attack.t1203
  - attack.t1566.001

Źródło wzorca: repozytorium Sigma/„Suspicious Microsoft Office Child Process”.

Splunk (SPL)

index=win* (source="WinEventLog:Microsoft-Windows-Sysmon/Operational" OR EventCode=4688)
| eval ParentImage=coalesce(ParentImage,Process_Parent_Image)
| search ParentImage="*\\WINWORD.EXE"
| eval Image=coalesce(Image,New_Process_Name)
| where like(Image,"%\\cmd.exe") OR like(Image,"%\\powershell.exe") OR like(Image,"%\\wscript.exe") OR like(Image,"%\\mshta.exe") OR like(Image,"%\\rundll32.exe") OR like(Image,"%\\regsvr32.exe")
| stats values(CommandLine) values(ParentCommandLine) count by _time host User Image ParentImage

Kontekst i dobre praktyki pracy na Sysmon EID 1 w Splunk.

Microsoft 365 Defender / Sentinel (KQL – Advanced Hunting)

// 1) Procesy potomne Worda związane z exploitami/LOLBinami
DeviceProcessEvents
| where Timestamp > ago(7d)
| where InitiatingProcessFileName =~ "WINWORD.EXE"
| where FileName in~ ("cmd.exe","powershell.exe","wscript.exe","cscript.exe","mshta.exe","rundll32.exe","regsvr32.exe")
| project Timestamp, DeviceName, AccountName, FileName, ProcessCommandLine, InitiatingProcessCommandLine, InitiatingProcessSHA1

// 2) Korelacja z mailem i załącznikiem RTF (ta sama ofiara ~ +/- 2h)
| join kind=leftouter (
    EmailAttachmentInfo
    | where Timestamp > ago(7d)
    | where AttachmentExtension =~ "rtf"
    | project RecipientEmailAddress, NetworkMessageId, AttachmentFileName, Timestamp
) on $left.AccountUpn == $right.RecipientEmailAddress

Dokumentacja tabel EmailEvents/EmailAttachmentInfo/EmailPostDeliveryEvents.

CloudTrail query (opcjonalnie – gdy RTF hostowany w S3)

# wymagane włączone Data Events dla S3
aws cloudtrail lookup-events \
  --lookup-attributes AttributeKey=EventName,AttributeValue=GetObject \
  --start-time 2025-11-01T00:00:00Z --end-time 2025-11-04T23:59:59Z \
  --query 'Events[?contains(CloudTrailEvent, `.rtf`)].[EventTime,Username,Resources]'

Użyteczne tylko, gdy kampania używała linku do RTF w S3 (nie typowy wektor tej CVE).

Elastic / EQL

process where
  process.name in ("cmd.exe","powershell.exe","wscript.exe","cscript.exe","mshta.exe","rundll32.exe","regsvr32.exe") and
  parent.process.name == "WINWORD.EXE"

Predefiniowana reguła „Suspicious MS Office Child Process” (Elastic).


Heurystyki / korelacje

  • Word → LOLBin: drzewo procesu WINWORD.EXE → „living‑off‑the‑land” (rundll32, regsvr32, mshta) w 0–5 min od otwarcia .rtf.
  • Mail → Host: EmailEvents.NetworkMessageId (M365) skorelowany z aktywnością użytkownika na stacji (ten sam odbiorca/UPN).
  • Preview pane: zdarzenie może wystąpić bez eksplicytnego „Open”, gdy włączony podgląd wiadomości RTF w Outlook (Word jako czytnik).
  • Awaria Worda (EID 1000) tuż po otwarciu RTF – ślad nieudanego exploitu.
  • Wzorzec nazwy przynęty: historycznie spotykane tematy/lury (np. „New Year’s Greeting Card” po rosyjsku), ale nie ufaj IOC‑om statycznym – stawiaj na zachowanie.

False positives / tuning

  • OLE/Packager w Wordzie może legitymnie odpalać mspaint.exe, iexplore.exe itp. – whitelistuj konkretne aplikacje/osadzenia (np. klasy COM/ProgID).
  • Skrypty administracyjne uruchamiane z dokumentu w środowiskach deweloperskich – oznaczaj kontekst (grupy, ścieżki share’ów, podpisy).
  • Tuning po CommandLine (np. -enc, -nop, -w hidden dla PowerShell) i po ParentCommandLine zawierającym ścieżkę do .rtf.
  • Na poziomie poczty – filtry auf falszywe pozytywy dla szablonów RTF generowanych przez systemy legacy (sprawdź reputację nadawcy + DKIM/DMARC).

Playbook reagowania (IR)

  1. Triage i izolacja: odłącz host (EDR/MDI).
  2. Zabezpiecz dowody:
    • Zrzut listy procesów i drzew: Get-Process | Sort-Object ProcessName Get-CimInstance Win32_Process | Where-Object {$_.ParentProcessId -ne 0} | Select Name,ProcessId,ParentProcessId,CommandLine | Sort Name
    • Zbierz dzienniki Sysmon/Windows: wevtutil epl Microsoft-Windows-Sysmon/Operational C:\IR\sysmon.evtx wevtutil epl Security C:\IR\security.evtx
  3. Korelacja z pocztą (M365):
    • Sprawdź EmailEvents po RecipientEmailAddress i NetworkMessageId (Advanced Hunting/Sentinel).
  4. Blokuj odbiorcę/nadawcę kampanii (policy DLP/transport rules; ZAP, jeśli nie zadziałał).
  5. Patching: potwierdź, że host ma zainstalowany biuletyn MS10‑087 / odpowiednie KB.
  6. Eradykacja: usuń plik RTF, artefakty 2. etapu, wpisy Autostartu (jeśli wystąpiły).
  7. Lessons learned: reguły ASR (blokada procesów potomnych Office), blokady rozszerzeń RTF w bramkach mailowych.

Przykłady z kampanii / case studies

  • Aoqin Dragon – wykorzystywał m.in. CVE‑2010‑3333 (T1203) w atakach ukierunkowanych.
  • Transparent Tribe – w przeszłości używał dokumentów RTF do execute (T1203), w tym CVE‑2010‑3333.
  • Przynęty tematyczne raportowane przez Microsoft (WDSI) – np. „New Year’s Greeting Card” (ru), „Bilawar Bhutto Sex Scandal” – przykład socjotechniki dla RTF.

Lab (bezpieczne testy) — przykładowe komendy

Cel: sprawdzić, czy telemetria i reguły działają bez użycia złośliwego exploit‑RTF.

  1. Telemetria procesów potomnych (pozytywny, lecz „dobry” sygnał):
    • W Wordzie: Wstaw → Obiekt → Obraz mapy bitowej (Paint) → zapis i zamknięcie. To uruchomi mspaint.exe jako dziecko WINWORD.EXE, co pozwoli przetestować pipeline logowania i reguły (powinno być dopuszczone jako FP do wykluczenia).
  2. Sprawdzenie parsowania RTF offline:
    • Użyj narzędzi analitycznych do statycznego wglądu (np. rtfdump.py, oletools rtfobj) na bezpiecznych plikach referencyjnych. Szukaj znaczników \object, \objdata, anomalii w strukturze (np. nietypowe wielkości).
  3. Korelacja z M365:
    • Wyślij do skrzynki testowej nieszkodliwy RTF i zweryfikuj, że pojawia się w EmailAttachmentInfo oraz że KQL łączy dane z DeviceProcessEvents.

Mapowania (Mitigations, Powiązane techniki)

Mitigations (ATT&CK)

  • M1051 – Update Software: stosuj poprawki (MS10‑087/KB) i regularny patching pakietu Office/Outlook.
  • M1042 – Disable or Remove Feature or Program: wyłącz/usuń zbędne komponenty Office/RTF w viewerach, rozważ blokady uruchamiania procesów potomnych Office (ASR/AppControl).
  • Dodatkowo: szkolenia użytkowników, filtrowanie i inspekcja poczty (powiązanie z T1566).

Powiązane techniki ATT&CK (H3)

  • T1203 — Exploitation for Client Execution -Atakujący uruchamia kod poprzez exploit w aplikacji klienckiej (tu: Word/RTF). Platforms: Windows, macOS; Tactic: Execution. Ver. 1.5 (modyf. 24‑10‑2025).
  • T1566.001 — Phishing: Spearphishing Attachment -Dostarczanie złośliwego RTF jako załącznika e‑mail, często z przynętami tematów. Tactic: Initial Access.
  • T1204 — User Execution – Skuteczność zależy od interakcji użytkownika (otwarcie/podgląd).

Źródła / dalsza literatura

  • NVD – CVE‑2010‑3333: opis, wersje podatne, CVSS, KEV (CISA). (NVD)
  • Microsoft MS10‑087 (Security Bulletin): szczegóły ataku przez podgląd RTF w Outlook (Word jako czytnik), listy wersji i KB. (Microsoft Learn)
  • Rapid7 (Metasploit module): kontekst właściwości pFragments w parserze RTF. (Rapid7)
  • MITRE ATT&CK T1203 (ver. 1.5, v18) – przykłady grup wykorzystujących CVE‑2010‑3333. (MITRE ATT&CK)
  • ATT&CK T1566.001 – spearphishing attachment (kontekst dostarczenia). (MITRE ATT&CK)
  • Microsoft WDSI – Exploit:Win32/CVE‑2010‑3333 – przykładowe tematy przynęt. (microsoft.com)
  • M365 Defender – EmailEvents / EmailPostDeliveryEvents – dokumentacja schematów. (Microsoft Learn)
  • Sigma – „Suspicious Microsoft Office Child Process”. (detection.fyi)
  • Elastic – prebuilt EQL „Suspicious MS Office Child Process”. (Elastic)
  • Splunk blog/research – praca z Sysmon EID 1; oraz analityka „Office spawning cmd.exe”. (Splunk)

Checklisty dla SOC / CISO

SOC

  • Reguły: Office → LOLBins (Sigma/Splunk/KQL/EQL) włączone i przetestowane.
  • Korelacja EmailEventsDeviceProcessEvents po UPN/NetworkMessageId.
  • Zbieranie Sysmon (EID 1/3) i Windows Security (4688) z hostów użytkowników.
  • Alert na awarie Worda (EID 1000) w kontekście otwarcia .rtf.
  • Blokady/ASR: „Block Office applications from creating child processes”.

CISO

  • Potwierdzony patch level (MS10‑087) dla wszystkich stacji z Office.
  • Polityka pocztowa: sandbox/preview dla RTF, DMARC/DKIM, ZAP aktywny.
  • Testy skuteczności detekcji (bezpieczne laby) i cykliczne ćwiczenia IR.
  • Program świadomości użytkowników nt. załączników RTF (T1566.001).

Uwaga końcowa: CVE‑2010‑3333 ma w NVD CVSS v3.1 = 7.8 (HIGH) oraz CVSS v2 = 9.3 (HIGH); traktuj jako wysoki priorytet i utrzymuj łatki/kompensacje.


Krytyczna luka w React Native Community CLI (CVE-2025-11953): zdalne wykonanie kodu przez niezaufane żądania POST

Wprowadzenie do problemu / definicja luki

JFrog ujawnił krytyczną podatność CVE-2025-11953 (CVSS 9.8) w popularnym pakiecie npm @react-native-community/cli (i komponencie cli-server-api) wykorzystywanym do uruchamiania serwera deweloperskiego Metro w projektach React Native. Luka pozwala niezautoryzowanemu atakującemu na zdalne wykonanie poleceń poprzez wysłanie żądania POST do podatnego endpointu serwera. Błąd został załatany — poprawka dostępna jest od wersji 20.0.0 pakietu @react-native-community/cli-server-api.

W skrócie

  • CVE-2025-11953 umożliwia zdalne wykonanie kodu (RCE) na maszynie, która uruchomiła serwer Metro z podatną wersją CLI.
  • Dotyczy projektów inicjalizowanych z użyciem @react-native-community/cli (bez frameworka), gdy Metro nasłuchuje na interfejsach zewnętrznych. Expo i środowiska niekorzystające z Metro zwykle nie są podatne.
  • Wykonalność: pełne RCE potwierdzone na Windows; na macOS/Linux — uruchamianie arbitralnych programów z ograniczoną kontrolą argumentów (prawdopodobnie możliwa eskalacja po dalszych badaniach).
  • Aktualizacja do ≥20.0.0 (cli-server-api) lub wiązanie serwera do 127.0.0.1 niweluje ryzyko.

Kontekst / historia / powiązania

Zespół JFrog Security Research opisał podatność 4 listopada 2025 r.; SecurityWeek nagłośnił problem tego samego dnia. Meta (współopiekun ekosystemu RN) szybko wprowadziła poprawkę. Incydent wpisuje się w szerszy trend zagrożeń łańcucha dostaw JavaScript/npm oraz ataków na narzędzia deweloperskie.

Analiza techniczna / szczegóły luki

  • Zakres wersji: podatny jest komponent @react-native-community/cli-server-api w wersjach 4.8.0–20.0.0-alpha.2; naprawiono od 20.0.0. W praktyce dotyczy to również odpowiadających im wersji @react-native-community/cli.
  • Przyczyna: endpoint /open-url w middleware CLI przyjmował wartość z ciała żądania (req.body.url) i przekazywał ją bez walidacji do funkcji open() (pakiet open), co prowadzi do Command Injection. Dodatkowo serwer bywał wiązany do 0.0.0.0/[::] (zamiast localhost), wystawiając go na sieć.
  • Wektor ataku (bez uwierzytelniania): atakujący w tej samej sieci (lub przez ekspozycję portu) wysyła POST na podatny endpoint; na Windows możliwe jest wykonanie dowolnych poleceń shell (np. cmd /c ...).
  • Identyfikatory i scoring: CVE-2025-11953, CVSS 3.1: 9.8 (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H).
  • Advisory: wpis w GitHub Advisory Database opisuje podatność jako OS command injection w serwerze Metro otwieranym przez RN CLI.

Praktyczne konsekwencje / ryzyko

  • Przejęcie stacji deweloperskiej: uruchamianie arbitralnych poleceń (pełne RCE na Windows) może skutkować kradzieżą tokenów, kluczy SSH, poświadczeń do rejestrów, a nawet zatruciem łańcucha dostaw poprzez wstrzyknięcie backdoorów do kodu aplikacji.
  • Pivot w sieci firmowej: stanowiska Dev często mają szerokie uprawnienia i dostęp do CI/CD; złośliwy kod może rozprzestrzenić się do pipeline’ów. (Wniosek na bazie wektora RCE i typowych konfiguracji CI/CD).
  • Atak z sąsiedniej sieci / Wi-Fi gościnne: domyślny binding na wszystkie interfejsy zwiększa ryzyko w środowiskach współdzielonych (biura, coworkingi).

Rekomendacje operacyjne / co zrobić teraz

1) Natychmiastowe działania naprawcze

  • Zaktualizuj **@react-native-community/cli-server-api do wersji >= 20.0.0 we wszystkich projektach RN; w razie potrzeby zaktualizuj także @react-native-community/cli do wersji zgodnej z poprawką.
  • Jeśli aktualizacja teraz niemożliwa: uruchamiaj Metro z wiązaną pętlą zwrotną:
    npx react-native start --host 127.0.0.1

2) Detekcja i triage

  • Sprawdź, czy w projekcie/globalnie masz podatny pakiet:
    npm list @react-native-community/cli-server-api oraz npm list -g @react-native-community/cli-server-api.
  • Przejrzyj logi zapór/IDS oraz telemetrykę hostów pod kątem nietypowych żądań POST do serwera Metro i uruchomień procesów spoza IDE (zwłaszcza na Windows). (Dobre praktyki wynikające z wektora ataku).

3) Utwardzenie procesu developerskiego

  • Ogranicz ekspozycję: tuneluj dostęp do Metro przez adb reverse/USB lub używaj sieci izolowanych dla dev.
  • Higiena sekretów: rotuj tokeny npm/GitHub, klucze SSH i ciasteczka SSO, jeśli Metro było wystawione i podatne.
  • CI/CD: uruchamiaj buildy w czystych, odseparowanych agentach; włącz skan zależności (SCA) i SAST (np. reguły wykrywające flow req.bodyopen()). (Rekomendacje spójne z analizą JFrog).

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

  • W przeciwieństwie do wielu incydentów npm z 2025 r. (ataków supply-chain poprzez zainfekowane pakiety), CVE-2025-11953 nie wymaga zainstalowania złośliwej wersji biblioteki — atak trafia w interfejs HTTP serwera dev działający lokalnie, ale często wystawiony do sieci. (Porównanie do ostatnich kampanii npm ma charakter kontekstowy).

Podsumowanie / kluczowe wnioski

  • Zagrożenie jest realne i krytyczne (CVSS 9.8): wystarczy niezaufane żądanie POST do serwera Metro.
  • Patch jest dostępny: aktualizuj do @react-native-community/cli-server-api >= 20.0.0 i/lub wiąż Metro do 127.0.0.1.
  • Zadbaj o higienę środowisk Dev: ogranicz ekspozycję, rotuj sekrety, wzmocnij monitoring oraz polityki CI/CD.

Źródła / bibliografia

  • JFrog Security Research — „Critical RCE Vulnerability CVE-2025-11953 Puts React Native Developers at Risk” (04.11.2025). Szczegóły techniczne, zakres wersji, mitigacje. (JFrog)
  • SecurityWeek — „Critical Flaw in Popular React Native NPM Package Exposes Developers to Attacks” (04.11.2025). Ujęcie newsowe, kontekst i potwierdzenie patcha. (SecurityWeek)
  • GitHub Advisory Database — opis OS command injection w Metro/CLI (CVE-2025-11953). (GitHub)
  • JFrog Advisory (JFSA-2025-001495618) — karta podatności, komponent i zakres wersji. (research.jfrog.com)
  • CVE feed (CVSS/Wejście CVE) — wektor i metadane CVE-2025-11953. (cvefeed.io)

Rosyjska grupa Curly COMrades ukrywa malware w linuksowych VM-ach Hyper-V, by omijać EDR

Wprowadzenie do problemu / definicja techniki

Badacze opisali nową technikę operacyjną grupy Curly COMrades: po kompromitacji hosta z Windows napastnicy włączają Hyper-V i importują ukrytą, minimalistyczną maszynę wirtualną z Alpine Linux, w której uruchamiają własne implanty. Dzięki izolacji wykonywania w VM unikają detekcji przez rozwiązania EDR działające na hoście.

W skrócie

  • Atakujący tworzą lekki VM (ok. 120 MB dysku, 256 MB RAM) na Hyper-V i nazywają go „WSL”, aby zlał się z otoczeniem.
  • Wewnątrz VM działają CurlyShell (reverse shell przez HTTPS, persystencja cron) i CurlCat (reverse proxy/SSH→HTTPS).
  • VM używa Default Switch Hyper-V, więc cały ruch wygląda jakby pochodził z IP hosta. To utrudnia sieciową detekcję C2.
  • Kampania była obserwowana m.in. latem 2025 r.; badania prowadził Bitdefender z udziałem CERT Gruzja.

Kontekst / historia / powiązania

Curly COMrades to aktor APT działający co najmniej od 2024 r., powiązany z celami zgodnymi z interesami Rosji. Wcześniejsze aktywności obejmowały m.in. sektor publiczny w Gruzji i energetykę w Mołdawii. Najnowsza publikacja rozszerza znane TTP o trwałą obecność w VM Hyper-V na hostach ofiar.

Analiza techniczna / szczegóły luki

Wejście i przygotowanie środowiska

  • Napastnicy zdalnie włączają rolę Hyper-V i wyłączają interfejs zarządzania, używając poleceń DISM; następnie importują prekonfigurowaną VM (VMCX/VHDX) i startują ją PowerShellem: Import-VM oraz Start-VM -Name WSL. Pliki VM trafiają pod mylącą ścieżkę w C:\ProgramData\Microsoft\AppV\app\.

Konfiguracja VM

  • VM z Alpine Linux jest skrojony „pod ofiarę” (m.in. wpisy /etc/hosts, niestandardowy DNS w /etc/resolv.conf). Sieć ustawiona na Default Switch (NAT), co tuneluje ruch przez stos sieciowy hosta.

Implanty i persystencja

  • CurlyShell (ELF, C++, libcurl) – reverse shell przez HTTPS, uruchamiany okresowo via cron; ukrywa I/O, stosuje niestandardową bazę Base64 w protokole C2. Przykładowy hash: MD5 c6dbf3de8fd1fc9914fae7a24aa3c43d.
  • CurlCat (ELF, C++, libcurl) – lekki tunnel/ProxyCommand w ~/.ssh/config, pakuje SSH w HTTP/HTTPS; przykład MD5: 1a6803d9a2110f86bb26fcfda3606302.

Dalsze operacje

  • Skrypty PowerShell do lateral movement/persystencji (m.in. wstrzyknięcia biletów Kerberos do LSASS oraz zadania GPO zakładające lokalne konta).

Praktyczne konsekwencje / ryzyko

  • Omijanie EDR host-based: wykonanie i artefakty procesu są „przeniesione” do VM, a ruch C2 bywa widoczny jedynie jako zwykły HTTPS z IP hosta. Bez inspekcji na granicy host↔VM anomalia może pozostać niewidoczna.
  • Trwałość i pivot: reverse proxy ułatwia skryte łącza zwrotne i przesiadki w sieci, także gdy host jest pozornie „czysty”.
  • Mylenie obrony: nazwanie VM jako „WSL” i ulokowanie plików w ProgramData\Microsoft\AppV\ ma obniżyć czujność operatorów SOC.

Rekomendacje operacyjne / co zrobić teraz

  1. Inwentaryzacja i kontrola wirtualizacji
    • Wymuś politykę: Hyper-V wyłączone na stacjach/serwerach, gdzie nie jest potrzebne. Alarmuj na nagłe włączenie roli Hyper-V (zapis DISM), import/start VM (logi Hyper-V/VMMS) oraz tworzenie VMCX/VHDX w nietypowych ścieżkach (ProgramData\Microsoft\AppV\...).
  2. Telemetria host↔VM i sieć
    • Monitoruj interfejs vEthernet (Default Switch), nietypowe połączenia wychodzące przez 443 z hostów bez roli serwerowej, a także HTTP/HTTPS z długimi sesjami i stałą entropią (tunnel). Stosuj egress filtering i listy dozwolonych kierunków.
  3. Hunting
    • Szukaj: Start-VM -Name WSL, Import-VM na hostach użytkowników; śladów RAR/WinRAR rozpakowujących VM z archiwów; obecności katalogu AppV\app\Virtual Machines\*.vmcx. W logach PowerShell – nietypowe I/O redirection typu | cmd > %ProgramData%\WindowsUpdateTask_*.tmp.
  4. EDR/EDR+NDR
    • Uzupełnij EDR o host-based network inspection (np. sensoring ruchu z interfejsów wirtualnych) i detekcje HTTPS-tunnel. Bez takiej warstwy VM-based C2 może pozostać niewidoczny.
  5. Twardnienie i polityki
    • Blokuj możliwość Import-VM/Start-VM dla zwykłych użytkowników; kontroluj WinRM/PowerShell Remoting, używaj Credential Guard/LSA Protection, ogranicz Kerberos ticket manipulation.
  6. IR: triage VM-ów
    • Jeśli wykryto ślady: zrzut konfiguracji Hyper-V (VM list, switch, NAT), snapshot dysku VHDX do analizy (montaż read-only), sprawdzenie cronów w /etc/crontabs i plików /bin/init_tools, /root/updater, ~/.ssh/config. Hashy CurlyShell/CurlCat porównaj z IOC z publikacji.

Różnice / porównania z innymi przypadkami

Kryminaliści/ransomware wcześniej wykorzystywali VM-y (np. do szyfrowania z wnętrza maszyny), jednak Curly COMrades idzie dalej: VM stanowi bazę operacyjną C2 z customowymi implantami i trwałą łącznością, a nie tylko jednorazowym narzędziem. Nowością jest też agresywne „udawanie” WSL i prekonfigurowany tunel SSH→HTTPS oparty na własnym komponencie (CurlCat).

Podsumowanie / kluczowe wnioski

  • Wirtualizacja to nie „bezpieczna strefa” – to wektor ukrywania operacji.
  • Widoczność w warstwie Hyper-V (zdarzenia, konfiguracje, pliki) i inspekcja ruchu z interfejsów wirtualnych stają się krytyczne.
  • Implementuj zasadę najmniejszych uprawnień dla operacji Hyper-V, monitoruj Default Switch i poluj na artefakty „WSL” w Hyper-V.

Źródła / bibliografia

  • Bitdefender: „Curly COMrades: Evasion and Persistence via Hidden Hyper-V Virtual Machines” (04.11.2025) – analiza techniczna, TTP, IoC. (Bitdefender)
  • BleepingComputer: „Russian hackers abuse Hyper-V to hide malware in Linux VMs” (04.11.2025) – omówienie kampanii. (BleepingComputer)
  • Dark Reading: „Pro-Russian Hackers Use Linux VMs to Hide in Windows” (04.11.2025) – kontekst i wnioski. (darkreading.com)
  • The Register: „Russian spies pack custom malware into hidden VMs on Windows” (04.11.2025) – streszczenie i cytaty z badań. (The Register)

CVE-2010-2883 — Adobe Reader/Acrobat CoolType (SING)

TL;DR

Krytyczna podatność w CoolType.dll (obsługa czcionek) programu Adobe Reader/Acrobat umożliwia zdalne wykonanie kodu po otwarciu specjalnie spreparowanego pliku PDF zawierającego wadliwy TTF z tabelą SING. Błąd był aktywnie wykorzystywany od września 2010 r.; naprawiono go w wersjach 9.4 / 8.2.5 (oraz później w Reader X z sandboxem). Mapowanie ATT&CK: T1566.001 (dostarczenie załącznikiem), T1204.002 (uruchomienie przez użytkownika), T1203 (exploitation for client execution). W praktyce szukaj: niezwykłych procesów potomnych uruchamianych przez AcroRd32.exe/Acrobat.exe, gwałtownych crashy modułu CoolType.dll (Event ID 1000) i łącz to z telemetrią pocztową.


Krótka definicja techniczna

CVE-2010-2883 to buforowy przepełnienie stosu w CoolType.dll (parsowanie tabeli SING w czcionce TrueType osadzonej w PDF), wyzwalane przy otwarciu złośliwego dokumentu PDF; skutkiem jest crash lub wykonanie dowolnego kodu w kontekście aplikacji.


Gdzie występuje / przykłady platform

  • Windows, macOS, UNIX (Reader 9.3.4 i starsze; Acrobat 9.3.4 i starsze; Reader/Acrobat 8.x do 8.2.4) — systemy te były podatne przed aktualizacją do 9.4/8.2.5.
  • Środowiska korporacyjne (AD/M365): najczęściej wektor dostarczenia to spearphishing z PDF (Exchange/M365). Mapowanie do ATT&CK Initial Access.
  • Chmura (AWS/GCP/Azure): pliki bywały hostowane na publicznych zasobnikach (np. S3); przydaje się telemetria dostępu (CloudTrail/S3 Access Logs) do analizy dystrybucji. [Uwaga: nie jest to błąd usług chmurowych, a jedynie kanał dostarczenia.]
  • K8s/ESXi: brak bezpośredniego wpływu — jedynie gdy stacje VDI/WorkSpaces otwierają PDF.

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

PDF może osadzać czcionki TTF/OTF. W podatnych wersjach Reader/Acrobat błędny kod w bibliotece CoolType nieprawidłowo łączył ciągi (m.in. z pola uniqueName w tabeli SING) wykonując niebezpieczne operacje na buforze (np. strcat), co prowadziło do przepełnienia stosu. Napastnik, dołączając tak przygotowany TTF do PDF, osiągał wykonanie kodu po otwarciu dokumentu przez ofiarę. We wrześniu 2010 r. raportowano aktywną eksploatację w kampaniach spearphishingowych. Adobe wydało aktualizacje 8.2.5/9.4 (APSB10‑21), zaś Reader X (11/2010) wprowadził Protected Mode (sandbox), znacząco utrudniający dalsze nadużycia klas tego typu błędów.


Artefakty i logi (tabela)

ŹródłoID / typCo obserwowaćPrzykład / WskazówkaUwaga
Windows Security4688Procesy potomne AcroRd32.exe/Acrobat.execmd.exe, powershell.exe, wscript.exe, rundll32.exe, regsvr32.exe, msiexec.exeParentImage=…\AcroRd32.exe, Image=…\powershell.exe, CommandLine zawiera -enc/URLWzorzec po‑eksploatacyjny (T1204.002/T1203)
Sysmon1 (ProcessCreate)Jak wyżej, bogatsze pola (hash, integrator)Image, ParentImage, CommandLine
Sysmon3 (NetworkConnect)Nietypowe połączenia z procesu Reader/Acrobat po otwarciu PDFAcroRd32.exe → nietypowe domeny/IPKoreluj z 4688/1
Sysmon11/15 (FileCreate/FileStream)Upuszczenia binariów do %APPDATA%\*\TempNazwy losowe .exe/.dll
Windows Application1000/1001Crash AcroRd32.exe/Acrobat.exe z modułem CoolType.dll (DoS/corruption)„Faulting module name: CoolType.dll”Częsty artefakt przy próbie eksploatacji
Poczta (M365/Exchange)Threat/Policy eventsZałączniki PDF oznaczone jako złośliwe/heurystyka fontów; kampanie spearphishingIdentyfikatory alertów EOP/Defender for OfficeMapuj do T1566.001
Proxy/HTTPPobrania PDF z domen jednorazowych/S3UA programu pocztowego lub przeglądarki
AWS CloudTrail (S3 Data Events)GetObject(Gdy dystrybucja przez S3) masowe pobrania .pdf z publicznych bucketóweventSource="s3.amazonaws.com" AND key LIKE "%.pdf"Kanał dostarczenia, nie wektor wykonania

(Zakres podatnych wersji i platform: Adobe Advisory/US‑CERT).


Detekcja (praktyczne reguły)

Sigma (Windows / process_creation)

title: Acrobat/Reader Spawns Suspicious Child (CVE-2010-2883 Follow-on)
id: 2b2b8f2a-9a0e-4e7d-9b1c-4b3d9c9b6a88
status: test
description: >
  Wykrywa podejrzane procesy potomne uruchamiane przez AcroRd32.exe/Acrobat.exe,
  co może wskazywać na eksploatację PDF (np. CVE-2010-2883) i fazę post-exploitation.
references:
  - https://attack.mitre.org/techniques/T1204/002/
  - https://attack.mitre.org/techniques/T1203/
logsource:
  product: windows
  category: process_creation
detection:
  sel_parent:
    ParentImage|endswith:
      - '\AcroRd32.exe'
      - '\Acrobat.exe'
  sel_child:
    Image|endswith:
      - '\cmd.exe'
      - '\powershell.exe'
      - '\wscript.exe'
      - '\cscript.exe'
      - '\rundll32.exe'
      - '\regsvr32.exe'
      - '\msiexec.exe'
  sel_cmd:
    CommandLine|contains:
      - ' -enc '
      - 'http://'
      - 'https://'
      - 'FromBase64String'
  condition: sel_parent and sel_child or (sel_parent and sel_cmd)
falsepositives:
  - Otwarcie linku z PDF uruchamiające przeglądarkę (dopuszczalne; dodaj allowlist)
  - Wtyczki lub integracje korporacyjne Acrobat (rzadko)
level: high
tags:
  - attack.t1204.002
  - attack.t1203
  - attack.t1566.001

(Mapowanie ATT&CK)

Splunk (SPL)

(index=win* (sourcetype="XmlWinEventLog:Microsoft-Windows-Sysmon/Operational" EventCode=1)
 OR (sourcetype="WinEventLog:Security" EventCode=4688))
| eval ParentImage=coalesce(ParentImage, ParentProcessName, process_parent_image)
| eval Image=coalesce(Image, New_Process_Name, process_name)
| eval CommandLine=coalesce(CommandLine, Process_Command_Line, cmdline)
| search (like(ParentImage, "%\\AcroRd32.exe") OR like(ParentImage, "%\\Acrobat.exe"))
| search (like(Image, "%\\cmd.exe") OR like(Image, "%\\powershell.exe") OR like(Image, "%\\wscript.exe") OR like(Image, "%\\cscript.exe")
        OR like(Image, "%\\rundll32.exe") OR like(Image, "%\\regsvr32.exe") OR like(Image, "%\\msiexec.exe")
        OR CommandLine="* -enc *" OR CommandLine="*http*")
| stats earliest(_time) as firstSeen latest(_time) as lastSeen values(CommandLine) as cmd by host user ParentImage Image
| convert ctime(firstSeen) ctime(lastSeen)

KQL (Microsoft Defender for Endpoint / Sentinel)

DeviceProcessEvents
| where InitiatingProcessFileName in~ ("AcroRd32.exe","Acrobat.exe")
| where FileName in~ ("cmd.exe","powershell.exe","wscript.exe","cscript.exe","rundll32.exe","regsvr32.exe","msiexec.exe")
   or ProcessCommandLine has_any (" -enc ","http://","https://","FromBase64String")
| project TimeGenerated, DeviceName, InitiatingProcessAccountName,
          InitiatingProcessFileName, FileName, ProcessCommandLine, InitiatingProcessCommandLine
| order by TimeGenerated desc

CloudTrail (CloudWatch Logs Insights) – dystrybucja przez S3 (opcjonalnie)

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

Elastic / EQL

process where event.type == "start" and
  process.parent.name in ("AcroRd32.exe","Acrobat.exe") and
  process.name in ("cmd.exe","powershell.exe","wscript.exe","cscript.exe",
                   "rundll32.exe","regsvr32.exe","msiexec.exe")

Heurystyki / korelacje

  • Łańcuch rodzic‑potomek: AcroRd32.exe/Acrobat.exe → [„LOLBins”] powershell/wscript/rundll32 → połączenie sieciowe → zapis pliku w %APPDATA%.
  • Crash & połączenie: bliski w czasie Application Error 1000 (moduł CoolType.dll) i nowa aktywność procesu skryptowego.
  • Rzadkość: anomalna dla danej stacji liczba otwarć PDF zakończonych utworzeniem procesu systemowego lub połączeniem wychodzącym.
  • Poczta: alerty EOP/Defender for Office skorelowane z otwarciem konkretnego załącznika PDF (T1566.001).

False positives / tuning

  • Legalne akcje: kliknięcie linku w PDF (otwarcie przeglądarki) — odfiltrować „browser allowlist”.
  • Aktualizacje/Wtyczki: rzadkie scenariusze, w których PDF uruchamia dozwolony instalator/wtyczkę (np. msiexec w integracjach przedsiębiorstwa).
  • Tuning pól: wymagaj co najmniej jednego warunku: CommandLine z URL/-enc, hash niepodpisanego potomka, brak reputacji, lub nietypowe remote IP.

Playbook reagowania (IR)

  1. Zatrzymaj rozprzestrzenianie: izoluj host(y) z alertami (EDR).
  2. Zabezpiecz artefakty: plik PDF, logi 4688/Sysmon 1/3, Application 1000/1001, próbki upuszczonych plików.
  3. Triage: sprawdź łańcuch AcroRd32.exe → <script/binary> i aktywność sieciową; porównaj z reputacją domen/IP.
  4. Eradykacja: odinstaluj stare Reader/Acrobat; zaktualizuj do ≥9.4/8.2.5 lub nowszych gałęzi (preferuj Reader z Protected Mode).
  5. Ochrona: wymuś polityki ASR/EDR blokujące child‑process z czytników PDF; blokuj IOCs w proxy/DNS.
  6. E‑mail: znajdź i usuń identyczne załączniki w skrzynkach (Search & Purge), zakonfiguruj sandboxing załączników (MDO).
  7. Weryfikacja: retro‑hunt 30–90 dni; porównaj do CISA KEV (CVE na liście).
  8. Komunikacja/lessons learned: kampania uświadamiająca (M1017), reguły DLP/AV dla PDF.

Przykłady z kampanii / case studies

  • Eksploatacja „in the wild” (09/2010): raporty SANS ISC oraz US‑CERT wskazują aktywne wykorzystanie błędu w kampaniach złośliwych PDF.
  • Microsoft detections (2010): sygnatura Exploit:Win32/CVE-2010-2883.A opisuje PDF próbujące wyzwolić błąd SING w CoolType.dll.
  • CISA KEV: CVE-2010-2883 znajduje się w katalogu znanych, wykorzystywanych podatności (data dodania: 2022‑06‑08 — wg danych NVD).

Lab (bezpieczne testy) — przykładowe komendy

Cel: przetestować detekcje (a nie sam exploit). Uruchamiaj wyłącznie w izolowanym labie.

A. Atomic Red Team – T1204.002 (Malicious File) / T1566.001 (Spearphishing Attachment – symulacja)

  • Instalacja i uruchomienie przykładowych testów (np. otwarcie pliku generującego proces dziecko):
# Wymaga PowerShell i Invoke-AtomicRedTeam
IEX (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/redcanaryco/invoke-atomicredteam/master/install.ps1')
Install-AtomicRedTeam
Invoke-AtomicTest T1204.002 -ShowDetails
Invoke-AtomicTest T1204.002 -GetPrereqs -RunTest
# alternatywnie (kampania/phishing):
Invoke-AtomicTest T1566.001 -ShowDetails

Spodziewaj się trafień w regułach z sekcji 7 (parent‑child, CommandLine).

B. Negatywny test stabilności (crash monitor)

  • Otwieraj zwykłe, nieszkodliwe PDF-y i potwierdź brak Event 1000 z modułem CoolType.dll. (Służy jako baseline.)

Nie twórz/uruchamiaj złośliwych PDF. Ten lab weryfikuje wyłącznie ścieżkę detekcji i jakość alertów.


Mapowania (Mitigations, powiązane techniki)

Powiązane techniki ATT&CK

  • T1566.001 — Spearphishing Attachment (dostarczenie).
  • T1204.002 — User Execution: Malicious File (klik/otwarcie PDF).
  • T1203 — Exploitation for Client Execution (wykonanie przez exploit w kliencie).

Mitigations (ATT&CK Enterprise)

  • M1051 — Update Software: aktualizacje Reader/Acrobat (9.4/8.2.5+), regularne łatanie.
  • M1040 — Behavior Prevention on Endpoint: EDR/ASR blokujące child‑process z czytników PDF oraz exploit‑guard.
  • M1017 — User Training: edukacja nt. załączników PDF i makiet phishingu.
  • M1031 — Network Intrusion Prevention: IDS/IPS sygnaturowe dla ładunków PDF i C2 po eksploatacji.

Źródła / dalsza literatura

  • NVD — CVE‑2010‑2883 (CVSS, KEV, CPE, opis): „Stack-based buffer overflow… (SING table)”. (NVD)
  • Adobe Advisory (APSA10‑02): wersje podatne, informacja o eksploatacji, zalecenie aktualizacji. (Adobe)
  • US‑CERT / CERT VU#491991: opis błędu i rekomendacje (DEP/ASLR, aktualizacje do 9.4/8.2.5). (kb.cert.org)
  • Microsoft malware encyclopedia: Exploit:Win32/CVE-2010-2883.A (charakterystyka PDF exploit). (Microsoft)
  • SANS ISC diary: „Adobe SING table parsing exploit in the wild” (09/2010). (SANS Internet Storm Center)
  • ATT&CK (v18.0): T1203, T1204.002, T1566.001 — opisy i detekcje. (attack.mitre.org)
  • Reader X / sandbox (kontekst): omówienia mechanizmu i wpływu bezpieczeństwa. (Cert-IST)

Checklisty dla SOC / CISO (krótko)

SOC (operacyjne)

  • Włącz i zbieraj: Security 4688 + Sysmon 1/3/11/15; Application 1000/1001.
  • Alert: parent AcroRd32.exe/Acrobat.exepowershell|wscript|rundll32|regsvr32|msiexec (+ warunki CommandLine).
  • Korelacja: crash CoolType.dll ± połączenie sieciowe ± zapis w %APPDATA%.
  • Triaging: wydobądź PDF, hash, ścieżki, drugie etapy; retro‑hunt.
  • Blokada: IOC w mail/proxy/DNS, reguły EDR child‑process z czytników PDF.

CISO (strategiczne)

  • Program aktualizacji: Reader/Acrobat ≥ 9.4/8.2.5 lub nowsze, preferuj wersje z Protected Mode.
  • Szkolenia (M1017) — rozpoznawanie złośliwych PDF, polityka otwierania załączników.
  • Pokrycie ATT&CK: T1566.001 / T1204.002 / T1203 — detekcje & testy (Atomic).
  • Przegląd KEV / zarządzanie podatnościami — CVE-2010-2883 traktować jako historycznie wykorzystywaną podatność (wysoki priorytet, jeśli legacy).

Uwaga końcowa: Podatność jest historyczna, ale nadal pojawia się w dziedzictwie (legacy) oraz w zestawach testowych. Kluczowe są: aktualizacje, sandboxing czytnika PDF oraz detekcje łańcuchów po‑eksploatacyjnych z procesów AcroRd32.exe/Acrobat.exe.

CVE-2010-2568 — Windows Shell LNK RCE (MS10‑046)

TL;DR

  • Luka w Windows Shell umożliwia zdalne wykonanie kodu przy samym wyświetleniu ikony spreparowanego skrótu .LNK/.PIF (bez kliku). Załatana w biuletynie MS10‑046 (KB2286198).
  • Realne zagrożenie: USB/udziały sieciowe/WebDAV → otwarcie folderu z LNK uruchamia kod napastnika. To był kluczowy wektor Stuxnet.
  • Mapowanie na ATT&CK: T1203, T1204.002, T1091 (replikacja przez nośniki).
  • Detekcja: Sysmon EID 7 (ImageLoad) z explorer.exe ładuje DLL z nośnika wymiennego, EID 1 (ProcessCreate) dla rundll32.exe z literą dysku USB; korelacja z USBDriveMounted w MDE.
  • Remediacja: Patch MS10‑046, blokady ASR/Device Control na USB, ograniczenie AutoRun/AutoPlay, polityki nośników.

Krótka definicja techniczna

CVE‑2010‑2568 to błąd w parsowaniu skrótów przez Windows Shell: podczas ładowania ikony skrótu (.LNK/.PIF) system może załadować i wykonać bibliotekę DLL wskazaną w polu zasobu ikony. Do eksploatacji dochodzi już na etapie renderowania ikon w Explorerze (i innych parserach), co daje RCE z uprawnieniami zalogowanego użytkownika.


Gdzie występuje / przykłady platform

  • Windows: XP SP3, Server 2003 SP2, Vista SP1/SP2, Server 2008 (w tym R2), Windows 7 — wszystkie dotknięte i ocenione jako Critical w MS10‑046 (serwer Core również podatny w niektórych scenariuszach).
  • Active Directory / DC: dotyczy, jeśli kontrolery domeny to ww. wersje Windows.
  • Chmury (AWS/Azure/GCP): Windows VM/WorkSpaces/VDI dziedziczą podatność do czasu aktualizacji.
  • ESXi/K8s/M365: sama luka dot. Windows; środowiska te są istotne jako źródła logów (Sentinel, Elastic, SIEM) i kontroli USB (MDE Device Control).

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

Atakujący tworzy skrót .LNK, którego metadane (np. zasób ikony) wskazują DLL położoną na nośniku wymiennym (USB), udziale UNC/WebDAV lub innym zasobie. Windows Explorer przy renderowaniu ikony odwołuje się do tej ścieżki i ładuje bibliotekę, co w wariancie podatnym daje arbitralne wykonanie kodu — bez interakcji użytkownika i bez uruchamiania celu skrótu. Skuteczność wynika z (1) powszechnego przeglądania folderów poprzez GUI, (2) faktu, że ikony ładowane są automatycznie oraz (3) łatwości wprowadzenia LNK na host (np. USB). Microsoft załatał błąd w MS10‑046/KB2286198, poprawiając walidację referencji do ikon.

Historyczny kontekst: Stuxnet używał CVE‑2010‑2568 do propagacji m.in. przez nośniki, co pozwalało pokonać segmentacje/air‑gap w środowiskach ICS.


Artefakty i logi (co i gdzie obserwować)

Źródło/produktZdarzenie / IDCo szukaćUwagi
SysmonEID 7 (Image loaded)Image = *\explorer.exe i ImageLoaded wskazuje na ścieżkę z literą dysku (np. E:\*.dll), brak podpisuEID 7 domyślnie wyłączony; włączyć selektywnie dla explorer.exe.
SysmonEID 1 (Process Create)rundll32.exe lub regsvr32.exe z argumentem do X:\*.dll; rodzic explorer.exeCzęsty łańcuch po wczytaniu złośliwej biblioteki.
Windows Security4688 (Process Create)Jak wyżej (jeśli brak Sysmon)Mniej kontekstu niż Sysmon.
MDE (Defender XDR)DeviceImageLoadEventsŁadowanie DLL przez explorer.exe z nie‑systemowych wolumenówTabela dla zdarzeń DLL.
MDE (Defender XDR)DeviceEventsActionType == "UsbDriveMounted"; AdditionalFields.DriveLetterKorelować z EID 7/EID 1 w krótkim oknie czasowym.
MDE (Defender XDR)DeviceFileEventsTworzenie/kopiowanie LNK na USBPrzy replikacji przez nośniki.
AWS CloudTrailN/D dla zdarzeń OSCloudTrail rejestruje API/AWS account activity, nie telemetrykę hosta. Używać CloudWatch Logs dla agentów zdarzeń Win/Sysmon.
K8s audit / M365 ops[brak danych / nie dotyczy]Luka dotyczy Windows Shell lokalnie.

Detekcja (praktyczne reguły)

Sigma (Sysmon ImageLoad + korelacja)

title: Possible CVE-2010-2568 Exploitation via Explorer DLL Load from Removable
id: 9d1f5c1f-9b0e-4f16-9d6a-ef7a3a2c2568
status: experimental
description: Detects explorer.exe loading an unsigned DLL from a non-system drive (often USB) – pattern linked to CVE-2010-2568 exploitation.
references:
  - https://learn.microsoft.com/en-us/security-updates/securitybulletins/2010/ms10-046
  - https://attack.mitre.org/techniques/T1091/
logsource:
  product: windows
  service: sysmon
  category: image_load
detection:
  selection:
    Image|endswith: '\explorer.exe'
    ImageLoaded|re: '^[A-Z]:\\.*\.dll$'
  unsigned:
    Signed: 'false'
  condition: selection and unsigned
fields:
  - Image
  - ImageLoaded
  - Signed
  - SignatureStatus
  - Hashes
level: high
tags:
  - attack.t1203
  - attack.t1091

Splunk (SPL) – 2 wzorce

A) DLL ładowana przez Explorera z dysku poza systemem:

index=sysmon sourcetype="XmlWinEventLog:Microsoft-Windows-Sysmon/Operational"
EventCode=7 Image="*\\explorer.exe"
| where like(ImageLoaded, "%:\\%.dll")
| stats count min(_time) as first_seen max(_time) as last_seen by host Image ImageLoaded Signed SignatureStatus

B) Próba rundll32 z literą dysku (po USB mount):

index=sysmon EventCode=1 Image="*\\rundll32.exe" ParentImage="*\\explorer.exe"
| where match(CommandLine, "[A-Z]:\\\\.+\\.dll")
| stats values(CommandLine) as cmd by host, ParentImage, Image

KQL (Microsoft Defender XDR / Sentinel)

Korelacja USB → ładowanie DLL przez Explorera (≤5 min):

let usb = DeviceEvents
| where ActionType == "UsbDriveMounted"
| extend DriveLetter = tostring(parse_json(AdditionalFields).DriveLetter)
| project DeviceId, DeviceName, MountTime=Timestamp, DriveLetter;
DeviceImageLoadEvents
| where InitiatingProcessFileName =~ "explorer.exe"
| where FolderPath matches regex @"^[A-Z]:\\.*\.dll$"
| project DeviceId, DeviceName, LoadTime=Timestamp, FolderPath, InitiatingProcessFileName
| join kind=innerunique (usb) on DeviceId
| where LoadTime between (MountTime .. MountTime + 5m)
| order by LoadTime desc

Uwaga: nazwy tabel/kolumn zgodnie z referencją AH; dostępność zależy od wdrożenia MDE.

„CloudTrail query (AWS CLI/CloudWatch)” — uwaga praktyczna

CloudTrail nie rejestruje zdarzeń OS, więc detekcję opieramy o CloudWatch Logs Insights dla strumieniowanych dzienników Sysmon/Windows Event Log:

-- CloudWatch Logs Insights (grupa: /os/sysmon)
fields @timestamp, @message
| filter EventID=7 and like(@message, "\\explorer.exe") and like(@message, /:\\\\.*\.dll/i)
| sort @timestamp desc
| limit 100

(Aktywność CloudTrail zostaw do monitoringu API AWS).

Elastic / EQL

Proces z USB (rundll32) po Explorerze:

process where event.category == "process"
  and process.name == "rundll32.exe"
  and process.parent.name == "explorer.exe"
  and process.command_line regex "^[A-Z]:\\\\.*\\.dll"

Ładowanie biblioteki (ECS event.category: "library") przez Explorera:

any where event.category == "library"
  and process.name == "explorer.exe"
  and dll.path regex "^[A-Z]:\\\\.*\\.dll"

(ECS pola dll.* dla zdarzeń ładowania bibliotek).


Heurystyki / korelacje

  • USB mount → (≤5 min) → explorer.exe ładuje nienadzorowaną DLL z tej litery → (≤10 s) → rundll32.exe/regsvr32.exe z tą ścieżką.
  • Brak podpisu / SignatureStatusValid dla DLL ładowanych przez Explorera.
  • Nowe LNK pojawiające się na USB lub udziałach sieciowych; LNK wskazujące na nietypowe lokalizacje (\\server\share, \\?\GLOBALROOT\Device\...).
  • Zbieżność z politykami Device Control (odmowy/alerty MDE przy USB).

False positives / tuning

  • Legalne narzędzia portable na USB mogą dynamicznie ładować DLL (wyjątki po hashach/podpisach).
  • Środowiska dev/test uruchamiające biblioteki z nietypowych ścieżek — odseparuj po OU/Tagach i godzinach pracy.
  • Rozważ wąskie filtrowanie Sysmon EID 7 (np. tylko Image="*\explorer.exe"), by ograniczyć wolumen.

Playbook reagowania (IR)

  1. Triaging & containment
  • Odizoluj host w EDR/EDR‑NAC. Zanotuj literę/identyfikator USB.
  • W MDE sprawdź oś czasu: UsbDriveMountedDeviceImageLoadEvents/rundll32. (
  1. Zbieranie artefaktów
  • Zabezpiecz nośnik i kopię folderu z LNK. Oblicz hashe (SHA‑256).
  • Z Sysmon wyciągnij EID 7/1 i towarzyszące 4688.
  1. Analiza
  • Sprawdź podpisy DLL, nietypowe eksporty, ścieżki.
  • Koreluj z innymi hostami (ta sama litera USB, te same LNK).
  1. Remediacja
  • Wymuś instalację KB2286198 / MS10‑046 (dla systemów historycznych) i aktualizacje.
  • Włącz/egzekwuj ASR / Device Control dla USB, wyłącz AutoRun/AutoPlay.
  1. Higiena i komunikacja
  • Blokada podpisu/uruchamiania z USB w GPO/MDE.
  • Komunikat dla użytkowników nt. bezpiecznego użycia nośników.

Przydatne polecenia (na hoście podejrzanym):

# Szybki przegląd procesów powiązanych
Get-WinEvent -LogName "Microsoft-Windows-Sysmon/Operational" | Where-Object {
  $_.Id -in 1,7
} | Select TimeCreated, Id, @{n="Exe";e={$_.Properties[4].Value}}, @{n="Path";e={$_.Properties[5].Value}} | Format-Table -Auto

# Sprawdzenie dostępnych dysków i typów
Get-CimInstance Win32_LogicalDisk | Select DeviceID, DriveType, VolumeName

Przykłady z kampanii / case studies

  • Stuxnet (2010–2011): wykorzystanie CVE‑2010‑2568 do propagacji m.in. przez nośniki wymienne (i do eksfiltracji na systemy air‑gapped); Microsoft opisał eksploatację w MS10‑046, a szczegółowy dossier Symanteca dokumentuje oś czasu i wektory.

Lab (bezpieczne testy) — symulacja detekcji, nie exploit

Cel: wygenerować telemetrię, która powinna uruchomić reguły bez realnego wykorzystania luki.

  1. Przygotuj: host testowy z Sysmon (EID 1 i selektywnie EID 7 dla explorer.exe) i MDE.
  2. Włóż czysty pendrive (zapisz jego literę; w MDE powstanie UsbDriveMounted).
  3. Uruchom próbę ładowania DLL z USB (bez powodzenia, ale z logiem):
# Stwórz pusty plik DLL (nie zostanie załadowany poprawnie)
New-Item -Path "E:\test.dll" -ItemType File | Out-Null
# Wywołaj rundll32 ze ścieżką na USB (wygeneruje EID 1 i próbę dostępu)
Start-Process -FilePath "$env:SystemRoot\System32\rundll32.exe" -ArgumentList "E:\test.dll,EntryPoint" -NoNewWindow
  1. Opcjonalnie: skopiuj zwykły skrót .lnk na USB (bez złośliwych właściwości) i obserwuj zapisy plikowe.
  2. Zweryfikuj alerty/reguły: Sigma/Splunk/KQL/Elastic z sekcji 7.

Nie twórz ani nie uruchamiaj spreparowanych LNK z osadzonymi DLL — lab ma charakter wyłącznie defensywny.


Mapowania (Mitigations, powiązane techniki)

Mitigations (ATT&CK):

  • M1051 — Update Software: stosuj aktualizacje (MS10‑046/KB2286198).
  • M1040 — Behavior Prevention on Endpoint: reguły ASR blokujące uruchamianie z nośników.
  • M1042 — Disable or Remove Feature or Program: wyłącz Autorun/AutoPlay; ogranicz użycie USB.

Powiązane techniki:

  • T1203 — Exploitation for Client Execution – Eksploatacja luki w komponencie klienckim (Windows Shell) dla uzyskania wykonania na hoście ofiary. Takt.: Execution; Wersja 1.5 (2025‑10‑24).
  • T1204.002 — User Execution: Malicious File -Skrót/LNK jako złośliwy plik wywołujący łańcuch wykonania; często po spear‑phishingu lub przez udostępnione zasoby. Takt.: Execution; Wersja 1.6 (2025‑10‑24).
  • T1091 — Replication Through Removable Media – Dystrybucja przez USB, w tym historyczny przypadek Stuxnet używający CVE‑2010‑2568 do propagacji. Taktyki: Initial Access, Lateral Movement; Wersja 1.3 (2025‑10‑24).
  • T1547.009 — Shortcut Modification – Nie ta luka, ale pokrewne użycie .LNK dla Persistence (autostart/Startup). Warto monitorować modyfikacje LNK w lokacjach autostartu.

Źródła / dalsza lektura

  • Microsoft: MS10‑046Vulnerability in Windows Shell Could Allow Remote Code Execution (2286198). (Microsoft Learn)
  • NVD / CVE Record: CVE‑2010‑2568 (opis, CVSS). (NVD)
  • MITRE ATT&CK: T1203, T1204.002, T1091 (wersje, zakres). (attack.mitre.org)
  • Symantec/Broadcom: W32.Stuxnet Dossier (szczegółowa analiza i oś czasu).
  • Unit42: Windows Shortcut (LNK) Malware Strategies (tło LNK, warianty). (Unit 42)
  • MDE AH referencje: DeviceImageLoadEvents, DeviceEvents (USB). (Microsoft Learn)
  • CloudTrail zakres/logi API (dlaczego nie OS): dokumentacja AWS. (AWS Documentation)
  • Sysmon: EID 1/7 — definicje i praktyka. (Microsoft Learn)

Checklisty dla SOC / CISO

SOC (operacyjne):

  • Zbierasz Sysmon EID 1/7 i masz selektory dla explorer.exe?
  • Masz reguły korelacji USB mount → ImageLoad/ProcessCreate?
  • Monitorujesz tworzenie/modyfikacje .LNK w autostarcie i na USB?
  • Utrzymujesz allow‑listy podpisów/ścieżek dla legalnych portable?

CISO (strategiczne):

  • Potwierdzone wdrożenie MS10‑046 na hostach historycznych / obrazach VM.
  • Polityki Device Control / ASR: blokada uruchamiania z USB, audyt wyjątków.
  • Wyłączone Autorun/AutoPlay i egzekwowane szyfrowanie nośników.
  • Procedury reagowania na incydenty z udziałem nośników wymiennych (izolacja, zabezpieczenie dowodów, komunikacja).

Uwaga końcowa: CVE‑2010‑2568 jest historycznie krytyczna i szeroko udokumentowana. Współczesne systemy Windows mają łatę, ale wektory LNK/USB pozostają popularne (np. jako malicious file w T1204.002). Detekcja zachowania i higiena USB są kluczowe nawet po załataniu luki.