DNS欺骗的原理 DNS防御实战演练

所属分类: 网络安全 / 黑客教程 阅读数: 164
收藏 0 赞 0 分享

1.1 域名系统(Domain Name System)

DNS即Domain Name System 的缩写,域名系统以分布式数据库的形式将域名和IP地址相互映射。DNS协议即域名解析协议,简单的说:DNS是用来解析域名的。有了DNS我们就不用再记住烦人的IP地址,用相对好记的域名就可以对服务器进行访问,即使服务器更换了IP地址,我们依旧可以通过域名访问该服务器,这样能够使我们更方便的访问互联网。

为了方便理解DNS的工作原理,我简单做了一幅图:

假如我们要访问 www.baidu.com ,首先要向本地DNS服务器发出DNS请求,查询 www.baidu.com 的IP地址,如果本地DNS服务器没有在自己的DNS缓存表中发现该网址的记录,就会向根服务器发起查询,根服务器收到请求后,将com域服务器的地址返回给本地DNS服务器,本地DNS服务器则继续向com域发出查询请求,域服务器将 baidu.com 授权域名服务器的地址返回给本地DNS服务器,本地DNS服务器继续向 baidu.com 发起查询,得到 www.baidu.com 的IP地址。

本地DNS服务器得到 www.baidu.com 对应的IP地址后以dns应答包的方式传递给用户,并且在本地建立DNS缓存表。

Windows下查看和刷清空DNS缓存表的命令: ipconfig /displaydns    ipconfig /flushdns

1.2 DNS欺骗原理

尽管DNS在互联网中扮演着如此重要的角色,但是在设计DNS协议时,设计者没有考虑到一些安全问题,导致了DNS的安全隐患与缺陷。

DNS欺骗就是利用了DNS协议设计时的一个非常严重的安全缺陷。

首先欺骗者向目标机器发送构造好的ARP应答数据包,ARP欺骗成功后,嗅探到对方发出的DNS请求数据包,分析数据包取得ID和端口号后,向目标发送自己构造好的一个DNS返回包,对方收到DNS应答包后,发现ID和端口号全部正确,即把返回数据包中的域名和对应的IP地址保存进DNS缓存表中,而后来的当真实的DNS应答包返回时则被丢弃。

假设嗅探到目标靶机发出的DNS请求包有以下内容:

Source address : 192.168.1.57
Destination address : ns.baidu.com
Source port : 1234
Destination port : 53 (DNS port)
Data :
www.baidu.com

我们伪造的DNS应答包如下:


Source address : ns.baidu.com
Destination address : 192.168.1.57
Source port : 53 (DNS port)
Destination port : 1234
Data :
www.baidu.com 192.168.1.59

目标靶机收到应答包后把域名以及对应IP保存在了DNS缓存表中,这样www.baidu.com的地址就被指向到了192.168.1.59上。

2.1 实战DNS欺骗

同ARP欺骗一样,DNS欺骗也可以被称为DNS毒化,属于中间人攻击,我还是用虚拟机来模拟DNS欺骗攻击

用到的工具是Ettercap

首先来看目标靶机,

很明显现在www.baidu.com指向到的IP地址是正确的,

接着我们用ettercap来进行DNS欺骗,首先找到etter.dns这个配置文件并且编辑

添加一条A记录,将 www.baidu.com 指向到本机IP

保存并且退出,使用ettercap开始欺骗:

接着我们在到受到攻击的主机上看一下:

可以看到,目标主机对域名www.baidu.com的访问已经被指向到192.168.1.59

在浏览器中访问该域名便访问到事先搭建好的一台WEB服务器

以上就是一次成功的DNS欺骗

DNS欺骗的危害是巨大的,我不说大家也都懂得,常见被利用来钓鱼、挂马之类的

2.2 DNS欺骗的防范

DNS欺骗是很难进行有效防御的,因为大多情况下都是被攻击之后才会发现,对于避免DNS欺骗所造成危害,本菜鸟提出以下建议

