我試圖在ntfs分區上實現反取證工具。我需要保留文件系統寫入的1GB空間(在精確的物理位置)。 我的想法:如何保護扇區不被寫入NTFS
- 嘗試創建一個特定位置的1GB的文件(原理),因此將被視爲使用
- 嘗試手動編輯MFT並插入一個假的條目,以紀念該區域所用(怎麼樣?)
任何有關如何實現這兩個想法或其他東西的建議?
我試圖在ntfs分區上實現反取證工具。我需要保留文件系統寫入的1GB空間(在精確的物理位置)。 我的想法:如何保護扇區不被寫入NTFS
任何有關如何實現這兩個想法或其他東西的建議?
直接編輯MFT是很危險的。文件系統真的很喜歡負責緩存的東西)。
您可以使用FSCTL_MOVE_FILE將1Gb文件的任何部分移動到您想要的磁盤上的位置,從而實現您想要的效果。
請注意,這種方法存在一個複雜性和一個問題。複雜的是,你需要移動到沒有文件數據的地方,這意味着你必須首先清除目的地。這意味着你必須讀取位圖來找出你想要移動到的位置。聽起來像是一個碎片整理器,呃?
說到碎片整理程序,一旦創建了這個文件,任何運行的碎片整理程序都可能將其移出它的首選位置。請注意。
這很危險,需要一些實驗。
手動,您可以在MFT中人爲地創建一個文件記錄,其中包含BAAD!記錄開始處的幻數(而不是FILE0),使其數據屬性非駐留並指向數據運行列表中的該位置以獲取所需羣集的數量。現在,您必須將$ Bitmap文件中的這些羣集標記爲1.您還必須將羣集添加到MFT中的$ BadClus文件。
MFT中的$ Bitmap文件是一個具有卷大小的結構,每個位表示卷中從0到簇中大小的每個簇。如果該位爲0,則相應的羣集是空閒的,否則它被佔用。
如果您在沒有Windows的情況下認爲卷損壞就意味着您已經完成了從NTFS,Windows資源管理器和其他Windows API函數的角度來查找文件不會找到任何東西。但是,大多數取證工具可以自行分析原始卷,並專門查找這些差異。但是你的文件將不會被寫入(除非驅動器被重新格式化)。
愚弄某種法醫工具的最佳方法是創建一個常規文件,您可以將它重新安裝爲重新分析點或驅動器,但必須創建自己的API來加密/解密該文件並將其作爲卷裝入它可能包含的文件系統無關。該工具將看到該文件,但它會被加密。
這將是困難的,因爲:(1)NTFS驅動程序沒有任何功能/ IOCTL用於此目的。 (2)在NTFS驅動程序中需要掛鉤,因爲它決定爲新對象(文件,文件夾,流等)分配哪個簇號。 (3)Windows在文件系統驅動程序中不提供掛鉤機制。即:它們在執行文件系統函數之前或之後。在執行後掛鉤的情況下,實際的集羣分配已經完成。 – Jay 2012-07-18 23:03:31