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