“紅色代碼”病毒是2001年7月15日發(fā)現(xiàn)的一種網(wǎng)絡蠕蟲病毒,感染運行Microsoft IIS Web服務器的計算機。其傳播所使用的技術可以充分體現(xiàn)網(wǎng)絡時代網(wǎng)絡安全與病毒的巧妙結合,將網(wǎng)絡蠕蟲、計算機病毒、木馬程序合為一體,開創(chuàng)了網(wǎng)絡病毒傳播的新路,可稱之為劃時代的病毒。如果稍加改造,將是非常致命的病毒,可以完全取得所攻破計算機的所有權限并為所欲為,可以盜走機密數(shù)據(jù),嚴重威脅網(wǎng)絡安全。
紅色病毒首先被eEye Digital Security公司的雇員Marc Maiffret和Ryan Permeh發(fā)現(xiàn)并研究。他們將其命名為“Code Red”,因為他們當時在喝Code Red Mountain Dew。
“紅色代碼”蠕蟲采用了一種叫做"緩存區(qū)溢出"的黑客技術,利用微軟IIS的漏洞進行病毒的感染和傳播。該病毒利用HTTP協(xié)議,向IIS服務器的端口80發(fā)送一條含有大量亂碼的GET請求,目的是造成該系統(tǒng)緩存區(qū)溢出,獲得超級用戶權限,然后繼續(xù)使用HTTP向該系統(tǒng)送出ROOT.EXE木馬程序,并在該系統(tǒng)運行,使病毒可以在該系統(tǒng)內(nèi)存駐留,并繼續(xù)感染其他IIS系統(tǒng)。Code Red在向侵害對象發(fā)送GET亂碼時,總是在亂碼前加上一個后綴為.ida的文件名,表示它正在請求該文件,這是紅色代碼的重要特征。
設置運行環(huán)境。首先修改堆棧指針,設置堆大小為0218H字節(jié)。接著使用RVA(相對虛擬地址)查找Get Proc Address的函數(shù)地址,再調(diào)用此函數(shù)獲得其他函數(shù)的地址,如socket,connect,send,recv,close socket等。
如果C: ot worm文件存在,則不進一步傳染其他主機。
傳染其他主機。創(chuàng)建100個線程,其中99個線程用于感染其他的Web服務器。通過一個算法來計算出一系列的IP地址作為傳染目標。按照IP地址的生成算法,能夠產(chǎn)生重復傳染的情況,從而在這些服務器之間傳輸大量的數(shù)據(jù)而消耗其網(wǎng)絡帶寬,達到拒絕服務攻擊的效果。
篡改主頁。如果系統(tǒng)的默認語言不為美國英語(代碼頁不等于0x409),第100個線程和前99個線程一樣去感染其他系統(tǒng)。否則會篡改系統(tǒng)的網(wǎng)頁,被感染的Web服務器的網(wǎng)頁將被篡改成某條消息。這個消息持續(xù)10h后會消失。與其他通過網(wǎng)絡攻擊篡改網(wǎng)頁的方法不同,該病毒并不修改磁盤上的主頁文件,而是修改w3svc.dll的TcpSockSend入口指向病毒代碼,當瀏覽器訪問這個被感染的Web服務器時,TcpSockSend返回前述的篡改消息。
產(chǎn)生對電腦的白宮的拒絕服務攻擊。每一蠕蟲線程都會檢查C: ot worm文件。如果文件存在,則轉(zhuǎn)為休眠,否則檢查當前時間,如果時間在20:00UTC和23:59UTC之間,將對白宮進行攻擊。創(chuàng)建一個socket并與白宮網(wǎng)站的80端口建立連接,并發(fā)送18000H(98K字節(jié))的數(shù)據(jù)。在休眠大約415h后,再次重復發(fā)送數(shù)據(jù)。由于在全世界范圍內(nèi)有大量Web服務器被感染,其結果就可能會產(chǎn)生對白宮網(wǎng)站的拒絕服務攻擊。
篡改被感染的網(wǎng)站,使其顯示上節(jié)中提到的消息。
蠕蟲病毒的活動一般與時間相關,根據(jù)系統(tǒng)時間不同會采取不同的活動:
1-19天
通過查找網(wǎng)絡上更多地IIS服務器嘗試自我傳播。
20-27天
對幾個固定的IP地址發(fā)動拒絕服務攻擊,包括白宮的IP地址。
28天到月末
休眠,沒有攻擊活動。
檢查服務器日志
檢查web服務器的日志文件,如果出現(xiàn)下面的字符串,則表示可能遭到紅色代碼病毒的攻擊:
GET/default.ida?NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN%u9090%u6858%ucbd3%u7801%u9090%u6858%ucbd3%u7801%u9090%u6858%ucbd3%u7801%u9090%u9090%u8190%u00c3%u0003%u8b00%u531b%u53ff%u0078%u0000%u00=aHTTP/1.0
如果在1025以上端口出現(xiàn)很多SYN SENT連接請求,或者1025號以上的大量端口處于listening狀態(tài),那么你的機子也是已經(jīng)遭受紅色代碼病毒的感染。
如果在以下目錄中存在Root.exe文件,則說明已經(jīng)感染紅色代碼病毒:
C:/inetpub/scripts/Root.exe
D:/inetpub/scripts/Root.exe
C:/program Files/common file/system/MSADC/Root.exe
D:/program Files/common file/system/MSADC/Root.exe
C:/explorer.exe
D:/explorer.exe
(1)結束進程explorer.exe
有兩個explorer進程。關閉其中線程計數(shù)為1的進程。
(2)刪除上節(jié)“檢查文件”中列出的文件
(3)打開“計算機管理”、"服務和應用程序"、"默認應用程序",默認web站點,刪除其中的C和D的共享。
(4)修改如下注冊表鍵值
HKEY-LOCAL-MACHINE/SYSTEM/Currentcontrolset/Services/w3svc/parameters/virtua/roots
刪除其中的/C,/D,并將其中/MSADC和scripts的值217
刪除HKEY-LOCAL-MACHINE/Software/Microsoft/windowsNT/currentversion/winlogon
將其中的CFSDisable的值還原為0。
(5)更新最新的操作系統(tǒng)補丁。重啟計算機即可。
紅色代碼II病毒不同于以往的文件型病毒和引導型病毒,它只存在于內(nèi)存中,傳染時不通過文件這一常規(guī)載體,可以直接從一臺電腦內(nèi)存感染到另外一臺電腦的內(nèi)存,并且它采用隨機產(chǎn)生IP地址的方式,搜索未被感染的計算機,每個病毒每天能夠掃描40萬個IP地址,因而其傳染性特別強。一旦病毒感染了計算機后,會釋放出一個特洛伊木馬程序,為入侵者大開方便之門,黑客可以對被感染的計算機進行全程遙控。且紅色代碼II病毒不僅能感染英文Windows2000和NT,同時也可以感染中文操作系統(tǒng)。
“紅色代碼II”蠕蟲代碼首先會判斷內(nèi)存中是否以注冊了一個名為CodeRedII的Atom(系統(tǒng)用于對象識別),如果已存在此對象,表示此機器已被感染,蠕蟲進入無限休眠狀態(tài),未感染則注冊Atom并創(chuàng)建300個惡意線程,當判斷到系統(tǒng)默認的語言ID是中華人民共和國或中國臺灣時,線程數(shù)猛增到600個,創(chuàng)建完畢后初始化蠕蟲體內(nèi)的一個隨機數(shù)生成器(Rundom Number Generator),此生成器隨機產(chǎn)生IP地址讓被蠕蟲去發(fā)現(xiàn)這些IP地址對應的機器的漏洞并感染之。每個蠕蟲線程每100毫秒就會向一隨機地址的80端口發(fā)送一長度為3818字節(jié)的病毒傳染數(shù)據(jù)包。巨大的蠕蟲數(shù)據(jù)包使網(wǎng)絡陷于癱瘓。
紅色代碼三代病毒允許黑客擁有遠程訪問web服務器的完全權限。紅色代碼三代發(fā)現(xiàn)于2001年8月4日,因為它同樣利用緩存溢出對其他網(wǎng)絡服務進行傳播,所以被稱為原紅色代碼病毒的變種。紅色代碼三代具有很高的危險性,紅色代碼蠕蟲病毒會感染運行微軟index server 2.0或windows 2000索引服務的系統(tǒng),它只會威脅到在windos NT和windows 2000操作系統(tǒng)上運行IIS 4.0和IIS 5.0的計算機。紅色代碼三代能夠建立超過300個進程來尋找其他容易被攻擊的服務器以進行傳播。紅色代碼三代能探測更多的IP地址,這引起Internet訪問量的增加和網(wǎng)絡速度的下降。