DEFCON19 CTF day1

CTFの開始は9:00ですが、その少し前に、会場隣の小さな会議室に集められました。一応簡単な説明とチーム認証があります。この認証は前日(というか当日の朝3:00過ぎ)に各チームに配布される合い言葉を言うというもので、全チームそれを言うのですが、口に出せないような単語だったりして(笑)

ミーティング風景


その後、裏口よりCTF会場に通されます。これから10:00までがセットアップタイム。我々は10番目でオレンジ色のテーブルになりました。各チームのテーブルには2本のケーブルが来ており、1本は自チームのサーバへ、もう1本は中央のネットワークにつながっています。
この間の部分を自由に構築ができ、防御や攻撃の監視などを行うことになります。
この辺は、昨年の問題とルールを聞いていたので想定の範囲内。各チームにはネットワークの1つのブロックが割り当てられ1~10が運営側で使用します。2が自チームのサーバのIPになります。

各チームのテーブルへケーブルが2本


競技の開始が順調に遅れ、11時近くになって、各チームにUSBメモリが配布されます。ここには、チームサーバへの接続するための鍵や、サーバで動かす問題のバイナリなどが入っています。昨年はここのウイルスが入っていたとのことで、今年も警戒しながらPCに接続してみますが、今年はなにもありませんでした。

USBメモリ、足が前後逆なんだけどw


12時前だったでしょうか、競技が開始になります。サーバへの接続を試みるも....キャプチャ用に用意した途中のダムハブがリンクアップしていません。いろいろと試みて、最終的に別のハブに切り替えてリンクアップすることを確認しました。さらに、今回は途中の経路上で通信を監視、制限するような想定でいたのですが、その機器もリンクアップしない...そう、今年の競技ネットワークはIPv6で構成されたネットワークであったため、古い機器などがそれに対応せず通信ができないことが原因でした。
監視用としていて機器が使えず、さらにネットワークも使えずということで、急遽VMベースでパケットキャプチャとIPv6の使えるサーバを用意してしのぐことになります。

持ち込んだ機材


今回の作戦は、サービスのパッチを作成し、攻撃を受けない状態にしてから攻撃をしようという作戦望んでいました。しかし、今回の競技ルール的にはこれは正しくない選択であることがあとで分かります。
というのも、競技の得点は、各チームのサーバで稼働するサービスをいかに長く稼働させるか(SLAPoint)、また他チームのサービス攻撃して、キーを取得出来るか(Steals Point)、さらにキーの書き換えまでが出来るか(Defaces Point)の総合で争われます。サーバ上のキーは一定時間で変更されるため、新しいキーとして取得したもの、新しく書き換えたものが追加ポイントとしてカウントされます。さらには、全チームの中で1チームのみが攻撃を成功させているサービスは、獲得する得点が高くなります。攻撃可能チームが2チームになると得点は半分になり、攻撃に成功したチーム数に応じて獲得の得点が下がるシステムとなっていました。つまり攻撃の方法をいち早く確立して、攻撃を行い続けることで得点を伸ばすことが出来る得点システムでした。

ネットワークの問題解決と同時にサービスの解析を進め、ほとんどのサービスのパッチが完成して、各サービスを起動するも、SLAにカウントされないという状況になります。何故カウントされないのか?という問題追及にも時間を割かれることになっていまいました。これは3日目に判明するのですが、SLA自体のカウントのシステムが正しくカウントされていなかったということのようです。

競技は18時頃くらいまでだろうと思っており、18時過ぎにネットワークが切れましたが、これは単純にトラブルで止まっただけで、19時過ぎより競技が再開されました。この日の競技は22時まで続きました。

1日目終了間際のスコアボード



韓国チームは廊下の外でも参戦していました