LogonTracerを試してみよう

いろいろ見えにくいものを可視化して、人の目に理解しやすくすることはとても大事です。こんばんわ、Web担当 神凪です。
たとえば、イベントログに記録されたエラーログ。これを分析することでシステムの異常を検知することができます。
同じくイベントログから不正使用されたアカウントや侵入を検知することも可能です。今回は後者、不正使用や侵入を検知し、可視化してみようとおもいます。

使うのは最近リリースされたLogonTracerというツール。NCEは割と新しいもの好き、使えるかどうかはともかく。
LogonTracerに関してはJPCertさんの記事を参照してください。

このツールはWindowsのセキュリティログを読み込み、ログオン失敗等のイベントを可視化してくれます。
とはいうものの、今回は時間が足りずツールの準備・インストールだけがメインになっています。ごめんなさい。
実際に使ってみた感じはまた後日ご案内させて頂きますね。

例に倣ってCloudGarageさんのDAPにて構築します。いつもおせわになっています。

目標

  • イベントログから一部のログを可視化しよう

環境

  • CentOS 7.4

準備

  • CentOS初期設定が完了していること

手順

LogonTracerのインストール準備

JDKのインストール

後でインストールするNeo4jはJDKが必須です。事前にインストールしておきましょう・・・
と言いたいところですが
今回はNeo4jをyumでインストールするため、依存性関係をyumが解決してくれます。なので何もしなくてもOKです。

Neo4j のインストール

Neo4j communityの最新版をダウンロードができます。2017年12月7日時点の最新版は3.3.1でした。
インストールはとても簡単。下記のように圧縮ファイルを解凍し、格納するディレクトリを使いやすいように変更する程度です。

…と書いてはいるものの、yumリポジトリが準備されていたりします。
ダウンロード版ではなく、yumでさくっとインストール。


# gpgキーのインポート

cd /tmp
wget <http://debian.neo4j.org/neotechnology.gpg.key>
rpm --import neotechnology.gpg.key

# repoファイルの準備

cat <<EOF> /etc/yum.repos.d/neo4j.repo
[neo4j]
name=Neo4j Yum Repo
baseurl=<http://yum.neo4j.org/stable>
enabled=1
gpgcheck=1
EOF

# neo4jのインストール

yum -y install neo4j

Python3のインストール

LogonTracerではPython3が必要になります。
あらかじめインストールしておきます。
Python3.6が最新版ですが、後述するモジュールインストールでエラーを出します。
あえて3.5を選択。

yum install -y <https://centos7.iuscommunity.org/ius-release.rpm>
yum install -y python35u python35u-libs python35u-devel python35u-pip

LogonTracerのインストール

LogonTracerはgithubで展開されています。
今回はgitで取得。

cd /usr
git clone <https://github.com/JPCERTCC/LogonTracer.git>

Neo4j JavaScript driverのインストール

Neo4jのJavaScript driverをLogonTracerのstaticフォルダにインストールします。
一応公式の手順。

yum -y install npm
cd /usr/LogonTracer/static
cd /usr/LogonTracer/static/node_modules/neo4j-driver
npm install neo4j-driver

エラーですね・・・


# npm install neo4j-driver

/usr
mqw neo4j-driver@1.5.1
mqw babel-runtime@6.26.0
tqq core-js@2.5.3
mqq regenerator-runtime@0.11.1

npm WARN enoent ENOENT: no such file or directory, open '/usr/package.json'
npm WARN usr No description
npm WARN usr No repository field.
npm WARN usr No README data
npm WARN usr No license field.

仕方ないのでpipでインストール。

pip3.5 install neo4j-driver

Pythonモジュールのインストール

LogonTracerが使用するPythonモジュールをインストールします。

cd /usr/LogonTracer
pip3.5 install -r requirements.txt

Neo4jの設定

neo4jの設定ファイルを書き換えます。
以下、書き換えた結果だけ記載。

[/etc/neo4j/neo4j.conf]

dbms.connector.http.listen_address=<private IP>:7474
dbms.connector.bolt.listen_address=<private IP>:7687

グローバルIPではなく、プライベートIPであることに注意です。

Neo4jの起動

neo4jを起動します。

neo4j start

ブラウザでhttp://<ServerIP>:7474/にアクセスします。アクセスできればOKです。
初期パスワードはneo4j。

初回ログオン時、初期パスワードの変更を求められます。任意のパスワードに変更してください。

次のようなWebインターフェースが表示されれば成功です。

LogonTracerの起動

それではLogonTracerの起動です。

cd /usr/LogonTracer
python3.5 logontracer.py -r -o 8080 -u neo4j -p [neo4j Password] -s [PrivateIP]

[* Running on http://0.0.0.0:8080/ (Press CTRL+C to quit)]と表示されたら、コンソールはそのままにしてブラウザでアクセスしてみましょう。ポートは8080ですよっ!

無事ページが表示されればインストールの完了です。

つかってみよう

本来であれば・・・

  1. LogonTracerのページにアクセスします。
  2. 左メニューの下部、”Upload EVTX”をクリックし、セキュリティログをアップロードします。
  3. アップロードが完了すると、残してあるコンソール側で動きがあります。しばらく待ちましょう。

となるはずなのです。
ですがどうも完全に動いていないようでアップロードすらできない状態となっています。なぜでしょう?

もうすこしごにょごにょしてからまたお届けしますね

Special Thanks!

冒頭にも記述しましたが、実験場はCloudGarageさんの[CloudGarage Dev Assist Program]を利用させて頂きました。いつもいつもありがとうございます。
またNCEで公開実験場を準備しています。今回のLogonTracerもその一つ。
試せるシステムに限りはありますが、ぜひお試しくださいませ

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください