<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    FS分析

    介紹

    當前,在文件系統中最常發現證據。這是因為它是非易失性的,通常可以找到已刪除文件的殘余。該文件將幫助您使用The Sleuth Kit中的低級工具進行法醫分析。

    本文檔按小場景進行組織,提供了如何使用The Sleuth Kit的示例。這些功能大多數都是通過Autopsy自動化的,但是在此僅供參考和培訓。

    此處使用的技術適用于UNIX和Windows文件系統。

    時間線

    遵循時間軸Sleuth Kit實施說明中的步驟,您會注意到未分配的inode產生了一些有趣的活動,即來自映像c_drive.dd的MFT條目5035。要顯示此文件的內容,請使用icat

    # icat images/c_drive.dd 5035 | less

    注意:為防止您的終端混亂,請通過“ less”之類的尋呼機通過管道傳送“ icat”的所有輸出。

    搜索

    在這種情況下,我們將在“ wd0e.dd”圖像的未分配空間中搜索字符串“ abcdefg”。第一步是使用blkls工具提取未分配的磁盤單元(因為這是FFS映像,因此可尋址的單元是片段)。

    #blkls images / wd0e.dd> output / wd0e.blkls

    接下來,使用UNIX strings(1)實用程序提取未分配數據文件中的所有ASCII字符串。如果我們僅要搜索一個字符串,則可能不需要這樣做。如果我們要搜索許多字符串,那么這會更快。將“ -td”標志與“字符串”一起使用以打印找到該字符串的字節偏移量。

    # strings -t d output/wd0e.blkls > output/wd0e.blkls.str

    使用UNIX grep(1)實用程序搜索字符串文件。

    # grep "abcdefg" output/wd0e.blkls.str | less
        10389739: abcdefg

    我們注意到該字符串位于字節10389739。接下來,確定什么片段。為此,我們使用fsstat工具:

     # fsstat -t ufs images/wd0e.dd
      <...>
        CONTENT-DATA INFORMATION
        --------------------------------------------
        Fragment Range: 0 - 266079
        Block Size: 8192
        Fragment Size: 1024

    這說明每個片段的長度為1024個字節。使用計算器,我們發現10389739字節除以1024是10146(并更改)。這意味著字符串“ abcdefg”位于blkls生成的文件的片段10146中。這實際上對我們沒有幫助,因為blkls映像不是真正的文件系統。要從blkls圖像查看完整片段,我們可以使用dd:

    # dd if=images/wd0e.dd bs=1024 skip=10146 count=1 | less

    接下來,我們將確定該片段在原始圖像中的位置。該blkcalc工具將被用于此目的。當在blkls生成的圖像中給定“地址”時,“ blkcalc”將返回原始圖像中的“地址”。(注意,這目前有點慢)。’-u’標志表明我們正在為其分配blkls地址。如果給出了’-d’標志,那么我們給它一個dd地址,它將標識blkls地址。

    # blkcalc -u 10146 images/wd0e.dd`
        `59382

    因此,字符串“ abcdefg”位于片段59382中。要查看此片段的內容,我們可以使用“ blkcat”。

    # blkcat images/wd0e.dd 59382 | less

    為了更清楚地了解這一點,讓我們確定是否有一個元數據結構仍然具有指向該片段的指針。這是使用ifind實現的。“ -a”自變量表示查找所有出現的事件。

    #ifind -a images / wd0e.dd 59382 493

    索引節點493有一個指向片段59382的指針。讓我們使用istat獲得有關索引節點493的更多信息。

        # istat images/wd0e.dd 493
        inode: 493
        Not Allocated
        uid / gid: 1000 / 1000
        mode: rw-------
        size: 92
        num of links: 1
        Modified:       08.10.2001 17:09:49     (GMT+0)
        Accessed:       08.10.2001 17:09:58     (GMT+0)
        Changed:        08.10.2001 17:09:49     (GMT+0)
        Direct Blocks:
          59382

    接下來,讓我們找出是否還有與此(未分配)inode關聯的文件。這是使用ffind完成的。

     # ffind -a images/wd0e.dd 493
    * /dev/.123456

    前導“ *”表示文件已刪除。因此,在某一時刻,文件“ /dev/.123456”分配了索引節點493,后者分配了片段59382,其中包含字符串“ abcdefg”。

    如果“找到”返回的內容多于分配了索引節點493的文件,則意味著這兩者都是硬鏈接到同一文件,或者一個文件(雞肉)分配了索引節點,則刪除了該文件,分配了第二個文件(雞蛋)它,然后將其刪除。該字符串屬于第二個文件,但是很難確定哪個先出現。另一方面,如果“ ffind”返回兩個條目,其中一個被刪除,一個未被刪除,則該字符串屬于未刪除文件。

    如前所述,當您對未分配空間進行關鍵字搜索時,“尸檢”將為您完成所有這些工作。

    刪除內容

    要查看圖像中所有已刪除的文件名,請使用fls工具。對于所有已刪除的文件,將’-r’標志用于遞歸,將’-d’標志用于刪除。

      # fls -rd images/hda9.dd | less
        d/d * 232:     /TEMP-823450
        r/d * 293:     /TEMP-131100

    這向我們顯示了已刪除文件的完整路徑。在某些系統上,例如Windows NTFS,可以恢復文件內容(取決于發生了多少系統活動)。在其他系統(例如Solaris UFS和Linux Ext3)上,無法輕松恢復已刪除的文件。行開頭的數字是索引節點號。“ *”表示已刪除,“ d”和“ r”表示類型(目錄和文件)。第一個字母標識目錄條目類型的值(并非在所有文件系統類型中都存在),第二個字母是根據索引節點的類型。在大多數情況下,這些應該是相同的,但是如果將inode重新分配給其他類型的文件,則對于刪除的文件可能不是這樣。如果在目錄(232)上執行“ istat”操作,我們將注意到大小為0。

     # istat images/hda9.dd 232
        inode: 232
        Not Allocated
        uid / gid: 0 / 0
        mode: rwxr-xr-x
        size: 0
        num of links: 0
        Modified:       08.23.2001 21:52:33     (GMT+0)
        Accessed:       08.23.2001 23:05:39     (GMT+0)
        Changed:        08.23.2001 21:52:33     (GMT+0)
        Deleted:        08.23.2001 23:05:39     (GMT+0)
        Direct Blocks:

    Linux對所有已刪除目錄執行此操作。還應注意,“ istat”輸出中未顯示任何塊地址。這是因為大小為0,并且程序認為該地址是偽造的。使用“ istat”的“ -b”選項,我們可以強制其輸出塊地址。使用Linux Ext3,塊指針將為0,但是Linux Ext2保留了舊地址。

    # istat -b 2 images/hda9.dd 232
        inode: 232
        Not Allocated
        uid / gid: 0 / 0
        mode: rwxr-xr-x
        size: 0
        num of links: 0
        Modified:       08.23.2001 21:52:33     (GMT+0)
        Accessed:       08.23.2001 23:05:39     (GMT+0)
        Changed:        08.23.2001 21:52:33     (GMT+0)
        Deleted:        08.23.2001 23:05:39     (GMT+0)
        Direct Blocks:
          388 0

    現在,我們可以檢查塊388的內容,并查看該目錄中的文件名:

    # blkcat -h images/hda9.dd 388 | less

    手動刪除文件恢復

    UFS / FFS或EXT2FS / EXT3FS文件系統分為幾組。每個組都有其自己的inode和用于存儲數據的塊。創建新文件時,將為它提供與父目錄inode所在的組相同的inode(如果仍有可用的inode)。創建新目錄后,將在新組中為其分配一個索引節點。索引節點從其索引節點所在的同一組分配塊。

    從一個UFS或EXTxFS恢復文件時,可以使用組布局。當找到帶有“ fls”的已刪除文件時,請注意父目錄的索引節點:

       # fls -r images/hda1.dd
        d/d 30789:      doc
        + r/r * 0:    doc/.a/ssh.tar
        + r/r 30792:    doc/.a/install
        <...>

    我們要恢復“ ssh.tar”文件,請注意父目錄為30789,并且刪除的文件具有清除的inode指針。為了識別它所在的組,使用了“ fsstat”工具:

     # fsstat images/hda1.dd
        FILE SYSTEM INFORMATION
        --------------------------------------------
        File System Type: EXT3FS
        <...>
    
        Group: 0:
          Inode Range: 1 - 15392
          Block Range: 0 - 32767
            Super Block: 0 - 0
            Group Descriptor Table: 1 - 1
            Data bitmap: 2 - 2
            Inode bitmap: 3 - 3
            Inode Table: 4 - 484
            Data Blocks: 485 - 32767
    
        Group: 1:
          Inode Range: 15393 - 30784
          Block Range: 32768 - 65535
            Super Block: 32768 - 32768
            Group Descriptor Table: 32769 - 32769
            Data bitmap: 32770 - 32770
            Inode bitmap: 32771 - 32771
            Inode Table: 32772 - 33252
            Data Blocks: 33253 - 65535
    
        Group: 2:
          Inode Range: 30785 - 46176
          Block Range: 65536 - 98303
            Data bitmap: 65536 - 65536
            Inode bitmap: 65537 - 65537
            Inode Table: 65540 - 66020
            Data Blocks: 65538 - 65539, 66021 - 98303
    
        <...>

    該索引節點在組1的索引節點地址范圍內。要搜索已刪除的文件,我們使用’blkls’提取未分配的空間:

      # blkls images/hda1.dd 32768-65535 > output/hda1-grp1.blkls

    如果要提取該組的所有數據,則可以使用“ dd”:

    # dd if=images/hda1.dd of=output/hda1-grp1.dd bs=4096 skip=32768 \
          count=32767

    其中,片段大小為4096(也可以在“ fsstat”輸出中找到)。然后,可以分析這些圖像中的任何一個作為關鍵字,或者使用其他數據雕刻工具(例如“至上”)進行分析。這一過程可以減少必須分析的數據量。

    http://foremost.sourceforge.net

    本文章首發在 網安wangan.com 網站上。

    上一篇 下一篇
    討論數量: 0
    只看當前版本


    暫無話題~
    亚洲 欧美 自拍 唯美 另类