序言
在通常的攻擊場景下,使用者收到一個包含惡意代碼的Office檔案(不限于RTF格式的Word檔案,可能為PPT類的其他Office文檔),點選嘗試打開檔案時會從惡意網站下載下傳特定的 HTA程式執行,進而使攻擊者擷取控制。
攻擊步驟
首先,問題是使用OLE2嵌入式連結對象,其次在處理一個HTA檔案。
1 嵌入OLE2連結對象到一個檔案,打開微軟Word,單擊“插入對象”按鈕,如下面的截圖:
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsISM9knehx2X4dnJ10TbvJnZ4dnJwJWZ31Dc0ZyZuBXP01mZfh3d-ADN28CXRZlclF1dPN2YpV2bRFFROhXZEZWO0onMF9ENw1WcIhjTWVWRiBnbUBjTvdmWmllS1EEZ0JHRmJ2aY1mZIVkSxJnbIJWRwV0RuNjVQJFTLpXNZpkM2QEcvw1ZuB3X6lmYt12Lc52YuMWawFnL6lmYt12Lc9CX6MHc0RHaiojIsJye.jpg)
2 選擇從檔案建立,插入URL HTA檔案和刻度都連結到檔案和顯示為圖示。
3 将文檔儲存為docx,DOC或RTF檔案;所有這些處理ole2連結對象。
4 然而,圖示和文字可能看起來有點可疑的受過教育的使用者,是以,可以通過更換圖示和檔案名,并渲染對象的Word,以成功的可能性。這可以通過不選擇“顯示為圖示”複選框,實作服務文檔内容類型應用RTF或應用程式/檔案/:
5 這使得HTA要呈現如下:
6 然而,使用者互動仍然是必需的,使用者必須輕按兩下“Hello”文本這個時間或儲存檔案強制檔案執行連接配接更新的内容,并顯示它。然而FireEye的描述不明确,需要使用者互動并暗示載荷應自動運作打開文檔時。研究小組發現的activebreach如何能夠實作。經過更進一步的了解到RTF RFC”objupdate”控制被發現:
7 此控件的描述特别有趣,因為它暗示對象将在顯示自身之前更新:
例如,可以建立一個包含一個objupdate控制,最終将迫使它更新啟動檔案。這可以通過擷取先前建立的文檔并在文本編輯器中修改它來實作:
Original:
{\object\objautlink \rsltpict\objw9027\objh450{\objclass Word.Document.8}{\objdata
注射\ objupdate控制檔案:
{\object\objautlink\objupdate\rsltpict\objw9027\objh450{\objclass Word.Document.8}{\objdata
打開RTF檔案現在造成托管HTA檔案運作而無需使用者互動:
值得注意的是,我們的研究顯示,如果使用者沒有安裝微軟Office,問題仍然可以在寫字闆中然而利用的互動是必需的。
檢測和響應
一些公司已經公布的規則由響應社群檢測問題。在許多情況下,這些都是有點不準确,可能會産生誤報,他們依靠的對象包含一個ole2link RTF文檔檢測。這并不一定意味着惡意行為,可能是一個合法的嵌入對象。
為了有效地檢測cve-2017-0199,Yara規則應該識别\ objupdate控制添加條件。
備注
hta檔案建立:
https://gist.github.com/subTee/e126c6ee847a4d9fcfd7
參考連結:https://www.mdsec.co.uk/2017/04/exploiting-cve-2017-0199-hta-handler-vulnerability/