※この記事はアフィリエイト広告を含みます
大学内所有投影仪和摄像头的识别!? Rust驱动的DNS暴力扫描震撼
📰 新闻概要
- 科罗拉多矿业学院的学生发现,所有连接到校园网络的设备都被分配了独特的子域名。
- 为了突破最初用Python开发的扫描器的速度极限,转而使用Rust,实现了对UDP端口的直接控制和基于base36转换的超高速化。
- 通过这种方法,成功通过暴力破解识别了校园内的投影仪、摄像头及个人设备的主机名。
💡 重要的要点
- 从Python到Rust的剧烈进化: 排除了
itertools生成排列的瓶颈,借助数字递增并转换为base36的逻辑,将CPU负荷降到最低。 - 异步处理的优化: 使用Tokio解决了几百GB的内存泄漏问题,通过“信号量限制并发数”来应对。
- 直接处理NXDOMAIN: 不依赖
grep等外部过滤器,Rust端直接处理DNS响应,大幅降低了操作系统的负担。
🦈 鲨鱼的眼(策展人的视角)
在Python的itertools中,速度太慢以至于只能识别三位数,而切换到Rust的数字递增方式的决策简直太机智了!不仅仅依赖字典攻击,而是计算出37的n次方的庞大组合,真是令人震撼。直接操作UDP套接字,将读取和写入分离到异步循环中,简直是网络编程教科书般的精彩!巧妙利用现有DNS限制的“特性”,将隐藏设备一一揭示,完美击中了安全的死角!
🚀 接下来会发生什么?
网络管理员需要重新认识到,自动为连接设备分配子域名可能成为信息泄露的起点。随着像Rust这样的高速扫描工具的普及,内部网络的匿名性将会进一步丧失。
💬 鲨鱼的视角一句话
潜伏在网络深海中的设备,绝对逃不过哈鲁鲨的敏锐嗅觉!用Rust的利齿撕碎数据!🦈🔥
📚 术语解释
-
DNS暴力破解: 一次尝试一个可能存在的子域名,以识别有效域名的技术。
-
NXDOMAIN: “Non-Existent Domain”的缩写。当查询的域名不存在时,DNS服务器返回的错误响应。
-
base36: 使用0-9的数字和A-Z的字母共36种字符表示数值的方法,适合生成主机名。
-
信息来源: Gaining control of every projector and camera on campus