这次是三个DNS
好处是配一次环境就行
Local应该是最容易的,因为直接通过嗅探伪造DNS包
Task 1
在resolv.conf.d/head 里写入Server的地址
然后dig试一下,没问题的话返回的SERVER字段就是写入的那个IP
(如果看到127.0.0.1,可以把/etc/resolv.conf中其他的server注释掉再试一下
Task 2
跟着教程配,再重启bind 9即可
此时在User主机使用ping,能看到先向DNS服务器获得IP,然后再发送ICMP数据包
第一次查询的时间较长,查询后DNS服务器会把记录缓存起来
之后查询的时间明显缩短
Task 3
按教程配zone文件
user主机再dig一下www.example.com,得到的就是zone文件里的内容
环境就配完啦~
Task 4
这里就是暴力直接修改user的HOSTS文件,给网址指定一个IP
本来ping www.bank32.com
会进行DNS查询,得到的是真实的IP
(似乎dig无作用,所以教程里说用ping
但是修改HOSTS之后会优先使用指定的IP
Task 5
上一关的方法需要控制user主机,在不满足条件的情况下就没法攻击了
还是用老盆友netwox,嗅探DNS查询并回复DNS回应就行了
这时候在user主机dig www.example.net
,得到的回应就是伪造报文的内容了
Task 6
上面一种方法太繁琐了,每次请求都要伪造一个DNS应答,不如利用DNS缓存机制,让伪造的内容在有效时间内始终存在
(注意这里要用-raw,否则netwox将伪造MAC地址,在伪造之前必然要发送ARP查询,但这个源IP在外网,所以不可能应答…然后GG
DNS服务器查询时先收到伪造的报文:
写入缓存后再次dig,NDS服务器直接把缓存的结果返回,不再进行迭代查询
康一下DNS缓存,成功写入这条记录
Task 7
上面一种方法只写入了一个域名的缓存,我们想要对一个域进行攻击
很简单,就在权威字段里写入一个域对应的权威服务器,在附加字段写入它的IP,这样缓存的时候就会有一个域的记录
这里要用scapy了(Guideline里有模版照着写
包里写入的就是一个域
缓存里也是一个域
这时候输入域下的其他域名,如dig mail.example.com
DNS服务器也不会再次迭代查询,直接返回缓存记录
(收不到回答是正常的,因为ns.attacker32.com不是权威服务器
Task 8
有趣了,想要在权威字段里写两条
(如果成功的话,就能一次伪造大量的缓存记录了啊…
那就写两个康康
果然,只存一条啊(还是存排在前面的一条
换一下顺序就存另一条了
Task 9
有点东西,想在附加字段里写更多的记录
(如果成功,就能一次写入好多好多缓存了…
还是不能的,只会存和权威字段里的域名有关的IP
第一个完结~
感谢大佬!
https://blog.csdn.net/jappy_z/article/details/85061907