











IDコラム
IDコラム
【エバンジェリスト・ボイス】SysmonSearchによるログ分析 2018/10/01 (月)

サイバー・セキュリティ・ソリューション(CSS)部
エバンジェリスト フェロー 関原 弘樹
こんにちは!
CSS部エバンジェリスト フェローの関原です。
猛暑、地震、水害と今夏の自然災害は強烈なものがありました。この秋は大きな災害がないことを祈ります。
さて、今回はJPCERT/CC様からタイトル名のツールが公開されましたので導入部分のみですが、簡単に検証してみます。
以下紹介ページからの引用です。
”JPCERT/CCではマルウェアに感染した端末を起点として、他の端末への感染拡大やサーバーへの侵入など内部のネットワーク内に侵害が拡大する事例を多く確認しています。
侵害を受けた端末の調査には、動作したアプリケーションや通信などの詳細なログを日頃から取得しておくことが望まれます。
このような用途に使用できるツールとしてマイクロソフト社が提供しているSysmonというツールがあります。
Sysmonは、端末上で動作したアプリケーションの情報やレジストリエントリの作成、通信などWindows OSの様々な動作をイベントログに記録するツールです。
このSysmonのログを調査する最も一般的な方法は、イベントログをテキストなどの形式に変換し検索する方法ですが、この方法では多数の端末を同時に調査することは困難です。
そこでJPCERT/CCではSysmonのログを一元管理し、ログ分析を迅速かつより正確に行うことのできるツール「SysmonSearch」を開発し、公開しました。今回は、この「SysmonSearch」について紹介します。”
外部サイト:※Sysmonログを可視化して端末の不審な挙動を調査~SysmonSearch~(2018-09-06)
■目的
無償提供されているSysmonとSysmonSearchを利用して、どの程度のインシデントレスポンスやフォレンジックに関する分析が可能なのか、まずはさわってみようというのが趣旨です。
■Sysmonとは?
こちらの記事に詳しく紹介されています。
外部サイト:※新しい仲間「Sysmon」はトラブルシューティングの必携ツールになりそうな予感
SysmonはWindowsのシステムサービスおよびドライバーとしてインストールされ、システムのスタートアップからシャットダウンまでの間、プロセスの作成、ネットワーク接続、ファイルの作成日変更のアクティビティを監視して、イベントログに記録します。
Windowsの起動直後からシャットダウンシーケンスの最終段階までのアクティビティが記録されるため、動作の不安定なシステムの原因調査、スタートアップやシャットダウンの問題調査、特定ユーザーのログオン/ログオフ問題の調査、マルウェアの挙動調査などに役立ちそうです。
本来の位置づけは動作の不安定なシステムのトラブルシューティングツールであるSysmonですが、ポイントとしては以下の2点だと思います。
・サービスとして動作するので起動から終了までほぼすべてのプロセス記録、ファイル操作、ネットワーク通信が記録可能
・MS謹製の無償ツール
■利用するコンポーネントと連携
図で見ると速いですね。
外部サイト:※出典
文字で補足すると
「Sysmon」を監視対象クライアント(以下クライアント)に導入し、クライアント上のEventlogにプロセス、ファイル、ネットワークのアクティビティを記録する。
↓
「Winlogbeat」というアプリケーションもクライアントに導入し、EventlogをSysmonSearchサーバ(以下サーバ)に送信する。
↓
サーバ上では「Elasticsearch」が稼働しており、送信されたEventlogをサーバ上のDBに蓄積しておく。
↓
サーバ上にはWebコンソールとして「Kiabna」も稼働しており「Elasticsearch」のDBと連携し、情報の検索と表示が可能。
さらにサーバ上ので稼働するもう一つのアプリケーション「StixIoC」により情報抽出が可能。
↓
システムの利用者は管理/分析端末よりWebコンソールにアクセスし、クライアントのアクティビティを検索し、確認することが可能。
といった形になります。
■インストール
手持ちリソースの都合上、今回はAWS上に環境を構築します。
★SysmonSearchサーバ
⇒AMI
ubuntu/images/hvm-ssd/ubuntu-bionic-18.04-amd64-server-20180912 (ami-07ad4b1c3af1ea214)
⇒インスタンスタイプ
t2.medium Disk30GB
⇒セキュリティグループ Allow
管理/分析端⇒22/TCP,5601/TCP 監視対象クライアント⇒9200/TCP
★監視対象クライアント
⇒AMI
Windows_Server-2012-R2_RTM-English-64Bit-Base-2018.09.15 (ami-0f94c740726599c3a)
⇒インスタンスタイプ
t2.medium デフォルト
★管理/分析端末(社内Labから)
⇒ブラウザ Firefox Version 62.0.2
-- 作業
時間が無いので今回は手っ取り早いDockerを利用することとし、以下の記載通りにインストールします。
外部サイト:Jump-start-with-Docker
①まずはSysmonSearchサーバへのインストールです。
Docker上で「Elasticsearch」「Kibana」「StixIoC」3つのコンテナが動作します。
Proxyサーバは使用しませんのでオプションであるProxyサーバの設定以外の5項目を実施します。
#今回は手間を省くためすべて"sudo su -"を実行した後に作業しています。
#本環境では6.の前に"apt-get update"した後に"apt install docker-compose"する必要がありました。
⇒1.Clone SysmonSearch git repository
⇒2.Move to docker directory
⇒4.Set Virtual Memory on host device:
⇒5.Run the setup.sh
⇒6.Build an image
②DockerのBuild以降です。
⇒How to Start Container
⇒Set scheduled tasks
⇒Loading the index template in Elasticsearch
×How to Stop Container
#停止の仕方なので今回は実行しません。
⇒Accessing the Kibana
http://xx.xx.xxx.xxx:5601/
うまくいきましたね。
③Client Setup以下は挙動を記録したいPCに対してインストールします。
⇒Install Sysmon
Sysmonを以下よりダウンロードしインストールします。
ここではOSに合せて64bit版をインストールします。
外部サイト:※Sysmon
EULAに同意します
サービスとして動きます。
⇒Install Winlogbeat
Winlogbeatを以下よりダウンロードしインストールします。
外部サイト:※Winlogbea
解凍したフォルダをリネームして画像のフォルダに移動、Powershellでインストールスクリプトをたたきます。
サービスコンソールからサービスを起動
Winlogbeat configuration
サービスが起動できることが確認できたら、本項に記載の通りエディタでConfigを書き換えます。
★Specify Elasticsearch IP address:
#SysmonSearchサーバのプライベートアドレスを記載([]は外す)
★Sysmon's event logs to monitor:
#追記
★Disable automatic template loading:
#項目が見当たらないのでそのまま挿入
★Change the index name:
#項目が見当たらないのでそのまま挿入
Winlogbeatサービスを再起動してインストールは完了です。
--
■アウトプット
プロセスもそれに紐付いたネットワークアクティビティも取れています。
いろいろ操作していたところレスポンスが鈍いのでSSHからのtopで状態を確認です。
インスタンスが小さすぎるのか、そのほかの問題なのか少し重いですね。
--
追記:t2.mediumでは遅すぎるのでm5.xlargeに付け替え、Diskも60GBにしました。それでも画像生成をする操作は絞り込まないともたつきます。
また、執筆時点ではEKとX-Pack間の認証の関係でSysmonSearchサーバをリブートしてしまうとKibanaのログインエラーが出てしまう問題が解決していません。
このあたりだと思いますが…(確認する時間がありません^^;)
外部サイト:※Kibana 6 Login is currently disabled
追記:WannaCryを踏んでみました。派生したプロセスがボリュームシャドウコピーを削除する様子を捉えています。
如何でしたでしょうか。
ではまた、次回のエントリーでお会いしましょう。
Hiroki Sekihara CRISC, CISSP, CEH, PMP, CCIE #14607
-
有益な情報が
メルマガ登録
ほしい