チャレンジ一覧
Linux-ユーザー調査. awkで対象ユーザーを絞り込め
このシステムには複数のユーザーが登録されています。/etc/passwdをawkで解析して特定の条件に合うユーザーを見つけ、そのホームディレクトリの隠しファイルを確認してください。
Linux-ログローテーション. 圧縮された過去ログを検索せよ
ログローテーションによって一部の古いログファイルはgzip圧縮されています。展開せずに圧縮ファイルの中身を検索するコマンドを使ってフラグを探してください。
Linux-ログ探索. 複数ログファイルからフラグを掘り出せ
アプリケーションログとシステムログの複数ファイルが用意されています。DEBUGレベルの1行だけにフラグが埋め込まれているので、grepなどで絞り込んで見つけてください。
Linux-環境変数の秘密. FLAGという名の変数を探せ
このシステムには複数の環境変数(ダミーの認証情報を含む)が設定されています。envコマンドで一覧を確認し、フラグを保持している変数を見つけてください。
OSINT基礎 - メタデータ解析
退職した社員の共有ドライブから回収したファイル群(写真 `IMG_*.jpg` と Office 文書)が `/challenge/evidence/` にあります。何人かの社員が個人用エクスポートツール `PhotoVault-ExportTool` を使っており、このツールで書き出した写真の Exif `Software` タグには `build-tag=KINOCO{...}` が残っています。フラグは、このツールで書き出され、かつ Exif の撮影者(`Artist`)が退職者本人である、ただ1枚の写真のビルドタグです。退職者は、引き継ぎ資料 `Handover_Notes.docx` を最後に保存した人物(docProps の `cp:lastModifiedBy`)です。`exiftool` はありませんが、`unzip` と同梱の `/challenge/exif_dump.py` で読めます。
PDFの隠されたストリーム
PDFファイルには、圧縮されたオブジェクトストリームが含まれています。 ページに表示されない社内メモがその中に隠れています。そのメモからフラグを見つけましょう。 PDF内部構造を理解し、隠されたデータを抽出する方法を学びます。 提供ファイル: document.pdf
Web-11. 社員ポータルへのSQLインジェクション侵入
KinoGadget社の社内向け「社員アクセスポータル」は、レガシーな認証システムで動いています。開発者が動的SQLクエリを直接組み立てていると噂されており、管理者アカウントとして侵入できるか試すことになりました。
Web-12. BlogSearchの反射型XSS
BlogSearchはブログ記事を検索できる簡単な検索エンジンです。検索クエリが結果ページにそのまま(エスケープされずに)埋め込まれます。フラグは、サイト管理者のブラウザだけが持つセッションCookie(session_flag)に入っています。反射型XSSのURLを作り、ページ下の「管理者に報告」から管理者に開かせて、管理者のCookieを /report?c=... に送らせてください。送られた値は /loot で読めます。
Web-13. ImageVaultのファイルアップロード回避
ImageVaultはJPG・PNG・GIF画像をアップロードできる画像ホスティングサービスです。ファイルの検証がファイル名の末尾だけを見ているとしたら、どんな不正なファイルが通ってしまうでしょうか。
Web-14. ネットワーク診断ツールのコマンドインジェクション
このアプリはホスト名を入力するとpingを実行してくれる診断ツールです。入力したホスト名がそのままシェルコマンドに渡されているとしたら、何が起きるでしょうか。
Web-15. UserProfile ServiceのIDOR
UserProfile ServiceはユーザーIDを指定してプロフィール情報を取得できるAPIを提供しています。自分のID以外を指定した場合にアクセス権のチェックが行われているか確認してみましょう。
Web-16. CHIMERA研究ラボの弱いJWT秘密鍵
社員ポータルへの侵入で見つけた手がかりから、隔離された研究ラボシステム「CHIMERA」の存在が判明しました。このシステムはJWTで認証しており、開発者が推測しやすい秘密鍵で署名している疑いがあります。
Web-17. FileShareのパストラバーサル
FileShareは共有フォルダ内のファイルを一覧・ダウンロードできるアプリです。ダウンロードエンドポイントに渡すファイル名パラメータが検証されているか確認してみましょう。
Web-18. コンタクトフォームのXXE攻撃
このコンタクトフォームは入力内容をXMLに変換してサーバーへ送信し、サーバー側でパースした結果を表示します。XMLパーサーの設定次第では思わぬファイルが読めてしまうかもしれません。
Web-19. 銀行アプリのCSRF送金
このバンキングアプリではログイン中のユーザーが送金操作を行えます。別サイトから送金リクエストを送らせることができないか、CSRF対策の有無を確認してみましょう。
Web-20. URL FetcherからのSSRF
このURL Fetcherサービスはユーザーが指定したURLの内容を取得して表示します。サーバーが到達できる内部専用サービスにまでリクエストを送らせることができないか確認しましょう。
Windows レジストリからUSB履歴を探せ
SYSTEM ファイル(レジストリ hive の USBSTOR 部分をテキストで表したもの)を解析して、2025-11-19 14:45(UTC)ごろに接続されていた USB デバイスを特定し、そのデバイスが記録していた値からフラグを取得しましょう。Windowsフォレンジックの基本を学びます。 提供ファイル: SYSTEM
テキスト処理の達人 - sed & awk
/app/data.csv にはCSVデータが保存されています。 以下の処理を行ってください: 1. 2列目(価格)が1000以上の行のみを抽出 2. 3列目(商品名)に含まれる "_" をスペースに置換 3. 1列目(ID)の先頭に "PROD-" を追加 処理後のデータの最初の行に含まれる商品名がフラグです。 フォーマット: ID,価格,商品名
ディスクイメージから秘密ファイルを探せ
ext4 ファイルシステムのディスクイメージ `disk.img` を調査し、ファイルシステム内に隠された秘密のバックアップを見つけ出して、フラグを取得してください。 コンテナの中では mount できないため、debugfs でファイルシステムを直接たどります。
パケットキャプチャからパスワードを探せ
ショップの内部ネットワークで記録された平文HTTP通信をキャプチャしました。多数のリクエストの中に管理者アカウントのログイン試行が1件だけ紛れています。配布されるパケットキャプチャ(traffic.pcap)を解析し、管理者(username=admin)のパスワードを抽出してください。パスワードがフラグです。
ファイルのタイムスタンプから侵入時刻を特定せよ
evidence/ の複数のファイルの更新時刻を分析して、侵入が発生した時間帯と関連する隠しファイルを特定しましょう。隠しファイルの中身は、そのまま読めるとは限りません。 タイムライン分析の基本を学びます。
プロセスハンター - 隠されたプロセス
バックグラウンドで "secret_service" という名前のプロセスが動作しています。 このプロセスを見つけて以下の情報を取得してください: 1. プロセスID (PID) 2. 実行ユーザー 3. コマンドライン引数 コマンドライン引数にフラグが含まれています。 ヒント: ps, pgrep, top などのコマンドを使用
メモリダンプからプロセスを探せ
memory.dump は、メモリダンプの解析結果(pslist / psscan / cmdline)を並べた簡略化テキストです。リストから隠されている不審なプロセスを見つけ、そのプロセスが持つ設定の値からフラグを読み取りましょう。メモリフォレンジックの基本を学びます。 提供ファイル: memory.dump
ログ解析 - 侵入者を見つけろ
/app/auth.log には認証ログが記録されています。 不審なアクティビティを検出してください: - 1時間以内に10回以上ログイン失敗しているIPアドレスを特定 - そのIPアドレスからの最初の失敗ログインのタイムスタンプを取得 ログフォーマット: [YYYY-MM-DD HH:MM:SS] Failed login from IP_ADDRESS フラグの形式: そのタイムスタンプの日付と時刻を _ でつなぎ、KINOCO{} で囲みます(例: [2025-01-02 03:04:05] → KINOCO{2025-01-02_03:04:05})。