某公司安全平臺(tái)部在工作過(guò)程中會(huì)檢測(cè)到各類僵尸網(wǎng)絡(luò),本文將分析一典型僵尸網(wǎng)絡(luò)(以下簡(jiǎn)稱botnet)的架構(gòu)。
《大話西游》 “反正我要死,你就幫個(gè)忙。我聽(tīng)說(shuō)如果刀子出得快部位準(zhǔn),把人剖開(kāi)后人不會(huì)馬上死掉,眼睛還能看得見(jiàn)。你就幫個(gè)忙出手快點(diǎn),把我的心挖出來(lái)讓我看一看,行不行?”
被攻擊是難免的,如果檢測(cè)得快,我們能發(fā)現(xiàn)敵人做了什么,及時(shí)控制其蔓延危害網(wǎng)絡(luò),亡羊補(bǔ)牢為時(shí)未晚。
1. 僵尸網(wǎng)絡(luò)傳播
botnet或蠕蟲(chóng),一個(gè)重要的特征就是自動(dòng)傳播能力,這里介紹2類常見(jiàn)的傳播方式。
1.1漏洞傳播
為了快速獲取大量被控僵尸肉雞,攻擊者會(huì)及時(shí)更新攻擊模塊。筆者有一個(gè)經(jīng)驗(yàn),每次在檢測(cè)到有新一波攻擊手法時(shí),去查查最近公開(kāi)的漏洞或許就能看到。
同時(shí)作為僵尸網(wǎng)絡(luò)大范圍的攻擊行為(甚至是漫無(wú)目的的),幾乎可以預(yù)見(jiàn)到的是他的行為和攻擊方式100%會(huì)被偵察到,所以他們不會(huì)使用最新0day。
用1day是權(quán)衡兩者最經(jīng)濟(jì)的方式,并且偏愛(ài)能直接執(zhí)行命令的類型,譬如:struts2 RCE、JBoss DeploymentFileRepositoryWAR Deployment、CVE-2012-1823(PHP-CGIRCE)等。
1.2自動(dòng)化攻擊工具
漏洞常有,而裝有存在漏洞的軟件的服務(wù)器不常有,但人的弱點(diǎn)總是避免不了的。比如弱口令問(wèn)題,現(xiàn)如今最古老的弱口令猜解攻擊依然存在,sshftp
dp elnet等等,加之tomcat管理后臺(tái)等各種口令。現(xiàn)在越來(lái)越快的網(wǎng)速,越來(lái)越強(qiáng)的硬件性能使之效率越來(lái)越高。
2. 僵尸網(wǎng)絡(luò)架構(gòu)
接下來(lái)講講最近在捕獲的一個(gè)僵尸網(wǎng)絡(luò),其功能特點(diǎn)非常具有代表性。以下是其各功能模塊分析。
2.1下載者
負(fù)責(zé)接收控制者指令,下載更新功能模塊。
2.2傳播中繼站
僵尸網(wǎng)絡(luò)制造者為了隱蔽自己也避免整個(gè)botnet被搗毀,他不可能將傳播源集中到一個(gè)地方,所以常常在肉雞上建立中繼站。
在這個(gè)案例中,它會(huì)搭建一個(gè)簡(jiǎn)易的webserver來(lái)實(shí)現(xiàn)。
2.3被控端
作為一個(gè)僵尸傀儡最主要就是“聽(tīng)話”,此次案例它采用的是irc通道。這里他預(yù)設(shè)了2個(gè)域名作為server通訊地址,而域名解析到的IP是可隨時(shí)更換的,ircbot隨機(jī)連接到任一個(gè)server。
此ircbot有多個(gè)基礎(chǔ)功能,如DDOS、執(zhí)行命令、自殺、更換server、切換靜默狀態(tài)(Disables all packeting)等。
2.4肉雞功能
Ircbot都是那些古老的功能,下面這些常常才是各種不同BotNet特有的。
(一) 漏洞掃描攻擊
本案例中是php CGI的RCE (CVE-2012-1823)
vir:~/tl/aa/tmp # lsChangeLog Makefile TODO bm.h inst ipsort ipsort.sgml php.c pnscan.1 pnscan.o version.c wsLICENSE README bm.c bm.o install-sh ipsort.1 php pnscan pnscan.c pnscan.sgml version.ovir:~/tl/aa/tmp # head php.c/* Apache Magica by Kingcope *//* gcc apache-magika.c -o apache-magika -lssl *//* This is a code execution bug in the combination of Apache and PHP.On Debian and Ubuntu the vulnerability is present in the default installvir:~/tl/aa/tmp # cat ws#!/bin/bashwhile [ 1 ]; do# ___A=`echo $(( (($RANDOM<<15)|$RANDOM) % 255 + 0 ))` ___A=`echo $(( $RANDOM % 255 + 0 ))` ___B=$(( ((RANDOM<<15)|RANDOM) % 255 + 0 )) ./pnscan -w"HEAD / HTTP/1.0
" -r"Server: Apache" -t 1000 $___A.$___B.0.0/16 80 #echo $___A.$___B#sleep 20done
(二) 挖礦奴隸
現(xiàn)在的”黑客”早已不是之前崇尚自由、崇尚技術(shù)極致的時(shí)代了,金錢才是他們最終目的,所以我們也在此botnet中發(fā)現(xiàn)了“挖掘機(jī)”,并且喪心病狂的的黑客同時(shí)進(jìn)行2種網(wǎng)絡(luò)匿名貨幣的挖掘Protocoin和Primecoin,充分榨干系統(tǒng)性能。
Protocoin 挖掘機(jī)
8cec4e7cc9eb8ad13ee4ec7241bfa1d6.png
Primecoin 挖掘機(jī)
(三) 提權(quán)
此案例中的攻擊者并不滿足于web漏洞進(jìn)來(lái)獲得的普通權(quán)限,還通過(guò)系統(tǒng)漏洞,以及社工(信息采集)方式獲得root權(quán)限。
系統(tǒng)提權(quán)漏洞工具
爬取conf用于密碼root猜解
通過(guò)上述分析,我們可以看到此僵尸網(wǎng)絡(luò)利用CVE-2012-1823漏洞大肆傳播,并且利用被控的肉雞進(jìn)行2種網(wǎng)絡(luò)貨幣的挖掘,充分榨取肉雞系統(tǒng)資源。
BotNet 架構(gòu)
3.應(yīng)對(duì)僵尸網(wǎng)絡(luò)威脅
Botnet攻擊嘗試統(tǒng)計(jì)
以上是近期檢測(cè)到的botnet攻擊嘗試趨勢(shì)統(tǒng)計(jì)。Botnet從建立到覆滅是有其生命周期的,如果發(fā)現(xiàn)得早是可以及時(shí)修補(bǔ)漏洞,建立阻斷策略,避免其危害擴(kuò)散。
BotNet 生命周期
日常安全工作中通過(guò)對(duì)入侵檢測(cè)數(shù)據(jù)的分析,能感知到僵尸網(wǎng)絡(luò)的演變以及0day1dayNday的攻擊趨勢(shì)。當(dāng)僵尸網(wǎng)絡(luò)在其初期,尚未形成規(guī)模之時(shí),如果及時(shí)聯(lián)合業(yè)界安全聯(lián)盟加以打擊,必將其扼殺在搖籃。合作形式可包含但不限于以下方式:
騰訊自有業(yè)務(wù)和服務(wù)器的規(guī)模龐大,作為一個(gè)目標(biāo)巨大的“靶場(chǎng)”又是一個(gè)分布式的大“蜜罐”,我們可以充分挖掘其數(shù)據(jù)潛力幫助業(yè)界共同提升安全水平,但相比整個(gè)互聯(lián)網(wǎng)環(huán)境來(lái)說(shuō)又是微不足道的。