0x01 网卡工作原理简介
以太网的标准拓扑结构为总线型拓扑。
尽管目前快速以太网使用交换机来进行网络连接和组织。
但在逻辑上,以太网仍然是总线型拓扑。
网卡的主要工作是对总线当前状态进行探测,确定是否进行数据传输;
对接收到的数据帧的物理地址(MAC)进行检查,并根据网卡驱动程序设置的接收模式判断是否接收。
如果为接收,就接受数据,同时对CPU发送中断信号,将接收到数据帧交给操作系统处理,否则丢弃。
整个过程在网卡上独立完成。
对于网卡来说,一般有一下四种接收模式:
-
广播模式:该模式下网卡接收物理地址(MAC)为0xFFFFFF的广播帧。
-
组播模式:该模式下网卡接收自己组内的组播数据帧。
-
直接模式:该模式下网卡只接收目的地址是自己MAC地址的数据帧。
-
混杂模式:该模式下网卡接收所有经过自己的数据,不管该数据是否传给它的。
一般情况下,网卡的默认配置是同时支持前三种接收模式。
如果将网卡的工作模式设为混杂模式,那么网卡将接受所有传递给它的数据包。
这也就是嗅探器的基本原理:让网卡接收一切它能接收到的数据。
0x02 网络嗅探
网络中的两台主机要进行通信,就必须遵守相应的网络协议。
常用的FTP、Telnet、HTTP、POP3协议都是进行数据的明文传输。
一旦将明文传输的数据包截获下来,很容易就知道数据包内的敏感信息(如账号,密码),截获者就可以像正常用户那样,使用提取到信息登录相应的账户。
为了防范此类攻击,现在大部分的网络应用都采用加密传输协议,将数据进行加密后再传输。
若数据包被截获,无法使用私有的密钥进行解码,截获者看到的将是一些乱码,一个信息度为0的数据是没有任何意义的。
FTP明文嗅探:
网络拓扑:
环境:
-
PC1(Win2003):192.168.10.10 (管理机)
-
PC2(Win2003):192.168.10.20 、Wireshark 1.4.0rc2 、VMware 8.0(嗅探机)
-
VMPC1(Win2003):192.168.10.21 、IIS6.0 (FTP账密:test1,test123)、采用桥接模式与PC2相连(受害机)
过程:
首页在PC2上运行Wireshark,设置过滤条件:host 192.168.10.21 and tcp port 21,进行数据监听。
PC1在终端下对WMPC1进行FTP登录。
很快在Wireshark就显示了此次通信的所有数据包,其中账号和密码可以轻易的看到。
Telnet明文嗅探:
网络拓扑:
环境:
-
PC1(Win2003):192.168.10.10 (管理机)
-
PC2(Win2003):192.168.10.20 、Wireshark 1.4.0rc2 (嗅探机)
-
PC3(Win2003):192.168.10.30 、Telnet(账密:test2,test456) (受害机)
过程:
首先对锐捷交换机进行端口镜像配置,将F0/3的数据镜像到F0/2。
-
hostname(config)#monitor session 1 source interface fastEthernet 0/3 both
-
hostname(config)#monitor session 1 destination interface fastEthernet 0/2
-
在PC2上运行Wireshark
设置过滤条件:host 192.168.10.30 and tcp port 23,进行数据监听。
PC1 Telnet登录PC3
登录成功后,停止PC2上的Wireshark监听,找到返回给登录者提示信息的那个包,后面就是传输的账号和密码。
用户名以一个字符一个包的 形式进行传输,在接收到回车符后,返回一个提示输入密码的包,密码也是同样的方式。
0x03 嗅探对策
由于嗅探器需要网卡在混杂模式下才能工作,所以可以利用一些方法将其检测出来,然后进行黑名单处理。
DNS测试,很多攻击者使用的嗅探工具都会对IP进行反向DNS解析,以希望根据域名获取更有价值的主机。
而不监听网络通讯的主机不会对数据包内的IP地址进行反向解析。
根据这个特点,向网络中发送虚假目标IP地址的数据包,然后监听是否有机器发送对虚假目标IP地址的反向DNS查询。
主机响应时间测试,向怀疑有网络监听行为的网络发送大量垃圾数据包,根据各个主机回应的情况进行判断。
正常的主机由于网卡在硬件层面对数据帧的MAC地址进行判定,所以响应的时间应该没有太明显的变化。
而处于混杂模式的主机由于对大量的垃圾信息照单全收,所以响应时间变化量则通常会有1-4个数量级。
利用ping模式进行监测,假设怀疑的主机的MAC地址为00:30:6E:00:9B:B9,目的地址为192.168.1.1。
那么我们伪造不与局域网内任何主机MAC地址相同的00:30:6E:00:9B:BC,目的IP为192.168.1.1的ICMP数据包。
正常模式下的主机是不会对这个包进行响应。
但混杂模式下的网卡会将一切接收的数据包直接上传到上层,上层检查到数据包的IP与自己的IP相符。
于是对这个ping的包做出响应。
这样,处于监听模式下的主机就暴漏了。
本文始发于微信公众号(T00ls):科普文—明文嗅探
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论