提交 a0f32795 编写于 作者: W wizardforcel

8.1

上级 e040758f
# 第八章 中间人攻击
> 作者:Gilberto Najera-Gutierrez
> 译者:[飞龙](https://github.com/)
> 协议:[CC BY-NC-SA 4.0](http://creativecommons.org/licenses/by-nc-sa/4.0/)
## 简介
中间人(MITM)攻击是一种攻击类型,其中攻击者将它自己放到两方之间,通常是客户端和服务端通信线路的中间。这可以通过破坏原始频道之后拦截一方的消息并将它们转发(有时会有改变)给另一方来实现。
让我们观察下面这个例子:
![](img/8-0-1.jpg)
Alice 连接到了 Web 服务器上,Bob打算了解 Alice 正在发送什么信息。于是 Bob 建立 MITM 攻击,通过告诉服务器他是 Alice,并且告诉 Alice 他是服务器。现在,所有 Alice 的请求都会发给 Bob,Bob 会将它们转发给服务器,并对服务器的响应做相同操作。这样,Bob 就能够拦截、读取或修改所有 Alice 和服务器之间的流量。
虽然 MITM 攻击并不特定与 Web 攻击,了解如何执行它们,以及如何防止它们,对于任何渗透测试者都非常重要,因为它们可以用于偷取密码,劫持会话,或者执行 Web 应用中的非授权操作。
这一章中,我们会建立起中间人攻击,并使用它来获得信息,以及执行更加复杂的攻击。
## 8.1 使用 Ettercap 执行欺骗攻击
地址解析协议(ARP)欺骗可能是最常见的 MITM 攻击。它基于一个事实,就是 ARP 并不验证系统所收到的响应。这就意味着,当 Alice 的电脑询问网络上的所有设备,“IP 为 xxx.xxx.xxx.xxx 的机器的 MAC 地址是什么”时,它会信任从任何设备得到的答复。该设备可能是预期的服务器,也可能是不是。ARP 欺骗或毒化的工作方式是,发送大量 ARP 响应给通信的两端,告诉每一端攻击者的 MAC 地址对应它们另一端的 IP 地址。
这个秘籍中,我们会使用Ettercap 来执行 ARP 欺骗攻击,并将我们放到客户端和服务器之间。
### 准备
对于这个秘籍,我们会使用第一章配置的客户端虚拟机,和vulnerable_vm。客户端的 IP 是 192.168.56.101,vulnerable_vm 是 192.168.56.102。
### 操作步骤
1. 将两个虚拟机打开,我们的 Kali Linux(192.168.56.1)主机是攻击者的机器。打开终端窗口并输入下列命令:
```
ettercap –G
```
从 Ettercap 的主菜单中,选择`Sniff | Unified Sniffing`。
2. 在弹出的对话框中选择你打算使用的网络接口,这里我们选择`vboxnet0`,像这样:
![](img/8-1-1.jpg)
3. 既然我们嗅探了网络,下一步就是识别哪个主机正在通信。访问主菜单的`Hosts`之后选择`Scan for hosts`
4. 从我们发现的主机中,选择我们的目标。从`Hosts `菜单栏中选择`Hosts list`
![](img/8-1-2.jpg)
5. 从列表中选择`192.168.56.101`,并点击`Add to Target 1`
6. 之后选择`192.168.56.102 `,之后点击`Add to Target 2`
7. 现在我们检查目标:在`Targets`菜单中,选择` Current targets`
![](img/8-1-3.jpg)
8. 我们现在准备好了开始欺骗攻击,我们的位置在服务器和客户端中间,在`Mitm `菜单中,选择`ARP poisoning`
9. 在弹出的窗口中,选中`Sniff remote connections`,然后点击`OK`
![](img/8-1-4.jpg)
这就结束了,我们现在可以看到在客户端和服务端之间的流量。
### 工作原理
在我们键入的第一个命令中,我们告诉 Ettercap 启动 GTK 界面。
> 其它界面选项为`-T`启动文本界面,`-C`启动光标(以 ASCII 文本),`-D`运行为守护进程,没有界面。
之后,我们启动了 Ettercap 的嗅探功能。统一模式意味着我们会通过单一网络接口接受并发送信息。当我们的目标通过不同网络接口到达时,我们选择桥接模式。例如,如果我们拥有两个网卡,并且通过其一连接到客户端,另一个连接到服务端。
在嗅探开始之后,我们选择了目标。
> 事先选择你的目标
> 单次攻击中,选择唯一必要主机作为目标非常重要,因为毒化攻击会生成大量网络流量,并导致所有主机的性能问题。在开始 MITM 攻击之前,弄清楚那两个系统会成为目标,并仅仅欺骗这两个系统。
一旦设置了目标,我们就可以开始 ARP 毒化攻击。`Sniffing remote connections`意味着 Ettercap 会捕获和读取所有两端之间的封包,`Only poison one way`在我们仅仅打算毒化客户端,而并不打算了解来自服务器或网关的请求时(或者它拥有任何对 ARP 毒化的保护时)非常实用。
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册