teppay’s log

セキュリティ、CTF、機械学習などに興味があります。情報系学生です。興味のあることを思い立った時に書きます。曖昧なことの整理にも使います。月1が目標です。

Autopsy ver.4をソースからビルド、インストールしてみた on Mac

注意

今のところ、若干不具合というか、うまく動いていない感があります。
直せたらまた追記します。

目標

AutopsyのVer.4をMacBookPro(macOS Sierra)にインストールする。

動機

teppay.hatenablog.com

Autopsyって?

実際にやってみる前に、Autopsyについて簡単に。
公式サイト

www.sleuthkit.org

によると

Autopsy® is a digital forensics platform and graphical interface to The Sleuth Kit® and other digital forensics tools. It is used by law enforcement, military, and corporate examiners to investigate what happened on a computer. You can even use it to recover photos from your camera’s memory card.

つまり、

  • デジタルフォレンジクスの様々なツールをGUIで使えるやつ
  • 法的機関とか軍とかにも使われてるよ
  • でも、メモリーカードから消しちゃった写真を救出するのにも使えるよ

って感じですかね。
これを使う講義がセキュキャンであって、ツールに慣れておきたいので、インストールしたいわけです。
ちなみに、先代のWindows機を引っ張り出してきてVer4使ってみましたが、やはり全然できることもGUIも違うので、さっそく入れていきたいと思います。

0. まずmacOSにver4が入ることを再確認w

f:id:teppay:20170702161506p:plain 公式サイトのAutopsy>Downloadのページです。
真ん中あたりに、

You can run Autopsy 4 on Linux and OS X, but it must be built from source code.

とあります。
じゃあインストーラ用意してくれ
それともmacにいれるのがそもそも間違い?
強いWindows機ほしいです。Macももちろん好きよ。

1. ソースコードをダウンロードする。

上のダウンロードページにリンクがあるGitHubからダウンロードして、解凍するだけ。 とくになにも考えず、最新のものにしました。

2. とりあえず中身を見てみる。

解凍して出てきたautopsy-autopsy-4.4.0というファイルの中を覗いてみると、その直下に、BUILDING.txtという英語習いたての中学生であれば「建物?」となってしまいそうなファイルがありました。

This file outlines what it takes to build Autopsy from source.

だそうです。これにそって勧めていきたいと思います。

3. Javaを入手する

1.8.0_66かそれ以降のバージョンのJDKをインストールして、JDK_HOMEにパスを通します。
自分の環境にはJDKがすでに入っていたので、バージョンを確認する。

www.java.com

$ java -version
java version "1.8.0_111"
Java(TM) SE Runtime Environment (build 1.8.0_111-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.111-b14, mixed mode)

1.8.0_111らしいので大丈夫でしょう。だだ、JDLK_HOMEは設定されていなかったので、PATHを通します。

export JDK_HOME=$JDK_HOME:/Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home

これを~/.bash_profileに追記して、

source ~/.bash_profile
echo $JDK_HOME

で設定したパスが表示されればOK

4. The Sleuth Kitをインストールしてセットアップ

言い忘れてましたが、最初のほうの英語の説明にもありますが、AutopsyはThe Sleuth Kit(TSK)(など)をGUIで使うツールなのでTSKも必要になります。

4.1 インストールする

これまた公式サイトからVer4のものを落としてきます。
落としてきたファイルを解凍して出てきたフォルダを適当な場所に移して、その直下で以下のお決まり(らしい)コマンドを順番に実行することでインストールが完了します。

$ ./configure
$ make
$ make install

makeの実行がまあまあ時間がかかります。(ました。 デフォルトでは、実行ファイルが/usr/local/binにできますので、それっぽいファイルができていれば成功ですね。

$ ls /usr/local/bin | grep tsk
tsk_comparedir
tsk_gettimes
tsk_loaddb
tsk_recover

4.2 セットアップする

これまたパスを設定する必要があるみたいです。 自分は/usr/local/srcにソースをおいたので、~/.bash_profileに以下を追記します。

$ export TSK_HOME=$TSK_HOME:/usr/local/src/sleuthkit-4.4.1

5. Autopsyのビルド・インストー

5.0 Antのインストー

Autopsyの前に、Antというビルドツールをインストールする必要があります。
Homebrewを入れているひとなら、

$ brew install ant

でOKです。Homebrew入れてない人は、これを機に入れてください。

5.1 Autopsyのビルド

やっとここまで来ました。さっきと同じようにまずはソースを適当な場所に移動して、そのrootディレクトリにcdコマンドで移動して、

$ ant

これでビルドできます。これまたまあまあ時間がかかります。ビルドって大変なんですね。。

ここで問題発生
最後にエラーが出力されました。

BUILD FAILED
/usr/local/src/autopsy-autopsy-4.4.0/netbeans-plat/8.2/harness/suite.xml:187: The following error occurred while executing this line:
/usr/local/src/autopsy-autopsy-4.4.0/Core/build.xml:56: Warning: Could not find file /usr/local/src/sleuthkit-4.4.1/bindings/java/dist/Tsk_DataModel_PostgreSQL.jar to copy.

/usr/local/src/sleuthkit-4.4.1/bindings/java/dist/Tsk_DataModel_PostgreSQL.jarってファイルをコピーしたいのにないと言われています。
試しにTsk_DataModel_PostgreSQL.jarでググってみると、

sleuthkit.org • View topic - Missing Tsk_DataModel_PostgreSQL.jar

このサイトで、

Re: Missing Tsk_DataModel_PostgreSQL.jar Postby nagesh » Tue Mar 22, 2016 8:48 pm

On building the Sleuthkit-develop project, it will create “Tsk_DataModel.jar” under folder sleuthkit-develop\bindings\java\dist\

You need to rename the generated Tsk_DataModel.jar as “Tsk_DataModel_PostgreSQL.jar”

Autopsy should now be able to build successfully.

似た名前のファイル(Tsk_DataModel.jar)があるからリネームしろって言っています

$ cd /usr/local/src/sleuthkit-4.4.1/bindings/java/dist
$ mv Tsk_DataModel.jar Tsk_DataModel_PostgreSQL.jar

もう一度ビルドし直して見ます。

$ ant

こんどは最後に、
BUILD SUCCESSFUL
がでました!!

5.2 Autopsyと起動

あとは、

$ ant run

コンパイル・実行できます。これもなかなかの時間かかりました。
f:id:teppay:20170702200146p:plain じゃん!!
できました〜〜〜 まだちゃんと動くか試していませんが、大丈夫では無いでしょうか笑

いちいち

$ ant run

するのはめんどくさい気がするんですが、antの仕組みがわからないので、これを簡単にできるのかわかりません。がこれから調べてみようと思います。

まとめ

  • ソースからのビルドに関してはわからないことが多い。
  • ひとまず「できなかった」にならなくてよかったです。