Kozupon.com    
 
 mac-robber と mactimeでファイルのタイムスタンプをチェックする!


Preface :

mac-robberは指定領域に有るファイル情報をゲットするツール。mactime、これはmac-robberでゲットしたファイルの情報からタイムスタンプを特定するツールである。
これらのツールは、何に使うかと言うとサーバに不正侵入された事が判ったとき、被害状況を把握するときに役に立つ。クラッカーにファイルを改竄されてもどのファイルが改竄されているかは、全数検査を行わないと判らないからである。したがって、mac-robberでファイルのinfoをゲットして、mactimeで最近の日付けで条件付けして検索するば改竄されたファイルが特定できる。


1.はじめに

mac-robberは、FreeBSDのportsには在処を確認した。security/mac-robberに有る。だから、Debian deb及びRHL RPMには有るかも知れない。しかし、俺はソースからインスコした。
以下の説明は、Linux上での方法と思っていただきたい。


2.mac-robberのインスコ

1)ソースのゲット

mac-robberのソースは、 ここ からゲットしてくる。執筆時点では、mac-robber-1.00だった。

2)展開&コンパイル

# cd /usr/local
# tar zxvf mac-robber-1.00.tar.gz
# chown -R root.root mac-robber-1.00
# cd mac-robber-1.00
# make

これで、このディレクトリに mac-robberの実行ファイルが出来るので、以下のようにパスが通るディレクトリへリンクする。
# ln -s /usr/local/mac-robber-1.00/mac-robber /bin/
これで、インスコ完了である。


3.mac-robberを使う

使い方は、いたって簡単である。

# mac-robber / > /tmp/mac_time.log

これは、/領域に有るバイナリ及びテキストファイル全てのファイルinfoが/tmp/mac_time.logへ出力される。

# more /tmp/mac_time.log
class|host|start_time
body|intra2|1107151571
md5|file|st_dev|st_ino|st_mode|st_ls|st_nlink|st_uid|st_gid|st_rde
v|st_size|st_atime|st_mtime|st_ctime|st_blksize|st_blocks
0|/lost+found|771|11|16832|drwx------|2|0|0|0|16384|1092059306|109
2059306|1092059306|4096|32
0|/boot|771|32705|16877|drwxr-xr-x|3|0|0|0|4096|1092059353|1106725
322|1106725322|4096|8
0|/boot/.keep|771|32706|33188|-rw-r--r--|1|0|0|0|0|1106648572|1106
648572|1106648572|4096|0
0|/boot/grub|771|408992|16877|drwxr-xr-x|2|0|0|0|4096|1106725322|1
106725459|1106725459|4096|8
0|/boot/grub/grub.conf|771|409390|33188|-rw-r--r--|1|0|0|0|152|110
6725459|1106727029|1106727029|4096|8
0|/boot/bzImage|771|33384|33188|-rw-r--r--|1|0|0|0|1197614|1106724
417|1106724417|1106724417|4096|2352
0|/bin|771|65409|16877|drwxr-xr-x|2|0|0|0|4096|1092751604|11071513
52|1107151352|4096|8
0|/bin/[|771|83039|33261|-rwxr-xr-x|1|0|0|0|24972|1092172213|10921
72213|1092172213|4096|56
0|/bin/dd|771|82496|33261|-rwxr-xr-x|1|0|0|0|30204|1092172213|1092
172213|1092172213|4096|64
0|/bin/cp|771|82495|33261|-rwxr-xr-x|1|0|0|0|55532|1092752119|1092
172213|1092172213|4096|120
‐ 省略 ‐

こんな情報が出力される。


4.mactimeのインスコ

1)ソースのゲット

mactimeのソースは、 ここ からゲットしてくる。sleuthkitというtoolの中に入っている。執筆時点では、sleuthkit-1.73だった。

2)展開&コンパイル

# cd /usr/local
# tar zxvf sleuthkit-1.73.tar.gz
# chown -R root.root sleuthkit-1.73
# ln -s /usr/local/sleuthkit-1.73 sleuthkit
# cd sleuthkit
# make
実際のmactimeの実行ファイルはこのディレクトリのbinディレクトリに作成されている。
インスコ完了。


5.mactimeを使う

