中京大学工学部 鈴木常彦 / 2014
(2015.03 updated)
#dig www.example.ac.jp ;; QUESTION SECTION: ;www.example.ac.jp. IN A ;; ANSWER SECTION: www.example.ac.jp. 600 IN A 172.16.1.1 ;; AUTHORITY SECTION: example.ac.jp. 600 IN NS ns.example.ac.jp. ;; ADDITIONAL SECTION: ns.example.ac.jp. 1800 IN A 172.16.1.1
$DATE 20150329092020 ; authanswer . 3587 IN NS a.root-servers.net. ; glue jp. 3587 NS a.dns.jp. ; authauthority example.ac.jp. 587 NS ns.example.ac.jp. ; glue ns.example.ac.jp. 1787 A 172.16.1.1 ; authanswer www.example.ac.jp. 587 A 172.16.1.1 ; glue a.dns.jp. 3587 A 172.16.17.1 ; glue 3587 AAAA ::1 ; additional a.root-servers.net. 3587 A 192.168.255.1
JP ゾーンに以下のデータを書き加え攻撃者を模擬し、
ac.jp. 1800 IN NS ns.poison.nom.
random.ac.jp を検索する。(Kaminsky流の攻撃では $random.ac.jp が受け入れられた状態)
# dig random.ac.jp
; <<>> DiG 9.8.4-P1 <<>> random.ac.jp
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 54875
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0
;; QUESTION SECTION:
;random.ac.jp. IN A
;; AUTHORITY SECTION:
ac.jp. 600 IN SOA ns.poison.nom. tss.e-ontap.com. 2014022801 1800 3600 86400 600
random.ac.jp は存在していないが、この時点でキャッシュサーバは模擬の偽 jp サーバから ac.jp IN ns.poison.nom を委任情報として受け取ってキャッシュしてしまう。
$DATE 20150329092126 ; authanswer . 3521 IN NS a.root-servers.net. ; glue jp. 3521 NS a.dns.jp. ; glue ac.jp. 1784 NS ns.poison.nom. ←偽委任情報 ; authauthority example.ac.jp. 521 NS ns.example.ac.jp. ←この後、このキャッシュの期限切れを待つ ; glue ns.example.ac.jp. 1721 A 172.16.1.1 ; authanswer www.example.ac.jp. 521 A 172.16.1.1 ; answer random.ac.jp. 585 \-ANY ;-$NXDOMAIN ; ac.jp. SOA ns.poison.nom. tss.e-ontap.com. 2014022801 1800 3600 86400 600 ; glue a.dns.jp. 3521 A 172.16.17.1 ; glue 3521 AAAA ::1 ; additional a.root-servers.net. 3521 A 192.168.255.1 ; authauthority poison.nom. 86385 NS ns.poison.nom. ; answer ns.poison.nom. 585 \-AAAA ;-$NXRRSET ; poison.nom. SOA ns.poison.nom. tss.e-ontap.com. 2014022801 1800 3600 86400 600 ; authanswer 86385 A 172.16.17.2
目的のゾーンのキャッシュが無効になった後に再度検索すると、偽委任情報により偽AC.JPサーバに誘導され毒入れされる。
# dig www.example.ac.jp ;; QUESTION SECTION: ;www.example.ac.jp. IN A ;; ANSWER SECTION: www.example.ac.jp. 86400 IN A 172.16.17.2 ;; AUTHORITY SECTION: ac.jp. 1146 IN NS ns.poison.nom. ;; ADDITIONAL SECTION: ns.poison.nom. 85747 IN A 172.16.17.2以上