1.因为DNS欺骗前提也需要ARP欺骗成功。所以首先做好对ARP欺骗攻击的防范。

2.不要依赖于DNS,尽管这样会很不方便,可以使用hosts文件来实现相同的功能,Hosts文件位置:

windows xp/2003/vista/2008/7 系统的HOSTS文件位置 c:\windows\system32\drivers\etc 用记事本打开即可进行修改。

3.使用安全检测软件定期检查系统是否遭受攻击

4.使用DNSSEC。

最近小编整理了许多关于DNS欺骗的文章,希望大家多多阅读,多多学习。

更多精彩内容其他人还在看

汗颜:黑客居然这样保护自己的电脑

     看了你昨天的留言,我才知道原来木马可以用这么多方式传播呀。那我想问你一件事,常在河边走,哪有不湿鞋,你经常黑别人,难道就没有被别人黑过吗?你是怎么防范其他黑客攻击的呢?   就像你说的那样,我也中过木马,也同样被黑过,我的经验
收藏 0 赞 0 分享

高手支招:通过进程抓马

 对于进程这个概念,许多电脑用户都没有给予太多关注。在很多人印象里,只知道结束进程可以杀死程序,至于哪些进程对应哪些程序,究竟什么样的进程该杀,什么样的进程不能杀这些问题很少考虑。这里通过几个实例为大家揭开进程的神秘面纱。   实例一:和进程的“表
收藏 0 赞 0 分享

ASP注入万能登陆密码

《黑客手册》样刊里面,oldjun提到一种新的万能登陆密码。比如网上有很多这样的登陆验证代码:   程序代码   <%   username=trim(Request.Form("username"))   password=trim(Reque
收藏 0 赞 0 分享

容易被黑客攻击的10个漏洞

  应用程序级的安全漏洞通常不会像类似SirCam的邮件病毒或者诸如Code Red这样的蠕虫病毒那么容易广为扩散,但它们也同样会造成很多问题,从窃取产品或信息到使整个Web站点完全瘫痪。确保网站web应用程序的安全不是一件简单的事,而不幸的是对应用程序的攻击是非常容易的
收藏 0 赞 0 分享

139入侵简易教程

  net use\192.168.0.1ipc$Content$nbsp;"" /user:administrator   提到139端口,我想知道的人一定非常多,本来是不想用写这个教程的,但考虑要照顾到新人,所以还是简单的写一下。   首先,连接的命令
收藏 0 赞 0 分享

有史以来最牛的服务器反黑全集

 Win2k的缺省安装很容易被攻击者取得帐号列表,即使安装了最新的Service ack也是如此。   方案一   1.打补丁   微软的作风就是三天一小补,五天一大补,漏洞太多,补一点就好一点,使用“开始-WindowsUpdate"然后把所有
收藏 0 赞 0 分享

网页挂马方法和技巧大汇总

1,挂马的N种方法   (1) HTML挂马法。   常规的HTML挂马方法一般是在网页中插入一条iframe语句,像<iframe src=http://www.xxx.com/horse.html width=0 height=0></iframe>
收藏 0 赞 0 分享

黑客快速入门

今天的内容是获得主机的信息。 我们要黑一台主机,首先要了解它的信息,   包括它的类型,用户列表,目录,端口,漏洞等等。   首先我们我们要找一台主机来练手,随便挑吧!www.dddd.com(乱说的)第一部,呵呵,   先在ie里看看吧,mmmm.....做的还行,挺精致的!主
收藏 0 赞 0 分享

秒杀Google浏览器

用Google浏览器浏览此篇文章,并点击下面的字符:   EVIL:%   是不是很爽,^_^。
收藏 0 赞 0 分享

犀利的 oracle 注入技术

犀利的 oracle 注入技术   原文发表在黑客手册   linx 2008.1.12   介绍一个在web上通过oracle注入直接取得主机cmdshell的方法。   以下的演示都是在web上的sql plus执行的,在web注入时 把select SYS.DBMS
收藏 0 赞 0 分享
查看更多