这次是三个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
本文详细介绍了如何通过DNS配置、本地嗅探、zone文件管理和缓存操纵,实现DNS欺骗与缓存攻击的全过程,包括修改resolv.conf、配置BIND9、伪造响应、利用DNS缓存等技巧。

4054

被折叠的 条评论
为什么被折叠?



