
TL;DR
CVE‑2014‑4114 to podatność w Windows OLE wykorzystywana m.in. przez Sandworm do zdalnego uruchamiania kodu po otwarciu spreparowanego pliku Office (najczęściej PPSX/PowerPoint). Sztuczka polega na pobraniu zdalnego .INF i wykonaniu go przez rundll32 -> setupapi.dll,InstallHinfSection lub advpack.dll,LaunchINFSection, co inicjuje uruchomienie docelowego droppera. Detekcja: łańcuch POWERPNT.EXE → rundll32.exe z argumentami InstallHinfSection/LaunchINFSection, pobrania po SMB/WebDAV, ślady w setupapi.app.log. Łatanie: MS14‑060 (KB3000869); tymczasowe obejścia: wyłączenie WebClient, blokada TCP 139/445, usunięcie „Install” verb dla .INF.
Krótka definicja techniczna
CVE‑2014‑4114 to błąd w obsłudze obiektów OLE w Windows pozwalający na zdalne wykonanie kodu po otwarciu pliku Office zawierającego specjalnie przygotowany obiekt OLE odwołujący się do zasobu INF/EXE w nieufnej lokalizacji (UNC/WebDAV). Otwarcie dokumentu inicjuje pobranie i wykonanie instrukcji z INF bez dodatkowych promptów, prowadząc do uruchomienia droppera w kontekście bieżącego użytkownika.
Gdzie występuje / przykłady platform
- Windows: Vista SP2, 7 SP1, 8/8.1; Server 2008/2008 R2/2012/2012 R2; także RT (wg MS14‑060/NVD).
- Active Directory: stacje członkowskie domeny (otwieranie załączników w środowisku korporacyjnym).
- M365: poczta (spearphishing attachment), logi Defender for Office/Endpoint.
- Chmury (AWS/Azure/GCP): dotyczy Windows VM/VDI/WorkSpaces – podatna jest gościnna warstwa OS, nie IaaS; telemetria może trafiać do CloudWatch/Log Analytics/SIEM.
- Kubernetes/ESXi: brak bezpośredniego wpływu na control plane; dotyczy gości Windows w VM.
Szczegółowy opis techniki (jak działa, cele, skuteczność)
Kampanie z 2014 r. wykorzystywały PPSX z dwoma osadzonymi obiektami OLE o ścieżkach zdalnych: np. slide1.gif (faktycznie EXE) i slides.inf. PowerPoint pobierał oba pliki z udziału UNC/WebDAV bez ostrzeżeń; .INF zmieniał nazwę pliku na .exe i go uruchamiał (dropper BlackEnergy). Mechanizm aktywacji bazował na wywołaniu rundll32.exe z setupapi.dll,InstallHinfSection lub advpack.dll,LaunchINFSection. Skuteczność: wysoki poziom soc‑eng (pliki show), minimalna interakcja, obejście promptów UAC dla .PPSX odnotowane przez Microsoft.
Artefakty i logi (co zbierać)
| Źródło | ID / pole | Wskaźnik / wzorzec | Uwagi |
|---|---|---|---|
| Windows Security | 4688 (Process Creation) | ParentImage=*\POWERPNT.EXE → Image=*\\rundll32.exe z CommandLine zawierającą setupapi.dll,InstallHinfSection lub advpack.dll,LaunchINFSection | Kluczowy łańcuch egzekucji. |
| Sysmon | 1/ProcCreate, 3/NetConnect, 11/FileCreate, 22/DNS | Połączenia do \\host\share\... / WebDAV (Microsoft-WebDAV-MiniRedir), tworzenie *.inf/*.gif.exe w %TEMP% | Wzorce WebDAV/SMB. |
| SetupAPI log | %windir%\inf\setupapi.app.log | Wpisy z instalacji aplikacyjnej/INF (po włączeniu logowania) | Domyślnie wyłączone; można włączyć przez LogLevel. |
| M365 Defender (AH) | EmailEvents / EmailAttachmentInfo | Załącznik PPS/PPSX od nadawcy zewn., motyw soc‑eng | Dla fazy dostarczenia. |
| MDE/Defender AV | Wykrycie: Exploit:Win32/CVE-2014-4114 | Alerty/exclusions | Historyczne sygnatury. |
| Firewall/Proxy | HTTP/WebDAV, SMB (139/445) | Pobranie slides.inf / *.gif z zewnętrznych hostów | Blokady portów ograniczają wektor. |
Detekcja (praktyczne reguły)
Sigma (Windows / process_creation)
title: Office -> Rundll32 INF Execution (CVE-2014-4114 Sandworm)
id: 7c9f9d4a-b0c6-4f7f-9e5b-b2c3d1e0c414
status: experimental
logsource:
product: windows
category: process_creation
detection:
parent_office:
ParentImage|endswith:
- \POWERPNT.EXE
- \WINWORD.EXE
- \EXCEL.EXE
child_rundll:
Image|endswith: \rundll32.exe
cli_inf:
CommandLine|contains:
- 'setupapi.dll,InstallHinfSection'
- 'advpack.dll,LaunchINFSection'
condition: parent_office and child_rundll and cli_inf
fields:
- UtcTime
- User
- ParentImage
- Image
- CommandLine
falsepositives:
- Rzadkie instalacje driverów/INF wywołane z Office (bardzo mało prawdopodobne)
level: high
tags:
- attack.T1203
- attack.T1204.002
- attack.T1566.001
- cve.2014-4114
Splunk (Security 4688 / Sysmon 1)
(index=win* (sourcetype="WinEventLog:Security" EventCode=4688) OR (sourcetype="XmlWinEventLog:Microsoft-Windows-Sysmon/Operational" EventCode=1))
| eval parent=coalesce(ParentProcessName, ParentImage), img=coalesce(NewProcessName, Image)
| search parent="*\\POWERPNT.EXE" OR parent="*\\WINWORD.EXE" OR parent="*\\EXCEL.EXE"
| search img="*\\rundll32.exe"
| search CommandLine="*setupapi.dll,InstallHinfSection*" OR CommandLine="*advpack.dll,LaunchINFSection*"
| table _time host user parent img CommandLine
| sort - _time
KQL (Microsoft 365 Defender – Advanced Hunting)
DeviceProcessEvents
| where InitiatingProcessFileName in~ ("POWERPNT.EXE","WINWORD.EXE","EXCEL.EXE")
| where FileName =~ "rundll32.exe"
| where ProcessCommandLine has_any ("setupapi.dll,InstallHinfSection","advpack.dll,LaunchINFSection")
| project Timestamp, DeviceName, InitiatingProcessFileName, FileName, ProcessCommandLine, InitiatingProcessVersionInfoCompanyName
| order by Timestamp desc
AWS CloudWatch Logs Insights (Windows Event Forwarding do CWL)
fields @timestamp, Computer, EventID, @message
| filter EventID=4688
| filter like(@message, /rundll32\.exe/)
and (like(@message, /setupapi\.dll,InstallHinfSection/) or like(@message, /advpack\.dll,LaunchINFSection/))
| sort @timestamp desc
Elastic (EQL)
sequence by host.id with maxspan=2m
[process where process.name : ("POWERPNT.EXE","WINWORD.EXE","EXCEL.EXE")]
[process where process.name : "rundll32.exe" and
process.command_line : ("*setupapi.dll,InstallHinfSection*","*advpack.dll,LaunchINFSection*")]
Heurystyki / korelacje
- Łańcuch procesu: Office (POWERPNT/WINWORD) → rundll32.exe → (ew. dalsze) cmd.exe/msiexec.exe/regsvr32.exe.
- Sieć: pobrania z UNC/WebDAV (user‑agent
Microsoft-WebDAV-MiniRedir) w bliskim czasie od otwarcia dokumentu. - Pliki tymczasowe:
*.inf/ pseudo‑obraz*.gif→ późniejszy*.exew%TEMP%. - Logi SetupAPI: ślady w setupapi.app.log (po włączeniu).
- Poczta: korelacja EmailEvents z kliknięciem/otwarciem załącznika i telemetrią endpoint.
False positives / tuning
- Instalacje sterowników/oprogramowania wyzwalające InstallHinfSection/LaunchINFSection, ale zwykle nie z rodzicem Office.
- Drivery producentów (podpisane, ścieżki
C:\Windows\INF\*): wykluczyć po wydawcy, ścieżce, hashu. - Tuning: wymagaj rodzica Office, zdalnej ścieżki (UNC/WebDAV), nietypowych INF w
%TEMP%, braku podpisu lub nietypowych domen.
Playbook reagowania (IR)
- Triaging & Containment: izoluj host; zablokuj domenę/UNC/WebDAV wskazany w artefaktach (FW/DNS/Proxy).
- Hunting szeroki (24–72 h): zapytania z sekcji 7 (AH/SIEM). Zidentyfikuj wszystkie hosty z łańcuchem Office→rundll32/INF.
- Forensics szybkie:
- Zabezpiecz pliki z
%TEMP%i%WINDIR%\INF\setupapi.app.log. - Zrzut listy procesów/połączeń (
tasklist /v,netstat -ano), timeline plików.
- Zabezpiecz pliki z
- Eradykacja: usuń droppery, zabroń WebDAV/SMB egress do Internetu; wdroż KB3000869 jeśli dotyczy dziedzictwa.
- Recovery: weryfikacja integralności, rotacja poświadczeń, obserwacja anomalii.
- Lessons Learned: reguły detekcyjne do stałego monitoringu; wymuś blokady z pkt 11 (workarounds).
Przykłady z kampanii / case studies
- BlackEnergy/Sandworm (2014): PPSX zawierał dwa obiekty OLE (zdalne):
slide1.gif(dropper, faktycznie EXE) islides.inf. INF zmieniał nazwę i uruchamiał droppera — bez dodatkowych promptów PowerPoint. - Sandworm Team (G0034): wykorzystywał CVE‑2014‑4114 w PowerPoint (OLE) oraz CVE‑2013‑3906 (TIFF/Word). Cele: NATO, UE, sektor energii/telekom.
Lab (bezpieczne testy)
Celem jest generacja artefaktów/detekcji, nie eksploatacja.
A. Symulacja INF (ADVPACK) – bezpieczne uruchomienie Notepad
- Zapisz plik
test.inf(np.C:\Temp\test.inf):
[Version]
Signature="$Windows NT$"
[DefaultInstall]
RunPreSetupCommands=DoRun
[DoRun]
%11%\\notepad.exe
- Uruchom:
rundll32.exe advpack.dll,LaunchINFSection C:\Temp\test.inf,DefaultInstall
Powinno wygenerować proces rundll32.exe z LaunchINFSection (detekcje z sekcji 7).
B. Artefakty SetupAPI
Włącz logowanie SetupAPI (na czas testu), następnie uruchom test z pkt A i sprawdź %windir%\inf\setupapi.app.log.
Mapowania (Mitigations, powiązane techniki)
Mitigations (ATT&CK):
- M1051 – Update Software: zastosuj MS14‑060/KB3000869 na hostach dziedzicznych.
- M1037 – Filter Network Traffic / M1035 – Limit Access to Resource Over Network: blokuj SMB 139/445 egress, ogranicz WebDAV (usługa WebClient).
- M1042 – Disable or Remove Feature or Program: usuń „Install” verb dla .INF (tymczasowe obejście).
- M1017 – User Training: phishing awareness (załączniki PPSX).
Powiązane techniki ATT&CK:
- T1566.001 – Spearphishing Attachment (wektor wejścia)
- T1204.002 – User Execution: Malicious File (akcja użytkownika)
- T1105 – Ingress Tool Transfer (transfer droppera)
- T1027 – Obfuscated/Compressed Files (kamuflaż plików, np. „gif.exe”)
Źródła / dalsza literatura
- Microsoft: MS14‑060 – Vulnerability in Windows OLE (KB3000869), obejścia (WebClient/SMB/INF) i lista systemów. (Microsoft Learn)
- ESET (WeLiveSecurity): szczegóły kampanii PPSX + slides.inf + slide1.gif (BlackEnergy). (We Live Security)
- MITRE ATT&CK: T1203 – Exploitation for Client Execution, w tym odniesienie do CVE‑2014‑4114/Sandworm. (MITRE ATT&CK)
- MITRE ATT&CK – Sandworm Team (G0034). (MITRE ATT&CK)
- NVD: wpis CVE‑2014‑4114 (zakres i opis). (NVD)
- Microsoft Docs: InstallHinfSection (SetupAPI) i log setupapi.app.log. (Microsoft Learn)
- IE/ADVPACK: LaunchINFSection (przykłady użycia). (Microsoft Learn)
- Palo Alto Unit42: kontekst OLE/PowerPoint i ryzyko zdalnych zasobów. (Unit 42)
Uwaga dot. łat: tuż po MS14‑060 zgłaszano obejścia prowadzące do kolejnych CVE; w środowiskach legacy sprawdź też późniejsze uaktualnienia.
Checklisty dla SOC / CISO
SOC (operacyjne):
- Włącz/zweryfikuj reguły: Office→rundll32
InstallHinfSection/LaunchINFSection. - Monitoruj WebDAV/SMB egress oraz
setupapi.app.log. - Koreluj EmailEvents ↔ DeviceProcessEvents (M365).
- Hunt retro (90 dni) za łańcuchem POWERPNT/WINWORD → rundll32.
- Utrzymuj allow‑list INF/sterowników; alertuj INF z
%TEMP%.
CISO (strategiczne):
- Polityka: blokady SMB i WebDAV na brzegu/na hostach.
- Wymuszenie łat (M1051) na hostach z Windows 7/8/8.1/2008/2012.
- Program szkoleniowy phishing + polityki załączników (PPSX).
- Testy tabletop IR dla scenariusza „złośliwy INF/Office”.


