作者KSfish (牧場裡的蠢牛)
看板share
標題[資訊] TXT檔潛在的危險
時間Mon Feb 28 17:00:01 2005
摘錄自
http://www.hkitn.com/article.php/2742
--
TXT檔潛在的危險
什麼,TXT檔也有危險?是的!TXT檔不僅有危險,而且可以是非常的危險!不
過,嚴格說來,應該給這個所謂的“TXT”檔加個引號,因為它們是看起來是TXT文
件,實則是隱藏了期真實副檔名的其他文件,但在普通人看來它們的確是“TXT”檔
!下面就讓我們一起來瞭解一下這些危險的“TXT”檔。
一. 隱藏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
s cripting 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 Scrap
Object(簡稱SHS),就是說,當你在不同檔間複製物件時,Windows是將物件包裝成一
個碎片對象來進行複製的。因此,一旦我們不是在檔間進行複製粘貼,而是直接將碎
片物件粘貼到硬碟上,就會產生一個.SHS文件。這個碎片物件檔保存了原來物件的所
具備的功能,原來物件包含的命令同樣會被解析執行,這正是其可怕這處!
3. 防範方法
(1)“野蠻”法
SHS檔既然不是可執行檔,當然需要其他的程式來解析執行了,我們去掉解析
執行的關聯就可以簡單防止這種檔中潛伏的威脅了。 運行註冊表編輯器
regedit.exe,在HKEY_CLASSES_ROOT\.shs主鍵下,將預設值ShellScrap刪除,現在雙
擊.SHS檔,看,不會執行了吧?彈出了一個對話方塊,讓我們選擇打開.SHS檔需要的
程式,此時你選擇“記事本”程式看就非常安全了。 更徹底一點的辦法是將
HKEY_CLASSES_ROOT\ShellScrap\shell\open\command下的打開.SHS文件的關聯完全去
掉,現在雙擊.SHS檔,連選擇運行程式的對話方塊也不出現了,它會直接要求在控制面
板重建文件關聯。
(2)“文明”法
?在註冊表編輯器HEY_CLASSES_ROOT\ShellScrap鍵下,有一個鍵值
“NeverShowExt”,它是導致“.SHS”檔副檔名無法顯示的罪魁禍首。刪除這個鍵
值,你就可以看到“.SHS”副檔名了。
?更換“碎片物件”檔的默認圖示。由於碎片物件檔的默認圖示與文字檔案圖
標非常相似,容易麻痹人,所以我們要更換它的圖示。打開資源管理器,選中“查看”
功能表下的“檔夾選框”,在彈出的對話方塊中選擇“檔類型”標籤,在“已註冊的文
件類型”下找到“碎片對象”。單擊右上角“編輯”按鈕,在打開的“編輯檔類型”
對話方塊中單擊上邊的“更改圖示”按鈕。打開C:\WINDOWS\SYSTEM\Pifmgr.dll,從出現
的圖示中選一個作為“.SHS”檔的新圖示即可。
(3)更多防治手段
?如果是病毒檔隱藏了其真實副檔名“SHS”,而你在反病毒軟體中設置成掃描
指定程式檔、而不是掃描所有檔(如只掃描可執行檔),那麼反病毒軟體是無法
發現病毒的,所以請在反病毒軟體的指定程式檔中加入“.SHS”檔的掃描。各種防
病毒軟體的設置大同小異,比較簡單,請大家自己進行設置。
?禁止“碎片物件”檔及“指向文檔的快捷方式”檔。
三.改頭換面的OutLook郵件附件
除了上面所說的兩類危險的“TXT”檔,還存在另一種危險的“TXT”檔——改
頭換面的OutLook郵件附件!即一個看起來是TXT的檔其實是個EXE檔!下麵我以
OutLook2000簡體中文版為例進行詳細說明。
1. 開啟OutLook2000,新建一個郵件,選擇功能表欄中的“格式”→“帶格式文
本”,在郵件正文點擊一下滑鼠左鍵,選擇功能表“插入”→“物件”,點擊“由文件創
建”→“流覽”,選擇Windows目錄下的notepad.exe,點擊“確定”,在新郵件的主體
部分出現notepad.exe及其圖示。
2. 在剛出現的notepad.exe及其圖示上點擊滑鼠右鍵,選擇“編輯包”,打開物件
包裝程式,選擇“插入圖示”按鈕,選擇“流覽”,選擇
WINDOWS\SYSTEM\SHELL32.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文件您瞭解其可怕之處了吧?其實只要你夠小心,再加上按
本文所說的防範方法去做,就不會有危險了。
---
★互相尊重、為所慾為!☆
☆將心比己、惠及社群。★
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 219.81.193.46
1F:推 tranqulity:推218.174.251.129 02/28
2F:推 starbacks:推一個 61.223.140.195 02/28
3F:推 halb:推推~~ 140.112.243.44 02/28
4F:推 womi:推~~果然要小心!! 210.85.10.104 03/01