windows檔案隱藏方法

來源:互聯網
上載者:User

翻譯+整理: By Bigworm 不當之處請指正這篇文章是根據H. Carvey的The Dark Side of NTFS (Microsoft’s Scarlet Letter)

翻譯的,可以自由轉載,但請保持譯者和來源以及文章的完整性.

  簡介:微軟的平台不斷在增加.公司用的伺服器和案頭作業系統啟動並執行一般是winNT和win2000,而家庭使用者和學生用的系統一般是winXP.這些平台是很受歡迎的並且被大範圍的使用.可是使用這些作業系統的使用者和管理員卻對NTFS檔案系統的某個特性知道的很少,那就是”交換資料流”(alternate data streams).    NTFS因為它的穩定性 強大的功能 以及它所提供的安全性而成為一種更優越的檔案系統,NTFS交換資料流(ADSs)是為了和Macintosh的HFS檔案系統相容而設計的,它使用資源派生(resource forks)來維持與檔案相關的資訊,比如說表徵圖及其他的東西.而微軟提供了一種方法通過Windows explorer來建立特殊的ADSs,檢測這種特殊的ADSs的必要工具和功能相當缺乏.說來也奇怪,系統一直以來都有允許使用者建立ADSs以及在這種流檔案中執行隱藏代碼的功能和工具.Microsoft KnowledgeBase 中Q101353號文章承認了基於API的win32不能很好的支援ADSs.    這篇文章的目的是詳細的介紹ADSs是怎麼被建立和利用的,以及隱藏在ADSs中的代碼是怎麼被執行的.基於不同的系統(NT 2K XP)處理ADSs也是很不同的.    建立ADSs    建立ADSs的文法相對比較簡單和直接.比如說建立和檔案myfile.txt相關聯的ADSs,只需簡單的用冒號把檔案名稱和ADSs名分開即可.    D:/ads>echo This is an ADS > myfile.txt:hidden    此外,ADSs還可用另外一個檔案的內容來建立.    D:/ads>echo This is a test file > test.txt    D:/ads>type test.txt > myfile.txt:hidden    然後你可以用記事本去檢驗一下看看,命令如下:    d:/ads>notepad myfile.txt:hidden    可是,用dir命令去看不出任何變化,Windows Explorer也沒有任何可用的轉換和設定來檢測這種建立的ADSs的存在.    此外,ADSs可以被建立以及與目錄列表相關聯,而不是與一個檔案關聯.這種特性在文章的後面將會顯示出他的重要性,但現在我們介紹怎麼建立ADSs以及足夠了.    D:/ads>echo This ADS is tied to the directory listing > :hidden    這種類型的ADSs也可以通過type和notepad命令來建立.    ADSs檔案的內容並不只限於text(文本)資料,任何二進位資訊的流都可以組成一個檔案,而且ADS也就是一個檔案而已.可執行檔東西也能夠相當容易的隱藏在ADSs中,看下面的例子:    D:/ads>type c:/winnt/notepad.exe > myfile.txt:np.exe    D:/ads>type c:/winnt/system32/sol.exe > myfile.txt:sol2.exe    同樣,像圖片檔案,音效檔或任何其他的資料流都可以隱藏在ADSs中.    最後,Windows Explorer提供了一種方法來建立特殊的ADSs(RUSS00)    看:我們在值那一欄可以填入很多東西       圖一  如果某個使用者沒有寫檔案的許可權,那麼他就不能在該檔案上添加ADS.    此外,windows 檔案保護功能可以防止系統檔案被替換,但是他不能阻止有適當許可權的使用者在這些系統檔案上添加ADSs,有個工具System File Checker(sfc.exe)可以檢查受保護系統檔案是否被覆蓋,可是它不能檢測ADSs.    檢測,查看,利用ADSs    如前所述,微軟並沒有提供工具來檢測ADSs的存在.現在檢測ADSs最好的工具是由Frank Heyne寫了Lads.exe.這個工具現在的版本是3.10,它是一個命令列工具    看:     圖二  從我們可以看出lad.exe多有用了,不僅可以顯示ADSs的存在,還可以顯示ADSs的路徑和大小.我們仔細注意和myfile.txt相關聯的四個檔案,其中三個是以很像撲克裡黑桃形狀的ASCII開頭的,另外一個就是在花括弧中有一大串數字和字母的那個檔案,這四個檔案就是我們用圖一所示方法建立的.    既然找到了這些檔案,我們應該怎麼看檔案的內容那?其實notepad就是一個很好的工具,但是這中間還有個陷阱.    比如,以下命令就出現我們不希望的結果    d:/ads>notepad myfile.txt:hidden    執行這個命令時notepad就會問是否建立一個新檔案,這個就很奇怪了,因為myfle.txt:hidden我們早就建立了.為了執行的結果是我們所希望的,應該輸入下面的命令:    d:/ads>echo This is another ADS > myfile.txt:hidden.txt    d:/ads>notepad myfile.txt:hidden.txt    這樣就出現了我們所希望的結果,檔案名稱後增加的副檔名允許用notepad開啟ADSs,這種方法也同樣適用於其他的ADSs,比如:    d:/ads>notepad myfile.txt:np.exe    ADSs是NTFS檔案系統的特徵,所以帶有ADS的檔案如果被移動到其他的檔案系統,比如FAT,FAT32或者ext2上,ADS就會被刪掉,因為這些檔案系統都不支援ADS,如果是在NTFS分區之間移動,ADSs就會被保留下來.    刪除ADSs相對簡單,用下面的命令即可    d:/ads>type myfile.txt > myfile.bat    d:/ads>del myfile.txt    d:/ads>ren myfile.bat myfile.txt    現在用lads.exe看一下,可以看到所有的ADSs都不見了.    執行ADSs    前面的例子中,我們已經把可執行檔代碼藏在ADSs中,這個看起來好像沒什麼用處,除非代碼可以自動執行.其實,start命令就可以用來執行這些代碼,現在我們再來建立ADSs    d:/ads>type d:/winnt/notepad.exe > myfile.txt:np.exe    但是在2000上執行時會出現錯誤,這時因為我們提供的路徑資訊不夠    所以,我們應該指明路徑,不管時絕對路徑還是相對路徑.比如,下面的任何一個命令都可以:    d:/ads>start d:/ads/myfile.txt:np.exe    d:/ads>start ./myfile.txt:np.exe    是不是出現了記事本??    當命令執行時進程會出現比較有意思的現象.例如,運行pslist.exe會出現情況     圖三  出現的進程名是myfile.txt:    看看工作管理員中的情況:     圖四    再看看:     圖五      我們來看看在xp的管理器中進程的情況:       圖六    還有一種比較簡便的方法是直接在註冊表中的run鍵下添加資料流檔案的完整路徑:    HKEY_LOCAL_MACHINE/Software/Microsoft/Windows/CurrentVersion/Run,下次系統啟動時就會自動運行該隱藏檔案    在開始的運行框中也可以執行ADSs比如: file:///d:/ads/myfile.txt:sol2.exe    對於使用perl的管理員可用下面的代碼執行ADSs    my $file = 'd:/ads/myfile.txt:sol2.exe';    `$file`;     把檔案存為ads.pl,用下面的命令即可執行    d:/perl>ads.pl    其實用windows的WSH也可以執行ADSs:    d:/ads>echo MsgBox "VBS file to test ADSs" > ads.vbs    d:/ads>wScript ads.vbs    d:/ads>type ads.vbs > myfile.txt:ads.vbs    d:/ads>wScript myfile.txt:ads.vbs    或者:    D:/ads>start ./myfile.txt:ads.vbs        總結:    ADSs是NTFS的一個特徵,它是為了和HFS相容而設計的.可是由於比較難於被發覺,所以對於管理員來說是一種危險,現在29A這個組織的Bennie和Ratter已經發布了一種叫做W2K.Stream病毒,這個病毒就是利用ADSs的.    我們並不能以不使用NTFS來作為解決這個問題的辦法,因為NTFS在安全性和可靠性方面是有很大作用的.其實,管理員應該對檔案和目錄正確的使用DACLs(discretionary access control lists),並且經常使用工具比如說lads.exe來掃描他們自己的系統.文章中有些地方經過我自己的整理,刪除了有些無關緊要的內容

如果想看原文可以參http://patriot.net/~carvdawg/docs/dark_side.html.

上面提到的工具鏈接如下:lads http://www.heysoft.de/nt/lads.zip

pslists: http://www.sysinternals.com/files/pslist.zip

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.