# cd /tmp
# /usr/local/sleuthkit/bin/mactime -b /tmp/mac_time.log 01/30/2005 > timeline.01-30-2005-1
これは、/tmp/mac_time.logファイルの中のファイルで2005年1月30日以降のタイムスタンプのファイルinfoを/tmp/timeline.01-30-2005-1へ出力している。

# more timeline.01-30-2005-1
Sun Jan 30 2005 03:10:01 0 mac -rw-r--r-- 0 0
474289 /usr/local/apache/logs/access_log
Sun Jan 30 2005 03:10:02 14377 ..c -rw-r--r-- 0 0
474386 /usr/local/apache/logs/access_log.1.gz
185 .a. -rw-r--r-- 0 0
474302 /usr/local/apache/logs/error_log
800 ..c -rw-r--r-- 0 0
474556 /usr/local/apache/logs/error_log.1.gz
4096 m.c drwxr-xr-x 0 0
475591 /usr/local/apache/logs
Sun Jan 30 2005 03:10:03 507 m.. -rw-r----- 0 4
1177796 /var/log/syslog.1.bz2
4096 m.c drwx------ 207 207
573411 /var/spool/postfix/incoming/0
465 m.. -rw-r----- 0 4
1177858 /var/log/mail.info.1.bz2
4096 m.c drwx------ 207 207
573416 /var/spool/postfix/active/C
4096 m.c drwx------ 207 207
573412 /var/spool/postfix/active/0
465 m.. -rw-r----- 0 4
1177830 /var/log/mail.log.1.bz2
Sun Jan 30 2005 03:10:05 5 m.c -rw-r--r-- 0 0

‐ 省略 ‐

883802 /usr/local/sleuthkit-1.73/share/file
15945 mac -rw-r--r-- 0 0
884482 /usr/local/sleuthkit-1.73/man/man1/file.1
4096 m.c drwxrwxrwx 0 0
883418 /usr/local/sleuthkit-1.73/man/man1
356505 mac -rw-r--r-- 0 0
884478 /usr/local/sleuthkit-1.73/share/file/magic
30231 mac -rw-r--r-- 0 0
884479 /usr/local/sleuthkit-1.73/share/file/magic.mime
41026 mac -rwxr-xr-x 0 0
884475 /usr/local/sleuthkit-1.73/bin/file
Mon Jan 31 2005 15:05:27 0 m.c prw--w--w- 207 208
948449 /var/spool/postfix/public/pickup
Mon Jan 31 2005 15:05:58 40 .a. drwxrwxrwt 0 0
225 /dev/shm
Mon Jan 31 2005 15:06:10 663552 .a. -rw-r--r-- 0 0
900053 /tmp/mac_time.log
4096 m.c drwxrwxrwt 0 0
899361 /tmp
0 ma. crw-rw---- 0 5
98690 /dev/ptyp0
0 ma. crw--w---- 1000 5
99045 /dev/ttyp0
Mon Jan 31 2005 15:06:11 663552 m.c -rw-r--r-- 0 0
900053 /tmp/mac_time.log

timeline.01-30-2005-1ファイルは上記のようになっている。


6.mactimeのオプションパラメータ

-b: Specifies the body file location, else STDIN is used
ターゲットファイルのパスを指定する。
-d: Output timeline and index file in comma delimited format
コンマの区切られた形式の出力日付けとインデックスファイルを指定する。
-h: Display a header with session information
セッション情報があるヘッダーを表示する。
-i [day | hour] file: Specifies the index file with a summary of results
dayもしくはhour何れかの指定で結果に関する内容でインデックスファイルを指定する。
-g: Specifies the group file location, else GIDs are used
グループファイルの位置、使用される他のGIDを指定する。
-p: Specifies the password file location, else UIDs are used
パスワードファイルの位置、使用されるほかのUIDを指定する。
-V: Prints the version to STDOUT
バージョンを表示する。
-y: Dates have year first (yyyy/mm/dd) instead of (mm/dd/yyyy)
(mm/dd/yyyy)の代わりに(yyyy/mm/dd)で日付け指定する。
-z: Specify the timezone the data came from (in the localsystem format)
データが来たらlocalsystem形式のタイムゾーンで指定する。

以上


 
 
 



Copyright 2005 Kozupon.com.