チャレンジ一覧

LinuxLevel 3★★★☆☆

Linux-Capabilities. SUIDに頼らない権限昇格

このシステムでは特定のバイナリにLinux capabilitiesが付与されています。SUIDビットではなくcapabilitiesを使った権限昇格の手法を探してみましょう。

LinuxLevel 3★★★☆☆

Linux-SUID悪用. findバイナリで権限昇格せよ

このシステムにはSUIDビットが付与された find コマンドのコピーがあります。GTFOBinsで知られる手法を使い、root権限のシェルを取得してください。

LinuxLevel 3★★★☆☆

Linux-procメモリ. プロセスの環境変数を覗き見よ

バックグラウンドで動き続けるデーモンプロセスがあり、その環境変数の1つにフラグが設定されています。/procファイルシステムを使ってプロセスの情報を調べてください。

LinuxLevel 3★★★☆☆

Linux-strace. システムコールを追ってファイルを暴け

標準出力にもファイルにも何も残さないバイナリが用意されています。このプログラムは隠しファイルから鍵を読み、メモリ上でフラグを復元して /dev/null へ書き込みます。straceでシステムコールを追跡し、どの引数にフラグが現れるかを突き止めてください。

LinuxLevel 3★★★☆☆

Linux-競合状態. TOCTOUの隙を突いてroot権限のファイルを奪え

rootが定期的に実行するクリーンアップスクリプトには、チェックと処理の間に隙(TOCTOU)があります。シンボリックリンクをうまく使ってこの隙を悪用してみてください。

ネットワークLevel 3★★★☆☆

ネットワーク解析 - 802.1Q VLANで分けられた通信

capture.pcapは、スイッチのトランクポートをミラーしてキャプチャした通信で、複数のVLANのフレームが802.1Qタグ付きで混ざっています。どのVLANでも同じ機器からUDP 5140番宛てに MGMT|<断片> の形で文字列が少しずつ送られ、全部が交互に混ざっています。管理VLAN 42の断片だけを届いた順につなげ、フラグを復元してください。

ネットワークLevel 3★★★☆☆

ネットワーク解析 - SNMP情報漏洩

弱いコミュニティ文字列(public)で SNMPv2c を喋る機器の GetResponse をキャプチャしました。配布されるパケットキャプチャ(traffic.pcap)から SNMP(UDP/161)の varbind を解析し、ベンダー独自OIDの値に含まれるフラグを回収してください。

ネットワークLevel 3★★★☆☆

ネットワーク解析 - SSL Stripによる平文認証情報

SSL Strip 攻撃により HTTPS が HTTP に格下げされ、被害者の認証情報が平文で流れた通信をキャプチャしました。配布されるパケットキャプチャ(traffic.pcap)から平文HTTPのPOSTを解析し、ログインのパスワード(フラグ)を抽出してください。

ネットワークLevel 3★★★☆☆

ネットワーク解析 - WebSocketフレームのマスク解除

capture.pcapには、ブラウザとチャットサーバーのWebSocket通信が記録されています。クライアントからサーバーへのフレームは毎回ちがう4バイトの鍵でマスクされています。フレームを解析してマスクを外し、3つのフレームに分割されたメッセージを組み立てて、デプロイ用のトークン(フラグ)を取り出してください。

ネットワークLevel 3★★★☆☆

ネットワーク解析 - 独自プロトコルの解読

独自の簡易バイナリプロトコルで通信するシステムのトラフィックをキャプチャしました。配布されるパケットキャプチャ(traffic.pcap)から、TCPポート9999のフレーム構造を解析し、ペイロードをデコードしてフラグを取得してください。