Event_Log_でセキュリティ監視に役立つイベント.pdf

Bb2a56e90b1f490f8086536e5446ffa8?s=47 uranari
January 31, 2020
2k

 Event_Log_でセキュリティ監視に役立つイベント.pdf

Bb2a56e90b1f490f8086536e5446ffa8?s=128

uranari

January 31, 2020
Tweet

Transcript

  1. Event Log でセキュリティ監視に役立つイベント 第 2 回 ログ分析勉強会 @uranariz

  2. 自己紹介 名前: 喜屋武 慶大 Twitter: @uranariz ・OWASPJAPAN PR Team ・MINI

    Hardening Project 運営 事業会社で社内インフラとユーザー向けサービス側のセキュリティ全般を担当していま す
  3. 今日の内容 Windows の EventLog の中からセキュリティ監視に役立つツールやイベントの紹介 と、そのログをどうやって分析するか、デフォルト設定だと吐いてくれないけど役に立 つイベントの紹介とログを吐き出すための設定を紹介します あとは Event Log

    のセキュリティ監視は、色んなドキュメントでどのイベントを監視す ればいいという紹介はあるが具体的にどう分析するかを紹介してる資料があまりなく 自分で試行錯誤してるのでやってる人は情報交換しましょう
  4. 検証環境 LAN

  5. 検証環境 Active Directory: Windows Server 2019 Client: Windows Server 2019

    使用ツール ・Sysmon ・winlogbeat ・ElsticSearch ・Kibana
  6. EventLog の分析に役立つツール

  7. winlogbeat Elastic NV が提供する Windows のログ収集エージェント Config ファイルで収集する対象のログを指定することで様々な Event Log

    を収集し、Elasticsearch や Logstash にリアルタイム でログを送信することができる
  8. winlogbeat どんな Event Log があるか調べてみる

  9. winlogbeat の config EventLog 全部抜く!

  10. グループポリシー Windows でレジストリやファイルシステム、監査等に関する設定群 ActiveDirectory(AD) 環境では ドメインコントローラー によって一括管理できる デフォルト設定では吐き出してくれないログを吐き出させることができる

  11. Sysmon Microsoft が提供している Sysinternals と呼ばれるトラブルシュート用のツール群の1 つでシステムイベントを監視して EventLog に記録してくれるソフトウェア Sysinternals Suite

    Autoruns Process Explorer PsExec Process Monitor TCPView ProcDump Sysmon
  12. Sysmon で記録されるイベント Event ID 1: Process Creation 新しいプロセスの作成が記録される Event ID

    2: A process changed a file creation time ファイルの作成時間の変更が記録される Event ID 3: Network connection 端末上の TCP/UDP 通信をしているプロセスが記録される Event ID 4: Sysmon service state changed Sysmon 自体のステータス(start/stop)が記録される
  13. Event ID 5: Process terminated プロセスの終了が記録される Event ID 6: Driver

    loaded ドライバのロードが記録される Event ID 7: Image loaded モジュール(DLL)の読み込みが記録される Event ID 8: CreateRemoteThread 別プロセスでのスレッドの作成が記録される sysmon で記録されるイベント
  14. Event ID 9: RawAccessRead ドライブ上のファイルの読み取りを記録する Event ID 10: ProcessAccess プロセスが別のプロセスを開くのを記録する

    Event ID 11: FileCreate ファイルの作成と上書きが記録される Event ID 12: RegistryEvent (Object create and delete) レジストリの作成または削除が記録される sysmon で記録されるイベント
  15. Event ID 13: RegistryEvent (Value Set) レジストリの値のセットが記録される Event ID 14:

    RegistryEvent (Key and Value Rename) レジストリのキーまたは値の変更を記録する その他(Sysmonの公式サイトをご覧ください) https://docs.microsoft.com/en-us/sysinternals/downloads/sysmon sysmon で記録されるイベント
  16. Event Log Windows における OS ログ 認証や設定変更など Windows の操作が記録される

  17. Event Log イベントの種類毎にイベントIDが振られているので調査する際は基本的にはイベ ントIDで絞り込む

  18. Event Log winlogbeat で Event Log を収集した場合 Kibana の画面上には イベントID

    が event.code として表示されるので読み替える
  19. Windows でセキュリティ監視に利用できるログ ・認証ログ ・プロセスログ ・PowerShellに関するログ ・レジストリに関するログ ・ファイルシステムのログ ・ユーザー関連のログ ・EventLog に関するログ

    ・その他色々
  20. Windows でセキュリティに関わるログ ・認証ログ ・プロセスログ ・PowerShellに関するログ ・レジストリに関するログ ・ファイルシステムのログ ・ユーザー関連のログ ・EventLog に関するログ

    ・その他色々
  21. 認証関連のログ 認証ログ

  22. 認証関連のログ Event Code: 4624 An account was successfully logged on.

    ユーザーのログオン成功を示すイベント、ログオン方法によって LogonType の値が異 なる
  23. 認証関連のログ Event Code: 4624 An account was successfully logged on.

    ユーザーのログオン成功を示すイベント、ログオン方法によって LogonType の値が異 なる ログオン方法によって LogonType の値が 異なる
  24. 認証関連のログ LogonType 一覧 (主要) LogonType TITLE 概要 2 Interactive 通常のログオン

    3 Network Kerberos認証やNTLMチャレンジ/レスポンス認証 10 RemoteInteractive 主に RemoteDesktop 11 CachedInteractive ドメイン環境でDCと通信できない際にローカルの キャッシュ情報を用いた際に記録される
  25. 認証関連のログ Event Code: 4624 An account was successfully logged on.

    ドメイン環境でのドメインアカウントの認証は基本的に Kerberos 認証
  26. 認証関連のログ Event Code: 4624 An account was successfully logged on.

    ドメイン環境で NTLM 認証があった場合、攻撃者による Lateral Movement の可能性 がある キッティング などの手順で初期のユーザーアカウントとパスワードが全台共通で セットアップ後に無効化にしてない場合は注意が必要
  27. 認証関連のログ Event Code: 4625 An account failed to log on.

    ユーザーのログオン成失敗を示すイベント、各フィールドの値は 4624 のイベントと同じ だが、失敗理由を示す Status というフィールドが追加されている
  28. 認証関連のログ Status 一覧 (一部) Status 概要 0XC000005E ログオン要求を処理できるログオンサーバーはありません 0xC0000064 ユーザー名が間違っているユーザーログオン

    0xC000006A パスワードが間違っているユーザーログオン 0XC000006D ユーザー名または認証情報が正しくないことが原因です 0XC000006E 不明なユーザー名またはパスワードが間違っています その他にも多数あり、知りたい人は以下の公式ドキュメントをご参照ください https://docs.microsoft.com/ja-jp/windows/security/threat-protection/auditing/event-4625
  29. 認証関連のログ Event Code: 4672 Special privileges assigned to new logon.

    特殊な権限が割り振られたユーザーのログオンを記録するイベント 管理者権限を持つアカウントだけ監視したい時とかに便利
  30. 認証関連のログ Event Code: 4672 が記録される権限 (一部) 権限 概要 SeAssignPrimaryTokenPrivilege この特権を持つユーザーはプロセスから生成されたサブプロセスに関連付けられるトークン

    を置き換えることができる SeAuditPrivilege セキュリティログにエントリを追加することができる SeBackupPrivilege この特権を持つユーザーはACLに関係なく全てのファイルを読み取ることができる SeCreateTokenPrivilege NtCreateToken またはその他の token-create API を使用する際に全てのローカルリソー スへアクセスできるトークンを生成できる SeDebugPrivilege デバッガを任意のプロセスやカーネルにアタッチさせることができる その他にも多数あり、知りたい人は以下の公式ドキュメントをご参照ください https://docs.microsoft.com/ja-jp/windows/security/threat-protection/auditing/event-4672
  31. プロセス関連のログ プロセスログ

  32. プロセス関連のログ Event Code: 1 Process Create (rule: ProcessCreate) Sysmon によって記録されるイベント

    Process が作成されたのを記録してくれる
  33. プロセス関連のログ Event Code: 4688 A new process has been created.

    プロセスの作成を記録する
  34. プロセス関連のログ Event Code: 4688 A new process has been created.

    このイベントはデフォルトでは記録されない EventLog にこのイベントが記録されるようにするためにはグループポリシーの設定で 「プロセス追跡の監査」を有効にする必要がある また実行されたコマンドと引数も記録したい場合は「プロセス作成の監査」を有効にする 必要がある
  35. プロセス関連のログ

  36. プロセス関連のログ

  37. プロセス関連のログ Event Code: 4688 A new process has been created.

    実行されたプロセスのコマンドを取得できる
  38. プロセス関連のログ Event Code: 1 と Event Code: 4688 の違い Sysmon

    で記録される Event Code: 1 は全てのプロセスの情報を記録しているわけで はなさそう、、、 詳しい仕組みはまだ分かっていない。。。
  39. プロセス関連のログ 全てのプロセスを監視するのは大変。。。

  40. プロセス関連のログ 攻撃者の使うツール、テクニックは色々な組織が整理してまとめている JPCERT/CC 攻撃者が悪用するWindowsコマンド(2015-12-02) https://blogs.jpcert.or.jp/ja/2015/12/wincommand.html

  41. プロセス関連のログ 攻撃者の使うツール、テクニックは色々な組織が整理してまとめている MITRE ATT&CK https://attack.mitre.org/

  42. プロセス関連のログ 攻撃者の使うツール、テクニックは色々な組織が整理してまとめている Windows Red Team Cheat Sheet https://morph3sec.com/2019/07/16/Windows-Red-Team-Cheat-Sheet/

  43. プロセス関連のログ 紹介されているプログラムやアプリに絞ってプロセスを監視することによって攻撃の兆候 を掴むことができる

  44. その他 役に立つイベント Event Code: 4656 A handle to an object

    was requested. lsass のメモリを読み取ることで NTLM ハッシュ値を読み出すことができる アクセス対象の Object を lsass に絞って監視することで lsass のメモリ上から認証情報 を抜き取ろうとする挙動を見つけられる セキュリティ製品なども lsass にアクセスするがフィルタしてあげるといい
  45. Event Code: 4656 A handle to an object was requested.

    PowerSploit などの攻撃ツールで lsass の メモリをダンプすると PowerShell で lsass にアクセスしたイベントが記録される その他 役に立つイベント
  46. 最後に

  47. 最後に ・ちゃんと検証しておくこと 色んな資料で紹介されてるからとりあえずログ集めても誤検知なのか本当の攻撃なのか 判断できないと監視できているとは言わない。事前に攻撃者と同じツールや手法を検証 しておくことで判断がつきやすくなる ・運用とセットで考えることが大事 どのイベントがどういう理由でどの程度記録されるかは各組織の運用ルールや使用して いるツール類によって変わってくるのでそれぞれの環境ごとにいい感じにチューニングが 必要 ・攻撃者のアクティビティを見つけられて面白い

    AV/EDRなどのセキュリティ製品が検知してくれない攻撃者のアクティビティが見つかっ たり、セキュリティ製品よりも早く検知できることもある
  48. 参考 JPCERT/CC ツール分析結果シート https://jpcertcc.github.io/ToolAnalysisResultSheet_jp/# IIJ Mimikatz実行痕跡の発見手法 https://www.iij.ad.jp/dev/tech/techweek/pdf/171108_02.pdf Hunting for Credentials

    Dumping in Windows Environment https://www.slideshare.net/heirhabarov/hunting-for-credentials-dumping-in-windows-environment