前言
Ettercap有四种界面:Text,Curses,GTK2,Daemonize。
- -T 命令行界面,只显示字符。通常与配套的参数有-q(安静模式),加上该选项,则不会显示抓到的数据包内容。
- Curses和GTK2是图形化界面。
- Daemonize是守护模式,相当于在后台运行。
ettercap运行方式
ettercap有两种运行方式:UNIFIED和BRIDGED。
其中,UNIFIED的方式是以中间人方式嗅探;BRIDGED方式是在双网卡情况下,嗅探两块网卡之间的数据包。
UNIFED方式的大致原理为同时欺骗A和B,把原本要发送给对方的数据包发送到第三者C上,然后由C再转发给目标。这样C就充当了一个中间人的角色。因为数据包会通过C那里,所以由C再转发给目标。这样C就充当了一个中间人的角色。因为数据包会通过C那里,所以C可以对数据包进行分析处理,导致原本只属于A和B的信息泄露给了C。
BRIDGED方式有点像笔记本电脑上的两个网卡,一个有线网卡,一个无线网卡。我们可以将有线网卡的internet连接共享给无线网卡,这样笔记本就变成了一个无线ap。无线网卡产生的所有数据包流量都将传送给有线网卡。BRIDGED方式ettercap嗅探的就是这两块网卡之间的数据包。
ettercap中间人攻击
- arp毒化
arp毒化有双向(remote)和单向(oneway)两种方式。
双向方式将对两个目标的ARP缓存都进行毒化,对两者之间的通信进行监听。单向方式只会监听从第一个目标到第二个目标的单向通信内容。
若目标主机开启了ARP防火墙,那么直接欺骗会引发报警且无效果。这时就是单向ARP毒化起作用的时候了。只要路由器没有对IP和MAC进行绑定,我们就可以只欺骗路由器,使从路由器发给目标主机的数据包经过中间人,完成我们的攻击。
- ICMP欺骗
icmp欺骗即基于重定向(redirect)的路由欺骗技术。其基本原理是欺骗其他的主机,本机才是最近的路由,因此其他主机会将数据包发送到本机,然后本机再重新将其转发到真正的路由器上。于是,我们便可以对这些数据包进行监听。
icmp欺骗不适用于在交换机下的环境。若本机在交换机的环境下,则最好选择arp毒化的方式进行攻击。
icmp欺骗方式的参数是真实路由器的MAC和IP。参数形式为(MAC/IP)。举例如下:
-M icmp:00:11:22:33:44:55/10.0.0.1
- DHCP spoofing
DHCP spoofing的基本原理是本机伪装成DHCP服务器,代替真实的DHCP服务器给新接入网络的主机动态分配ip。这样的缺点是可能会与真实的DHCP服务器重复分配IP,造成冲突,而且只能针对新接入的主机,不影响到之前的主机。
DHCP spoofing方式的参数是可以分配出去的ip地址池,子网掩码和DNS,参数形式为(ip_pool/netmask/dns)。举例如下:
-M dhcp:192.168.0.30,35,50-60/255.255.255.0/192.168.0.1,对应的含义为将分配192.168.0.30,35,50-60之间的地址,子网掩码为255.255.255.0,DNS服务器为192.168.0.1.
- Port Stealing
此攻击方式适用的环境是在交换机下,且路由器中ip和mac绑定无法进行arp欺骗。其基本思想是,既然无法欺骗路由器的IP和MAC对应关系,那么就欺骗交换机。这样,原本应该通过交换机某一端口到达目标主机的数据包被传入了攻击者的端口。
由于本方法只能用于交换环境,且会产生大量的数据包,严重影响网络状况,用之间最好三思。
目标写法
目标写法为:mac/IPs/PORTs,或mac/IPs/Ipv6/PORTs,即mac地址,ip地址,端口号。留空不写表示"ANY",即所有;多个mac地址之间用";"隔开;多个IP地址和端口号可以用符号"-"表示连续和英文符号分号";"隔开;如/192.168.1.100-200;192.168.2.130/ ; 当ip有多个的时候,可以用","分隔不同的C段ip。
注意点:
- ettercap并不会转发数据包,转发数据包的是操作系统,因此,在中间人攻击时需要启用操作系统的数据包转发功能。
- sysctl -w net.ipv4.ip_forward =1这样设置之后,当前系统就能实现包转发,但下次启动计算机时将失效。
- 在配置文件/etc/sysctl.conf中写入:net.ipv4.ip_forward = 1.这样就不会在重启的时候失效。
- 用户还可以使用如下命令查看当前系统是否支持包转发:sysctl net.ipv4.ip_forward
- 参考链接:http://www.cnblogs.com/gunl/archive/2010/09/14/1826234.htm