管理员
|
阅读:2754回复:0
ARP欺骗教程图解 (案例、过程、分析,并有配套的仿真链接)
楼主#
更多
发布于:2011-10-29 22:06
 | |  |  | 这个ARP欺骗案例用最简单的拓扑、场景来显示黑客作案的方式、过程。案例有两个版本:仿真、图解。图解版本,从仿真截图,并加标注,说明主要步骤的关键。- 背景:计算机经互联网相连而传递信息,信息标明发送行、接收方的IP地址,而具体的传送是经过链路而实现的。若两个计算机都在同一个局网内,发送方还需要知道接收方的MAC地址(硬件地址)。如果发送方不知道接收方的MAC地址,就无法发送信息,得问ARP。ARP会在局网里向所有的计算机广播:你的地址是这个接收方的地址吗?如果是,请告诉我你的MAC地址。用电话来比喻,IP地址是姓名,MAC是电话号码,ARP是查号台。- ARP欺骗原理:计算机通信用IP地址,在以太网中,主机传递信息用IP地址及MAC地址(硬件地址)。主机之间知道彼此的IP地址,但不知道对方的MAC地址。在传递信息时,发送方得先问ARP找到对方的MAC地址才能发送。ARP向局网中的所有主机广播询问接收方的MAC地址。这个询问(ARP Request)包含了发送方的IP、MAC地址,黑客若在这个局网中,也会收到ARP Request,而得知发送方的地址。从偷听各个主机所发送的ARP Request,黑客知道了它们的的MAC地址,就可以冒充别的主机,进行欺骗活动,截取数据包。这段说明有些抽象、拗口,看下面的图解能更清楚些。- 预备知识:MAC地址,交换机洪泛、转发,ARP。见参考资料1.拓扑:在一个局网里,有三台主机H1, H2, H3连接到一个交换机S1,它们的MAC地址分别为MAC.H1, MAC.H2, MAC.Attacker (H3是黑客)。图片:34_3710_98fa655b92750b5.jpg 这个拓扑是从ARP Spoofing仿真截图而来,仿真用动画显示ARP Spoofing仿真的过程,用户可以观察数据包-ARP表-MAC表间的因果关系,控制时间轴,检查数据包内容等细节。- 拓扑中的地址以<地址类别>.<主机>表示。例:H1的IP地址是IP.H1, H1的MAC地址是MAC.H1。2.初始化图片:34_3710_9d0f3728dca0523.jpg 初始化时,主机的ARP表里只有自己的MAC地址,不知道其它主机的MAC。交换机S1的MAC表也是空的。3.H1发送ARP Request查询H2的MAC地址图片:34_3710_c69f3a1820e734b.gif H1要知道H2是否在线,就ping H2。但不知道H2的MAC地址,不能发送ping, H1就洪泛ARP Request向局域网查询H2的MAC地址.- 截图中H1的ARP表增添一个条目(IP.H2, Incomplete),意思是H1正在查询H2的MAC.- 若运行ARP Spoofing仿真,用户可以点击ARP Request,查看报文(target mac为0,表示H1不知道H2的MAC地址),Link报头(Destination MAC设置为0xFFFFFFFF,表示这是一个广播包).交换机S1收到ARP Request时,因为它是广播包所以将其洪泛。4.收到了ARP Request,H2回复ARP Reply, H3 (黑客)记录H1的MAC地址图片:34_3710_8532733e3c0e49f.jpg 主机收到ARP Request后有两种反应:不更新ARP表,更新ARP表,记录方式方的MAC地址(把ARP Request报文里的sender ip, sender mac添加到ARP表)。多数ARP软件不更新ARP表,这是H2的做法,但黑客一定会把发送行的地址记录到ARP表。 5. H1 ping H2. H2收到Ping,要回复Echo,但不知道H1的MAC,得发送ARP Request查询
图片:34_3710_130fae6251aa905.jpg H1收到了H2的ARP Reply后,更新ARP表,(IP.H2, Incomplete) 变成(IP.H2, MAC.H2),并再ping H2.H2收到ping后,要发送Echo回复,但不知道H1的MAC,就发送ARP Request (ARP Req2)查询。ARP Request被交换机洪泛,送往H1, H3. 6.H1, H3都收到了H2的ARP Request,做出不同反应 图片:34_3710_4b9c58b9b378083.jpg H1, H3收到H2的ARP Request,做出不同的反应:H1发送ARP Reply回复H2,H3把H2的地址记录到ARP表。7.H3开始攻击,冒充H1发送ARP Reply给H2.图片:34_3710_5b5ba5c1967ec0d.jpg 黑客冒充H1发送一个ARP Reply给H2,在ARP Reply的报文中,把sender ip设为IP.H1 (H1的IP), sender mac设为自己的MAC.这样,下次H2要发送数据包给H1时,会被H3收到,而不是H1.这是因为在局网中传送是根据Link报头的目的MAC地址。同时, H1若换了一个网卡,就会发送ARP Reply通知自己的MAC地址改变,H2收到这样的ARP Reply,也不以为怪。8. H2上当,把H1的MAC地址篡改为黑客的MAC地址。图片:34_3710_8a982352ba555a3.jpg H2刚收到H1的ARP Reply,把ARP表的条目(IP.H1, Incomplete)改为(IP.H1, MAC.H1)。H2马上又收到H3的ARP Reply,把ARP表的条目(IP.H1, MAC.H1)改为(IP.H1, MAC.HAttacker)。【注】若操作仿真,用户可以看到两个ARP Reply对H2 ARP表的连续改变。 9. H1再ping H2. H2回复Echo ,用的MAC目的地址是黑客的,不是H1的
图片:34_3710_1e449a3ee4da93b.jpg 10.H2发送给H1的Echo被黑客收到, H1, H2毫不知情。图片:34_3710_4df873462905b74.jpg 黑客得逞了。H2发送给H1的数据包,都给黑客收到了。这个案是Ping/Echo,在实际情况,可能是机密信息或银行交易。黑客收到H2的数据包后,可以记录后再转发给H1,而H1, H2并不知道这个数据包已被黑客偷听过。黑客也可以把数据包篡改后再转发给H1,收到H1得到错误的信息。【注】最后一步交换机根据Echo的目的MAC地址把Echo转发到H3,与交换机原理有关,若不熟悉,见参考资料、参考资料:[a] ARPVisualland ARP仿真目录(Overview)ARP入门,见ARP basic仿真http://www.visualland.net/view.php?cid=857;protocol=ARP;title=1. Basic-update 谢希仁计算机网络第五版4.2.4地址解析协议ARPRFC 826 http://www.faqs.org/rfcs/rfc826.html MAC地址: LAN overview谢希仁计算机网络第五版3.4.3 MAC层Wikipedia MAC address http://en.wikipedia.org/wiki/MAC_address百度百科MAC地址http://baike.baidu.com/view/69334.htm[c]交换机怎么转发、洪泛数据包,发现新地址。VisuallandSwitch 仿真目录, Switching and flooding 仿真 , MAC discovery 仿真谢希仁计算机网络第五版3.5.2在数据链路层扩展以太网Wikipedia: Network Switch. http://en.wikipedia.org/wiki/Network_switch
| |  | |  |
|