本文主要是介绍无线局域网的嗅探攻击和防御——ettercap+driftnet,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
无线局域网的嗅探攻击和防御
-----ettercap+driftnet
1 实验要求和目的
●了解局域网转发数据的规则与协议
●了解抓包软件的原理与操作流程
2 实验原理和背景知识
2.1 抓包软件与分析软件
本次嗅探试验所使用到的工具有两个,ettercap和driftnet。 ettercap是一款现有流行的网络抓包软件,他利用计算机在局域网内进行通信的ARP协议的缺陷进行攻击,在目标与服务器之间充当中间人,嗅探两者之间的数据流量,从中窃取用户的数据资料。
ettercap的介绍
ettercap有两种运行方式,UNIFIED和BRIDGED。UNIFIED的方式是以中间人方式嗅探,基本原理是同时欺骗主机A和B,将自己充当一个中间人的角色,数据在A和B之间传输时会通过C,C就可以对数据进行分析,从而完成嗅探。BRIDGED方式是在双网卡情况下,嗅探两块网卡之间的数据包。
ettercap的sniffing工作方式划分为五种:
1)IPBASED:在基于IP地址的sniffing方式下,ettercap将根据源IP-PORT和目的IP-PORT来捕获数据包;
2)MACBASED:在基于MAC地址的方式下,ettercap将根据源MAC和目的MAC来捕获数据包(在捕获通过网关的数据包时,该方式很有用);
3)ARPBASED:在基于Arp欺骗的方式下,ettercap利用Arp欺骗在交换局域网内监听两个主机之间的通信(全双工);
4)SMARTARP:在SMARTARP方式下,ettercap利用Arp欺骗,监听交换网上某台主机与所有已知的其他主机(存在于主机表中的主机)之间的通信(全双工);
5)PUBLICARP:在PUBLICARP 方式下,ettercap利用Arp欺骗,监听交换网上某台主机与所有其它主机之间的通信(半双工)。此方式以广播方式发送Arp响应,但是如果 ettercap已经拥有了完整的主机地址表(或在ettercap启动时已经对LAN上的主机进行了扫描),ettercap会自动选取 SMARTARP方式,而且Arp响应会发送给被监听主机之外的所有主机,以避免在Windows主机上出现IP地址冲突的消息。
在操作ettercap时,常使用-M参数,即选择中间人攻击模式,有如下几种攻击方式:
1)基于Arp毒化的中间人攻击:Arp毒化的原理可简单理解为伪造MAC地址与IP的对应关系,导致数据包由中间人截取再转手发出。Arp毒化有双向(remote)和单向(oneway)两种方式。双向方式将对两个目标的Arp缓存都进行毒化,对两者之间的通信进行监听。而单向方式只会监听从第一个目标到第二个目标的单向通信内容。一般会选择使用双向欺骗的方式来获取所有的数据包进行嗅探分析。
如:#ettercap -M arp:remote /192.168.1.102//
对应的含义是:表示对192.168.1.102的所有端口的通信进行嗅探,包括其发出的数据包和收到的数据包。
2)icmp欺骗:icmp欺骗即基于重定向(redirect)的路由欺骗技术。其基本原理是欺骗其他的主机,将自身伪装为最近的路由,因此其他主机会将数据包发送过来,然后作为中间人的攻击者再重新将其转发到真正的路由器上。于是我们便可以对这些数据包进行监听。当然,icmp欺骗不适用于交换机的环境,若本机在交换机的环境下则最好选择arp毒化的方式来进行攻击。icmp欺骗方式的参数是真实路由器的MAC和IP,参数形式为(MAC/IP)。
如: #ettercap -M icmp:00:11:22:33:44:55/192.168.1.1
对应的含义是:将自己伪装成真实路由器的MAC和IP。
-
DHCPspoofing:DHCP欺骗的原理是将攻击者的本机伪装成DHCP服务器,代替真实的DHCP服务器给新接入网络的受害主机动态分配IP。这样的缺点是可能会与真实的DHCP服务器重复分配IP造成冲突,而且只能针对新接入网段的主机,难以影响到之前的主机。DHCP spoofing方式的参数是可以分配出去的IP地址池、子网掩码和DNS,参数形式为(ip_pool/netmask/dns)。
如:#ettercap -M dhcp:192.168.1.102,35,50-60/255.255.255.0/192.168.1.1
对应的含义是:将分配192.168.1.102,35,50-60内的地址,子网掩码为255.255.255.0,DNS服务器为192.168.1.1。 -
PortStealing:此攻击方式适用的环境为交换机下,且路由器中IP和MAC绑定,无法进行Arp欺骗。其基本思想是,既然无法欺骗路由器的IP和MAC对应关系,那么就欺骗交换机,使原本应该通过交换机端口到达目标主机的数据包被传入了攻击者的端口。需要指出的是,由于这个方法只用于交换机环境,且会产生大量的数据包,可能会严重影响网络状况。
ettercap参数及常用操作
-I 显示可用网卡接口设备
-i 选择接口
-t 协议选择,tcp/udp/all,默认为all
-p 不进行毒化攻击,用于嗅探本地数据包
-F 载入过滤器文件
-V text 将数据包以文本形式显示在屏幕上
-L filename 把所有的数据包保存下来(保存后的文件只能用etterlog显示)driftnet的介绍
driftnet是一款用于抓取指定接口数据流上面图片的软件,并且把嗅探到的图片显示在Linux下的一个窗口当中。
driftnet命令的使用语法:driftnet [options] [filter code]
主要参数:
-b 捕获到新的图片时发出嘟嘟声
-i interface 选择监听接口
-f file 读取一个指定pcap数据包中的图片
-p 不让所监听的接口使用混杂模式
-a 后台模式:将捕获的图片保存到目录中(不会显示在屏幕上)
-m number 指定保存图片数的数目
-d directory 指定保存图片的路径
-x prefix 定保存图片的前缀名
2.2 ARP欺骗原理
由于此嗅探方法使用的是ARP欺骗,所以就得先了解一下ARP的原理。
主机A向主机B发送报文,会查询本地的ARP缓存表,找到B的IP地址对应的MAC地址后,就会进行数据传输。若未找到,则A广播一个ARP请求报文(携带主机A的IP地址和物理地址),请求IP地址为主机B,并将主机B的MAC发给主机A。网上所有主机包括B都收到ARP请求,但只有主机B符合该IP,于是向A主机发回一个ARP响应报文。其中就包含有B的MAC地址,A接收到B的应答后,就会更新本地的ARP缓存。接着使用该MAC地址发送数据。因此,本地高速缓存ARP表是本地网络流通的基础,且是动态的。
ARP欺骗共有两种:一种是对路由器ARP表的欺骗;另一种是对内网PC的网关欺骗。
路由器ARP表的欺骗是给路由器发送一系列错误的内网MAC地址,并按照一定的频率不断进行,使真实的地址信息无法通过更新保存在路由器中,结果路由器的所有数据只能发送给错误的MAC地址,造成正常PC无法收到信息。
对内网PC的网关欺骗是将攻击者伪装成网关,让被欺骗的PC向自己发送数据,以截获所想要的内容。
3 实验环境简介与操作步骤
实验原理图:
图 30.1 ARP欺骗原理图
主机A使用ettercap软件,利用ARP欺骗原理,欺骗主机B将自己变成网关,主机B在对外传输数据时,便将数据传送给假网关—主句A,主机A就可以窃听分析主机B的数据包。再利用driftnet软件分析窃听到的数据,就可以看到主机B所浏览的内容。
3.1 利用ettercap+driftnet截获目标主机的图片数据流
实验前提准备:两台电脑,笔记本为Linux操作系统,均处在同一局域网下,且都能连接外网。
第一步:使用Ctrl+alt+T快捷键开启Linux终端,并下载安装ettercap抓包软件
图 30.2 ettercap软件下载安装
第二步:driftnet嗅探软件的安装命令
图 30.3 driftnet软件的下载安装
第三步:开启ettercap抓包软件,使其监听目标主机
图 30.4 开启ettercap抓包软件
第四步:开启driftnet软件,开始分析目标主机的浏览的图片
图 30.5 开启driftnet软件分析数据
第五步:目标主机开始浏览图片,driftnet软件小窗口显示主机B所浏览的图片
图 30.6 driftnet所窃听的图片
3.2 利用ettercap进行arp欺骗截获字节流
第一步:下载安装ettercap软件
图 30.7 ettercap软件安装
第二步:进入ettercap的GTK+ UI工作界面
图 30.8 进入GTK+ UI工作界面
图 30.9 GTK+ UI工作界面
第三步:打开ettercap后,选择Sniff----Unified-sniffing,再选择网卡
图30.10 监听网卡
第四步:点击Hosts---Scan forhosts---Hosts list,可以看到目标主机的IP(192.168.1.102)
图 30.11 查询目标主机IP
第五步:选定目标主机B,点击add to target 1,将主机B添加到目标1;选定路由,点击add to target 2,将路由添加到目标2
图 30.12将目标主机及路由器添加到窃听目标
第六步:点击mitm --- arpposoning ,勾选sniff remoteconnections
图 30.13 开启远程嗅探连接
第七步:点击start --- startsniffing开始监听,再点击view --connections开始查看连接,双击链接查看详细信息
图 30.14 查看获取文字流详细信
图 30.15 截取到的路由器登录账户与密码
5 结果分析与讨论
本次无线局域网嗅探实验利用ARP欺骗原理,使用ettercap和driftnet两款抓包分析软件,分别截取目标主机的文字流和图片流,深入了解了ettercap和driftnet两款软件的工作模式,以及网络协议ARP的原理。
6 实验扩展与分析
本次试验只是使用了ettercap软件四种界面:Text,Curses,GTK2 ,Daemonize中的两种,有兴趣的同学可以自行尝试其他几种。此外,抓包软件数不胜数,比如还有wireshark抓包软件,可以利用wireshark深入学习网络的7层模型以及各种协议。
7 注意事项与资源
本次试验是在Linux环境下实现的,所以需要一部分的Linux知识。目标主机和攻击者是在同一个局域网内,不同网段是不能完成相应的实验的。在截取图片时,目标主机需得在攻击者窃听后开启浏览器浏览带图片的网页,而后攻击者才会获取到图片流。
无线局域网的嗅探攻击和防御
-----ettercap+driftnet
1 实验要求和目的
●了解局域网转发数据的规则与协议
●了解抓包软件的原理与操作流程
2 实验原理和背景知识
2.1 抓包软件与分析软件
本次嗅探试验所使用到的工具有两个,ettercap和driftnet。 ettercap是一款现有流行的网络抓包软件,他利用计算机在局域网内进行通信的ARP协议的缺陷进行攻击,在目标与服务器之间充当中间人,嗅探两者之间的数据流量,从中窃取用户的数据资料。
ettercap的介绍
ettercap有两种运行方式,UNIFIED和BRIDGED。UNIFIED的方式是以中间人方式嗅探,基本原理是同时欺骗主机A和B,将自己充当一个中间人的角色,数据在A和B之间传输时会通过C,C就可以对数据进行分析,从而完成嗅探。BRIDGED方式是在双网卡情况下,嗅探两块网卡之间的数据包。
ettercap的sniffing工作方式划分为五种:
1)IPBASED:在基于IP地址的sniffing方式下,ettercap将根据源IP-PORT和目的IP-PORT来捕获数据包;
2)MACBASED:在基于MAC地址的方式下,ettercap将根据源MAC和目的MAC来捕获数据包(在捕获通过网关的数据包时,该方式很有用);
3)ARPBASED:在基于Arp欺骗的方式下,ettercap利用Arp欺骗在交换局域网内监听两个主机之间的通信(全双工);
4)SMARTARP:在SMARTARP方式下,ettercap利用Arp欺骗,监听交换网上某台主机与所有已知的其他主机(存在于主机表中的主机)之间的通信(全双工);
5)PUBLICARP:在PUBLICARP 方式下,ettercap利用Arp欺骗,监听交换网上某台主机与所有其它主机之间的通信(半双工)。此方式以广播方式发送Arp响应,但是如果 ettercap已经拥有了完整的主机地址表(或在ettercap启动时已经对LAN上的主机进行了扫描),ettercap会自动选取 SMARTARP方式,而且Arp响应会发送给被监听主机之外的所有主机,以避免在Windows主机上出现IP地址冲突的消息。
在操作ettercap时,常使用-M参数,即选择中间人攻击模式,有如下几种攻击方式:
1)基于Arp毒化的中间人攻击:Arp毒化的原理可简单理解为伪造MAC地址与IP的对应关系,导致数据包由中间人截取再转手发出。Arp毒化有双向(remote)和单向(oneway)两种方式。双向方式将对两个目标的Arp缓存都进行毒化,对两者之间的通信进行监听。而单向方式只会监听从第一个目标到第二个目标的单向通信内容。一般会选择使用双向欺骗的方式来获取所有的数据包进行嗅探分析。
如:#ettercap -M arp:remote /192.168.1.102//
对应的含义是:表示对192.168.1.102的所有端口的通信进行嗅探,包括其发出的数据包和收到的数据包。
2)icmp欺骗:icmp欺骗即基于重定向(redirect)的路由欺骗技术。其基本原理是欺骗其他的主机,将自身伪装为最近的路由,因此其他主机会将数据包发送过来,然后作为中间人的攻击者再重新将其转发到真正的路由器上。于是我们便可以对这些数据包进行监听。当然,icmp欺骗不适用于交换机的环境,若本机在交换机的环境下则最好选择arp毒化的方式来进行攻击。icmp欺骗方式的参数是真实路由器的MAC和IP,参数形式为(MAC/IP)。
如: #ettercap -M icmp:00:11:22:33:44:55/192.168.1.1
对应的含义是:将自己伪装成真实路由器的MAC和IP。
-
DHCPspoofing:DHCP欺骗的原理是将攻击者的本机伪装成DHCP服务器,代替真实的DHCP服务器给新接入网络的受害主机动态分配IP。这样的缺点是可能会与真实的DHCP服务器重复分配IP造成冲突,而且只能针对新接入网段的主机,难以影响到之前的主机。DHCP spoofing方式的参数是可以分配出去的IP地址池、子网掩码和DNS,参数形式为(ip_pool/netmask/dns)。
如:#ettercap -M dhcp:192.168.1.102,35,50-60/255.255.255.0/192.168.1.1
对应的含义是:将分配192.168.1.102,35,50-60内的地址,子网掩码为255.255.255.0,DNS服务器为192.168.1.1。 -
PortStealing:此攻击方式适用的环境为交换机下,且路由器中IP和MAC绑定,无法进行Arp欺骗。其基本思想是,既然无法欺骗路由器的IP和MAC对应关系,那么就欺骗交换机,使原本应该通过交换机端口到达目标主机的数据包被传入了攻击者的端口。需要指出的是,由于这个方法只用于交换机环境,且会产生大量的数据包,可能会严重影响网络状况。
ettercap参数及常用操作
-I 显示可用网卡接口设备
-i 选择接口
-t 协议选择,tcp/udp/all,默认为all
-p 不进行毒化攻击,用于嗅探本地数据包
-F 载入过滤器文件
-V text 将数据包以文本形式显示在屏幕上
-L filename 把所有的数据包保存下来(保存后的文件只能用etterlog显示)driftnet的介绍
driftnet是一款用于抓取指定接口数据流上面图片的软件,并且把嗅探到的图片显示在Linux下的一个窗口当中。
driftnet命令的使用语法:driftnet [options] [filter code]
主要参数:
-b 捕获到新的图片时发出嘟嘟声
-i interface 选择监听接口
-f file 读取一个指定pcap数据包中的图片
-p 不让所监听的接口使用混杂模式
-a 后台模式:将捕获的图片保存到目录中(不会显示在屏幕上)
-m number 指定保存图片数的数目
-d directory 指定保存图片的路径
-x prefix 定保存图片的前缀名
2.2 ARP欺骗原理
由于此嗅探方法使用的是ARP欺骗,所以就得先了解一下ARP的原理。
主机A向主机B发送报文,会查询本地的ARP缓存表,找到B的IP地址对应的MAC地址后,就会进行数据传输。若未找到,则A广播一个ARP请求报文(携带主机A的IP地址和物理地址),请求IP地址为主机B,并将主机B的MAC发给主机A。网上所有主机包括B都收到ARP请求,但只有主机B符合该IP,于是向A主机发回一个ARP响应报文。其中就包含有B的MAC地址,A接收到B的应答后,就会更新本地的ARP缓存。接着使用该MAC地址发送数据。因此,本地高速缓存ARP表是本地网络流通的基础,且是动态的。
ARP欺骗共有两种:一种是对路由器ARP表的欺骗;另一种是对内网PC的网关欺骗。
路由器ARP表的欺骗是给路由器发送一系列错误的内网MAC地址,并按照一定的频率不断进行,使真实的地址信息无法通过更新保存在路由器中,结果路由器的所有数据只能发送给错误的MAC地址,造成正常PC无法收到信息。
对内网PC的网关欺骗是将攻击者伪装成网关,让被欺骗的PC向自己发送数据,以截获所想要的内容。
3 实验环境简介与操作步骤
实验原理图:
图 30.1 ARP欺骗原理图
主机A使用ettercap软件,利用ARP欺骗原理,欺骗主机B将自己变成网关,主机B在对外传输数据时,便将数据传送给假网关—主句A,主机A就可以窃听分析主机B的数据包。再利用driftnet软件分析窃听到的数据,就可以看到主机B所浏览的内容。
3.1 利用ettercap+driftnet截获目标主机的图片数据流
实验前提准备:两台电脑,笔记本为Linux操作系统,均处在同一局域网下,且都能连接外网。
第一步:使用Ctrl+alt+T快捷键开启Linux终端,并下载安装ettercap抓包软件
图 30.2 ettercap软件下载安装
第二步:driftnet嗅探软件的安装命令
图 30.3 driftnet软件的下载安装
第三步:开启ettercap抓包软件,使其监听目标主机
图 30.4 开启ettercap抓包软件
第四步:开启driftnet软件,开始分析目标主机的浏览的图片
图 30.5 开启driftnet软件分析数据
第五步:目标主机开始浏览图片,driftnet软件小窗口显示主机B所浏览的图片
图 30.6 driftnet所窃听的图片
3.2 利用ettercap进行arp欺骗截获字节流
第一步:下载安装ettercap软件
图 30.7 ettercap软件安装
第二步:进入ettercap的GTK+ UI工作界面
图 30.8 进入GTK+ UI工作界面
图 30.9 GTK+ UI工作界面
第三步:打开ettercap后,选择Sniff----Unified-sniffing,再选择网卡
图30.10 监听网卡
第四步:点击Hosts---Scan forhosts---Hosts list,可以看到目标主机的IP(192.168.1.102)
图 30.11 查询目标主机IP
第五步:选定目标主机B,点击add to target 1,将主机B添加到目标1;选定路由,点击add to target 2,将路由添加到目标2
图 30.12将目标主机及路由器添加到窃听目标
第六步:点击mitm --- arpposoning ,勾选sniff remoteconnections
图 30.13 开启远程嗅探连接
第七步:点击start --- startsniffing开始监听,再点击view --connections开始查看连接,双击链接查看详细信息
图 30.14 查看获取文字流详细信
图 30.15 截取到的路由器登录账户与密码
5 结果分析与讨论
本次无线局域网嗅探实验利用ARP欺骗原理,使用ettercap和driftnet两款抓包分析软件,分别截取目标主机的文字流和图片流,深入了解了ettercap和driftnet两款软件的工作模式,以及网络协议ARP的原理。
6 实验扩展与分析
本次试验只是使用了ettercap软件四种界面:Text,Curses,GTK2 ,Daemonize中的两种,有兴趣的同学可以自行尝试其他几种。此外,抓包软件数不胜数,比如还有wireshark抓包软件,可以利用wireshark深入学习网络的7层模型以及各种协议。
7 注意事项与资源
本次试验是在Linux环境下实现的,所以需要一部分的Linux知识。目标主机和攻击者是在同一个局域网内,不同网段是不能完成相应的实验的。在截取图片时,目标主机需得在攻击者窃听后开启浏览器浏览带图片的网页,而后攻击者才会获取到图片流。
这篇关于无线局域网的嗅探攻击和防御——ettercap+driftnet的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!