## 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
}}}