チャレンジ一覧
AES-ECBモードの脆弱性
ECBモードは同じ平文ブロックが同じ暗号文ブロックになるため、パターンが漏れます。この入門問題では、まず暗号化とエンコードの違いを確認します。 16進数データ: 4b494e4f434f7b6563625f6d6f64655f69735f7765616b7d この16進数データを文字列にデコードしてフラグを提出してください。
Apacheログから攻撃を見つけよ
Apache access.log(common 形式)を解析して、SQLインジェクション攻撃の痕跡を見つけましょう。攻撃が成功したのか失敗したのかを見分け、攻撃者が仕込んだ内容を読み取ってください。 ログ解析とパターンマッチングを学びます。 提供ファイル: access.log
Bashスクリプト - 自動化の力
/app/numbers.txt には1から1000までの数字が1行に1つずつ書かれています。 この中から、以下の条件を満たす数字をすべて抽出し、その合計値を求めてください: 条件: - 3の倍数 かつ 5の倍数 - 7で割り切れない Bashスクリプトを作成して解いてください。 合計値がフラグになります。
Excelマクロに隠されたフラグ
Excelマクロ付きブックに埋め込まれたマクロのコードを解析して、隠された認証コード(フラグ)を見つけましょう。 Office文書のマクロ解析方法を学びます。この教材では、マクロのソースはテキストでファイルの中に入っています。 提供ファイル: spreadsheet.xlsm
Git探偵 - 失われたコミット
/app/repo はGitリポジトリです。 開発者が誤って重要な情報を含むコミットを削除してしまいました。 git reflog を使って削除されたコミットを見つけ、そのコミットメッセージに含まれるフラグを取得してください。 ヒント: git reflog で過去の操作履歴を確認できます
JSONマスター - データ抽出
/app/users.json には100人のユーザー情報がJSON形式で保存されています。 この中から以下の条件を満たすユーザーを抽出してください: - age が 25以上30以下 - country が "Japan" - is_active が true 該当するユーザーのメールアドレスをすべて抽出し、アルファベット順にソートした最初のメールアドレスを KINOCO{...} で包んだものがフラグです。 ヒント: jq コマンドを使用してください
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
RC4ストリーム暗号の脆弱性
RC4は過去に広く使われましたが、現在は非推奨です。この入門問題では渡されたデータ形式を見抜きます。 Base64文字列: S0lOT0NPe3JjNF9pc19kZXByZWNhdGVkfQ== これは実際にはRC4暗号文ではありません。Base64デコードしてフラグを取得してください。
Vigenère暗号の解読
Vigenere暗号は複数のシーザー暗号を組み合わせた古典暗号です。鍵長が分かっている暗号文を復号し、フラグを取得してください。 暗号文: KMNRCS{vlginhri_clpleu_axtdco} 鍵の長さは4文字です。暗号文を解読してフラグを提出してください。
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 でファイルシステムを直接たどります。
ネットワーク解析 - DNSゾーン転送の漏洩
設定不備の権威DNSサーバーに対する、認証なしのゾーン転送(AXFR)が成功した通信をキャプチャしました。配布されるパケットキャプチャ(traffic.pcap)から転送された内部ゾーンのTXTレコードを解析し、フラグを回収してください。
ネットワーク解析 - ICMPによるデータ持ち出し
社内の端末10.20.0.15から外部の203.0.113.66へ、ping(ICMPエコー要求)を装ってデータが持ち出されました。トップページからtraffic.pcapをダウンロードし、外部宛てのエコー要求のデータ部をICMPシーケンス番号の順に連結してフラグを復元してください。
ネットワーク解析 - SMB共有列挙の情報漏洩
攻撃者がネットワーク上の SMB 共有を列挙している通信をキャプチャしました。配布されるパケットキャプチャ(traffic.pcap)から SMB(TCP/445)のトラフィックを追い、漏洩したファイルの中身に含まれるフラグを抽出してください。
ネットワーク解析 - Telnetの認証情報
古いサーバーがTelnet(平文)でリモート管理されていました。配布されるパケットキャプチャ(traffic.pcap)からTelnetセッションを追跡し、ログイン時のパスワードを抽出してください。パスワードがフラグです。
ネットワーク解析 - 匿名FTPの転送ファイル
匿名FTPで平文転送されたセッションをキャプチャしました。配布されるパケットキャプチャ(traffic.pcap)からFTPのデータ転送を追跡し、ダウンロードされたファイルの中身に含まれるフラグを抽出してください。
ネットワーク解析 - 平文HTTPの認証情報
公共Wi-Fiで傍受した通信を解析します。誰かが平文HTTPでログインしていました。配布されるパケットキャプチャ(traffic.pcap)からHTTP POSTのログイン要求を見つけ、パスワードを抽出してください。パスワードがフラグです。
ネットワーク解析 - 平文SMTPの添付ファイル
社内の端末10.30.0.25が、メールサーバー10.30.0.10の25番ポートへ暗号化なしでメールを送りました。トップページからtraffic.pcapをダウンロードし、メールに添付された社外秘のメモ(secret-memo.txt)を取り出して、そこに書かれたトークン(フラグ)を見つけてください。
ハッシュ衝突の発見
MD5では異なる入力が同じハッシュ値になる衝突が実用的に作れます。衝突耐性が破られたハッシュを安全用途に使ってはいけません。 同一MD5を持つとされる2つのファイル: file_a != file_b md5(file_a) = d131dd02c5e6eec4693d9a0698aff95c md5(file_b) = d131dd02c5e6eec4693d9a0698aff95c MD5衝突を発見したことを表す語句として、md5、collision、found の3語を小文字のままアンダースコアでつなぎ、KINOCO{...} の形式で提出してください。
ハッシュ長拡張攻撃
MD5、SHA-1、SHA-256などの構造では、secret || message の単純ハッシュを署名にすると長さ拡張攻撃を受ける場合があります。 既知のメッセージとSHA-256: message = "user=guest" sha256(secret || message) = 84d89877f0d4041efb6bf91a16f0248f2fd573e6af05c19f96bedb9f882f7882 append = "&admin=true" この問題では攻撃手順の理解を確認します。攻撃名を表す3つの英単語 hash、extension、attack を小文字のままアンダースコアでつなぎ、KINOCO{...} の形式で提出してください。
パケットキャプチャからパスワードを探せ
ショップの内部ネットワークで記録された平文HTTP通信をキャプチャしました。多数のリクエストの中に管理者アカウントのログイン試行が1件だけ紛れています。配布されるパケットキャプチャ(traffic.pcap)を解析し、管理者(username=admin)のパスワードを抽出してください。パスワードがフラグです。
パディングオラクル入門
パディングオラクル攻撃では、エラーの違いが平文復元の手がかりになります。この入門問題では、漏えいしたBase64文字列からフラグを読み取ります。 漏えいしたBase64文字列: Vmlld1NvdXJjZTpLSU5PQ097cGFkZGluZ19vcmFjbGVfYmFzaWNzfQ== この文字列をBase64デコードし、ViewSource: の後ろにある文字列をフラグとして提出してください。