Linux
lvm
Forensics
DigitalForensics

自宅で始めるフォレンジック~分析開始編~

はじめに

せっかくHDDを保全したので、分析もちょっとしていこうかなー
ということで、やっていきます。

AutopsyとSIFT Workstationを使います。

  • SIFTはファイルシステムの手動解析
    • 主にAutopsyが自動解析できないLVMとか使ってないかどうかをまず見る。
  • AutopsyはEXT4とかEXTなんちゃらみたいな対応してるファイルシステムの分析を行う
    • GUIでやったほうが楽だよね。

E01ファイルのマウント(SIFT Workstation)

このコマンドを実行すると自動的に、/mnt/ewf/ewf1 にたぶんデバイスファイル的な何か(単一ファイル)がマウントされる

# ewfmount /media/sf_forensics/WD-WXG1A2048823.E01 /mnt/ewf
ewfmount 20140608
#

/mnt/ewf/ewf1 のパーティションを眺める

# fdisk -l /mnt/ewf/ewf1
Disk /mnt/ewf/ewf1: 149.1 GiB, 160041885696 bytes, 312581808 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: 0x00098212

Device          Boot  Start       End   Sectors   Size Id Type
/mnt/ewf/ewf1p1 *      2048    499711    497664   243M 83 Linux
/mnt/ewf/ewf1p2      501758 312580095 312078338 148.8G  5 Extended
/mnt/ewf/ewf1p5      501760 312580095 312078336 148.8G 8e Linux LVM

#

見事にLVM使ってたので、E01ファイルをそのままAutopsyに入れても解析できませんねこれは。
なお、LVM関係のコマンドはSIFTにデフォルトで入ってない+デフォルトでインターネットに出られないので、以下のようなコマンドでインターネットにつないで、LVM系のコマンドをとってくる。

# dhclient
# apt install lvm2

LVM(logical volume manager)

とりあえず、LVMじゃなくてextなんちゃらのファイルシステムを表に出してきたいので
LVMが内包しているであろうファイルシステムを表に出していく作業をする。

ewf1を基にしてループデバイスを作る

# losetup /dev/loop0 /mnt/ewf/ewf1

ループバックデバイスをマウントする

# kpartx -a /dev/loop0

ループバックデバイスのパーティション情報を見る

# fdisk -l -u /dev/loop0
Disk /dev/loop0: 149.1 GiB, 160041885696 bytes, 312581808 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: 0x00098212

Device       Boot  Start       End   Sectors   Size Id Type
/dev/loop0p1 *      2048    499711    497664   243M 83 Linux
/dev/loop0p2      501758 312580095 312078338 148.8G  5 Extended
/dev/loop0p5      501760 312580095 312078336 148.8G 8e Linux LVM

さっき見たファイルのパーティションと同じ!
ということは、うまくマウントできたので、LVMの中を見られるようにしていく

LVMの情報を一つ一つ見ていく(pvscanのPVはPhysical Volumeの略)

root@siftworkstation -> /mnt 
# pvscan
  PV /dev/mapper/loop0p5   VG ubuntu-vg       lvm2 [148.81 GiB / 0    free]
  Total: 1 [148.81 GiB] / in use: 1 [148.81 GiB] / in no VG: 0 [0   ]
root@siftworkstation -> /mnt 

LVMの中の論理ボリュームはこんな感じになっている。
inactiveなので、lvchangeで論理ボリュームを使えるように設定する。

# lvscan
  inactive          '/dev/ubuntu-vg/root' [144.88 GiB] inherit
  inactive          '/dev/ubuntu-vg/swap_1' [3.93 GiB] inherit

# lvchange --available y /dev/ubuntu-vg/root /dev/ubuntu-vg/swap_1

# lvscan
  ACTIVE            '/dev/ubuntu-vg/root' [144.88 GiB] inherit
  ACTIVE            '/dev/ubuntu-vg/swap_1' [3.93 GiB] inherit

おめでとう、論理ボリュームが使えるようになった!

# parted /dev/ubuntu-vg/root print
Model: Linux device-mapper (linear) (dm)
Disk /dev/dm-3: 156GB
Sector size (logical/physical): 512B/512B
Partition Table: loop
Disk Flags: 

Number  Start  End    Size   File system  Flags
 1      0.00B  156GB  156GB  ext4

わーい、ext4だー
swap_1のほうはなんかまぁ、とりあえず取ってる感じ。

# dd if=/dev/ubuntu-vg/root of=/media/sf_writable/root bs=1G status=progress
155558346752 bytes (156 GB, 145 GiB) copied, 2620.5 s, 59.4 MB/s
144+1 records in
144+1 records out
155558346752 bytes (156 GB, 145 GiB) copied, 2620.69 s, 59.4 MB/s

# dd if=/dev/ubuntu-vg/swap_1 of=/media/sf_writable/swap bs=1G status=progress
4223664128 bytes (4.2 GB, 3.9 GiB) copied, 45.6079 s, 92.6 MB/s
3+1 records in
3+1 records out
4223664128 bytes (4.2 GB, 3.9 GiB) copied, 45.7875 s, 92.2 MB/s

とりあえず取得したEXT4イメージをAutopsyに食わせてみる

image.png

もぐもぐ食べてる。
おわり。
多分次は、解析編。

若干、このファイルシステム暗号化されてるんじゃないか疑惑がAutopsyに食わせつつ
スキャンしてるパス名とか見たら「/home/user.Encryptなんちゃら」みたいなのが出てきた
これは・・・

次回は分析編

参考にしたもの

【Linux】kpartxでループバックデバイスを簡単にマウントする
別のPCから外したディスクのLVM ボリュームをマウントする方法
VMボリュームのマウントの仕方