チャレンジ一覧

LinuxLevel 2★★☆☆☆

Linux-02. sudoで許可されたvimからの権限昇格

一般ユーザーがsudoでパスワードなしに実行できるコマンドを確認してみましょう。GTFOBinsで知られるテクニックを使うと、そのコマンドからシェルへ抜け出せる場合があります。

LinuxLevel 2★★☆☆☆

Linux-03. cron設定ファイルを読み解け

このシステムには複数のcron設定(/etc/cron.d、/etc/crontab、ユーザーcrontabなど)が存在します。それぞれの設定ファイルを確認し、フラグが書き込まれた場所を見つけてください。

LinuxLevel 2★★☆☆☆

Linux-Cron権限昇格. 書き込み可能なrootスクリプトを乗っ取れ

rootが定期実行するcronスクリプトのパーミッションを確認してみましょう。一般ユーザーでも書き込めてしまう場合、次の実行タイミングでどんなコードが動くか考えてみてください。

LinuxLevel 2★★☆☆☆

Linux-systemd. サービスユニットの環境変数を確認せよ

systemdのユニットファイルには [Service] セクションで環境変数を設定できます。登録されているサービス定義を調べ、そこに設定された値を確認してください。

LinuxLevel 2★★☆☆☆

Linux-シンボリックリンク迷路. 分岐する道を辿り抜け

複数のディレクトリがシンボリックリンクで複雑に繋がっています。おとりのヒントファイルに惑わされず、リンクを1つずつ辿って本物のフラグファイルまでたどり着いてください。

LinuxLevel 2★★☆☆☆

Linux-スクリプトデバッグ. 壊れたbashスクリプトを直せ

このスクリプトには複数の意図的なバグ(タイポ、構文ミスなど)が仕込まれており、最後まで実行されません。bashのデバッグ機能を使ってバグを1つずつ直してください。

LinuxLevel 2★★☆☆☆

Linux-ネットワーク基礎. リッスン中のポートに接続せよ

このシステムではバックグラウンドで特定のポートをリッスンするサービスが起動しています。ss/netstatでポートを特定し、ncで接続してフラグを受け取ってください。

LinuxLevel 2★★☆☆☆

Linux-バックアップ探索. 紛れ込んだ一時ファイルを見抜け

プロジェクトディレクトリには .bak や .tmp、~ で終わる紛らわしいバックアップ/一時ファイルが複数あります。本物のフラグは隠しファイルの中に隠れています。

LinuxLevel 2★★☆☆☆

Linux-パイプライン. grepとawkの連携でログを絞り込め

アクセスログには大量のアクセス記録が含まれています。あるIPアドレスが短時間に多数の404を出しており、その一連のリクエストのパスをつなげるとフラグになります。grep・awk・sort・uniq などをパイプで組み合わせて組み立ててください。

LinuxLevel 2★★☆☆☆

Linux-パッケージ情報. インストール済みパッケージの詳細を調べよ

このシステムには自作のdebパッケージがインストールされています。dpkgやaptを使ってパッケージの詳細情報を確認し、その説明文に隠された情報を見つけてください。

LinuxLevel 2★★☆☆☆

Linux-プロセス追跡. 動き続けるプロセスの正体を暴け

複数のバックグラウンドプロセスが動いている中に、コマンドライン引数にフラグを持つものが1つ紛れています。psコマンドで一覧を確認し、それを見つけ出してください。

LinuxLevel 2★★☆☆☆

Linux-ユーザー調査. awkで対象ユーザーを絞り込め

このシステムには複数のユーザーが登録されています。/etc/passwdをawkで解析して特定の条件に合うユーザーを見つけ、そのホームディレクトリの隠しファイルを確認してください。

LinuxLevel 2★★☆☆☆

Linux-ログローテーション. 圧縮された過去ログを検索せよ

ログローテーションによって一部の古いログファイルはgzip圧縮されています。展開せずに圧縮ファイルの中身を検索するコマンドを使ってフラグを探してください。

LinuxLevel 2★★☆☆☆

Linux-ログ探索. 複数ログファイルからフラグを掘り出せ

アプリケーションログとシステムログの複数ファイルが用意されています。DEBUGレベルの1行だけにフラグが埋め込まれているので、grepなどで絞り込んで見つけてください。

LinuxLevel 2★★☆☆☆

Linux-環境変数の秘密. FLAGという名の変数を探せ

このシステムには複数の環境変数(ダミーの認証情報を含む)が設定されています。envコマンドで一覧を確認し、フラグを保持している変数を見つけてください。