變異數據流

filen filen filen

一、變異數據流的由來
變異數據流又稱為候補數據流,即Alternate Data Stream。Windows NT 、Windows XP Windows 2000等都支持NTFS流,而變異數據流就是一種NTFS流。微軟當初設計了它,雖然達到了預期安全性,但是為了向後兼容,它支持後綴為$data的內部檔案類型,在過程中它完全隱藏。NTFS分區的數據流是一個子檔案系統允許額外的數據連線到一個特別的檔案中,從而實現隱藏。現在的FAT檔案系統格式是不支持數據流格式的,而NTFS檔案系統中的變異數據流的隱藏特性可以保護檔案。
當今ADS的套用很廣泛,國外大多數把它用來隱藏檔案,很多黑客也注意到了變異數據流的作用,用於上傳後門。因為一般的防毒軟體不能查殺隱藏在數據流中的木馬等黑客軟體。但是國內對它的了解並不多,很少網站有提到它的文章,而且人們認為它是不安全的,都想盡力避開它。但是要想迴避它的隱藏特性是很難的,除非你不用NTFS檔案系統。
NTFS因為它的穩定性、強大的功能以及它所提供的安全性而成為一種優越的檔案系統, ADS的完全隱藏特性是一般隱藏軟體無法比擬的,它完全由NTFS檔案系統支持,無需任何工具就可以生成。當一個數據流被創建以後,以前的檔案大小依然不變,而且所有的Windows枚舉方法都不能把它識別出來――真正的無影無蹤。而且正好它又鮮為人知,是一種能夠簡單實現的隱藏方法。並且它支持任何格式檔案的隱藏,而且任何類型的隱藏檔案都可以直接由Windows系統提供的命令來打開。而微軟提供了一種方法通過Windows explorer來創建特殊的ADS,檢測這種特殊的ADS的必要工具和功能相當缺乏。
二、變異數據流的實現
變異數據流可以在NTFS檔案系統中實現檔案隱藏的功能。
在CMD環境下,輸入:type filename1 > filename2 : Stream name。(filename1為附著檔案,filename2為宿主檔案)。系統自動生成數據流,實現對檔案的隱藏。你只能瀏覽filename2的內容,而對於被隱藏的filename1無法直接瀏覽,連它占用的磁碟空間也無法顯示出來。可以用notepad或start命令來打開它。
如果不知道隱藏時的Stream name,攻擊者就無法找到受保護的檔案。Stream name可以起到特殊密碼的作用,就好像你想進入既不知道用戶名也不知道密碼的系統,成功的可能性是極低的。對於專門的軟體,Stream name也是很容易得到的。例如lads.exe就可以直接枚舉出數據流的大小和其檔案名稱。 ListStream.exe的功能更加強大,它可以列舉出更多的細節。但這類軟體並不是很多。Windows Explorer沒有任何可用的轉換和設定來檢測這種新建的ADS的存在,所以ADS隱藏還是很安全的。
三、變異數據流的隱藏特性
變異數據流的完全隱藏特性給了黑客們繞過防毒軟體上傳後門的簡單方法,下面是其主要的幾個性質:
1、當一個隱藏檔案創建好了以後,繼續對它做以下操作,ADS數據流將丟失。type filename1 > filename2: 或者不要“:”也可以。此外刪除變異數據流還有一個方法。就是直接刪除宿主檔案。需要注意的是,當流檔案名為:filename時,不能直接用del命令刪除流檔案,除非刪除整個目錄。
2、type filename1 filename2 ... filename… > filename:* 可以同時隱藏多個檔案入數據流,對於隱藏的檔案,流檔案名稱必須有"."這個後綴,否則無法直接由notepad命令打開。可以直接由notepad讀取出來的檔案格式有:.txt .xml .c .h .htt .ani .reg等。
3、用start命令可以直接打開任何類型的ADS檔案,但是必須寫明路徑。也可以用MORE命令來控制ADS,用more < ads名來查看數據流的內容。如果在建立數據流檔案的時候,冒號後面的名字沒有包括檔案類型,則不能用START命令直接打開數據流檔案,必須經過程式選擇來打開。並且指定什麼檔案類型他就用什麼程式打開。
4、ADS是NTFS檔案系統的特徵,所以帶有ADS的檔案如果被移動到其他的檔案系統,比如FAT,FAT32或者ext2上,ADS會丟失,因為這些檔案系統都不支持ADS,如果是在NTFS分區之間移動,ADS就會被保留下來。最重要的是,當打開隱藏檔案的時候,只要再將附著檔案保存即可將ADS提取出來。這樣就可以實現對ADS檔案的解密。

相關詞條

相關搜尋

熱門詞條

聯絡我們