中间人攻击
中间人攻击(Man-in-the-MiddleAttack,简称“MITM攻击”)是一种“间接”的入侵攻击,这种攻击模式是通过各种技术手段将受入侵者控制的一台计算机虚拟放置在网络连接中的两台通信计算机之间,这台计算机就称为“中间人”。
中间人攻击主要有会话劫持、DNS欺骗两种
一、会话劫持
会话劫持利用了TCP/IP工作原理来设计攻击。TCP会话劫持的攻击方式可以对基于TCP的任何应用发起攻击,如HTTP、FTP、Telnet等。
实现流程
对于攻击者来说,所必须要做的就是窥探到正在进行TCP通信的两台主机之间传送的报文,这样攻击者就可以得知该报文的源IP、源TCP端口号、目的IP、目的TCP端号,从而可以得知其中一台主机对将要收到的下一个TCP报文段中seq和ackseq值的要求。
这样,在该合法主机收到另一台合法主机发送的TCP报文前,攻击者根据所截获的信息向该主机发出一个带有净荷的TCP报文,如果该主机先收到攻击报文,就可以把合法的TCP会话建立在攻击主机与被攻击主机之间。带有净荷的攻击报文能够使被攻击主机对下一个要收到的TCP报文中的确认序号(ackseq)的值的要求发生变化,从而使另一台合法的主机向被攻击主机发出的报文被被攻击主机拒绝。
二、DNS欺骗
DNS欺骗是一门改变DNS原始指向IP的艺术
一、什么是DNS
DNS ( Domain Name Syste) 域名系统,是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。
二、DNS欺骗的优点
dns攻击有一个特点,就是不影响双方的正常通讯
由于DNS欺骗是在需要的主机外部进行一些小动作,而且internet上的主机都需要DNS的域名解析服务,所以DNS欺骗技术相对于其它的手段有较好的隐蔽性,攻击的波及范围大,通用性也比较强。
三、DNS欺骗的方式
1.hosts文件篡改:
hosts是一个没有扩展名的系统文件,作用就是将一些常用的网址域名与其对应的IP地址建立一个关联“数据库”,当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从Hosts文件中寻找对应的IP地址,一旦找到,系统会立即打开对应网页,如果没有找到,则系统会再将网址提交DNS域名解析服务器进行IP地址的解析。如果用户电脑被入侵,则篡改host文件是最简单的dns欺骗。
2.本机DNS劫持:
通过修改路由器中的DNS到假的DNS地址,对路由所属的内网主机进行欺骗
3.DNS id欺骗
在DNS数据报头部的id(标识)是用来匹配响应和请求数据报的。DNS服务器以相同的ID号给客户端发送域名响应数据报。客户端会将收到的DNS响应数据报的ID和自己发送的查询数据报ID相比较,如果匹配则使用该数据报。
假如我们能发送能够伪装DNS服务器提前向客户端发送响应数据报,那么客户端的DNS缓存里域名所对应的IP就是我们自定义的IP了,只要我们的ID是匹配的
id欺骗方法:
1.向客户端主机随机发送大量DNS响应数据报(不在同一个局域网)
2.首先我们进行DNS ID欺骗的基础是ARP欺骗,也就是在局域网内同时欺骗网关和客户端主机(也可能是欺骗网关和DNS服务器,或欺骗DNS服务器和客户端主机)。我们以客户端的名义向网关发送ARP响应数据报,不过其中将源MAC地址改为我们自己主机的MAC地址;同时以网关的名义向客户端主机发送ARP响应数据报,同样将源MAC地址改为我们自己主机的MAC地址。这样以来,网关看来客户端的MAC地址就是我们主机的MAC地址;客户端也认为网关的MAC地址为我们主机的MAC地址。由于在局域网内数据报的传送是建立在MAC地址之上了,所以网关和客户端之间的数据流通必须先通过本地主机。详细介绍请参见《详谈调用winpcap驱动写arp多功能工具》。
在监视网关和客户端主机之间的数据报时,如果发现了客户端发送的DNS查询数据报(目的端口为53),那么我们可以提前将自己构造的DNS响应数据报发送到客户端。注意,我们必须提取有客户端发送来的DNS查询数据报的ID信息,因为客户端是通过它来进行匹配认证的,这就是一个我们可以利用的DNS漏洞。这样客户端会先收到我们发送的DNS响应数据报并访问我们自定义的网站