导语:中间人攻击可能是最受黑客喜欢的一种攻击手段了,如果黑客可以将自己置于两个系统(通常是客户端和服务器)之间,他们就可以控制两个系统之间的通信了。这样,他们就可以窃听通信,删除通信,注入恶意软件甚至改变通信(有没有想过给你发

timg.jpg

中间人攻击可能是最受黑客喜欢的一种攻击手段了,如果黑客可以将自己置于两个系统(通常是客户端和服务器)之间,他们就可以控制两个系统之间的通信了。这样,他们就可以窃听通信,删除通信,注入恶意软件甚至改变通信(有没有想过给你发送的电子邮件内容被动过手脚)。本文,我将向大家介绍,黑客是如何使用一个Ettercap工具进行攻击的,Ettercap是一个非常强大的中间人攻击工具。

1.png

Ettercap由Albert Ornaghi和Marco Valleri开发,它基本上是一套简化的中间人攻击工具。ettercap分两种:一个是在终端,直接通过命令行界面(CLI)进行运行;另一个是利用GUI界面。在本文中,我将使用GUI进行介绍。

如何使用Ettercap将攻击者置于两个系统之间:

1.用恶意软件感染通信
2.删除通信
3.窃听密码
4.为HTTPS提供假证书
5.实施DNS欺骗

中间人攻击的原理和技术与前面我介绍过的使用ARPspoof的原理是一致的,只有很少的ip_forward不同。除此以外,与arpspoof最大的不同是,ettercap不在Linux内核中使用ip转发,而是使用自己的模块转发IP数据包。

不过要注意的是,ettercap需要root权限才能打开其第2层(数据链路)socket。另外,正如你所期望的,它可以减慢两个目标系统之间的通信,因为它可以自行处理。

由于本文,Ettercap是基于GUI的,内置Kali,因此需要下载和安装一些必要的配置。

步骤1:启动ettercap

我通过输入命令“kali>ettercap–h”来查看ettercap的帮助文件;

2.png

如上图所示,ettercap有一个重要的帮助文件,用于从命令行运行它,但我需要的却是在GUI界面运行它。在上图的最下处,你可以看到-G开关。输入” kali>ettercap -G”命令后,ettercap将启动ettercap GUI。 

当我这样做时,ettercap GUI将如下所示,开始运行。

3.png

启动的第一步是开始嗅探。转到“Sniff”的下拉菜单,然后点击“Unified Sniffing”。

4.png

这样,一个新窗口机会被打开,询问我要使用什么界面,并默认为eth0。

5.png

当我点击“OK”时,ettercap就会启动嗅探功能并加载其插件。

6.png

接下来就是要找到网络上的主机,单击“Hosts”选项卡,你将看到一个包含“Scan for Hosts”的菜单。点击它,ettercap将开始扫描主机的网络。

7.png

现在,使用相同的“Hosts”选项卡,点击“Hosts List”。这将显示ettercap在你的网络上发现的所有主机,如下面的屏幕截图所示。

8.png

现在,通过点击窗口中的要作为攻击目标的主机,然后点击窗口底部的“Add to Target 1”。这样,ettercap将添加该主机作为我的中间人攻击的第一个目标,如下面的屏幕截图所示。

接下来,选择此次攻击中的第二个主机,然后单击“Add to Target 2”。

9.png

最后,转到上面的菜单,然后点击中间人选项卡,下拉菜单中会显示一个名为“ARP Poisoning”的选项,如下面的截图所示。

10.png

选择该选项后,它将打开如下所示的弹出窗口,选择“"Sniff remote connections”。

当我按OK时,ettercap将开始ARP欺骗攻击,你将在其主窗口中看到ettercap的回复信息,如下所示。

11.png

现在,我已经成功地将自己置于两个目标系统之间,所有的通信都必须得经过我。这就意味着,我现在可以删除,操纵,模拟和查看所有的通信。

改变通信

如上所述,中间人攻击中的真正风险是攻击者可以监控网络流量,如果需要,甚至可以对其进行更改。现在,我将使用中间人攻击来编辑或更改攻击目标中所看到的网络通信。这样一来,攻击者实际上就可以改变通信的内容,比如,改变电子邮件的内容,改变目标在互联网中看到的图片,删除特定的互联网通信数据包等。

步骤2:更改通信

在本步骤中,我将更改公司内部网站点之间的通信,其中这个目标网站是用来发公司公告,计划的。虽然我举的这个例子是在局域网内的情况,但所介绍的技术和攻击效果在广域网上也一样适用。在本案例中,目标网站的公告信息本来是这样的:“由于工作量很大,经理希望大家从上午6点开始就开始工作”,如果消息通知及时,那么第二天大家都应该能按照规定,在上午6点开始工作。不过,为了测试我的攻击效果,我对该通知进行了内容更改(不过很快我就更改了过来)。

步骤3,创建网络站点

更改的内容如下:“经理希望大家从上午11点开始就开始工作”,如果这个攻击被不怀好意的人利用,那很可能对公司的正常经营造成致命性影响,从而也就达到了攻击公司的目的。

12.png

被修改后的企业网络公告页面如上图所示,部门内的每个人都会看到它,这样公司通过调整工作时间完成多余的工作量的计划就泡汤了。

步骤4:使用Ettercap过滤器

使用Ettercap进行中间人攻击的众多目标之一,就是你可以轻松地修改和编辑目标的网络通信。

通过Ettercap GUI,你将在顶部菜单栏看到一个 “Filter”的下拉菜单项。点击它,然后点击“Load a Filter”。

13.png

这样,就会出现如下的窗口。我可以在窗口右侧看到许多过滤文件。

14.png

来看看这个目录(/usr/share/ettercap)中的一个终端在Kali的内容。打开一个终端并输入: kali>cd/usr/share/ettercap,kali>ls–l。

15.png

如上图所示,有许多Ettercap过滤器文件。请注意一个名为etter.filter.examples的文件。让我用Leafpad打开它,看看它包含什么。

kali>leafpad etter.filter.examples 。

16.png

该文件包含许多类型的Ettercap过滤器示例,我可以使用这些作为模板来创建我自己的过滤器。以下是各种类型的过滤器模板:

1.在端口22上显示消息;
2.记录所有telnet通信;
3.记录除http之外的所有通信;
4.对数据包的有效载荷进行一些操作(比如,更改数值);
5.删除包含特定字或字符串的任何数据包;
6.记录与正则表达式匹配的SSH解密的数据包
……

还以上面那个通知公告为例,现在我把它更改为:“ 由于轻工作量,所有人请在上午11点开始工作”。

Ettercap有一个预先构建的过滤器文件,用于精确地执行攻击。kali> leafpad etter.filter

是一个etter.filter文件。让我用Leafpad打开它,看看什么情况。

17.png

不过要注意的是,从第21行开始,我会用一些简单的代码搜索TCP通信(if(ip.proto == TCP)),它包含的数据与“ethercap”一样(用DATA.data, "ethercap"搜索),然后用"etthercap", "ettercap"替换它该数据,并创建将要发送的消息(msg("Correctly substituted and logged. n"))。以此类推,我可以使用相同的方式,随意修改该通知。

接下来,我必须编辑这个Ettercap过滤器文件。首先,复制并粘贴所有未注释的代码,以便你现在有两个节文件。然后在第一节和第二节中将“ethercap”替换为“Heavy”,将“ethercap”改为“6”,如下面的截图所示。

18.png

为了方便理解,我将上图中更改的地方,都做了标记。

步骤5:编译过滤器

在使用过滤器之前,我必须编译它。打开一个终端并输入kali>etterfilter etter.filter -o etter.filter.heavy。 

其中, etterfilter是编译过滤器文件的命令,  etter.filter是输入文件,-o etter.filter.heavy将编译的输出指向一个新文件

19.png

步骤6:将过滤器添加到Ettercap

现在,该过滤器文件已经重新编译并可以使用了,我可以返回到Ettercap GUI并选择“Filters”,现在,点击我编译的新的过滤器,开始创建。当出现“Selection”窗口中时,然后单击确定。现在应该启动一个自动修改过程,这意味着,无论何时,只要在该公司的公告网站上看到“Heavy”一词,它都会被“Light”替代,并且当“6”号出现时,它将以“11”替代。要注意的是,这种信息更换将发生在所有经过你的通信。

20.png

现在,目标的网页所显示的内容就是如下所示的那样。

21.png

本文为你演示了中间人攻击如何轻松地使用ettercap来改变目标的通信内容,这让我细思极恐,说不定我想看的内容哪天就被黑客与无形中更改了。

源链接

Hacking more

...