チャレンジ一覧

絞り込みを解除

75 問 (2 / 4 ページ)

WebセキュリティLevel 2★★☆☆☆

Web-17. FileShareのパストラバーサル

FileShareは共有フォルダ内のファイルを一覧・ダウンロードできるアプリです。ダウンロードエンドポイントに渡すファイル名パラメータが検証されているか確認してみましょう。

WebセキュリティLevel 2★★☆☆☆

Web-18. コンタクトフォームのXXE攻撃

このコンタクトフォームは入力内容をXMLに変換してサーバーへ送信し、サーバー側でパースした結果を表示します。XMLパーサーの設定次第では思わぬファイルが読めてしまうかもしれません。

WebセキュリティLevel 2★★☆☆☆

Web-19. 銀行アプリのCSRF送金

このバンキングアプリではログイン中のユーザーが送金操作を行えます。別サイトから送金リクエストを送らせることができないか、CSRF対策の有無を確認してみましょう。

WebセキュリティLevel 2★★☆☆☆

Web-20. URL FetcherからのSSRF

このURL Fetcherサービスはユーザーが指定したURLの内容を取得して表示します。サーバーが到達できる内部専用サービスにまでリクエストを送らせることができないか確認しましょう。

フォレンジックLevel 2★★☆☆☆

Windows レジストリからUSB履歴を探せ

SYSTEM ファイル(レジストリ hive の USBSTOR 部分をテキストで表したもの)を解析して、2025-11-19 14:45(UTC)ごろに接続されていた USB デバイスを特定し、そのデバイスが記録していた値からフラグを取得しましょう。Windowsフォレンジックの基本を学びます。 提供ファイル: SYSTEM

フォレンジックLevel 2★★☆☆☆

ディスクイメージから秘密ファイルを探せ

ext4 ファイルシステムのディスクイメージ `disk.img` を調査し、ファイルシステム内に隠された秘密のバックアップを見つけ出して、フラグを取得してください。 コンテナの中では mount できないため、debugfs でファイルシステムを直接たどります。

フォレンジックLevel 2★★☆☆☆

パケットキャプチャからパスワードを探せ

ショップの内部ネットワークで記録された平文HTTP通信をキャプチャしました。多数のリクエストの中に管理者アカウントのログイン試行が1件だけ紛れています。配布されるパケットキャプチャ(traffic.pcap)を解析し、管理者(username=admin)のパスワードを抽出してください。パスワードがフラグです。

フォレンジックLevel 2★★☆☆☆

ファイルのタイムスタンプから侵入時刻を特定せよ

evidence/ の複数のファイルの更新時刻を分析して、侵入が発生した時間帯と関連する隠しファイルを特定しましょう。隠しファイルの中身は、そのまま読めるとは限りません。 タイムライン分析の基本を学びます。

フォレンジックLevel 2★★☆☆☆

メモリダンプからプロセスを探せ

memory.dump は、メモリダンプの解析結果(pslist / psscan / cmdline)を並べた簡略化テキストです。リストから隠されている不審なプロセスを見つけ、そのプロセスが持つ設定の値からフラグを読み取りましょう。メモリフォレンジックの基本を学びます。 提供ファイル: memory.dump

フォレンジックLevel 2★★☆☆☆

削除されたファイルを復元せよ

ディスクイメージから削除された圧縮ファイル(ZIP)を復元し、中のメモからフラグを見つけましょう。 ファイルカービングツールを使用して、削除されたファイルを復元する方法を学びます。 提供ファイル: disk_image.dd

フォレンジックLevel 2★★☆☆☆

画像のLSBに隠されたメッセージ

PNGファイルのLSB(最下位ビット)に隠されたメッセージを抽出しましょう。 ステガノグラフィ解析の基本を学びます。 提供ファイル: image.png

フォレンジックLevel 3★★★☆☆

Chromeブラウザからセッションクッキーを抽出せよ

Linux 版 Chrome のプロファイルから取り出した `/challenge/Cookies` と `/challenge/History`(どちらも SQLite)を渡します。 被害者は、社内メールのリンクから偽の SSO ページを経由して、ある社内管理画面にログインしました。その管理画面の `admin_session_id` クッキーの値(フラグ)を取り出してください。管理画面はいくつもあり、どの管理画面のクッキーも同じ形をしています。Cookies の値は暗号化されています。 使えるツール: sqlite3, openssl, python3, xxd

フォレンジックLevel 3★★★☆☆

DNSトンネリングを検出せよ

DNS クエリの記録 `dns_queries.log` を解析し、DNS トンネリングによるデータ流出を検出してください。単一ドメインへ長いラベルの問い合わせを大量に出しているホストを見つけ、ラベルを seq 順に並べて hex デコードするとフラグになります。

フォレンジックLevel 3★★★☆☆

NTFS $MFTから削除ファイルの痕跡を探せ

Windows 端末 `KINOCO-WS07` の `$MFT` をレコード単位のテキストに書き出した `/challenge/mft_records.txt`(先頭にクラスタサイズとダンプの開始 LCN があります)と、ボリューム C: のクラスタの生データ `/challenge/cluster_dump.bin` を渡します。 ユーザー yuki が削除した `secret_note.txt.gz` は非常駐(non-resident)で、断片に分かれてディスクに残っています。MFT の `$DATA` に残るデータラン(RunList)の生バイトを読み解いて断片を集め、元のファイルを復元して、フラグを取り出してください。常駐データに見える文字列は、答えとは限りません。 使えるツール: python3, xxd, dd, gzip, grep, awk

