通过域名的Nameservers劫持域名

看到一篇很有意思的文章,讲述的是如果通过控制一个域名的Nameservers服务来实现一定概率的劫持域名的DNS解析权,下面简述下笔记。

dig查看域名解析记录

mandatory@script-srchttpsyvgscript ~> dig NS iom.int

; <<>> DiG 9.8.3-P1 <<>> NS iom.int
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 9316
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;iom.int.            IN    NS

;; ANSWER SECTION:
iom.int.        86399    IN    NS    ns1.gva.ch.colt.net.
iom.int.        86399    IN    NS    ns1.zrh1.ch.colt.net.

;; Query time: 173 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Thu Dec  8 14:12:47 2016
;; MSG SIZE  rcvd: 81

跟踪域名解析过程

如上看到的是正常来自8.8.8.8的解析记录,但是我们使用dig +trace跟踪下域名的解析过程就会发现,其实一个域名的解析是通过了很多不同的Nameservers服务器的,如下

mandatory@script-srchttpsyvgscript ~> dig iom.int +trace

; <<>> DiG 9.8.3-P1 <<>> iom.int +trace
;; global options: +cmd
.            209756    IN    NS    g.root-servers.net.
.            209756    IN    NS    m.root-servers.net.
.            209756    IN    NS    i.root-servers.net.
.            209756    IN    NS    l.root-servers.net.
.            209756    IN    NS    f.root-servers.net.
.            209756    IN    NS    b.root-servers.net.
.            209756    IN    NS    c.root-servers.net.
.            209756    IN    NS    h.root-servers.net.
.            209756    IN    NS    d.root-servers.net.
.            209756    IN    NS    k.root-servers.net.
.            209756    IN    NS    j.root-servers.net.
.            209756    IN    NS    e.root-servers.net.
.            209756    IN    NS    a.root-servers.net.
;; Received 228 bytes from 172.16.0.1#53(172.16.0.1) in 30 ms

int.            172800    IN    NS    ns.icann.org.
int.            172800    IN    NS    ns1.cs.ucl.ac.uk.
int.            172800    IN    NS    ns.uu.net.
int.            172800    IN    NS    ns0.ja.net.
int.            172800    IN    NS    sec2.authdns.ripe.net.
;; Received 365 bytes from 192.5.5.241#53(192.5.5.241) in 88 ms

iom.int.        86400    IN    NS    ns1.iom.org.ph.
iom.int.        86400    IN    NS    ns2.iom.org.ph.
iom.int.        86400    IN    NS    ns1.gva.ch.colt.net.
iom.int.        86400    IN    NS    ns1.zrh1.ch.colt.net.
;; Received 127 bytes from 128.86.1.20#53(128.86.1.20) in 353 ms

iom.int.        86400    IN    A    54.154.14.101
iom.int.        86400    IN    NS    ns1.zrh1.ch.colt.net.
iom.int.        86400    IN    NS    ns1.gva.ch.colt.net.
;; Received 97 bytes from Cnlouds#53(212.74.78.22) in 172 ms

出现问题

现在就存在这么一种情况,这些个不同的Nameservers服务中有一个域名已经失效了、已经被注销了,目标域名解析过程中,系统并不会告诉你解析过程中有一个Nameservers服务已经失效,而是一个Nameservers服务查询不到时就会继续转给下一个Nameservers去查询。

由此导致的一个问题是,当失效的那个Nameservers服务域名被恶意注册的话,就可以实现劫持目标域名的DNS解析权限。目标域名被我们控制的Nameservers服务解析的概率50%左右,而且DNS缓存也存在一定的时间限制,可以通过增加DNS缓存TTL生存时间的生效期解决,然后就可以做一些流量劫持,DDOS等危害操作。

可能出现的场景

  1. 很多网站中引入了第三方资源,而当第三方资源域名失效且未被注册时,即可导致网站引入恶意的第三方代码资源,如XSS代码窃取用户cookie/博彩/DDOS等持久化控制。 案例:hackone - twitter
  2. 直接使用dig查询一个网站的域名解析过程,查看解析过程中的Nameservers服务域名是否失效且未被注册(或已被控制),亦可打到目的。

原文

Hijacking Broken Nameservers to Compromise Your Target

https://thehackerblog.com/respect-my-authority-hijacking-broken-nameservers-to-compromise-your-target/

转载于:https://my.oschina.net/u/1188877/blog/825987

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值