DNS攻击
DNS攻击
实验是基于Linux系统,配置了bind9服务的机器
大纲
- 本地修改Host文件重定向路径到指定地址
- 对User的DNS查询进行欺骗攻击
- 在同一局域网下,对DNS服务器的DNS查询进行欺骗攻击
- 不在同一局域网下,对DNS服务器的DNS查询进行欺骗攻击
环境配置

首先三台虚拟机分别给它们分配ip,如图,User为192.168.0.100,DNS Server为192.168.0.10,Attacker为192.168.0.200,对三台机器的代称为图中所示,下同。
DNS Server的配置:
- 修改/etc/bind/named.conf.options文件,增加dump.db作为DNS缓存的文件,使用chmod提高dump.db的文件权限(777)
- 设置DNS Server的本地zone为example.com和192.168.0.x两个域
- 重启bind9服务
User的配置:
- 设置User的默认DNS服务器为192.168.0.10
Attacker的配置: - 设置Attacker的默认DNS服务器为192.168.0.10
三台机器的外部网关设置为VMware的NAT模式的虚拟网卡默认分配的网关,我这里是192.168.139.2
DNS Server设置后的网络配置:(其它类似)

内容
修改本地host文件
这里主要就是修改User本地的Host文件,增加www.example.com一项,定向为127.0.0.1

如图,成功ping www.example.com得到自己设置的1.2.3.4的DNS解析ip地址
欺骗回复User的DNS查询

当User向DNS Server发送DNS查询的时候,Attacker监听了这个DNS查询请求,然后在DNS Server回复正确的DNS Response之前,先回复一个伪造欺骗的DNS Response给User,从而达到了DNS欺骗的效果。
实验中我们借用了Netwox/Netwag tool 105来进行DNS欺骗,具体的设置如下

得到的实验效果为

Local DNS Attack

当DNS Server对Root DNS Server询问的时候,Attacker监听了DNS Server对外发出的DNS Query,伪造了一个DNS Response给DNS Server,从而让DNS Server中有了DNS Cache,且设置的ttl很长,因此就能够达到高效的DNS Attack。
实验中我们借用了Netwox/Netwag tool 105来进行DNS欺骗,具体的设置如下

得到的实验结果为
DNS Server中的DNS Cache:

User中使用Dig命令得到的结果:

Remote DNS Attack
正常情况下的DNS查询是这样子的

但是我们可以将它简化成下面这样

由于不在同一局域网内,Attacker不能监听DNS Server的DNS Query包,所以采用的方法是对transaction ID进行全枚举,而且必须在真正的DNS Response到来之前枚举成功这个transaction ID,为了简化实验,我们将UDP port设置为33333,所以就不用枚举UDP port这个变量。
但是ns.dnslabattacker.net不是一个合法的域名,因此DNS Server需要对它进行验证,否则不会将它保存在DNS Cache中,所以需要在Attacker机器中配置DNS服务,将ns.dnslabattacker.net作为该DNS的本地zone就好。
查看一下实验结果:
首先是Attacker对DNS发DNS Query和DNS Respose包:

然后在DNS Server中用Wireshark查看收到的包:


查看一下DNS Server中的Cache:

在User中Dig一下aaaaa.example.edu

