ファイル/データカービングと回復ツール
Reading time: 10 minutes
tip
AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)
Azureハッキングを学び、実践する:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricksをサポートする
- サブスクリプションプランを確認してください!
- **💬 Discordグループまたはテレグラムグループに参加するか、Twitter 🐦 @hacktricks_liveをフォローしてください。
- HackTricksおよびHackTricks CloudのGitHubリポジトリにPRを提出してハッキングトリックを共有してください。
カービングと回復ツール
More tools in https://github.com/Claudio-C/awesome-datarecovery
Autopsy
フォレンジックで画像からファイルを抽出するために最も一般的に使用されるツールはAutopsyです。ダウンロードしてインストールし、ファイルを取り込んで「隠れた」ファイルを見つけます。Autopsyはディスクイメージや他の種類のイメージをサポートするように構築されていますが、単純なファイルには対応していないことに注意してください。
2024-2025年の更新 – バージョン4.21(2025年2月リリース)では、SleuthKit v4.13に基づいて再構築されたカービングモジュールが追加され、マルチテラバイトイメージを扱う際に明らかに迅速で、マルチコアシステムでの並列抽出をサポートしています。¹ 小さなCLIラッパー(
autopsycli ingest <case> <image>
)も導入され、CI/CDや大規模なラボ環境内でのカービングをスクリプト化することが可能になりました。
# Create a case and ingest an evidence image from the CLI (Autopsy ≥4.21)
autopsycli case --create MyCase --base /cases
# ingest with the default ingest profile (includes data-carve module)
autopsycli ingest MyCase /evidence/disk01.E01 --threads 8
Binwalk
Binwalkは、埋め込まれたコンテンツを見つけるためにバイナリファイルを分析するツールです。apt
を介してインストール可能で、そのソースはGitHubにあります。
便利なコマンド:
sudo apt install binwalk # Installation
binwalk firmware.bin # Display embedded data
binwalk -e firmware.bin # Extract recognised objects (safe-default)
binwalk --dd " .* " firmware.bin # Extract *everything* (use with care)
⚠️ セキュリティノート – バージョン ≤2.3.3 は パス・トラバーサル 脆弱性 (CVE-2022-4510) の影響を受けます。信頼できないサンプルをカービングする前に、アップグレードするか(またはコンテナ/非特権UIDで隔離してください)。
Foremost
隠れたファイルを見つけるためのもう一つの一般的なツールは foremost です。foremost の設定ファイルは /etc/foremost.conf
にあります。特定のファイルを検索したい場合は、それらのコメントを外してください。何もコメントを外さない場合、foremost はデフォルトで設定されたファイルタイプを検索します。
sudo apt-get install foremost
foremost -v -i file.img -o output
# Discovered files will appear inside the folder "output"
スカルペル
スカルペルは、ファイルに埋め込まれたファイルを見つけて抽出するために使用できる別のツールです。この場合、抽出したいファイルタイプを設定ファイル (/etc/scalpel/scalpel.conf) からコメント解除する必要があります。
sudo apt-get install scalpel
scalpel file.img -o output
Bulk Extractor 2.x
このツールはkaliに含まれていますが、ここでも見つけることができます: https://github.com/simsong/bulk_extractor
Bulk Extractorは証拠画像をスキャンし、pcapフラグメント、ネットワークアーティファクト(URL、ドメイン、IP、MAC、電子メール)、および他の多くのオブジェクトを複数のスキャナーを使用して並行してカービングすることができます。
# Build from source – v2.1.1 (April 2024) requires cmake ≥3.16
git clone https://github.com/simsong/bulk_extractor.git && cd bulk_extractor
mkdir build && cd build && cmake .. && make -j$(nproc) && sudo make install
# Run every scanner, carve JPEGs aggressively and generate a bodyfile
bulk_extractor -o out_folder -S jpeg_carve_mode=2 -S write_bodyfile=y /evidence/disk.img
有用なポストプロセッシングスクリプト(bulk_diff
、bulk_extractor_reader.py
)は、2つのイメージ間でアーティファクトの重複を排除したり、結果をSIEM取り込み用のJSONに変換したりできます。
PhotoRec
https://www.cgsecurity.org/wiki/TestDisk_Download で見つけることができます。
GUIとCLIのバージョンが付属しています。PhotoRecに検索してほしいファイルタイプを選択できます。
ddrescue + ddrescueview(故障ドライブのイメージング)
物理ドライブが不安定な場合は、最初にイメージを作成し、そのイメージに対してのみカービングツールを実行するのがベストプラクティスです。ddrescue
(GNUプロジェクト)は、読み取れないセクターのログを保持しながら、悪化したディスクを信頼性高くコピーすることに焦点を当てています。
sudo apt install gddrescue ddrescueview # On Debian-based systems
# First pass – try to get as much data as possible without retries
sudo ddrescue -f -n /dev/sdX suspect.img suspect.log
# Second pass – aggressive, 3 retries on the remaining bad areas
sudo ddrescue -d -r3 /dev/sdX suspect.img suspect.log
# Visualise the status map (green=good, red=bad)
ddrescueview suspect.log
バージョン 1.28 (2024年12月) では --cluster-size
が導入され、従来のセクターサイズがフラッシュブロックと一致しなくなった高容量SSDのイメージングを高速化できます。
Extundelete / Ext4magic (EXT 3/4 アンデリート)
ソースファイルシステムがLinux EXTベースの場合、最近削除されたファイルを フルカービングなしで 回復できる可能性があります。両方のツールは読み取り専用イメージ上で直接動作します:
# Attempt journal-based undelete (metadata must still be present)
extundelete disk.img --restore-all
# Fallback to full directory scan; supports extents and inline data
ext4magic disk.img -M -f '*.jpg' -d ./recovered
🛈 ファイルシステムが削除後にマウントされた場合、データブロックはすでに再利用されている可能性があります。その場合、適切なカービング(Foremost/Scalpel)が依然として必要です。
binvis
BinVisの特徴
- 視覚的でアクティブな構造ビューワー
- 異なる焦点のための複数のプロット
- サンプルの一部に焦点を当てる
- PEまたはELF実行可能ファイル内のストリングやリソースを見る
- ファイルの暗号解析用のパターンを取得
- パッカーやエンコーダアルゴリズムを特定
- パターンによるステガノグラフィーの識別
- 視覚的なバイナリ差分
BinVisは、ブラックボックスシナリオで未知のターゲットに慣れるための素晴らしい出発点です。
特定のデータカービングツール
FindAES
AESキーのスケジュールを検索することでAESキーを検索します。TrueCryptやBitLockerで使用される128、192、256ビットのキーを見つけることができます。
YARA-X(カービングされたアーティファクトのトリアージ)
YARA-Xは、2024年にリリースされたYARAのRustによる書き換えです。従来のYARAよりも10-30倍速いで、数千のカービングされたオブジェクトを非常に迅速に分類するために使用できます:
# Scan every carved object produced by bulk_extractor
yarax -r rules/index.yar out_folder/ --threads 8 --print-meta
スピードアップにより、大規模な調査で自動タグ付けをすべてのカーブファイルに対して現実的に行うことができます。
補完ツール
ターミナルから画像を見るためにviu を使用できます。
PDFをテキストに変換して読むために、Linuxコマンドラインツールpdftotextを使用できます。
参考文献
- Autopsy 4.21 リリースノート – https://github.com/sleuthkit/autopsy/releases/tag/autopsy-4.21
tip
AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)
Azureハッキングを学び、実践する:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricksをサポートする
- サブスクリプションプランを確認してください!
- **💬 Discordグループまたはテレグラムグループに参加するか、Twitter 🐦 @hacktricks_liveをフォローしてください。
- HackTricksおよびHackTricks CloudのGitHubリポジトリにPRを提出してハッキングトリックを共有してください。