一. 隱藏HTML擴展名的TXT文件
假如您收到的郵件附件中有一個看起來是這樣的文件:QQ靚號放送.txt,您是不是 認為它肯定是純文本文件?我要告訴您,不一定!它的實際文件名可以是QQ靚號放送
.txt.{3050F4D8-98B5-11CF-BB82-00AA00BDCE0B}。
{3050F4D8-98B5-11CF-BB82-00AA00BDCE0B}在注冊表裏是HTML文件關聯的意思。但是存 成文件名的時候它並不會顯現出來,您看到的就是個.txt文件,這個文件實際上等同於QQ靚號放送.txt.html。那麽直接打開這個文件為什麽有危險呢?請看如果這個文件的內容如下:
您可能以為它會調用記事本來運行,可是如果您雙擊它,結果它卻調用了HTML來運行,並且自動在後台開始格式化D盤,同時顯示“Windows is configuring the system。Plase do not interrupt this process。”這樣一個對話框來欺騙您。您看隨意打開附件中的.txt的危險夠大了吧?
欺騙實現原理:當您雙擊這個偽裝起來的.txt時候,由於真正文件擴展名是
.{3050F4D8-98B5-11CF-BB82-00AA00BDCE0B},也就是.html文件,於是就會以html文件的形式運行,這是它能運行起來的先決條件。
文件內容中的第2和第3行是它能夠產生破壞作用的關鍵所在。其中第3行是破壞行動的執行者,在其中可以加載帶有破壞性質的命令。那麽第2行又是幹什麽的呢?您可能已經注意到了第2行裏的“Ws cript”,對!就是它導演了全幕,它是幕後主謀!
Ws cript全稱Windows s cripting Host,它是Win98中新加進的功能,是一種批次語言/自動執行工具——它所對應的程序“Ws cript.exe”是一個腳本語言解釋器,位於c:WINDOWS下,正是它使得腳本可以被執行,就象執行批處理一樣。在Windows ing Host腳本環境裏,預定義了一些對象,通過它自帶的幾個內置對象,可以實現獲取環境變量、創建快捷方式、加載程序、讀寫注冊表等功能。
識別及防範方法:
①這種帶有欺騙性質的.txt文件顯示出來的並不是文本文件的圖標,它顯示的是未定義文件類型的標誌,這是區分它與正常TXT文件的最好方法。
②識別的另一個辦法是在“按WEB頁方式”查看時在“我的電腦”左麵會顯示出其文件名全稱,此時可以看到它不是真正的TXT文件。問題是很多初學者經驗不夠,老手也可能因為沒留意而打開它,在這裏再次提醒您,注意您收到的郵件中附件的文件名,不僅要看顯示出來的擴展名,還要注意其實際顯示的圖標是什麽。
③對於附件中別人發來的看起來是TXT的文件,可以將它下載後用鼠標右鍵選擇“用記事本打開”,這樣看會很安全。
二. 惡意碎片文件
另一類可怕的TXT文件是一種在Windows中被稱作“碎片對象”(擴展名為“SHS”)的文件,它一般被偽裝成文本文件通過電子郵件附件來傳播,比方說,這個樣子:QQ號碼放送.txt.shs,由於真正地後綴名“SHS”不會顯示出來,如果在該文件中含有諸如“format”之類的命令將非常可怕!不僅如此,以下四點原因也是其有一定危害性的原因:
①碎片對象文件的缺省圖標是一個和記事本文件圖標相類似的圖標,很容易會被誤認為是一些文本的文檔,用戶對它的警惕心理準備不足。
②在Windows的默認狀態下,“碎片對象”文件的擴展名(“.SHS”)是隱藏的,即使你在“資源管理器”→“工具”→“文件夾選項”→“查看”中,把“隱藏已知文件類型的擴展名”前麵的“√”去掉,“.SHS”也還是隱藏的,這是因為Windows支持雙重擴展名,如“QQ號碼放送.txt.shs”顯示出來的名稱永遠是“QQ號碼放送.txt”。
③即使有疑心,你用任何殺毒軟件都不會找到這個文件的一點問題,因為這個文件本身就沒有病毒,也不是可執行的,而且還是係統文件。你會懷疑這樣的文件嗎?
④這種SHS附件病毒製造起來非常容易,5分鍾就可以學會,也不需要編程知識(格式化C盤的命令:“format c:”大家都知道吧^_^)。
1. 具體實例
那麽,碎片對象到底對用戶的計算機會造成什麽威脅呢?我們一起來作個測試就明白了。以下測試環境是在Windows 2000 server中文版上進行的。我們先在硬盤上創建一個測試用的文件test.txt(我創建的位置是D:test.txt),然後我們來製作一個能刪除這個測試文件的碎片對象文件。
①先運行一個對象包裝程序(packager.exe),我的Win2000 server安裝在
/winnt/system32下。
②新建一個文件後,打開菜單“文件”→“導入”,這時會彈出一個文件對話框,讓你選擇一個文件。不用考慮,隨便選擇一個文件就可以了。
③然後打開“編輯”→“命令行”,在彈出的命令行輸入對話框中輸入“cmd.exe /c del d:test.txt”,點“確定”。
④然後,在菜單中選擇“編輯”→“複製數據包”。
⑤接著,隨便在硬盤上找個地方,我就直接在桌麵上了。在桌麵上點擊鼠標右鍵,在彈出菜單中選擇“粘貼”,這時我們可以看到在桌麵創建了一個碎片對象文件。
現在我們可以雙擊一下這個文件,CMD窗口一閃而過後,再到D盤看看,測試文件D:test.txt已經被刪除了!現在你該知道了,當時在對象包裝中輸入地命令被執行了。好危險啊,如果這條命令是要刪除係統中的一個重要文件,或者是格式化命令format之類的危險命令,那該有多麽的可怕!
下麵讓我們一起來看看這個“隱身殺手”的真正麵目吧!
2. 技術原理
依照微軟的解釋,SHS文件是一類特殊的OLE(Object Linking and Embedding,對象連接和嵌入)對象,可以由Word文檔或Excel電子表格創建。通過選擇文檔中文本或圖像的一塊區域,然後拖放該區域到桌麵上的某處,就可以創建一個Windows碎片對象,或稱為SHS文件(此文件是不可讀文件)。但是你可以用任何其它你想要的文件名重新命名SHS文件,或者拖放SHS對象到另一個文檔(同樣地,你可以剪切和粘貼)。
也就是說,我們所輸入的命令作為OLE對象嵌入到對象包裝程序新建的文件中了,而微軟為了能方便的將嵌入到文件的對象進行複製,使用了一種技術Shell ScrapObject(簡稱SHS),就是說,當你在不同文件間複製對象時,Windows是將對象包裝成一個碎片對象來進行複製的。因此,一旦我們不是在文件間進行複製粘貼,而是直接將碎片對象粘貼到硬盤上,就會產生一個.SHS文件。這個碎片對象文件保存了原來對象的所具備的功能,原來對象包含的命令同樣會被解析執行,這正是其可怕這處!
3. 防範方法
(1)“野蠻”法
SHS文件既然不是可執行文件,當然需要其他的程序來解析執行了,我們去掉解析執行的關聯就可以簡單防止這種文件中潛伏的威脅了。 運行注冊表編輯器
regedit.exe,在HKEY_CLASSES_ROOT.shs主鍵下,將默認值ShellScrap刪除,現在雙擊.SHS文件,看,不會執行了吧?彈出了一個對話框,讓我們選擇打開.SHS文件需要的程序,此時你選擇“記事本”程序看就非常安全了。 更徹底一點的辦法是將HKEY_CLASSES_ROOTShellScrapshellopencommand下的打開.SHS文件的關聯完全去掉,現在雙擊.SHS文件,連選擇運行程序的對話框也不出現了,它會直接要求在控製麵板重建文件關聯。
(2)“文明”法
①在注冊表編輯器HEY_CLASSES_ROOTShellScrap鍵下,有一個鍵值 “NeverShowExt”,它是導致“.SHS”文件擴展名無法顯示的罪魁禍首。刪除這個鍵值,你就可以看到“.SHS”擴展名了。
②更換“碎片對象”文件的默認圖標。由於碎片對象文件的默認圖標與文本文件圖標非常相似,容易麻痹人,所以我們要更換它的圖標。打開資源管理器,選中“查看”菜單下的“文件夾選框”,在彈出的對話框中選擇“文件類型”標簽,在“已注冊的文件類型”下找到“碎片對象”。單擊右上角“編輯”按鈕,在打開的“編輯文件類型”對話框中單擊上邊的“更改圖標”按鈕。打開C:WINDOWSSYSTEMPifmgr.dll,從出現的圖標中選一個作為“.SHS”文件的新圖標即可。
(3)更多防治手段
①如果是病毒文件隱藏了其真實擴展名“SHS”,而你在反病毒軟件中設置成掃描指定程序文件、而不是掃描所有文件(如隻掃描可執行文件),那麽反病毒軟件是無法發現病毒的,所以請在反病毒軟件的指定程序文件中加入“.SHS”文件的掃描。各種防病毒軟件的設置大同小異,比較簡單,請大家自己進行設置。
②禁止“碎片對象”文件及“指向文檔的快捷方式”文件。
三.改頭換麵的OutLook郵件附件
除了上麵所說的兩類危險的“TXT”文件,還存在另一種危險的“TXT”文件——改頭換麵的OutLook郵件附件!即一個看起來是TXT的文件其實是個EXE文件!下麵我以OutLook2000簡體中文版為例進行詳細說明。
1. 開啟OutLook2000,新建一個郵件,選擇菜單欄中的“格式”→“帶格式文 本”,在郵件正文點擊一下鼠標左鍵,選擇菜單“插入”→“對象”,點擊“由文件創建”→“瀏覽”,選擇Windows目錄下的notepad.exe,點擊“確定”,在新郵件的主體部分出現notepad.exe及其圖標。
2. 在剛出現的notepad.exe及其圖標上點擊鼠標右鍵,選擇“編輯包”,打開對象包裝程序,選擇“插入圖標”按鈕,選擇“瀏覽”,選擇
WINDOWSSYSTEMSHELL32.DLL,在當前圖標框中選擇一個你想要的圖標,比方說選擇一個文本文件的圖標,然後按“確定”。然後選擇菜單“編輯”→“卷標”,任意定義一個名字,比方說hello.txt,點擊“確定”。
3. 退出對象包裝程序,在提示是否更新時選擇“是”。
4. OK,現在出現在麵前的是hello.txt,一般人會認為它是一個地地道道的文本文件附件,相信沒有人懷疑它是別的東西。請你雙擊這個圖表,看看會發生什麽?是不是發現它打開的是notepad.exe!如果它是一個病毒文件,結果可想而知!
事實上,當你用OutLook2000收到這樣一個郵件時,它會顯示這是一個帶附件的郵件,當你以為它是一個文本文件附件雙擊打開時,OutLook會提示:部分對象攜帶病毒,可能對你的計算機造成危害,因此,請確保該對象來源可靠。是否相信該嵌入對象?安全觀念強的人一般會選擇“NO”(這就對了),一般的人可能會選擇YES(你慘了!)。
識別方法:不要怕,盡管它的迷惑性極大,但是仍然會露出一些馬腳:
1. 它其實是一個OLE對象,並不是附件,選擇它時,選擇框會不同於選擇附件的選擇框。點鼠標右鍵出現的菜單不同。
2. 雙擊打開它時,安全提示與附件的安全提示不同,這點非常重要。這時,因該選擇“NO”,然後點擊鼠標右鍵,選擇“編輯包”,提示是否信任該對象時選擇“YES”,在對象包裝程序的右邊內容框中,將現出原形。在本例中,會顯示
“NOTEPAD.EXE的備份”,文件是否可執行,關鍵在這裏。
3. 因為它不是附件,在選擇“文件”→“保存附件”時並無對話框出現。
4. 由於並不是所有的郵件收發軟件都支持對象嵌入,所以這類郵件的格式不一定被某些軟件識別,如OutLook Express。但是OutLook的使用麵很廣,尤其是在比較大的、有自己MAIL服務器的公司,所以還是有必要提醒大家小心嵌入對象,不光是OutLook,其實WORD、EXCEL等支持嵌入對象的軟件可以讓嵌入對象改頭換麵以迷惑人。
對上麵所說的三種TXT文件您了解其可怕之處了吧?其實隻要你夠小心,再加上按本文所說的防範方法去做,就不會有危險了。
恐怖!徹底分析三類危險TXT文件
本文內容已被 [ 路小川 ] 在 2006-10-20 15:40:38 編輯過。如有問題,請報告版主或論壇管理刪除.