WebセキュリティLevel 3★★★☆☆

Web-21. Secure User Searchのブラインドインジェクション

このユーザー検索アプリはユーザー名の存在有無だけを返しますが、直接的な検索結果は表示しません。エラーの発生有無やレスポンスの違いを手がかりに、隠された情報を推測できないか確認してみましょう。

WebセキュリティLevel 3★★★☆☆

Web-22. Secure Comment BoardのCSPバイパス

このコメント掲示板はContent Security Policy(CSP)で保護されており、スクリプトの実行元を自サイトと信頼済みCDNのみに制限しています。信頼されたCDNの中身まで安全とは限らない点に注目してみましょう。

WebセキュリティLevel 3★★★☆☆

Web-23. Secure Authentication Systemの型変換の罠

このログインポータルはフォームログイン・JSON API ログイン・検証コードチェックを備えています。管理者アカウントの本当のパスワードは分かりませんが、比較処理の実装次第では回避できるかもしれません。

WebセキュリティLevel 3★★★☆☆

Web-24. Secure Bankの競合状態を突く

Secure Bankではコイン残高を使ってショップで景品を購入できます。残高チェックと引き落とし処理が別々のステップで行われている場合、その間隙をどう突けるか考えてみましょう。

WebセキュリティLevel 3★★★☆☆

Web-25. Greeting Card GeneratorのSSTI

このグリーティングカード作成アプリはFlask/Jinja2で作られており、入力したメッセージをそのままテンプレートエンジンでレンダリングしています。テンプレート構文がどこまで実行されてしまうか調べてみましょう。

フォレンジックLevel 3★★★☆☆

イベントログからブルートフォース攻撃を検出せよ

サーバー `kinoco-srv01` の sshd 認証ログ `/challenge/auth.log` を解析し、ブルートフォース攻撃を成功させた攻撃者のセッションを特定してください。 このサーバーはハニーポットで、セッションを開くたびに PAM モジュールがカナリアトークンを発行し、次の形でマスクして記録します。 sshd[PID]: pam_canary(sshd:session): token issued for USER: <hex> hex = トークン(ASCII 文字列)の各バイトを、SHA-256("<PID>:<送信元ポート>") のダイジェスト 32 バイトを繰り返したものと XOR し、16進にしたもの PID と送信元ポートは、そのセッションの `Accepted password` 行の値です。全セッションが同じ形のトークンを持つので、どれが攻撃者のものかは、ログイン失敗の様子から決める必要があります。フラグは、攻撃者のセッションのトークンです。 使えるツール: python3, grep, awk

フォレンジックLevel 3★★★☆☆

メモリから不審なネットワーク接続を見つけよ

侵害されたホスト `kinoco-app03` のメモリイメージから、ソケット一覧 `/challenge/netstat_dump.txt` と、ESTABLISHED のソケットを持つプロセスごとのヒープ領域 `/challenge/heap_carve/pid_<PID>.bin` を復元しました。 カーネルスレッドに偽装した不審なプロセス(インプラント)が外部の C2 サーバーと通信していて、ビーコン設定(フラグを含む)をヒープに、平文ではない形で隠し持っています。ソケット一覧からそのプロセスを特定し、ヒープから設定を取り出してください。ほかのヒープには、フラグに似たおとりの文字列が混ざっています。 使えるツール: python3, grep, strings, xxd, awk

フォレンジックLevel 3★★★☆☆

メモリから実行コマンドを復元せよ

メモリ文字列の記録 `memdump.txt` を解析し、実行されたコマンド履歴を復元してください。Base64 文字列をデコードし、bash へ渡している不審なコマンドの引数からフラグを取得します。

フォレンジックLevel 3★★★☆☆

削除されたSQLiteレコードを復元せよ

社内チャット「kinoco-msg」の SQLite データベース `/challenge/app.db` を渡します。「機密メッセージ」として送られた本文は、次の形で保存されます。 body = "enc:v1:" + hex(本文 XOR 鍵ストリーム) 鍵ストリーム = SHA-256("<salt>|<sender>|<sent_at>|0") || SHA-256("<salt>|<sender>|<sent_at>|1") || ... salt = settings テーブルの secure_msg_salt(sender と sent_at は、そのメッセージの列の値) 管理者がワンタイムのアカウントリカバリートークンを機密メッセージで送り、すぐに削除しました。SELECT では見えない削除済みのレコードを復元し、本文を復号してトークン(フラグ)を取り出してください。 使えるツール: sqlite3, python3, xxd, strings, grep

フォレンジックLevel 3★★★☆☆

多重に圧縮されたファイルを解凍せよ

`/challenge/artifact.xz` は、攻撃者が持ち出そうとしていたファイルで、gzip・bzip2・xz・zip・tar が何重にも重ねてあります。形式を1層ずつ見極めながら剥がし、最も深いところにある `flag.txt` からフラグを取り出してください。 途中のアーカイブには、README・ノイズ・偽の `flag.txt` などのおとりが一緒に入っている階層があります。ファイルの拡張子はあてになりません。 使えるツール: file, gzip, bzip2, xz, zip/unzip, tar, python3