ntfs數據流

ntfs數據流指的是微軟Windows NT核心的系列,是NTFS磁碟格式的一個特性。

基本介紹

  • 中文名:ntfs數據流
  • 外文名:alternate data streams
  • 指的是:微軟Windows NT核心的系列
  • 特性磁碟格式
什麼是NTFS數據流?,NTFS數據流的創建實例,創建宿主檔案,關聯數據流檔案,創建數據流檔案,利用NTFS數據流進行攻擊,NTFS數據流木馬的查殺,

什麼是NTFS數據流?

在介紹NTFS數據流之前,我們先簡單了解一下NTFS檔案系統。NTFS是微軟Windows NT核心的系列作業系統支持的、一個特別為網路和磁碟配額檔案加密等管理安全特性設計的磁碟格式。NTFS比FAT檔案系統更穩定,更安全,功能也更為強大。如果要讓FAT檔案系統轉換為NTFS檔案系統,可以在“命令提示符”中輸入“convert 分區盤符: /fs:ntfs”,即可將該分區的檔案系統轉換為NTFS。
NTFS交換數據流(alternate data streams,簡稱ADS)是NTFS磁碟格式的一個特性,在NTFS檔案系統下,每個檔案都可以存在多個數據流,就是說除了主檔案流之外還可以有許多非主檔案流寄宿在主檔案流中。它使用資源派生來維持與檔案相關的信息,雖然我們無法看到數據流檔案,但是它卻是真實存在於我們的系統中的。創建一個數據交換流檔案的方法很簡單,命令為“宿主檔案:準備與宿主檔案關聯的數據流檔案”。

NTFS數據流的創建實例

相信不少看了上文介紹的讀者朋友還是對NTFS數據流一頭霧水,沒有關係,下面我們通過實例來深入了解一下NTFS數據流。

創建宿主檔案

宿主檔案在這裡指的就是普通檔案,是在Windows中可以正常顯示、運行、編輯的任何類型檔案。我們先來創建一個txt格式的文本文檔,把它作為宿主檔案。運行“記事本”,隨意輸入一些內容,例如“測試——宿主檔案”,然後將其保存為C:\test\suzhu.txt。接著我們在suzhu.txt上點右鍵,選擇“屬性”,可以發現其檔案大小為16位元組

關聯數據流檔案

宿主檔案創建完成後,我們再來創建一個數據流檔案,將其與宿主檔案關聯,看看宿主檔案會發生什麼變化。點擊“開始”→“運行”,輸入cmd運行“命令提示符”,切換到C:\test\目錄中,輸入命令“echo "測試——數據流檔案" > suzhu.txt:shujuliu.txt”。這樣我們就創建了一個名為shujuliu.txt,內容為“測試——數據流檔案”的數據流檔案,並與宿主檔案suzhu.txt進行了關聯。
小貼士:在“命令提示符”中輸入創建數據流命令後,不會有提示,但數據流檔案已經成功創建了。
讓我們回到C:\test\目錄中,可以發現在該資料夾中只有一個suzhu.txt,而沒有數據流檔案shujuliu.txt,即使在“命令提示符”中使用“dir”命令也找不到shujuliu.txt。既然宿主檔案suzhu.txt和數據流檔案shujuliu.txt進行了關聯,那么是不是shujuliu.txt的內容合併到suzhu.txt中了呢?我們打開suzhu.txt,其中的內容並沒有改變,仍然是“測試——宿主檔案”,而檔案大小仍是16位元組。
那么數據流檔案shujuliu.txt哪去了呢?還是用“命令提示符”讓它現形吧,在“命令提示符”中輸入命令“notepad suzhu.txt:shujuliu.txt”,在彈出的記事本程式中就會出現數據流檔案shujuliu.txt的內容。而我們在“命令提示符”中使用type、edit等命令對數據流檔案進行編輯時,將會出現錯誤,這是因為“命令提示符”還不能很好地支持數據流檔案。記事本雖然能夠打開數據流檔案,但並不表示它能完全支持NTFS數據流,這一點我們在“另外儲存為”數據流檔案的時候就會發現。

創建數據流檔案

