預警:微軟零日漏洞CVE-2017-8759已被用於Office文檔攻擊
E安全9月14日訊 FireEye公司最近發現一份惡意微軟Office RTF文檔,其中利用到一項SOAP WSDL解析器代碼注入漏洞——編號CVE-2017-8759。該漏洞允許惡意人士在解析SOAP WSDL的定義內容期間注入任意代碼。FireEye公司對該微軟Office文檔進行了分析,並發現攻擊者能夠利用代碼注入方式下載並執行一份包含PowerShell指令的Visual Basic腳本。
FireEye公司已經將該漏洞的詳細信息與微軟方面進行共享,並在協調公布事宜的同時發布了漏洞修復程序以及安全指南,感興趣的朋友可以 http://t.cn/Rp0T93q 查看。
FireEye公司的郵件、終端與網路產品皆檢測到了該惡意文檔。
此項漏洞用於攻擊俄語用戶
此次發現的惡意文檔「Проект.doc」(MD5: fe5c4d6bb78e170abf5cf3741868ea4c)可能被用於攻擊俄語用戶。
在成功利用CVE-2017-8759漏洞之後,該文檔下載了多個組件(詳見後文)並最終啟動了FINSPY(惡意監控軟體)載荷(MD5: a7b990d5f57b244dd17e9a937a41e7f5)。
FINSPY惡意軟體,亦被稱為FinFisher或者WingBird,可作為「合法攔截」方案的一部分進行獲取。根據此次以及之前曾經出現的FINSPY使用案例,FireEye表示能夠在一定程度上認定此惡意文件被民族國家專門用於針對俄語目標實施網路間諜活動。FireEye公司的動態威脅情報系統通過額外檢測發現,儘管可能針對不同的受眾群體,但相關活動也許早在2017年7月就已經出現。
CVE-2017-8759 WSDL解析器代碼注入
PrintClientProxy方法的WSDL解析器模塊中存在一項代碼注入漏洞。其中若所提供數據中包含一條CRLF序列,則IsValidUrl無法正常執行驗證。如此一來,攻擊者即可注入並執行任意代碼。圖一所示即為漏洞代碼的對應部分。
圖一:存在漏洞的WSDL解析器
在一條SOAP響應中存在多個address定義時,代碼會在首條地址之後插入「//base.ConfigureProxy(this.GetType」字元串,從而將其餘地址注釋掉。但如果為地址附加CRLF序列,則CRLF後的代碼將不會被注釋掉。如圖二所示,由於缺少對CRLF的驗證,攻擊者可向其中注入一個System.Diagnostics.Process.Start方法。由此生成的代碼將由.NET框架的csc.exe進行編譯,並以DLL的形式被Office可執行文件進行載入。
圖二:SOAP定義與所生成代碼
真實攻擊案例
FireEye公司觀察到的攻擊活動利用到RTF格式(即富文本格式)文檔,且類似於我們之前曾經報道過的CVE-2017-0199(此前WannaCry與Petya利用改漏洞發起勒索攻擊)文檔。此惡意樣本當中包含一個嵌入SOAP標記以簡化漏洞利用流程(如圖三所示)。
圖三:SOAP標記
有效載荷從攻擊者控制的伺服器處獲取惡意SOAP WSDL定義。而立足.NET框架的System.Runtime.Remoting.ni.dll實現的此WSDL解析器則進行內容分析,並在當前目錄中生成.cs源代碼。.NET框架的csc.exe隨後將生成的源代碼編譯為一套庫,名為http[url path].dll。微軟Office而後載入此庫,整個漏洞利用流程即告完成。圖四所示為一套示例惡意源代碼庫。
圖四:所載入的DLL
在成功利用漏洞之後,注入代碼會創建一個新的進程,並利用mshta.exe從同一伺服器處檢索名為「word.db」的HTA腳本。該HTA腳本會將源代碼、編譯後的DLL以及PDB文件從磁碟中刪除,而後下載並執行名為「left.jpg」的FINSPY惡意軟體——這裡雖然使用.jpg擴展名以誤導用戶將其視為「圖像jpeg」內容,但實際上卻屬於可執行文件。圖五所示為該惡意軟體傳輸流程的PCAP細節信息。
圖五:實時請求
該惡意軟體將被命名為%appdata%MicrosoftWindowsOfficeUpdte-KB[ 6位隨機數字].exe。圖六所示為進程監控器下生成的進程鏈。
圖六:進程創建鏈
惡意軟體
「left.jpg」 (md5: a7b990d5f57b244dd17e9a937a41e7f5)屬於FINSPY的一類變種。其利用高度混淆代碼、內置虛擬機以及其它反分析技術提升逆向工程難度。此外,它還具備另一種獨特的反分析技術,即解析自身完整路徑並搜索自身MD5哈希的字元串表達形式。目前各類分析工具以及沙箱機制都會將文件/樣本重命名為MD5哈希形式,從而確保其擁有惟一文件名。而此變種則採用「WininetStartupMutex0」作為互斥量實現運行。
第二個傳播FINSPY惡意軟體的漏洞
CVE-2017-8759是FireEye公司在2017年年內發現的第二項被用於傳播FINSPY惡意軟體的零日漏洞。現實證明目前市場上存在著大量能夠對企業及客戶進行「合法攔截」的資源。另外,FINSPY也被銷售至多位客戶手中,這意味著此項漏洞未來將被用於對付更多潛在目標。
儘管目前還沒有觀察到相關跡象,但CVE-2017-8759漏洞也可能已經被其他攻擊者所掌握。至少可以肯定的是,2017年4月被用於傳播FINSPY惡意軟體的零日漏洞CVE-2017-0199應該屬於經濟利益驅動的產物。如果FINSPY背後的使用者是從同一來源獲得這兩項漏洞,那麼相關源代碼很有可能也會被出售給其他惡意人士。。
※研究人員發現利用Excel宏可發起跳板攻擊
※9月13日簡訊:對著卧室的攝像頭IP地址10元一個被公開叫賣;等
※9月12日簡訊:普京稱俄科技公司應使用本國自主軟體,不然將失去政府訂單;等
※中加雙重國籍知識產權律師被指控竊取美國公司下一代醫療機器人技術
※全球打響網路戰的可能性:股市和"GPS"或將首當其衝
TAG:E安全 |