Translated ['src/generic-methodologies-and-resources/basic-forensic-meth

This commit is contained in:
Translator 2025-07-23 09:16:20 +00:00
parent 59ec96f7cd
commit 877afea666

View File

@ -5,94 +5,145 @@
## 取得
> 常に**読み取り専用**で**コピー中にハッシュを取得**してください。元のデバイスは**書き込みブロック**されている状態を保ち、検証済みのコピーのみで作業してください。
### DD
```bash
#This will generate a raw copy of the disk
dd if=/dev/sdb of=disk.img
# Generate a raw, bit-by-bit image (no on-the-fly hashing)
dd if=/dev/sdb of=disk.img bs=4M status=progress conv=noerror,sync
# Verify integrity afterwards
sha256sum disk.img > disk.img.sha256
```
### dcfldd
```bash
#Raw copy with hashes along the way (more secur as it checks hashes while it's copying the data)
dcfldd if=<subject device> of=<image file> bs=512 hash=<algorithm> hashwindow=<chunk size> hashlog=<hash file>
dcfldd if=/dev/sdc of=/media/usb/pc.image hash=sha256 hashwindow=1M hashlog=/media/usb/pc.hashes
```
### FTK Imager
### dc3dd / dcfldd
ここから[**FTKイメージャーをダウンロードできます**](https://accessdata.com/product-download/debian-and-ubuntu-x64-3-1-1)
`dc3dd` は、dcfldd (DoD Computer Forensics Lab dd) のアクティブにメンテナンスされているフォークです。
```bash
ftkimager /dev/sdb evidence --e01 --case-number 1 --evidence-number 1 --description 'A description' --examiner 'Your name'
# Create an image and calculate multiple hashes at acquisition time
sudo dc3dd if=/dev/sdc of=/forensics/pc.img hash=sha256,sha1 hashlog=/forensics/pc.hashes log=/forensics/pc.log bs=1M
```
### EWF
ディスクイメージは[ **ewf tools**](https://github.com/libyal/libewf)を使用して生成できます。
### Guymager
グラフィカルでマルチスレッドのイメージャーで、**raw (dd)**、**EWF (E01/EWFX)**、および**AFF4**出力をサポートし、並行検証が可能です。ほとんどのLinuxリポジトリで利用可能です`apt install guymager`)。
```bash
ewfacquire /dev/sdb
#Name: evidence
#Case number: 1
#Description: A description for the case
#Evidence number: 1
#Examiner Name: Your name
#Media type: fixed
#Media characteristics: physical
#File format: encase6
#Compression method: deflate
#Compression level: fast
#Then use default values
#It will generate the disk image in the current directory
# Start in GUI mode
sudo guymager
# Or acquire from CLI (since v0.9.5)
sudo guymager --simulate --input /dev/sdb --format EWF --hash sha256 --output /evidence/drive.e01
```
### AFF4 (Advanced Forensics Format 4)
AFF4は、*非常に*大きな証拠スパース、再開可能、クラウドネイティブ用に設計されたGoogleの最新のイメージングフォーマットです。
```bash
# Acquire to AFF4 using the reference tool
pipx install aff4imager
sudo aff4imager acquire /dev/nvme0n1 /evidence/nvme.aff4 --hash sha256
# Velociraptor can also acquire AFF4 images remotely
velociraptor --config server.yaml frontend collect --artifact Windows.Disk.Acquire --args device="\\.\\PhysicalDrive0" format=AFF4
```
### FTK Imager (Windows & Linux)
あなたは[FTK Imagerをダウンロード](https://accessdata.com/product-download)し、**raw、E01、またはAFF4**イメージを作成できます:
```bash
ftkimager /dev/sdb evidence --e01 --case-number 1 --evidence-number 1 \
--description 'Laptop seizure 2025-07-22' --examiner 'AnalystName' --compress 6
```
### EWFツール (libewf)
```bash
sudo ewfacquire /dev/sdb -u evidence -c 1 -d "Seizure 2025-07-22" -e 1 -X examiner --format encase6 --compression best
```
### Imaging Cloud Disks
*AWS* インスタンスをシャットダウンせずに**フォレンジックスナップショット**を作成する:
```bash
aws ec2 create-snapshot --volume-id vol-01234567 --description "IR-case-1234 web-server 2025-07-22"
# Copy the snapshot to S3 and download with aws cli / aws snowball
```
*Azure* use `az snapshot create` and export to a SAS URL. See the HackTricks page {{#ref}}
../../cloud/azure/azure-forensics.md
{{#endref}}
## マウント
### いくつかのタイプ
### 適切なアプローチの選択
**Windows** では、Arsenal Image Mounter の無料版 ([https://arsenalrecon.com/downloads/](https://arsenalrecon.com/downloads/)) を使用して **フォレンジックイメージをマウント** することができます。
1. 元のパーティションテーブルMBR/GPTが必要な場合は、**全ディスク**をマウントします。
2. 1つのボリュームのみが必要な場合は、**単一パーティションファイル**をマウントします。
3. 常に**読み取り専用**`-o ro,norecovery`)でマウントし、**コピー**で作業します。
### 生
```bash
#Get file type
file evidence.img
evidence.img: Linux rev 1.0 ext4 filesystem data, UUID=1031571c-f398-4bfb-a414-b82b280cf299 (extents) (64bit) (large files) (huge files)
#Mount it
mount evidence.img /mnt
```
### EWF
```bash
#Get file type
file evidence.E01
evidence.E01: EWF/Expert Witness/EnCase image file format
#Transform to raw
mkdir output
ewfmount evidence.E01 output/
file output/ewf1
output/ewf1: Linux rev 1.0 ext4 filesystem data, UUID=05acca66-d042-4ab2-9e9c-be813be09b24 (needs journal recovery) (extents) (64bit) (large files) (huge files)
#Mount
mount output/ewf1 -o ro,norecovery /mnt
```
### ArsenalImageMounter
これはボリュームをマウントするためのWindowsアプリケーションです。ここからダウンロードできます [https://arsenalrecon.com/downloads/](https://arsenalrecon.com/downloads/)
### エラー
- **`cannot mount /dev/loop0 read-only`** この場合、フラグ **`-o ro,norecovery`** を使用する必要があります。
- **`wrong fs type, bad option, bad superblock on /dev/loop0, missing codepage or helper program, or other error.`** この場合、マウントはファイルシステムのオフセットがディスクイメージのそれと異なるために失敗しました。セクターサイズと開始セクターを見つける必要があります。
### 生画像dd、AFF4抽出
```bash
# Identify partitions
fdisk -l disk.img
Disk disk.img: 102 MiB, 106954648 bytes, 208896 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x00495395
Device Boot Start End Sectors Size Id Type
disk.img1 2048 208895 206848 101M 1 FAT12
# Attach the image to a network block device (does not modify the file)
sudo modprobe nbd max_part=16
sudo qemu-nbd --connect=/dev/nbd0 --read-only disk.img
# Inspect partitions
lsblk /dev/nbd0 -o NAME,SIZE,TYPE,FSTYPE,LABEL,UUID
# Mount a partition (e.g. /dev/nbd0p2)
sudo mount -o ro,uid=$(id -u) /dev/nbd0p2 /mnt
```
セクターサイズは**512**で、開始は**2048**です。次に、次のようにイメージをマウントします:
完了したら切り離してください:
```bash
mount disk.img /mnt -o ro,offset=$((2048*512))
sudo umount /mnt && sudo qemu-nbd --disconnect /dev/nbd0
```
### EWF (E01/EWFX)
```bash
# 1. Mount the EWF container
mkdir /mnt/ewf
ewfmount evidence.E01 /mnt/ewf
# 2. Attach the exposed raw file via qemu-nbd (safer than loop)
sudo qemu-nbd --connect=/dev/nbd1 --read-only /mnt/ewf/ewf1
# 3. Mount the desired partition
sudo mount -o ro,norecovery /dev/nbd1p1 /mnt/evidence
```
代わりに、**xmount**を使用してオンザフライで変換します:
```bash
xmount --in ewf evidence.E01 --out raw /tmp/raw_mount
mount -o ro /tmp/raw_mount/image.dd /mnt
```
### LVM / BitLocker / VeraCrypt ボリューム
ブロックデバイスループまたはnbdを接続した後
```bash
# LVM
sudo vgchange -ay # activate logical volumes
sudo lvscan | grep "/dev/nbd0"
# BitLocker (dislocker)
sudo dislocker -V /dev/nbd0p3 -u -- /mnt/bitlocker
sudo mount -o ro /mnt/bitlocker/dislocker-file /mnt/evidence
```
### kpartx ヘルパー
`kpartx` は、イメージから `/dev/mapper/` へのパーティションを自動的にマッピングします:
```bash
sudo kpartx -av disk.img # creates /dev/mapper/loop0p1, loop0p2 …
mount -o ro /dev/mapper/loop0p2 /mnt
```
### 一般的なマウントエラーと修正
| エラー | 一般的な原因 | 修正 |
|-------|---------------|-----|
| `cannot mount /dev/loop0 read-only` | ジャーナル化ファイルシステム (ext4) が正常にアンマウントされていない | `-o ro,norecovery` を使用 |
| `bad superblock …` | オフセットが間違っているか、ファイルシステムが破損している | オフセットを計算する (`sector*size`) か、コピーに対して `fsck -n` を実行 |
| `mount: unknown filesystem type 'LVM2_member'` | LVMコンテナ | `vgchange -ay` でボリュームグループをアクティブ化 |
### クリーンアップ
**umount** と **disconnect** ループ/nbdデバイスを忘れずに行い、さらなる作業を破損させる可能性のあるダングリングマッピングを残さないようにしてください:
```bash
umount -Rl /mnt/evidence
kpartx -dv /dev/loop0 # or qemu-nbd --disconnect /dev/nbd0
```
## 参考文献
- AFF4イメージングツールの発表と仕様: https://github.com/aff4/aff4
- qemu-nbdマニュアルページディスクイメージを安全にマウントする: https://manpages.debian.org/qemu-system-common/qemu-nbd.1.en.html
{{#include ../../banners/hacktricks-training.md}}