
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/typ | ID / Pole | Co szukać |
|---|---|---|---|
| Windows | Security | 4688 (Process Creation) | ParentImage = \WINWORD.EXE/EXCEL.EXE/POWERPNT.EXE + NewProcessName = cmd.exe, powershell.exe, mshta.exe, wscript.exe, rundll32.exe, regsvr32.exe |
| Windows | Sysmon | 1 (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% |
| MDE | Advanced Hunting | DeviceProcessEvents, DeviceNetworkEvents | InitiatingProcessFileName w {WINWORD/EXCEL/POWERPNT}, FileName w {cmd/powershell/…}, nietypowe domeny C2 |
| M365 | Defender for Office 365 / Purview | ZAP, New-ComplianceSearchAction -Purge | Alerty o złośliwych załącznikach, raporty EOP, akcje SoftDelete/HardDelete przy remediacji maili. |
| AWS | CloudTrail 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)
- Triag i zawężenie
- Uruchom zapytania (SPL/KQL powyżej).
- Piwotuj po
ParentImage=WINWORD.EXEi user session. - Sprawdź alerty MDO (Defender for Office 365) i retencję ZAP.
- Izolacja i skan
- Izoluj host w EDR/MDE (izolacja sieci).
- Na hoście: szybki skan AV:
"%ProgramFiles%\Windows Defender\MpCmdRun.exe" -Scan -ScanType 2
- 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).
- Artefakty
- Zbierz pliki z
%TEMP%/%APPDATA%, Prefetch, $MFT, Sysmon log. - Sprawdź autostarty (
Run,Startup, zadania).
- 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)
- Ustaw ASR „Block Office apps from creating child processes” w AuditMode (komenda powyżej).
- Utwórz w Wordzie prosty makrotest, który uruchamia Notepad (bezpieczny program):
Sub TestChild() CreateObject("WScript.Shell").Run "notepad.exe" End Sub - 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.





