Kali Linux Web 渗透测试秘籍 第八章:中间人攻击
简介
中间人(MITM)攻击是一种攻击类型,其中攻击者将它自己放到两方之间,通常是客户端和服务端通信线路的中间。这可以通过破坏原始频道之后拦截一方的消息并将它们转发(有时会有改变)给另一方来实现。
让我们观察下面这个例子:
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。
操作步骤
- 将两个虚拟机打开,我们的 Kali Linux(192.168.56.1)主机是攻击者的机器。打开终端窗口并输入下列命令:
ettercap –G
从 Ettercap 的主菜单中,选择
Sniff | Unified Sniffing
。 - 在弹出的对话框中选择你打算使用的网络接口,这里我们选择
vboxnet0
,像这样: - 既然我们嗅探了网络,下一步就是识别哪个主机正在通信。访问主菜单的
Hosts
之后选择Scan for hosts
。 - 从我们发现的主机中,选择我们的目标。从
Hosts
菜单栏中选择Hosts list
。 - 从列表中选择
192.168.56.101
,并点击Add to Target 1
。 - 之后选择
192.168.56.102
,之后点击Add to Target 2
。 - 现在我们检查目标:在
Targets
菜单中,选择Current targets
。 - 我们现在准备好了开始欺骗攻击,我们的位置在服务器和客户端中间,在
Mitm
菜单中,选择ARP poisoning
。 - 在弹出的窗口中,选中
Sniff remote connections
,然后点击OK
。
这就结束了,我们现在可以看到在客户端和服务端之间的流量。
工作原理
在我们键入的第一个命令中,我们告诉 Ettercap 启动 GTK 界面。
其它界面选项为
-T
启动文本界面,-C
启动光标(以 ASCII 文本),-D
运行为守护进程,没有界面。
之后,我们启动了 Ettercap 的嗅探功能。统一模式意味着我们会通过单一网络接口接受并发送信息。当我们的目标通过不同网络接口到达时,我们选择桥接模式。例如,如果我们拥有两个网卡,并且通过其一连接到客户端,另一个连接到服务端。
在嗅探开始之后,我们选择了目标。
事先选择你的目标
单次攻击中,选择唯一必要主机作为目标非常重要,因为毒化攻击会生成大量网络流量,并导致所有主机的性能问题。在开始 MITM 攻击之前,弄清楚那两个系统会成为目标,并仅仅欺骗这两个系统。
一旦设置了目标,我们就可以开始 ARP 毒化攻击。Sniffing remote connections
意味着 Ettercap 会捕获和读取所有两端之间的封包,Only poison one way
在我们仅仅打算毒化客户端,而并不打算了解来自服务器或网关的请求时(或者它拥有任何对 ARP 毒化的保护时)非常实用。
原创文章,作者: Admin ,转载请注明出处:https://secvery.com/3683.html