网络监听技术
- 网络监听概述
- 网络监听环境
- 流量劫持
- 网络环境
- 共享式网络监听原理
- 交换式网络监听
- 交换机的工作方式
- 交换网络监听:交换机+集线器
- 交换网络监听:端口镜像
- 交换网络监听:MAC洪泛
- 交换网络监听:MAC洪泛
- 交换网络监听:ARP欺骗
- 交换网络监听:端口盗用
- DHCP欺骗
- DHCP基本原理
- DHCP欺骗
- DNS劫持
- DNS攻击
- DNS劫持
- CDN入侵
- Wi-Fi 流量劫持
- 数据采集
- 网卡工作方式
- 网卡的处理流程
- 数据采集
- Libpcap
- 协议分析
- 网络监听防御
- 如何发现Sniffer
- Sniffer的防范
网络监听概述
- 网络监听( Network Listening):是指在计算机网络接口处截获网上计算机之间通信的数据,也称网络嗅探(Network Sniffing )。
- 协助网络管理员监测网络传输数据,排除网络故障;
- 被黑客利用来截获网络上的敏感信息,给网络安全带来极大危害
网络监听环境
- 要实施网络监听,主要解决两个问题:
- 网络流量劫持,即使监听目标的网络流量经过攻击者控制的监听点(主机),主要通过各种地址欺骗或流量定向的方法来实现。
- 在监听点上采集并分析网络数据,主要涉及网卡的工作原理、协议分析技术,如果通信流量加密了,则还需要进行解密处理。
流量劫持
网络环境
- 攻击者要想监听目标的通信,首先要能够接收到目标的网络通信数据
- 一般来说,网络环境可以划分为共享式网络环境和交换式网络环境两类。
共享式网络监听原理
- 广播特性的总线:主机发送的物理信号能被物理连接在一起的所有主机接收到。
- 网卡处于混杂模式:接收所有的数据帧。
- 共享式网络监听:总线型以太网
- 共享网络监听:Hub
交换式网络监听
交换机的工作方式
交换网络监听:交换机+集线器
交换网络监听:端口镜像
交换网络监听:MAC洪泛
攻击思路:
- 攻击思路:
- 在局域网中发送带有欺骗性MAC地址源的数据
- CAM表中将会填充伪造的MAC地址记录,随着记录增多,与CAM表相关的交换机内存将被耗尽,这时交换机以类似于集线器的模式工作,向其它所有的物理端口转发数据
交换网络监听:MAC洪泛
- 问题:网络速度明显降低;目前许多交换机具有MAC洪泛免疫功能
交换网络监听:ARP欺骗
交换网络监听:端口盗用
DHCP欺骗
- DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)通常被应用在大型的局域网络环境中,主要作用是集中的管理、分配IP地址,使网络环境中的主机动态地获得IP地址、Gateway地址、DNS服务器地址等信息,并能够提升地址的使用率。
DHCP基本原理
DHCP欺骗
DNS劫持
- 在因特网中,域名解析系统(DNS)负责将域名(Domain Name)解析成 IP 地址。同ARP协议一样,DNS同样可以被黑客利用来进行网络流量窃取。
- 攻击者还可以通过社会工程学等手段获得域名管理密码和域名管理邮箱,然后将指定域名的DNS纪录指向到黑客可以控制的DNS服务器,进而通过在该DNS服务器上添加相应域名纪录,从而使网民访问该域名时,进入黑客所指向的主机。
DNS攻击
- DNS缓存投毒:控制DNS缓存服务器,把原本准备访问某网站替换为黑客指向的其他网站上。
- 实现方式有多种:
- 可以通过利用网民ISP端的DNS缓存服务器的漏洞进行攻击或控制,从而改变该ISP内的用户访问域名的响应结果
- 通过利用用户权威域名服务器上的漏洞,如当用户权威域名服务器同时可以被当作缓存服务器使用,黑客可以实现缓存投毒,将错误的域名纪录存入缓存中,从而使所有使用该缓存服务器的用户得到错误的DNS解析结果。
DNS劫持
CDN入侵
Wi-Fi 流量劫持
- Wi-Fi 强制断线
数据采集
网卡工作方式
- 单播(Unicast):网卡在工作时接收目的地址是本机硬件地址的数据帧;
- 广播(Broadcast):接收所有类型为广播报文的数据帧;
- 多播(Multicast):接收特定的组播报
- 混杂模式(Promiscuous):是指对报文中的目的硬件地址不加任何检查,全部接收的工作模式
网卡的处理流程
数据采集
Libpcap
- Libpcap(Libaray for Packet Capture),即分组捕获函数库,是一个在用户级进行实时分组捕获的接口,其特点是独立于操作系统。Libpcap的Windows版本,称为Winpcap
- 目前的Libpcap已成为开发跨平台的分组捕获和网络监视软件的首选工具
协议分析
网络监听防御
如何发现Sniffer
-
通过下面的方法可以分析出网络上是否存在Sniffer:
- 构造特殊的报文,根据目标主机的反映判断其网卡是否处于混杂模式。
- 往网上发大量包含着不存在的物理地址的包 ,由于监听程序将处理这些包,将导致性能下降,通过比较前后该机器性能(ICMP echo delay等方法)加以判断。
-
使用Anti-Sniffer、promisc、cmp等工具,发现大型网络上的Sniffer 。
-
测试网络接口有无被设置成混杂模式,因为虽然在非混杂模式下可以运行Sniffer,但只有在混杂模式下才可以捕获共享网络中的所有会话。
-
对于SunOS、Linux和BSD Unix可以采用命令:
ifconfig -a
Sniffer的防范
- 规划网络: 一般将网络分段划分得越细,Sniffer收集到的信息越少
- 采用加密通信: 加密后,即使Sniffer捕获了数据,也难于获得数据的原文。目前比较流行的做法是使用SSL协议和SSH安全产品
- 要想防止对WLAN的监听攻击,可以启用一些安全策略,考虑采用无线VPN产品增强认证和加密功能。
- 对于主动监听工具,简单地采用交换机来防止监听已经不够了。要防止ARP缓存改写,必须对敏感网络中所有主机的ARP缓存表进行硬编码,这些主机包括在线网站、DNS和Mail服务器、防火墙和DMZ路由器等。另外还应该用Ipsec、VPN和其它的加密技术来保护敏感信息。