Upload
yuki-nakai
View
2.543
Download
2
Embed Size (px)
Citation preview
最近の攻撃
例えばActiveDirectoryでリソース管理をしていれば、ActiveDirectoryに「調査」を仕掛け、攻撃の準備をされているかも知れない。
4
最近は特定の情報や企業を狙った「標的型攻撃」が報道されている
Active Directory ログ分析の課題
解決!
0 5 10 15 20 25 30
ログを保存していない
その他
ログ運用のための社内調整に時間がかかる
ルールや基準が存在しない
分析のための工数が割けない
分析に関する十分なノウハウがない
5
出典:ログを活用したActive Directoryに対する攻撃の検知と対策https://www.jpcert.or.jp/research/AD.html
ログに出るのは知っている。でも、本当に監査できているか?
Elastic Stackを使う!
elasticsearch
logstashkibana可視化・分析 集積・正規化
beats
保存・蓄積集積
Elastic Stackとはデータの検索、分析、正規化をするためのツール群
6
Elastic Stackを使う!
elasticsearch
logstashkibana可視化・分析 集積・正規化
beats
保存・蓄積集積
取り込んだデータから様々なグラフを自由に作成できるKibana
7
Elastic Stackを使う!
elasticsearch
logstashkibana可視化・分析 集積・正規化
beats
保存・蓄積集積
エッジマシンから様々なデータをElasticsearchに取り込んでくれるBeats
8
Elastic Stackを使う!
elasticsearch
logstashkibana可視化・分析 集積・正規化
beats
保存・蓄積集積
ログを好きな形に正規化し、Elasticsearchに取り込んでくれるLogstash
Input
Filter
Output
9
Elastic Stackを使う!
elasticsearch
logstashkibana可視化・分析 集積・正規化
beats
保存・蓄積集積
BeatsやLogstashをはじめとしたデータを保存、蓄積してくれるElasticsearch
You know, for search
Data
10
環境
Inte
rnet
Windows 2012 R2 Base
Active
DirectoryWinlogbeat
Centos 7
JavaKibana
Elasticsearch
Windows 2012 R2 Base
(踏み台)ドメイン参加
TCP 5601
TCP 9200
TCP 3389
12
Elastic Stackの構築は簡単!
Java
インストール
Kibana/Elasticsearch
インストール
Kibana/Elasticsearch
サービス起動
リポジトリ登録
Kibana/Elasticsearch
yml編集
Kibana/Elasticsearch
サービス化
今回はたったの6Stepで準備完了
13
①
②
③
④
⑤
⑥
*ルート権限必要
Winlogbeatの構築
winlogbeat
ダウンロード
Program Filesに移動
ファイル名の変更
ymlの編集
サービス化
サービススタート
winlogbeat-6.0.0-rc1~→Winlogbeat
PowerShellで実行
こちらもたったの6Stepで準備完了
Elasticsearchに取り込み完了
14参考:Elasticsearch Homepage
https://www.elastic.co/guide/en/beats/winlogbeat/6.0/winlogbeat-installation.html
①
②
③
④
⑤
⑥
Kibanaの画面Kibanaにアクセス(http://KibanaのIP:5601)するとDiscover画面はこんな感じになる
ログの詳細
ログの件数
検索バー
ナビゲーション
15
タイムフレームの設定
シナリオ「ログの削除」は痕跡を隠ぺいするための不審な行動として確認したほうがいいので、以下のシナリオを考えてみる。
本当にKibanaで簡単に確認することができるか?
demo_admin
怪しいタスク 全ログ作成 生成
16
タスク作成ログ
削除
追跡してみる削除のログが出てる前の時間を指定
ユーザがdemo_adminと分かっているので指定
22
ログは消されてもElasticsearchに残っている!過去分に遡ってフォレンジック調査が可能!
結果イベントログの削除の特定からユーザの不審な行動を確認することができた。
分析ノウハウ JPCERTを参考にグラフを作成
分析用工数環境構築 12 Step+グラフ作成グラフから得られる情報を追うだけ!
構築用コスト オープンソースなのでタダ!
23
JPCERTの活用
イベントID 説明
4698 スケジュールされたタスクの作成
1102 イベントログの消去
4624 ログインの成功
4625 ログインの失敗
4768 Kerberos認証(TGT要求)
4769 Kerberos認証(ST要求)
4776 NTLM認証
4672 特権の割り当て
今回はeventID:1102を例にとって見たが他にも調査すべきログの例をJPCERTが公開している。他にもActive Directoryに対する攻撃の対策方法なども記載されているので確認しましょう!
24
Elastic Stack構築詳細
$ yum -y install java-1.8.0-openjdk$ java --version
$ yum -y install elasticsearch$ yum –y install kibana
$ systemctl start elasticsearch$ systemctl start kibana
$vi /etc/yum.repos.d/elastic.repo
$ vi /etc/elasticseach/elasticsearch.yml$ vi /etc/kibana/kibana.yml
$ systemctl enable elasticsearch$ systemctl enable kibana
Java
インストール
Kibana/Elasticsearch
インストール
Kibana/Elasticsearch
サービス起動
リポジトリ登録
Kibana/Elasticsearch
ymlの編集
Kibana/Elasticsearch
サービス化
[elastic-6.x-prerelease]name=Elastic repository for 6.x prerelease packagesbaseurl=https://artifacts.elastic.co/packages/6.x-prerelease/yumgpgcheck=1gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearchenabled=1autorefresh=1type=rpm-md
#kibana.ymlserver.host: KibanaのIPelasticsearch.url: “http://ElasticsearchのIP:9200”
#elasticsearch.ymlnetwork.host: ElasticsearchのIP
27
ローカルで動かす場合はymlファイルの変更はしなくても動く
Winlogbeat設定
28
winlogbeat
ダウンロード
Program Filesに移動
ファイル名の変更
ymlの編集
サービス化
サービススタート
#winlogbeat.ymloutput.elasticsearch:
# Array of hosts to connect to.hosts: [“ElasticsearchのIP:9200"]
$ cd ‘C:\Program Files\Winlogbeat’$ .\install-service-winlogbeat.ps1
$ net start winlogbeat
ローカルで動かす場合はymlファイルの変更はしなくても動く
グラフの作成
y軸はカウント
x軸は時間
時間は@timestampフィールドから取得日単位で表示
さらにevent_idというフィールドの情報だけを表示する同じように項目を追加してuserも表示されるようにする
29
y軸のMax,Minの設定
(発表中のグラフ詳細)