沖擊波病毒是利用在2003年7月21日公布的RPC漏洞進(jìn)行傳播的,該病毒于當(dāng)年8月爆發(fā)。病毒運(yùn)行時會不停地利用IP掃描技術(shù)尋找網(wǎng)絡(luò)上系統(tǒng)為Win2000或XP的計算機(jī),找到后就利用DCOM/RPC緩沖區(qū)漏洞攻擊該系統(tǒng),一旦攻擊成功,病毒體將會被傳送到對方計算機(jī)中進(jìn)行感染,使系統(tǒng)操作異常、不停重啟、甚至導(dǎo)致系統(tǒng)奔潰。另外,該病毒還會對系統(tǒng)升級網(wǎng)站進(jìn)行拒絕服務(wù)攻擊,導(dǎo)致該網(wǎng)站堵塞,使用戶無法通過該網(wǎng)站升級系統(tǒng)。只要是計算機(jī)上有RPC服務(wù)并且沒有打安全補(bǔ)丁的計算機(jī)都存在有RPC漏洞,具體涉及的操作系統(tǒng)是:Windows 2000XPServer 2003NT4.0。
2003年7月16日,發(fā)布了“RPC接口中的緩沖區(qū)溢出”的漏洞補(bǔ)丁。該漏洞存在于RPC中處理通過TCP/IP的消息交換的部分,攻擊者通過TCP135端口,向遠(yuǎn)程計算機(jī)發(fā)送特殊形式的請求,允許攻擊者在目標(biāo)機(jī)器上獲得完全的權(quán)限并以執(zhí)行任意代碼。
該病毒充分利用了RPC/DCOM漏洞,首先使受攻擊的計算機(jī)遠(yuǎn)程執(zhí)行了病毒代碼;其次使RPCSS服務(wù)停止響應(yīng),PRC意外中止,從而產(chǎn)生由于PRC中止導(dǎo)致的一系列連鎖反應(yīng)。針對RPC/DCOM漏洞所編寫的病毒代碼構(gòu)成了整個病毒代碼中產(chǎn)生破壞作用的最重要的部分。
1.計算機(jī)系統(tǒng)被病毒感染后,病毒會自動建立一個名為“BILLY”的互斥線程,當(dāng)病毒檢測到系統(tǒng)中有該線程的話則將不會重復(fù)駐入內(nèi)存,否則病毒會在內(nèi)存中建立一個名為“msblast”的進(jìn)程。
2.病毒運(yùn)行時會將自身復(fù)制為:%systemdir%msblast.exe,%systemdir%指的是操作系統(tǒng)安裝目錄中的系統(tǒng)目錄,默認(rèn)為C:Winntsystem32;緊接著病毒在注冊表HKEY-LOCAL-MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun下添加名為“windows auto update”的啟動項(xiàng)目,值為“msblast.exe”,使得每次啟動計算機(jī)時自動加載病毒。
3.病毒隱藏后,感染病毒的計算機(jī)嘗試連接20個隨機(jī)的IP地址,并且對存在RPC/DCOM漏洞的計算機(jī)進(jìn)行攻擊,完成后該病毒會休息1.8秒,然后繼續(xù)掃描下20個隨機(jī)的IP地址,并進(jìn)行攻擊。
4.具體的攻擊過程為:在感染病毒的計算機(jī)通過TCP135端口向那些被攻擊計算機(jī)發(fā)送攻擊代碼,被攻擊的計算機(jī)將在TCP4444端口開啟一個CommandShell。同時監(jiān)聽UDP69端口,當(dāng)接收到受攻擊的機(jī)器發(fā)來的允許使用DCOM RPC運(yùn)行遠(yuǎn)程指令的消息后,將發(fā)送Msblast.exe文件,并讓受攻擊的計算機(jī)執(zhí)行它,至此受攻擊的計算機(jī)也感染了此病毒。
5.如果當(dāng)前日期是8月或者當(dāng)月日期是15日以后,病毒還會發(fā)起對windowsupdate.com的拒絕服務(wù)攻擊(DdoS)。
沖擊波病毒長6176bytes,是后門和蠕蟲功能混合型的病毒,包括三個組件:蠕蟲載體、TFTP服務(wù)器文件、攻擊模塊,病毒會下載并運(yùn)行病毒文件msblast.exe。在這種混合型病毒中還隱藏地存在一段文本信息:
I just want to say LOVE YOU SAN !!
Bill gates why do you make this possible ?
Stop making money and fix your soft ware !!
通過對沖擊波病毒的整個工作流程進(jìn)行分析,可以歸納得到病毒的行為特征:
1.主動攻擊:蠕蟲在本質(zhì)上已經(jīng)演變?yōu)楹诳腿肭值淖詣踊ぞ?,?dāng)蠕蟲被釋放(release)后,從搜索漏洞,到利用搜索結(jié)果攻擊系統(tǒng),到復(fù)制副本,整個流程全由蠕蟲自身主動完成。
2.利用系統(tǒng)、網(wǎng)絡(luò)應(yīng)用服務(wù)漏洞:計算機(jī)系統(tǒng)存在漏洞是蠕蟲傳播的前提,利用這些漏洞,蠕蟲獲得被攻擊的計算機(jī)系統(tǒng)的相應(yīng)權(quán)限,完成后繼的復(fù)制和傳播過程。正是由于漏洞產(chǎn)生原因的復(fù)雜性,導(dǎo)致面對蠕蟲的攻擊防不勝防。
3.造成網(wǎng)絡(luò)擁塞:蠕蟲進(jìn)行傳播的第一步就是找到網(wǎng)絡(luò)上其它存在漏洞的計算機(jī)系統(tǒng),這需要通過大面積的搜索來完成,搜索動作包括:判斷其它計算機(jī)是否存在;判斷特定應(yīng)用服務(wù)是否存在;判斷漏洞是否存在。這不可避免的會產(chǎn)生附加的網(wǎng)絡(luò)數(shù)據(jù)流量。即使是不包含破壞系統(tǒng)正常工作的惡意代碼的蠕蟲,也會因?yàn)椴《井a(chǎn)生了巨量的網(wǎng)絡(luò)流量,導(dǎo)致整個網(wǎng)絡(luò)癱瘓,造成經(jīng)濟(jì)損失。
4.反復(fù)性:即使清除了蠕蟲在文件系統(tǒng)中留下的任何痕跡,如果沒有修補(bǔ)計算機(jī)系統(tǒng)漏洞,重新接入到網(wǎng)絡(luò)中的計算機(jī)還是會被重新感染。
5.破壞性:從蠕蟲的歷史發(fā)展過程可以看到,越來越多的蠕蟲開始包含惡意代碼,破壞被攻擊的計算機(jī)系統(tǒng),而且造成的經(jīng)濟(jì)損失數(shù)目越來越大。
沖擊波的傳播模式為:掃描-攻擊-復(fù)制。
掃描模塊采用的掃描策略是:隨機(jī)選取某一段IP地址,然后對這一地址段上的主機(jī)掃描。病毒作者會對掃描策略進(jìn)行一些改進(jìn),比如在IP地址段的選擇上,可以主要針對當(dāng)前主機(jī)所在的網(wǎng)段掃描,對外網(wǎng)段則隨機(jī)選擇幾個小的IP地址段進(jìn)行掃描。對掃描次數(shù)進(jìn)行限制,只進(jìn)行幾次掃描。把掃描分散在不同的時間段進(jìn)行。
掃描策略設(shè)計的原則有三點(diǎn):盡量減少重復(fù)的掃描,使掃描發(fā)送的數(shù)據(jù)包總量減少到最??;保證掃描覆蓋到盡量大的范圍;處理好掃描的時間分布,使得掃描不要集中在某一時間內(nèi)發(fā)生。
一旦確認(rèn)漏洞存在后就可以進(jìn)行相應(yīng)的攻擊步驟,這一部關(guān)鍵的問題是對漏洞的理解和利用。攻擊成功后,是獲得一個遠(yuǎn)程主機(jī)的shell,例如對win2k系統(tǒng)來說就是cmd.exe,得到這個shell后就擁有了對整個系統(tǒng)的控制權(quán)。
復(fù)制過程有很多種方法,可以利用系統(tǒng)本身的程序?qū)崿F(xiàn),也可以用病毒自代的程序?qū)崿F(xiàn)。復(fù)制過程實(shí)際上就是一個文件傳輸?shù)倪^程,實(shí)現(xiàn)網(wǎng)絡(luò)文件傳輸很簡單。
由于RPC/DCOM漏洞,RPCSS服務(wù)停止響應(yīng),操作系統(tǒng)不斷報告“PRC意外中止,系統(tǒng)重新啟動”,客戶機(jī)頻繁重啟,同時所有網(wǎng)絡(luò)服務(wù)均出現(xiàn)故障,如IE瀏覽器打不開,OUTLOOK無法使用等。
由于RPC服務(wù)終止還可能造成其他的一些問題(因?yàn)樵S多功能都依賴于RPC服務(wù)),如:無法進(jìn)行復(fù)制、粘貼,無法查看網(wǎng)絡(luò)屬性,某些文件夾顯示不正常,計算機(jī)“服務(wù)”管理不正常,無法使用IE“在新窗口中打開”,無法添加刪除程序等等不正?,F(xiàn)象。
2003年8月29日晚9時,全球反病毒監(jiān)測網(wǎng)率先截獲了沖擊波病毒的最新變種,并命名為:沖擊波V(Worm.Blaster.E)。據(jù)反病毒工程師分析,該病毒變種和前三個變種病毒一樣,沒有在原始病毒上做大的改動,傳染和破壞能力與“沖擊波”其它變種相同,這個變種病毒只是重新改變了病毒文件名稱和注冊表鍵值,企圖躲避殺毒軟件的查殺。據(jù)分析,新的變種病毒做了如下四處改動:
將病毒體內(nèi)的字符串改為:I dedicate this particular strain to me ANG3L - hope yer enjoying yerself and dont forget the promise for me B/DAY而在病毒ochWorm.Blaster中為:I just want to say LOVE YOU SAN !! billy gates why do you make this possible ? Stop making money and fix your software !!
將原來的互拆量ochBILLY改為ochSILLY;
將對ochwindowsupdate.com進(jìn)行拒絕服務(wù)攻擊改為對ochkimble.org進(jìn)行拒絕服務(wù)攻擊;
將注冊表中添加的鍵值改為HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRunWindowsAutomation=mslaugh.exe原為:HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRunWindowsautoupdate=msblast.exe
反病毒工程師判斷,這種改動的目的仍然是為了躲避殺毒軟件的追殺。該病毒編寫者是為了延長病毒的生命力,從而給自己爭取到推出病毒新版本的時間。沖擊波”病毒共產(chǎn)生了五個病毒體,分別為:Worm.Blaster,Worm.Blaster.B,Worm.Blaster.C,Worm.Blaster.D,Worm.Blaster.E。
該病毒感染系統(tǒng)后,會使計算機(jī)產(chǎn)生下列現(xiàn)象:系統(tǒng)資源被大量占用,有時會彈出RPC服務(wù)終止的對話框,并且系統(tǒng)反復(fù)重啟,不能收發(fā)郵件、不能正常復(fù)制文件、無法正常瀏覽網(wǎng)頁,復(fù)制粘貼等操作受到嚴(yán)重影響,DNS和IIS服務(wù)遭到非法拒絕等。如果在自己的計算機(jī)中發(fā)現(xiàn)以上全部或部分現(xiàn)象,則很有可能中了沖擊波病毒。此時,計算機(jī)用戶應(yīng)該采取以下方式檢測:
1)檢查系統(tǒng)的system32Wins目錄下是否存在DLLHOST.EXE文件(大小為20K)和SVCHOST.EXE文件,(注意:系統(tǒng)目錄里也有一個DLLHOST.EXE文件,但此為正常文件,大小只有8KB左右)如果存在這兩個文件說明計算機(jī)已經(jīng)感染了“沖擊波殺手”病毒;
2)在任務(wù)管理器中查看是否有三個或三個以上DLLHOST.EXE的進(jìn)程,如果有此進(jìn)程說明計算機(jī)已經(jīng)感染了此病毒。
1.病毒通過最新RPC漏洞進(jìn)行傳播,因此用戶應(yīng)先給系統(tǒng)打上RPC補(bǔ)丁。
2.病毒運(yùn)行時會建立一個名為:“BILLY”的互斥量,使病毒自身不重復(fù)進(jìn)入內(nèi)存,并且病毒在內(nèi)存中建立一個名為:“msblast”的進(jìn)程,用戶可以用任務(wù)管理器將該病毒進(jìn)程終止。
3.用戶可以手動刪除該病毒文件。注意:%Windir%是一個變量,指的是操作系統(tǒng)安裝目錄,默認(rèn)是:“C:Windows”或:“c:Winnt”,也可以是用戶在安裝操作系統(tǒng)時指定的其它目錄。%systemdir%是一個變量,指的是操作系統(tǒng)安裝目錄中的系統(tǒng)目錄,默認(rèn)是:“C:Windowssystem”或:“c:Winntsystem32”。
4.病毒會修改注冊表的HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun項(xiàng),在其中加入:“windowsautoupdate”=“msblast.exe”,進(jìn)行自啟動,用戶可以手工清除該鍵值。
5.病毒會用到135、4444、69等端口,用戶可以使用防火墻將這些端口禁止或者使用“TCP/IP篩選”功能,禁止這些端口。
6.進(jìn)入“管理工具”文件夾(在開始菜單或控制面板),運(yùn)行組件服務(wù),在左邊側(cè)欄點(diǎn)擊“服務(wù)(本地)”,找到RemoteProcedureCall(RPC),其描述為“提供終結(jié)點(diǎn)映射程序(endpointmapper)以及其它RPC服務(wù)”。雙擊進(jìn)入恢復(fù)標(biāo)簽頁,把第一二三次操作都設(shè)為“不操作”。
1.建立良好的安全習(xí)慣。對一些來歷不明的郵件及附件不要打開,不要執(zhí)行下載后未殺毒處理的軟件等。
2.經(jīng)常升級安全補(bǔ)丁。據(jù)統(tǒng)計,大部分網(wǎng)絡(luò)病毒是通過系統(tǒng)安全漏洞進(jìn)行傳播的,定期下載最新的安全補(bǔ)丁,以防范未然。
3.使用復(fù)雜的密碼。有許多網(wǎng)絡(luò)病毒就是通過猜測簡單密碼的方式攻擊系統(tǒng)的,因此使用復(fù)雜的密碼,將會大大提高計算機(jī)的安全系數(shù)。
4.迅速隔離受感染的計算機(jī)。當(dāng)發(fā)現(xiàn)計算機(jī)感染病毒或異常時應(yīng)立刻斷網(wǎng),以防止計算機(jī)受到更多的感染,或者成為傳播源,再次感染其它計算機(jī)。
5.安裝專業(yè)的防毒軟件進(jìn)行全面監(jiān)控。在病毒日益增多的今天,使用殺毒軟件進(jìn)行防毒,是越來越經(jīng)濟(jì)的選擇,用戶在安裝了反病毒軟件之后,應(yīng)經(jīng)常進(jìn)行升級、將一些主要監(jiān)控經(jīng)常打開(如郵件監(jiān)控),這樣才能真正保障計算機(jī)的安全。