




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、關(guān)于數(shù)據(jù)流文件的一些信息又是一篇關(guān)于Windows,NTFS和cmd的帖子哈貌似本板塊可以改名為中國cmd聯(lián)盟了嘻嘻廢話不多說,進(jìn)入正題你用過卡巴斯基么?是不是每次復(fù)制文件都會顯示這個:screen.width*0.7)this.resized=true;this.width=screen.width*0.7;this.alt=Click here to open new window;哈哈,這個就是今天我們要討論的話題:NTFS數(shù)據(jù)流。NTFS分區(qū)的數(shù)據(jù)流是一個子文件系統(tǒng)允許額外的數(shù)據(jù)連接到一個特別的文件中,現(xiàn)在的FAT文件系統(tǒng)格式是不支持?jǐn)?shù)據(jù)流格式的。簡單點(diǎn)說就是給在NTFS分區(qū)格式的文件
2、添加了一個標(biāo)記。除了上面舉的卡巴斯基的例子,在WinRAR添加壓縮文件時,在高級選項(xiàng)中就有保存文件數(shù)據(jù)流的選項(xiàng)。再看看卡巴斯基對NTFS數(shù)據(jù)流干了些什么,Kaspersky把文件的驗(yàn)證指紋信息保存到NTFS數(shù)據(jù)流里面,如果病毒/木馬修改了這個文件,Kaspersky就會很快發(fā)現(xiàn)文件校檢有誤,這就是為什么Kaspersky安裝完畢要必須全盤檢查一次,這樣可以大幅度加快以后的病毒檢查速度!那么,怎樣添加NTFS數(shù)據(jù)流呢?這就和cmd有關(guān)了CODE:Copy to clipboarddir C:1.txt看看1.txt里的內(nèi)容,記住哦然后CODE:Copy to clipboarddir c:2.t
3、xt:stream.txt怎么樣,糊涂了吧先看看2.txt的屬性:0 Bytes,打開2.txt看看有什么?什么都沒了然后在輸入:CODE:Copy to clipboardnotepad 2.txt:stream.txt看看,出來什么了?驚訝吧其實(shí)每個文件都可以有多個流的,用這個NTFS的特性我們可以隱藏文件哦而且,還可以,隱藏木馬_實(shí)際上,流還可以不依賴于文件,下面的命令也是合法的(先不要試,否則可能會有點(diǎn)麻煩):CODE:Copy to clipboarddir e:stream.txt這是把流綁到了文件夾上,這種流就更隱蔽了,一般情況下要想刪除流只有將其宿主刪除,如果你執(zhí)行了剛才的命令
4、,并且是在根文件夾上執(zhí)行的,如果你想刪除它,那就恭喜你要格盤了:),不過有現(xiàn)成的工具可以使用的,這個就是:Streams v1.53 Reveal NTFS alternate streams這么樣,又是sysinternal的作品哦我要說的就說完了,下面是網(wǎng)上收集的關(guān)于NTFS流的資料了Quote:NTFS上的交換數(shù)據(jù)流NTFS上的交換數(shù)據(jù)流轉(zhuǎn)載:來源不詳-目錄-1、前言2、概念3、性質(zhì)和應(yīng)用-3.1創(chuàng)建-3.2刪除-3.3檢測與提取-3.4保存與傳輸-3.5文件隱藏-3.6運(yùn)行-3.7與IIS相關(guān)4、附言5、參考文章-1、前言交換數(shù)據(jù)流(alternate data streams,以下簡
5、稱ADS)也不是什么新東西,但用戶和管理員對它的認(rèn)識知之甚少,本文將結(jié)合前人的資料對ADS做一番探討。如有錯誤,還望高手賜教。2、概念先來看看微軟對多文件流的解釋:在NTFS文件系統(tǒng)下,每個文件都可以有多個數(shù)據(jù)流。值得一提的是,流不是NTFS 2000的功能,但是從Windows NT 3.1開始流已存在。當(dāng)在非NTFS卷(如Windows 98計算機(jī)的磁盤分區(qū))下讀取文件內(nèi)容時,只能訪問一個數(shù)據(jù)流。因此,您會覺得它是該文件真正的且唯一的內(nèi)容。這樣的主流沒有名稱,并且是非NTFS文件系統(tǒng)可以處理的唯一一個流。但是當(dāng)在NTFS卷上創(chuàng)建文件時,事情可能不一樣。參看圖1了解此重要概念。ADS是NTF
6、S文件系統(tǒng)特有的性質(zhì),也就是前面說的多數(shù)據(jù)流文件除了主流之外的流,但基于API的Win32卻不能很好的支持ADS。例如我們可以把一個文件以流的形式附加到另一個文件(載體)中,但是對于Windows資源管理器來說載體文件沒有發(fā)生任何變化(包括其大小、修改時間等)。由此將會產(chǎn)生一系列問題。下面就讓我們來看看ADS的一些性質(zhì)及應(yīng)用吧。3、性質(zhì)和應(yīng)用3.1創(chuàng)建創(chuàng)建ADS很簡單,語法是載體文件名:看個命令行下面的例子:echo This is lake2s stream a.txt:stream.txt通過上面的例子我們就很簡單的創(chuàng)建了一個ADS,它在windows下并不可見,不信你可以用資源管理器或者
7、dir命令看看a.txt文件的大小是不是0。打開a.txt,可是里面什么內(nèi)容都沒有。當(dāng)然沒有內(nèi)容,這里ADS是a.txt:stream.txt,內(nèi)容應(yīng)該在這個文件里。注意,這里用type命令并不能顯示文件a.txt:stream.txt,但是記事本卻可以。還是在命令行下輸入notepad a.txt:stream.txt,呵呵,看到This is lake2s stream了吧?,F(xiàn)在我們用記事本打開a.txt隨便修改內(nèi)容,這并不會影響到流的內(nèi)容;同樣,對a.txt:stream.txt的修改也不會影響到載體文件a.txt。3.2刪除刪除ADS最為簡單,直接刪載體文件就是;但是如果只想刪ADS而
8、保留載體文件的話最簡單的辦法就是把載體文件拉到非NTFS分區(qū)去走一趟。因?yàn)锳DS是NTFS的專利,離開了NTFS文件系統(tǒng)ADS也就煙消云散了。如果你只想在NTFS分區(qū)刪除ADS的話,可以用下面這個批處理:type a.txt a.txt.bak rem type不能支持ADS,所以拿它來備份載體del a.txt rem刪除載體及ADS ren a.txt.bak a.txt rem恢復(fù)載體文件3.3檢測與提取關(guān)于ADS的檢測涉及到API編程了,呵呵,這方面我還在努力學(xué)習(xí),這里就抄微軟的話:Win32備份API函數(shù)(BackupRead、BackupWrite等)可用于枚舉文件中的流。不過好在
9、已經(jīng)有檢測ADS的軟件了,下面幾個軟件都可以檢測:LADS(List Alternate Data Streams)-Streams v1.1(Sysinternals)-NT Objectives Forensic Toolkit(sfind.exe)-(要提取ADS必須要第三方工具,NTRootKit工具包里的cp可以做到(cp也可以用于創(chuàng)建流);NTRootKit工具包我一直沒有找到,google上一搜全是那個NTRootKit后門,只好自己用C寫了一個。這也不會要求你是編程高手,C語言里的文件函數(shù)完全可以支持ADS的創(chuàng)建、刪除、提取,只需把ADS當(dāng)成一個文件來處理就是了。3.4保存與傳
10、輸前面說了,ADS在非NTFS分區(qū)就會丟失,那么說來在非NTFS分區(qū)就無法保存ADS了嗎?直接保存沒有辦法,我們可以間接保存啊。呵呵,這樣需要借助一個軟件,你也應(yīng)該有的,它就是WinRAR。對含有ADS的文件加壓時,找到高級選項(xiàng),那里有一個保存文件流數(shù)據(jù),打上勾(圖2),呵呵,你就可以把ADS壓縮到rar文件里了。這個rar文件可以保存到非NTFS分區(qū)的-注意啊,是保存,不能解壓出來的?!緢D2】如果要傳輸ADS,最好是用資源管理器打開對方的共享再復(fù)制粘貼;如果你想用其他方式傳輸?shù)脑挻蟾啪椭荒軅鬏敯珹DS的rar文件了。3.5信息隱藏要保密信息,傳統(tǒng)的做法是加密。雖然加密后信息內(nèi)容變成了無法直
11、接讀出的密文,不過也等于告訴人家這是秘密,就不安全了;但是如果我把信息藏起來讓你找不著不就ok了嗎,所以一種叫做信息隱藏的技術(shù)就被提出來了。古裝戲里常常有隱寫術(shù),就是一張白紙在平時就是一張普通的白紙,但在特殊的作用下預(yù)先寫好的字就會顯示出來。用這個來比喻信息隱藏是最為恰當(dāng)?shù)牧恕P畔㈦[藏是目前信息安全研究的熱門領(lǐng)域,實(shí)現(xiàn)方法也很多,最流行的大概就是以bmp圖像文件為載體,通過替換文件每個字節(jié)無關(guān)緊要的最低的一位來實(shí)現(xiàn)的。呵呵,不過有一種實(shí)現(xiàn)簡單的信息隱藏技術(shù)就在我們眼前。對,就是利用ADS!既然Windows不能很好的察覺ADS,那么我們就可以把要保密的文件以ADS方式保存。不過這里提醒一下,利
12、用ADS實(shí)現(xiàn)信息隱藏的安全性不是很高,不過也不是很低-我想應(yīng)該沒有人沒事就花大量時間用lads.exe檢測著玩吧。另外,大多數(shù)殺毒軟件并不能檢測ADS,所以我們可以利用流讓殺毒軟件pass后門。例:type nc.exe a.txt:nc.exe原文件nc.exe會被金山毒霸查出來,處理之后盡管a.txt:nc.exe內(nèi)容與nc.exe完全一樣,但并不會被金山毒霸發(fā)現(xiàn)。3.6運(yùn)行前面說了可利用ADS讓后門躲避殺毒軟件,但如果不能運(yùn)行的話還不是沒用。那怎么運(yùn)行呢?命令行下面直接運(yùn)行a.txt:nc.exe是不行的,應(yīng)該用start命令。關(guān)于這個命令的詳細(xì)用法你自己打help start看看吧。s
13、tart命令運(yùn)行可執(zhí)行的ADS時要用絕對路徑或者當(dāng)前路徑用./加文件名。看例子:start./a.txt:nc.exeorstart c:a.txt:nc.exe在Win2000下查看進(jìn)程只能看到載體文件,而XP下則可以發(fā)現(xiàn)整個ADS。圖3是在XP下用tlist的截圖。3.7與IIS相關(guān)在IIS中訪問ADS會有一些有趣的事情發(fā)生,這個參見我的另一篇Blog交換數(shù)據(jù)流(ADS)與IIS的前世與今生()。4.附言謝謝你看完我的文章:)5.參考文章bigworm翻譯,NTFS不利的一面()xundi,關(guān)于NTFS文件系統(tǒng)中的數(shù)據(jù)流問題()H.Carvey,The Dark Side of NTFS(
14、_side.htmlrel=nofollow)Damon Martin,Windows,NTFS and Alternate Data Streams(_Martin_GSEC.pdfrel=nofollow)NTFS Streams-Everything you need to know()Quote:NTFS不利的一面翻譯+整理:By Bigworm不當(dāng)之處請指正這篇文章是根據(jù)H.Carvey的The Dark Side of NTFS(Microsofts Scarlet Letter)翻譯的,可以自由轉(zhuǎn)載,但請保持譯者和來源以及文章的完整性.簡介:微軟的平臺不斷在增加.公司用的服務(wù)器和
15、桌面操作系統(tǒng)運(yùn)行的一般是winNT和win2000,而家庭用戶和學(xué)生用的系統(tǒng)一般是winXP.這些平臺是很受歡迎的并且被大范圍的使用.可是使用這些操作系統(tǒng)的用戶和管理員卻對NTFS文件系統(tǒng)的某個特性知道的很少,那就是交換數(shù)據(jù)流(alternate data streams).NTFS因?yàn)樗姆€(wěn)定性強(qiáng)大的功能以及它所提供的安全性而成為一種更優(yōu)越的文件系統(tǒng),NTFS交換數(shù)據(jù)流(ADSs)是為了和Macintosh的HFS文件系統(tǒng)兼容而設(shè)計的,它使用資源派生(resource forks)來維持與文件相關(guān)的信息,比如說圖標(biāo)及其他的東西.而微軟提供了一種方法通過Windows explorer來創(chuàng)建特
16、殊的ADSs,檢測這種特殊的ADSs的必要工具和功能相當(dāng)缺乏.說來也奇怪,系統(tǒng)一直以來都有允許用戶創(chuàng)建ADSs以及在這種流文件中執(zhí)行隱藏代碼的功能和工具.Microsoft KnowledgeBase中Q 101353號文章承認(rèn)了基于API的win32不能很好的支持ADSs.這篇文章的目的是詳細(xì)的介紹ADSs是怎么被創(chuàng)建和利用的,以及隱藏在ADSs中的代碼是怎么被執(zhí)行的.基于不同的系統(tǒng)(NT 2K XP)處理ADSs也是很不同的.創(chuàng)建ADSs創(chuàng)建ADSs的語法相對比較簡單和直接.比如說創(chuàng)建和文件myfil e.txt相關(guān)聯(lián)的ADSs,只需簡單的用冒號把文件名和ADSs名分開即可.D:ads e
17、cho This is an ADS my:hidden此外,ADSs還可用另外一個文件的內(nèi)容來創(chuàng)建.D:ads echo This is atest D:ads type test.txt my:hidden然后你可以用記事本去檢驗(yàn)一下看看,命令如下:d:ads notepad my:hidden可是,用dir命令去看不出任何變化,Windows Explorer也沒有任何可用的轉(zhuǎn)換和設(shè)置來檢測這種新建的ADSs的存在.此外,ADSs可以被創(chuàng)建以及與目錄列表相關(guān)聯(lián),而不是與一個文件關(guān)聯(lián).這種特性在文章的后面將會顯示出他的重要性,但現(xiàn)在我們介紹怎么創(chuàng)建ADSs以及足夠了.D:ads echo
18、This ADS is tied to the directory listing:hidden這種類型的ADSs也可以通過type和notepad命令來創(chuàng)建.ADSs文件的內(nèi)容并不只限于text(文本)數(shù)據(jù),任何二進(jìn)制信息的流都可以組成一個文件,而且ADS也就是一個文件而已.可執(zhí)行的東西也能夠相當(dāng)容易的隱藏在ADSs中,看下面的例子:D:ads type c:winntnotepad.exe my:np.exe D:ads type c:winntsystem32sol.exe my:sol2.exe同樣,像圖片文件,聲音文件或任何其他的數(shù)據(jù)流都可以隱藏在ADSs中.最后,Windows E
19、xplorer提供了一種方法來創(chuàng)建特殊的ADSs(RUSS00)看下圖:我們在值那一欄可以填入很多東西圖一如果某個用戶沒有寫文件的權(quán)限,那么他就不能在該文件上添加ADS.此外,windows文件保護(hù)功能可以防止系統(tǒng)文件被替換,但是他不能阻止有適當(dāng)權(quán)限的用戶在這些系統(tǒng)文件上添加ADSs,有個工具System (sfc.exe)可以檢查受保護(hù)系統(tǒng)文件是否被覆蓋,可是它不能檢測ADSs.檢測,查看,利用ADSs如前所述,微軟并沒有提供工具來檢測ADSs的存在.現(xiàn)在檢測ADSs最好的工具是由Fra nk Heyne寫了Lads.exe.這個工具現(xiàn)在的版本是3.10,它是一個命令行工具看下圖:圖二從上圖
20、我們可以看出lad.exe多有用了,不僅可以顯示ADSs的存在,還可以顯示ADSs的路徑和大小.我們仔細(xì)注意和my相關(guān)聯(lián)的四個文件,其中三個是以很像撲克里黑桃形狀的ASCII開頭的,另外一個就是在花括號中有一大串?dāng)?shù)字和字母的那個文件,這四個文件就是我們用圖一所示方法創(chuàng)建的.既然找到了這些文件,我們應(yīng)該怎么看文件的內(nèi)容那?其實(shí)notepad就是一個很好的工具,但是這中間還有個陷阱.比如,以下命令就出現(xiàn)我們不希望的結(jié)果d:ads notepad my:hidden執(zhí)行這個命令時notepad就會問是否創(chuàng)建一個新文件,這個就很奇怪了,因?yàn)閙yfle.txt:hidden我們早就創(chuàng)建了.為了執(zhí)行的結(jié)果
21、是我們所希望的,應(yīng)該輸入下面的命令:d:ads echo This is another ADS my:hidden.txt d:ads notepad my:hidden.txt這樣就出現(xiàn)了我們所希望的結(jié)果,文件名后增加的擴(kuò)展名允許用notepad打開ADSs,這種方法也同樣適用于其他的ADSs,比如:d:ads notepad my:np.exe ADSs是NTFS文件系統(tǒng)的特征,所以帶有ADS的文件如果被移動到其他的文件系統(tǒng),比如FAT,FAT32或者ext2上,ADS就會被刪掉,因?yàn)檫@些文件系統(tǒng)都不支持ADS,如果是在NTFS分區(qū)之間移動,ADSs就會被保留下來.刪除ADSs相對簡單,
22、用下面的命令即可d:ads type my my d:ads del my d:ads ren my my現(xiàn)在用lads.exe看一下,可以看到所有的ADSs都不見了.執(zhí)行ADSs前面的例子中,我們已經(jīng)把可執(zhí)行的代碼藏在ADSs中,這個看起來好像沒什么用處,除非代碼可以自動執(zhí)行.其實(shí),start命令就可以用來執(zhí)行這些代碼,現(xiàn)在我們再來創(chuàng)建ADSs d:ads type d:winntnotepad.exe my:np.exe但是在2000上執(zhí)行時會出現(xiàn)錯誤,這時因?yàn)槲覀兲峁┑穆窂叫畔⒉粔蛩?我們應(yīng)該指明路徑,不管時絕對路徑還是相對路徑.比如,下面的任何一個命令都可以:d:ads start
23、d:adsmy:np.exe d:ads start.my:np.exe是不是出現(xiàn)了記事本?當(dāng)命令執(zhí)行時進(jìn)程會出現(xiàn)比較有意思的現(xiàn)象.例如,運(yùn)行pslist.exe會出現(xiàn)下圖情況圖三出現(xiàn)的進(jìn)程名是my:看看任務(wù)管理器中的情況:圖四再看看下圖:圖五我們來看看在xp的管理器中進(jìn)程的情況:圖六還有一種可選擇的用來執(zhí)行隱藏文件流的方法,我們來示范一下,先在桌面上創(chuàng)建一個快捷方式,項(xiàng)目位置填入d:adsmy.假設(shè)你創(chuàng)建的流文件是sol2.exe(也就是用這個命令type d:winntsystem32sol.exe my:sol2.exe),現(xiàn)在我們到創(chuàng)建的快捷方式的屬性里修改,讓快捷方式指向d:adsm
24、y:sol2.exe,觀察一下快捷方式的圖標(biāo),是不是起了變化?現(xiàn)在我們雙擊這個圖標(biāo),就可以執(zhí)行這個文件了.看執(zhí)行后的結(jié)果:圖七還有一種比較簡便的方法是直接在注冊表中的run鍵下添加數(shù)據(jù)流文件的完整路徑:HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRun,下次系統(tǒng)啟動時就會自動運(yùn)行該隱藏文件在開始的運(yùn)行框中也可以執(zhí)行ADSs比如:/ads/my:sol2.exe對于使用perl的管理員可用下面的代碼執(zhí)行ADSs my$file=d:adsmy:sol2.exe;$file;把文件存為ads.pl,用下面的命令即可執(zhí)行d:perl
25、 ads.pl其實(shí)用windows的WSH也可以執(zhí)行ADSs:d:ads echo MsgBoxVBS test ADSsads.vbs d:ads wScript ads.vbs d:ads type ads.vbs my:ads.vbs d:ads wScript my:ads.vbs或者:D:ads start.my:ads.vbs總結(jié):ADSs是NTFS的一個特征,它是為了和HFS兼容而設(shè)計的.可是由于比較難于被發(fā)覺,所以對于管理員來說是一種危險,現(xiàn)在29A這個組織的Bennie和Ratter已經(jīng)發(fā)布了一種叫做W2K.Stream病毒,這個病毒就是利用ADSs的.我們并不能以不使用NT
26、FS來作為解決這個問題的辦法,因?yàn)镹TFS在安全性和可靠性方面是有很大作用的.其實(shí),管理員應(yīng)該對文件和目錄正確的使用DACLs(discretionary access control lists),并且經(jīng)常使用工具比如說lads.exe來掃描他們自己的系統(tǒng).文章中有些地方經(jīng)過我自己的整理,刪除了有些無關(guān)緊要的內(nèi)容如果想看原文可以參上面提到的工具鏈接如下:lads pslists:又是一篇關(guān)于Windows,NTFS和cmd的帖子哈貌似本板塊可以改名為中國cmd聯(lián)盟了嘻嘻廢話不多說,進(jìn)入正題你用過卡巴斯基么?是不是每次復(fù)制文件都會顯示這個:screen.width*0.7)this.resiz
27、ed=true;this.width=screen.width*0.7;this.alt=Click here to open new window;哈哈,這個就是今天我們要討論的話題:NTFS數(shù)據(jù)流。NTFS分區(qū)的數(shù)據(jù)流是一個子文件系統(tǒng)允許額外的數(shù)據(jù)連接到一個特別的文件中,現(xiàn)在的FAT文件系統(tǒng)格式是不支持?jǐn)?shù)據(jù)流格式的。簡單點(diǎn)說就是給在NTFS分區(qū)格式的文件添加了一個標(biāo)記。除了上面舉的卡巴斯基的例子,在WinRAR添加壓縮文件時,在高級選項(xiàng)中就有保存文件數(shù)據(jù)流的選項(xiàng)。再看看卡巴斯基對NTFS數(shù)據(jù)流干了些什么,Kaspersky把文件的驗(yàn)證指紋信息保存到NTFS數(shù)據(jù)流里面,如果病毒/木馬修改了這
28、個文件,Kaspersky就會很快發(fā)現(xiàn)文件校檢有誤,這就是為什么Kaspersky安裝完畢要必須全盤檢查一次,這樣可以大幅度加快以后的病毒檢查速度!那么,怎樣添加NTFS數(shù)據(jù)流呢?這就和cmd有關(guān)了CODE:Copy to clipboarddir C:1.txt看看1.txt里的內(nèi)容,記住哦然后CODE:Copy to clipboarddir c:2.txt:stream.txt怎么樣,糊涂了吧先看看2.txt的屬性:0 Bytes,打開2.txt看看有什么?什么都沒了然后在輸入:CODE:Copy to clipboardnotepad 2.txt:stream.txt看看,出來什么了?
29、驚訝吧其實(shí)每個文件都可以有多個流的,用這個NTFS的特性我們可以隱藏文件哦而且,還可以,隱藏木馬_實(shí)際上,流還可以不依賴于文件,下面的命令也是合法的(先不要試,否則可能會有點(diǎn)麻煩):CODE:Copy to clipboarddir e:stream.txt這是把流綁到了文件夾上,這種流就更隱蔽了,一般情況下要想刪除流只有將其宿主刪除,如果你執(zhí)行了剛才的命令,并且是在根文件夾上執(zhí)行的,如果你想刪除它,那就恭喜你要格盤了:),不過有現(xiàn)成的工具可以使用的,這個就是:Streams v1.53 Reveal NTFS alternate streams這么樣,又是sysinternal的作品哦我要說
30、的就說完了,下面是網(wǎng)上收集的關(guān)于NTFS流的資料了Quote:NTFS上的交換數(shù)據(jù)流NTFS上的交換數(shù)據(jù)流轉(zhuǎn)載:來源不詳-目錄-1、前言2、概念3、性質(zhì)和應(yīng)用-3.1創(chuàng)建-3.2刪除-3.3檢測與提取-3.4保存與傳輸-3.5文件隱藏-3.6運(yùn)行-3.7與IIS相關(guān)4、附言5、參考文章-1、前言交換數(shù)據(jù)流(alternate data streams,以下簡稱ADS)也不是什么新東西,但用戶和管理員對它的認(rèn)識知之甚少,本文將結(jié)合前人的資料對ADS做一番探討。如有錯誤,還望高手賜教。2、概念先來看看微軟對多文件流的解釋:在NTFS文件系統(tǒng)下,每個文件都可以有多個數(shù)據(jù)流。值得一提的是,流不是NTF
31、S 2000的功能,但是從Windows NT 3.1開始流已存在。當(dāng)在非NTFS卷(如Windows 98計算機(jī)的磁盤分區(qū))下讀取文件內(nèi)容時,只能訪問一個數(shù)據(jù)流。因此,您會覺得它是該文件真正的且唯一的內(nèi)容。這樣的主流沒有名稱,并且是非NTFS文件系統(tǒng)可以處理的唯一一個流。但是當(dāng)在NTFS卷上創(chuàng)建文件時,事情可能不一樣。參看圖1了解此重要概念。ADS是NTFS文件系統(tǒng)特有的性質(zhì),也就是前面說的多數(shù)據(jù)流文件除了主流之外的流,但基于API的Win32卻不能很好的支持ADS。例如我們可以把一個文件以流的形式附加到另一個文件(載體)中,但是對于Windows資源管理器來說載體文件沒有發(fā)生任何變化(包括
32、其大小、修改時間等)。由此將會產(chǎn)生一系列問題。下面就讓我們來看看ADS的一些性質(zhì)及應(yīng)用吧。3、性質(zhì)和應(yīng)用3.1創(chuàng)建創(chuàng)建ADS很簡單,語法是載體文件名:看個命令行下面的例子:echo This is lake2s stream a.txt:stream.txt通過上面的例子我們就很簡單的創(chuàng)建了一個ADS,它在windows下并不可見,不信你可以用資源管理器或者dir命令看看a.txt文件的大小是不是0。打開a.txt,可是里面什么內(nèi)容都沒有。當(dāng)然沒有內(nèi)容,這里ADS是a.txt:stream.txt,內(nèi)容應(yīng)該在這個文件里。注意,這里用type命令并不能顯示文件a.txt:stream.txt,但
33、是記事本卻可以。還是在命令行下輸入notepad a.txt:stream.txt,呵呵,看到This is lake2s stream了吧?,F(xiàn)在我們用記事本打開a.txt隨便修改內(nèi)容,這并不會影響到流的內(nèi)容;同樣,對a.txt:stream.txt的修改也不會影響到載體文件a.txt。3.2刪除刪除ADS最為簡單,直接刪載體文件就是;但是如果只想刪ADS而保留載體文件的話最簡單的辦法就是把載體文件拉到非NTFS分區(qū)去走一趟。因?yàn)锳DS是NTFS的專利,離開了NTFS文件系統(tǒng)ADS也就煙消云散了。如果你只想在NTFS分區(qū)刪除ADS的話,可以用下面這個批處理:type a.txt a.txt.b
34、ak rem type不能支持ADS,所以拿它來備份載體del a.txt rem刪除載體及ADS ren a.txt.bak a.txt rem恢復(fù)載體文件3.3檢測與提取關(guān)于ADS的檢測涉及到API編程了,呵呵,這方面我還在努力學(xué)習(xí),這里就抄微軟的話:Win32備份API函數(shù)(BackupRead、BackupWrite等)可用于枚舉文件中的流。不過好在已經(jīng)有檢測ADS的軟件了,下面幾個軟件都可以檢測:LADS(List Alternate Data Streams)-Streams v1.1(Sysinternals)-NT Objectives Forensic Toolkit(sfi
35、nd.exe)-(要提取ADS必須要第三方工具,NTRootKit工具包里的cp可以做到(cp也可以用于創(chuàng)建流);NTRootKit工具包我一直沒有找到,google上一搜全是那個NTRootKit后門,只好自己用C寫了一個。這也不會要求你是編程高手,C語言里的文件函數(shù)完全可以支持ADS的創(chuàng)建、刪除、提取,只需把ADS當(dāng)成一個文件來處理就是了。3.4保存與傳輸前面說了,ADS在非NTFS分區(qū)就會丟失,那么說來在非NTFS分區(qū)就無法保存ADS了嗎?直接保存沒有辦法,我們可以間接保存啊。呵呵,這樣需要借助一個軟件,你也應(yīng)該有的,它就是WinRAR。對含有ADS的文件加壓時,找到高級選項(xiàng),那里有一個
36、保存文件流數(shù)據(jù),打上勾(圖2),呵呵,你就可以把ADS壓縮到rar文件里了。這個rar文件可以保存到非NTFS分區(qū)的-注意啊,是保存,不能解壓出來的。【圖2】如果要傳輸ADS,最好是用資源管理器打開對方的共享再復(fù)制粘貼;如果你想用其他方式傳輸?shù)脑挻蟾啪椭荒軅鬏敯珹DS的rar文件了。3.5信息隱藏要保密信息,傳統(tǒng)的做法是加密。雖然加密后信息內(nèi)容變成了無法直接讀出的密文,不過也等于告訴人家這是秘密,就不安全了;但是如果我把信息藏起來讓你找不著不就ok了嗎,所以一種叫做信息隱藏的技術(shù)就被提出來了。古裝戲里常常有隱寫術(shù),就是一張白紙在平時就是一張普通的白紙,但在特殊的作用下預(yù)先寫好的字就會顯示出來
37、。用這個來比喻信息隱藏是最為恰當(dāng)?shù)牧?。信息隱藏是目前信息安全研究的熱門領(lǐng)域,實(shí)現(xiàn)方法也很多,最流行的大概就是以bmp圖像文件為載體,通過替換文件每個字節(jié)無關(guān)緊要的最低的一位來實(shí)現(xiàn)的。呵呵,不過有一種實(shí)現(xiàn)簡單的信息隱藏技術(shù)就在我們眼前。對,就是利用ADS!既然Windows不能很好的察覺ADS,那么我們就可以把要保密的文件以ADS方式保存。不過這里提醒一下,利用ADS實(shí)現(xiàn)信息隱藏的安全性不是很高,不過也不是很低-我想應(yīng)該沒有人沒事就花大量時間用lads.exe檢測著玩吧。另外,大多數(shù)殺毒軟件并不能檢測ADS,所以我們可以利用流讓殺毒軟件pass后門。例:type nc.exe a.txt:nc.
38、exe原文件nc.exe會被金山毒霸查出來,處理之后盡管a.txt:nc.exe內(nèi)容與nc.exe完全一樣,但并不會被金山毒霸發(fā)現(xiàn)。3.6運(yùn)行前面說了可利用ADS讓后門躲避殺毒軟件,但如果不能運(yùn)行的話還不是沒用。那怎么運(yùn)行呢?命令行下面直接運(yùn)行a.txt:nc.exe是不行的,應(yīng)該用start命令。關(guān)于這個命令的詳細(xì)用法你自己打help start看看吧。start命令運(yùn)行可執(zhí)行的ADS時要用絕對路徑或者當(dāng)前路徑用./加文件名??蠢樱簊tart./a.txt:nc.exeorstart c:a.txt:nc.exe在Win2000下查看進(jìn)程只能看到載體文件,而XP下則可以發(fā)現(xiàn)整個ADS。圖3
39、是在XP下用tlist的截圖。3.7與IIS相關(guān)在IIS中訪問ADS會有一些有趣的事情發(fā)生,這個參見我的另一篇Blog交換數(shù)據(jù)流(ADS)與IIS的前世與今生()。4.附言謝謝你看完我的文章:)5.參考文章bigworm翻譯,NTFS不利的一面()xundi,關(guān)于NTFS文件系統(tǒng)中的數(shù)據(jù)流問題()H.Carvey,The Dark Side of NTFS(_side.htmlrel=nofollow)Damon Martin,Windows,NTFS and Alternate Data Streams(_Martin_GSEC.pdfrel=nofollow)NTFS Streams-Ev
40、erything you need to know()Quote:NTFS不利的一面翻譯+整理:By Bigworm不當(dāng)之處請指正這篇文章是根據(jù)H.Carvey的The Dark Side of NTFS(Microsofts Scarlet Letter)翻譯的,可以自由轉(zhuǎn)載,但請保持譯者和來源以及文章的完整性.簡介:微軟的平臺不斷在增加.公司用的服務(wù)器和桌面操作系統(tǒng)運(yùn)行的一般是winNT和win2000,而家庭用戶和學(xué)生用的系統(tǒng)一般是winXP.這些平臺是很受歡迎的并且被大范圍的使用.可是使用這些操作系統(tǒng)的用戶和管理員卻對NTFS文件系統(tǒng)的某個特性知道的很少,那就是交換數(shù)據(jù)流(altern
41、ate data streams).NTFS因?yàn)樗姆€(wěn)定性強(qiáng)大的功能以及它所提供的安全性而成為一種更優(yōu)越的文件系統(tǒng),NTFS交換數(shù)據(jù)流(ADSs)是為了和Macintosh的HFS文件系統(tǒng)兼容而設(shè)計的,它使用資源派生(resource forks)來維持與文件相關(guān)的信息,比如說圖標(biāo)及其他的東西.而微軟提供了一種方法通過Windows explorer來創(chuàng)建特殊的ADSs,檢測這種特殊的ADSs的必要工具和功能相當(dāng)缺乏.說來也奇怪,系統(tǒng)一直以來都有允許用戶創(chuàng)建ADSs以及在這種流文件中執(zhí)行隱藏代碼的功能和工具.Microsoft KnowledgeBase中Q 101353號文章承認(rèn)了基于API
42、的win32不能很好的支持ADSs.這篇文章的目的是詳細(xì)的介紹ADSs是怎么被創(chuàng)建和利用的,以及隱藏在ADSs中的代碼是怎么被執(zhí)行的.基于不同的系統(tǒng)(NT 2K XP)處理ADSs也是很不同的.創(chuàng)建ADSs創(chuàng)建ADSs的語法相對比較簡單和直接.比如說創(chuàng)建和文件myfi le.txt相關(guān)聯(lián)的ADSs,只需簡單的用冒號把文件名和ADSs名分開即可.D:ads echo This is an ADS my:hidden此外,ADSs還可用另外一個文件的內(nèi)容來創(chuàng)建.D:ads echo This is atest D:ads type test.txt my:hidden然后你可以用記事本去檢驗(yàn)一下看
43、看,命令如下:d:ads notepad my:hidden可是,用dir命令去看不出任何變化,Windows Explorer也沒有任何可用的轉(zhuǎn)換和設(shè)置來檢測這種新建的ADSs的存在.此外,ADSs可以被創(chuàng)建以及與目錄列表相關(guān)聯(lián),而不是與一個文件關(guān)聯(lián).這種特性在文章的后面將會顯示出他的重要性,但現(xiàn)在我們介紹怎么創(chuàng)建ADSs以及足夠了.D:ads echo This ADS is tied to the directory listing:hidden這種類型的ADSs也可以通過type和notepad命令來創(chuàng)建.ADSs文件的內(nèi)容并不只限于text(文本)數(shù)據(jù),任何二進(jìn)制信息的流都可以組成一
44、個文件,而且ADS也就是一個文件而已.可執(zhí)行的東西也能夠相當(dāng)容易的隱藏在ADSs中,看下面的例子:D:ads type c:winntnotepad.exe my:np.exe D:ads type c:winntsystem32sol.exe my:sol2.exe同樣,像圖片文件,聲音文件或任何其他的數(shù)據(jù)流都可以隱藏在ADSs中.最后,Windows Explorer提供了一種方法來創(chuàng)建特殊的ADSs(RUSS00)看下圖:我們在值那一欄可以填入很多東西圖一如果某個用戶沒有寫文件的權(quán)限,那么他就不能在該文件上添加ADS.此外,windows文件保護(hù)功能可以防止系統(tǒng)文件被替換,但是他不能阻止
45、有適當(dāng)權(quán)限的用戶在這些系統(tǒng)文件上添加ADSs,有個工具System (sfc.exe)可以檢查受保護(hù)系統(tǒng)文件是否被覆蓋,可是它不能檢測ADSs.檢測,查看,利用ADSs如前所述,微軟并沒有提供工具來檢測ADSs的存在.現(xiàn)在檢測ADSs最好的工具是由Fr ank Heyne寫了Lads.exe.這個工具現(xiàn)在的版本是3.10,它是一個命令行工具看下圖:圖二從上圖我們可以看出lad.exe多有用了,不僅可以顯示ADSs的存在,還可以顯示ADSs的路徑和大小.我們仔細(xì)注意和my相關(guān)聯(lián)的四個文件,其中三個是以很像撲克里黑桃形狀的ASCII開頭的,另外一個就是在花括號中有一大串?dāng)?shù)字和字母的那個文件,這四個
46、文件就是我們用圖一所示方法創(chuàng)建的.既然找到了這些文件,我們應(yīng)該怎么看文件的內(nèi)容那?其實(shí)notepad就是一個很好的工具,但是這中間還有個陷阱.比如,以下命令就出現(xiàn)我們不希望的結(jié)果d:ads notepad my:hidden執(zhí)行這個命令時notepad就會問是否創(chuàng)建一個新文件,這個就很奇怪了,因?yàn)閙yfle.txt:hidden我們早就創(chuàng)建了.為了執(zhí)行的結(jié)果是我們所希望的,應(yīng)該輸入下面的命令:d:ads echo This is another ADS my:hidden.txt d:ads notepad my:hidden.txt這樣就出現(xiàn)了我們所希望的結(jié)果,文件名后增加的擴(kuò)展名允許用notepad打開ADSs,這種方法也同樣適用于其他的ADSs,比如:d:ads notepad my:np.exe ADSs是NTFS文件系統(tǒng)的特征,所以帶有ADS的文件如果被移動
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年河北省臨西縣人民醫(yī)院公開招聘護(hù)理工作人員試題帶答案詳解
- 哈爾濱模擬聯(lián)考數(shù)學(xué)試卷
- 貴陽中學(xué)數(shù)學(xué)試卷
- 健康素養(yǎng)66條課件圖解
- 醫(yī)院隔離知識課件
- 華大聯(lián)盟考試數(shù)學(xué)試卷
- 健康管理師講義課件
- 水密碼的品牌資質(zhì)分析報告
- 汽車定期保養(yǎng)項(xiàng)目節(jié)能評估報告(節(jié)能專用)
- 中國電力微機(jī)保護(hù)單元行業(yè)市場前景預(yù)測及投資價值評估分析報告
- 腫瘤隨訪登記培訓(xùn)
- 勞動仲裁內(nèi)部培訓(xùn)
- 高效沉淀池技術(shù)規(guī)程 T-CECA 20040-2024知識培訓(xùn)
- 腫瘤登記培訓(xùn)課件
- 2025年重慶市高考物理試卷(含答案解析)
- 新質(zhì)生產(chǎn)力對體育產(chǎn)業(yè)高質(zhì)量發(fā)展的驅(qū)動機(jī)制與實(shí)現(xiàn)路徑研究
- 一帽一帶安全管理制度
- 人員入住登記管理制度
- 2025-2030年真空隔熱板行業(yè)市場發(fā)展分析及發(fā)展趨勢與投資管理策略研究報告
- 自救器發(fā)放管理制度
- 基于AI的物聯(lián)網(wǎng)設(shè)備遠(yuǎn)程升級智能算法研究-洞察闡釋
評論
0/150
提交評論