https://blogs.jpcert.or.jp/ja/2020/07/log_analysis_training.html
で「インシデント対応ハンズオン」でやってきたデータが公開されたのでSplunkでやってみる。
その1
その2、その3
その4の続き
#準備
https://jpcertcc.github.io/log-analysis-training/
から
https://github.com/JPCERTCC/log-analysis-training
に飛んで、
git clone https://github.com/JPCERTCC/log-analysis-training.git
レポジトリがダウンロードできるので
zip -r Handson5 ./Handson5
で固めて、そのままSplunkにファイルアップロード。設定は全部デフォルト。
その1はtar.gz
で固めておいて、今回はzip
。その1も後で直します。
#ホスト一覧
|ホスト名|IPアドレス|ユーザ名|OS
|:-:|:-:|:-:|:-:|:-:|
|WIN-WFBHIBE5GXZ|192.168.16.1|administrator|Windows Server 2008
|Win7_64JP_01|192.168.16.101|chiyoda.tokyo|Windows 7
|Win7_64JP_02|192.168.16.102|yokohama.kanagawa|Windows 7
|Win7_64JP_03|192.168.16.103|urayasu.chiba|Windows 7
|Win7_64JP_04|192.168.16.104|urawa.saitama|Windows 7
|Win7_64JP_05|192.168.16.105|hakata.fukuoka|Windows 7
|Win7_64JP_06|192.168.16.106|sapporo.hokkaido|Windows 7
|Win7_64JP_07|192.168.16.107|nagoya.aichi|Windows 7
|Win7_64JP_08|192.168.16.108|sakai.osaka|Windows 7
|Win10_64JP_09|192.168.16.109|maebashi.gunma|Windows 10
|Win10_64JP_10|192.168.16.110|utsunomiya.tochigi|Windows 10
|Win10_64JP_11|192.168.16.111|mito.ibaraki|Windows 10
|Win10_64JP_12|192.168.16.112|naha.okinawa|Windows 10
#その5
source="Handson5.zip:*"
| rex "(?ms)(?<level>[^,]+),(?<date>[^,]+),(?<source>[^,]+),(?<eventID>\d+),(?<category>.*)"
| reverse
またCSVに戻ってしまった。
##「管理者権限」が割り当てられたユーザをすべて特定してください。
source="Handson5.zip:*" "Microsoft-Windows-Security-Auditing"
| rex "(?ms)(?<level>[^,]+),(?<date>[^,]+),(?<source>[^,]+),(?<eventID>\d+),(?<category>.*)"
| reverse
| rex field=category "(?<message>.*)"
前回までと同様にmessage
フィールドを切り出してメッセージをみてみると
特殊なログオン,"新しいログオンに特権が割り当てられました。
とある。
eventID
も4672なのでバッチリ
source="Handson5.zip:*" "Microsoft-Windows-Security-Auditing" NOT SYSTEM
| rex "(?ms)(?<level>[^,]+),(?<date>[^,]+),(?<source>[^,]+),(?<eventID>\d+),(?<category>.*)"
| reverse
| rex field=category "(?<message>.*)"
| search message="特殊なログオン,\"新しいログオンに特権が割り当てられました。"
| rex field=category "(?ms)セキュリティ\s*ID:\s*(?<securyID>\S+)"
| rex field=category "(?ms)アカウント名:\s*(?<account>\S+)"
ついでに、アカウントも抽出するようにして、左側を確認すると4つのアカウントが確認できる。
##sysg.adminユーザでログオンした端末を特定してください。
source="Handson5.zip:*" "Microsoft-Windows-Security-Auditing" "sysg.admin"
| rex "(?ms)(?<level>[^,]+),(?<date>[^,]+),(?<source>[^,]+),(?<eventID>\d+),(?<category>.*)"
| reverse
| rex field=category "(?<message>.*)"
| rex field=category "(?ms)サービス ID:\s*(?<serviceID>\S+)"
| search message="Kerberos サービス チケットの操作,\"Kerberos サービス チケットが要求されました。" level="成功の監査"
| rex field=category "(?ms)クライアント アドレス:\s*(?<src>\S+)"
sysg.admin
を入れてみて、message
をみていると、
eventID
4624やeventID
4769のイベントを確認できる。
source="Handson5.zip:*" "Microsoft-Windows-Security-Auditing" "sysg.admin"
| rex "(?ms)(?<level>[^,]+),(?<date>[^,]+),(?<source>[^,]+),(?<eventID>\d+),(?<category>.*)"
| reverse
| rex field=category "(?<message>.*)"
| search eventID=4769 OR eventID=4624
| rex field=category "(?<ip>\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})"
src
をみると4つのIPアドレスが確認できる。
##「sysg.adminユーザ」によるログオンは、管理者の意図しないものでした。このような不正ログオンに使用された攻撃手法を特定してください。
source="Handson3.zip:*" sysg.admin "Microsoft-Windows-Sysmon"
| rex "(?ms)(?<level>[^,]+),(?<date>[^,]+),(?<source>[^,]+),(?<eventID>\d+),(?<category>.*)"
| reverse
の結果から 参考資料をみるとわかる。
source="Handson5.zip:*"
| rex "(?ms)(?<level>[^,]+),(?<date>[^,]+),(?<source>[^,]+),(?<eventID>\d+),(?<category>.*)"
| reverse
| search eventID=4768 OR eventID=4769
| rex field=category "(?ms)アカウント名:\s*(?<account>\S+)"
| rex field=category "(?ms)アカウント ドメイン:\s*(?<domain>\S+)"
| table _time eventID account domain
| where isnull(domain) OR lower(mvindex(split(account,"@"),1))=domain
ADサーバのログだと、このように、eventID
4768の後eventID
4769がこない かつ ドメイン名が小文字といったことで判別は可能(かも)
##攻撃者によって追加されたユーザを特定してください。
source="Handson5.zip:*" "Microsoft-Windows-Security-Auditing"
| rex "(?ms)(?<level>[^,]+),(?<date>[^,]+),(?<source>[^,]+),(?<eventID>\d+),(?<category>.*)"
| reverse
| rex field=category "(?<message>.*)"
| search eventID=4720
eventID
4624はユーザ追加なので、検索してみると確認ができる。
##「machida.kanagawa」は不正なユーザ追加であることが分かりました。どのような攻撃手法 を用いて不正な操作を行ったのでしょうか 。
LISTを確認すると
cmd /c ""C:\Intel\Logs\ms14068\ms14-068.exe -u maebashi.gunma@example.co.jp -s S-1-5-21-1524084746-3249201829-3114449661-1127 -d win-wfbhibe5gxz -p p@ssw0rd""
の攻撃が確認できる。
https://jpcertcc.github.io/ToolAnalysisResultSheet_jp/details/MS14-068.htm
で詳細が確認できる。
#まとめ
ADの主要なeventIDは覚えておくかチートシートがあると調査が早いと思う。
イベントログからメッセージを切り出してもなんとかなるのがSplunk的かもしれません。