## page was renamed from DNS/GhostDomainNames/crimson/改訂版 ## page was renamed from DNS/crimson/改訂版 DNS/crimson/改訂版について、ここに記述してください。 = 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: 毒入れ作業 == 毒入れ用コマンド {{{ キャッシュサーバの全キャッシュをクリアし、 キャッシュサーバに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 }}} == 端末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レコードを問い合わせるタイミングで切り替わる。 (どちらの状態に遷移するかはランダムであると思える) == 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 }}} == 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 }}}