Hideki Okamoto

CTF for 金融ISAC 解説

Blog Post created by Hideki Okamoto Employee on Jul 31, 2015

CTF for 金融ISACに参加いただいた皆様、

 

このたびはCTFにご参加いただきありがとうございました。アンケートを見ると楽しんでいただけたようで嬉しく思っています。

今回の問題は以下で公開しています。(今後予告なくクローズするかもしれませんので、ご了承ください)

 

http://ctf.techmeetup3.edgesuite.net/

 

解説は以下の通りです。

 

 

Q1. Eメール (Score: 10)

 

問題の文字列は、電子メール(email)のヘッダーで非ASCII文字を使うときに見られる表記方式で書かれています。

さらにこれは電子メールで日本語を扱う際にもっとも一般的な形式であるISO-2022-JPという文字コードのものをBase64エンコードしてあるという意味です。

これを適当な外部ツールなどでデコードするとフラグが出てきます。

http://encodemaniax.com/?charset=jis&data=%3D%3FISO-2022-JP%3FB%3FGyRCI0YjTCNBI0chMiNLI1kjTyNCI0EjUyNII0kbKEI%3D%3F%3D

 

参考URL:

第235章 base64の基礎

 

Q2. セキュリティ用語の基礎知識 (Score: 20)

 

9のCAPTCHAが初耳という方もいたかもしれません (有名?)

 

横のカギ

2. ワンタイムパスワード方式の1つ。時間を元にパスワードを生成 => TOTP

4. 企業内などでコンピュータやネットワークにセキュリティ上の問題が発生していないかを監視し、対処する組織 => CSIRT

7. 持続的標的型攻撃 (Advanced ---------- Threat) => PERSISTENT

9. あなたは人間ですか? BOTですか? => CAPTCHA

10. 脆弱性の実証コード => EXPLOIT

11. インターネット関連用語で一番美味しそう? => COOKIE

12. 分散サービス妨害攻撃 => DDOS

 

縦のカギ

1. 掲示板に犯罪予告などを書き込ませられてしまう… => CSRF

3. もともとはクレジットカード業界が決めました => PCIDSS

5. CVE-2014-0160 => HEARTBLEED

6. 世界一悪名高いサイバー犯罪者集団? => ANONYMOUS

8. SSLの後継 -------- Layer Security => TRANSPORT

 

参考URL:

CAPTCHAとは|Completely Automated Public Turing test to tell Computers and Humans Apart - 意味/解説/説明/定義 : IT用語辞典

 

Q3. Dig deeply into the DNS (Score: 20)

 

通常DNSというと名前からIPアドレスを引くAレコードや、他のドメイン名に誘導するCNAMEレコードをよく使いますが、それ以外にも様々なレコードタイプがあり、今回はTXTレコードにフラグが格納されています。

今回は dig flag.takashito.net ANY や dig flag.takashito.net TXT でフラグを見つけることができます (適切なオプションをつければnslookupでも確認可能です)。

また、全てのレコードを返してくれるANYというクエリタイプを覚えておくと便利かもしれません。

 

参考URL:

List of DNS record types - Wikipedia, the free encyclopedia

TXT レコードについて - Google Apps 管理者 ヘルプ

 

Q4. Saltが足りない! (Score: 30)

 

Johnのメールに「いつもの我が家の共通パスワード」と書いてあることからJohnのパスワードは比較的単純なものであることが想像できます。

ここで、流出したJohnのパスワードbdc87b9c894da5168059e00ebffb9077をGoogleなどで検索すると、実はこれはpassword1234という文字列をMD5でハッシュ化したものであることが分かります。

MD5は一方向ハッシュ関数の一種なので一般的には元のパスワードに戻すのは困難なのですが、password1234というあまりに単純なものは事前にMD5が計算されていて逆引きされてしまいます。

一方さらによく流出したパスワードを調べると、同じMD5をもつtonyというadminユーザーが見つかります。これはtonyもjohnと同じpassword1234というパスワードを使っているということなので、tony / password1234でシステムにログインするとフラグが見つかります。

