引言
這篇文章介紹Windows下NTFS文件系統(tǒng)的ADS(alternate data
streams,交換數(shù)據(jù)流)特性叫胁;實(shí)例演示如何利用ADS將文件隱藏到任何宿主上(宿主可以是文件夾凰慈、文件以及磁盤根目錄);文章最后將提供兩個小工具驼鹅,利用它們來檢測和清除隱藏在宿主上的文件微谓。
文章目錄
0×1.什么是NTFS交換數(shù)據(jù)流(ADS)
0×2.NTFS交換數(shù)據(jù)流隱藏文件實(shí)例
a.如何利用NTFS交換數(shù)據(jù)流隱藏文本文件
b.如何利用NTFS交換數(shù)據(jù)流隱藏圖片文件
c.如何利用NTFS交換數(shù)據(jù)流隱藏可執(zhí)行文件
0×1.什么是NTFS交換數(shù)據(jù)流(ADS)
NTFS交換數(shù)據(jù)流(alternate data
streams森篷,簡稱ADS)是NTFS磁盤格式的一個特性,在NTFS文件系統(tǒng)下豺型,每個文件都可以存在多個數(shù)據(jù)流仲智,就是說除了主文件流之外還可以有許多非主文件流寄宿在主文件流中。它使用資源派生來維持與文件相關(guān)的信息姻氨,雖然我們無法看到數(shù)據(jù)流文件钓辆,但是它卻是真實(shí)存在于我們的系統(tǒng)中的。創(chuàng)建一個數(shù)據(jù)交換流文件的方法很簡單肴焊,命令為"宿主文件:準(zhǔn)備與宿主文件關(guān)聯(lián)的數(shù)據(jù)流文件"前联。
這一段是百科上面的內(nèi)容,大致了解一下即可娶眷,后面會有實(shí)例演示似嗤。
0×2.NTFS交換數(shù)據(jù)流隱藏文件實(shí)例
這一部分內(nèi)容在Windows系列操作系統(tǒng)的NTFS分區(qū)上都能適用。
實(shí)驗(yàn)環(huán)境:Windows 10
實(shí)驗(yàn)分區(qū):E盤根目錄(NTFS分區(qū)届宠,ADS是NTFS文件系統(tǒng)的特性烁落,不適用于FAT32文件系統(tǒng))
在E盤根目錄中有這些文件:
01/*切換到E盤根目錄*/
02C:\Windows\System32>e:
03E:\>
04
05/*查看E盤根目錄中有哪些內(nèi)容*/
06E:\>dir
07
082012/12/15? 21:03????????? 5 123.txt
092012/05/29? 20:15??? 346,112 aaa.exe
102012/09/26? 07:36???? 72,294 bbb.jpg
112012/01/04? 04:10???? 61,952 lads.exe
122012/04/27? 10:17???? 87,424 streams.exe
132012/12/15? 21:12??????????? test
14/*
15* 123.txt 是一個文本文件,
16* aaa.exe 是一個可執(zhí)行文件豌注,
17* bbb.jpg 是一張圖片伤塌,
18* lads.exe和streams.exe是用于檢測交換數(shù)據(jù)流的程序,后面會用到轧铁,
19* test是一個空文件夾寸谜。
20*/
實(shí)驗(yàn)環(huán)境和所有用于實(shí)驗(yàn)的文件全部介紹完畢,下面開始實(shí)際操作 属桦。
a.如何利用NTFS交換數(shù)據(jù)流隱藏文本文件
注意,下面的命令需要用"管理員身份"打開CMD他爸,否則很可能執(zhí)行不成功聂宾。
01/*
02* 使用echo命令,將"www.qingsword.com"這幾個字符寫入到123.txt:222.txt中诊笤,
03*echo命令以寫字符的方式創(chuàng)建了":222.txt"這個交換數(shù)據(jù)流文件系谐,
04* 其中123.txt是宿主文件,222.txt是交換數(shù)據(jù)流文件讨跟,
05* 222.txt在圖形界面下是不可見的纪他,就像寄生蟲一樣,寄生在123.txt上晾匠。
06*/
07E:\>echowww.qingsword.com>>123.txt:222.txt
08
09/*
10* 使用記事本程序打開這個交換數(shù)據(jù)流文件茶袒,
11* 打開后可以添加刪除222.txt的內(nèi)容并保存,但是不能另存為凉馆。
12*/
13E:\>notepad 123.txt:222.txt
14
15/*
16* 將123.txt使用交換數(shù)據(jù)流的方式寄生到test文件夾上薪寓,
17*type命令和echo命令不同亡资,type命令是將已經(jīng)存在的一個文件,
18* 用交換數(shù)據(jù)流的方式寄生到另外一個文件或文件夾上向叉,
19* test文件夾是一個空文件夾锥腻,寄生123.txt后,文件夾大小顯示仍然是0母谎。
20*/
21E:\>type123.txt>>test:123.txt
22
23/*
24* 使用notepad打開這個寄生在test上的文本文件瘦黑,
25* 如果命令提示符是在其他盤符,可以使用這個數(shù)據(jù)流文件的完整路徑來打開,
26* 比如當(dāng)前盤符在C盤奇唤,可以這樣打開:
27*"C:\>notepad E:\test:123.txt"
28*/
29E:\>notepad test:123.txt
30
31/*將123.txt寄生到E盤根目錄*/
32E:\>type123.txt>>E:\:123.txt
33
34/*
35* 通過相對路徑來打開幸斥,也可以通過絕對路徑來打開,
36* 命令是"E:\>notepad E:\:123.txt"
37*/
38E:\>notepad :123.txt
這種方法能很好的將一個文本文件使用交換數(shù)據(jù)流的形式寄生在另外一個文件上(任何類型的文件上)冻记,從一定程度上起到了隱藏文本文件的目的睡毒。
b.如何利用NTFS交換數(shù)據(jù)流隱藏圖片文件
圖片文件也能寄生在任何類型的文件上,下面給出幾個實(shí)例:
01/*寄生到123.txt上*/
02E:\>typebbb.jpg>>123.txt:bbb.jpg
03
04/*寄生到test文件夾上*/
05E:\>typebbb.jpg>>test:bbb.jpg
06
07/*寄生到aaa.exe這個可執(zhí)行文件上*/
08E:\>typebbb.jpg>>aaa.exe:bbb.jpg
09
10/*寄生到E盤根目錄*/
11E:\>typebbb.jpg>>E:\:bbb.jpg
12
13/*
14* 打開方式很簡單冗栗,可以使用系統(tǒng)自帶的圖畫程序mspaint,
15* 這里打開寄生在可執(zhí)行文件中的那張圖片演顾,其他文件同理。
16*/
17E:\>mspaintaaa.exe:bbb.jpg
c.如何利用NTFS交換數(shù)據(jù)流隱藏可執(zhí)行文件
WinXP和Win7之后的Windows版本在NTFS交換數(shù)據(jù)流的不同體現(xiàn)在對寄生的可執(zhí)行文件的運(yùn)行管理上隅居,XP可以按照和上面相同的方法直接運(yùn)行寄生的可執(zhí)行程序钠至;Win7之后的版本需要手動創(chuàng)建一個連接文件,通過這個鏈接文件才能運(yùn)行這個寄生的可執(zhí)行交換數(shù)據(jù)流文件胎源,請看下面的實(shí)例:
01/*寄生的方法和圖片和文本文件相同棉钧,寄生到123.txt*/
02E:\>typeaaa.exe>>123.txt:aaa.exe
03
04/*寄生到E盤根目錄*/
05E:\>typeaaa.exe>>E:\:aaa.exe
06
07/*
08* XP中可以直接通過start命令使用絕對路徑來調(diào)用這個寄生的可執(zhí)行文件,
09* 但是在Win7之后的系統(tǒng)中會出現(xiàn)下面的錯誤涕蚤。
10* (Win XP中start命令后面必須接絕對路徑)
11*/
12E:\>startE:\:aaa.exe
13系統(tǒng)找不到文件 E:\:aaa.exe宪卿。
下面是Win:7后的版本中調(diào)用這個E盤根目錄下的交換數(shù)據(jù)流可執(zhí)行文件的方法:
01/*
02* 在C盤的根目錄中創(chuàng)建一個符號鏈接文件eee.exe,
03* 鏈接到E盤根目錄中寄生的交換數(shù)據(jù)流可執(zhí)行文件aaa.exe上万栅。
04*/
05E:\>mklinkC:\eee.exe E:\:aaa.exe
06為 C:\eee.exe <> E:\:aaa.exe 創(chuàng)建的符號鏈接
07
08/*在命令行下執(zhí)行這個鏈接文件佑钾,即可運(yùn)行E:\:aaa.exe*/
09E:\>C:\eee.exe
10
11/*
12* 這個時候大家可以打開任務(wù)管理器,
13* 看到進(jìn)程列表里面多出一個名稱很奇怪的進(jìn)程":aaa.exe"烦粒,
14* 如果我們使用相同的方法運(yùn)行寄生在文本文件中的那個aaa.exe,
15* 看到的進(jìn)程名稱就會是"123.txt:aaa.exe"休溶。
16*/
在WinXP中,可執(zhí)行文件可以和文本文件一樣實(shí)現(xiàn)真正的隱藏扰她,這可能也是當(dāng)時大多數(shù)殺毒軟件添加數(shù)據(jù)流病毒查殺功能的原因兽掰;在Win7之后的系統(tǒng)中,微軟可能出于安全考慮徒役,不允許直接運(yùn)行交換數(shù)據(jù)流可執(zhí)行文件孽尽,必須要創(chuàng)建符號鏈接,這個符號鏈接是可見的(當(dāng)然可以使用其他手段隱藏這個符號鏈接)忧勿,并且這個符號鏈接創(chuàng)建出來后不能復(fù)制到其他地方泻云,只能在創(chuàng)建的那個位置使用命令行方式調(diào)用(鼠標(biāo)雙擊會報錯)艇拍。
0×3.如何檢測和清除NTFS-ADS隱藏的文件
上面說了隱藏,現(xiàn)在來說檢測宠纯,可以使用這兩款小工具配合進(jìn)行檢測和清除寄生的交換數(shù)據(jù)流[網(wǎng)盤下載]卸夕,工具都是命令行模式的,請看下面的演示:
01/*
02* 將這lads.exe這個程序放置需要檢測的分區(qū)根目錄中婆瓜,
03* 不添加任何參數(shù)直接運(yùn)行快集,就是檢測根目錄中所有文件,
04* 如果使用"lads.exe test /S"廉白,就是遞歸檢測test以及test下所子目錄个初。
05* 下面這條命令是檢測根目錄以及所有子目錄。
06*/
07E:\>lads.exe /S
08
09Scanning directory E:\ with subdirectories
10
11size? ADS in file
12----------? ---------------------------------
1312? E:\:123.txt
14346112? E:\:aaa.exe
15144588? E:\:bbb.jpg
167? E:\123.txt:222.txt
17346112? E:\123.txt:aaa.exe
1872294? E:\123.txt:bbb.jpg
1972294? E:\aaa.exe:bbb.jpg
2012? E:\test\:123.txt
2172294? E:\test\:bbb.jpg
22
231053737 bytes in 9 ADS listed
24
25/*可以看到我們實(shí)驗(yàn)中添加的所有交換數(shù)據(jù)流一覽無遺*/
使用streams.exe這個程序來清除這些交換數(shù)據(jù)流猴蹂,根據(jù)上面檢測的輸出信息院溺,我將streams.exe放在E盤的根目錄:
01/*
02* 首先嘗試清除一下E盤根目錄上面寄生的交換數(shù)據(jù)流,
03* -d后面接目錄磅轻。
04*/
05E:\>streams.exe -d E:\
06
07E:\:
08Deleted :123.txt:$DATA
09/*
10* 這里出現(xiàn)了一個錯誤珍逸,因?yàn)檫@個:aaa.exe現(xiàn)在正在運(yùn)行
11* 對于這種情況,需要先結(jié)束掉這個:aaa.exe進(jìn)程才能清除聋溜。
12*/
13Error deleting :aaa.exe:$DATA:
14?????
15Deleted :bbb.jpg:$DATA
16
17/*可以添加-s參數(shù)來一次性遞歸清除E盤下所有寄生的交換數(shù)據(jù)流文件(慎用谆膳,尤其是對系統(tǒng)盤一定不要隨便使用遞歸清除,系統(tǒng)本身的一些數(shù)據(jù)流也會被一起清除掉)*/
18E:\>streams.exe -s -d E:\
19
20E:\123.txt:
21Deleted :222.txt:$DATA
22Deleted :aaa.exe:$DATA
23Deleted :bbb.jpg:$DATA
24E:\aaa.exe:
25Deleted :bbb.jpg:$DATA
26E:\test:
27Deleted :123.txt:$DATA
28Deleted :bbb.jpg:$DATA
*轉(zhuǎn)載請注明來自:晴刃(QingSword.COM)