准备:kali、xp
kali ip:192.168.14.157
目标ip:192.168.14.158
目标网关:192.168.14.2
使用工具:ettercap、arpspoof
一.工具介绍与使用
二.具体实战演示
一.工具介绍与使用
1.ettercap的介绍
ettercap有两种运行方式,UNIFIED和BRIDGED。UNIFIED的方式是以中间人方式嗅探,基本原理是同时欺骗主机A和B,将自己充当一个中间人的角色,数据在A和B之间传输时会通过C,C就可以对数据进行分析,从而完成嗅探。BRIDGED方式是在双网卡情况下,嗅探两块网卡之间的数据包。
kali linux 2018.2 版本,已经内置了ettercap。不需要再安装,若在其他系统,请自行安装ettercap。
2.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地址冲突的消息。
3.使用-M参数,即选择中间人攻击模式,有如下几种攻击方式
(1)基于Arp毒化的中间人攻击:Arp毒化的原理可简单理解为伪造MAC地址与IP的对应关系,导致数据包由中间人截取再转手发出。Arp毒化有双向(remote)和单向(oneway)两种方式。双向方式将对两个目标的Arp缓存都进行毒化,对两者之间的通信进行监听。而单向方式只会监听从第一个目标到第二个目标的单向通信内容。一般会选择使用双向欺骗的方式来获取所有的数据包进行嗅探分析。
如:
ettercap -M arp:remote /192.168.1.102
对应的含义是:表示对192.168.1.102的所有端口的通信进行嗅探,包括其发出的数据包和收到的数据包。
(2)icmp欺骗:icmp欺骗即基于重定向(redirect)的路由欺骗技术。其基本原理是欺骗其他的主机,将自身伪装为最近的路由,因此其他主机会将数据包发送过来,然后作为中间人的攻击者再重新将其转发到真正的路由器上。于是我们便可以对这些数据包进行监听。当然,icmp欺骗不适用于交换机的环境,若本机在交换机的环境下则最好选择arp毒化的方式来进行攻击。icmp欺骗方式的参数是真实路由器的MAC和IP,参数形式为(MAC/IP)。
如:
ettercap -M icmp:00:11:22:33:44:55/192.168.1.1
对应的含义是:将自己伪装成真实路由器的MAC和IP。
(3) DHCPspoofing:DHCP欺骗的原理是将攻击者的本机伪装成DHCP服务器,代替真实的DHCP服务器给新接入网络的受害主机动态分配IP。这样的缺点是可能会与真实的DHCP服务器重复分配IP造成冲突,而且只能针对新接入网段的主机,难以影响到之前的主机。DHCP spoofing方式的参数是可以分配出去的IP地址池、子网掩码和DNS,参数形式为(ip_pool/netmask/dns)。
如:
ettercap -M dhcp:192.168.1.102,35,50-60/255.255.255.0/192.168.1.1
对应的含义是:将分配192.168.1.102,35,50-60内的地址,子网掩码为255.255.255.0,DNS服务器为192.168.1.1。
(4) PortStealing:此攻击方式适用的环境为交换机下,且路由器中IP和MAC绑定,无法进行Arp欺骗。其基本思想是,既然无法欺骗路由器的IP和MAC对应关系,那么就欺骗交换机,使原本应该通过交换机端口到达目标主机的数据包被传入了攻击者的端口。需要指出的是,由于这个方法只用于交换机环境,且会产生大量的数据包,可能会严重影响网络状况。
4.ettercap参数及常用操作
-I 显示可用网卡接口设备
-i 选择接口
-t 协议选择,tcp/udp/all,默认为all
-p 不进行毒化攻击,用于嗅探本地数据包
-F 载入过滤器文件
-V text 将数据包以文本形式显示在屏幕上
-L filename 把所有的数据包保存下来(保存后的文件只能用etterlog显示)
二.具体实战演示
第一种方法:
1.ARP欺骗
arpspoof -t 目标ip -r 目标网关
命令:
arpspoof -i eth0 -t 192.168.14.158 -r 192.168.14.2
2.开启流量转发
命令:
echo 1 > /proc/sys/net/ipv4/ip_forward
3.使用ettercap
命令:
ettercap -Tp -i eth0
注意:这种方法,当数据包流量过大,查看信息不方便。
第二种方法:
1.ettercap -G ,使用图形化界面
2.选择sniffer 模式,这里选择: Unified sniffering 模式
3.网卡选择默认就可以,这里就默认eth0 网卡即可
4.开始嗅探
5.点击Hosts ,再点击Scan forhosts,然后查看host list ,就可以查看到嗅探到的主机ip地址、mac地址
6.选定目标主机B,点击add to target 1,将主机B添加到目标1;选定路由,点击add to target 2,将路由添加到目标2
7.点击mitm --- arpposoning ,勾选sniff remoteconnections
8.点击start --- startsniffing,然后在xp上开始监听测试目标登录
测试:
用户名:aaaa
密码:test
9.点击view --connections开始查看连接,可以双击链接查看详细信息
但是我们现在只关注有没有抓取到密码
在最下面可以看到用户登录名和密码,嗅探密码成功
总结:
第一种方法需要结合arpspoof工具来嗅探HTTP信息,而且查看获取信息麻烦,不推荐
第二种方法只需要使用ettercap工具,查看信息方便,推荐使用