中间人攻击(Man-in-the-Middle Attack,简称“MiTM攻击”)是一种“间接”的入侵攻击,这种攻击模式是通过各种技术手段将受入侵者控制的一台计算机虚拟放置在网络连接中的两台通信计算机之间,这台计算机就称为“中间人”。入侵者把这台计算机模拟一台或两台原始计算机,使“中间人”能够与原始计算机建立活动连接并允许其读取或篡改传递的信息,然而两个原始计算机用户却认为他们是在互相通信,因而这种攻击方式并不很容易被发现。所以中间人攻击很早就成为了黑客常用的一种古老的攻击手段,并且一直到今天还具有极大的扩展空间。
Ettercap是一款实现“中间人攻击”的多功能工具,具有 嗅探 实时连接、内容过滤以及其它非常有趣的功能。
它还支持许多协议的主动与被动分离,并且包含网络和主机分析的多项功能。
Ettercap的工作原理是将网络接口设置为混杂模式,并通过ARP欺骗感染目标设备。由此该设备成为所谓的“中间人”,并发动对受害者的各类攻击。Ettercap支持插件,可以通过添加新的插件来扩展功能。
Ettercap支持对许多协议(包括加密协议)的主动和被动分离,并具有网络和主机分析方面的多项功能。Ettercap包含四种操作模式:
基于IP的模式:根据IP源和目的地过滤数据包
基于MAC的模式:根据MAC地址过滤数据包,该模式能够对嗅探通过网关的连接起到作用。
基于ARP的模式:利用ARP欺骗方式在两个主机之间的交换式局域网(全双工,即支持双方同时发送信息)上进行嗅探。
基于公共ARP的模式:利用ARP欺骗方式从一台受害者主机到其它所有主机的交换式局域网(全双工)上进行嗅探。
在已建立的连接中注入字符:将字符注入到服务器(模拟命令)或客户端(模拟回复),同时保持实时连接。
SSH1支持:嗅探用户名和密码,甚至是SSH1连接的数据。Ettercap是第一个能够以全双工方式嗅探SSH连接的软件。
HTTPS支持:嗅探HTTP SSL连接上的加密数据——通过Cisco路由器的GRE tunnel对远程流量进行嗅探,并对它进行”中间人攻击”。
插件支持:使用Ettercap的API创建自定义插件。
密码收集:可以收集以下协议的密码信息——TELNET、FTP、POP、IMAP、rlogin、SSH1、ICQ、SMB、MySQL、HTTP、NNTP、X11、Napster、IRC、RIP、BGP、SOCKS 5、IMAP 4、VNC、LDAP、NFS、SNMP、Half-Life、Quake 3MSN、YMSG
数据包过滤/丢弃:设置一个过滤器,用于在TCP或UDP有效内容中查找特定字符串(或十六进制序列),并用自定义字符串/序列替换它,或丢弃整个数据包。
操作系统指纹:可以提取受害主机及其网络适配器的操作系统信息。
终止连接:从connections-list(连接列表)中终止所选择的连接。
局域网的被动扫描:检索局域网上的主机信息、开放端口、可用服务的版本号、主机(网关、路由器或简单PC)的类型以及跃点数(跃点即路由,一个路由为一个跃点。传输过程中需要经过多个网络,每个被经过的网络设备点(有能力路由的)叫做一个跃点,地址就是它的ip。跃点数是经过了多少个跃点的累加器,为了防止无用的数据包在网上流散。 )的预估距离。
劫持DNS请求。
Ettercap还具有主动或被动地在局域网中找到其它受感染者的功能。
Usage: ettercap [OPTIONS] [TARGET1] [TARGET2]
用法:ettercap【选项】【目标1】【目标2】
TARGET is in the format MAC/IPs/PORTs (see the man for further detail)
目标是MAC/IPs/PORTs格式(根据中间人获取更多信息)
-M, –mitm <方法:ARGS> 执行mitm攻击
-o, –only-mitm 不嗅探,只执行mitm攻击
-B, –bridge <IFACE> 使用桥接嗅探(需要2个iface——嗅探时使用的网卡接口,嗅探两块网卡之间的数据包)
-p, –nopromisc 不要将iface放入混杂模式
-S, –nosslmitm 不要伪造SSL证书
-u, –unoffensive 不要转发数据包
-r, –read <file> 从pcap文件读取数据 <file>
-f, –pcapfilter <string> 设置pcap过滤器<string>
-R, –reversed 使用逆向目标反馈
-t, –proto <proto> 只嗅探该proto(默认是全部)
-T, –text 使用只显示字符的界面
-q, –quiet 安静模式,不显示抓到的数据包内容
-s, –script <CMD> 向用户界面发出这些命令
-C, –curses 使用curses图形化界面
-G, –gtk 使用GTK+ GUI
-D, –daemon 守护模式(无界面),相当于在后台运行
-w, –write <file> 将嗅探到的数据写入pcap文件 <file>
-L, –log <logfile> 此处记录所有流量<logfile>
-l, –log-info <logfile> 此处记录所有信息<logfile>
-m, –log-msg <logfile> 此处记录所有消息记录<logfile>
-c, –compress 使用gzip压缩日志文件
-d, –dns 将ip地址解析为主机名
-V, –visual <format> 设置可视化格式
-e, –regex <regex> 只实现匹配该regex数据包的可视化
-E, –ext-headers 打印每个pck的扩展头
-Q, –superquiet 不显示用户名与密码
-i, –iface <iface> 使用该网络接口
-I, –liface 显示所有的网络接口
-n, –netmask <netmask> 在iface上强制实行(force)该<netmask>
-P, –plugin <plugin> 开始该插件<plugin>
-F, –filter <file> 加载过滤器 <file> (内容过滤器)
-z, –silent 不执行初始ARP扫描
-j, –load-hosts <file> 从 <file>加载主机列表
-k, –save-hosts <file> 将主机列表保存至<file>
-W, –wep-key <wkey> 使用该wep密钥解密wifi数据包
-a, –config <config> 使用其它配置文件<config>
-U, –update 从ettercap网站更新数据库
-v, –version 打印此版本并退出
-h, –help 帮助选项
Ettercap源代码编译需要以下资源:
Libpcap & dev libraries
Libnet1 & dev libraries
Libpthread & dev libraries
Zlibc
Libtool
CMake 2.6
Flex
Bison
LibSSL & dev libraries
LibGTK & dev libraries
Libncurses & dev libraries
Libpcre & dev libraries
支持的操作系统(32位或64位的以下操作系统发行版均已测试成功):
Debian/Ubuntu (包括Kali、BackTrack、Mint等衍生物)、Fedora、Gentoo、Pentoo、Mac OSX (Snow Leopard & Lion)、FreeBSD、OpenBSD、NetBSD。
不支持的操作系统(以下发行版能够安装但不支持,可能需要其它用于代码编译和使用的设置):OpenSuSe、Solaris、Windows Vista、Windows 7、Windows 8。
最新版Ettercap下载链接(含所需资源): https://codeload.github.com/Ettercap/ettercap/tar.gz/v0.8.2
Ettercap官网: https://ettercap.github.io/ettercap/index.html
* 参考来源: darknet ,FB小编Carrie编译,转载请注明来自FreeBuf(FreeBuf.COM)