EEEPCの復旧作業

  • しばらく前に起動しなくなってしまった自宅サーバを復旧させる必要があるけど、何が原因か分からないので最悪の場合の備えてデータだけは確保しておきたい。まさか、自宅でフォレンジックのまねごとをするは目になろうとは思わなかったわ。orz
  • FTK Imagerで500GBのHDDイメージを取得し始めたけど、E01形式で圧縮かけながら保存したらやたら時間かかる。おまけに、その間PCが重くてExplorerが落ちてしまった。ところで、FreeBSDファイルシステムってなんだっけ?少なくともWindowsでマウントするのは無理だから、解析環境を引っ張り出さないと。
  • ちょ。なんてこったい。これ、USBデバイス的にアウトになったのか、HDDがアウトだったのかどっちだろう。いったん再起動して、SATA直結でやり直してみよう。

NOTICE: Imaging failed with the following error:
指定されたネットワーク リソースまたはデバイスは利用できません。 (55)
This image is incomplete!

Created By AccessDataR FTKR Imager 3.4.0.1

Case Information:
Acquired using: ADI3.4.0.1
Case Number:
Evidence Number:
Unique Description:
Examiner:
Notes: EEEPC

                                                                                                                          • -

Information for D:\EEEPC\20180721-EEEPC:

Physical Evidentiary Item (Source) Information:
[Device Info]
Source Type: Physical
[Drive Geometry]
Cylinders: 60,801
Tracks per Cylinder: 255
Sectors per Track: 63
Bytes per Sector: 512
Sector Count: 976,773,168
[Physical Drive Information]
Drive Model: Jmicron Corp. USB Device
Drive Serial Number: 
Drive Interface Type: USB
Removable drive: False
Source data size: 476940 MB
Sector count: 976773168
[Computed Hashes]
MD5 checksum: b9b47fdf575a4bf780d0129b64de3ac2
SHA1 checksum: bb65092d11c2f6137f6b4092c01f587feb4245c2

Image Information:
Acquisition started: Sat Jul 21 16:04:27 2018
Acquisition finished: Sat Jul 21 17:04:22 2018
Segment list:
D:\EEEPC\20180721-EEEPC.E01
D:\EEEPC\20180721-EEEPC.E02
...
D:\EEEPC\20180721-EEEPC.E45

再チャレンジ

file /mnt/ewf/ewf1 
/mnt/ewf/ewf1: DOS/MBR boot sector; partition 1 : ID=0xa5, active, start-CHS (0x0,1,1), end-CHS (0x3ff,15,63), startsector 63, 976773105 sectors
# mmls /mnt/ewf/ewf1 
DOS Partition Table
Offset Sector: 0
Units are in 512-byte sectors

      Slot      Start        End          Length       Description
