
Analyse complète de CVE-2022-30190 (vulnérabilité Follina MSDT) avec IOCs, règles de détection pour SIEM/EDR, signatures YARA, scripts d'atténuation et décomposition pédagogique de l'exploit du point de vue d'un défenseur.
Ce dépôt traite de la vulnérabilité Follina MSDT du point de vue de Defender
Ce bug est une vulnérabilité d’exécution de code à distance dans l’outil de diagnostic Microsoft Windows (MSDT) signalée par crazyman du Shadow Chaser Group. Microsoft la suit désormais sous la référence CVE-2022-30190. Le défaut affecte toutes les versions de Windows recevant encore des mises à jour de sécurité (Windows 7+ et Server 2008+).
Comme l’a découvert le chercheur en sécurité nao_sec, elle est utilisée par des acteurs menaçants pour exécuter des commandes PowerShell malveillantes via MSDT, dans ce que Redmond décrit comme des attaques par exécution arbitraire de code (ACE) lors de l’ouverture ou de l’aperçu de documents Word.
« Un attaquant qui exploite avec succès cette vulnérabilité peut exécuter du code arbitraire avec les privilèges de l’application appelante », explique Microsoft.
Pour effectuer de la chasse aux menaces, vous pouvez trouver la règle Sigma ICI
Vous trouverez ci-dessous les règles de détection qui peuvent être affinées. Merci à Bala Ganesh. L’article complet est disponible ICI
MS 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*))
La requête ci-dessous décrite par Brent Murphy ICI peut également être appliquée
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