当前位置: 代码迷 >> 综合 >> SeedLab7: Local DNS Attack Lab
  详细解决方案

SeedLab7: Local DNS Attack Lab

热度:54   发布时间:2023-12-06 12:10:51.0

这次是三个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

  相关解决方案