ARP Spoofing Challenge 競技ルール
2014年10月14日(火) 更新
SECCON 2014 札幌大会 ARP Spoofing Challenge
本文書は SECCON 2014 札幌大会で開催する「ARP Spoofing Challenge」の競技ルールについて解説したものです。
スケジュール,参加チームについてはSECCON 2014 札幌大会の告知ページをご覧ください.
■ ネットワーク構成
ネットワーク構成は以下のようになります.
(上の図は競技者が4名の場合です.競技者の数に応じて,サーバ/クライアント/PCは増加します)
■ ARP Spoofing Challenge 競技概要
各競技者(プレイヤー)ごとに,サーバとクライアントの1組を割り当てられています.
これらのサーバ-クライアント間通信が成功している間は,そのプレイヤーのスコア
が増加します.ライバルのサーバ⇔クライアント間通信を邪魔したり,スコアを奪い
取ったりしましょう.
● 具体的には,以下のような通信をします.
- まずサーバ1とクライアント1は,UDPによる通信をしています.
- 同様にサーバ2とクライアント2,サーバ3とクライアント3,...のように,
互いに通信をしています.
● 通信の内容は,以下のようなものです.
- サーバXがクライアントXに対して,UDPのリクエストを送信する.
- クライアントXはサーバXからのリクエストを受けると,リプライを返す.
- サーバXはクライアントXからのリプライを受けると,プレイヤーXのスコアを加算する.
これらのUDP通信を傍受・改ざんすることで他人のスコアを奪いとり,高スコアを狙うのが,
ARP Spoofing Challengeの競技です.
■ サーバ-クライアント間の通信の詳細
サーバは一定時間おきに,クライアントに対してUDPのリクエストを発行します.
クライアントはリクエストを受けると,UDPでリプライを返します.
リクエストとリプライのペイロード
リクエストとリプライは,UDPのペイロードとして以下のようなデータを持っています.
クライアントからのリプライの返信
クライアントはリクエストを受けると,そのペイロードに対して以下の変更を行い,
リプライとして返します.
サーバでのリプライの受信
サーバはリプライを受けると,ペイロード中のIPアドレスを見て,
対応するプレイヤーのスコアを加算します.
… 詳しいことは,頑張ってパケットをのぞき見てください.(笑)
■ PCの接続に関する制限
サーバ/クライアントと競技者PCは,L2ネットワーク的にフラットに接続されています.
しかし以下の制限があります.
おしまい.では頑張って!
出題者よりアドバイス
- ARPをいろいろいじって送信したり,UDPの中身や送信元MACアドレスをいじったり,時間タイミングに合わせて送信したり,スクリプトと組み合わせたりしたくなると思うので,pkttoolsというツールに慣れておくと有利です.
(その他,気付いた点があれば,追記します)
■ 競技に関する質問
- Q1.『各競技者(プレイヤー)ごとに,サーバとクライアントの1組を割り当てられています.』とのことですが、「各競技者(プレイヤー)」は各チーム代表の1名でしょうか?それとも参加者1名ごとが「各競技者(プレイヤー)」なのでしょうか?
- A1. ここの「各競技者(プレイヤー)」は各チームという意味になります。各チーム毎に1つずつサーバとクライアントの1組が割り当てられます。チームの机には「競技者PC」として接続できるLANケーブルを1つ用意します。そこから先は各チームで自由に使っていただいて構いません。
- Q2.(質問があり次第追記します)
- A2.(質問があり次第追記します)
競技に関する質問がありましたら、以下にお問い合わせください:
E-Mail: info@seccon.jp
参考写真:スコアサーバ(一部)
通称「千手観音」システムの断片
ヒント
- サンプルパケット: arp_sample.txt