Upgrade to Pro — share decks privately, control downloads, hide ads and more …

2022年秋の最新GuardDuty攻略ガイド〜裏技封じとマルウェアスキャン〜

 2022年秋の最新GuardDuty攻略ガイド〜裏技封じとマルウェアスキャン〜

JAWS DAYS 2022で登壇した資料。詳細な解説は下記ブログから。
https://dev.classmethod.jp/articles/jaws-days-2022-guardduty-tips-and-tricks/

cm-usuda-keisuke

October 08, 2022
Tweet

More Decks by cm-usuda-keisuke

Other Decks in Technology

Transcript

  1. 2022年秋の最新GuardDuty攻略ガイド
    〜裏技封じとマルウェアスキャン〜
    2022/10/08
    ⾅⽥佳祐
    1
    #jawsdays2022
    #jawsug
    #jawsdays
    #jawsdays2022_c

    View Slide

  2. 2
    こんにちは、⾅⽥です。
    みなさん、
    AWSのセキュリティ対策してますか︖(挨拶

    View Slide

  3. 3
    ⾃⼰紹介
    ⾅⽥佳祐(うすだけいすけ)
    ・クラスメソッド株式会社 / AWS事業本部
    シニアソリューションアーキテクト
    セキュリティチームリーダー
    AWS公認インストラクター
    2021 APN Ambassador
    2022 APN AWS Top Engineers (Security)
    ・CISSP
    ・Security-JAWS運営
    ・好きなサービス:
    GuardDuty / Detective
    Security Hub
    みんなのAWS
    (技術評論社)

    View Slide

  4. 4
    セッションの概要
    • Amazon GuardDutyのこれまで
    • 攻撃者に対するAWS運営の本気
    • 新機能マルウェアスキャン素敵

    View Slide

  5. 5
    突然ですが
    みなさん、セッションレベル
    ⾒てますか︖

    View Slide

  6. 6
    タイムテーブルのセッションレベル
    CfPで⾃⼰申告する値

    View Slide

  7. 7
    セッションレベル集計結果
    • Lv100: 2セッション
    • Lv200: 11セッション
    • Lv300: 14セッション
    • Lv400: 1セッション
    • みんな絶対おかしいよ…
    • 300のセッションもめっちゃいい内容が多いハズ
    • もっと⾃⾝を持ってLv400しようよ︕

    View Slide

  8. 8
    ところで
    みなさん、セッション概要
    ⾒てますか︖

    View Slide

  9. 9
    このセッションの概要⽂
    Lv400のセッションが1つしかなくて
    それがオタク⽤のセッションということは…
    🤔

    View Slide

  10. 10
    Lv400は
    ⾏き過ぎた⼀部の
    オタクのセッション
    ということですよね︖
    運営の⼈ごめんなさい

    View Slide

  11. Attention
    これは
    ネタセッションです︕

    View Slide

  12. 12
    このセッションは
    GuardDutyオタクの私が
    AWSという
    恋愛シミュレーションゲームで
    かわいいGuardDutyを攻略する話

    View Slide

  13. 13
    真⾯⽬な話を
    聞きたい⼈は

    View Slide

  14. 14
    AWSセキュリティの整理(登壇履歴)
    AWSセキュリティ事始め〜基礎からはじめて
    クラウドセキュリティの恩恵を受ける〜
    [初⼼者向け]AWS環境のセキュリ
    ティ運⽤(設計)をはじめてみよう
    みんなでセキュリティを強化︕仕組みで解決
    するAWS環境のマネジメント & ガバナンス
    AWS Control Towerを利⽤した
    マルチアカウント管理とセキュリティ統制

    View Slide

  15. 15
    セッションの概要
    • Amazon GuardDutyのこれまで
    • 過去の攻略情報
    • 攻撃者に対するAWS運営の本気
    • 新ルート1: 迫真の裏技封じ
    • 新機能マルウェアスキャン素敵
    • 新ルート2: 嫁の新しい側⾯を垣間⾒る

    View Slide

  16. 16
    セッションの対象者
    • Amazon GuardDutyは俺の嫁という⼈
    • セキュリティサービスを攻略したい⼈
    • みんなの嫁のAWSサービスはなんですか︖
    • #jawsdays2022とかつけて嫁をつぶやこう︕

    View Slide

  17. 17
    1. 過去の攻略情報

    View Slide

  18. 18
    合わせて読みたい
    ツンデレな
    GuardDutyの攻略
    ⽅法について⽇本
    語と英語翻訳で
    語った
    https://dev.classmet
    hod.jp/articles/tsun
    dere-guardduty-in-
    jaws-pankration-
    2021/

    View Slide

  19. 19
    かんたんなおさらい
    (ネタバレは控えめ)

    View Slide

  20. 20
    In re:Invent 2017

    View Slide

  21. 21
    あらすじ
    2017年末、re:Inventで発表されたGuardDutyに僕
    は恋をした…
    セキュリティサービスだから僕は興味津々でいろんなア
    タック(⽂字通り攻撃)をしてみた
    でも彼⼥はとんでもないツンデレで攻略するのはすごく
    ⼤変
    いろんなラブレター(攻撃スクリプト)に対して検知して
    くれたり検知してくれなかったりする彼⼥にやきもきし
    ていた

    View Slide

  22. 22
    怪⽂書すぎるのでもう少し補⾜
    内容は真⾯⽬なところもちゃんとあって、Previlege
    EscalationとかDNSRebindとかの検知⽅法について
    紹介しているよ(攻略情報だからね)

    View Slide

  23. 23
    そんな彼⼥(GuardDuty)に今回
    新しいルート(機能)が追加された

    View Slide

  24. 24
    攻略対象のルートがどんどん追加されるというのは
    つまりAWSは
    クラウド恋愛シミュレーションゲームで
    永遠とシナリオが配布される

    View Slide

  25. 25
    1. 過去の攻略情報まとめ
    • というわけで今回はツンデレGuardDutyの続き
    • この終わりのないアップデートに追随する
    GuardDutyオタクの攻略まとめ
    • 新ルートちょーいいからみんな攻略して

    View Slide

  26. 26
    2. 新ルート1: 迫真の裏技封じ

    View Slide

  27. 27
    2022年1⽉のアップデート
    • 以前から存在していたEC2から盗まれたクレデン
    シャルの利⽤を検知する
    InstanceCredentialExfiltrationのFinding
    Typesが2種類になった
    • 既存のものは
    InstanceCredentialExfiltration.OutsideAWS
    • 新規のものは
    InstanceCredentialExfiltration.InsideAWS

    View Slide

  28. 28
    合わせて読みたい
    UnauthorizedAc
    cess:IAMUser/I
    nstanceCredenti
    alExfiltrationの
    アップデートにつ
    いての記事
    https://dev.classmet
    hod.jp/articles/guar
    dduty-detect-
    exfiltration-ec2-
    credentials-inside/

    View Slide

  29. 29
    旧来の動作
    漏洩したクレデンシャルが外部から利⽤されると検知
    AWS外のIPから
    EC2のクレデン
    シャル使⽤は
    不審︕
    InstanceCreden+alExfiltra+on

    View Slide

  30. 30
    旧来の動作(つづき)
    別のAWS環境からだと検知できなかった
    AWS外のIPから
    EC2のクレデン
    シャル使⽤は
    不審︕
    AWS内のIPは
    ヨシ︕
    バレないぜ
    InstanceCreden+alExfiltra+on

    View Slide

  31. 31
    合わせて読みたい
    アップデート前
    なのでGCPから
    攻撃をした事例
    実際のインシデ
    ントハンドリン
    グの参考にどう

    https://dev.classmet
    hod.jp/articles/revie
    w-security-camp-and-
    tigersecjaws-02/

    View Slide

  32. 32
    AWS運営
    本気の裏技封じ

    View Slide

  33. 33
    アップデード後
    別のAWS環境からでも検知︕
    AWS外のIPから
    EC2のクレデン
    シャル使⽤は
    不審︕
    別のAWSだから
    不審︕
    バレた︕
    InstanceCreden+alExfiltra+on.OutsideAWS
    InstanceCreden+alExfiltra+on.InsideAWS

    View Slide

  34. 34
    アップデートされた彼⼥
    「裏技で逃れようとしたって
    そうは⾏きませんよ…」
    (ツンと⾔うよりヤン⼊ってる︖)

    View Slide

  35. 35
    検知内容の詳細
    InstanceCredentialExfiltration.InsideAWSでは新
    しいパラメータとしてremoteAccountDetailsが追加
    され利⽤されたAWSアカウントIDが確認できる
    ⾒覚えある
    アカウントIDか
    チェック

    View Slide

  36. 36
    不正なユーザーは運営に通報
    remoteAccountDetailsが追加されたのでこれで具体
    的なアカウントもわかる
    知らないアカウントだったらサポート窓⼝やReport
    Amazon AWS abuseからも通報できる
    https://support.aws.amazon.com/#/contacts/report-abuse

    View Slide

  37. 37
    InstanceCreden3alExfiltra3on.
    InsideAWSルート
    攻略⽅法

    View Slide

  38. 38
    彼⼥に振り向いてもらう(検知させる)⽅法
    EC2からクレデンシャルを取得
    [[email protected] ~]$ mu=h=p://169.254.169.254/latest/meta-
    data/iam/security-credenJals/;curl -s $mu | echo $mu$(cat) | xargs -n1 curl
    {
    "Code" : "Success",
    "LastUpdated" : "2022-01-22T07:57:56Z",
    "Type" : "AWS-HMAC",
    "AccessKeyId" : "ASIAXXXXXXXXXXXXXXG4",
    "SecretAccessKey" : "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
    "Token" : "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx==",
    "ExpiraJon" : "2022-01-22T14:24:21Z”
    }
    EC2
    Session
    Manager

    View Slide

  39. 39
    合わせて読みたい
    jqいらずのワンラ
    イナー
    地味ですがどうぞ
    https://dev.classm
    ethod.jp/articles/e
    c2-credentials-
    exfiltration-
    oneliner/

    View Slide

  40. 40
    彼⼥に振り向いてもらう(検知させる)⽅法
    別AWS環境でCloudShellなどから利⽤
    $ export AWS_ACCESS_KEY_ID=ASIAXXXXXXXXXXXXXXG4
    $ export AWS_SECRET_ACCESS_KEY=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    $ export AWS_SESSION_TOKEN=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx==
    [[email protected] ~]$ aws sts get-caller-idenJty
    {
    "UserId": "AROAXXXXXXXXXXXXXXXXX:i-0f8xxxxxxxxxxxxxx",
    "Account": "999999999999",
    "Arn": "arn:aws:sts::999999999999:assumed-role/EC2Role/i-0f8xxxxxxxxxxxxxx"
    }
    [[email protected] ~]$ aws s3 ls
    An error occurred (AccessDenied) when calling the ListBuckets operaJon: Access
    Denied

    View Slide

  41. 41
    3. 新ルート2:
    嫁の新しい側⾯を垣間⾒る

    View Slide

  42. 42
    2022年7⽉のアップデート
    • Malware Protectionが実装
    • 機能名はMalware Protectionだけど、動作として
    は検知
    • マルウェアの動きを直接⽌めない
    • EBSのスナップショットを取得しこれをスキャンす
    るため、動作している実環境に影響ない

    View Slide

  43. 43
    合わせて読みたい
    ついに来たマル
    ウェアスキャン
    ガッツリ解説して
    いるのでどうぞ
    https://dev.classm
    ethod.jp/articles/g
    uardduty-support-
    malware-
    protection/

    View Slide

  44. 44
    実はリリース前に気づいていた
    リリースから遡ること8ヶ⽉
    いつもどおりGuardDutyのレ
    スポンスを眺めていたら
    kubernetesとmalwareScan
    の⽂字が含まれたレスポンスを
    受信した
    普段から攻略対象をよく観察す
    るのはオタクの使命(でもおもらしはだめよ

    View Slide

  45. 45
    イベントトリガー
    Malware Protectionは特定のGuardDuty Findings
    が発⽣すると実⾏される
    • Backdoor:EC2/C&CActivity.B
    • Backdoor:EC2/C&CActivity.B!DNS
    • Backdoor:EC2/DenialOfService.Dns
    • Backdoor:EC2/DenialOfService.Tcp
    • Backdoor:EC2/DenialOfService.Udp
    • Backdoor:EC2/DenialOfService.UdpOnTcpPorts
    • Backdoor:EC2/DenialOfService.UnusualProtocol
    • Backdoor:EC2/Spambot
    • CryptoCurrency:EC2/BitcoinTool.B
    • CryptoCurrency:EC2/BitcoinTool.B!DNS
    • Impact:EC2/AbusedDomainRequest.Reputation
    • Impact:EC2/BitcoinDomainRequest.Reputation
    • Impact:EC2/MaliciousDomainRequest.Reputation
    • Impact:EC2/PortSweep
    • Impact:EC2/SuspiciousDomainRequest.Reputation
    • Impact:EC2/WinRMBruteForce (アウトバウンドのみ)
    • Recon:EC2/Portscan
    • Trojan:EC2/BlackholeTraffic
    • Trojan:EC2/BlackholeTraffic!DNS
    • Trojan:EC2/DGADomainRequest.B
    • Trojan:EC2/DGADomainRequest.C!DNS
    • Trojan:EC2/DNSDataExfiltration
    • Trojan:EC2/DriveBySourceTraffic!DNS
    • Trojan:EC2/DropPoint
    • Trojan:EC2/DropPoint!DNS
    • Trojan:EC2/PhishingDomainRequest!DNS
    • UnauthorizedAccess:EC2/RDPBruteForce (アウトバウ
    ンドのみ)
    • UnauthorizedAccess:EC2/SSHBruteForce (アウトバウ
    ンドのみ)
    • UnauthorizedAccess:EC2/TorClient
    • UnauthorizedAccess:EC2/TorRelay

    View Slide

  46. 46
    動作イメージ
    トリガーを検知するとスナップショットを取る

    View Slide

  47. 47
    結果の確認
    どのようなタイプのマル
    ウェアか、ファイルパス、
    ファイル名を確認できる
    下のファイルは.tar.gzだ
    が中⾝までちゃんと⾒てく
    れている

    View Slide

  48. 48
    検知結果のフォーマット
    MaliciousFileタイプのFindingsのjsonでは
    “Service. EbsVolumeScanDetails”配下にこれらの
    検知結果が格納されている
    詳細はユーザーガイドの下記リンク
    https://docs.aws.amazon.com/ja_jp/guarddu
    ty/latest/ug/guardduty_findings-
    summary.html#malware-protection-scan-
    details

    View Slide

  49. 49
    マルウェアスキャンの
    何が嬉しいのか︖

    View Slide

  50. 50
    これまでのGuardDuty運⽤
    「このEC2怪しいよ︕調べて」

    View Slide

  51. 51
    これまでのGuardDuty運⽤
    • 検知したEC2が本当に危ないのか調べる必要があっ

    • どうやって︖
    • ログインしてみる︖
    • どのツールで︖
    • 本当はマルウェア対策が備わっていることが理想
    • TrendMicroのWorkload Securityちゃんもいいぞ
    • (旧Deep Security)

    View Slide

  52. 52
    今のGuardDuty運⽤
    「このEC2怪しかったから
    スキャンしておいたぜ」

    View Slide

  53. 53
    やだイケメン…///

    View Slide

  54. 54
    つまりGuardDutyは
    かわいくて俺の嫁でツンデレでイケメンということだ

    View Slide

  55. 55
    Malware Protec3onルート
    攻略⽅法

    View Slide

  56. 56
    攻略⽅法
    攻略のステップ
    1. 検知されるマルウェアをEC2に仕込む(フラグを⽴
    てる)
    2. 対象EC2が検知されるイベントトリガーを引く
    (ルート分岐)
    事前のフラグ管理が重要なんですね︕

    View Slide

  57. 57
    1. マルウェアを仕込む
    ⼀番簡単なのは
    eicarファイルを
    設置すること
    味気ないと感じ
    たらこちらも参
    考にどうぞ
    https://dev.classmet
    hod.jp/articles/guard
    duty-findings-test-
    cryptocurrency/

    View Slide

  58. 58
    2. イベントトリガーを引く
    • 前述記事ではコインマイナーのドメインへの通信で
    検知させている
    • GuardDutyのテスト⽤ドメインを利⽤する⽅法もあ

    • guarddutyc2activityb.com
    • Backdoor:EC2/C&CActivity.B!DNSが検知できる
    • https://docs.aws.amazon.com/ja_jp/guardduty/latest/ug/g
    uardduty_finding-types-ec2.html

    View Slide

  59. 59
    おまけ: 公式の⾃動化ルート
    私は⼀個⼀個⾃分で動作を確認していくのが好きです
    が、公式の⾃動化ルートも⽤意されています
    https://github.com/awslabs/amazon-
    guardduty-tester

    View Slide

  60. 60
    検知するFinding Types

    View Slide

  61. 61
    追加されたFinding Types
    • Execution:EC2/MaliciousFile
    • Execution:ECS/MaliciousFile
    • Execution:Kubernetes/MaliciousFile
    • Execution:Container/MaliciousFile
    • Execution:EC2/SuspiciousFile
    • Execution:ECS/SuspiciousFile
    • Execution:Kubernetes/SuspiciousFile
    • Execution:Container/SuspiciousFile

    View Slide

  62. 62
    コンテナ環境も対応してるけど…
    https://docs.aws.amazon.com/ja_jp/guarddu
    ty/latest/ug/malware-protection.html

    View Slide

  63. 63
    Fargate対応していない
    • かなしい
    • でも新機能が出たばかりで仕⽅ない
    • 流⽯にそのうち対応するでしょう
    • と、そう思っていませんか︖

    View Slide

  64. 64
    ⽢えないでください
    AWSはフィードバックがすべて
    みんなで要望を送りまくるのです︕

    View Slide

  65. 65
    欲しい機能はフィードバック︕
    • 「そのうち」「誰かが」と他⼈任せにしない
    • あなたが欲しいなら、あなたがリクエスト︕
    • フィードバックが多ければガンガン対応するのが
    AWS
    • Twitterでつぶやくのもだめじゃないけど薄い
    • (誰か拾って(/ω・\)チラッは意味ない)
    • サポートへ、TAMへ(あれば)直接リクエスト︕
    • ユーザーの声が⼀番響きます

    View Slide

  66. 66
    フィードバックするのって
    ゲームのアンケートハガキみたいですね
    (しらんけど

    View Slide

  67. 67
    みんなでリクエストするのって
    つまり全員参加型ゲームの
    ルート選択では︖
    ⾃分の好みの選択を選んで
    ヒロインを育てよう

    View Slide

  68. 68
    まとめ

    View Slide

  69. 69
    まとめ
    • Amazon GuardDutyはかわいくて俺
    の嫁でツンデレでイケメン
    • 全員でルート選択しよう
    • 無限に続くこのゲームにみんな参加し
    よう

    View Slide

  70. 70

    View Slide