チャレンジ一覧

カテゴリと難易度で絞り込みながら、興味のある問題を探せます。

リセット
Programming Level 4: ★★★★☆

Python上級 - カスタムVMバイトコードの実行

program.kvmは独自の4レジスタVM用バイトコードです。READMEの命令仕様を基にPythonでインタプリタを実装し、VMの出力を復元してください。

Forensics Level 4: ★★★★☆

TLS暗号化されたHTTPS通信を復号せよ

安全なTLSフォレンジック用fixtureを解析してください。traffic.pcap は1件のTLSアプリケーションデータをテキストで表したキャプチャ、sslkeylog.txt は対応するキーログの記録です。実通信を...

Web Level 4: ★★★★☆

Web-26. User Profile Managerのプロトタイプ汚染

このNode.js/Express製アプリではログイン中のユーザーが自分のプロフィールを更新できます。更新処理に使われている再帰的なマージ関数が特殊なキーをきちんと除外しているか確認してみましょう。

Web Level 4: ★★★★☆

Web-27. GraphQL APIのイントロスペクション漏洩

このGraphQL APIはUserオブジェクトのスキーマを公開しており、イントロスペクションが有効になっています。公式には案内されていないクエリやフィールドが存在しないか調べてみましょう。

Web Level 4: ★★★★☆

Web-28. OAuth認可コードの横取り

このOAuth 2.0認可プロバイダーはログインフローを提供していますが、redirect_uriの検証が甘い可能性があります。認可コードを横取りして管理者権限のアクセストークンを得られないか確認してみましょう。

Web Level 4: ★★★★☆

Web-29. MongoDBログインフォームのNoSQLインジェクション

このログインポータルはMongoDBを使っており、ユーザー名・パスワードをJSONとしてそのままクエリに組み込んでいます。パスワードを知らなくても管理者としてログインできないか確認してみましょう。

Web Level 4: ★★★★☆

Web-30. KinoVaultの安全でないデシリアライズ

レガシーなバックアップシステム「KinoVault」は、ユーザーセッションをPythonのpickleでシリアライズしてCookieに保存していると噂されています。Cookieの形式を解析し、悪意あるpickleペイロー...

General Skills Level 4: ★★★★☆

カスタムツール開発 - Webディレクトリスキャナー

ライブWebサイトを走査せず、ローカル生成されたdirectory scanner reportを解析してください。成功したsecret_admin backup行のpayloadを復元します。

General Skills Level 4: ★★★★☆

ネットワークトンネリング - SSH ポートフォワーディング

単一コンテナ内でSSHローカルポートフォワーディングを練習します。SSHジャンプ役は127.0.0.1:22、内部サービスは同じコンテナの127.0.0.1:5432だけで待ち受けます。8888へ安全に転送して応答を取得...

Network Level 4: ★★★★☆

ネットワーク解析 - TCP再送差分の隠れチャネル

capture.pcapには同一TCPシーケンス番号を持つ再送パケットがあります。ペイロードが変化した再送だけを抽出し、同じシーケンス番号の2つの1バイトペイロードをXORして、シーケンス番号順にフラグを復元してください...

Programming Level 4: ★★★★☆

バイナリ修復 - ファームウェアヘッダーとCRC32

firmware.bin の先頭4バイトを KINO に修復し、byte 12以降の CRC32 をリトルエンディアンで byte 8-11 に書き戻してください。修正ファイルを challenge.py に渡すと起動時...

Programming Level 4: ★★★★☆

プログラミング - C2通信の解析

beacon.log は起動時に注入された FLAG から生成されます。seq順payloadをBase64結合しbeacon-v1 SHA-256先頭8byteでXOR復号してフラグを取得してください。

Programming Level 4: ★★★★☆

プログラミング - バッファオーバーフロー・クラッシュ解析

crash-report.txt は起動時に注入された FLAG から生成されます。SIGSEGVかつfault_offset対象のstack_after_offsetをtraining-stack-canary鍵でXO...

Programming Level 4: ★★★★☆

プログラミング - ファジング結果の解析

fuzz-results.log は起動時に注入された FLAG から生成されます。SIGSEGV入力を選びBLAKE2s(fuzz-case-17)でXOR復号してフラグを取得してください。

Programming Level 4: ★★★★☆

プログラミング - ブロックチェーンイベントの再構築

blocks.json は起動時に注入された FLAG から生成されます。FlagFragmentかつtopic=0xfeedfaceをindex順に結合し16進復元してフラグを取得してください。

Programming Level 4: ★★★★☆

プログラミング - ルートキットのビュー差分

proc_ps.txt と proc_kernel.txt は起動時に注入された FLAG から生成されます。プロセスビュー差分のmarkerをROT13復元してフラグを取得してください。

Programming Level 4: ★★★★☆

プログラミング - 異常リクエストの検出

requests.csv は起動時に注入された FLAG から生成されます。最大signal行のpayloadをBase85デコード後XOR復号してフラグを取得してください。

Programming Level 4: ★★★★☆

プログラミング - 診断結果の解析

findings.json は起動時に注入された FLAG から生成されます。到達可能critical findingのreversed_tokenを反転してフラグを取得してください。

Programming Level 4: ★★★★☆

プログラミング - 非同期スキャン結果の解析

scan.json は起動時に注入された FLAG から生成されます。443/tcpがopenの検証ホストを選びreview_fragmentsを16進復元してフラグを取得してください。

Forensics Level 4: ★★★★☆

メモリからマルウェアのペイロードを抽出せよ

押収したメモリ文字列の記録 `memstrings.txt` を解析し、難読化された第2段ペイロードを復元してください。`stage2=` のBase64データを1バイトXORで復号し、復元したドロッパーのcampaig...

Forensics Level 4: ★★★★☆

メモリから隠されたカーネルモジュールを検出せよ

Linuxメモリ調査の2つのビューを再現した `modules_list.txt` と `sysfs_modules.txt` を比較し、連結リストから自身をアンリンクした隠しカーネルモジュールを特定してください。sys...

Forensics Level 4: ★★★★☆

多段階ステガノグラフィを解読せよ

`cover.png` と `notes.txt` に隠された3段階の情報を追跡してください。PNGピクセルLSBのメッセージ、IEND後に付加されたBase64の手掛かり、そして指定段落のゼロ幅文字を順に復号してフラグ...

Forensics Level 4: ★★★★☆

断片化されたJPEGファイルを復元せよ

`fragments/` にある断片と `.meta` サイドカーを解析して、断片化されたJPEGを復元してください。ファイル名ではなくSHA-256ハッシュチェーンで正しい順序を決め、復元したJPEGのCOMコメントか...

General Skills Level 4: ★★★★☆

暗号化通信 - GPG公開鍵暗号

GnuPG の復号を練習します。`/challenge/keys/` にある秘密鍵をすべてインポートし、`/challenge/messages/` の各暗号文を復号してください。フラグを含む平文になるのは、本物の受信者...