天天看點

資料隐藏技術

0x00 前言

0x01 vmdk隐寫

vmdk檔案大家應該都比較熟悉了,它本質上是實體硬碟的虛拟版,是以也會存在跟實體硬碟的分區和扇區中類似的填充區域,我們可以利用這些填充區域來把我們需要隐藏的資料隐藏到裡面去,這樣可以避免隐藏的檔案增加了vmdk檔案的大小(如直接附加到檔案後端),也可以避免由于vmdk檔案大小的改變所帶來的可能導緻的虛拟機錯誤。而且vmdk檔案一般比較大,适合用于隐藏大檔案。

這裡采用Dsfok-tools來對資料進行隐藏,通常這個工具是用來編輯vmdk檔案中的描述符。從這裡可以下載下傳到該軟體。套件裡包含了dsfi工具可以對vmdk檔案進行嵌入。 我們首先來看下需要隐藏的檔案和它的大小

資料隐藏技術
資料隐藏技術

按照下載下傳頁面的提示輸入指令

資料隐藏技術

嵌入完成後該vmdk檔案依然是可以繼續使用,而且虛拟機并不會報錯。再來對嵌入的檔案進行提取。

資料隐藏技術
資料隐藏技術

這裡要提醒的是,如果長期運作該虛拟機,隐藏在裡面的資料是很有可能被覆寫掉,但是如果僅僅是作為資料隐藏的載體,除了需要提取的那個人外誰又在意這個問題呢,或許别人還巴不得這樣。

0x02 交換資料流

Windows NTFS檔案系統的交換資料流(ADS)也可以用于資料隐藏,對很多人來講或者已經很熟悉了,這裡也來做個小小的總結給不了解的同學開個頭吧。

交換資料流的誕生源于Windows系統與蘋果的HFS系統的互動需求,NTFS使用交換資料流來存儲檔案相關中繼資料等等。

建立交換資料流是很簡單的

資料隐藏技術

并輸入This is hidden file

dir目前目錄是找不到剛才編輯的那個檔案的,隻有一個0位元組的visiable.txt

資料隐藏技術

要用記事本打開打開剛才那個檔案直接輸入相同的指令就行了

當時在網上看資料的時候發現其實有不少人了解錯了該漏洞的含義,原因就是不清楚ADS

對于 IIS6.0+PHP、IIS7.5+asp、IIS7.5+php 環境下,如果某目錄通過 HTTP Basic 來認證,假設其目錄下有 index.php 檔案,我們可以通過構造如下方式來繞過認證直接通路其目錄下的檔案。

ADS結合保留裝置名來進行綁定,如:CON、NUL、COM1等等,這樣在一些情況下可以避開某些軟體對交換資料流的檢測。

使用這些保留裝置名作為目錄名或檔案名的時候會被系統提示錯誤,但我們可以使用\\?\來取消字元串的解析(通常這種方法用于Windows API程式設計),這樣就可以建立以保留裝置名為名的檔案或目錄

如:綁定cmd.exe到NUL檔案

資料隐藏技術

用wmic來運作即可

資料隐藏技術
資料隐藏技術

關于ADS在web安全中的利用的資料:

xfocus上關于ADS的文摘:

<a href="http://www.xfocus.net/articles/200212/466.html" target="_blank">http://www.xfocus.net/articles/200212/466.html</a>

0x03 TCP中的資料隐藏

我們都知道TCP的典型3次握手

資料隐藏技術

我們可以利用該過程對資料進行隐藏發送,如:

這種方法存在明顯的局限性,就是每次隻能傳送1到2個位元組,但是如果是用在隐藏發送短密鑰或者短消息之類的不妨也是個好的方法。

0x04 可執行檔案中隐藏

0x05 在TTL字段中隐藏

IP封包在路由間穿梭的時候每經過一個路由,TTL就會減1,當TTL為0的時候,該封包就會被丢棄。TTL所占的位數是8位,也就是0-255的範圍,但是在大多數情況下通常隻需要經過很小的跳數就能完成封包的轉發,遠遠比上限255小得多,是以我們可以用TTL值的前兩位來進行傳輸隐藏資料。

如:須傳送H字元,隻需把H字元換成二進制,每兩位為一組,每次填充到TTL字段的開頭兩位并把剩下的6位設定為1(xx111111),這樣發4個IP封包即可傳送1個位元組。

0x06 後記

資料隐藏的範圍實在是太大,除了用來在傳輸中隐藏資料外,還可以用于作為一種防護手段,給文檔等提供辨別等。希望大家能在烏雲更多地交流關于資料隐藏方面的知識,相信你也會發現研究資料隐藏的樂趣的。

資料隐藏技術

本文轉自 K1two2 部落格園部落格,原文連結:http://www.cnblogs.com/k1two2/p/5170213.html  ,如需轉載請自行聯系原作者