现在, 在这节课和接下来的几节课中,
我想开始讨论中间人攻击｡
这些攻击只有在我们能够拦截两台设备之间的通信时才能发动｡
因此得名, 中间人攻击｡
因此, 正常的通信看起来像这样,
其中设备直接与它们想要通信的实体通信｡
在中间人攻击中,
黑客可以将自己置于连接的中间, 从而拦截并查看两台设备之间传输的任何内容｡
现在, 有很多方法可以实现这一点｡
我们将在本课程中介绍的第一种方法是使用ARP欺骗攻击｡
ARP欺骗允许我们重定向数据包流,
因此它将流经我自己的计算机,
而不是如图所示｡
因此, 目标计算机发送的任何请求和接收的任何响应都必须流经黑客计算机｡
这意味着任何消息, 任何网站, 任何图像,
任何用户名, 任何密码输入的目标将不得不通过我的电脑｡
这样我就可以读取､ 修改或删除这些信息｡
所以如你所见,
这是一个非常严重和非常强大的攻击｡
它之所以可能是因为ARP不是很安全｡
现在, 为了让我们了解它的工作原理,
您需要对ARP有一个基本的了解｡
ARP代表地址解析协议, 它是一个非常简单的协议,
允许我们将IP地址链接到MAC地址｡
例如, 假设我们有一个网络, 其中有设备A､
B､ C和D｡
他们都连接到同一个网络｡
我们这里有这个网络的路由器｡
我们可以看到, 每台设备都有一个IP地址和一个MAC地址｡
让我们假设设备A需要与设备C通信｡
现在我们还假设设备A知道设备C的IP｡
但是, 正如我们目前所知,
为了使这些设备在同一网络中通信, 设备A需要知道设备C的MAC地址｡
因为就像我们之前说的,
网络内部的通信是使用MAC地址而不是IP地址进行的｡
因此, 这是一个非常正常的情况, 其中有一个客户端需要知道另一个客户端的MAC地址,
以便它可以与这个客户端通信｡
这个客户端使用ARP协议｡
我说这话是什么意思？
基本上, 它发送一条广播消息｡
所以它向网络上的所有客户端发送一个ARP请求, 告诉他们谁有10个｡
0. 2. 六个？
现在, 除了具有此IP地址10的设备之外, 所有这些设备都将忽略此数据包｡
0. 2. 6, 其是设备C｡
因此, 所有设备都不会执行任何操作,
唯一会响应的设备是发送ARP响应的设备C｡
在这个响应中, 设备C会说我有10个｡ 0. 2. 6､ 我的MAC地址就是这个MAC地址｡
这样, 设备A将具有设备C的MAC地址,
并且现在它将能够与设备C通信,
并且执行它最初想要执行的任何任务｡
因此, 所有这些通信都是使用ARP协议实现的｡
正如我所说, ARP协议是一个非常简单的协议,
如您所见｡
它所拥有的只是请求和响应, 它的全部意义在于,
我们可以将IP地址链接到MAC地址,
或者将IP地址转换为MAC地址｡
因此, 设备可以发送请求以获取MAC地址,
然后拥有该MAC地址的设备将使用其MAC地址进行响应｡
因此, 每台计算机都有一个ARP表, 该表将同一网络上的IP地址链接到它们的MAC地址｡
如果我在kali机器上运行ARP-a, 您可以看到我的ARP表,
如您所见, 它将路由器的IP链接到路由器的MAC地址｡
同样, 如果我转到Windows计算机,
运行CMD并执行ARP-a, 您将再次看到, 它将路由器的IP链接到其MAC地址｡
因此, 这台机器在需要向互联网发送任何请求时,
都会将该请求定向到该MAC地址, 即与路由器IP相关联的MAC地址, 即10｡
0. 2. 1.
这里的值可以通过ARP协议轻松修改｡
现在让我回到我的示意图,
这里有一个典型网络的示意图, 您可以看到,
通常连接到网络的任何设备,
如果它要发送请求, 它会将请求发送到路由器,
路由器会将请求发送到互联网,
等待响应, 然后将响应转发到请求该请求的设备｡
因此, 如果黑客､ 受害者或网络上的任何其他计算机想要发送请求,
他们会将该请求直接发送到路由器｡
现在, 我们可以利用ARP协议发送两个ARP响应,
一个发送到网关, 另一个发送到受害者｡
我们将告诉网关我位于受害者的IP地址,
因此接入点将更新其ARP表,
并将目标的IP地址与我的MAC地址相关联｡
我们将对受害者执行同样的操作,
因此我们将向其发送ARP响应｡
我们要告诉它我在10点｡ 0. 2. 因此它将更新其ARP表并关联IP地址10｡
0. 2. 1与我自己的MAC地址｡
这样的结果是, 受害者会认为我是路由器而路由器也会认为我是受害者.
所以任何时候受害者想要发送任何请求,
请求都必须通过我的电脑, 我会把它们转发到路由器｡
然后, 每当接入点或路由器想要发送响应时,
它们都会转到我的机器, 因为它认为我是受害者, 然后我会将其转发给受害者｡
正如你所看到的,
这让我处于连接的中间, 它给了我很大的权力,
一旦我们成为中间人, 我们将看到我们可以做的所有事情｡
我们之所以能做到这一切,
主要是因为ARP并不安全｡
因为首先, 客户端可以接受响应, 即使它们没有发送请求｡
如前所述, 我们将向接入点发送响应,
并向受害者发送响应, 告诉他们我位于特定IP, 而不会询问我是谁, 也不会询问此IP｡
我只是要发送响应,
他们会接受该响应｡
不仅如此,
他们也不会证实我是谁｡
所以当我说我是一个10｡ 0. 2. 7我显然不在那个IP,
因为这台计算机在这个IP｡
但是接入点会信任它,
它会根据我发送的信息更新它的ARP表｡
受害者也是｡
我会告诉它我在10点｡ 0. 2. 1它会信任并相信这一点,
即使我显然不在这个IP,
因为接入点在这个IP｡
因此, 这是ARP协议的两个主要弱点, 使我们能够运行ARP欺骗攻击｡