Ettercap 网络嗅探,中间人攻击
Posted timenight
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ettercap 网络嗅探,中间人攻击相关的知识,希望对你有一定的参考价值。
概要
ettercap [ OPTIONS ] [ Target1 ] [ TARGET2 ]
TARGET的格式为MAC / IP / IPv6 / PORT,其中IP和PORT可以是范围
当IP有多个的时候,可以用“,”分隔不同的C段ip,可以用“-”表示连续的ip,可以用“;”分隔不同表达形式的ip。(例如/192.168.0.1-30,40,50/20,22,25)
描述
Ettercap最初是交换局域网(甚至显然是“拥挤的”局域网)的嗅探器,但在开发过程中,它获得了越来越多的功能,从而使其转变为强大而灵活的中间人攻击工具。它支持许多协议(甚至是加密协议)的主动和被动解剖,并包括许多用于网络和主机分析的功能(例如OS指纹)。
两个主要的嗅探选项:
UNIFIED,此方法嗅探通过电缆传递的所有数据包。您可以选择是否将接口置于混杂模式(-p选项)。未定向到运行ettercap的主机的数据包将使用第3层路由自动转发。因此,您可以使用从其他工具发起的mitm攻击,并让ettercap修改数据包并为您转发。
BRIDGED,它使用两个网络接口,并在执行嗅探和内容过滤时将流量从一个转发到另一个。这种嗅探方法完全是秘密的,因为无法找到有人在电缆中间。您可以将此方法视为第1层的mitm攻击。您将位于两个实体之间的电缆中间。不要在网关上使用它,否则它将把您的网关变成网桥。提示:您可以使用内容过滤引擎丢弃不应通过的数据包。这样,ettercap可以用作嵌入式IPS;)
UBIFIED常用,参数 -M(M是MITM的首字母,为中间人攻击的缩写) BRIDGED在同一设备下的两块网卡之间进行
路由转发功能在Ettercap中默认关闭
内核ip_forwarding始终由ettercap禁用。这样做是为了防止转发数据包两次(一次通过ettercap,一次通过内核)。这是网关上的一种入侵行为。因此,我们建议您仅在启用UNOFFENSIVE MODE的情况下在网关上使用ettercap。由于ettercap仅在一个网络接口上侦听,因此以令人反感的模式在网关上启动它将不允许数据包从第二个接口重新路由回去。
功能
SSH1支持:您可以嗅探用户和通过,甚至嗅探SSH1连接的数据。ettercap是第一个能够在FULL-DUPLEX中嗅探SSH连接的软件
SSL支持:您可以嗅探SSL受保护的数据...向客户端提供了伪造的证书,并对会话进行了解密。
在已建立的连接中注入字符:您可以向服务器(模拟命令)或客户端(模拟回复)注入字符,以保持连接活跃!
数据包过滤/丢弃:您可以设置一个过滤脚本,该脚本在TCP或UDP有效负载中搜索特定的字符串(甚至十六进制),并用您的字符串替换或丢弃整个数据包。过滤引擎可以匹配网络协议的任何字段并修改您想要的任何内容
通过隧道嗅探远程流量并进行路由整形:您可以使用linux熟接口或使用集成插件嗅探隧道或路由缠结的远程连接并对它们执行mitm攻击。
插件支持:您可以使用ettercap的API创建自己的插件。
密码收集器: TELNET,FTP,POP,RLOGIN,SSH1,ICQ,SMB,mysql,HTTP,NNTP,X11,NAPSTER,IRC,RIP,BGP,SOCKS 5,IMAP 4,VNC,LDAP,NFS,SNMP,半寿,QUAKE 3,MSN,YMSG
被动操作系统指纹:您被动扫描局域网(不发送任何数据包)并收集有关局域网中主机的详细信息:操作系统,运行服务,开放端口,IP,mac地址和网络适配器供应商。
终止连接:从连接中列出您可以杀死的所有想要杀死的连接
Ssl Mitm攻击
在执行SSL mitm攻击时,ettercap用其自己的证书替换了真实的ssl证书。虚假证书是动态创建的,所有字段均根据服务器提供的真实证书进行填充。仅修改发布者并使用“ etter.sll.crt”文件中包含的私钥签名。如果要使用其他私钥,则必须重新生成此文件。要重新生成证书文件,请使用以下命令:
openssl genrsa -out etter.ssl.crt 1024
openssl req -new -key etter.ssl.crt -out tmp.csr
openssl x509 -req -days 1825 -in tmp.csr -signkey etter.ssl.crt -out tmp.new
cat tmp.new >> etter.ssl.crt
rm -f tmp.new tmp.csr
注意:SSL mitm在桥接模式下不可用(暂时)。
重要说明:如果您在网关上运行ettercap,请记住在杀死ettercap之后重新启用ip_forwarding。由于ettercap放弃了特权,因此它无法为您恢复ip_forwarding。
嗅探和攻击参数
-M,-- mitm <METHOD:ARGS>MITM攻击
arparp ([remote],[oneway])
参数“ remote”是可选的,如果要嗅探远程IP地址中毒网关,则必须指定该参数。实际上,如果您在目标中指定了受害者和Gw,则ettercap将仅嗅探它们之间的连接,但是要使ettercap嗅探通过gw的连接,则必须使用此参数。
参数“oneway”将强制ettercap仅从TARGET1中毒到TARGET2。如果只想毒害客户端而不是路由器(可以放置arp观察器的话),这很有用。
icmp(MAC / IP)
该攻击实现了ICMP重定向。它会向局域网中的主机发送欺骗性的icmp重定向消息,假装这是Internet的更好路由。所有与Internet的连接都将被重定向到攻击者,然后攻击者会将其转发到真实网关。产生的攻击是HALF-DUPLEX手套。仅重定向客户端,因为网关将不接受直接连接的网络的重定向消息。确保不要使用会改变有效载荷长度的过滤器。您可以使用过滤器来修改数据包,但是长度必须相同,因为不能以两种方式更新tcp序列。
您必须将LAN的真实网关的MAC和IP地址作为参数传递。显然,您必须能够嗅探所有流量。如果您正在使用交换机,则必须使用其他mitm攻击,例如arp中毒。
dhcp(ip_pool / netmask / dns)
此攻击实现了DHCP欺骗。它伪装成一台DHCP服务器,并试图与真实服务器竞争,以迫使客户端接受攻击者的答复。这样,ettercap就能操纵GW参数并劫持客户端生成的所有传出流量。
产生的攻击是HALF-DUPLEX手套。因此,请确保使用适当的过滤器(请参阅上面的ICMP部分)。
严重警告:如果您指定正在使用的IP列表,则会使您的网络混乱!通常,请谨慎使用此攻击。当您停止攻击时,所有受害者仍将确信ettercap是网关,直到租约到期为止。
Port ([remote],[tree]))
此攻击实施端口盗用。当ARP中毒无效时(例如,在使用静态映射的ARP的情况下),该技术对于在交换环境中进行嗅探很有用。
它将ARP数据包淹没LAN(基于etter.conf中的port_steal_delay选项)。如果您未指定“ tree”选项,则每个“窃取”数据包的目标MAC地址与攻击者的相同(其他NIC将看不到这些数据包),源MAC地址将是其中一个MAC在主机列表中,如果使用“ tree”选项,则每个窃取数据包的目标MAC地址将是伪造的,因此这些数据包将传播到其他交换机(不仅是直接连接的交换机)。这样,您将能够窃取树中其他交换机上的端口(如果有),但是会产生大量流量(根据port_steal_delay)。“远程”选项的含义与“ arp” mitm方法中的含义相同。
注意:仅在以太网交换机上使用此mitm方法。小心使用它可能会导致性能下降或严重破坏。
常用参数
-I 显示可用网卡
-i 选择网卡
-t 协议选择,tcp/udp/all,默认为all
-p 不进行毒化攻击,用于嗅探本地数据包
-F 载入过滤器文件
-V text 将数据包以文本形式显示在屏幕上
-L filename 把所有的数据包保存下来(所得文件只能用etterlog来显示)
几个常用的参数组合:
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 /10.0.0.1/21,22,23
只嗅探本机与10.0.0.1主机在端口21、22、23上的通信
ettercap -i eth0 -Tq -L sniffed_data -Ffilter.ef -M arp:remote /10.1.1.2/80 //
在eth0网卡上用自己的filter嗅探ip为10.1.1.2主机在80端口上的所有通信,并把所有的数据包保存成文件名为“sniffed_data”的文件
ettercap -i eth0 -Tq -L sniffed_data -Ffilter.ef -M arp:remote /10.1.1.1/ /10.1.1.2/
单向欺骗路由,只劫持路由发向10.1.1.2的数据包。
Enttercap 使用手册中文版
英文版地址:https://linux.die.net/man/8/ettercap
-o,-- only-mitm 此选项禁用嗅探线程,仅启用mitm攻击。如果要使用ettercap进行mitm攻击,并使用另一个嗅探器(例如ethereal)来嗅探流量,则很有用。请记住,这些数据包不是由ettercap转发的。内核将负责转发。记住要激活内核中的“ ip转发”功能。
-f,-- pcapfilter <过滤器> 在pcap库中设置捕获过滤器。格式与tcpdump(1)相同。请记住,这种过滤器不会嗅探网络中的数据包,因此,如果您要执行mitm攻击,则ettercap将无法转发被劫持的数据包。
这些过滤器有助于减少网络负载对ettercap解码模块的影响。
-B,-- bridge <IFACE>桥接嗅探,需要两个网络接口。ettercap将把看到的所有流量从一个转发给另一个。对于中间层物理层的人很有用。这是完全隐身的,因为它是被动的,用户无法看到攻击者。
您可以作为“电缆”的透明代理来内容过滤所有流量。
离线嗅探
-r,--read <文件> 离线嗅探
如果启用该选项,ettercap会嗅探数据包从一个PCAP兼容的文件,而不是从线捕捉。
如果您有一个文件从tcpdump或ethereal转储,并且想要对其进行分析(搜索密码或被动指纹),这将很有用。
显然,从文件进行嗅探时,不能使用“主动”嗅探(arp中毒或桥接)。
-w,--write <文件> 将数据包写入pcap文件
如果必须在交换的LAN上使用“活动”嗅探(arp毒药),但又想使用tcpdump或ethereal分析数据包,则此功能很有用。您可以使用此选项将数据包转储到文件,然后将其加载到您喜欢的应用程序中。
注意:转储文件收集所有不考虑目标的数据包。这样做是因为您可能甚至希望记录ettercap不支持的协议,因此可以使用其他工具进行分析。
提示:可以将-w选项与-r选项一起使用。这样,您将能够过滤转储数据包的有效负载或解密WEP加密的WiFi通信并将其转储到另一个文件。
用户界面选项
-T,- 文本(纯文本界面,仅printf;)
交互性很强,每时每刻按“ h”以获取有关您可以做什么的帮助。
-q,- 安静静音模式。它只能与控制台界面一起使用。它不打印数据包内容。如果要将pcap文件转换为ettercap日志文件,这很有用。
例:
ettercap -Tq
L dumpfile -r pcapfile
-s,-- script <命令>使用此选项,您可以向ettercap输入用户在键盘上键入的命令。这样,您可以在自己喜欢的脚本中使用ettercap。您可以通过此命令发出特殊命令:s(x)。此命令将休眠x秒。
例:
ettercap -T -s‘lq‘将打印主机列表,然后退出
ettercap -T -s ‘s(300)olqq‘将收集信息5分钟,然后打印本地配置文件列表并退出
-C,-- curses
基于Ncurses的GUI。
-G,-- gtk
不错的GTK2界面。
-D,-- daemonize
守护ettercap。此选项将从当前控制终端分离ettercap并将其设置为守护程序。您可以将此功能与“ log”选项结合使用,以在后台记录所有流量。如果守护程序由于任何原因失败,它将创建文件“ ./ettercap_daemonized.log”,在该文件中将报告ettercap捕获的错误。此外,如果要对守护进程进行完整的调试,建议您在调试模式下重新编译ettercap。
常规选项
-i,-- iface <IFACE>选择网卡
-I,-- iflist 此选项将打印可在ettercap中使用的所有可用网络接口的列表。
-A,-- address <地址>如果您的接口具有多个IP地址,则此选项很有用。
-n,-- netmask <NETMASK>如果您的NIC的关联网络掩码为B类,并且只想扫描(使用arp扫描)C类,则此选项很有用。
-R, 反转TARGET选择中的匹配。它的意思不是(TARGET)。除所选目标外的所有目标。‘
-t,-- proto <PROTO>仅嗅探PROTO数据包(默认为TCP + UDP)。
如果要通过TARGET规范选择端口,但要区分tcp或udp,这将很有用。两者的PROTO都可以是“ tcp”,“ udp”或“ all”。
-z,-- silent不要执行LAN的初始ARP扫描。
-p,-- nopromisc通常,ettercap会将接口置于混杂模式,以嗅探线路上的所有流量。如果只想嗅探您的连接,请使用此标志不启用混杂模式。-S,-- nosslmitm通常,ettercap伪造SSL证书以拦截https流量。此选项禁用该行为。-u,- ettercap每次启动时,都会在内核中禁用ip转发,并开始转发数据包本身。此选项阻止这样做,因此ip转发的职责留给了内核。
如果要运行多个ettercap实例,此选项很有用。如果接口未配置(没有IP地址),则必须使用此选项。
如果要在网关上运行ettercap,这也很有用。它不会禁用转发,网关将正确路由数据包。
-j,-- load-hosts <文件名>它可用于从-k选项创建的文件中加载主机列表。(见下文)
-k,-- save-hosts <文件名>将主机列表保存到文件。当您有许多主机并且不想在每次使用ettercap时启动ARP风暴时很有用。只需使用此选项并将列表转储到文件中,然后使用-j <filename>选项从中加载信息即可。
-P,-- plugin <插件>运行所选的插件。在控制台方式(-C选项)下,将执行独立插件,然后退出应用程序。挂钩插件已激活,并执行正常嗅探。
要获得可用外部插件的列表,请使用“列表”(不带引号)作为插件名称(例如./ettercap -P list)。
-F,-- filter <文件>从文件<FILE>加载过滤器。过滤器必须使用etterfilter进行编译。该实用程序将编译过滤器脚本,并生成符合ettercap的二进制过滤器文件。阅读etterfilter手册页,以获取可以在过滤器脚本中使用的功能列表。通过多次指定选项可以加载任意数量的过滤器;数据包按照命令行中指定的顺序通过每个过滤器。您还可以通过在文件名后附加:0来加载脚本而不启用脚本。
注意:这些过滤器与--pcapfilter设置的过滤器不同。ettercap过滤器是内容过滤器,可以在转发数据包之前修改数据包的有效负载。Pcap过滤器仅用于捕获某些数据包。
注意:您可以在pcapfile上使用过滤器来修改它们并将其保存到另一个文件,但是在这种情况下,您必须注意自己在做什么,因为ettercap不会重新计算校验和,也不会拆分超出mtu(snaplen)的数据包或任何内容像那样。-W,-- wep-key <密钥>您可以指定WEP密钥来解密WiFi数据包。只有成功解密的数据包才会传递到解码器堆栈,其他的消息将被跳过。
该参数具有以下语法:N:T:KEY。其中N是wep密钥的位长(64、128或256),T是字符串的类型(字符串为‘s‘,密码短语为‘p‘)。KEY可以是字符串,也可以是转义的十六进制序列。
例如:--
wep-key 128:p:secret
--wep-key 128:s:ettercapwep0
--wep-key ‘64:s: x01 x02 x03 x04 x05‘
-a,-- config <配置>加载替代配置文件,而不是/etc/etter.conf中的默认配置文件。如果您有许多针对不同情况的预配置文件,这将很有用。
可视化选项
-e,-- regex <REGEX>仅处理与正则表达式匹配的数据包。
该选项与-L结合使用非常有用。它仅记录与posix regex REGEX匹配的数据包。
它甚至影响嗅探到的数据包的可视化。如果设置,则仅显示与正则表达式匹配的数据包。
-V,-- visual <格式>使用此选项可以设置要显示的数据包的可视化方法。
-E,-- ext-headers为每个显示的数据包打印扩展标题。(例如,mac地址)-Q,- 超静音超级安静模式。请勿在收集用户和密码时打印它们。仅将它们存储在配置文件中。在纯文本模式下运行ettercap可能很有用,但您不想被解剖器消息所淹没。使用插件时很有用,因为嗅探过程始终处于活动状态,它将打印所有收集的信息,使用此选项,您可以禁止显示这些消息。
注意:此选项自动设置-q选项。
例:
ettercap
--
TzQP手指/192.168.0.1/22
记录选项
-L,-- log <日志文件>将所有数据包记录到二进制文件中。etterlog可以解析这些文件以提取人类可读数据。使用此选项,将记录所有由ettercap嗅探到的数据包以及它可以收集的所有被动信息(主机信息+用户和通过)。给定一个LOGFILE,ettercap将创建LOGFILE.ecp(用于数据包)和LOGFILE.eci(用于信息)。
注意:如果您在命令行上指定此选项,则不必照顾特权,因为日志文件是在启动阶段打开的(具有高特权)。但是,如果在ettercap启动时启用了日志选项,则必须位于uid = 65535或uid = EC_UID可以写入的目录中。
注意:日志文件可以使用-c选项使用deflate算法进行压缩。
-l,-- log-info <日志文件>与-L非常相似,但是它仅记录每个主机的被动信息+用户和密码。该文件将被命名为LOGFILE.eci-m,-- log-msg <日志文件>它在<LOGFILE>中存储ettercap打印的所有用户消息。当您在守护程序模式下使用ettercap或要跟踪所有消息时,此功能很有用。确实,一些解剖器会打印消息,但它们的信息不会存储在任何地方,因此这是跟踪消息的唯一方法。-c,-- compress转储时,使用gzip算法压缩日志文件。etterlog(8)能够处理压缩和未压缩的日志文件。-o,-- only-local存储仅属于LAN主机的配置文件信息。
注意:此选项仅对内存中收集的配置文件有效。记录到文件时,将记录所有主机。
-O,-仅远程存储仅属于远程主机的配置文件信息。
标准选项
-U,--update连接到ettercap网站(ettercap.sf.net)并检索ettercap使用的最新数据库。
如果只想检查更新是否可用,请在-z选项前添加。顺序很重要:ettercap -zU
-v,--version打印版本并退出。
-h,--help打印帮助屏幕,并简要列出可用选项。
注意:您不能在仅-mitm模式(-o标志)中使用此方法,因为它会钩住嗅探引擎,并且您不能使用交互式数据注入。
注意:将其与其他mitm方法结合使用可能会很危险。
以上是关于Ettercap 网络嗅探,中间人攻击的主要内容,如果未能解决你的问题,请参考以下文章