SeedLab8: Remote DNS Attack (Kaminsky Attack) Lab

做完了本地的,来康康远程的
难点就是不能嗅探数据包再进行伪造了,一些字段要通过猜测得到


Task 1

local里配过了,验证一下就行

在这里插入图片描述

在这里插入图片描述

Task 2

按教程配一条转发
(因为我们自己设置的域名是真实存在的…如果将其作为权威服务器,那么本地DNS服务器会向顶级DNS服务器请求它的IP,然后发送请求,但是这就超出了我们的控制范围
(配一条转发,就是让DNS服务器把对这个权威服务器的请求都发往我们能控制的IP

在这里插入图片描述

其他的按教程删改

Task 3

attacker上配两个zone文件(网站上下载模版
(这里要注意 www和ns对应的IP最好是能控制的主机,否则可能会因为收不到应答而扑街

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Task 4

验证一下~
dig 权威服务器,返回zone里记录就行
在这里插入图片描述
抓包能看到,DNS服务器会进行转发操作,由attacker主机回应

在这里插入图片描述

dig www.example.com,emm此时肯定还是真实IP

在这里插入图片描述

但是dig @权威服务器 www.example.com,指定了向attacker询问就不一样了,直接返回zone里记录

在这里插入图片描述

Task 5

Kaminsky攻击的原理:发送多个不存在的域名请求(如twysw.example.com),此时DNS服务器会向其权威服务器请求,此时攻击者发送大量伪造的DNS回应,并猜测transaction ID,在权威服务器回应之前到达,且某一个猜对了transaction ID的话,就能成功写入缓存了
几个要点:

  1. 发送多个不存在的域名请求:是因为如果一次攻击失败了,那么缓存中就写入了正确的DNS记录,此时再次对同一个域名请求,就不会查询而直接发回缓存了,所以用每次不同的域名进行多轮尝试
  2. transaction ID只有16位,所以通过大量猜测能成功
  3. 写入的时候我们在权威字段加入攻击者的权威服务器,对整个域进行攻击

先用scapy写一个DNS请求

在这里插入图片描述
发出去能收到回应

在这里插入图片描述

Task 6

再用scapy写一个DNS回应
(注意这里原地址要用www.example.com真实的权威服务器IP,伪造的权威服务器名为fakens.com

在这里插入图片描述

抓包能看到正确的包

在这里插入图片描述

Task 7

scapy构造包,C发包(attack.c的模版官网下载
发包时有些字段要改改

  1. 请求/回应的域名前五个字符(attacker.c给生成了随机五个字符,需要覆盖
  2. 回应的transaction ID(0~65535循环猜测

scapy构造请求,写入ip_req

在这里插入图片描述
康康ip_req,看一下域名的偏移

在这里插入图片描述
scapy构造回应,写入ip_resp

在这里插入图片描述

康康ip_req,看一下域名的偏移
transaction ID的位置看不出来,教程说了就是固定的28

在这里插入图片描述

attacker.c创建socket、修改、发送

在这里插入图片描述
模版给了socket的创建,需要自己修改一下(传参或作为全局变量

在这里插入图片描述

然后开始攻击~(进行很多次尝试,一般30次以内就能成功

在这里插入图片描述

在DNS服务器监视缓存,写入就成功了
(开始攻击前记得清空DNS缓存

在这里插入图片描述

Task 8

最后验证一下(在记录的有效期内
dig @攻击者的权威服务器 www.example.com,直接向attacker请求,返回zone里内容

在这里插入图片描述

攻击成功的话,直接dig www.example.com,得到的是一摸一样的记录
(因为缓存里写入了example.com对应的权威服务器,DNS服务器会直接向攻击者的权威服务器请求,还是返回zone里内容

在这里插入图片描述

第二个完结~
参考了小姐姐的github,but最后没结果是因为写错了(小声
https://github.com/MrudhulaShenava/Internet-Security/blob/59774a35bf74feee12780f79fa0a68394dc07a85/MrudhulaAShenava_IsecLab6.pdf

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值