そもそもパスワードの保存にMD5という(現代では)色々と問題のあるハッシュ関数を使うことの是非は措いておくとして、同一のパスワードで同一のハッシュ値が生成されてしまうと、一人パスワードを破られると他のユーザーにも波及してしまいます。これを軽減するためにユーザーごとに異なる「Salt」をパスワードに付与してからハッシュ化するという考え方があります。

 

参考URL:

サイバーフォレンジックセンター通 第3回:ハッシュ化されたパスワードの解析速度 | dit+ | ディアイティ プラス

 

Q5. Dot Dot (Score: 20)

 

Path Traversal攻撃 (Dot Dot Attack)と呼ばれる攻撃を使う問題です。適当なファイルのリンクをクリックすると、index.phpのクエリストリングでパスを渡していることが分かります。いかにも危険な香りがしますね。

 

readme.txtを開いたとき

http://ctf.techmeetup3.edgesuite.net/q2_5/index.php?p=%2Freadme.txt

 

ためしに/../というパラメーターを渡してみましょう。

 

http://ctf.techmeetup3.edgesuite.net/q2_5/index.php?p=/../

 

なんと一個上の階層のファイルが見えてしまいました。ここにflag.txtというファイルが見つあるので、あとはパラメーターでこのflag.txtを直接指定してやればフラグが見つかります。

 

http://ctf.techmeetup3.edgesuite.net/q2_5/index.php?p=/../flag.txt

 

参考URL:

ディレクトリトラバーサル - Wikipedia

 

Q6.足跡を辿れ (Score: 20)

 

リンクを開くとAkamaiのWebサイトが開きます、、、が、よく見るとこれ、一度302リダイレクトされてAkamaiのWebサイトに飛んでいます。この302リダイレクトのHTTPヘッダーの中にX-Flagというヘッダーが隠されています。このようにすぐリダイレクトしてしまうページのヘッダーを見たいときは、Google Chromeであれば開発ツールのネットワークタブでPreserve logという機能を有効にすると便利です。

 

Content Delivery Network (CDN) & Cloud Computing Services | Akamai 2015-07-31 13-47-02.png

 

Q7. 耳をすませば (Score: 10)

 

実は音声そのものは関係ありません。MP3ファイルにはID3タグと呼ばれる曲名やミュージシャン情報などのメタ情報を格納する場所があり、ここにフラグが隠されています。

Windowsであればダウンロードしたファイルのプロパティを見たり、MacであればiTunesで開くことで確認できます。

 

参考URL:

ID3タグ - Wikipedia

 

Q8. 見えない四角ピザ (Score: 20)

実は目に見えない透明なPNG画像ファイルが読み込まれています。CSSファイルを解析するかWebブラウザの開発ツールを見るとpizza.pngというファイルがその画像であることが分かります。

http://ctf.techmeetup3.edgesuite.net/img/pizza.png

よくよく見るとQRコードっぽいものが見えますが、このままだと大抵のQRコードリーダーで読めません。画像変換ソフトで色をつけても構いませんが、手っ取り早いのはWebブラウザからPCのデスクトップにファイルをドラッグすることでしょう。一瞬色がついて見えます。

 

Q9. @2% (Score: 10)

 

タイトル通り@を%に置き換えるとURLエンコードされた文字列になるので、これをURLデコードすればフラグが出てきます。

 

参考URL:

Web便利ツール/URLエンコード・デコードフォーム - TAG index Webサイト

 

Q10. Microsoft Office Word 2007 (Score: 40)

 

Microsoft Officeは2007以降で独自のバイナリ形式をやめて、Office Open XMLとよばれるファイルフォーマットを採用しています。拡張子がdocx, pptx, xlsxとかのものですね。

実はこのファイルの実態、単にXMLファイルをZIPで固めたものなので拡張子をZIPに変えると展開可能です。あとは中にflag.xmlというファイルが入っているのでここにフラグがあります。

Outcomes