GoBrut:一個新的GoLang殭屍網路
一、簡介
用Go編程語言編寫的惡意軟體始於十年前,在2009年Go編程語言首次公開發布的幾年之後:例如,2012年開始發布的InfoStealer樣本,進行網路犯罪活動,最終成為Sofacy的一個先進和現代化的網路軍火庫。很久之前,它被認為是一種惡意軟體不同尋常的編碼方式,現在已變成了大多數CSIRT習以為常的事情了。
上個月,一個特定的樣本在InfoSec社區內傳播:它採用GoLang編寫,行為很有意思,還具有不尋常的二進位模式,因此Cybaze-Yoroi ZLab決定深入調查分析。
二、技術分析
GoLang程序編譯生成嵌入所有必需依賴的二進位文件,這是該語言的主要優點之一,因為它避免了在機器內安裝運行時庫,如Java Runtime或特定的.NET版本,簡化了多平台支持Go應用程序。Go編譯二進位文件的一個主要特徵是將「Go build ID」欄位包含在PE頭中。
分析的樣本包含此特定欄位,確認惡意軟體已使用Go語言編寫,儘管缺少運行PE識別工具的簽名匹配。
圖1:Go Build ID簽名
在程序集中,我們能夠隔離一些揭示樣本惡意功能的有趣的代碼塊。我們檢測到系統重啟後授予感染持久性的內部常式,即通過運行以下批處理實腳本將自我複製安裝到用戶啟動文件夾(「AutorunDropper」函數)中,。
此外,在這個PE二進位文件的RDATA段中發現了一個有趣的引用:對所謂的「TryLogin」和「StartBrut」常式的引用,暗示了某種攻擊功能,隨後我們將在「The BruteForce Module」一節中進行了描述。
圖2:RDATA段中對源代碼函數的引用
在靜態分析樣本期間另一個有趣的發現是硬編碼到二進位文件本身的特定url值。遠程目的地指向一個荷蘭供應商,ISPIRIA Networks Ltd,託管殭屍網路的命令和控制伺服器。
圖3:命令和控制通信常式
動態運行惡意軟體,它會啟動一系列旨在將殭屍程序註冊到已發現伺服器的http請求。GET請求參數包含一個非常有趣的「worker」欄位,其中的「phpadmin」值明確引用臭名昭著的「PhpMyAdmin」資料庫管理工具,PhpMyAdmin在互聯網上廣泛部署。
圖4:Bot在C2上的註冊
在簽入之後,bot查詢包含一系列任務的JSON對象,其中C2指示它在獲取到的網頁上嘗試大量登錄。
圖5:包含目標的JSON文件的C2響應
三、暴力破解模塊
殭屍程序的核心是bruteforce模塊:它的任務是嘗試使用從C2伺服器獲取的憑據登錄目標服務,如上一節所述。
圖6:BruteForce模塊功能流程
名為「StartBrut」的常式的目的是準備從C2獲取的憑據,然後子常式「TryLogin」連接到目標主機,嘗試使用提供的憑據進行身份驗證並等待伺服器響應。在這段時間,殭屍網路正在運行一個利用「phpadmin」模塊的活動,在整個互聯網上攻擊數千個PhpMyAdmin。
圖7:「phpadmin」模塊的登錄嘗試
此時,我們決定收集殭屍網路攻擊下的目標列表,在撰寫本文時,我們確定了可能受到攻擊的4萬個唯一目標。根據頂級域名的分布顯示,一半的目標是「.com」和「.org」,令人驚訝的是俄羅斯頂級域名和其他東歐目標排在前列。中歐和南歐也是目標,但目前數量較少。
圖8:TLD的分布
殭屍網路目標列表中的「.it」域名大約為400個,包括專業論壇(如「avvocati [.it」),電子商務門戶網站,公司網站以及銀行(「bancamacerata [.it」)。
四、調查殭屍網路
進一步深入研究,我們發現這個新的GoLang bot支持更多功能,不僅僅是「PhpMyAdmin」。事實上,我們發現機器人支持23種功能,能夠針對從管理協議到CMSes的各種技術,例如它能夠攻擊SSH登錄、FTP站點、暴露的MySql服務和兩個最常用的CMS,WordPress和Joomla。這裡列出了已發現的功能:
·bitrixBrt
·bitrixChk
·cp_b
·cp_chk
·drupalBrt
·drupalChk
·ftp_b
·ftpChk
·joomlaBrt
·joomlaChk
·magentoBrt
·magentoChk
·mysql_b
·OCartBrt
·OCartChk
·php_b
·php_chk
·postgres_b
·ssh_b
·whm_b
·whm_chk
·wpBrt
·wpChk
攻擊活動非常動態,並可能會隨著時間的推移而快速變化,進一步分析特定的命令和控制API,其中殭屍網路主機通過啟用或禁用「/project/active」伺服器位置進行攻擊性操作。因此,bot被指示哪些是當前有效的活動和目標技術。
最後,Jér?meSegura最近發表的一篇文章(article ),完成了這個新的「GoBot」威脅的細節,描述了殭屍程序如何與JavaScript skimmer活動相關聯,這些活動折磨了若干門戶網站。濫用訪問後嵌入的javascript代碼能夠竊取訪問受感染網站的每個用戶的敏感信息,如憑據和信用卡號(PAN)。這種攻擊技術非常危險,導致機構大量數據泄露,正如2018年MageCart攻擊英國航空基礎設施安裝JavaScript skimmer時所觀察到的那樣。
五、總結
使用不常見的語言和技術編寫惡意軟體,是攻擊者用來打敗傳統的基於反病毒的安全控制(編譯模式和組件可以逃避靜態簽名和一般啟發式檢測)的武器。因此,安全軟體必須包含適當的分析功能,以檢測和處理此類威脅。
此外,這個新的「GoBrut」殭屍網路提供了一種有關不安全登錄和不必要服務暴露的寶貴見解。本文展示了網路犯罪行為者如何能夠進行廣泛的國際犯罪行動,旨在滲透機構,濫用其基礎設施並竊取用戶登錄和敏感數據。
IoC
C2:
·http[://5.45.69[.149[:7000
Hash:
·94e119d88ff59d33d3c6fe6c346eba274d5fcc971771ec94b86657a0c2217a2d
Yara 規則
rule gobrut_bott { meta: description = "Yara rule for phpmyadmin ruteforcer botnet written in Go Language" author = "Yoroi - ZLab" last_updated = "2019-02-25" tlp = "white" category = "informational" strings: // Go build $go = { 47 6f 20 62 75 69 6c 64 20 49 44 3a 20 } $b1 = { BA D7 F7 AD 02 04 04 91 } $b2 = { 5E 9B 5C 00 60 97 5F } condition: uint16(0) == 0x5a4d and all of them}
![](https://pic.pimg.tw/zzuyanan/1488615166-1259157397.png)
![](https://pic.pimg.tw/zzuyanan/1482887990-2595557020.jpg)
※滲透技巧——Windows下NTFS文件的USN Journal
※新型密碼竊取軟體AcridRain的分析
TAG:嘶吼RoarTalk |