AWS - GuardDuty Enum
GuardDuty
ドキュメントによると、GuardDutyは機械学習、異常検知、ネットワーク監視、および悪意のあるファイルの発見を組み合わせ、AWSおよび業界をリードするサードパーティソースを使用して、AWS上のワークロードとデータを保護するのに役立ちます。 GuardDutyは、AWS CloudTrailイベントログ、Amazon Virtual Private Cloud(VPC)Flow Logs、Amazon Elastic Kubernetes Service(EKS)監査およびシステムレベルログ、およびDNSクエリログなど、複数のAWSデータソース全体で数十億のイベントを分析できます。
Amazon GuardDutyは、アカウント内での異常なアクティビティを特定し、そのアクティビティのセキュリティの関連性を分析し、それが呼び出されたコンテキストを提供します。これにより、対応者はさらなる調査に時間を費やす必要があるかどうかを判断できます。
アラートは**GuardDutyコンソール(90日間)**とCloudWatch Eventsに表示されます。
ユーザーがGuardDutyを無効にすると、AWS環境の監視が停止され、新しい調査結果は生成されず、既存の調査結果が失われます。 単に停止すると、既存の調査結果は残ります。
調査結果の例
偵察: 攻撃者による偵察を示唆するアクティビティ、例えば異常なAPIアクティビティ、疑わしいデータベースのログイン試行、VPC内部のポートスキャン、異常な失敗したログインリクエストパターン、または既知の悪意のあるIPからのポートプロービングのブロック解除など。
インスタンスの侵害: インスタンスの侵害を示すアクティビティ、例えば暗号通貨の採掘、バックドアのコマンド制御(C&C)アクティビティ、ドメイン生成アルゴリズム(DGA)を使用したマルウェア、外部からのサービス拒否アクティビティ、異常に高いネットワークトラフィック量、異常なネットワークプロトコル、既知の悪意のあるIPとのアウトバウンドインスタンス通信、外部IPアドレスが使用する一時的なAmazon EC2資格情報、およびDNSを使用したデータの外部への持ち出し。
アカウントの侵害: アカウントの侵害を示す一般的なパターンには、異常な地理的位置情報や匿名化プロキシからのAPI呼び出し、AWS CloudTrailロギングの無効化を試みる、アカウントパスワードポリシーを弱体化する変更、異常なインスタンスまたはインフラストラクチャの起動、異常な地域でのインフラストラクチャ展開、資格情報の盗難、疑わしいデータベースログインアクティビティ、既知の悪意のあるIPアドレスからのAPI呼び出しなどが含まれます。
バケットの侵害: バケットの侵害を示すアクティビティ、例えば資格情報の誤用を示す疑わしいデータアクセスパターン、リモートホストからの異常なAmazon S3 APIアクティビティ、既知の悪意のあるIPアドレスからの不正なS3アクセス、およびバケットにアクセスしたことのないユーザーからのS3バケット内のデータを取得するAPI呼び出しや異常な場所から呼び出されたAPI呼び出しなど。 Amazon GuardDutyは、すべてのAmazon S3バケットで疑わしいアクティビティを検出するためにAWS CloudTrail S3データイベント(例:GetObject、ListObjects、DeleteObject)を継続的に監視および分析します。
すべての調査結果
GuardDutyのすべての調査結果のリストにアクセス: https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_finding-types-active.html
複数アカウント
招待による
他のアカウントを異なるAWS GuardDutyアカウントに招待して、すべてのアカウントが同じGuardDutyから監視されるようにすることができます。マスターアカウントはメンバーアカウントを招待し、その後、メンバーアカウントの代表者が招待を受け入れる必要があります。
組織を通じて
組織内の任意のアカウントをGuardDuty委任管理者に指定できます。組織管理アカウントのみが委任管理者を指定できます。
委任管理者として指定されたアカウントは、GuardDuty管理者アカウントとなり、指定されたAWSリージョンでGuardDutyが自動的に有効になり、そのリージョン内のすべてのアカウントのGuardDutyを有効にしたり管理したりする権限を持ちます。組織内の他のアカウントは、この委任管理者アカウントに関連付けられたGuardDutyメンバーアカウントとして表示および追加できます。
列挙
GuardDuty バイパス
一般的なガイダンス
使用する資格情報の挙動について可能な限り多くの情報を収集しよう:
使用されるタイミング
場所
ユーザーエージェント / サービス(awscli、webconsole、lambdaなどから使用される可能性があります)
定期的に使用される権限
この情報を元に、アクセスを利用するために可能な限り同じシナリオを再現しよう:
ユーザーまたはユーザーによってアクセスされるロールの場合、同じ時間帯に、同じ地理的位置(可能であれば同じISPおよびIP)から使用しよう
サービスによって使用されるロールの場合、同じリージョンで同じサービスを作成し、同じ時間帯にそこから使用しよう
常にこの主体が使用した同じ権限を使用しよう
他の権限を使用する必要がある場合や権限を濫用する必要がある場合(たとえば、100万個のcloudtrailログファイルをダウンロードする場合)は、AWSとの最小限のやり取りでゆっくり行うようにしよう(awscliは書き込みAPIの前に複数の読み取りAPIを呼び出すことがある)
GuardDuty の回避
guardduty:UpdateDetector
guardduty:UpdateDetector
この権限を使用すると、アラートをトリガーさせるのを避けるためにGuardDutyを無効にすることができます。
guardduty:CreateFilter
guardduty:CreateFilter
この権限を持つ攻撃者は、調査結果の自動アーカイブ用のフィルターを作成する能力を持ちます:
iam:PutRolePolicy
, (guardduty:CreateIPSet
|guardduty:UpdateIPSet
)
iam:PutRolePolicy
, (guardduty:CreateIPSet
|guardduty:UpdateIPSet
)前述の権限を持つ攻撃者は、自分のIPアドレスを追加してGuardDutyの信頼されたIPリストを変更し、アラートを生成しないようにすることができます。
guardduty:DeletePublishingDestination
guardduty:DeletePublishingDestination
攻撃者は、アラートを防ぐために宛先を削除する可能性があります:
この公開先を削除しても、GuardDutyコンソール内の調査結果の生成や表示には影響しません。GuardDutyは引き続きAWS環境でイベントを分析し、疑わしいまたは予期しない動作を特定し、調査結果を生成します。
特定の調査結果の回避例
GuardDutyには数十の調査結果がありますが、Red Teamerとしてはすべてが影響を受けるわけではありません。さらに、それぞれの詳細なドキュメントがありますので、https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_finding-types-active.html を参照して、何らかのアクションを実行する前に確認してください。
以下に、特定のGuardDuty調査結果の回避例をいくつか示します:
GuardDutyは一般的なペネトレーションテストツールからのAWS APIリクエストを検出し、PenTest Finding をトリガーします。 APIリクエストで渡されるユーザーエージェント名によって検出されます。 したがって、攻撃を検出されないようにするには、ユーザーエージェントを変更することが可能です。
これを防ぐためには、botocore
パッケージ内のsession.py
スクリプトを検索してユーザーエージェントを変更するか、Burp SuiteをAWS CLIプロキシとして設定してユーザーエージェントをMitMで変更するか、Ubuntu、Mac、WindowsなどのOSを使用してこのアラートがトリガーされないようにすることができます。
UnauthorizedAccess:IAMUser/InstanceCredentialExfiltration
メタデータサービスからEC2資格情報を抽出し、AWS環境外でそれらを利用すると、UnauthorizedAccess:IAMUser/InstanceCredentialExfiltration.OutsideAWS
アラートが発生します。逆に、EC2インスタンスからこれらの資格情報を利用すると、UnauthorizedAccess:IAMUser/InstanceCredentialExfiltration.InsideAWS
アラートがトリガーされます。しかし、同じアカウント内の別の侵害されたEC2インスタンスで資格情報を使用すると検出されず、アラートが発生しません。
したがって、見つけたマシン内から抽出された資格情報を使用してこのアラートをトリガーしないようにしてください。
参考文献
Last updated