當前位置:
首頁 > 新聞 > 扒一扒CARBANAK的源代碼,看它們是如何巧妙構思並運行的?(二)

扒一扒CARBANAK的源代碼,看它們是如何巧妙構思並運行的?(二)

在上一篇文章中,我們討論了如何在CARBANAK中使用字元串哈希來管理整個代碼庫中的Windows API解析。但同時,CARBANAK的開發者在另一些任務中也使用了相同的字元串哈希演算法。本文,我們將討論CARBANAK是如何應對殺毒軟體的檢測並逃避它們的。

應對殺毒軟體

使用源代碼無疑會加快對字元串哈希的分析進程,例如,AV.cpp中的函數AVDetect通過進程名稱哈希迭代進程來檢測殺毒軟體,如圖1所示。

通過進程名稱哈希檢測殺毒軟體

CARBANAK如何處理這些信息呢?它根據安裝的內容來選擇逃避殺毒軟體的方法。圖2顯示了開發者通過注釋禁用的AVG逃避的代碼。

2017年11月,CARBANAK還學會了逃避流程注入檢測。這種逃避使用的是Carberp變種木馬中使用的一種技術,它用內存映射和通過QueueUserAPC非同步過程調用的隊列來替換遠程堆分配和對CreateRemoteThread的調用。

分析幕後的開發構件

擁有源代碼後,我們就有機會來了解幕後的開發構件和開發者的詳細了。為此,我們在源代碼轉儲中搜索了可能指向個人的構件,並進一步在Visual Studio解決方案文件中找到更多相關的信息。其中大多數引用驅動器O:作為源根(source root,),但我確實找到了以下主機路徑:

C:Usershakurei reimuAppDataLocalTemp

C:UsersIgorAppDataLocalTemp

E:ProjectsprogsPetrosjanWndRec...

E:ProjectsprogssbuWndRec...

不幸的是,這些路徑並不能給出很多有意義的答案。如果在以後的構件中觀察到它們,那麼可能會推斷出它們之間的聯繫,但是在撰寫本文時,我們對開發者還所知不多。

源代碼的調查過程

CARBANAK源代碼包含許多漏洞、以前的C2主機、密碼和密鑰信息。於是我們決定對這些信息進行全面的研究,並確定它們是否可以給研究帶來新的信息,或證實之前的任何觀察結果。

漏洞調查

首先,我想知道CARBANAK的開發者們是否使用了未公開披露的任何漏洞。因為我發現所有的漏洞都有詳細記錄,表1列出了我從CARBANAK源代碼轉儲中查看到的升級許可權代碼。

CARBANAK源代碼還包含大量複製於Mimikatz的代碼,包括用於從lsass.exe轉儲密碼的sekurlsa模塊和用於允許多個遠程桌面協議連接的終端服務修補代碼。

關鍵材料的調查

我們的分析包括對源代碼和附帶的二進位文件中的密碼和關鍵材料的調查,雖然其中許多都用於調試版本,但我們還是對它們進行了整理,以備將來猜測密碼時用作參考。表2顯示了用於rc2加密通信和其他目的的恢復密碼,以及源代碼中的相應名稱及其遇到的狀態(在源代碼中激活,注釋掉或編譯成二進位文件)。

在CARBANAK源代碼和二進位文件中找到的密碼

我在調試目錄中發現了一個加密的伺服器證書,它似乎可以提供一個新的基於網路的指示,以準確地發現新的攻擊趨勢。我們通過在c#中修改一個公開可用的X509處理代碼示例來遍歷流行密碼列表中的密碼,從而強制使用這個容器。由於密碼為單字元「1」,所以我們在不到1秒的時間內就找到了密碼。該證書原來是用於測試的,因此密碼很弱。證書如圖3所示,詳細信息見表3。

證書

證書詳細信息

我還從源代碼轉儲中解析了一個未受保護的私鑰,圖4和表4分別詳細顯示了私鑰參數。

已解析的512位私鑰

私鑰參數

我在配置標頭中找到了一個名為PUBLIC_KEY的值,其中的注釋表明它是用於調試目的的。解析後的值如表5所示。

配置標頭中定義的PUBLIC_KEY的私鑰參數

調查基於網路的指示

源代碼和二進位文件包含多個基於網路的指示符(NBI),它們與CARBANAK後門活動和FireEye之前觀察到並記錄的FIN7操作有明顯的相似之處。表6顯示了這些指示以及相關的FireEye公共文檔。其中就包括遇到每個NBI時的狀態(在源代碼中活動、注釋掉或編譯成二進位文件)。域名被刪除了,以防止瀏覽器、聊天客戶端等意外解析或交互。

其中,四個TCP端點(80.84.49[.]50:443, 52.11.125[.]44:443, 85.25.84[.]223, and 37.1.212[.]100:700) 都是新發現的。

總結

經過我們對這個源代碼轉儲的分析,可以證實它就是CARBANAK。另外,我們還發現了一些新的、有趣的信息。根據這些信息,我們能夠將具體的漏洞信息通知給供應商,作出應對。有趣的是,這個項目本身並不叫CARBANAK,甚至也不叫Anunak,因為信息安全社區是根據惡意軟體中發現的字元串構件來命名它的。開發者在Visual Studio項目中主要將惡意軟體稱為「bot」,包括文件名、源代碼注釋、輸出二進位文件、用戶界面和手冊。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 嘶吼RoarTalk 的精彩文章:

如何擺脫Google的影響,實現一個完全無Google因素的網路環境
BOM歸來

TAG:嘶吼RoarTalk |