我們除了能將數據流檔案和宿主檔案進行綁定外,還能夠創建單獨的數據流檔案。在“命令提示符”中輸入“echo "測試——數據流檔案" > :shujuliu2.txt”,這樣就創建了一個名為shujuliu2.txt的數據流檔案,而這個檔案無論是在“資源管理器”還是在“命令提示符”中使用“dir”命令,都是無法看到的。可以說,這個檔案已經在系統中隱身了,我們只能通過輸入命令“notepad :shujuliu2.txt”得知它的存在,而即使知道它的存在,我們也無法刪除,因為命令提示符中“del”命令已經失去了作用。唯一能將之刪除的辦法,就是刪除其上一級目錄,如果單獨的數據流檔案存在於磁碟根目錄,那么刪除它將是一件很痛苦的事。(經驗證,我們可以使用"rm"命令來刪除指定的數據流檔案。)
文中的數據流檔案我們都是以文本文檔舉的例子,而數據流檔案是不局限於文本文檔的,任何檔案都可以作為數據流檔案,包括可執行程式,圖片,聲音等等。這就至少造成兩個隱患:一是黑客入侵後可能將黑客工具通過數據流隱藏起來,當然也有病毒發作後將病毒檔案進行隱藏的;二是通過某些途徑,讓數據流檔案可以自動執行,起到隱藏木馬的效果。

利用NTFS數據流進行攻擊

NTFS數據流原理看似很複雜,但是利用起來卻很簡單,這裡我們要用到一款使用率極高的軟體Winrar,用它將NTFS數據流打造成最恐怖的黑客武器。
首先創建一個資料夾test,將我們準備好的木馬程式muma.exe放到這個資料夾中。進入“命令提示符”,輸入命令“type muma.exe> :muma.exe”,這樣就為muma.exe創建了一個數據流檔案,完成後將test資料夾中的muma.exe刪除。返回到上一級目錄,在test資料夾上單擊右鍵,在出現的選單中選擇“添加到test.rar”。
雙擊剛才創建的test.rar,點擊Winrar工具列上的“添加”按鈕,瀏覽選中test資料夾。在出現的“壓縮檔案名稱和參數”面板中切換到“高級”選項卡,選中其中的“保存檔案數據流”選項,點擊“確定”即可。
在Winrar中選中test資料夾,點擊Winrar工具列上的“自解壓格式”按鈕。在“自解壓格式”標籤的“自解壓模組”中選中“Default.SFX”,然後點擊“高級自解壓選項”按鈕。出現高級自解壓面板後,在其“常規”標籤的“解壓後運行”中填入“test:muma.exe”。切換到“模式”標籤,勾選其中的“全部隱藏”。全部設定完成後點擊“確定”,這樣就創建了一個極為隱蔽的自解壓木馬,甚至可以躲過防毒軟體的查殺,當用戶雙擊這個自解壓檔案後,就會運行裡面的數據流木馬。

NTFS數據流木馬的查殺

到目前為止,很多防毒軟體仍然不能較好地查殺本機上的NTFS數據流檔案和利用數據流製作的木馬,可以使用一些專業的NTFS數據流檢查工具,找出隱藏在系統中的惡意檔案。
專業檢測NTFS數據流檔案的工具有Sfind.exe、Streams.exe、lads.exe等,這裡我們以lads.exe為例進行介紹。lads.exe是一個命令下的工具,需要在“命令提示符”中使用。在“命令提示符”中運行lads.exe,程式會自動檢測當前目錄中的NTFS數據流檔案,如果要檢測子目錄中的數據流檔案,可以在lads.exe運行的同時添加一個參數“/s”,這樣就可以檢測到子目錄中的數據流檔案了。對指定資料夾進行檢測時,可以使用“lads.exe 資料夾路徑”命令。
對於上文中介紹的那種利用NTFS數據流製作的木馬自解壓檔案,也是可以防範的。首先當我們下載到一個自解壓檔案時,不要雙擊運行,可以在自解壓檔案上點擊滑鼠右鍵,選擇“用Winrar打開”,如果發現其中的資料夾是空的,那么就要留個心眼了,很可能這就是一個數據流木馬陷阱。其次,不管防毒軟體是不是能查殺NTFS數據流木馬,木馬程式運行後,在記憶體中還是會還原出來的,一般的防毒軟體都帶有記憶體監控功能,可以將木馬程式在記憶體中攔截下來。因此,勤升級防毒軟體也是防範NTFS數據流木馬比較有效的辦法。
目前,你可以使用System Repair System中的"NTFS流掃描"外掛程式,查出磁碟分區中的是PE檔案的數據流檔案.

相關詞條

熱門詞條

聯絡我們