【新手指南】如何用Ettercap实现“中间人攻击”(二):HTTP数据劫持

幸运草 2020年3月28日14:51:48劫持评论阅读模式

 作为《新手指南:如何用Ettercap实现“中间人攻击”》工具介绍的续篇,本文以某知名下载网站为例,从实战角度出发,分析交互过程,逐步介绍了利用Ettercap,构造过滤规则实现HTTP劫持的整个过程。

1、实验环境介绍

实验环境主要由LinuxMint宿主机利用VMware虚拟环境 构建。其中攻击机为kali2系统, ettercap版本为0.8.2;被攻击机为Windows 7 系统,浏览器使用IE11。 两者均采用NAT网络方式通过宿主机连接互联网。 详细的网络及地址信息如下图所示。

【新手指南】如何用Ettercap实现“中间人攻击”(二):HTTP数据劫持

图 1 实验环境拓扑

2、分析交互过程

利用安装在被攻击机上的Wireshark抓包分析, 可知该网站下载过程可分两类:直接下载和 间接(先下载第三方程序后再下载所要内容)下载。逐步分析得到如下截图。

【新手指南】如何用Ettercap实现“中间人攻击”(二):HTTP数据劫持

图 2 网站下载链接 截图

【新手指南】如何用Ettercap实现“中间人攻击”(二):HTTP数据劫持

图 3 直接下载过程

【新手指南】如何用Ettercap实现“中间人攻击”(二):HTTP数据劫持

图 4 间接下载过程

【新手指南】如何用Ettercap实现“中间人攻击”(二):HTTP数据劫持

图 5 下载交互过程

针对两种不同的下载方式,分别确定劫持替换思路。

(1)直接下载过程

定位“200 OK”服务器响应数据包,将其修改成302 Moved Temporarily,并添加Location属性,重定向至攻击者指定的程序地址 ,完成下载劫持。

(2)间接下载过程

定位302 Moved Temporarily数据包,替换Location属性的下载程序地址 ,完成下载劫持。

3、定制过滤规则

依照劫持替换思路制定如下过滤规则

【新手指南】如何用Ettercap实现“中间人攻击”(二):HTTP数据劫持

【新手指南】如何用Ettercap实现“中间人攻击”(二):HTTP数据劫持

其中替换Location时,最后添加的“#”是为了忽略后面的原URL内容。

规则编译命令如下

【新手指南】如何用Ettercap实现“中间人攻击”(二):HTTP数据劫持

4、验证攻击效果

4.1 执行攻击命令

【新手指南】如何用Ettercap实现“中间人攻击”(二):HTTP数据劫持

【新手指南】如何用Ettercap实现“中间人攻击”(二):HTTP数据劫持

【新手指南】如何用Ettercap实现“中间人攻击”(二):HTTP数据劫持

4.2 直接下载劫持成功

【新手指南】如何用Ettercap实现“中间人攻击”(二):HTTP数据劫持

4.3 间接下载劫持成功

【新手指南】如何用Ettercap实现“中间人攻击”(二):HTTP数据劫持

5、内存不足

本文基于kali平台上的Ettercap,对某知名下载网站下载过程成功实施了劫持。但该过程存在以下几点不足:

1、虽然本文将两种下载过程分别讨论,但本质一致,应该可以划归一类;

2、攻击者指定的文件名称不能随被劫持文件名变化,但是通过搭建WEB服务,截取Get请求中的被劫持文件URI中名称字段,可以解决实现名称一致;

3、下载文件的图标,无法随需求变化,除了使用通用化的图标,暂时没有好的解决思路。

本文来源于:【新手指南】如何用Ettercap实现“中间人攻击”(二):HTTP数据劫持-变化吧博客
特别声明:以上文章内容仅代表作者本人观点,不代表变化吧博客观点或立场。如有关于作品内容、版权或其它问题请于作品发表后的30日内与变化吧联系。

  • 赞助本站
  • 微信扫一扫
  • weinxin
  • 加入Q群
  • QQ扫一扫
  • weinxin
幸运草

发表评论