|
一:安装 你可以在网上很多地方下载到它的最新版本,比如http://ettercap.sourceforge.net 下载完后,先解压缩: [root@CIEL root]#tar zxpvf ettercap-0.6.tar.gz [root@CIEL root]#cd ettercap-0.6 [root@CIEL ettercap-0.6]#./configure&&make&&make install [root@CIEL ettercap-0.6]#make plug-ins [root@CIEL ettercap-0.6]#make plug-ins_install 安装完成后,输入"ettercap --help"就可以看见帮助文档.基本用法是 ettercap [option] [host:port] [host:port] [mac] [mac] 二:功能介绍 嗅探:它有5种工作模式 -a --arpsniff 基于arp的欺骗,分3小种:arpbased,smartcarp和publicarp -s --sniff 属于IPBASED,目标可以是任何主机 -m --macsniff 属于MACBASED 需要说明的是-s -m两选项带来的是传统嗅探模式,分别基于IP地址和MAC地址.也就是说它们必需先把网卡置于混杂,然后才可以正常工作。所以在交换环境下,这两项会完全失效,-a选项是基于ARP欺骗的,是一种中间人攻击模型。实质是利用了ARP协议的漏洞,攻击者分别欺骗了A和B机。让A机把数据传给嗅探者,然后再由嗅探机器把数据转发给B机,A和B却没有意识到数据包的中转过程,这样我们就可以劫获数据甚至修改数据包 下面分别介绍五种用法: 1:ettercap -Nza ip1 ip2 mac1 mac2 (arpbased) 劫获IP1与IP2间的数据.缺省状态下 只接收TCP数据包 2: ettercap -Na ip mac (smartcarp) 劫获此ip与外部所有通讯数据,这种方式比较剧烈,启动时采用的是ARP风暴,很容易被发现.如果别人在用TCPDUMP监听,就会看见攻击者发出的无数的ARP请求,再傻的管理员都明白什么事情发生了.不过由于修改了指定主机的ARP表中关于被监听主机的MAC地址,还修改了被监听主机中的那些指定主机的MAC地址,处在完全的中间人工作状态,这时候你可以作的事情多些,比如更改数据包,截取SSH口令 3:ettercap -Nza ip mac (publicarp) 同上,不同点在于发送ARP请求的方式,上面采用的是ARP广播,这里只是对特定主机发送ARP请求.这样,不易引起管理员的怀疑.不过也带来了问题,被监听者自己也会收到这个以广播方式发送的ARP响应包,于是便会弹出"检测到IP地址于硬件地址冲突"之类的警告.不过不会影响目标主机正常通信,还有一点就是发往被监听主机的数据包会送给监听者,而监听者发出的数据包却被直接送往真正的目的主机,没有经过监听者的主机.所以我们只能截取不完全的通信内容 4:ettercap -Nzs IP:80 (ipbased sniffing) 基于IP地址的嗅探。这里仅劫获目标机器HTTP消息,你也可以指定其他端口,比如23 。如果没有指定,所有都会被截取 5:ettercap -zm mac1 mac 2 (macbased) 基于MAC的嗅探.只要输入MAC地址
需要说明的是,4,5两种方式只适合于共享网络,在交换网络下一概无效.MAC地址的获取很简单,直接在终端输入“ettercap -l"就会列出所有在线主机。或者你先PING一下某个IP,不管有没有回应(没有回应可能是对方开了防火墙),再用ARP命令就可以获取其MAC地址。如果无法获取,则此IP不存在 ,这也是探测防火墙后的主机是否在线的一个好方法。
包过滤:由于网络流量实在很大,当你面对大量记录数据时,你可能会感到手足无措,你想找到自己需要的数据无疑是一项艰巨的工作,这时侯,我们可以通过—F选项加载自己的过滤规则,这样,很多无用的数据就会被忽略,删节。和注射字符一样,我们进行包过滤时有必要的话也要注意到正确的TCP序列号和确认序列号等因素。一旦你加载了自己的过滤链,你就可以有目的的得到自己最需要的数据了。一条过滤规则看起来就象汇编程序一样,当然,还是有差距的,用列阵形容可能更确切些。一条过滤规则大概如下:《协议,源端口,目标端口,承载数据》 一个空的搜索字符串总可以成立,比如端口如果没有指定,所有的都会被记录下来。只要那些规则匹配,你的过滤链就可以工作了 例如有如下数据流 packet 1: "var1=123&var2=400" packet 2: "var1=124&var2=420" packet 3: "var1=125&var2=460" packet 4: "var1=126&var2=540" packet 5: "var1=127&var2=700 ...... ...... 我们可以写如下规则 Search: "var1=[3*]" Replace: "var1=000" 被过滤后的流就会如下 packet 1: "var1=000&var2=400" packet 2: "var1=000&var2=420" packet 3: "var1=000&var2=460" packet 4: "var1=000&var2=540" packet 5: "var1=000&var2=700" 如果“var1”后面没有被指定,默认则“var1=000”
最后是关于ssh的嗅探: 由于传输数据被加密,我们必需自己掌握密钥,具体实现方法如下:我们先截取服务器的明码密钥,保存在一边.自己再生成另一明码密钥,用来加密本机与客户机通讯数据,收到客户机数据后,自然可以解密,在用服务器明码密钥加密,发送给服务器,如此一来,可以偷天换柱.
三:工作参数: 下面列出它的主要选项,虽然它本身有28个,不过限于篇幅,下面只列出一些常用的: -N --simple 非交互方式,很常用的 -z --silent 静模式(启动时不是发送ARP风暴) -O --passive 被动模式嗅探 -b --broadping 广播PING ,替代了ARPPING -S --spoof <ip1> 用IP1这地址发送ARP请求获取其他机器信息 -H --hosts <ip1[ip2][...]> 嗅探的目标主机的IP,可以是很多台 -n --netmask <netmask> 扫描由输入子网掩码确定的子网 -v --version 检查最新版本 -h --help 帮助文档
组合选项 (一般和N绑定一齐执行) -u --udp 嗅探UDP数据,缺省是TCP -p --plugin <name> 运行指定名字的插件 -l --list 列出所有在线主机ip和mac.实质就是发送255个ARP请求,等待回音,如果你的子网掩码是255.255.0.0,就会发送255*255个请求,就是ARP风暴吧! -C --colletc 仅搜集用户名和对应密码 Eg:ettetcap -NCzs IP:port 它规则不是很严格,所以你IP或PORT不填也没有关系 -c --check 检察网络里有没其他机器正在嗅探 -x --hexview 用16进制表达数据,这样,如果你想自己创建一个包的话会比较方便.比如建个文件写上"\x01\x02\x00\x00\xFF\xFF\x00\ x02here the pass".注意:ettercap不仅可以嗅探包,也可以创建包的.所以你可以更改穿过你机器的任何一段数据
[1] [2] 下一页 |