000:  Meta      0000000000   0000000000   0000000001   Primary Table (#0)
001:  -------   0000000000   0000000062   0000000063   Unallocated
002:  000:000   0000000063   0976773167   0976773105   BSD/386, 386BSD, NetBSD, FreeBSD (0xa5)
  • マウントしてみたが、やはり何かおかしい。
# mount -t ufs -o ro,offset=32256,ufstype=ufs2 /mnt/ewf/ewf1 /mnt/windows_mount

# ls -l /mnt/windows_mount
total 48
drwxr-xr-x  2 root root 1024 Aug  4  2010 bin
drwxr-xr-x  8 root root 1024 Aug  4  2010 boot
lrwxr-xr-x  1 root root   10 Jul 19  2010 compat -> usr/compat
-r--r--r--  1 root root 6206 Jun 29  2010 COPYRIGHT
drwxr-xr-x  2 root root  512 Jul 19  2010 dev
-rw-------  1 root root 4096 Sep 24  2017 entropy
drwxr-xr-x 20 root root 2048 Jul 21  2010 etc
drwxr-xr-x 20 root root 2048 Jul 19  2010 etc.original
lrwxr-xr-x  1 root root    8 Jul 19  2010 home -> usr/home
drwxr-xr-x  3 root root 1536 Aug  4  2010 lib
drwxr-xr-x  2 root root  512 Aug  4  2010 libexec
drwxr-xr-x  2 root root  512 Jun 29  2010 media
drwxr-xr-x  2 root root  512 Jun 29  2010 mnt
dr-xr-xr-x  2 root root  512 Jun 29  2010 proc
drwxr-xr-x  2 root root 2560 Aug  4  2010 rescue
drwxr-xr-x  3 root root  512 Jul 20  2010 root
drwxr-xr-x  2 root root 2560 Aug  4  2010 sbin
lrwxr-xr-x  1 root root   11 Aug  4  2010 sys -> usr/src/sys
drwxr-xr-x  2 root root  512 Jul 19  2010 tmp
drwxr-xr-x  2 root root  512 Jul 19  2010 usr
drwxr-xr-x  2 root root  512 Jul 19  2010 var
  • しかたないので、MBRを直接覗いてみる。そして、死亡確定。ディスク障害確定ですね。どの程度のダメージなのかは不明。物理イメージは確保したので、調査は余裕をもってできるけど、最低限復旧したいデータだけはバックアップからなんとかしたほうがよさそう。
  • 肝心の/var/log/messagesが見えないし、ディスプレイに繋がってないので目視したわけでもないが、当時の状況を思い出してみると、調子が悪い -> 再起動 & fsck -> 再起動 & fsck -> とどめを刺されるという流れだったと思われ。
00000000   FC 31 C0 8E  C0 8E D8 8E  D0 BC 00 7C  BE 1A 7C BF  1A 06 B9 E6  01 F3 A4 E9  00 8A 31 F6  BB BE 07 B1  .1.........|..|...........1.....
00000020   04 38 2F 74  08 7F 75 85  F6 75 71 89  DE 80 C3 10  E2 EF 85 F6  75 02 CD 18  80 FA 80 72  0B 8A 36 75  .8/t..u..uq.........u......r..6u
00000040   04 80 C6 80  38 F2 72 02  8A 14 89 E7  8A 74 01 8B  4C 02 BB 00  7C F6 06 BD  07 80 74 2D  51 53 BB AA  ....8.r......t..L...|.....t-QS..
00000060   55 B4 41 CD  13 72 20 81  FB 55 AA 75  1A F6 C1 01  74 15 5B 66  6A 00 66 FF  74 08 06 53  6A 01 6A 10  U.A..r ..U.u....t.[fj.f.t..Sj.j.
00000080   89 E6 B8 00  42 EB 05 5B  59 B8 01 02  CD 13 89 FC  72 0F 81 BF  FE 01 55 AA  75 0C FF E3  BE B9 06 EB  ....B..[Y.......r.....U.u.......
000000A0   11 BE D1 06  EB 0C BE F0  06 EB 07 BB  07 00 B4 0E  CD 10 AC 84  C0 75 F4 EB  FE 49 6E 76  61 6C 69 64  .....................u...Invalid
000000C0   20 70 61 72  74 69 74 69  6F 6E 20 74  61 62 6C 65  00 45 72 72  6F 72 20 6C  6F 61 64 69  6E 67 20 6F   partition table.Error loading o
000000E0   70 65 72 61  74 69 6E 67  20 73 79 73  74 65 6D 00  4D 69 73 73  69 6E 67 20  6F 70 65 72  61 74 69 6E  perating system.Missing operatin
00000100   67 20 73 79  73 74 65 6D  00 90 90 90  90 90 90 90  90 90 90 90  90 90 90 90  90 90 90 90  90 90 90 90  g system........................
00000120   90 90 90 90  90 90 90 90  90 90 90 90  90 90 90 90  90 90 90 90  90 90 90 90  90 90 90 90  90 90 90 90  ................................
00000140   90 90 90 90  90 90 90 90  90 90 90 90  90 90 90 90  90 90 90 90  90 90 90 90  90 90 90 90  90 90 90 90  ................................
00000160   90 90 90 90  90 90 90 90  90 90 90 90  90 90 90 90  90 90 90 90  90 90 90 90  90 90 90 90  90 90 90 90  ................................
00000180   90 90 90 90  90 90 90 90  90 90 90 90  90 90 90 90  90 90 90 90  90 90 90 90  90 90 90 90  90 90 90 90  ................................
000001A0   90 90 90 90  90 90 90 90  90 90 90 90  90 90 90 90  90 90 90 90  90 90 90 90  90 90 90 90  90 80 80 01  ................................
000001C0   01 00 A5 0F  FF FF 3F 00  00 00 F1 5F  38 3A 00 00  00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  ......?...._8:..................
000001E0   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  00 00 55 AA  ..............................U.
  • 当時のメモからOSバージョンとパーティション構成は分かるけど、この大雑把な情報を元に開始セクタを特定出来るものだろうか。いや、特定できてもファイルシステムが何か分からないので、素直にマウントできるか分からない。真っ当にいくならFreeBSD8.1のブートプロセスを確認しつつ、パーティション情報を得る方向で考えよう。こういう観点でFreeBSDを使ったことないので、勉強にはなるけど、やりたい作業ではない。

uname -a
FreeBSD ####.####.org 8.1-STABLE FreeBSD 8.1-STABLE #0: Sun Jul 25 06:18:23 JST 2010 #######@####.magi.org:/usr/obj/usr/src/sys/#### i386

/ 512MB 512MB ad4s1a 
/tmp 512MB 512MB ad4s1e 
/var 512MB 2048MB ad4s1d 
/usr 70GB 461GB ad4s1f 
swap 512MB? 1024MB ad4s1b 
  • とりあえず、長期戦になるかもしれないので解析環境を準備するところから始めましょう。困った時のVMWare Playerを調達するところから。