5.4 KiB
Raw Blame History

Pozyskiwanie i Montaż

{{#include ../../banners/hacktricks-training.md}}

Pozyskiwanie

Zawsze pozyskuj tylko do odczytu i haszuj podczas kopiowania. Trzymaj oryginalne urządzenie zablokowane do zapisu i pracuj tylko na zweryfikowanych kopiach.

DD

# 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

dc3dd / dcfldd

dc3dd jest aktywnie utrzymywanym fork'iem dcfldd (DoD Computer Forensics Lab dd).

# 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

Guymager

Graficzny, wielowątkowy imager, który obsługuje raw (dd), EWF (E01/EWFX) i AFF4 jako wyjście z równoległą weryfikacją. Dostępny w większości repozytoriów Linuksa (apt install guymager).

# 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 to nowoczesny format obrazowania Google'a zaprojektowany dla bardzo dużych dowodów (rzadkie, wznawialne, natywne w chmurze).

# 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)

Możesz pobrać FTK Imager i stworzyć obrazy raw, E01 lub AFF4:

ftkimager /dev/sdb evidence --e01 --case-number 1 --evidence-number 1 \
--description 'Laptop seizure 2025-07-22' --examiner 'AnalystName' --compress 6

Narzędzia EWF (libewf)

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 utwórz forensic snapshot bez wyłączania instancji:

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 użyj az snapshot create i wyeksportuj do adresu URL SAS. Zobacz stronę z HackTricks:

{{#ref}} ../../cloud/azure/azure-forensics.md {{#endref}}

Montowanie

Wybór odpowiedniego podejścia

  1. Zamontuj cały dysk, gdy potrzebujesz oryginalnej tabeli partycji (MBR/GPT).
  2. Zamontuj pojedynczy plik partycji, gdy potrzebujesz tylko jednej woluminu.
  3. Zawsze montuj tylko do odczytu (-o ro,norecovery) i pracuj na kopiach.

Surowe obrazy (dd, AFF4-extracted)

# Identify partitions
fdisk -l disk.img

# 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

Odłącz, gdy skończysz:

sudo umount /mnt && sudo qemu-nbd --disconnect /dev/nbd0

EWF (E01/EWFX)

# 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

Alternatywnie konwertuj w locie za pomocą xmount:

xmount --in ewf evidence.E01 --out raw /tmp/raw_mount
mount -o ro /tmp/raw_mount/image.dd /mnt

LVM / BitLocker / VeraCrypt volumes

Po podłączeniu urządzenia blokowego (loop lub nbd):

# 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 helpers

kpartx automatycznie mapuje partycje z obrazu do /dev/mapper/:

sudo kpartx -av disk.img  # creates /dev/mapper/loop0p1, loop0p2 …
mount -o ro /dev/mapper/loop0p2 /mnt

Typowe błędy montowania i ich rozwiązania

Błąd Typowa przyczyna Rozwiązanie
cannot mount /dev/loop0 read-only System plików z dziennikiem (ext4) nie został poprawnie odmontowany użyj -o ro,norecovery
bad superblock … Zły offset lub uszkodzony system plików oblicz offset (sector*size) lub uruchom fsck -n na kopii
mount: unknown filesystem type 'LVM2_member' Kontener LVM aktywuj grupę woluminów za pomocą vgchange -ay

Czyszczenie

Pamiętaj, aby umount i odłączyć urządzenia loop/nbd, aby uniknąć pozostawiania wiszących mapowań, które mogą uszkodzić dalszą pracę:

umount -Rl /mnt/evidence
kpartx -dv /dev/loop0  # or qemu-nbd --disconnect /dev/nbd0

Odniesienia

{{#include ../../banners/hacktricks-training.md}}