┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━┳━┳━┓ ┃■ SECCON メールマガジン【Vol.29】 発行:2015.11.27(金) ┃_┃ロ┃×┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━┻━┻━┫ ┃…………………………………………………………………………………………┃ ┃… 各種CTF勉強会の情報や、予選告知、結果速報、Write Up などを発信 …┃ ┃…………………………………………………………………………………………┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ …………………………… [ C O N T E N T S ] ………………………………… 0x01 SECCON 2015 オンライン予選 参加登録開始のお知らせ 0x02 第四回CTF for GIRLSワークショップ開催のお知らせ 0x03 SECCON 2015 広島大会「熱血シェルコード」開催報告 0x04 協賛企業「株式会社日本レジストリサービス」様より ──────────────────────────────────── 0x01 SECCON 2015 オンライン予選 参加登録開始のお知らせ ────────────────────────────────────  お待たせいたしました。2015年12月5日(土)~12月6日(日)に開催する SECCON 2015 オンライン予選の参加登録を開始しました。 今回のオンライン予選では学生向け枠(以下Intercollege)と、国際枠(以下 International)の併催になります。それぞれの枠で上位10チームに2016年 1月30日(Intercollege) ~31日(International)で開催される決勝大会への 出場権が与えられます。登録時に出場枠を選択してください。学生はどちら の枠にもエントリー可能です。開催時間は日本時間で以下になりますが、 途中だけの参加も大丈夫ですので、腕試しにぜひ気軽にご参加ください。 [日時]  競技開始:2015年12月05日(土) 15:00:00(JST)  競技終了:2015年12月06日(日) 15:00:00(JST) ※24時間開催 [言語]  英語と日本語の併記となります。英語が不得意な方も安心してご参加ください。 [場所]  オンライン(インターネットに接続できる場所であればどこからでも参加可能) [参加登録方法]  以下のURLから、チーム登録、及びメンバーのアカウント登録を行ってください。  登録がない場合、オンラインCTF予選には参加できませんので、ご注意ください。  SECCON 2015 Online CTF「Register」画面より参加登録を行ってください。 [詳細]  その他、登録方法詳細や出場ルールについてはこちらをご覧下さい。  http://2015.seccon.jp/seccon2015-online-ctf.html みなさまの御参加をお待ちしています! ──────────────────────────────────── 0x02 第四回CTF for GIRLSワークショップ開催のお知らせ ────────────────────────────────────  以下のとおり、第四回CTF for GIRLSワークショップを開催いたします。 本日11/27より参加申込開始予定ですので、ご興味ある方はぜひ御参加下さい! ・日  程:2015年12月18日(金)19時~21時予定 (受付開始18:30予定) ・会  場:御茶ノ水ソラシティカンファレンスセンター RoomB ・定  員:80名 ・分  野:Webセキュリティ ・参加資格:女性であること ・参 加 費:無料(スイーツ付き) ・主  催:SECCON実行委員会/日本ネットワークセキュリティ協会(JNSA) ・運  営:CTF for GIRLS運営スタッフ ・参加方法:本日の夕方公開予定の告知ページよりお申込み下さい。 また、あわせて本日11/27「CTF for GIRLS公式サイト」をオープン予定ですので お楽しみに! ──────────────────────────────────── 0x03 SECCON 2015 広島大会「熱血シェルコード」開催報告 ────────────────────────────────────  2015年10月24日13時より広島市立大学サテライトキャンパスのセミナールーム にてSECCON2015広島大会が開催されました。会場は路面電車の「市役所前」から すぐの場所にあり非常にアクセスの良い場所でした。しかし、数名の参加者は間 違って広島市立大学自体に行ってしまうトラブルがありましたが開始直前になん とかサテライトキャンパスに到着することができました。 広島大会では副題として熱血シェルコードとし、出題される問題がすべてシェル コードとなるユニークな大会となりました。一般的なCTFで使用されるアーキテ クチャはx86やARMと言ったものですが、広島大会ではメジャーなものを含め全 18種類が準備され、まさに熱血シェルコードにふさわしい内容となりました。 講義では「熱血シェルコード作成の基礎」と題し岩村氏と坂井氏から解説が行わ れました。まず岩村氏は当初坂井氏から講師依頼をされたときのやり取りから始 まりました。岩村氏からはARMの講義を提案したが、坂井氏からは一般的すぎる ためルネサス製マイクロプロセッサV850で講義を進めてはどうかと提案されたと のことでした。その後講義に向けて「熱血アセンブラ入門」でしっかり学習すれ ば理解できたため、その他のアーキテクチャも資料をしっかり理解すれば対応は 可能とのメッセージから講義がはじまりました。 また広島大会で使用する環境は準備に時間がかかるため、事前にSECCON実行委 員会より参加者へは環境構築に関して連絡がありました。講義の中で岩村氏から は事前準備していない場合、絶望的ではあるがバイナリエディタがあれば何とか なるかも、とのアドバイスもありました。その後は広島大会で使えるシェルコード の講義に入っていき、システムコールの呼び出し方から、引き渡し方、戻り値の 処理、アドレスの取得方法などの解説が行われました。 引き続き坂井氏からは競技のルール説明と回答するための流れが解説されました。 ここでもV850を例題として逆アセンブルの方法や実行方法などが実際のコマンド などと共に、GDBシミュレータのソースを読んだ方がいいなど具体的なアドバイ スが行われました。 そして14時半からは予定通りSECCON2015広島大会が開始されました。 開始当初は非常に静かで、練習問題やパトランプがあるCTF for ビギナーズとは 違ったスタートでした。開始から1時間ほどでARMとH8の問題が解かれ始め300 点を超える参加者が現れ始めました。16時を過ぎたあたりでトップが500点、2位 が400点となり他の参加者が120点の止まりになり差が開き始めました。17時に はトップが700点を超え2位との接戦になりつつも17時半に競技が終了しました。 競技終了後は出題者からの解説と質問タイムとなりました。坂井氏からはCR16の 問題が解かれたのが一番驚いたとコメントがありました。CR16はスタック処理が 独特でバッファーオーバランをさせる時に工夫をしないと答えが出ないとのことで、 参加者のレベルの高さに驚いていました。また、Blackfinは比較的素直で、MCOR Eなども比較的解きやすいなど今後のCTFで参考になるアドバイスもありました。 引き続き表彰式が行われました。1位は1220点のnubia氏でした。nubia氏からは 「途中で吐き気がしてきたけど頑張った」との感想があり、竹迫委員長より表彰状 と副賞のHello worldが贈られました。 2位となったel氏からは「スクリプトを書いたらうまくいった」との感想があり賞 品としてサイバーセキュリティプログラミングを著書の一人である岩村氏より贈ら れました。 3位以下は120点の混戦となり一番早く答えを入力したHyperOGIRIN氏が3位と 認定されました。HyperOGIRIN氏からは「講義で聞いたことを実行して一瞬はや く得点できただけ、今日はとても勉強になった」との感想を頂き、賞品として熱血 アセンブラ入門が著者の坂井氏より贈られました。 最後にSECCON2015広島大会に会場提供していただいた広島市立大学井上先生 から「今後も交通の便が良いこの場所でイベントをやっていきたい」とコメント を頂き、無事にSECCON2015広島大会が終了しました。 ──────────────────────────────────── 0x04 協賛企業「株式会社日本レジストリサービス」様より - printfコマンドとncコマンドを使ってDNSサーバーと話してみよう! ──────────────────────────────────── J┃P┃R┃S┃-------------------------------------------------------- ━┛━┛━┛━┛ DNSサーバー(フルリゾルバーや権威DNSサーバー)の動作状況を調べたい場合、 通常はdig/drillコマンドやnsloookupコマンドを使います。でも実は、それら を使わなくてもLinuxの標準コマンドであるprintfコマンドとncコマンドを 使って、DNSサーバーに問い合わせパケットを直接送ることができます。 $ printf "\000\000\001\000\000\001\000\000\000\000\000\000\004jprs\002jp\000\000\001\000\001" \ | nc -u -w 1 8.8.8.8 53 | hexdump -C 00000000 00 00 81 80 00 01 00 01 00 00 00 00 04 6a 70 72 |.............jpr| 00000010 73 02 6a 70 00 00 01 00 01 c0 0c 00 01 00 01 00 |s.jp............| 00000020 00 00 63 00 04 75 68 85 a7 |..c..uh..| 00000029 上記の例では、Google Public DNSのIPアドレスである8.8.8.8にjprs.jpのA レコードを検索する問い合わせを送り、応答内容をhexdumpコマンドで16進 表示しています。つまり、この場合に送られる問い合わせは、 $ dig +noedns @8.8.8.8 jprs.jp a というコマンドを実行した時に送られる問い合わせと同等です。 (注:+noednsは拡張機能EDNS0を無効にするためのオプションです) printfコマンドでは8進数や16進数を指定して、バイナリデータを作ることが できます。それをncコマンドに直接渡しています。ncコマンドでは-uオプショ ンでUDPを指定し、-wオプションでタイムアウトを1秒に指定しています。 8.8.8.8に替えて使用中のフルリゾルバーのIPアドレスを指定することで、別の サーバーにも問い合わせを送ることができます。送信先のポート番号は、DNS で使っている53番です。 BINDの脆弱性情報で「特別に作成された問い合わせ(A specially crafted query)」という表現が使われる場合がありますが、こうした問い合わせも、 printfコマンドとncコマンドで送ることができます。つまり、特別なプログラ ムを作成しなくても簡単なシェルスクリプトを準備するだけで、攻撃を実行で きることになります。これらのコマンドは用法・用量を守って正しくお使いく ださい。 最後にJPRSからのお知らせです。JPRSではDNSパケットを読んだり作ったり できる人だけではなく「インターネットの基盤を支えたい」という思いを持つ 仲間を幅広く募集しています。詳しくはこちらをご参照ください。 株式会社日本レジストリサービス RECRUITING SITE「世界に1つの仕事。」 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ▼ SECCON実行委員会は、多くの皆様からの無償のご支援と、スポンサー企業様   からの協賛金・寄付金によって運営されています。 ……………………………………………………………………………………………… ▼ メルマガの配信停止はこちらよりお手続き下さい。 http://2014.seccon.jp/optout.html ……………………………………………………………………………………………… Copyright (C) 2015 SECCON 実行委員会 All rights reserved. 掲載内容の無断転載を禁じることはありませんのでご安心下さい