0x02 Ettercap概述
Ettercap支持四种界面模式,分别是:Text、Curses、GTK2 、Daemonize。
顾名思义,Text界面相当于我们常说的命令行,换句话说完全可以在字符界面下操作Ettercap,这一点对于渗透测试人员来说极为重要,也非常适用。事实上在很多环境中,很多情况下,通过各种手段和技巧你能得到的仅有的一个shell往往至关重要,你没有选择的余地所以只能利用有限的资源去做尽可能多的事,自然不可能去挑剔环境是否允许你有GUI,Ettercap的强大与灵活性就能体现在此。类似的如Arpsniffer也同样精简适用,不过,Ettercap的强大也许是前者望尘莫及的。很重要的一点是,基于Arp欺骗的sniffing不需要把执行Ettercap的主机的网卡设置为全收方式,并且支持后台执行。
在Text模式下,Ettercap启动参数为-T,通常与之配套的参数有-q代表安静模式,表示不会显示抓到数据包的内容。
Curses和GTK2是图形化界面,带有GUI。
Daemonize也叫做守护模式,可以理解为在后台运行。
可以将Ettercap的运行方式归纳为UNIFIED和BRIDGED两种。
1)UNIFIED的方式是以中间人方式嗅探;
2)BRIDGED方式是在双网卡情况下,嗅探两块网卡之间的数据包。
UNIFIED方式的大致原理为同时欺骗A和B,将本要发给对方的数据包发送到第三者C上,然后由C再转发给目标,C充当了一个中间人的角色。因为数据包会通过C那里,所以C可以对数据包进行分析处理,导致了原本只属于A和B的信息泄露给了C。UNIFIED方式将完成以上欺骗并对数据包分析。Ettercap劫持的是A和B之间的通信,在Ettercap看来,A和B的关系是对等的。
如前所述,BRIDGED方式是在双网卡情况下,嗅探两网卡设备之间的数据包。在实际应用中不常用,我们最为常用的就是UNIFIED方式,UNIFIED方式的运行参数为-M(M是MITM的首字母,即为中间人攻击的缩写)。
对于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地址冲突的消息。
0x03 Ettercap基础
根据官方的说明文档翻译,可以知道Ettercap的常用功能:
1)在已有连接中注入数据:你可以在维持原有连接不变的基础上向服务器或客户端注入数据,以达到模拟命令或响应的目的。
2)SSH1支持:你可以捕获SSH1连接上的User和Pass信息,甚至其他数据。Ettercap是第一个在全双工的条件下监听SSH连接的软件。
3)HTTPS支持:你可以监听http SSL连接上加密数据,甚至通过Proxy的连接。
4)监听通过GRE通道的远程通信:你可以通过监听来自远程cisco路由器的GRE通道的数据流,并对它进行中间人攻击。
5)Plug-in支持:你可以通过Ettercap的API创建自己的Plug-in。
6)口令收集:你可以收集以下协议的口令信息,TELNET、FTP、POP、RLOGIN、SSH1、ICQ、SMB、MySQL、HTTP、 NNTP、 X11、NAPSTER、IRC、RIP、BGP、SOCK5、IMAP4、VNC、LDAP、NFS、SNMP、HALFLIFE、QUAKE3、 MSNYMSG(不久还会有新的协议获得支持)。
7)数据包过滤和丢弃:你可以建立一个查找特定字符串(甚至包括十六近制数)的过滤链,根据这个过滤链对TCP/UDP数据包进行过滤并用自己的数据替换这些数据包,或丢弃整个数据包。
8)被动的OS指纹提取:你可以被动地(不必主动发送数据包)获取局域网上计算机系统的详细信息,包括操作系统版本、运行的服务、打开的端口、IP地址、MAC地址和网卡的生产厂家等信息。
9)OS指纹:你可以提取被控主机的OS指纹以及它的网卡信息(利用NMAP Fyodor数据库)。
10)杀死一个连接:杀死当前连接表中的连接,甚至所有连接。
11)数据包生产:你可以创建和发送伪造的数据包。允许你伪造从以太报头到应用层的所有信息。
12)把捕获的数据流绑定到一个本地端口:可以通过一个客户端软件连接到该端口上,进行进一步的协议解码或向其中注入数据(仅适用于基于 ARP的方式)。
对于Ettercap的常用操作,在目标选择时,Ettercap的目标表达形式为MAC/IPs/PORTs。依照这个规则,可以精确到特定的目标主机和端口上。MAC、IP、和PORT为三个条件,为空代表ANY,即所有。Ettercap针对三个条件同时成立的目标进行嗅探。例如,"//80"即表示对任意MAC、任意IP上的80端口进行嗅探。一般来说,MAC部分我们可以留空,因此,可以只用IP部分来确定目标主机。
当目标IP有多个时,可用“,”来分隔不同的C段ip,可以用“-”表示连续的ip,可以用“;”分隔不同表达形式的ip。例如:"10.0.0.1-5;10.0.1.33" 表示 ip 10.0.0.1,2,3,4,5和10.0.1.33。端口也可有类似的写法:"20-25,80,110" 表示 20,21,22,23,24,25,80和110。
在操作Ettercap时,当我们指定了常用的-M参数,即选择了中间人攻击模式时,我们可以有以下几种攻击方式:
1)基于Arp毒化的中间人攻击:Arp毒化的原理可简单理解为伪造MAC地址与IP的对应关系,导致数据包由中间人截取再转手发出。Arp毒化有双向(remote)和单向(oneway)两种方式。双向方式将对两个目标的Arp缓存都进行毒化,对两者之间的通信进行监听。而单向方式只会监听从第一个目标到第二个目标的单向通信内容。一般会选择使用双向欺骗的方式来获取所有的数据包进行嗅探分析。
如:#Ettercap -M arp:remote /192.168.0.2/ // 表示对192.168.0.2的所有端口的通信进行嗅探,包括其发出的数据包和收到的数据包。
当然,有时目标主机可能开启了Arp防火墙,进行直接欺骗会引发报警并且无效果,此时就可应用到单向Arp毒化。只要路由器没有对IP和MAC进行绑定,我们就可以选择只欺骗路由器,使从路由器发给目标主机的数据包经过中间人,来达成攻击。
2)icmp欺骗:icmp欺骗即基于重定向(redirect)的路由欺骗技术。其基本原理是欺骗其他的主机,将自身伪装为最近的路由,因此其他主机会将数据包发送进来,然后作为中间人的攻击者再重新将其转发到真正的路由器上。于是我们便可以对这些数据包进行监听。当然,icmp欺骗不适用于交换机的环境,若本机在交换机的环境下则最好选择arp毒化的方式来进行攻击。icmp欺骗方式的参数是真实路由器的MAC和IP,参数形式为(MAC/IP)。
如:#Ettercap -M icmp:00:11:22:33:44:55/192.168.0.1
3)DHCP spoofing:DHCP欺骗的原理是将攻击者的本机伪装成DHCP服务器,代替真实的DHCP服务器给新接入网络的受害主机动态分配IP。这样的缺点是可能会与真实的DHCP服务器重复分配IP造成冲突,而且只能针对新接入网段的主机,难以影响到之前的主机。DHCP spoofing方式的参数是可以分配出去的IP地址池、子网掩码和DNS,参数形式为(ip_pool/netmask/dns)。如:#Ettercap -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。
4)Port Stealing:此攻击方式适用的环境为交换机下,且路由器中IP和MAC绑定,造成无法进行Arp欺骗。其基本思想是,既然无法欺骗路由器的IP和MAC对应关系,那么就欺骗交换机,使原本应该通过交换机端口到达目标主机的数据包被传入了攻击者的端口。
需要指出的是,由于这个方法只用于交换机环境,且会产生大量的数据包,可能会严重影响网络状况。
在Ettercap使用中,还存在关于交互模式的问题,如果启动Ettercap的时候没有指定参数-N选项,那么就默认自动选择了交互模式。如果在某些情况下不知到可以做什么,只要键入‘H’就可以弹出帮助画面,可看到可执行命令的消息列表。
另外,该指出的是,Ettercap并不转发数据包,转发数据包的是操作系统,因此,在中间人攻击时需要启用操作系统的数据包转发功能。当然,如果只想用Ettercap做一个中间人而用其他工具来嗅探数据的话,可以加入参数-o (only-mitm)实现。
0x04 Ettercap参数及常用操作
-I 显示可用网卡接口设备
-i 选择接口
-t 协议选择,tcp/udp/all,默认为all
-p 不进行毒化攻击,用于嗅探本地数据包
-F 载入过滤器文件
-V text 将数据包以文本形式显示在屏幕上
-L filename 把所有的数据包保存下来(保存后的文件只能用etterlog显示)
-a,–arpsniff 基于ARP的sniffing
指定监听交换网的方式,如果你想要采用中间人技术进行攻击,必须选用这个选项。如果这个参数与静音方式(-z选项)连用,你必须为ARPBASED方式指 定两对IP-MAC地址(全双工),或者为PUBLICARP方式指定一个IP-MAC地址(半双工)。在PUBLICARP方式下,ARP响应是以广播 方式发送的,但是,如果Ettercap拥有了完整的主机表(在启动时对局域网进行了扫描),Etercap会自动选择SMARTARP方式,ARP响应 会发送给处被控主机以外的所有主机,并建立一个哈希表,以便以后在全双工条件下的中间人攻击中可以将数据包从监听主机发送给以这种方式截获的客户。
注释:如果你采用 SMARTARP方式的Arp欺骗,要在配置文件中设置网关的IP地址(GWIP选项),并通过-e选项加载这个文件。否则这个客户将无法连接到远程主 机。需要进行包替换或包丢弃的数据包过滤功能仅仅可以在ARPBASED方式下使用,因为为了保持连接必须调整数据包的TCP序列号。
-s sniff,基于IP的监听
这是最早的监听方式。它适用与HUB环境,但是在交换网下就没有作用了。你可以仅仅指定源或目的IP地址,可以指定也可以不指定端口,或者干脆什么也不指定,这样意味着监听网上的所有主机。可以用“ANY”来表示IP地址,它的意思是来自或去往每一个主机。
-m macsniff,基于MAC的监听
适用于监听远程的TCP通信。在HUB环境下,如果你想要监听通过网关的连接,仅仅指定欲监视主机的IP和网关的IP是不行的,因为数据包是从外部主机发 送的,而不是从网关发送的,所以你不能采取指定IP地址的方法。为了达到监视内外通信的目的,你只要指定被监视主机的MAC地址和网关的MAC地址,这样 就可以监视被监听主机的所有Internet通信。
-T readpcapfile,脱机sniffing
如果使能了这个参数,Ettercap将监听一个pcap兼容文件中存储的网络数据包,而不是直接监听网络上的数据包。如果你有tcpdump或etereal转储的数据文件,并想对这些文件进行分析的时候,这个选项非常合适。
-Y writepcapfile,把数据包转储到一个pcap格式的文件中
如果你必须要在一个交换的局域网上使用主动sniffing(通过Arp欺骗)方式监听,但是又希望利用tcpdump或etereal对截获的数据包进 行分析,可以选用这个选项。你可以利用这个选项把监听到的数据包转储在一个文件中,然后加载到适当的应用程序中进行分析。
-N simple,非交互方式
如果你希望从一个脚本提交Ettercap,或者你已经了解一些目标信息,或者你想要在后台提交Ettercap,让它收集数据或口令信息(与 -quite 选项连用)的时候,可以采用这个选项。在这种工作方式下,Ettercap的某些功能无法实现,如字符注入等需要交互式处理的功能。但其他功能仍得到全面 支持,如过滤功能。所以可以让Ettercap对两个主机进行Arp欺骗(一台被监视主机和它的网关),并过滤它的所有在80端口的连接,并用一些字符串 进行替换,那么它到Internet的所有通信都会按照你的要求而改变。
-z silent,以静音方式启动(在启动时没有Arp风暴)
如果你希望以非攻击方式启动Ettercap(某些NIDS检测到过多的Arp请求时会产生报警信息)。若要选用这个选项,你必须了解有关目标系统的所有 必要的信息。例如,如果你要求欺骗两台主机,你需要知道这两台主机的IP地址和MAC地址。如果你选择了IP监听或MAC监听,会自动选择这个选项,因为 你不需要知道局域网上的主机列表。如果你想要了解全部主机信息,使用“ettercao -Nl”选项,需要注意的是,这是带有攻击性的方式。
-O passive,以被动方式收集信息
这种方式不会向网上发送任何数据包,它会将网卡置于全收方式,并查看流经的数据包。它将分析每一个需关注的数据包(SYN和SYN + ACK),并利用这些信息建立完整的局域网主机映射图。所收集的信息包括:主机的IP和MAC地址、网卡生产厂家、操作系统类型(被动OS指纹)和运行的 服务等。在这个列表中还会包含其他一些信息,如:“GW”,如果该主机是一个网关的话,“NL”,如果这个IP不属于本网段,以及“RT”,如果该主机发 挥了路由器的功能。如果你需要通过被动方式建立一个完整的主机列表的时候,可以选择这个选项。当你对所收集的信息感到满意的时候,可以通过按下“C”键, 把收集的信息转换为主机列表,然后按照通常的方式工作。在下一节中将解释在sample方式下,本选项的作用。
-b broadping,在启动时利用广播ping,而不是Arp风暴来获得网络主机信息
这种方法的可靠性差,准确性也低。有些主机不会响应广播ping(如windows),所在这种方式下,这些主机是不可见的。如果你想要扫描局域网上的 Linux主机,这个选项是非常有用的。通常你可以把这个选项–list选项连用以便获得主机列表“ettercap -Nlb”
-D delay,如果你选择了Arp欺骗方式,可以利用这个选项来控制Arp响应之间的延迟秒数。如果你希望这种欺骗数据流不要过于集中,这个选项是很有帮助的。在大多数OS中,缺省的Arp缓存有效时间间隔超过一分钟(在FreeBSD系统中为1200秒),缺省的延迟为30秒。
-Z stormdelay,指定在Arp风暴开始后Arp请求之间的延迟微秒数。如果你希望扫描不要过于集中可以使用这个选项。许多IDS 对于过于大量的Arp请求会产生报警信息,但是如果你用低一些的速率发送Arp数据包,IDS将不会报告任何异常事件。缺省的延迟时间为1500微秒。
-S spoof,如果你想欺骗IDS,可以利用一个伪造的IP来进行局域网Arp扫描。但是我们不能伪造源MAC地址,因为良好配置的交换机会阻断你的请求包。
-H hosts,指定在启动是仅扫描这些主机
如果你希望仅对某些IP进行Arp扫描的时候,可以选用这个选项。这样,你既可以从Arp扫描中获得好处,又可以尽量保持低攻击性。甚至在你希望采用 PUBLIC ARP方式,但又想仅仅欺骗某几个主机的时候,这个选项也是很有用的。由于在拥有主机列表的情况下PUBLIC ARP方式会自动转换为SMARTARP方式,只有这些主机被欺骗,可以保持其他主机的Arp缓存不受影响。IP地址表的表示法为:点分制表示的IP地 址,地址之间用分号分隔(在它们之间没有空格),还可以用中横线表示一个IP地址范围或一个IP地址表(使用逗号)。
例:
192.168.0.2-25 :从2到25
192.168.0.1,3,5 :主机1、3和5
192.168.0.-3.1-10;192.168.4,5,7 :将要在子网192.168.0,192.168.1,192.168.2,192.168.3中扫描主机1到10,以及在子网192.168.4中扫描主机5和7
-d dontresolve,在启动时不解决IP
如果你在启动程序时遭遇疯狂的“Resolving n hostnames…”消息时,这个选项会有所帮助。这种情况是由于你的网络中的DNS非常慢而造成的。
-I iface,用于所有操作所针对的网络接口
你甚至可以指定一个网络别名,以便扫描与你的当前IP不同的子网。
-n netmask,用于扫描局域网络的网络掩码(以点分制表示)
缺省的网络掩码为当前ifconfig中定义的掩码。但是,如果你的掩码为,比如255.255.0.0,那么如果你要在启动时进行arp扫描的话,鼓励你另外指定一个限制更强的掩码。
-e etterconf,使用配置文件,而不是命令行参数
在软件的tar包中有一个etter.conf文件,其中包含一些配置范例,参考这些范例来了解如何编写配置文件,在这些例子中给出了所有的指导信息。通 过配置文件,你可以选择性地禁止某个协议分析或把它转移到另一个端口。命令行选项和配置文件可以非常灵活地混合使用,需要记住的是配置文件中的选项压倒命 令行选项,所以,如果在etter.conf指定了IFACE:eth0,并且你在启动程序的时候指定了“ettercap -i eth1 -e etter.conf”,那么最终的选择结果是eth0。
注意:“-e etter.conf”选项必须在所有选项的后面出现,也就是说它必须是最后一个选项。
-g linktype,这个标志有两个补充功能,因此要注意它
如果这个标志用于交互式方式,它不检查局域网的类型。另一方面,如果与命令行方式(-N)连用,它要对局域网进行检查,以了解它是否是一个交换网。有时,如果在局域网内只有两台主机,这种发现方法有可能失败。
-j loadhosts,用于从指定的文件中加载主机表,该文件是通过-k选项创建的
-k savehosts,把主机列表保存到文件中
当目标网络中有很多主机,并且你不希望在每一次启动的时候都做一次arp风暴的时候,这个选项是很有帮助的。你只要指定这个选项,并把列表转储到一个文件 中。然后加载这个利用-j选项从文件中加载这些信息。文件名的形式为:“netaddress_neymask.etl”
-v version,检查最新的ettercap版本
所有的操作都在你的控制之下。每一个步骤都需要用户确认。利用这个选项ettercap将连接到 http://ettercap.sourceforge.net:80 web站点,并请求/latest.php,然后分析查询结果并与你的当前版本进行比较。如果有一个更新的版本可用,ettercap将询问你是否要需要 wget(必须在路径中)。如果你想要对所有的问题自动回答yes,增加选项-y。
-h help,在屏幕上显示帮助信息,对每一个选项都有一个简短的描述
-t proto,仅监听协议PROTO的数据包(缺省为TCP+UDP)
这个选项仅在simple方式下有用,如果你以交互式方式启动Ettercap,TCP和UDP数据包都将被监听。PROTO可以是tcp或udp或all。
-J onlypoison,这个选项使Ettercap不监听任何数据流,但仅仅对目标进行欺骗。如果你需要利用Ettercap进行欺骗,而用其他的软件tcpdump或ethereal进行监听时,可以利用这个选项(注意在这种方式下要使能IP_forwarding)。
另外一种用法是多目标监听。正如你所了解的,你可以利用Ettercap监听两个目标之间的连接信息(ARPBASED),或某一个目标的进出信息 (SMART ARP)。利用这个选项,你可以同时监听若干目标(因为同时启动了多个程序)。启动第一个程序时选用SMART ARP,并用-H选项限制smart功能仅针对你想要欺骗的主机进行(记住如果在欺骗中涉及了网关,必须在以smart方式运行的实例中指定它)。然后再启动其他的“Ettercap -J”。
-R reverse,监听除选择的连接以外的所有连接。
如果你在一个远程主机上使用Ettercap,并且要求监听除了你自己的从本地到远程的连接以外的所有其他连接时,可以选择这个选项。因为如果包含了这样的连接将会使Ettercap监听自己的输出,并不断迭加上去。
-O assive
以被动的方式收集信息
在simple方式下,我们可以在许多方式中选择这个选项。“Ettercap -NO”将以半交互的方式启动Ettercap,输入“h”来获得帮助信息。你可以查看收集的信息,也可以把它们记录到日志文件中,或简单地浏览分析的数 据包。“Ettercap -NOL”与上面的方式相类似,不过它会自动地把数据记录到文件中,记录的时间间隔是5分钟。“Ettercap -NOLq”使Ettercap每5分钟把日志写到文件中。你可以走开,抽支香烟,返回时就会有一个有关局域网的完整报告在等待着你…J
-p plugin,运行外部插件“NAME”
大多数插件需要一个目标主机,这只要在插件的名字后面指定目标主机就可以了。事实上,命令行上的主机解析中,第一个主机为DEST,SOURCE也同样。 为了获得可用的外部插件列表,使用“list”(不包括引号)作为插件的名字。由于ettercap 0.6.2提供了钩子插件系统,所以一些插件并不是作为独立的程序运行,它们可以和ettercap交互,可以通过接口或配置文件使能或禁止。有关插件的 详细信息以及如何编写自己的插件,可以在README.PLUGING文件中找到。
-l list,列出局域网中的所有主机,报告每一个MAC地址
通常与-b(ping广播)选项和-d(不解决主机名)选项连用。
-C collect,收集在命令行上指定的那些主机的所有用户和口令信息
在配置文件(etter.conf)中配置口令收集器,如果需要的话,可以有选择性地禁止它们,或者把它们转移到另一个端口。如果你不希望收集SSH连接 信息,但收集其他所有协议的数据的时候,这个选项很有用。如果你已知某一台主机在端口4567上提供telnet服务,只要把telnet解码移动到 4567/tcp就可以了。
-f fingerprint,对主机进行OS指纹收集
这个选项利用与nmap所使用的相同的方法和数据库:Fyodor fyodor@insecure.org,所以引用一段其man手册页中的一段:这个选项通过TCP/IP指纹来标识远程主机。换句话说,它通过一套技术来检测被扫描主机的网络协议栈的特征。它利用这些信息建立一个指纹,这个指纹将同已知OS指纹库相比较,从而确定所扫描主机的系统类型。甚至可以向你提供被扫描主机所用的网络适配器的生产厂家。这些信息被存放在mac-fingerprints数据库中。
-x hexview,以十六进制数方式转储数据
提示:在监听的时候,可以改变显示效果,只要按”x”或”h”键就可以实现按16进制数显示或按Ascii字符显示。
-L logtofile,如果这个参数单独使用的话,会把所有的数据保存到特定的文件中。它会为每一个连接建立一个单独的文件,在UNIX系统下文件名为YYYYMMDD-P-IP:PORT-IP:PORT.log,在Windows环境下的文件名为P-IP[PORT]-IP[PORT].log。如果与C参数连用,它会创建一个名为YYYYMMDD-collected-pass.log文件,其中记录了所有监听到的口令信息。
-q quiet,如果你希望以后台工作方式记录所有的数据,可以使用这个选项。这个选项将使Ettercap脱离当前的tty,并把它设置为一个daemon。这个选项必 须与-NL(或-NCL)选项联合使用,否则的话没有任何作用。显然,还需要指定一种监听方式,因此这个选项还要和一个表示监听方式的选项相配合。
-w newcert,为HTTPS中介攻击方式创建一个新的cert文件
如果你想要利用社会工程方式获得的信息创建一个cert文件,可以使用这个选项。新创建的文件保存在当前工作目录下。为了长期替换缺省的cert文件(etter.ssl.crt),必须改写/usr.local/share/etter.ssl.crt。
-F filter,从文件FILENAME中加载过滤链
过滤链文件是用伪XML格式编写的。你可以通过手工改写文件或通过Ettercap的用户界面来让Ettercap创建这个文件(在连接表界面中按’F’键)。如果你很熟悉XML语言分析,可以写自己的程序来建立过滤链文件。
过滤规则很简单:
如果 协议 源端口 目的端口 数据流 与规则匹配,在过滤器完成了它的响应 之后,跳转到在 域中定义的过滤器id,否则它跳转到。如果这些域是空的,链就中断了。如果源端口和目的端口为0,意味着任意端口。在查找串中可一使用通配符(细节见 README)。注意:这个选项使能了过滤器,如果需要禁止它,在监听过程中按“S”(源)或“D”(目的)。注意:在命令行上,对主机的解析为:ettercap –F etter.filter DEST SOURCE。所以第一个主机被绑定到目的链,第二个主机被绑定到源链。
重要注意事项:源链规则应用到从源发出的数据上,而不是发送到源的数据上,需谨记,对于目的地址也是同样。
-c check,检查你是否被局域网上特定目标中的其他欺骗者所欺骗
对命令行上的目标主机的解析是反向的。第一个主机是DEST,第二个主机是SOURCE。如果你在基于IP的方式下监听,这个顺序没有关系,因为源和目的都被忽略了。但是如果你在对连接进行过滤,这个顺序对于绑定到相关的过滤链就很重要了。这个反向的顺序是由于与插件的更加灵活接口。因为有些插件需要指定目标主机,那么Ettercap –Np ooze victim这种形式要比Ettercap –Np ooze NOONE victim简单一些。可以用点分制的格式来输入目标(192.168.0.1)或者以域名的格式来输入目标(victim.mynet.org)。只有在-H选项中可以使用通配符
最后还有一点重要的是,静音方式选项仅可以和-N选项连用。
这里些常用指令操作的例子:
# ettercap -Tzq
以命令行方式显示,只嗅探本地数据包,只显示捕捉到的用户名和密码以及其他信息。
# ettercap -T -M arp:remote /192.168.1.1/ /192.168.1.2-10/
嗅探网关192.168.1.1与部分主机192.168.1.2-10之间相互通信的数据包。
# ettercap -Tzq //110
只嗅探本机110端口pop3的信息。
# ettercap -Tzq /192.168.0.11/21,22,23
只嗅探本机与192.168.0.11主机在端口21、22、23上的通信。
# ettercap -i eth0 -Tq -L sniffed_data -F filter.ef -M arp:remote /192.168.0.11/80 //
在eth0网卡上用自己的filter嗅探ip为192.168.0.11主机在80端口上的所有通信,并把所有的数据包保存成文件名为“sniffed_data”的文件。
# ettercap -i eth0 -Tq -L sniffed_data -F filter.ef -M arp:remote /10.1.1.1/ /10.1.1.2/
单向欺骗路由,只劫持路由发向10.1.1.2的数据包。
0x05
to be continued.