遇到gamaredon組織攻擊烏克蘭的word樣本,VT殺軟大部分報CVE-2017-0199,也有說是word遠程模板,非CVE-2017-0199漏洞,現在好奇到底是word遠程模板還是CVE-2017-0199漏洞利用
先看gamaredon樣本的行爲,md5:b221647d110bd2be2c6e9c5d727ca8db是一個word文檔,word.exe請求了http://micro-set.ddns.net/micro.dot文件(是一個惡意宏文件,md5:664560cd7c51365cb9032f978c069420),word.exe並執行了這個宏文件,在啓動目錄創建了一個VBS腳本執行後續惡意行爲。有圖纔有真相:
請求惡意宏文件
word.exe進程在臨時目錄生成的惡意宏文件及對應md5
接下來分析一下CVE-2017-0199漏洞長什麼樣子吧!
1、msf生成CVE-2017-0199漏洞樣本,彈出計算器
2、把漏洞樣本a.doc放到windows系統上打開(注意:不用點擊更新文檔的是按鈕,計算器就會彈出)
這個過程中下載了default.hta文件,wireshark數據包可以看到
default.hta文件是臨時保存,具體位置如下:
3、計算器啓動過程監控:是由mshta.exe調用powershell.exe,再調用powershell.exe(注意2此調用的參數不一致),最後調用calc.exe,如圖:
4、打開default.hta文件,分析該文件內容(這個步驟會很繁瑣)
首先:default.hta文件是一個VBS腳本,作用是執行第一個powershell程序,參數是一段base64加密的內容(對應第一個powershell進程)
再次:上一個步驟中的base64加密數據解密如下圖,作用是又創建了一個powershell進程(對應第一個powershell進程)
根據參數做調試,獲取實際執行代碼如下圖:
就是創建了一個線程,運行了紅框處的代碼,使用set-content -path D:\a -value $uH -encoding byte命令保存代碼到文件(是一段shellcode,這段shellcode啓動了計算器)
最後shellcode調試,使用WinExec函數啓動calc程序,如圖:
CVE-2017-0199漏洞利用整個過程就結束了。
兩種技術還是有明顯區別的,不是CVE-2017-0199漏洞利用。