DNS/crimson/改訂版について、ここに記述してください。
1. unboundでのGhost Domain Names再現試験
前提:
- 本試験で使用しているunboundのバージョンは1.4.16です。
- 試験環境はFreeBSD 9.0-STABLE (amd64)を使用しています。
- 毒入れ作業にsudoを使用します。(インストールしていない場合はrootでログインしておいてください)
- unbound-controlでキャッシュのフラッシュをします。unbound.confのremote-control:セクションにcontrol-enable: yesの設定をしておいてください。
- 端末を2台(対象Aレコード監視用および毒入れ用)使用します。
1.1. 端末1: 毒入れ作業
毒入れ用コマンド
キャッシュサーバの全キャッシュをクリアし、 キャッシュサーバにwww.ghost2.qmail.jpのAレコードを再帰問い合わせし、 キャッシュサーバにghost2.qmail.jpのNSレコードを再帰問い合わせする。
攻撃シナリオとしては手順3のNSレコード問い合わせが直接飛ぶところに無理がありそうである。
$ sudo unbound-control reload; dig -t a www.ghost2.qmail.jp; dig -t ns ghost2.qmail.jp
毒入れに成功した場合はdig -t ns ghost2.qmail.jpの結果として以下の様に
a.ns.ghost2.qmail.jp b.ns.ghost2.qmail.jp
の二つのレコードがANSWER SECTIONに返ってくる。 返ってこなければ失敗なので毒入れ手順を繰り返す。
;; ANSWER SECTION: ghost2.qmail.jp. 2147483647 IN NS a.ns.ghost2.qmail.jp. ghost2.qmail.jp. 2147483647 IN NS b.ns.ghost2.qmail.jp. ;; ADDITIONAL SECTION: a.ns.ghost2.qmail.jp. 600 IN A 131.112.32.2 b.ns.ghost2.qmail.jp. 600 IN A 202.41.218.242
1.2. 端末2: www.ghost2.qmail.jpのAレコード監視
監視用コマンド
$ sh $ while true; do; dig -t a www.ghost2.qmail.jp; sleep 1; done
毒入れが成功している場合、監視用端末では
- Ghost Domain Namesの効果が発現した状態(Aレコード=59.106.175.222)
と
- 発現していない状態(Aレコード=202.41.218.242)
がwww.ghost2.qmail.jpのAレコードのTTLのexpire後、再度Aレコードを問い合わせるタイミングで切り替わる。
- (どちらの状態に遷移するかはランダムであると思える)
1.3. GDN 達成
毒入れが成功して131.112.32.2からAレコードを検索した状態。(GDN達成)
- Aレコードは59.106.175.222を示す。
- AUTHORITY SECTIONにはa.ns.ghost2.qmail.jpおよびb.ns.ghost2.qmail.jpの情報が返されている。
- ADDITIONAL SECTIONにもa.ns.ghost2.qmail.jpおよびb.ns.ghost2.qmail.jpの情報が返されている。(AUTHORITY SECTIONと内容が同じ)
; <<>> DiG 9.8.1-P1 <<>> -t a www.ghost2.qmail.jp ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 64584 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2 ;; QUESTION SECTION: ;www.ghost2.qmail.jp. IN A ;; ANSWER SECTION: www.ghost2.qmail.jp. 299 IN A 59.106.175.222 ;; AUTHORITY SECTION: ghost2.qmail.jp. 2147480941 IN NS a.ns.ghost2.qmail.jp. ghost2.qmail.jp. 2147480941 IN NS b.ns.ghost2.qmail.jp. ;; ADDITIONAL SECTION: a.ns.ghost2.qmail.jp. 298 IN A 131.112.32.2 b.ns.ghost2.qmail.jp. 599 IN A 202.41.218.242 ;; Query time: 0 msec ;; SERVER: 192.168.1.253#53(192.168.1.253) ;; WHEN: Sat Feb 25 09:29:01 2012 ;; MSG SIZE rcvd: 120
1.4. GDN 未達成
毒入れが成功しているが202.41.218.242からAレコードを検索しているため、Aレコードの変化が無い状態。(GDN未達成)
Aレコードは202.41.218.242を示す。 AUTHORITY SECTIONにはa.ns.ghost2.qmail.jpおよびb.ns.ghost2.qmail.jpの情報が返されている。 しかしADDITIONAL SECTIONはns.ghost2.qmail.jpおよびa.ns.ghost2.qmail.jpの情報が返されている。(AUTHORITY SECTIONと内容が異なる)
; <<>> DiG 9.8.1-P1 <<>> -t a www.ghost2.qmail.jp ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 40876 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2 ;; QUESTION SECTION: ;www.ghost2.qmail.jp. IN A ;; ANSWER SECTION: www.ghost2.qmail.jp. 204 IN A 202.41.218.242 ;; AUTHORITY SECTION: ghost2.qmail.jp. 2147479945 IN NS a.ns.ghost2.qmail.jp. ghost2.qmail.jp. 2147479945 IN NS b.ns.ghost2.qmail.jp. ;; ADDITIONAL SECTION: ns.ghost2.qmail.jp. 204 IN A 202.41.218.242 a.ns.ghost2.qmail.jp. 504 IN A 131.112.32.2 ;; Query time: 0 msec ;; SERVER: 192.168.1.253#53(192.168.1.253) ;; WHEN: Sat Feb 25 01:38:31 2012 ;; MSG SIZE rcvd: 120