1. DNS/KnotResolver/brau.internat.jp/brau.jpを乗取る/第一段

$dig -t txt brau.internat.jp

リゾルバーで起きること。(キャッシュが空からスタートしたとして)

  1. JPサーバーを知る。(a.dns.jp など)
  2. internat.jp NS+glue を知る。
  3. brau.internat.jp 委任・委譲情報NS(+glue) を知る。
  4. brau.internat.jp TXTを取り出す。

ここでは第3, 4の詳細を調べてみよう。(第1,2 は省略する。internat.jp 委譲情報はキャッシュにあるとする。)

1.1. 委譲情報

$dig -t txt brau.internat.jp @ns.internat.jp

または

$ dnsq txt brau.internat.jp ns.internat.jp
2 brau.internat.jp:
72 bytes, 1+0+1+1 records, response, noerror
query: 2 brau.internat.jp
authority: brau.internat.jp 300 NS ns.brau.jp
additional: ns.brau.jp 300 A 150.42.6.9

additionalを受け入れるかどうか。mode("permissive") のKnot Resolver の脆弱性

1.2. TXT

次の問い合わせはどこに送られるのだろうか。

$ dig -t txt brau.internat.jp @127.0.0.1

; <<>> DiG 9.11.3-1ubuntu1.12-Ubuntu <<>> -t txt brau.internat.jp @127.0.0.1
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 38534
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;brau.internat.jp.              IN      TXT

;; Query time: 26 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Sun Aug 30 06:39:51 JST 2020
;; MSG SIZE  rcvd: 34

これは以下の返答を取り次いだものだろう。 ns.brau.jp. 85629 IN A 150.42.6.4

$ dig -t txt brau.internat.jp @ns.brau.jp

; <<>> DiG 9.11.3-1ubuntu1.12-Ubuntu <<>> -t txt brau.internat.jp @ns.brau.jp
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 42347
;; flags: qr aa rd; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;brau.internat.jp.              IN      TXT

;; AUTHORITY SECTION:
internat.jp.            60      IN      SOA     ns.internat.jp. tss.e-ontap.com. 2020061601 3600 600 86400 60

;; Query time: 25 msec
;; SERVER: 150.42.6.4#53(150.42.6.4)
;; WHEN: Sun Aug 30 06:40:56 JST 2020
;; MSG SIZE  rcvd: 99

MoinQ: DNS/KnotResolver/危ない機能/brau.jpを乗取る/第一段 (last edited 2020-08-30 23:00:14 by ToshinoriMaeno)