この分野で学べること
- 基本コマンドによる調査
- ファイルと権限の仕組み
- ログやプロセスから情報を探す方法
初めての方はLevel 1から始め、解けたら次の難易度へ進むのがおすすめです。
コマンド操作、ファイル権限、プロセスなど、セキュリティ学習に必要なLinuxの基礎を実践できます。
初めての方はLevel 1から始め、解けたら次の難易度へ進むのがおすすめです。
39件の問題から選べます。
Linux Level 1: ★☆☆☆☆ Linuxサーバーに接続できました! ホームディレクトリにフラグが書かれたファイルがあるようです。 基本的なコマンドを使ってフラグを見つけましょう。 使えるコマンド: - ls: ファイル一覧を表示 - cat ファイ...
Linux Level 1: ★☆☆☆☆ Linuxでは、ファイル名が「.」(ドット)で始まるファイルは「隠しファイル」として 通常のlsコマンドでは表示されません。 サーバー上に隠しファイルがあるようです。探してみましょう!
Linux Level 1: ★☆☆☆☆ /var/log/app 以下には大量の日付別ログファイルが並んでおり、その中の1行だけにフラグが紛れ込んでいます。grepやfindを使ってERRORレベルの行を探し出してください。
Linux Level 1: ★☆☆☆☆ アプリケーションの設定ディレクトリの奥に、秘密鍵らしきファイルが隠れています。findコマンドで拡張子やディレクトリを手がかりに探し出し、中身を確認してください。
Linux Level 1: ★☆☆☆☆ ホームディレクトリに置かれた圧縮アーカイブ(.tar.gz)の中に、フラグが書かれたファイルが隠れています。tarコマンドで展開して中身を確認してください。
Linux Level 1: ★☆☆☆☆ /usr/local/bin に置かれた定期実行スクリプトと、それを登録しているcron設定を確認してみましょう。スクリプト自身のコメントにヒントが隠れていることがあります。
Linux Level 1: ★☆☆☆☆ /etc 以下には複数のサービス設定ファイルがあります。その中にはダミーの設定と本物のヒントが混在しているので、コメント行も含めてじっくり確認してください。
Linux Level 1: ★☆☆☆☆ 1本のシンボリックリンクの連鎖が複数のファイルを繋いでいます。lsやreadlinkでリンク先を確認しながら、実体ファイルにたどり着いてください。
Linux Level 1: ★☆☆☆☆ 隠しディレクトリの中に、通常とは異なるサイズの大容量ファイルが紛れています。duやfindのサイズオプションを使って、その中身を確認してください。
Linux Level 1: ★☆☆☆☆ あるスクリプトファイルには実行権限が付与されていません。パーミッションを確認し、chmodで実行権限を付与してから実行してください。
Linux Level 1: ★☆☆☆☆ 拡張子が .jpg でも中身はテキストファイル、ということがあります。fileコマンドで拡張子と実体が一致しないファイルを見破ってください。
Linux Level 1: ★☆☆☆☆ バックグラウンドで実行されている複数のプロセスの中から、目的のコマンドライン引数を持つプロセスを見つけてください。psコマンドの基本的な使い方を確認する問題です。
Linux Level 1: ★☆☆☆☆ いくつも入れ子になったディレクトリの奥に、フラグが書かれたファイルが1つだけ隠れています。findコマンドを使って、おとりのファイルに惑わされずに本物を見つけてください。
Linux Level 1: ★☆☆☆☆ シェルが起動する際に設定される環境変数の中に、フラグを保持するものがあります。envコマンドやecho $変数名で確認してみましょう。
Linux Level 1: ★☆☆☆☆ Linuxの基本コマンドとファイル権限を学ぶチャレンジです。 ヒントを頼りにSUIDを見つけてフラグを取得しましょう。
Linux Level 2: ★★☆☆☆ 一般ユーザーがsudoでパスワードなしに実行できるコマンドを確認してみましょう。GTFOBinsで知られるテクニックを使うと、そのコマンドからシェルへ抜け出せる場合があります。
Linux Level 2: ★★☆☆☆ このシステムには複数のcron設定(/etc/cron.d、/etc/crontab、ユーザーcrontabなど)が存在します。それぞれの設定ファイルを確認し、フラグが書き込まれた場所を見つけてください。
Linux Level 2: ★★☆☆☆ rootが定期実行するcronスクリプトのパーミッションを確認してみましょう。一般ユーザーでも書き込めてしまう場合、次の実行タイミングでどんなコードが動くか考えてみてください。
Linux Level 2: ★★☆☆☆ systemdのユニットファイルには [Service] セクションで環境変数を設定できます。登録されているサービス定義を調べ、そこに設定された値を確認してください。
Linux Level 2: ★★☆☆☆ 複数のディレクトリがシンボリックリンクで複雑に繋がっています。おとりのヒントファイルに惑わされず、リンクを1つずつ辿って本物のフラグファイルまでたどり着いてください。
Linux Level 2: ★★☆☆☆ このスクリプトには複数の意図的なバグ(タイポ、構文ミスなど)が仕込まれており、最後まで実行されません。bashのデバッグ機能を使ってバグを1つずつ直してください。
Linux Level 2: ★★☆☆☆ このシステムではバックグラウンドで特定のポートをリッスンするサービスが起動しています。ss/netstatでポートを特定し、ncで接続してフラグを受け取ってください。
Linux Level 2: ★★☆☆☆ プロジェクトディレクトリには .bak や .tmp、~ で終わる紛らわしいバックアップ/一時ファイルが複数あります。本物のフラグは隠しファイルの中に隠れています。
Linux Level 2: ★★☆☆☆ アクセスログには大量の行が含まれ、その中にフラグを含む行が複数紛れ込んでいます。パイプ(|)でコマンドをつなぎ、目的の行だけを抽出してください。