我們在這篇文章首次討論兩名被稱為「Occhionero兄弟」的義大利人被逮捕並指控利用惡意軟體和特製的魚叉式釣魚攻擊(SPEAR PHISHING)來監視知名政治家和企業家。這個案子被稱為「EyePyramid」,名稱來自研究過程所發現的網域名稱和目錄路徑。
義大利通訊社AGI在1月11日中午公開了法庭命令。本文提供更多關於此案例的詳細資訊以對此攻擊活動有更加完整和深入的了解。
分析範圍
趨勢科技已經分析了近250個不同的EyePryramid相關樣本。在我們進行初步分析後,大約有十幾個可疑樣本被上傳到VirusTotal並標記為「#eyepyramid」。我們認為這些樣本是「假標記」,因為這些樣本跟其他樣本不同,無法跟EyePyramid建立肯定的關聯。
被針對的電子郵件帳號
部分樣本顯示出攻擊者將目標放在許多網域的電子郵件帳號。帳號憑證和這些帳號的郵件都被竊取,以下是被鎖定電子郵件帳號的網域:
被鎖定的網域 | ||||
@alice.it @aol.com @att.net @badoo.com @bellsouth.net @bluewin.ch @btinternet.com @comcast.net @cox.net @cyh.com.tr @earthlink.net @eim.ae @email.com @email.it @emirates.net.ae @excite.it @facebook.com @facebookmail.com @fastweb.it @fastwebmail.it @fastwebnet.it @free.fr |
@gmail.com @gmail.it @gmx.de @gmx.net @googlegroups.com @googlemail.com @groupama.it @groups.facebook.com @gvt.net.br @hanmail.net @hinet.net @hotmail.co.uk @hotmail.com @hotmail.fr @hotmail.it @infinito.it @interbusiness.it @interfree.it @inwind.it @iol.it @jazztel.es @jumpy.it |
@katamail.com @laposte.net @legalmail.it @libero.it @live.com @live.it @lycos.com @lycos.it @mac.com @mail.bakeca.it @mail.com @mail.ru @mail.vodafone.it @mail.wind.it @mclink.it @me.com @msn.com @mtnl.net.in @nate.com @netscape.net @netzero.com |
@orange.fr @otenet.gr @poczta.onet.pl @poste.it @proxad.net @rediffmail.com @rocketmail.com @runbox.com @saudi.net.sa @sbcglobal.net @skynet.be @supereva.it @sympatico.ca @t-online.de @tele2.it @verizon.net @virgilio.it @vodafone.com @vodafone.it @vsnl.net.in |
@wanadoo.fr @web.de @yahoo.ca @yahoo.co.in @yahoo.co.jp @yahoo.co.uk @yahoo.com @yahoo.com.ar @yahoo.com.br @yahoo.com.mx @yahoo.de @yahoo.es @yahoo.fr @yahoo.it @yahoogroups.com @ymail.com |
攻擊計畫
這波攻擊有著明顯的攻擊前準備,用意在製作有效的魚叉式釣魚攻擊(SPEAR PHISHING),取得目標的信任。攻擊者從一份電子郵件帳號列表開始 – 來自另外的入侵活動,或是來自用相同惡意軟體的其他案例。這些帳號屬於最終受害者所信任的組織或個人。
利用這些電子郵件帳號當作寄件者,將附加惡意軟體原本的副檔名(.exe)加以變更,攻擊者設法以直接或間接的方式感染重點受害者的電腦。
當在電腦上執行惡意軟體時,它會自動更新自己,竊取符合上述列表的電子郵件帳號相關資訊,並透過HTTP/HTTPS將收集的資訊傳送到資料取回電子郵件地址或C&C伺服器。同時將這些電子郵件帳號加到攻擊者所用的已入侵帳號列表,讓這些帳號可以用來將惡意軟體散播給其他受害者。
時間表和分布
利用編譯時間讓我們取得以下時間表,這跟我們初始報告後的其他分析一致。EyePyramid已知樣本在2014年達到高峰,是其他年份樣本數量的三倍以上。
https://blog.trendmicro.com/trendlabs-security-intelligence/files/2017/01/EyePyramid_01_2.jpg
圖1、EyePyramid樣本編譯時間按年份分布
雖然EyePyramid來自義大利,但並非所有受害者都位於該國,如下圖所示:
https://blog.trendmicro.com/trendlabs-security-intelligence/files/2017/01/EyePyramid_02.jpg
前十大 | % |
義大利 | 14.77 |
美國 | 9.79 |
日本 | 9.61 |
英國 | 5.87 |
台灣 | 4.45 |
德國 | 4.27 |
法國 | 3.20 |
印度 | 2.14 |
巴西 | 1.78 |
奧地利 | 1.60 |
其他 | 42.52 |
圖2和表1、EyePyramid受害者分布
EyePyramid惡意軟體演化
經過分析,根據各種特徵對EyePyramid樣本進行分群,包括:
- 可執行檔建立年份(編譯時間)
- 原始/內部檔案名稱
- 所使用混淆程式(obfuscator)和封裝程式(packer);有兩種混淆程式組合:
- Skater .NET加Dotfuscator,兩種流行的混淆程式(大多數樣本以此方式進行處理)
- ConfuserEx,一種近期的強大混淆程式(只有最新的樣本)
- 存在相關字串,無論是在原始二進位檔,或經過反混淆、反編譯和字串解密後:
- 「it」 – 此字串出現在「gmail.com」和「googlemail.com」後(Google郵件帳號的已知網域)。這可能是作者的失誤,他們希望針對義大利Gmail使用者。或者攻擊者是針對Gmail.it免費電子郵件服務的客戶。(請注意,Gmail.it不是Google所擁有的服務,除了名稱之外沒有共同點)。因為無法詢問作者本人,所以無法從此發現得出有力的結論。
- 跟此案例有關的路徑。我們在2014年12月13日的一個樣本中找到字串「\Work\EyePyramid\」;原始檔名為exe。這是造成此案例名稱的字串之一。這字串的存在是惡意軟體跟EyePyramid有關的強烈指示。但並非所有跟EyePyramid有關的樣本都包含此字串。
- 使用Desaware的SpyWorks元件,可用來實作按鍵捕捉功能,或建立系統等級掛鉤(hook)。
圖3、按鍵捕捉功能的程式碼
- 路徑或程式庫名稱顯示程式碼重複使用特定元件,即:
- :\Projects\VS2005\ChromePass\Release\ChromePass.pdb
- :\Projects\VS2005\MyLastSearch\release\MyLastSearch.pdb
- :\Projects\VS2005\NK2View\Release\NK2View.pdb
- :\Projects\VS2005\ProduKey\Release\ProduKey.pdb
- :\Projects\VS2005\RecentFilesView\Release\RecentFilesView.pdb
- :\Projects\VS2005\USBDeview\Release\USBDeview.pdb
- :\Projects\VS2005\WirelessKeyView\Release\WirelessKeyView.pdb
- :\Projects\VS2005\mspass\Release\mspass.pdb
- :\Projects\VS2005\netpass\Release\netpass.pdb
- :\projects\VS2005\iepv\Release\iepv.pdb
- :\projects\vs2005\shortcutsman\release\shman.pdb
這些字串顯示惡意軟體使用各軟體元件的特定功能。例如,「iepv\Release\iepv.pdb」是IE密碼檢視程式,這是可以用來顯示Internet Explorer所儲存密碼的實用工具(和程式庫)。其他元件也具有類似的功能。這些元件的存在顯示出惡意軟體的目的之一是取得瀏覽器相關資料。
路徑「:\projects\vs2005」也提供了關於惡意軟體作者的線索。我們在2014和2015年的兩個樣本都找到這些字串,它們都有檔案vmgr.exe。這顯示兩個樣本的作者相同。但是,這些並沒有用相同的編譯環境:2014年的樣本使用.NET 4.5.5416.41981編譯,2015年的樣本使用.NET 4.5.5604.16127。
基於上述特性,我們做出惡意軟體樣本的整理,可以在附錄中找到。隨著時間演進我們可以得出結論,這犯罪活動的幕後黑手修改和更新了惡意軟體功能(例如,並非所有的變種都能取得Skype對話紀錄),C&C和資料取回機制,編譯器版本和保護機制。
圖4、附錄有完整表格(2010到2016年)
連結回2011 Bisignani間諜案
在2012年,知名的義大利商人和前記者Luigi Bisignani被起訴為「P4秘密會社」成員(Propaganda 4的縮寫)。P4是義大利第四個共濟會組織,據說會影響政治決策。
這些攻擊所用的惡意軟體使用幾個Gmail地址作為資料取回機制。CNAIPIC(義大利網路犯罪機構)的調查人員發現,最近的EyePyramid變種也使用了這些地址。無獨有偶地,我們也發現舊EyePyramid變種(2012年)會做同樣的事情。
趨勢科技發現一個更有趣的連結是使用mail.hospenta.com郵件伺服器,這跟最近版本的EyePyramid類似。奇怪的是,只有2010版本,而2012版本不會使用mail.hostpenta.com。2010和2012版本都使用惡名昭彰的MN600-D8102F401003102110C5114F1F18-0E8C MailBee授權金鑰,該授權是由Giulio Occhionero所購買,或用他的名義購買。
EyePyramid惡意軟體的主要特性
EyePyramid最重要的特性如下。此列表並不會涵蓋全部,只列出最相關的部分。
持續性
首次執行時,惡意軟體會將自己複製到硬碟上(通常是根目錄C:\),使用從隨機列表中選出的檔案名稱,該名稱由下列組成:
圖5、可能的「隨機」檔案名稱
惡意軟體利用修改CurrentVersion\Run和CurrentVersion\RunOnce登錄機碼的傳統做法來做到持續性。
圖6、自動啟動登錄機碼值
將這些機碼加入惡意軟體路徑以確保會在每次使用者登錄時執行。
重複使用程式碼:並非所有變種都使用相同的程式庫組合
EyePyramid惡意軟體的一個有趣特性是使用公開的第三方元件或開放原始碼程式庫,提供關於作者技術能力的線索。
可以看到下列程式庫:
- MouseKeyboardActivityMonitor,用來監視鍵盤和滑鼠活動的程式庫。惡意軟體使用此元件進行鍵盤側錄。
- Internet Explorer密碼檢視器,及其他密碼檢視元件(如用於Google Chrome),EyePyramid惡意軟體用來竊取瀏覽器已儲存憑證。
- Desaware,這家軟體公司開發的SpyWorks用於捕捉按鍵和建立系統掛鉤(hook),可用來設計「繞行」程式的執行流程。Desaware元件是透過在程式碼中找到以下字串來確定其存在:
- d:\srcnet\Desaware.SpyWorksDotNet\Release820\Desaware.shcomponent20.pdb
- MailBee,用於處理電子郵件的元件。這是用來將攻擊歸因於Giulio Occhionero的元件。內嵌的授權金鑰是以他的名義購買。
- SevenZip,用於建立7z的通用程式庫,被惡意軟體用來壓縮竊取的檔案,然後加密將其傳送到資料取回區。
檔案收集
正如我們在最初的分析中指出,EyePyramid的主要特性是竊取檔案。針對具有以下副檔名的檔案:
圖7、被當成竊取目標的副檔名
在其他收集的資料中,EyePyramid會尋找.pst檔案,這些檔案被各種應用程式(包括Microsoft Exchange客戶端,Windows Messaging和Microsoft Outlook)用於儲存郵件、行事曆事件和其他類似資訊。
圖8、針對PST檔案的程式碼
Skype資料
EyePyramid惡意軟體樣本(常被命名為vmgr.exe的那些變種)之一的部分反編譯原始碼中的以下發現顯示它嘗試從Skpye客戶端讀取帳號、聯絡人、訊息和SMS這些包含於該應用程式的資訊。
圖9、針對Skype的程式碼
停用安全軟體
EyePyramid會針對各種安全工具,試著停用和防止即時保護機制和防毒相關程序被啟動,這可以從以下列表看出:
圖10-12、針對安全軟體的程式碼
混淆和保護
惡意軟體使用三個工具進行混淆:Skater加Dotfuscator,或是ConfuserEx。因此,最終執行檔具備些許的保護,讓一般的除錯和虛擬機動態分析無法進行。不過這防護相對來說簡單,而且一點也不高明。
此外,客製化字串加密/混淆被用來處理字串讓反編譯原始碼無法被直接讀取。特別是多數樣本都用Skater加Dotfuscator用3DES來加密字串,序列化後轉成字元組陣列。我們逆向工程了加密作法並取得加密字串。
其他有趣的發現
HTML電子郵件的跨站腳本測試?
雖僅用於除錯,我們發現惡意軟體作者在測試基於電子郵件的跨站腳本,可以從下列程式碼片段看出(來自21b6f2584485b8bbfffdefd45c1c72dc2133290fd8cefb235eb39cf015550316):
圖13、測試跨站腳本的程式碼
電子郵件帳號的來源
在我們的分析過程中,收到了許多分析師的電子郵件來要求澄清。一位讀者指出EyePyramid所用來寄送魚叉式網路釣魚郵件的電子郵件地址也被用來在各交友網站註冊帳號,根據Leaked Source的資料(這是包含各網站外洩的資料庫)。
搜尋Leaked Source關於法院命令中所出現的網域名稱(據稱跟資料外洩活動有關)顯示出類似情況。這些網域的電子郵件地址被用來註冊各種網站(包括約會和社群媒體網站),都是來自各種資料外洩事件。因此,除非合法擁有者變更過認證資訊,否則這些帳號基本上將被視為可被公開使用。
雖然不是偵測標準,我們處理過的樣本具有81種不同的圖示,部分顯示如下:
圖14、EyePyramid樣本所用的圖示
分析方法
圖15.分析過程
我們遵循相當普遍的做法進行分析。正如我們在第一篇部落格文章中所提到,這一切都是從AGI網站上出現的法院命令開始。我們從中抽取一些特徵來進行「追溯」,也就是說我們寫了一個Yara規則,加上一些客製化處理腳本以靜態比對特徵。這讓我們得到了一組樣本,其中一個是「d3ad32bcb255e56cd2a768b3cbf6bafda88233288fc6650d0dfa3810be75f74c」。其他分析師也發現這與EyePyramid有關。
接著,我們手動反混淆和反編譯檔案,獲得非編譯過的原始碼樹狀結構,這讓我們可以找到更多關於惡意軟體行為的詳細資訊。有些行為在沙箱環境執行後得以確認(我們使用了我們的Deep Discovery Analyzer)。
新取得細節讓我們可以更加完善整個追溯程序,找到更多樣本,其中一些正在進行手動分析。在我們所使用的各種特徵(如所包含的程式庫名稱、網域名稱、電子郵件地址)中,我們注意到可執行檔的原始名稱效果最好。這並不尋常,也可能顯示出攻擊者的技術能力:一個聰明的攻擊者至少會注意在PE標頭中隨機化這名稱。通過一些自動化程序,我們每天都進行這追朔的過程,並將我們的發現與客戶送來的報告進行交叉比對。
結論
從純粹的技術角度來看,EyePyramid惡意軟體的來源及其歸因仍不清楚。雖然用Giulio Occhionero名義註冊的授權金鑰可以被認為是有力的證據,但並不清楚為什麼惡意軟體作者會使用(簡單但聊勝於無)的機制來掩蓋其痕跡(例如模糊、封裝、加密、停用安全工具),結果失誤地將自己名下的授權金鑰嵌入所有的主要變種。此外,對法院命令中所列出網域的網域和IP歷史資料進行分析後出現名為「occhionero.com」和「occhionero.info」的網域,這又是另一件奇怪的事情。
從技術角度來看,原始程式碼經過了些許修改。另一方面,這些年來用於製作各版樣本的電腦似乎與Microsoft開發工具(基於編譯器版本的演變)和軟體保護工具(最近用更強大的ConfuserEx替換Skater加Dotfuscator)的發展一致。
這裡的附錄包含我們所分析樣本的更多細節。
此文相關的附錄已經更新了SHA256和其他資訊。
@原文出處:Uncovering the Inner Workings of EyePyramid 作者:Federico Maggi(資深威脅研究員)