
Всесторонний анализ CVE-2022-30190 (уязвимость Follina MSDT) с IOCs, правилами обнаружения для SIEM/EDR, сигнатурами YARA, скриптами для смягчения и учебным разбором эксплуатации с точки зрения защитника.
Этот репозиторий рассказывает об уязвимости Follina MSDT с точки зрения защитника
Ошибка представляет собой уязвимость удалённого выполнения кода в средстве диагностики поддержки Microsoft (MSDT), о которой сообщил crazyman из Shadow Chaser Group. Microsoft теперь отслеживает её как CVE-2022-30190. Уязвимость затрагивает все версии Windows, которые ещё получают обновления безопасности (Windows 7+ и Server 2008+).
Как обнаружил исследователь безопасности nao_sec, она используется злоумышленниками для выполнения вредоносных команд PowerShell через MSDT в том, что корпорация Redmond описывает как атаки с произвольным выполнением кода (ACE) при открытии или предварительном просмотре документов Word.
«Злоумышленник, успешно использующий эту уязвимость, может выполнить произвольный код с привилегиями вызывающего приложения», — поясняет Microsoft.
Для охоты за угрозами вы можете найти правило Sigma ЗДЕСЬ
Ниже приведены правила обнаружения, которые можно дополнительно настроить. Спасибо Бала Гanesh. Полная статья ЗДЕСЬ
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*))
Ниже приведен запрос, описанный Брентом Мерфи ЗДЕСЬ, который также можно применить:
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