
Analisi completa di CVE-2022-30190 (vulnerabilità Follina MSDT) con IOC, regole di rilevamento per SIEM/EDR, firme YARA, script di mitigazione e analisi educativa dell'exploit dal punto di vista del difensore.
Questo repository tratta di Follina MSDT dalla prospettiva di Defender
Il bug è una vulnerabilità di esecuzione remota di codice nello Strumento di diagnostica supporto Microsoft (MSDT), segnalata da crazyman del Shadow Chaser Group. Microsoft la sta ora monitorando come CVE-2022-30190. Il difetto interessa tutte le versioni di Windows che ricevono ancora aggiornamenti di sicurezza (Windows 7+ e Server 2008+).
Come scoperto dal ricercatore di sicurezza nao_sec, viene sfruttato da attori malintenzionati per eseguire comandi PowerShell dannosi tramite MSDT in quelli che Redmond descrive come attacchi di esecuzione di codice arbitrario (ACE) all'apertura o in anteprima di documenti Word.
"Un utente malintenzionato che sfrutta con successo questa vulnerabilità può eseguire codice arbitrario con i privilegi dell'applicazione chiamante", spiega Microsoft.
Per fare threat hunting puoi trovare la Sigma Rule QUI
Di seguito le regole di rilevamento che possono essere ulteriormente ottimizzate. Un ringraziamento a Bala Ganesh. L'articolo completo è disponibile QUI
Microsoft Defender:
DeviceProcessEvents | where ((ProcessCommandLine contains "WINWORD.EXE") and (ProcessCommandLine contains "msdt.exe") and (ProcessCommandLine contains "sdiagnhost.exe" or ProcessCommandLine contains "csc.exe" or ProcessCommandLine contains "PCWDiagnostic" or ProcessCommandLine contains "IT_ReBrowserForFile" or ProcessCommandLine contains "IT_BrowserForFile" or ProcessCommandLine contains "conhost.exe"))
[Doc Malware]
alert.severity = 2
description = Detection (Rule ID: 74566a6a66aaasdq2ed)
cron_schedule = 0 * * * *
disabled = 1
is_scheduled = 1
is_visible = 1
dispatch.earliest_time = -60m@m
dispatch.latest_time = now
search = (source="WinEventLog:*" AND (CommandLine="*WINWORD.EXE*") AND (CommandLine="*msdt.exe*") AND (CommandLine="*sdiagnhost.exe*" OR CommandLine="*csc.exe*" OR CommandLine="*PCWDiagnostic*" OR CommandLine="*IT_ReBrowserForFile*" OR CommandLine="*IT_BrowserForFile*" OR CommandLine="*conhost.exe*"))
alert.suppress = 0
alert.track = 1
SELECT UTF8(payload) from events where LOGSOURCETYPENAME(devicetype)='Microsoft Windows Security Event Log' and ("Process CommandLine" ilike '%WINWORD.EXE%') and ("Process CommandLine" ilike '%msdt.exe%') and ("Process CommandLine" ilike '%sdiagnhost.exe%' or "Process CommandLine" ilike '%csc.exe%' or "Process CommandLine" ilike '%PCWDiagnostic%' or "Process CommandLine" ilike '%IT_ReBrowserForFile%' or "Process CommandLine" ilike '%IT_BrowserForFile%' or "Process CommandLine" ilike '%conhost.exe%')
(CommandLine.keyword:*WINWORD.EXE* AND CommandLine.keyword:*msdt.exe* AND CommandLine.keyword:(*sdiagnhost.exe* *csc.exe* *PCWDiagnostic* *IT_ReBrowserForFile* *IT_BrowserForFile* *conhost.exe*))
Sumologic
(_sourceCategory=*windows* AND (CommandLine = "*WINWORD.EXE*") AND (CommandLine = "*msdt.exe*") AND (CommandLine = "*sdiagnhost.exe*" OR CommandLine = "*csc.exe*" OR CommandLine = "*PCWDiagnostic*" OR CommandLine = "*IT_ReBrowserForFile*" OR CommandLine = "*IT_BrowserForFile*" OR CommandLine = "*conhost.exe*"))
(process.command_line:*WINWORD.EXE* AND process.command_line:*msdt.exe* AND process.command_line:(*sdiagnhost.exe* OR *csc.exe* OR *PCWDiagnostic* OR *IT_ReBrowserForFile* OR *IT_BrowserForFile* OR *conhost.exe*))
Di seguito è riportata anche la query descritta da Brent Murphy QUI
process where event.type in ("start" , "process_created") and (process.pe.original_file_name : "msdt.exe" or process.name : "msdt.exe") and (process.parent.pe.original_file_name : ("winword.exe", "excel.exe", "outlook.exe", "powerpnt.exe") or process.parent.name : ("winword.exe", "excel.exe", "outlook.exe", "powerpnt.exe"))
# office processes spawning msdt.exe