ARP 欺骗和 MiTM
经典的黑客攻击之一是中间人攻击。在这种攻击中,黑客将自己置于客户端和服务器之间,从而可以访问两者之间的所有流量。
一般来说,当攻击者想要将自己置于客户端和服务器之间时,他们需要欺骗两个系统的 ARP。这不是进行 MiTM 攻击的唯一方法,但它可能是局域网 (LAN) 上最常见的方法。
MiTM 攻击是黑客领域最流行、最有效的攻击之一。从最简单的形式来看,MiTM 就是攻击者将自己置于客户端和服务器之间,并允许所有流量透明地通过其系统。这要求攻击者让服务器相信他们是客户端,并让客户端相信他们是服务器。当然,这两个系统面临的风险是中间人可以看到他们的所有流量,如果他们选择的话,还可以更改数据包。
MiTM 攻击的风险是:
* 嗅探密码
* 间谍活动
* 通信被破坏或改变
* 冒充
一、什么是ARP?
ARP 是地址解析协议,它在 40 位物理 MAC 地址和 32 位逻辑 IP 地址之间进行转换。本质上,它将网络第 3 层地址转换为第 2 层数据链路层地址。这使得网络交换机和其他网络设备能够识别哪个 NIC 卡具有哪个 IP 地址,从而向每个系统发送正确的流量并且仅发送正确的流量。
交换机收集 MAC 地址并通过发送广播 ARP 请求将其映射到 IP 地址。这些 ARP 请求不会以任何方式进行检查或验证,因此任何系统都可以响应它们想要的任何信息。攻击者可以使用该系统发送欺骗性 ARP 回复,告诉交换机它已被分配了另一台计算机的 IP 地址。一旦完成,交换机将向具有欺骗 IP 的 NIC 发送旨在发送给受害者的数据包。
二.ARPspoof欺骗
ARPspoof 是密歇根大学 Dug Song 开发的 dsniff 工具套件中的一个工具。这套工具包括:
* arpspoof
* dsniff
* macof
* tcpkill
* filesnarf
* mailsnarf
* urlsnarf
* webspy
* sshmitm
* webmitm
* and others.
ARPspoof 和许多其他工具都内置在我们的 Kali Linux 发行版中,因此我们不需要下载和安装任何东西。在本演示和实验中,我们将主要使用 arpspoof 和 dsniff。
三.使用 arpspoof 和 dsniff 的 MiTM
在本实验室中,我们将使用三台机器;
(1)客户端,Windows 7
(2)服务器一台,Debian Linux
(3)攻击者,Kali系统
我将使用虚拟机来完成此操作。
下图说明了我们将在即将到来的实验室中所做的事情。
首先,我们使用Windows 7系统作为我们的客户端系统,如下所示。请注意,它的 IP 地址是 192.168.1.116。
然后,我们使用 Debian Linux 系统作为我们的服务器。我将在 Debian 系统上使用黄色背景,以清楚地将其与中间的攻击者系统区分开来。这里,我们开始对Windows 7系统进行ping。由于 Linux 中的 ping 是连续的,所以就让它无限期地继续下去吧。如果您使用的是 Windows 系统,则 ping 只会持续 4 次,因此您需要通过键入以下内容来设置连续 ping:
kali > ping 192.168.1.116 -t
ping 现在正在访问 Windows 7 系统并被回显。
在下一步中,我们的 Kali 系统上需要三 (3) 个终端。我们要做的就是欺骗 ARP 缓存:
(1)让Debian系统认为我们是Windows 7系统;
(2)让Windows 7系统认为我们是Debian系统;
(3) 通过我们的攻击系统转发数据包,以便两者之间的连接是透明的并且不会中断它们的通信。
首先,让我们使用arpspoof命令来欺骗Windows 7系统,让其相信我们是Debian系统。
kali > arpspoof -t 192.168.1.116 192.168.1.118
接下来,在一个单独的终端中,让我们使用 arpspoof 来欺骗 Debian 系统,让其相信我们是 Windows 7 系统。请注意,只是反转了上述命令的 IP 地址。
kali > arpspoof -t 192.168.1.118 192.168.1.116
当我们这样做时,我们可以看到 ping 已停止返回到 Debian 系统。
如果我们可以让 ping 通过攻击者 (Kali) 系统到达 Windows 7 系统,则 ping 应该会恢复。
从 Kali 系统上的第三个终端,我们需要允许数据包通过我们的操作系统。这可以通过使用 Linux 中名为ip_forward的命令来完成。我们可以通过键入来启动这种类型的数据包传递;
kali > echo 1 > /proc/sys/net/ipv4/ip_forward
在哪里:
echo 1 告诉内核在 proc 目录的 ip_forward 字段中放置 1(1=启用,0=禁用)。
当我们这样做时,ping 应该直接通过我们的 Kali 系统内核传递到 Windows 7 系统。本质上,我们把自己置于Windows 7系统和Debian系统之间,让它们的所有流量都经过我们。
当我们返回 Debian 系统时,我们可以看到 ping 已恢复并直接穿过我们的攻击者系统!
四.嗅探
现在我们已经成功地将自己置于这两台计算机之间,我们有很多选项可以用来对付这两个受害者。其中一种选择是使用能够检测通过网络的凭据并抓取它们的嗅探器。
Dsniff 是一个嗅探器,也是由 Dug Sung 开发的,它嗅探现在通过我们的攻击系统的流量并寻找凭据。它能够识别并获取以下类型的凭证;
-
FTP
-
Telnet
-
SMTP
-
HTTP
-
POP
-
poppass,
-
NNTP
-
IMAP
-
SNMP
-
LDAP
-
Rlogin
-
RIP
-
OSPF
-
PPTP
-
MS-CHAP
-
NFS
-
VRRP
-
YP/NIS
-
SOCKS
-
X11
-
CVS
-
IRC
-
AIM
-
ICQ,
-
Napster
-
PostgreSQL
-
Meeting Maker,
-
Citrix ICA,
-
pcAnywhere,
-
NAI Sniffer,
-
Microsoft SMB,
-
Oracle SQL*Net,
-
Sybase
-
Microsoft SQL protocols.
现在我们的流量已经穿过我们的攻击系统,我们可以使用 dsniff 捕获流量并将其放置在名为sniffed.txt的文件中。
kali > dsniff -i eth0 -w sniffed.txt
即使我们对嗅探凭据不感兴趣,我们也可以使用像tcpdump这样的嗅探器来减少进出系统的所有流量,如下所示。
此外,dsniff 工具套件包括以下内容,一旦您在中间站稳脚跟,就可以使用它们。
* tcpkill用于终止 TCP 连接
* mailsnarf捕获 SMTP 邮件流量
* URLSnarf捕获并输出从 HTTP 流量中嗅探到的所有请求的 URL。
如果我们在中间的攻击系统上使用 URLSnarf,并且一个系统导航到网络,我们可以通过键入来查看 URL 和其他信息;
kali > urlsnarf
结论
中间人是经典的黑客攻击之一。它有很多种类,但在局域网 (LAN) 上,arpspoof 是最受欢迎的之一。通过这种方式,攻击者可以完全访问所有数据包流量,从而可以随意读取和更改流量。
原文始发于微信公众号(Ots安全):使用 ARP 欺骗的中间人 (MiTM) 攻击
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论