Scalpelを使用して削除されたデータを回復する

人生のすべての人は、これが行われるべきではないフォルダでrm -rfのような状況にあります。 バックアップは良いのですが、そうでない場合はどうなりますか? Linuxシステムの場合、Scalpelユーティリティがあります。このユーティリティを使用すると、正規表現の使用など、特定のパターンに従って削除されたファイルを回復できます。



Scalpelは、2005年に歴史を開始したForemostプロジェクト(バージョン0.69以降)の分岐点です。 独自のgithubリポジトリを備えており、データ回復速度と効率の点でForemostよりも高速です。 これら2つのプロジェクトの違いについて言えば、バージョン0.69以降にリリースされたForemostには、新しいセマンティックデータリカバリ技術が備わっていると言えます。 たとえば、JPEGファイルを復元する場合、Scalpelが指定された完了の署名と画像ファイルの先頭の間でデータを取得するだけで、このファイルのヘッダーを使用して対応する画像本文を計算します。 したがって、Scalpelがはるかに高速に処理を行うと、Foremostは失われたデータをより正確に回復できると言えます。



Scalpelが提供する機能:



  1. ファイルシステムに依存しない回復
  2. 復元されたファイルの最小サイズと最大サイズの設定
  3. マルチコアシステムでのマルチスレッドの使用
  4. テンプレートによる検索時に増加する非同期I / O操作
  5. TRE正規表現を使用して、ファイルの先頭と末尾で検索する
  6. ネストされたデータ構造から回復する機能
  7. GPUを使用する可能性は、オタクでも利用可能です。これは、Linuxでのみ利用可能で、プリインストールされたNVIDIA CUDA SDKとソースコードの小さな修正が必要です(正規表現を使用した検索はGPUでは機能しません)


Scalpelは通常、対応するLinuxディストリビューションのパッケージから入手できますが、github リポジトリから選択することで、原料から収集することもできます



アプリケーションは/etc/scalpel/scalpel.confファイルで構成され、適切なファイル検索テンプレートが設定されます。 その中には、画像やドキュメントファイルなどで検索するための既製のプリセットがあります。 失われたデータを回復するには、対応するテンプレートのコメントを外して、アプリケーションを実行します。



ファイルに目的のファイルのテンプレートが含まれていない場合、または特定のxml形式を探している場合など、独自のテンプレートを作成する必要があります。これについては、以下のルールと同様に説明します

種類 大文字と小文字を区別 サイズ範囲 ヘッダー フッター 検索オプション
avi y 50,000,000 RIFF ???? AVI
doc y 10,000,000 \ xd0 \ xcf \ x11 \ xe0 \ xa1 \ xb1 \ x1a \ xe1 \ x00 \ x00 \ xd0 \ xcf \ x11 \ xe0 \ xa1 \ xb1 \ x1a \ xe1 \ x00 \ x00 次へ
pdf y 500,000 %PDF %EOF \ x0d
pdf y 500,000 %PDF %EOF \ x0a リバース
テックス y 300:50,000 /%.{1,20►\.tex/ /%.{1,20►\.tex\sEnd/
php y 100,000 <?php ?> リバース
簡単に列について





最後の検索オプションフィールドとして、次の値が有効であることに注意することが重要です。





ご注意

疑問符「?」を使用する必要がある場合 ヘッダーまたはファイルの末尾の目的の値として、ワイルドカード記号(疑問符)を再定義する必要があります。 これを行うには、構成ファイルの先頭に書き込みます

ワイルドカードS
ここで、Sは検索式の新しいワイルドカードシンボルであるか、このシンボルの16進表現を使用します。これは\ 0x3fまたは\ 063と同等



今すぐ練習


上の表のテンプレートで説明されているファイルを削除したとします。 これらのパターンを構成ファイルに書き込み(タブ文字は列の区切りとして使用されます)/etc/scalpel/scalpel.confからリカバリを開始します(リカバリ用のデータを含むイメージを事前に準備しました)



root# scalpel MyDrive.img -o recover Written by Golden G. Richard III, based on Foremost 0.69. Opening target "/home/username/Documents/repair_files/test/MyDrive.img" Image file pass 1/2. MyDrive.img: 100.0% |*****************************************************| 500.0 MB 00:00 ETA Allocating work queues... Work queues allocation complete. Building carve lists... Carve lists built. Workload: avi with header "\x52\x49\x46\x46\x3f\x3f\x3f\x3f\x41\x56\x49" and footer "" --> 1 files doc with header "\xd0\xcf\x11\xe0\xa1\xb1\x1a\xe1\x00\x00" and footer "\xd0\xcf\x11\xe0\xa1\xb1\x1a\xe1\x00\x00" --> 2 files pdf with header "\x25\x50\x44\x46" and footer "\x25\x45\x4f\x46\x0d" --> 33 files pdf with header "\x25\x50\x44\x46" and footer "\x25\x45\x4f\x46\x0a" --> 19 files php with header "\x3c\x3f\x70\x68\x70" and footer "\x3f\x3e" --> 8 files Carving files from image. Image file pass 2/2. MyDrive.img: 100.0% *****************************************************| 500.0 MB 00:00 ETA Processing of image file complete. Cleaning up... Done. Scalpel is done, files carved = 63, elapsed = 6 seconds.
      
      





結果のフォルダで実行が完了すると、見つかったファイルとaudit.txtが見つかります。このファイルには、次のようなファイルに関する簡単な情報があります。



 Scalpel version 1.60 audit file Started at Wed Jan 7 12:50:52 2015 Command line: scalpel MyDrive.img -o recover Output directory: /home/username/Documents/repair_files/test/recover Configuration file: /etc/scalpel/scalpel.conf Opening target "/home/username/Documents/repair_files/test/MyDrive.img" The following files were carved: File Start Chop Length Extracted From 00000003.pdf 549888 NO 4162 MyDrive.img 00000055.php 1227776 NO 99954 MyDrive.img 00000001.doc 8916992 YES 10000000 MyDrive.img
      
      





また、いくつかの利用可能なオプションに注意してください。

-pこのオプションを使用すると、ファイルは復元されませんが、どのファイルが復元されるかを確認できる監査ファイルが作成されます

-qこのオプションを指定すると、メスは指定されたサイズの各クラスターの先頭のみをスキャンし、検索対象のファイルの対応する先頭を検索します

-v詳細モード

-oデータ回復結果が置かれるディレクトリを指定します



すべての人に成功したデータ復旧!






便利なリンク

  1. Github Scalpelリポジトリ
  2. メス:質素で高性能なファイルカーバー。 ゴールデンR.リチャード3世、ヴァシル・ルーセフ
  3. SANS Institute InfoSecリーディングルーム:データカービングの概念
  4. TRE正規表現の構文



All Articles