問題文は与えられたファイルから従業員が不正に取得したと思われるファイルの特定、ファイルサイズ、オンラインストレージへのアップロード時間と変更時間を下記の形式で答えなさいというもの(記憶が若干曖昧)
Upload date&time(UTC+9:00)_Modified date&time(UTC+9:00)_Filename.extention_Filesize(logicalfilesize)
与えられたファイルは次のファイル。
8fb4cb1c2b32ed533f4fbdb6582501b5
まずこのファイルのバイナリを確認すると、7z\xbc\xaf\x27\x1cとなっているので7zファイルだとわかる。
forensics100# hexdump -C 8fb4cb1c2b32ed533f4fbdb6582501b5 | more
00000000 37 7a bc af 27 1c 00 03 43 f7 b4 28 09 8d 58 03 |7z..'...C..(..X.|
00000010 00 00 00 00 5e 00 00 00 00 00 00 00 49 74 ca 12 |....^.......It..|
00000020 00 19 b0 0d cd 06 0e 84 a1 eb fe fa 17 92 f1 cb |................|
00000030 92 da c0 4b c7 a1 01 39 0e 67 78 13 b7 0c 93 a7 |...K...9.gx.....|
00000040 5a c9 ec 2b 85 e1 96 1f 7b e3 ce bf 81 e1 7e 0c |Z..+....{.....~.|
00000050 34 d1 fa 45 a6 c1 a1 32 69 85 7b 39 8f bb 15 33 |4..E...2i.{9...3|
00000060 2d 39 84 3f 32 ca 4c 4d 15 1c a1 ea a2 76 fa 5c |-9.?2.LM.....v.\|
00000070 09 0e 9f fa 00 33 c8 60 1c 97 c2 0a 97 15 28 2d |.....3.`......(-|
00000080 cc 34 8d 4d 73 3a d2 44 c5 45 86 38 ee 80 e5 09 |.4.Ms:.D.E.8....|
00000090 21 8f 33 1e b9 1e 8f df 43 eb 09 c7 5d c6 bb bb |!.3.....C...]...|
ファイルを 7zip で展開すると evidence.001 というファイルができる。
file コマンドで evidence.001 の内容を確認してみる。
forensics100# file evidence.001
evidence.001: x86 boot sector; partition 1:
ID=0x7, starthead 2, startsector 128, 198656 sectors,
code offset 0xc0, OEM-ID " м",
Bytes/sector 190,
sectors/cluster 124, reserved sectors 191, FATs 6, root entries 185,
sectors 64514 (volumes <=32 MB) , Media descriptor 0xf3,
sectors/FAT 20644, heads 6, hidden sectors 309755,
sectors 2147991229 (volumes > 32 MB) ,
physical drive 0x7e, dos < 4.0 BootSector (0x0)
ディスクイメージのようなので mmls コマンドでパーティションレイアウト情報を確認する。
forensics100# mmls evidence.001
DOS Partition Table
Offset Sector: 0
Units are in 512-byte sectors
Slot Start End Length Description
00: Meta 0000000000 0000000000 0000000001 Primary Table (#0)
01: ----- 0000000000 0000000127 0000000128 Unallocated
02: 00:00 0000000128 0000198783 0000198656 NTFS (0x07)
03: ----- 0000198784 0000204799 0000006016 Unallocated
パーティションの2番目が調査すべきファイルのようなので、パーティションマウントして中身を確認する。
forensics100# mount -o loop,offset=65536 -t ntfs evidence.001 evidence
マウントしたパーティションが何なのかがわからないので、まずはファイルの一覧を眺めてみる。
forensics100# ls -lhR evidence/ | more
evidence/:
total 32K
drwxrwxrwx 1 root root 0 2013-02-16 12:44 17FCA978-3FF4-4FAD-A6CB-C346EAA816A2
drwxrwxrwx 1 root root 4.0K 2013-02-16 12:44 3BF5888C-B2FE-4E31-9FC2-480DEA405331
drwxrwxrwx 1 root root 4.0K 2013-02-16 12:44 3E068DCB-B90B-43DC-B1A9-D083B5BBABE7
drwxrwxrwx 1 root root 4.0K 2013-02-16 12:44 53C38695-70F0-42A0-9C59-34606A7802A8
drwxrwxrwx 1 root root 4.0K 2013-02-16 12:48 5BB3AF5D-01CC-45D9-947D-977DB30DD439
drwxrwxrwx 1 root root 0 2013-02-16 12:44 6BCC19E4-31A9-4381-AABA-88069F3A763F
drwxrwxrwx 1 root root 4.0K 2013-02-16 12:44 6F667589-637A-45E3-92AC-E421C00FF657
drwxrwxrwx 1 root root 4.0K 2013-02-16 12:48 7C0D5811-A2CC-4E45-A0D1-2600B299C54D
drwxrwxrwx 1 root root 4.0K 2013-02-16 12:48 7C10A720-1D64-4B77-AB4E-136AA429EBFF
drwxrwxrwx 1 root root 4.0K 2013-02-16 12:44 9A0ABEAF-D4E5-4BA6-8E8D-6FEB1D685B74
drwxrwxrwx 1 root root 0 2013-02-16 12:46 $RECYCLE.BIN
-- snip --
evidence/3E068DCB-B90B-43DC-B1A9-D083B5BBABE7/CNN-iPhone.app/SC_Info:
total 32K
-rwxrwxrwx 1 root root 1.1K 2012-12-27 13:27 CNN-iPhone.sinf
-rwxrwxrwx 1 root root 26K 2012-11-15 18:43 CNN-iPhone.supp
evidence/3E068DCB-B90B-43DC-B1A9-D083B5BBABE7/CNN-iPhone.app/SVProgressHUD.bundle:
total 9.0K
-rwxrwxrwx 1 root root 739 2012-11-06 12:58 error@2x.png
-rwxrwxrwx 1 root root 371 2012-11-06 12:58 error.png
-- snip --
evidence/5BB3AF5D-01CC-45D9-947D-977DB30DD439/Library/Caches:
total 61K
-rwxrwxrwx 1 root root 520 2012-12-27 18:32 analytics.log
-rwxrwxrwx 1 root root 20K 2012-12-27 17:58 asset_hashes.db
-rwxrwxrwx 1 root root 40K 2012-12-27 17:59 cache.db
drwxrwxrwx 1 root root 0 2012-12-27 18:50 CachedFiles
drwxrwxrwx 1 root root 0 2013-02-16 12:48 com.getdropbox.Dropbox
drwxrwxrwx 1 root root 0 2013-02-16 12:48 Dropbox
drwxrwxrwx 1 root root 0 2012-12-27 18:50 LogPool
drwxrwxrwx 1 root root 0 2013-02-16 12:48 Snapshots
drwxrwxrwx 1 root root 0 2012-12-27 18:50 Three20
ファイル名に iPhone などが出てくるため iPhone のファイルと仮定。また Dropbox というファイルもあったため、問題文にあるオンラインストレージは Dropbox とあたりをつけ、該当ファイルがある 5BB3AF5D-01CC-45D9-947D-977DB30DD439 を中心に作業を進める。
ファイルの一覧を眺めていると、下記のフォルダが見つかる。
./Documents:
total 64K
-rwxrwxrwx 1 root root 24K 2012-12-27 17:58 AlbumAssetsDB.sqlite
-rwxrwxrwx 1 root root 20K 2012-12-27 17:59 Dropbox.sqlite
drwxrwxrwx 1 root root 0 2012-12-27 18:48 Uploads
-rwxrwxrwx 1 root root 20K 2012-12-27 17:57 Uploads.sqlite
Dropbox.sqlite が Dropbox の何かのデータベースっぽいので SQLite Database Browser で中身を確認する。
6行目で S-companysecurity.pdf とありこれが対象ファイルと判断。この情報でサイズや modifi 時間があるがアップロード時間がわからない。運営側から「base64」とのヒントがあり、手当たり次第 .sqlite や cache.db を確認していくと ./Library/Caches/cache.db を SQLite Database Browser で表示すると下記のような情報があるのがわかった。
この部分を切り出して base64 デコードしてから hexdump で確認する。
forensics100/base64# tr -d '\r\n' < base64.txt > base64
forensics100/base64# base64 -d base64 > base64.dec
forensics100/base64# hexdump -C base64.dec
00000000 62 70 6c 69 73 74 30 30 d4 01 02 03 04 05 08 b8 |bplist00........|
00000010 b9 54 24 74 6f 70 58 24 6f 62 6a 65 63 74 73 58 |.T$topX$objectsX|
00000020 24 76 65 72 73 69 6f 6e 59 24 61 72 63 68 69 76 |$versionY$archiv|
00000030 65 72 d1 06 07 54 72 6f 6f 74 80 01 af 10 21 09 |er...Troot....!.|
マジックナンバーに bplist00 とある。これは mac などで使われる xml ファイルらしい。そこで cache.db の中身をすべてデコードして、plist editer で中身を確認する。
S-Companysecurity.pdf という名前の前後に NS.time と 2.1MB という文字がある。NS.time については後ろのほうにもあるが、他のファイルを眺める限り前にある NS.time がファイルに関する該当時間のようであり、かつ NS.time の 378291354 は Dropbox.sqlite の MODIFIEDDATE とも一致する。
この時間を指定された時間形式に変換する。
forensics100/base64# date -d "1970-1-1 GMT +378291354 second"
Sun Dec 27 17:55:54 JST 1981
forensics100/base64# date -d "1970-1-1 GMT +357554798 second"
Fri May 1 17:46:38 JST 1981
Unix だと 1970-1-1 が基準時間だが mac などは 2001-1-1 が基準時間になる。そのため上記時間に31年を足した下記が答え。
2012-12-27 17:55:54_2012-05-01 17:46:38_S-Companysecurity.pdf_2.1MB