0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

SIEM on Amazon OpenSearchでインシデント調査を行う

Posted at

(※2022-12-07に書いた個人ブログの転記です。)

概要

  • SIEM on Amazon OpenSearchを利用して(仮想の)インシデント調査を行う社内のイベントに参加した。
  • その際に勉強したことをメモしておく。

原因究明の流れ

  1. 調査の目的を決める

  2. ログを絞り込む

    drawing
    • 画面上部: クエリーバー。ログをフィルターするための条件式を入力
    • 画面左: indexの切り替えとフィールド一覧表示
    • 画面右: 検索結果の時系列表示と、個々のログ。フィールドを指定してテーブル形式で表示することも可能
  3. 対象のログの詳細を見て事象を理解する

インシデント別捜査手順

1. IAM認証情報の侵害

  • 調査の目的: インシデントかどうかの判断と侵害の対象を特定する

  • **log-aws-guardduty-***のログに絞る

  • フィールドを以下に絞る

    @log_type ログタイプまたはログを送信したサービス
    rule.name IDS 等の検出名。GuardDuty では Inspector や Macie の検出結果名
    source.ip 送信元 IP アドレス
    user.id ユーザ固有の ID。AWS リソースの場合はアクセスキー
    user.name ユーザ名。AWS リソースの場合は IAM のユーザー名やロール名。SH ログでは OS のユーザー名
    cloud.instance.id EC2 インスタンス ID
    rule.description 検出した脅威の説明
  • GuardDutyの検出結果のうち、IAMUserに関するものに絞る

    rule.name:*IAMUser*
    
  • 侵害されたログの詳細のresorce.resourceTypeを見る

    drawing
    • ↑から、EC2 インスタンス (i-00bbd9925dcbc5bb9) にアタッチされているロール (threat-detection-wksp-compromised-ec2) の認証情報を窃取して攻撃したことがわかる

2. EC2インスタンスの侵害

  • 調査の目的: 侵入方法を調査して根本原因を特定する
  • 攻撃内容を確認
    • **log-aws-guardduty-***のログに絞る

    • 以下で絞り込む

      rule.name:*EC2*
      
      drawing
      • rule.name (findins) から SSH Brute Force と 脅威リストとのマッチング (MaliciousIPCaller.Custom) を確認
  • SSHに対する脆弱性の有無を確認
    • **log-aws-securityhub-***のログに絞る
    • ↑のうち、event.module(ログの生成元)をinspectorに絞る
    • sshで検索
    • rule.descriptionで、検知されている脆弱性を確認
  • SSH Brute Forceの攻撃の成否を確認
    • **log-linux-secure-**のログに絞る

    • sshdに対して外部からアクセスしているログを抽出

      process.name:sshd and source.ip:*
      
    • user.nameの値の集計を見ると、rootが大半(外部からの SSH 接続には一般的には使用されないユーザー名のため、攻撃と思われる)

      drawing
    • event.outcome(行為が成功したか失敗したか)が成功のログに絞り込む

      drawing
    • ↑から、SSH Brute Forceを行い、ユーザーID alice を使ってログインが成功したことがわかる

3. S3バケットの侵害

  • 調査の目的: 被害状況を確認する
  • 成功した攻撃を確認する
    • **log-aws-cloudtrail-***に絞る

    • 1で検出した攻撃者のuseridとipアドレスで絞り込む

    • event.outcomeで成功した攻撃に絞り込む

    • ログのrequestParameters.keyを見ると、config.pyを取得していることがわかる

      • requestParameters.keyを表示フィールドに追加すると、すべての攻撃でconfig.pyをGetしていることがわかる

        drawing
    • S3への驚異を検出するためMacieのログに絞り込む

      • **log-aws-securityhub-***を選んで、クエリーバーに event.module:macie
         と入力
      • ↑から、バケットに読み込み権限が付与されたことがわかる
    • PutBucketAclのログを探す

  • 以下がわかる
    • • 10:21:19 - S3 バケットに ACL を変更して読み込み権限を付与
    • • 10:24:03 - EC2 インスタンスの認証情報でS3 バケットから config.py を窃取

感想

  • GuardDutyがなければ調査の取っ掛かりすらつかめなかったはず。GuardDutyは絶対有効にしておこうと思った。

参考

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?