3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

SplunkでJPCERTログ分析トレーニング(ハンズオン その5)

Posted at

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にファイルアップロード。設定は全部デフォルト。

:sweat:その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

csv.spl
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フィールドを切り出してメッセージをみてみると
特殊なログオン,"新しいログオンに特権が割り当てられました。とある。
eventID4672なのでバッチリ

new_Privilege_account.spl
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ユーザでログオンした端末を特定してください。

kerberos.spl
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をみていると、
eventID4624eventID4769のイベントを確認できる。

logon.spl
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ユーザ」によるログオンは、管理者の意図しないものでした。このような不正ログオンに使用された攻撃手法を特定してください。

Handson3.spl
source="Handson3.zip:*" sysg.admin "Microsoft-Windows-Sysmon"
| rex "(?ms)(?<level>[^,]+),(?<date>[^,]+),(?<source>[^,]+),(?<eventID>\d+),(?<category>.*)" 
| reverse

の結果から 参考資料をみるとわかる。

Handson5.spl
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サーバのログだと、このように、eventID4768の後eventID4769がこない かつ ドメイン名が小文字といったことで判別は可能(かも)

##攻撃者によって追加されたユーザを特定してください。

user_Add.spl
source="Handson5.zip:*" "Microsoft-Windows-Security-Auditing" 
| rex "(?ms)(?<level>[^,]+),(?<date>[^,]+),(?<source>[^,]+),(?<eventID>\d+),(?<category>.*)" 
| reverse 
| rex field=category "(?<message>.*)" 
| search eventID=4720

eventID4624はユーザ追加なので、検索してみると確認ができる。

##「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的かもしれません。

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?