ettercap中间人攻击,DNS劫持、替换网页内容与ARP欺骗
Ettercap
简介
Ettercap是一个综合性的中间人攻击工具,使用它可以进行ARP欺骗、拦截器、DNS欺骗等常见的中间人攻击。
常用指令
1.用户界面类型
-T, –text 使用只显示字符的界面
-q, –quiet 安静模式,不显示抓到的数据包内容
-G, –gtk 使用GTK+ GUI,开启图形化模式
2.日志选项
-w, –write 将嗅探到的数据写入pcap文件
-L, –log 此处记录所有流量
3.通用选项
-i, –iface 使用该网络接口
-I, –liface 显示所有的网络接口
-P, –plugin 开始该插件
-F, –filter 加载过滤器 (内容过滤器)
4.嗅探与攻击选项
-M, mitm 方法:ARGS 执行mitm攻击
DNS劫持
修改靶机的DNS表格,使靶机访问的所有http协议的url,都指向我们设置好的IP地址。
设置kali机
kali开启apache服务:
service apache2 start
浏览器访问 http://192.168.83.157/ 会看到Apache的首页(192.168.83.157为kali的ip)。
编辑ettercap配置文件:
leafpad /etc/ettercap/etter.dns
A:所有域名指向192.168.83.157(kali的IP)
PTR:所有地址都指向域名
攻击靶机
使用ettercap图形化界面:
ettercap -G
选择网络接口:
选择eth0
列举主机列表:
开启扫描网络,发现主机:
添加劫持目标:
target 1 放网关, target 2 放目标主机(可以是多个)。
target1和target2内容可以互换
选择DNS欺骗插件:
双击选择dns_spoof
选择攻击模块:
开启dns劫持攻击:
靶机反应
靶机没有网络了:
这是因为靶机使用的是https的协议,是加密的
但是靶机访问http站点,就会跳转到
更换靶机访问页面的内容
如果想换成其他网站内容,需要编辑kali中的html文件:
leafpad /var/www/html/index.html
换成自定义的内容,这里我尝试更改为
靶机再次访问http网址,就会变成:
Ettercap替换网页内容
替换掉靶机访问的http网页的部分内容,可以加入一段js代码,实现我们想要的功能。
编写过滤器
编写过滤器脚本:
1 | if (ip.proto == TCP && tcp.dst == 80){ |
此脚本会把网页的title换成一个弹框。我们把脚本命名为head.filter
编译过滤器脚本:
etterfilter head.filter -o head.ef
会输出一个head.ef文件
发现靶机
开启图形化界面
ettercap -G
操作和DNS劫持相同:
选择接口eth0
发现主机
网关添加到target1,目标添加到target2
加载过滤器并开始攻击
加载过滤器脚本:
选择我们编译过的过滤器脚本
选择远程攻击模块:
开始攻击
靶机反应
访问http的网页就会弹窗。
ARP劫持监控靶机访问内容
通过ARP欺骗,建立 靶机 –> kali攻击机 –> 网关 的连接。得到靶机访问的内容。
发现主机
开启图形化界面
ettercap -G
操作和DNS劫持相同:
选择接口eth0
发现主机
网关添加到target1,目标添加到target2
加载插件并开始攻击
选择remote_browsef
选择远程攻击模块:
开始攻击
自动加载靶机图片
apt-get install driftnet
driftnet -i eth0
会开启一个黑窗口
靶机反应
当靶机访问http网站的时候,kali也会自动加载这个http网站。
并且,driftnet会加载http的图片。
写在最后
博主目前只会处理靶机http协议的网页内容,对于https协议的网页,博主尝试了sslstrip+ettercap的解决方案。但是劫持了https之后,靶机访问https协议的网页会显示“无法建立安全连接”。感觉是证书的问题呀。大家有解决方案嘛?求助!!!
最后放几篇sslstrip+ettercap处理https协议网页的方案吧。方法都一样,大家可以借鉴。
https://www.cnblogs.com/diligenceday/p/8076478.html#_label3
https://www.cnblogs.com/h4ck0ne/p/5154688.html
https://www.i0day.com/1238.html