一個簡單的HTML病毒分析
更新時間:2006年10月28日 00:00:00 作者:
一直就想寫這篇東西了,只是上班時說要上班,不寫,回家后又忙著玩游戲,丟一邊去了?,F(xiàn)在只好不務正業(yè)的開寫了,希望頭兒不會知道我的blog。哈哈 在很久之前就對HTML的病毒很感興趣了,很好奇怎么能遠程向本地不經(jīng)過允許就能下載可執(zhí)行文件的,只是一直沒機會搞得到ASP的原碼,所以不才敢斷章取義的去作什么分析。最近一次聽一朋友說他看一個網(wǎng)頁時病毒防火墻提示有病毒,叫我小心(先感謝一下他先),我閃了一下念頭,就打開FlashGet把那個病毒首頁下了下來。 稍微看了一下發(fā)現(xiàn)在首頁代碼的下面幾行里有一個隱含的浮動幀。其引用的URL地址并不是本地的,感覺應該是了,然后再次動用FlashGet下了下來。居然發(fā)現(xiàn)放病毒的空間不支持ASP,下下來的ASP文件是源文件。這樣興趣來了,三下五除二的把所有病毒的相關文件都下了下來。 由于這個病毒很簡單,所以我也只摘抄了一些片段而以,如果實在感興趣的話,不防去找一個有病毒的網(wǎng)頁瞅瞅,不過,不要用IE去看,要用FlashGet等下載工具下載下來,再用記事本打開,不然中招了可不要來找我,好了正文開始。 真正的病毒有三個文件,一個是引導文件,一個是下載文件,第三個是激活文件。 第一個引導文件 關鍵部分是: 這個作用是將下載和激活兩個文件當作該頁的對象來引用并運行,這個也是病毒文件能夠在本地進行感染的關鍵地方,在引用的文件里居然能夠無阻礙的引用客戶端的Action組件,唉唉,這就是那把刀啊。 第二個是下載exe病毒文件 然后是怎么將exe下載下來,而不彈出下載的提示框呢。這個是收下載文件來完成的任務。 該病毒的作法是在服務器端用Microsoft.XMLHTTP組件和response.contenttype = "image/gif"將病毒文件以圖片格式下載到客戶端的網(wǎng)頁緩存里(這里是很簡單的Get/BinaryWrite操作,就不詳細說了)。 第三個是激活 感覺激活的過程很巧妙,病毒是先用fso在c:\下生成一個hta文件,將激活過程寫到這個文件里。然后再用WScript.Shell來運行這個文件。這樣,激活過程中需要大權限的操作(比如:寫注冊表操作)就沒問題了。 具體操作過程是這樣的。將在網(wǎng)頁緩存目錄里的病毒文件移動到系統(tǒng)文件目錄,然后改名為win.exe。再往注冊表里寫入自啟動的鍵,使得病毒能在系統(tǒng)重啟后自動啟動,然后刪除hta文件,完成感染和激活。 這就是病毒的基本運行過程(依照慣例病毒破壞部分就不提了),但是這個對我們有什么用呢,其實這種病毒我是很討厭的,但是,其下載exe和激活過程還是有可利用的地方的。比如:你作的系統(tǒng)必須要客戶端下載一些組件并激活后才能使用的,這種操作面對了解的人當然是不成問題,但是如果你面對的是那種網(wǎng)絡是什么都還沒搞清林的用戶時,我估計系統(tǒng)還沒開始使用你的電話就要打爆了。如果借用種方式,在對方允許的情況下自動下載組件,并自動激活,那就省事多了,是吧。 不過,這種方式對小形文件是很方便,如果要下載1m以上的文件..那就要考慮多線程下載的操作了,當然這個不是這篇文章的范圍了。以后有機會再說說用ASP+XML實現(xiàn)WEB多線程上傳多線程下載的方法吧。