【乾貨】證據被毀?資料恢復出來
來源:Unit 3: Unix/Linux File System 3.1 Unix/Linux File System Sleuthkit Continued
工具:Sleuthkit Demo
先補充下硬連結和軟連結的知識。
有兩個檔案,其中file0的內容為welcome
這兩個檔案的inode如下 ls –li查詢inode(對於inode,元資料,資料塊,超級塊陌生的朋友可以根據文章的來源URL去找到對應的視訊進行學習,只需要投入10分鐘就可以掌握)
1表示只有一個檔案file0指向了inode編號14288130 sansforensics是UID GID,也就是許可權
建立一個硬連結指向到file0,file0HL為新建立的檔名,他們的inode號一樣切硬連結數為2,所有資訊一模一樣,因為這些資料都儲存在inode裡面,只有檔名不同。
再來感受一下軟連結,使用的命令一樣,帶的引數不同,它是指標,只指向了file0的檔名。它們的inode不一樣,許可權也可以看見不一樣,連結數也只有1個,檔案大小也不同,一個5,一個8.這意味著軟連結與原檔案的內容不同(彷彿windows中建立的快捷方式)
軟連結只儲存路徑資訊,不復制原始資料內容。
現在體會一下Sleuth Kit工具的命令,這裡以金融案例取證的原始位元流為例,它的格式是dd,使用FTK Imager提取得到的。這是取證了整個裝置得到的檔案,記住。如下
現在需要找到分割槽的開始點,否則偵探工具包將無法工作。
有兩種方式可以找到,一個是F盤,一個是MMLS。一般使用MMLS方法,它提示的資訊友好一些。
將檔案投入進來就會自行補全路徑
補全的路徑如下,所有分割槽資訊也都出來了,基於扇區的單位顯示出來。注意unallocated,這是未分配的空間。檔案的起點是2048位元組。
我們要找到這個證據的檔案系統使用了什麼,就需要從2048位元組開始,因為這之前未分配。
輸入好命令以後,把檔案拖進來。
執行命令之後,資訊較多,只截圖一張圖感受一下。它告訴你所有的檔案系統資訊。這裡把整個超級塊的資訊都給解析出來了。
使用FLS命令列出所有的檔案,包括刪除的檔案 -m引數是MAC時間(跟網管提指標一樣,儲存出來自己生成時間資訊的檔名),所有檔案放在斜槓中,-r引數是遞迴地生成,檔案拖進來。這是整個裝置的證據資訊,重定向到新的檔案中,不要列印在螢幕上。
如果是被刪除的檔案沒有檔名,它會不會顯示出來?使用另外一個命令ils,因為沒有檔名,取消斜槓。這裡的-r引數只收集已刪除的檔案,這是預設值,可以取消它
看一下這兩個檔案的樣子,它們是人類不可讀的,這裡大致看看什麼樣子。後面使用展示如何生成一個人類可讀的MAC時間軸,這裡只是開啟看看。這個檔案裡有inode資訊,可以使用工具玩一玩,給定一個inode就行了。MAC time可以提取這份原始資訊生成清晰的inode給出來,但這裡可以觀察發現inode在哪裡。
你看見的每一個東西,後面都是檔名,inode。發現規律,編寫工具。工具就是這樣出來的。這裡雖然有mac time工具提取出來,但是以後遇到跟多的資訊就不一定有工具了,建議學習入門程式語言是python。
知道inode在哪裡,怎麼提取出來以後,使用一下它感受感受。命令istat,給它一個inode,讓它告訴你什麼情況。這裡的allocated表示已經被分配了,它在第六組。Direct blocks就是這個inode號使用的資料塊。
你想知道inode對應的資料塊裡面的內容是什麼嗎?使用icat檢視inode對應的資料塊的內容。這裡的inode已經被分配了,所以它知道資料塊編號,所以可以顯示出具體資訊。這是一份財務報表。
我們使用inode號定位到了具體的資料,那麼這一次我們使用資料塊號來檢視資料。顯示的內容是一樣的。注意inode和資料塊的區別,如果其他資料塊使用相同的inode,你用inode號查詢的將是所有inode號一致的多個數據塊內容。
如果你找到檔案系統中資料塊和inode之間的關聯,那麼發生災難性的資料毀滅時,資料恢復將成為可能。注意這裡的檔案系統為ext2,不一樣的檔案系統,資料塊的邏輯也不一樣,恢復的過程和可能性也有差異,需針對性的深入理解檔案系統。
那麼如何找到資料塊對應的inode?使用ifind,-d引數為資料塊號
如果一個inode存在多個數據塊,你使用ifind發現了一個數據塊對應的inode了,就又可以使用inode檢視多個數據塊中的內容,整個資訊就被完整的捕捉出來。
再來試一個意思為Find file name. 的ffind命令。 給定inode以查詢檔名。如果這個inode有檔名,那麼它就被分配使用了。檔名如下,一份報表證據。
目錄的內容儲存了檔案和子目錄之間對映到inode的所有資訊。這些inode對應的檔名都儲存在它們的父目錄中。
從資料層(資料塊)到inode層到檔案系統層(你知道資料塊和inode之間的對應關係相互匹配查詢過)到檔名層的命令全都嘗試完畢。這一切的實戰都基於SIFT虛擬機器,它在SANS社群下載,地址前面的文章也給了。啊如果你沒聽過SIFT的話,我可以告訴你,世界級工具吧,所有法醫學計算機取證專業的人都在使用它。
如果你想知道哪個工具存在或者不存在,使用which——這個命令是否存在,然後它位於哪裡。