我怎么把派对的音乐关掉才能睡觉?
Source: Dev.to
我觉得今年最让我愤慨的事情之一,就是我的临时避难所(我住的房子)里有派对,我没有被邀请,却得忍受音乐和人们唱卡拉OK到深夜。所有这些都在牺牲我宝贵的睡眠时间,只因为别人的固执。
直到我想起自己是个程序员。我问自己,凭借我在数字艺术方面的广博知识能做些什么,记起很久以前我尝试过一个用于进行 Bluesmack(对蓝牙设备的拒绝服务攻击)的脚本。我的第一个想法是直接通过黑客手段让接收器静音,以此展示我的力量。然而,找不到无线电的 MAC 地址;经过三小时的徒劳搜索,我听到扬声器里传出 YouTube 的广告。
这彻底改变了一切。这意味着他们不仅依赖蓝牙,而是使用 Wi‑Fi 来播放他们那平凡的音乐。那一刻,我明白我的睡觉目标仍未失去。
第一步:本地化和网络侦察
为了进行攻击,我首先需要一张本地网络的地图。第一步是识别 路由器的 IP。我使用了以下命令:
ip route show
该命令会返回系统的路由表。我们关注的行是以 default via 开头的,它指示了中心节点的地址:
示例输出
default via 192.168.0.1 dev wlx88947e9b4dab proto dhcp metric 600
在这里我们确认路由器的 IP 为 192.168.0.1。
确定了路由器地址后,我使用 Nmap 对网络段(/24,即从 .1 到 .254 的 IP 范围)进行活跃设备扫描:
sudo nmap -sn 192.168.0.0/24
参数 -sn 表示 Ping 扫描,它只检测在线设备而不进行深度端口扫描,从而大大加快了速度。
尝试 1:ICMP 洪水(Ping Flood)
手握嫌疑名单(不包括我的电脑和路由器),我确定了正在进行流媒体的手机。我的第一步是进行 Ping Flood:
sudo ping -f <IP_del_objetivo>
参数 -f(flood)会以系统能够处理的最快速度或在收到响应后立即发送 ICMP 包。我在多个终端上同时对不同的可疑 IP 执行此操作。虽然音乐出现了中断,但流媒体能够恢复,因为现代路由器有机制来优先或限制此类基础流量。
尝试 2:中间人攻击 (ARP 欺骗)
我决定通过一种 ARP 表中毒 技术来升级攻击。目标是欺骗路由器,使其认为我的电脑是手机,同时欺骗手机,使其认为我的电脑是路由器。
我在两个终端中使用了 arpspoof 工具:
sudo arpspoof -i <interfaz> -t 192.168.0.109 192.168.0.1 # 欺骗手机
sudo arpspoof -i <interfaz> -t 192.168.0.1 192.168.0.109 # 欺骗路由器
在拦截流量后,我仅仅关闭了内核中的数据包转发 (ip_forward=0),把我的电脑变成了它们数据的“黑洞”。然而,我的无线网卡无法承受如此大的数据包量,攻击并未持续。
尝试 3:第4层饱和(TCP SYN Flood)
看到之前的方法都失效,我使用了更粗暴的一种:hping3。不同于普通的 ping(第3层),此攻击针对传输层(第4层),特别是 TCP 协议。
sudo hping3 -S -p 80 --flood 192.168.0.120
为什么此方法有效?
- Flood 模式:在不等待响应的情况下以最大可能速度发送数据包,导致带宽被占满。
- SYN 标志 (
-S):发送连接初始化请求。受害设备必须为我发起的每个伪造连接预留内存。收到数百万此类请求后,手机的处理器因尝试处理所有请求而崩溃。 - 80 端口:攻击网页浏览的标准端口,设备难以轻易忽略该流量。
结果立刻显现:客人的手机因资源耗尽而无法维持 YouTube 连接。音乐彻底中断,面对无法上网的沮丧,他们最终关闭了收音机。胜利属于我。我像恶棍一样大笑。