FYSBIS分析報告:SOFACY的Linux后門
0x00 簡介
Sofacy組織,也被稱為APT28或者Sednit,是一個相當知名的網絡攻擊間諜組織,據信跟俄羅斯有關。他們的攻擊目標遍布全世界,主要針對政府、防御組織和多個東歐國家政府。已經有很多關于他們活動的報告,以至于已經有維基百科的詞條。
從這些報告里,我們發現該組織有豐富的工具和策略,包括利用0day漏洞攻擊通用應用程序,例如JAVA或者Microsoft Office;大量使用魚叉式網絡釣魚;利用合法網站進行水坑式攻擊并且目標包括各類操作系統--Windows、OSX、Linux、iOS。
Linux下的惡意軟件Fysbis是Sofacy很喜歡使用的一個工具,雖然這個工具不是特別的精巧復雜。但由于Linux安全總體上是一個不是很成熟的領域,特別是惡意軟件方面。所以,這個工具幫助了Sofacy組織進行成功攻擊是完全有可能的。
0x01 惡意軟件評估
Fysbis是一個模塊化的Linux木馬/后門,將插件和控制模塊作為不同的類來實現。一些分析把這個惡意軟件歸類到Sednit組織命名名稱里。這個惡意軟件包括32位和64位的ELF文件。此外,Fysbis在有或者沒有root權限的情況下都可以把自己植入目標系統。當需要選擇安裝的賬戶時,這增加了攻擊的選擇。
對3個樣本的總結信息如下:
Table 1: Sample 1 – Late 2014 Sofacy 64-bit Fysbis
Table 2: Sample 2 – Early 2015 Sofacy 32-bit Fysbis
Table 3: Sample 3 – Late 2015 Sofacy 64-bit Fysbis
總的來說,這些樣本不是很復雜但是卻很有效。這些樣本表明了一個事實:APT攻擊者并不需要高級的手段來攻擊目標。相反,攻擊者把高級的惡意軟件和0day利用保留在手里而只使用剛好能達到目的的資源進行攻擊。因此分析人員有理由用一些捷徑或者trick來縮短評估威脅的時間。也就是說,分析人員應該總是通過一些方法來更有效的工作而不是一味蠻干。
0x02 利用字符串充分獲取信息
字符串本身就可以體現很多信息,提高了諸如靜態分析分類的效率(例如使用Yara)。表1和表2Fysbis樣本安裝和目標平臺信息就是很好的例子。
圖1:從字符串中獲得的Fysbis安裝和目標平臺信息
從這個例子中,我們可以發現文件的安裝路徑和通過匹配來確定具體的Linux版本。后面跟著的是一系列延長在目標上的存活時間的Linux shell命令。
另一個例子是跟樣本功能相關的信息。
圖2:從字符串中泄露的功能信息
圖2 表明了交互狀態和返回的信息,讓分析人員對樣本功能有個大概的印象。除了可以幫助靜態分析,這也可以作為后面事件響應優先級和評估威脅的出發點。
0x03 符號信息可以縮短分析時間
有趣地是,最新的ELF 64位文件(表3的樣本)在使用前沒有strip,這導致在文件中會有額外的符號信息。對Windows PE比較熟悉的分析人員可以認為就是Debug版本和Release版本的區別。作為比較,如果我們分析下Fysbis strip過的樣本跟 "RemoteShell" 相關的字符串,就只能發現下面的字符串:
圖3:Fysbis strip后樣本跟RemoteShell功能相關的字符串
跟沒有strip的樣本比較:
圖4:Fysbis 沒有strip的樣本跟RemoteShell功能相關的字符串
一些像這樣的靜態分析技巧可以幫助分析人員快速分析樣本的功能,更重要的是,在后續相似樣本關聯和發現也有用處。
此外,最新的樣本表明惡意樣本進行了小的改進,最顯著的就是進行了混淆。表1和表2的樣本都很清晰地泄露了安裝信息。這跟表3的樣本是不同的。用反匯編工具看下這個沒有strip的樣本,下面展示了在有root權限的賬戶中解密安裝信息的相關信息。
圖5:樣本3安裝信息的匯編代碼
在這個例子中,從符號信息可以看出解密的方法,有mask,路徑,名字和byte數組。
圖6:樣本3跟root權限安裝相關的byte數組的匯編代碼
這個解密的算法是,用一個byte數組作為mask,作用到另外的byte數組上,使用循環并且有2個key的異或算法來生成惡意樣本的安裝路徑、文件名和Linux root賬戶相關的信息。由于INSTALLUSER byte數組的存在,可以在非root情況下安裝惡意樣本。相同的解密方法也可以用來解密樣本配置的C2信息,這進一步說明很少的符號進行就可以在很大程度上提高樣本分析的完整性。
如果你想知道更多關于Fysbis的信息,樣本的分析報告可以在這里獲得。
0x04 基礎設施分析
就像Unit 42在其他文章里說的一樣,我們發現攻擊者好像不太愿意更換他們的基礎設施。這可能是因為不想增加額外的資源,或者僅僅是因為保持對原有設施的熟悉程度來保證時效性。在Sofacy組織使用的Fysbis樣本中都發現了上述2種情況。
最老的一個樣本(表1),跟域名azureon-line[.]com進行交互,這個域名已經被廣泛證實是Sofacy組織使用的進行控制命令的域名。通過被動DNS,我們發現這個域名解析到2個初始的IP 193.169.244[.]190 and 111.90.148[.]148,也被映射到Sofacy在這段時間內使用的其他域名。
圖7:樣本1的C2信息
表2的樣本,關聯的IP也是Sofacy組織使用的198.105.125[.]74。這個IP跟一個叫CHOPSTICK的工具有關,具體可以查看。
圖8:樣本2的C2信息
最新的樣本(表3),是一個之前未知的域名 mozilla-plugins[.]com。這跟前文Sofacy組織的策略相互印證,即使用跟合法公司相似的名字來作為基礎設施的名字。這個域名和IP反查結果在之前都沒有發現過,表明表3的樣本可能跟新的團體相關。把樣本3的二進制文件跟另外2個比較,發現在代碼層面和行為層面都有很大的相似性。
圖9:樣本3的C2信息
0x05 結論
Linux是在商業和家庭中常見的操作系統,并且有很多版本。數據中心、云服務都喜歡使用Linux,在網絡和應用服務器市場也越來越受歡迎。Linux也是Android和其他幾種嵌入式系統的基礎。使用Linux的好處——特別是在商業公司——可以總結到3點:低成本的TCO、安全性和功能豐富。數據統計和比較可以清楚地評估TCO和功能,但是安全性需要深入地研究。Linux方面的知識在工業界的各個應用上都非常需要,從系統管理、大數據分析和事件響應等等。
大部分的商業活動還是在Windows環境下,這也是說核心基礎設施也使用Windows服務器(例如Active Directory、SharePoint等等應用)。這表明,從實際的情況看,大部分情況下還是在支持和保護Windows下的設施。一部分公司的IT專家對Linux還不是很熟悉,特別是對于網絡防護人員來說。識別和確認潛在的威脅,需要對什么是正常操作有一定的熟悉程度,這樣才能發現異常情況。對于環境中的其他軟件也是一樣的,正常操作完全依賴于指定軟件在公司中扮演的角色和功能。
對非Windows平臺缺少專業知識和了解對公司的安全形勢增加了很大的危險。最近的一個例子就是,Linux上的漏洞CVE-2016-0728表明相關平臺潛在威脅的廣度。專業或者投機的攻擊者,盡管他們有不同的動機,都增加了平臺暴露的風險。盡管很多人認為Linux的特點讓它有更高的安全性(實際上并不正確),但Linux上的惡意軟件和漏洞確實存在,并且已經被攻擊者在實際中用來攻擊。
本文翻譯自: http://researchcenter.paloaltonetworks.com/2016/02/a-look-into-fysbis-sofacys-linux-backdoor/