NDAY漏洞CVE-2017-11882新變異樣本分析
- 2019 年 10 月 29 日
- 筆記
0x0 基本情況
最近截獲一個QUOTATION.doc文檔,重新命名為virus.doc,其實際為RTF文檔。winword.exe進程打開後,執行EQNEDT32.EXE進程,其中exe遠程下載和運行的動作由EQNEDT32.EXE進程來完成。我們知道,EQNEDT32.EXE為公式編輯器,在Office的安裝過程中被默認安裝。前期與之相關的漏洞主要為CVE-2017-11882和CVE-2018-08082。
與上一篇文章《一個CVE-2017-11882漏洞新變異樣本的調試與分析》https://www.freebuf.com/vuls/190397.html中的樣本相比,本次樣本RTF格式更加怪異,下面來看看具體的分析情況。
0x1 文件格式
1、靜態文件
利用winhex查看該文件,發現其是一個rft1開始的RTF格式文件,不過該文件與之前分析的CVE-2017-11882樣本相比,顯得較為怪異,沒有包含OLE結構。
該RTF文件格式非常簡單,如下圖是文檔頭部,中間數據則全都是16進位字元串,結尾以字元串「}objupdate688639934}}」結尾。

2、查殺情況
利用文件HASH值,在totolvirus查詢,發現該樣本10月9日上傳,57款殺軟有11款已經查殺,其中McAfee-GW-Edition、Ikarus、McAfee、AhnLab-V3、ESET-NOD32識別為CVE-2017-11882漏洞,如下圖所示:

3、RTFOBJ工具分析
利用RTFOBJ工具分析,結果如下:

其中導出的virus.doc_object_0000006C.bin不是正常的OLE結構。

0x2 文檔動作
利用Procmon監控,發現winword.exe執行後,啟動EQNEDT32.EXE。EQNEDT32.EXE進程遠程下載PE文件並保存為本地%appdata%目錄下:bobyen23534.exe。如下圖所示:

抓包發現PE下載地址為:http://modexcourier.eu/bobbye/bobbye.exe,如下圖所示:

bobyen23534.exe進程運行後即退出。
下載後的bobyen23534.exe根據HASH在totolvirus搜索,大部分指向的是Trojan木馬文件,如下圖所示:

0x3 樣本調試
我們知道,漏洞利用EQNEDT32.EXE進程的棧溢出漏洞,調試其溢出點,如下圖所示:

經過拷貝動作後,棧被覆蓋。


我們來看這段數據在RTF中的位置,該段數據在開頭0x128處,如下圖所示:

這段程式碼是第一段shellcode,用於棧溢出後跳轉。
這是典型的棧溢出利用。其中0x00433d49用於覆蓋0x41160F函數返回地址,當函數0x41160F返回的時候,跳轉到0x00433d49處執行,而EQNEDT32.EXE進程中,0x00433d49處所在的值是0xC3,也就是彙編程式碼retn。
因此,0x00433d49執行後,會返回到當前棧地址執行,也就是0018f354處的程式碼(第一段shellcode)。

第一段shellcode執行後,跳轉到第二段shellcode處執行,我們來看第二段shellcode的內容。
其所在的文件中的位置是:0xA8FDE處,兩者對應如下圖所示:

第二段shellcode執行後,開始對其自身的內容做解密操作,如下圖所示的彙編程式碼。

解密的演算法是:
解密前的內容如下圖所示:

解密後的內容如下圖所示:

該段shellcode正是下載運行的功能程式碼。
對比上一篇文章https://www.freebuf.com/vuls/190397.html分析的樣本,解密後的shellcode基本上是一致的,主要變化只是加解密演算法中的常量值進行了更換。
上篇文章中的加解密演算法為:
至此,樣本基本調試分析完畢。
0x4 小結
1、CVE-2017-11882漏洞由於穩定、效果好等特點,經久不衰。 2、CVE-2017-11882漏洞變異樣本層出不窮。 3、及時更新修補程式,打開不明文檔要謹慎小心。
*本文原創作者:cgf99,本文屬於FreeBuf原創獎勵計劃,未經許可禁止轉載