DNS攻击的更多相关文章
- 什么是DNS攻击?它是如何工作的?
什么是DNS攻击?它是如何工作的? DNS攻击是一种利用域名系统中的弱点或漏洞的网络攻击.今天,互联网已成为我们生活中不可或缺的一部分.从社交到金融.购物再到旅游,我们生活的方方面面都是互联网.由于互 ...
- web攻击之六:DNS攻击原理与防范
随着网络的逐步普及,网络安全已成为INTERNET路上事实上的焦点,它关系着INTERNET的进一步发展和普及,甚至关系着INTERNET的生存.可喜的是我们那些互联网专家们并没有令广大INTERNE ...
- 常见的DNS攻击——偷(劫持)、骗(缓存投毒)、打(DDos)
常见的DNS攻击包括: 1) 域名劫持 通过采用黑客手段控制了域名管理密码和域名管理邮箱,然后将该域名的NS纪录指向到黑客可以控制的DNS服务器,然后通过在该DNS服务器上添加相应域名纪录,从而使网民 ...
- 《DNS攻击防范科普系列2》 -DNS服务器怎么防DDoS攻击
在上个系列<你的DNS服务真的安全么?>里我们介绍了DNS服务器常见的攻击场景,看完后,你是否对ddos攻击忧心重重?本节我们来告诉你,怎么破局!! 首先回顾一下DDoS攻击的原理.DDo ...
- DNS 攻击方式及攻击案例
[赛迪网-IT技术报道]2010年1月12日晨7时起,网络上开始陆续出现百度出现无法访问的情况反馈, 12时左右基本恢复正常:18时许百度发布官方版本公告:对事故原因说明为:"因www.ba ...
- 《DNS攻击防范科普系列3》 -如何保障 DNS 操作安全
引言 前两讲我们介绍了 DNS 相关的攻击类型,以及针对 DDoS 攻击的防范措施.这些都是更底层的知识,有同学就来问能否讲讲和我们的日常操作相关的知识点,今天我们就来说说和我们日常 DNS 操作相关 ...
- 《DNS攻击防范科普系列1》—你的DNS服务器真的安全么?
DNS服务器,即域名服务器,它作为域名和IP地址之间的桥梁,在互联网访问中,起到至关重要的作用.每一个互联网上的域名,背后都至少有一个对应的DNS.对于一个企业来说,如果你的DNS服务器因为攻击而无法 ...
- dns攻击包代码实现
博客地址:http://home.cnblogs.com/u/zengjianrong/ 代码没有做好精简,有些多余的没有删去,因为博主太懒了哈哈 #include <stdio.h> # ...
- [科普]DNS相关的攻击介绍
一 什么是DNS DNS 是域名系统 (Domain Name System) 的缩写,是因特网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网,而不 ...
随机推荐
- QT中全局变量的定义
多的就不说了,本来就是一个简单地内容,只是不会的话会很头疼 我们首先新建两个文件,文件名可以自定义,我们在这里定义为variate.h 和 variate.cpp 当然了,后缀是不能变的. 和函数一样 ...
- Ado.net和EF的区别
ado.net EF作为微软的一个ORM框架,通过实体.关系型数据库表之间的映射,使开发人员可以通过操作表实体而间接的操作数据库,大大的提高了开发效率.这样一来,.net平台下,我们与底层数据库的交互 ...
- SQL SERVER 一个SQL语句的执行顺序
一个SQL 语句的执行顺序 1.From (告诉程序 来自哪张表 如果是表表达式 依旧是如此顺序) 2.Where(条件筛选 谓词筛选 ) 3.Group by(分组) 4.Having(分组 ...
- C code example for strdup
#include <stdlib.h> #include <stdio.h> #include <string.h> #include <malloc.h&g ...
- JS 中的 __proto__ 、prototype、constructor
首先 先解释这三个属性: (1) prototype : 它是函数独有的,从一个函数指向一个对象(函数的原型),含义是函数的原型对象,也就是这个函数所创建的实例的原型对象.(普通函数的该属性没有作用 ...
- link标签链接CSS和@import加载的区别
link:基本语法 <link rel="stylesheet" href="路径"> @import 基本语法 <style> @im ...
- 【读书笔记】iOS-设计模式
一个可复用的解决方案,用于处理特定场景下的常见问题.一种设计模式并不是一个可以直接转化为代码的已完工设计.它是对于如何解决问题的一种描述或者模板,可以用在许多不同的场合. 参考资料:<iOS W ...
- Java抽象类和接口的比较
一个软件设计的好坏,我想很大程度上取决于它的整体架构,而这个整体架构其实就是你对整个宏观商业业务的抽象框架,当代表业务逻辑的高层抽象层结构 合理时,你底层的具体实现需要考虑的就仅仅是一些算法和一些具体 ...
- SD从零开始64-特异的业务交易(Special Business Transactions)
紧迫订单Rush Orders 紧迫订单和现金销售是用在从工厂销售流程可能用于当客户需要求即刻从货场获得他们的货物时的销售凭据种类: 在即刻交货的销售凭据种类中,即刻交货符号和交货种类DF是设置的:当 ...
- Jmeter 测试计划元素详解
Jmeter 测试计划元素详解 by:授客 QQ:1033553122 由于篇幅问题,采用链接分享的形式,烦请复制以下网址,黏贴到浏览器中打开,下载 http://pan.baidu.com/s/1n ...