ARP Spoofing Challenge 競技ルール

2014年10月14日(火) 更新

SECCON 2014 札幌大会 ARP Spoofing Challenge

本文書は SECCON 2014 札幌大会で開催する「ARP Spoofing Challenge」の競技ルールについて解説したものです。

スケジュール,参加チームについてはSECCON 2014 札幌大会の告知ページをご覧ください.

■ ネットワーク構成

ネットワーク構成は以下のようになります.

クライアント1──┤                  ├──サーバ1
(192.168.100.2/24)│                  │(192.168.100.1/24)
                  │                  │
クライアント2──┤                  ├──サーバ2
(192.168.101.2/24)│                  │(192.168.101.1/24)
                  │                  │
クライアント3──┤                  ├──サーバ3
(192.168.102.2/24)│                  │(192.168.102.1/24)
                  ├────┬────┤
クライアント4──┤        │        ├──サーバ4
(192.168.103.2/24)          │          (192.168.103.1/24)
                            │
              ─┬───┬─┴─┬───┬
                │      │      │      │
              PC1  PC2  PC3  PC4
                     (競技者PC)

(上の図は競技者が4名の場合です.競技者の数に応じて,サーバ/クライアント/PCは増加します)

■ ARP Spoofing Challenge 競技概要

各競技者(プレイヤー)ごとに,サーバとクライアントの1組を割り当てられています. これらのサーバ-クライアント間通信が成功している間は,そのプレイヤーのスコア が増加します.ライバルのサーバ⇔クライアント間通信を邪魔したり,スコアを奪い 取ったりしましょう.

● 具体的には,以下のような通信をします.

  1. まずサーバ1とクライアント1は,UDPによる通信をしています.
  2. 同様にサーバ2とクライアント2,サーバ3とクライアント3,...のように, 互いに通信をしています.

● 通信の内容は,以下のようなものです.

  1. サーバXがクライアントXに対して,UDPのリクエストを送信する.
  2. クライアントXはサーバXからのリクエストを受けると,リプライを返す.
  3. サーバXはクライアントXからのリプライを受けると,プレイヤーXのスコアを加算する.

 これらのUDP通信を傍受・改ざんすることで他人のスコアを奪いとり,高スコアを狙うのが,
ARP Spoofing Challengeの競技です.

■ サーバ-クライアント間の通信の詳細

サーバは一定時間おきに,クライアントに対してUDPのリクエストを発行します. クライアントはリクエストを受けると,UDPでリプライを返します.

リクエストとリプライのペイロード

リクエストとリプライは,UDPのペイロードとして以下のようなデータを持っています.

0       4       8 9    12      16                              32
+-------+-------+-+-----+-------+-------+-------+-------+-------+
|  ID   |IPaddr |S|   Reserve   |           Watchword           |
+-------+-------+-+-----+-------+-------+-------+-------+-------+
・ID        ... ID番号(乱数で生成した)
・IPaddr    ... 宛先クライアントのIPアドレス
・S         ... スコアの加算値
・Watchword ... 乱数で選択された合い言葉

クライアントからのリプライの返信

クライアントはリクエストを受けると,そのペイロードに対して以下の変更を行い,
リプライとして返します.

  • 合い言葉を見て,対応する合い言葉に変換する

サーバでのリプライの受信

サーバはリプライを受けると,ペイロード中のIPアドレスを見て,
対応するプレイヤーのスコアを加算します.

… 詳しいことは,頑張ってパケットをのぞき見てください.(笑)

■ PCの接続に関する制限

サーバ/クライアントと競技者PCは,L2ネットワーク的にフラットに接続されています.

しかし以下の制限があります.

  • 競技者PCから送信したパケットは,3秒に1個しか中継されません.
  • 競技者PCごとに,利用できるMACアドレスとして,以下のものが割り当てられています.
      00:11:11:11:11:01, 00:11:11:11:11:02, 00:11:11:11:11:03, ...
    
  • 競技者PCから送信されたパケットは,割り当てられたMACアドレスが送信元になっているもの以外は破棄されます.
  • また競技者PCには,割り当てられたMACアドレスが宛先になっているもの以外は中継されません.(例外としてブロードキャストは中継されます)
  • つまり競技者は,送信元MACアドレスを指定されたものに設定した上でパケットを送信する必要があります.
  • 自分にどのMACアドレスが割り当てているかは,上記のMACアドレスの中から頑張ってさぐってください.(笑)

おしまい.では頑張って!

出題者よりアドバイス

  1. ARPをいろいろいじって送信したり,UDPの中身や送信元MACアドレスをいじったり,時間タイミングに合わせて送信したり,スクリプトと組み合わせたりしたくなると思うので,pkttoolsというツールに慣れておくと有利です.

(その他,気付いた点があれば,追記します)

■ 競技に関する質問

  • Q1.『各競技者(プレイヤー)ごとに,サーバとクライアントの1組を割り当てられています.』とのことですが、「各競技者(プレイヤー)」は各チーム代表の1名でしょうか?それとも参加者1名ごとが「各競技者(プレイヤー)」なのでしょうか?
  • A1. ここの「各競技者(プレイヤー)」は各チームという意味になります。各チーム毎に1つずつサーバとクライアントの1組が割り当てられます。チームの机には「競技者PC」として接続できるLANケーブルを1つ用意します。そこから先は各チームで自由に使っていただいて構いません。
  • Q2.(質問があり次第追記します)
  • A2.(質問があり次第追記します)

競技に関する質問がありましたら、以下にお問い合わせください:
E-Mail: info@seccon.jp

参考写真:スコアサーバ(一部)

通称「千手観音」システムの断片

ヒント

  1. サンプルパケット: arp_sample.txt
重要なお知らせ


SECCON 2015年度のWebサイトを公開


▼ 2014年度 協賛企業 ▼


富士通株式会社

エヌ・アール・アイ・セキュアテクノロジーズ株式会社

さくらインターネット株式会社



KDDI株式会社

ソフトバンク・テクノロジー株式会社

株式会社ディアイティ

株式会社ディー・エヌ・エー

デル株式会社

株式会社ドワンゴ

日本アイ・ビー・エム株式会社
日本電気株式会社
日本電信電話株式会社

株式会社日立システムズ

LINE株式会社



(ISC) 2 Japan

SCSK株式会社

株式会社エルテス

株式会社Kaspersky Labs Japan

一般社団法人関西情報センター

株式会社教育システム / 株式会社人総研
codeIQ
サイボウズ株式会社

テンプスタッフ・テクノロジー株式会社

トレンドマイクロ株式会社

一般財団法人日本情報経済社会推進協会(JIPDEC)

株式会社日本レジストリサービス(JPRS)

株式会社ハートビーツ

株式会社ラック

Digital Travesia

※2015年1月22日現在
※協賛企業様、引き続き募集中