以下の課題をtweetしたところ、takhammさんからunboudでやってみたというレポートがありましたので、 内容をコピーしておきます。議論をお願いします。-- ToshinoriMaeno 2012-02-25 00:26:19

1. 課題

ちょっと(?)設定に問題のあるドメインを作ってみました。
www.ghost2.qmail.jp のAレコードが検索できるか。どういう値が返るか、試してみていただけますか。
wiki: DNS/ghost2 参照

DNS/ghost2 以下に設定などの説明があります。

1.1. 議論

/議論

1.2. レポート

https://twitter.com/#!/takhamm/status/173101654982410240

#takhamm の報告 (ありがとうございます。-- ToshinoriMaeno 2012-02-24 23:21:04)

あんな方法で毒入れできるのがにわかに信じがたいので、できれば別環境での追試をしていただければありがたいです。

とtweetされています。

/改訂版


2. unboundでのGhost Domain Names再現試験

2.1. 前提

2.2. 端末1: 毒入れ作業

毒入れ用コマンド

攻撃シナリオとしては手順3のNSレコード問い合わせが直接飛ぶところに無理がありそうである。

<TABLE SUMMARY="毒入れ" border="1">

$ sudo unbound-control reload; dig -t a www.ghost2.qmail.jp; dig -t ns ghost2.qmail.jp

毒入れに成功した場合はdig -t 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.3. 端末2: www.ghost2.qmail.jpのAレコード監視

監視用コマンド <TABLE SUMMARY="Aレコード監視" border="1">

$ sh
$ while true; do; dig -t a www.ghost2.qmail.jp; sleep 1; done

毒入れが成功している場合、監視用端末では

がwww.ghost2.qmail.jpのAレコードのTTLのexpire後、 再度Aレコードを問い合わせるタイミングで切り替わる。(どちらの状態に遷移するかはランダムであると思える)

2.4. GDN達成

毒入れが成功して131.112.32.2からAレコードを検索した状態。(GDN達成)

; <<>> 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

2.5. GDN未達成

毒入れが成功しているが202.41.218.242からAレコードを検索しているため、Aレコードの変化が無い状態。(GDN未達成)

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


3. 間違いの修正

GDN達成時のdigコマンドのキャプチャを間違えてました。思いっきり権威サーバに直接問い合わせしてますね。 オリジナルのhtmlに修正をかけたものを gdn-20120225-2.html に置いておきました。 追試をされたい場合必要なら当方のunbound.confも提供いたしますので、twitterで@takhammまでお気軽にどうぞ。