- 查看ARP缓存表
我们先了解一下ARP缓存表的概念,络设备一般都有一个ARP缓存(ARP Cache),ARP缓存用来存放IP地址和MAC地址的关联信息。 在发送数据前,设备会先查找ARP缓存表。 如果缓存表中存在对方设备的MAC地址,则直接采用该MAC地址来封装帧,然后将帧发送出去。 如果缓存表中不存在相应的信息,则通过发送ARP request报文来获得它。
我们在攻击前可以先查看一下win7的Arp缓存表,ARP缓存表一般简单来说,先从缓存中查找mac,有就直接+mac并发送消息;没有就查找mac,找到后再+mac并发送消息。假设主机A和B在同一个网段,主机A要向主机B发送信息。如 图 1-2 所示,具体的地址解析过程如下:
(1) 主机 A 首先查看自己的 ARP 表,确定其中是否包含有主机 B 对应的 ARP 表项。如果找到了对应的 MAC 地址,则主机 A 直接利用 ARP 表中的 MAC 地址,对 IP 数据包进行帧封装,并将数据包发送给主机 B。
(2) 如果主机 A 在 ARP 表中找不到对应的 MAC 地址,则将缓存该数据报文,然后以广播方式发送一个 ARP 请求报文。 ARP 请求报文中的发送端 IP 地址和发送端 MAC 地址为主机 A 的 IP地址和 MAC 地址,目标 IP 地址和目标 MAC 地址为主机 B 的 IP 地址和全 0 的 MAC 地址。由于 ARP 请求报文以广播方式发送,该网段上的所有主机都可以接收到该请求,但只有被请求的主机(即主机 B)会对该请求进行处理。
(3) 主机 B 比较自己的 IP 地址和 ARP 请求报文中的目标 IP 地址,当两者相同时进行如下处理:将 ARP 请求报文中的发送端(即主机 A)的 IP 地址和 MAC 地址存入自己的 ARP 表中。之后以单播方式发送 ARP 响应报文给主机 A,其中包含了自己的 MAC 地址。
- 主机 A 收到 ARP 响应报文后,将主机 B 的 MAC 地址加入到自己的 ARP 表中以用于后续报文的转发,同时将 IP 数据包进行封装后发送出去。
查看ARP缓存表的命令是:
arp -a
在win7的终端输入这行命令就能查看wiin7的arp缓存表。我们可以看到10.10.1.138这个ip地址说明客户端之前是访问过服务器的。
![](https://img-blog.csdnimg.cn/6863750ef629415e8f84756a6c009a2e.png)
![](https://img-blog.csdnimg.cn/b33f0100cb394820a1c87f37882b8c32.png)
- ARP断网攻击
此时我们就可以使用kali来对目标主机进行断网攻击了,这里需要用到的工具有arospoof。Kali默认是没有安装的,所以我们需要在kali上安装一下,安装命令是
apt update
apt install dsniff
这两行命令。安装完成之后我们就可以正式的展开攻击了,此时我们可以完全站在黑客的角度。
首先先使用nmap扫描一下跟我们的电脑处于同一网段的计算机,命令是
nmap -sP 10.10.1.0/24
此时我们可以发现存活多台主机,但是我们的目标是10.10.1.136这个客户端主机,然后我们就可以对10.10.1.136这个主机进行断网,使用的命令是
arpspoof -i eth0 -t 10.10.1.136
然后我们回到win7发现此时已经被断网,我们可以查看一下客户端的arp缓存表,然后发现缓存表中有我们kali的mac地址,说明我们广播出去的arp报文全部都被kali所截获,发送出去的所有流量包都要经过kali也就是黑客。
![](https://img-blog.csdnimg.cn/16d7ff7bf82242079134e0f4dc72f009.png)
![](https://img-blog.csdnimg.cn/251b544dccfe4980a3ed027ee7eab17d.png)
![](https://img-blog.csdnimg.cn/5958381cf5be4bdd97d967a6e1c30b6d.png)
![](https://img-blog.csdnimg.cn/62c87697f05249a6851e129aaff3807e.png)
![](https://img-blog.csdnimg.cn/1bc7463485cf4223a58896606efc1299.png)
![](https://img-blog.csdnimg.cn/48bb8f27091e442980b340636df7ca19.png)
![](https://img-blog.csdnimg.cn/11bacf1aceae41139f492dbcaa0bd0f6.png)
![](https://img-blog.csdnimg.cn/ae3693b74679417eb9d8036abb36456a.png)
- ARP实行监听
接下来,我们对目标客户端与目标主机进行监听,这理我们先介绍两种命令第一个是:
echo 1 >> /proc/sys/net/ipv4/ip_forward
这个命令是实现双向监听的命令,意思就是所有的数据包全部经过我,我查看之后然后进行转发,并不影响两个人的正常通讯。第二个命令是:
echo 0 >> /proc/sys/net/ipv4/ip_fprward
这个命令的意思是所有经过我的报文我全部截获并不进行转发,输入这个命令之后两个人就无法进行正常通信,消息全部被截获。
![](https://img-blog.csdnimg.cn/b7d194f4eecb48889a4f42c8907b6fa5.png)
![](https://img-blog.csdnimg.cn/fd39034cf13a4571ae0219fd5cb8253c.png)
- ARP截获客户端ftp账号密码
接下来我们正式开始对目标机器进行攻击,我们的目标是拿到目标机器的ftp登录密码,拿到目标机器的telnet远程登录密码。
我们拿到目标机器的ftp账号密码用到的主要工具有ettercap,接下来我们在kali中输入
ettercap -G
来打开这个工具的图形化界面,然后点击ARP poisoning 点击搜索,选择两个目标靶机10.10.1.138 10.10.1.136.选择完成之后我们点击左上角的小三角开始攻击。接着我们回到win7模仿客户端主机对服务进行访问。输入账号密码访问成功之后。我们再次回到kali可以看到我们已经成功截获到了目标客户端访问服务器的账号public,密码147.com。此时我们对客户端的ftp账号密码就攻击成功。
![](https://img-blog.csdnimg.cn/46813d48ec764020a5e94dce8907f22f.png)
![](https://img-blog.csdnimg.cn/d3f0a172d6064173bf61aff97d0114a9.png)
![](https://img-blog.csdnimg.cn/e9e4b87ab71c40d987158aefcc087abb.png)
![](https://img-blog.csdnimg.cn/c17c4a69a0a24ddfb4c6787c0cedf676.png)
![](https://img-blog.csdnimg.cn/889b4b7ca213467f93be6f55f4b1bc6e.png)
![](https://img-blog.csdnimg.cn/380305c849e741379dc208f869e7be1c.png)
![](https://img-blog.csdnimg.cn/f39ae1ecb0b24aa198305f8c8337af0e.png)
- ARP获取服务器telnet密码
我们都知道工程师一般远程访问计算机就是通过telnet远程登录,这是一种合法的访问,我们要做的就是拿到工程师远程登录的telnet密码,进而我们也可以悄悄控制目标服务器,进而拿到服务器的权限,我们先在服务器为工程师设置一个账号密码使用这个命令net user adminstrator 666.com. /add意思是账号为administrator密码为:666.com,我们模拟工程师远程登陆一下,可以看到我们登录成功说明已经设置完成了。接下来我们再回到黑客的视角开始对工程师的电脑进行抓包分析。
使用到的工具是wireshark,再kali终端输入
wireshark
命令打开wire的图形化界面然后点击右上角小鲨鱼的标志可以看到已经开始进行抓包了,然后我们再回到工程师视角,模拟工程师telnet远程登录服务器,登陆成功。同样我们回到kali可以看到对目标的telnet远程登录密码也同样抓取成功666.com。
![](https://img-blog.csdnimg.cn/1e5396244dbb4f04a796006583eb4ad9.png)
![](https://img-blog.csdnimg.cn/d518d0bd757b4256a74c927e99132038.png)
![](https://img-blog.csdnimg.cn/71084b216007401c9e40b7da55b3400e.png)
![](https://img-blog.csdnimg.cn/44455549b8024a4da8a8f14fa0266288.png)
![](https://img-blog.csdnimg.cn/6815fcd33c574529a55072704dc821c6.png)
![](https://img-blog.csdnimg.cn/2fcba1ea8eb3438abaa8bba41dd5c373.png)