Ettercap中间人攻击——DNS劫持、替换网页内容与ARP欺骗

文章目录

  • Ettercap
    • 简介
    • 常用指令
  • DNS劫持
    • 设置kali机
    • 攻击靶机
    • 靶机反应
    • 更换靶机访问页面的内容
  • Ettercap替换网页内容
    • 编写过滤器
    • 发现靶机
    • 加载过滤器并开始攻击
    • 靶机反应
  • 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中间人攻击——DNS劫持、替换网页内容与ARP欺骗_第1张图片
编辑ettercap配置文件:

leafpad /etc/ettercap/etter.dns

在这里插入图片描述A:所有域名指向192.168.83.157(kali的IP)
PTR:所有地址都指向域名

攻击靶机

使用ettercap图形化界面:

ettercap -G

选择网络接口:
Ettercap中间人攻击——DNS劫持、替换网页内容与ARP欺骗_第2张图片
选择eth0

列举主机列表:
在这里插入图片描述
开启扫描网络,发现主机:
Ettercap中间人攻击——DNS劫持、替换网页内容与ARP欺骗_第3张图片
添加劫持目标:
Ettercap中间人攻击——DNS劫持、替换网页内容与ARP欺骗_第4张图片target 1 放网关, target 2 放目标主机(可以是多个)。
target1和target2内容可以互换
Ettercap中间人攻击——DNS劫持、替换网页内容与ARP欺骗_第5张图片
选择DNS欺骗插件:
Ettercap中间人攻击——DNS劫持、替换网页内容与ARP欺骗_第6张图片双击选择dns_spoof
Ettercap中间人攻击——DNS劫持、替换网页内容与ARP欺骗_第7张图片
选择攻击模块:
Ettercap中间人攻击——DNS劫持、替换网页内容与ARP欺骗_第8张图片Ettercap中间人攻击——DNS劫持、替换网页内容与ARP欺骗_第9张图片
开启dns劫持攻击:
Ettercap中间人攻击——DNS劫持、替换网页内容与ARP欺骗_第10张图片

靶机反应

靶机没有网络了:
Ettercap中间人攻击——DNS劫持、替换网页内容与ARP欺骗_第11张图片这是因为靶机使用的是https的协议,是加密的

但是靶机访问http站点,就会跳转到
Ettercap中间人攻击——DNS劫持、替换网页内容与ARP欺骗_第12张图片

更换靶机访问页面的内容

如果想换成其他网站内容,需要编辑kali中的html文件:

leafpad /var/www/html/index.html

换成自定义的内容,这里我尝试更改为
Ettercap中间人攻击——DNS劫持、替换网页内容与ARP欺骗_第13张图片
靶机再次访问http网址,就会变成:
Ettercap中间人攻击——DNS劫持、替换网页内容与ARP欺骗_第14张图片

Ettercap替换网页内容

替换掉靶机访问的http网页的部分内容,可以加入一段js代码,实现我们想要的功能。

编写过滤器

编写过滤器脚本:

if (ip.proto == TCP && tcp.dst == 80){
    if (search(DATA.data, "Accept-Encoding")){
        replace("Accept-Encoding", "Accept-Nothing");
    }
}

if (ip.proto == TCP && tcp.src == 80) {
    if (search(DATA.data, "")) {
        replace("", "");
        msg("inject head");
    }
}

此脚本会把网页的title换成一个弹框。我们把脚本命名为head.filter

编译过滤器脚本:

etterfilter head.filter -o head.ef

会输出一个head.ef文件
在这里插入图片描述

发现靶机

开启图形化界面

ettercap -G

操作和DNS劫持相同:
选择接口eth0
Ettercap中间人攻击——DNS劫持、替换网页内容与ARP欺骗_第15张图片
发现主机
Ettercap中间人攻击——DNS劫持、替换网页内容与ARP欺骗_第16张图片
网关添加到target1,目标添加到target2
Ettercap中间人攻击——DNS劫持、替换网页内容与ARP欺骗_第17张图片

加载过滤器并开始攻击

加载过滤器脚本:
Ettercap中间人攻击——DNS劫持、替换网页内容与ARP欺骗_第18张图片选择我们编译过的过滤器脚本
Ettercap中间人攻击——DNS劫持、替换网页内容与ARP欺骗_第19张图片

选择远程攻击模块:
Ettercap中间人攻击——DNS劫持、替换网页内容与ARP欺骗_第20张图片
Ettercap中间人攻击——DNS劫持、替换网页内容与ARP欺骗_第21张图片

开始攻击
Ettercap中间人攻击——DNS劫持、替换网页内容与ARP欺骗_第22张图片

靶机反应

访问http的网页就会弹窗。
Ettercap中间人攻击——DNS劫持、替换网页内容与ARP欺骗_第23张图片

ARP劫持监控靶机访问内容

通过ARP欺骗,建立 靶机 --> kali攻击机 --> 网关 的连接。得到靶机访问的内容。

发现主机

开启图形化界面

ettercap -G

操作和DNS劫持相同:
选择接口eth0
Ettercap中间人攻击——DNS劫持、替换网页内容与ARP欺骗_第24张图片
发现主机
Ettercap中间人攻击——DNS劫持、替换网页内容与ARP欺骗_第25张图片
网关添加到target1,目标添加到target2
Ettercap中间人攻击——DNS劫持、替换网页内容与ARP欺骗_第26张图片

加载插件并开始攻击

Ettercap中间人攻击——DNS劫持、替换网页内容与ARP欺骗_第27张图片
选择remote_browsef

选择远程攻击模块:
Ettercap中间人攻击——DNS劫持、替换网页内容与ARP欺骗_第28张图片
Ettercap中间人攻击——DNS劫持、替换网页内容与ARP欺骗_第29张图片
开始攻击
Ettercap中间人攻击——DNS劫持、替换网页内容与ARP欺骗_第30张图片

自动加载靶机图片

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

你可能感兴趣的:(Ettercap中间人攻击——DNS劫持、替换网页内容与ARP欺骗)