51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3074|回复: 2
打印 上一主题 下一主题

网络嗅探系列---网络嗅探技术浅析

[复制链接]
  • TA的每日心情

    2015-9-10 15:08
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    跳转到指定楼层
    1#
    发表于 2009-9-17 16:10:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    一.嗅探可以做什么?为什么需要嗅探?  
    嗅探(sniff),就是窃听网络上流经的数据包,而数据包里面一般会包含很多重要的私隐信息,如:你正在访问什么网站,你的邮箱密码是多少,你在和哪个MM聊QQ等等......而很多攻击方式(如著名的会话劫持)都是建立在嗅探的基础上的。
    二.嗅探技术
      在集线器盛行的年代,要做嗅探是件相当简单的事情,你什么事情都不用干,集线器自动会把别人的数据包往你机器上发。但是那个年代已经过去了,现在交换机已经代替集线器成为组建局域网的重要设备,而交换机不会再把不属于你的包转发给你,你也不能再轻易地监听别人的信息了(不熟悉集线器和交换工作原理的朋友可以参考我之前写的文章《网络基础知识1:集线器,网桥,交换机》),注意,只是不再轻易地,不是不行!呵呵,要在交换机网络下做嗅探还是有方法的,接下来我总结一下最近看到的关于交换机网络嗅探的一些方法:>
    1.基于ARP欺骗的嗅探技术(对ARP攻击不熟悉可以参看我另外两篇文章《Arp小记》《Arp攻击实战》
      以前搞ARP攻击没什么意思,它顶多就是把一些机器搞得不能上网,真的没啥意思,但自从交换机成为架设局域网的主流设备后,ARP攻击有了新的用途:用ARP欺骗辅助嗅探!原理很简单,先看看下面两幅图:
      
      左图是正常通信时,两台机器数据流向。右图是B被A机器ARP欺骗后,两台机器的数据流向,着重看右图,B被ARP欺骗后,数据的流向改变了,数据先是发给了A,然后再由A转发给网关;而从网关接收数据时,网关直接把发给B的数据转发给了A,再由A转发给B,而A的自己的数据流向是正常的。现在B的数据全部要流经A,如果A要监听B是易于反掌的事情了。
      再简单说说这个ARP欺骗的过程吧,也就是怎么实现改变B的数据流向:
      1).现在架设A的IP地址是192.168.1.11,MAC地址是:11-11-11-11-11-11;B的IP地址是192.168.1.77,MAC地址是77-77-77-77-77-77;网关IP地址是192.168.1.1,MAC地址是:01-01-01-01-01-01。
      2).A发送ARP欺骗包(ARP应答包)给B,告诉B:我(A)是网关,你把访问外网的数据发给我(A)吧!ARP欺骗包如下:
      SrcIP: 192.168.1.1 ,SrcMAC:11-11-11-11-11-11
      DstIP: 192.168.1.77 ,DstMAC:77-77-77-77-77-77
      3).A发送ARP欺骗包(ARP应答包)给网关,告诉网关:我(A)是机器B,结果网关把所有给B的数据都发到A那里了。ARP欺骗包如下:
      SrcIP: 192.168.1. 77,SrcMAC:11-11-11-11-11-11
      DstIP: 192.168.1. 1,DstMAC:01-01-01-01-01-01
      4).机器A有一个辅助用的转发软件,它负责把“网关->B”和“B->网关”的数据包转发。
    至此,ARP欺骗的辅助任务完成了,接下来就是用你的嗅探器进行偷窥了~噢~哈哈!
      这里有几点值得注意一下的:
      1).ARP欺骗包每隔一段时间要发一次,否则网关和B的ARP缓存会更新!
      2).ARP欺骗完成后,网关的ARP记录会有两记录的MAC地址是相同的,分别是:192.168.1.11(11-11-11-11-11-11)和192.168.1.77(11-11-11-11-11-11),这样可能会比较明显,嗯~可以把A自己在网关的ARP缓存改了:192.168.1.11(01-10-01-10-01-10,乱写一个),但这样会有两个问题:一个是这个MAC是乱写的,局域网内根本没有这个MAC地址的机器,根据交换机的工作原理,网关发给192.168.1.11这IP的机器的数据将会被广播。第二个是,此刻你(A)的正常与外界通信的能力将会丧失。可以权衡考虑一下。
      以前的一篇文章《Arp攻击实战》,里面所使用的ARP攻击工具:"WinArpAttacker",它就有利用这种原理进行嗅探的功能,见下图:
      
    2.欺骗交换机缓存
      用ARP欺骗辅助嗅探是一种比较旧的方式,现在的局域网机器很多都装了ARP防火墙!如果机器装了ARP防火墙,上面的嗅探方式就没用了:<,那还有其他的方式吗?嗯~有!那就是欺骗交换机缓存!
      cncert的一个很出名的会话劫持工具SSCLONE就是采用这种方法进行嗅探的,它的网站上也有专门的文章说明“欺骗交换机缓存”的嗅探方法(见参考资料)。我在这里大概说一下原理吧。
      交换机里面有一张CAM表,记录了Mac-Port信息(这个端口对应的机器的MAC地址是什么),MAC信息的获取是:交换机从转发的数据包中提取。所谓欺骗交换机缓存,就是修改这张CAM表以达到欺骗交换机的目的!比如现在有一个4端口的交换机,它的CAM表如下:
      port1 -- 11-11-11-11-11-11
      port2 -- 22-22-22-22-22-22
      port3 -- 33-33-33-33-33-33
      port4 -- 44-44-44-44-44-44
    现在port1的机器A(IP是192.168.1.11,MAC地址为11-11-11-11-11-11)想要嗅探port2的机器B(IP是192.168.1.22,MAC地址为22-22-22-22-22-22),怎么办呢?呵呵~流程如下:
      机器A对外发送一个数据包,如下:
      SrcIP:192.168.1.11  ScrMac:22-22-22-22-22-22
      DstIP:xxx.xxx.xxx.xxx(随便写),DstMac:xx-xx-xx-xx-xx-xx(随便写)
      此时,交换机收到这个包,发现在原来CAM里面,port1对应的机器MAC地址是11-11-11-11-11-11,怎么现在变为:22-22-22-22-22-22了呢??哦,应该是这台机器的MAC地址变了吧~好!那我更新CAM表!
      更新后的交换机CAM表如下:
      port1 -- 22-22-22-22-22-22
      port2 -- 22-22-22-22-22-22
      port3 -- 33-33-33-33-33-33
      port4 -- 44-44-44-44-44-44
    现在有port1和port2对应的MAC地址是一样的。如果现在网关(假设现在port4连接的是网关)来了一个数据包是给机器B(IP是192.168.1.22,MAC地址为22-22-22-22-22-22),交换机会顺序查询此刻的CAM表来确定该数据包转发去哪个端口!在查询port1时,发现此端口对应MAC地址和数据包里的MAC地址相同,交换机直接就把包转发到port1的机器A了,由于该包已转发完毕,交换机继续处理下一个数据包......就这样,数据包又再次落入充满窥探欲望的人手中!
      这里也需要注意几个问题:
      1).A收到包后,还是需要转发给B的,不然B和外面的对话就中断了。
      2).当A把包转发给B时,需要修复交换机的CAM表。
    当你看完以上这两点注意时,可能会发现利用这种的一些缺陷:
      1).A在转发包给B时需要恢复CAM表,转发后又要再次欺骗。如果在转发包时,网关来了一个数据给B,此时的CAM表是正确的,交换机会把这个数据会直接发给B,A无法监听到这个包,由于每次转发都需要完成以上操作,导致CAM表刷新相当频繁,最后的结果是,A监听到的数据很不完整。
      2).你接的交换机的端口号决定着你的命运!
      如果B接的port1端口,A接的是port2端口,那么,用这种方式,A将永远也嗅探不到B的信息,更悲观的想一下,如果你连接的是这个交换机最后一个端口呢??!:<
      3).跨交换机进行嗅探丢包非常多!
      看下图:
      
    现在交换机A连接交换机B的port1,机器C连接port2,如果没有机器B的话,机器A还是能比较顺利监听机器到C的信息的,但是有了机器B就不同了,交换机的CAM表里port1这条记录,会因为机器A和机器B的发包而经常改变。导致的问题大家也可以想到了。
      现在,防止欺骗交换机缓存的方法只有在交换机处绑定port-mac这对信息,但由于这和交换机原先设计的理念有矛盾,故这个是无法实现的,也就是说,没有办法防止:<
      值得一说的是,现在无线网已经兴起了,和集线器时代一样,在无线网络监听别人的信息是不费吹灰之力的事情,无线网的安全也值深思呀~
      有什么想法大家踊跃发言呀~!:>

    [ 本帖最后由 阿七 于 2009-9-17 16:12 编辑 ]
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    该用户从未签到

    2#
    发表于 2009-10-21 18:06:24 | 只看该作者

    鼓掌

    看到你好几篇贴子,写得真好,加油加油
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3#
    发表于 2009-10-25 18:07:08 | 只看该作者
    不错,值得关注
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-14 13:06 , Processed in 0.068687 second(s), 27 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表