2014年我們所知的所有網(wǎng)絡(luò)攻擊,實(shí)際上還只是冰山一角,未來的網(wǎng)絡(luò)空間將出現(xiàn)更多錯(cuò)綜復(fù)雜、有組織性甚至是由敵對(duì)國(guó)家發(fā)起的網(wǎng)絡(luò)襲擊。APT攻擊事件目前趨于爆發(fā)式增長(zhǎng),有些黑客秘密潛入重要系統(tǒng)竊取重要情報(bào),而且這些網(wǎng)絡(luò)間諜行動(dòng)往往針對(duì)國(guó)家重要的基礎(chǔ)設(shè)施和單位進(jìn)行,包括能源、電力、金融、國(guó)防等;有些則屬于商業(yè)黑客犯罪團(tuán)伙入侵企業(yè)網(wǎng)絡(luò),搜集一切有商業(yè)價(jià)值的信息。
警惕利用Bash漏洞的IRC-BOT
(1)Bash安全漏洞
繼2014年4月的“Openssl心臟流血”漏洞之后,另一個(gè)重大互聯(lián)網(wǎng)威脅于2014年9月24日爆發(fā),GNU Bash(Bourne again shell)4.3及之前版本在處理某些構(gòu)造的環(huán)境變量時(shí)存在安全漏洞,可能允許攻擊者遠(yuǎn)程執(zhí)行任意命令,GNU Bash漏洞編號(hào)為CVE-2014-6271。
經(jīng)過研究確認(rèn),此漏洞可能會(huì)影響到使用ForceCommand功能的OpenSSH sshd、使用mod_cgi或mod_cgid的Apache服務(wù)器、DHCP客戶端、其他使用bash作為解釋器的應(yīng)用等。而使用
mod_php/mod_python/mod_perl的Apache httpd不受此問題影響。
百度百科的介紹顯示,Bash(GNU Bourne-Again Shell)是大多數(shù)Linux系統(tǒng)以及Mac OS X v10.4默認(rèn)的shell,它能運(yùn)行于大多數(shù)Unix風(fēng)格的操作系統(tǒng)之上,甚至被移植到了Microsoft Windows上的Cygwin系統(tǒng)中,以實(shí)現(xiàn)Windows的POSIX虛擬接口。此外,它也被DJGPP項(xiàng)目移植到了MS-DOS上。
而Bash的命令語法是Bourne shell命令語法的超集。數(shù)量龐大的Bourne
shell腳本大多不經(jīng)修改即可以在Bash中執(zhí)行,只有那些引用了Bourne特殊變量或使用了Bourne的內(nèi)置命令的腳本才需要修改。可以
說,Bash是類Unix系統(tǒng)的核心,如果Bash出現(xiàn)了漏洞,則說明攻擊者可以控制機(jī)器一切。
(2)Bash安全漏洞攻擊分析
近期,我們團(tuán)隊(duì)也監(jiān)控到了大量利用Bash安全漏洞進(jìn)行的攻擊,我們主要是對(duì)這次的攻擊使用的Bash腳本和植入的IRC-BOT進(jìn)行分析。
Bash腳本分析
我們?cè)陬A(yù)警平臺(tái)上發(fā)現(xiàn)了攻擊者發(fā)送的數(shù)據(jù)包如下:
攻擊者會(huì)從http://183.14.***.***/ *s0.sh下載sh腳本并運(yùn)行。
攻擊腳本部分截圖如下:
這個(gè)sh攻擊腳本針對(duì)了多個(gè)平臺(tái)進(jìn)行攻擊,包括有arm、linux –x86、linux-x64,但是基本的攻擊思路差不多。
1.它首先修改用戶DNS為8.8.8.8, 然后針對(duì)不同平臺(tái)下載不同惡意程序。
2.當(dāng)被攻擊的平臺(tái)上是arm架構(gòu)時(shí),它首先從地址:
下載arm架構(gòu)下的IRC-bot,并寫入自啟動(dòng)。
3.從http://ipkg.nslu2-linux.org/feeds/optware/cs05q3armel/cross/unstable/ipkg-opt_0.99.163-10_arm.ipk 下載ipkg(ipkg是一個(gè)軟件安裝管理工具)
4.使用ipkg安裝openssh,并把ssh的端口改為26。攻擊代碼部分截圖如下:
5.當(dāng)被攻擊的平臺(tái)上是linux-x86時(shí):
它和arm差不多,只不過是從
下載linux-x86架構(gòu)下的IRC-bot,其他都操作一樣 。
6.當(dāng)被攻擊的平臺(tái)上是linux-x64時(shí):
它依然上面的一樣,下載地址變成了:
其他都操作一樣。
7.接著新建了一個(gè)叫做“request”的用戶名,密碼未知(暫時(shí)未破解)。
在twitter上我們看見有人公開發(fā)現(xiàn)是在12月5日。
攻擊者為了達(dá)到對(duì)系統(tǒng)長(zhǎng)期的占用,將系統(tǒng)植入木馬成為僵尸網(wǎng)絡(luò)的一部分后,還給有問題的系統(tǒng)打了Bash補(bǔ)丁。
最后還下載了叫做run的bash腳本,腳本內(nèi)容如下
這個(gè)run腳本主要作用是下載叫pnscan的惡意程序,它主要是掃描程序,從調(diào)用參數(shù)可以看見它是全網(wǎng)段掃描的。
按照Bash漏洞出來的時(shí)間可以推測(cè)出這個(gè)腳本是2014-12-3日編寫。
IRC-BOT分析
通過簡(jiǎn)單的分析我們發(fā)現(xiàn)上面提到的惡意軟件都是功能相同架構(gòu)不同的IRC-BOT,它們都使用了upx進(jìn)行加密
首先脫殼,然后能解密出兩個(gè)惡意的irc服務(wù)器地址
接著被感染的設(shè)備會(huì)登入到irc服務(wù)器上等待接受指令,部分指令截圖:
具體含義是:
在分析的過程中我們發(fā)現(xiàn)它是某個(gè)開源的程序,由于危害性我們就不給出鏈接了。
(3)盡快升級(jí)Bash
提醒用戶按照GUN Bash官方指導(dǎo)意見進(jìn)行升級(jí):
我們發(fā)現(xiàn)有對(duì)其服務(wù)設(shè)備通過yum命令對(duì)GUN bash升級(jí)版本的時(shí)候由于yum鏡像點(diǎn)沒有更新,而且不同的linux發(fā)行版本更新命令也不一樣,導(dǎo)致升級(jí)失敗或者升級(jí)過程中體驗(yàn)不佳。經(jīng)安全信息服務(wù)中心團(tuán)隊(duì)多次測(cè)試,建議有相同問題的其他客戶通過iptables來對(duì)bash漏洞進(jìn)行阻斷,該方法適用于所有l(wèi)inux的發(fā)行版本:
兩條命令如下:
警惕Asprox蠕蟲爆發(fā)
(1)Asprox僵尸網(wǎng)絡(luò)兇猛來襲
安恒團(tuán)隊(duì)在多臺(tái)APT攻擊預(yù)警平臺(tái)的設(shè)備上發(fā)現(xiàn)了Asprox蠕蟲,最早發(fā)現(xiàn)是2014年9月某科研機(jī)構(gòu)的APT郵件檢測(cè)系統(tǒng)中發(fā)現(xiàn)了該蠕蟲的告警消息。
接下來的幾個(gè)月從在不同的地都收到樣本反饋。
該僵尸網(wǎng)絡(luò)在曾在國(guó)外大勢(shì)傳播,近期出現(xiàn)在國(guó)內(nèi),需要引起高度的重視。在此提醒廣大用戶,在收到類似郵件時(shí),千萬不要點(diǎn)擊運(yùn)行附件程序。
(2)Asprox攻擊技術(shù)細(xì)節(jié)分析
1、外部觀察
攻擊者偽裝成航空公司服務(wù)人員,發(fā)送了一封待處理訂單的郵件。
解壓縮郵件附件后,可以看見可疑文件使用了和word文檔一樣的圖標(biāo),顯然它想把自己偽裝成word文檔,
為了偽裝的更隱藏一些,用戶雙擊運(yùn)行后,它會(huì)彈出如下具有欺騙性的告警消息,讓人誤以為文檔損壞。
實(shí)際上它早已將惡意代碼注入到svchost.exe里面運(yùn)行。
在我們APT預(yù)警平臺(tái)的抓獲的風(fēng)險(xiǎn)日志中也能看見它的惡意行為。
2、內(nèi)部剖析
為了方便理解,我們先畫出了整個(gè)攻擊流程
該惡意程序DeltaTicket的外殼代碼部分包含了大量‘垃圾’代碼,在多次異或解密后,它使用函數(shù)RtlDecompressBuffer在內(nèi)存中解壓出一個(gè)惡意的dll文件。
該dll文件在整個(gè)程序的運(yùn)行過程中并不會(huì)釋放處理,而是把它注入到新建的svchost進(jìn)程中,從而實(shí)現(xiàn)在內(nèi)存中動(dòng)態(tài)加載運(yùn)行。
其關(guān)鍵注入惡意代碼的流程如下:
接著新建的svhost會(huì)拷貝自身到% App Data%目錄,即:
%App Data%jgajbltl.exe(名字是隨機(jī)的)
并檢測(cè)自己是否已經(jīng)寫入自啟動(dòng),如果沒,便寫入如下路徑:
HKCUSoftwareMicrosoftWindowsCurrentVersionRun
接著構(gòu)造類是于如下的XLM格式的字符串:
id的值是 $MD5(SID+installDate+user name) ,其他的標(biāo)識(shí)是它的版本信息等。
然后使用RSA算法加密該xml格式的數(shù)據(jù),RSA加密的公鑰是:
將加密的數(shù)據(jù)發(fā)送到之前解密的URL,然后等待從這些服務(wù)器發(fā)送的指令。
通過分析發(fā)現(xiàn)關(guān)鍵指令,其偽代碼的如下:
具體指令的含義是:
(3)Asprox排查方法
1. 檢查系統(tǒng)進(jìn)程中是否有以普通用戶啟動(dòng)的scvhost進(jìn)程。
2. 檢查系統(tǒng)檢查系統(tǒng)%AppData%目錄是否存在未知的可執(zhí)行文件
注意:
a) Windows 7下%AppData%的路徑是:C:Users<用戶名>AppDataRoaming
b) Windows XP下%AppData%的路徑是:C:Documents and Settings<用戶名>Application Data
3. 檢查系統(tǒng)注冊(cè)表
HKCUSoftwareMicrosoftWindowsCurrentVersionRun中是否存在可疑文件名。