浅析NTFS 文件系统数据流安全问题
從一個古老的漏洞談起
人們應該還記得1998年中期發現的IIS低版本那臭名昭著的$DATA漏洞,若你對www.hackart.org站點的sheepxxy.asp文件的源代碼感興趣
只需要在瀏覽器中輸入
http://www.hackart.org/sheepxxy.asp::$DATA
源代碼就出來了![NETSCAPE將提示下載文件,IE則在窗口中直接打開源代碼]
不少人對這個漏洞應該都記憶尤新,不過這個漏洞究竟是如何得來?似乎不是很多人都會去考慮。其實“$DATA”這個漏洞出現的原因是IIS解
析文件名的BUG-沒有很好地規范文件名。
當IIS服務器接受到用戶請求的時候,首先檢驗文件后綴,然后決定如何處理此請求,比如
http://www.hackart.org/sheepxxy.asp
請求后綴是.asp,于是服務器認為你是要瀏覽ASP文件[ACTIVE SERVER PAGE] ,于是服務器把請求遞交給asp.dll處理,如果是IIS不能識別的
后綴,請求將交給WINDOWS處理[由靜態文件處理程序處理],比如
http://www.hackart.org/sheepxxy.txt
且服務器上未安裝script map的特殊后綴處理程序,則sheepxxy.txt這個文本文件的內容將直接發送給用戶。
不過$DATA是怎么回事?它可不是正常WINDOWS文件的后綴名啊,因此,要說明$DATA的來歷,必須引入“流”的概念。
NTFS文件系統是與微軟的WINDOWS NT操作系統“搭配銷售”的,但在設計是考慮到要兼容其他文件系統,于是增加了一些新特性
蘋果公司基于磁盤的文件上支持二類數據集,或派生[fork],這些派生被稱為數據和資源派生,為支持這些文件,NTFS文件系統被設計為支持
包含在一個文件中的多個數據流。這是一種不需要重新構造文件就能給一個文件添加額外屬性或信息的機制,它應兼容性而被創造出來,卻成
為了NTFS這一本為安全設計的文件系統的安全隱患!
NTFS上的文件本身的內容包含在沒有名字的“流”中,具有內部數據類型 : $DATA ,也就是包含了所有內容的的主數據流。
于是當IIS服務器接受到形如
http://www.hackart.org/sheepxxy.asp::$DATA
這樣的請求時,并不能正確解析其后綴,于是請求被遞交給WINDOWS,而WINDOWS的文件系統若是NTFS的話,則它將認為該用戶是請求瀏覽
sheepxxy.asp 這個文件的主數據流,便將 sheepxxy.asp 的內容而不是經過asp.dll處理過的結果返還給用戶,致使發生源代碼泄露。
利用這個漏洞的兩個前提:[1] sheepxxy.asp 保存在 NTFS文件系統下,FAT系統可是沒有數據流這么一說的哦~
[2] sheepxxy.asp 被ACL[一種訪問控制方法,操作系統借助ACL來判斷一個帳戶具有對一個資源何種程度上的權限]
設為全局可讀 也就是every one 組的讀權限開放。
當然,這個漏洞已經被微軟及時地修補了,打過補丁的NT4+IIS4已經沒有了此漏洞,其后的WIN2000和WINDOWS.NET自然不會再犯同樣的錯誤
不過關于NTFS文件系統的“流”的安全問題還沒有結束,下面的文字將涉及如何利用這一特性在你入侵過的機器上隱藏文件從而保持權限。
現在我們的硬盤[當然,它是NTFS格式 ^_^]有這么兩個文件 hackart.txt 和 sheepxxy.exe ,其中 sheepxxy.exe 是我們需要隱藏的文件
hackart.txt 當然就是無辜的前端文件了,我們該如何進行我們的接續文件流的行動呢?簡單的辦法是使用NTRK這一管理員工具包[更多的時候
它是黑客工具包哦~] 中的POSIX 工具 cp
命令格式如下:
cp sheepxxy.exe hackart.txt:sheepxxy.exe
這樣 sheepxxy.exe 就隱藏在 hackart.txt 的 sheepxxy.exe 數據流中了,試想此前端文件hackart.txt 與合并前并無什么大的改變[當然修
改時間和文件大小改變,可是有誰能在硬盤上成千上萬的文件中統計這些細支末節的數據?]
把數據流分離開的逆向操作命令如下:
cp hackart.txt:sheepxxy.exe sheepxxy.exe
雖然CMD中不能直接執行接續后的文件流 ,也就是不能直接執行 hackart.txt:sheepxxy.exe
但是并不需要逆操作來分離出我們的隱藏文件,運用start 命令就可以直接執行已隱藏的文件,格式如下:
start hackart.txt:sheepxxy.exe
這種方法可是相當隱蔽的哦,總比傻乎乎地把 nc.exe 這類文件放在管理員眼皮下強了不少~~:)
而且這種方式可是無論什么文件都可以操作哦,只要是合法WIN文件
NTFS是微軟專為NT系統設計的安全文件系統,可是就是數據流這種向后兼容的性質出賣了它的安全和穩定,安全畢竟是一個整體,絲毫馬虎不得!
轉載于:https://www.cnblogs.com/MaxWoods/archive/2006/05/09/395300.html
總結
以上是生活随笔為你收集整理的浅析NTFS 文件系统数据流安全问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【原创】StreamInsight查询系
- 下一篇: 猛然回首 在这里4年了