
Análisis exhaustivo de CVE-2022-30190 (vulnerabilidad Follina MSDT) con IOCs, reglas de detección para SIEMs/EDR, firmas YARA, scripts de mitigación y desglose educativo del exploit desde la perspectiva de un defensor.
Este repositorio habla sobre el Follina MSDT desde la perspectiva de Defender
El bug es una vulnerabilidad de ejecución remota de código en la herramienta de diagnóstico de soporte de Microsoft (MSDT) reportada por crazyman del Shadow Chaser Group. Microsoft ahora la rastrea como CVE-2022-30190. El fallo afecta a todas las versiones de Windows que aún reciben actualizaciones de seguridad (Windows 7+ y Server 2008+).
Como descubrió el investigador de seguridad nao_sec, es utilizado por actores de amenazas para ejecutar comandos maliciosos de PowerShell a través de MSDT en lo que Redmond describe como ataques de Ejecución Arbitraria de Código (ACE) al abrir o previsualizar documentos de Word.
"Un atacante que explote con éxito esta vulnerabilidad puede ejecutar código arbitrario con los privilegios de la aplicación que realiza la llamada", explica Microsoft.
Para hacer Threat Hunt, puedes encontrar la regla Sigma AQUÍ
A continuación se presentan las reglas de detección que pueden afinarse aún más. Agradecimientos a Bala Ganesh. El artículo completo se puede encontrar AQUÍ
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 siguiente consulta descrita por Brent Murphy AQUÍ también se puede aplicar
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