CTFから学ぶAWSセキュリティ_JAWS-UG福岡#26

135 Views

June 20, 26

スライド概要

2026年06月20日に開催されたオフラインイベント、[JAWS-UG福岡 #26 JAWS DAYS2026 re:Cap!!](https://jawsug-fukuoka.connpass.com/event/394528/)にLT資料です。

profile-image

かわいい猫*2と暮らしています

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

ダウンロード

関連スライド

各ページのテキスト
1.

CTF から学ぶ AWS セキュリティ JAWS-UG福岡 #26 JAWS DAYS 2026 re:Cap!! 2026.06.20 / べこみん

2.

自己紹介 名前:べこみん 所属:クラスメソッド株式会社 JAWS-UG 福岡、Security-JAWS 好きなAWSサービス: AWS WAF、AWS Security Hub 趣味: 娘や猫と遊ぶこと

3.

JAWS DAYS 2026 で CTF に参加してきた

4.

CTF とは? Capture The Flag 情報セキュリティの知識・技術を駆使して「フラグ」を見つけ出す競技 Jeopardy 形式 Attack & Defense カテゴリ別の問題を解いて 自チームのサーバを守りつつ ポイントを競う 相手チームを攻撃 最近の日本では Jeopardy 形式が多い

5.

直近の AWS × CTF 2026/03/07 JAWS DAYS 2026 ごーとんカップ 参加! 2026/05/17 Security-JAWS CTF 参加! 2026/06/13 JAWS-UG 神戸 CTF 大会 未参加 + 常設で遊べるCTFも(後述)

6.

CTF = 攻撃者の目線を体験すること Blue Team(防御側) Red Team(攻撃側) ← CTF 設定ミスを防ぐ 脆弱性を見つける 監視・検知する 権限を奪取する インシデント対応 情報を窃取する

7.

攻撃手法の定石を知る = 守るべきポイントが分かる CTF 頻出パターン 3 選を紹介 ① ② ③ sts get-caller-identity SSRF × IMDSv1 S3 権限設定ミス

8.

① まずは偵察: sts get-caller-identity $ aws sts get-caller-identity "Account": "123456789012" "Arn": "arn:aws:iam::123456789012:role/LambdaExecRole" 攻撃者がクレデンシャルを入手したら最初にやること 「自分は誰か?」を確認 → アカウントID・ARN・ロール名を把握 対策:最小権限の原則。不要なクレデンシャルは即ローテーション

9.

② SSRF で IMDSv1 の脆弱性を突く 攻撃者 Web アプリ IMDS 169.254.169.254 SSRF リクエスト送信 リクエストを中継 クレデンシャル返却 $ curl http://169.254.169.254/latest/meta-data/ iam/security-credentials/MyRole IMDSv1 は単純な GET リクエストで IAMロールの一時クレデンシャルを取得可能 対策:IMDSv2 を強制( HttpTokens: required)

10.

SSRF で IMDSv1 の脆弱性を突かれた事件 引用元: SSRF攻撃による Capital Oneの個人情報流出についてまとめてみた | piyolog

11.

③ S3 のよくある権限設定ミス # 認証なしでバケット内容を列挙 $ aws s3 ls s3://target-bucket --no-sign-request バケットの公開設定 リスト権限が Everyone や Authenticated Users に付与されている ポリシーの Principal: * --no-sign-request で誰でもオブジェクトを取得・列挙可能 ACL の設定ミス 「Any Authenticated AWS User」は自社ユーザーではなく全AWSユー ザー 対策: S3 Block Public Access の有効化 / バケットポリシーの定期監査 ※ 権限設定だけでなく、 S3でもパストラバーサルは起こりうる

12.

おまけ S3 署名付き URL のパストラバーサル S3 はフラット構造 — ディレクトリ階層は存在しない ../ を含むキーも S3 上ではただの文字列として扱われる しかし署名付き URL 生成時に SDK やアプリがパスを「正規化」すると ... → ../ が解決され、意図しないオブジェクトの URL が発行される AWS 公式 SDK 自体にもこの脆弱性が存在していた JAWS DAYS 2026 でも詳しく解説されています [F6] S3はフラットである — AWS公式SDKにも存在した、署名付き URLにおけるパストラバーサル脆 弱性 松井 遼太朗 / Eui Chul Chung(GMO Flatt Security) blog.flatt.tech/entry/signed_url_path_traversal

13.

その他の頻出パターン Lambda 環境変数のシークレット 環境変数にハードコードされた認証情報を取得 公開 EBS スナップショット Publicなスナップショットからボリュームを復元し機密情報を奪取 Cognito Identity Pool の設定ミス 未認証ユーザーに過剰な権限が付与されている Git リポジトリへのシークレット漏洩 .git 履歴にコミットされたアクセスキーを発掘

14.

みんなも CTF に 挑戦してみよう! 初心者でも楽しめる常設チャレンジを紹介

15.

おすすめ① flAWS / flAWS2 flaws.cloud by Scott Piper(Summit Route) ▸ AWS セキュリティの一般的なミスを段階的に学べる ▸ 全 6 レベルの構成(初心者 → 中級者向け) ▸ SQL インジェクションや XSS ではなく AWS 固有の問題に特化 ▸ S3公開設定、IAMキー漏洩、メタデータ取得など実践的 ▸ 無料 ・ 常設 http://flaws.cloud/ http://flaws2.cloud/

16.

おすすめ② The Big IAM Challenge bigiamchallenge.com by Wiz ▸ IAM ポリシーの設定ミスを見つけて悪用する全 6 ステップ ▸ S3 / SQS / SNS / Cognito など幅広いサービスが対象 ▸ ブラウザ上の Web CLI だけで完結、環境構築不要 ▸ 完了証明書がもらえる(リーダーボード付き) ▸ 無料 ・ 常設 https://bigiamchallenge.com/

17.

まとめ CTF は「攻撃者の気持ちになれる」最高の学習手段 攻撃手法の定石を知る = 守るべきポイントが分かる flAWS や Big IAM Challenge で今日から腕試しを! 「やってみると、やられ方がわかる」

18.

Thank You! #jawsugfuk #jawsug @beco_minn