1. Hacking millions of modems and investigating who hacked my modem (samcurry.net)
这篇文章讲述了作者一次偶然发现自身网络流量被未知IP地址拦截重放的离奇经历,进而展开的一系列调查,最终发现了美国互联网服务提供商(ISP)Cox Communications的一个重大安全漏洞,该漏洞可能影响了数百万用户的调制解调器设备。
事件起因与初步调查 作者在工作中发现自己发往AWS服务器的HTTP请求在几秒后被一个未知的IP地址(159.65.76.209)完全重放。测试不同设备(电脑、手机)和不同云服务商(AWS、GCP)后,确认问题源头在于其家用调制解调器或ISP网络。查询该IP地址发现其曾用于托管针对南美一家网络安全公司的钓鱼网站,并可能关联邮件服务器域名。因设备是租赁的,作者在ISP门店被迫上交旧调制解调器并更换新设备后,异常流量重放现象停止。
多年后的新发现
近3年后,作者与朋友重新调查。通过分析关联的域名模式,他们发现该IP地址指向的域名(如limit742921.tokyo、jingoism44769.xyz)符合恶意软件使用的域名生成算法(DGA)特征,暗示该IP很可能是一个用于控制受感染路由器的命令与控制(C&C)服务器。
发现Cox Business门户网站漏洞
作者将调查转向ISP的管理工具。他假设黑客可能攻击了ISP内部用于远程管理客户设备的系统。通过分析Cox Business门户网站的前端代码,作者发现其核心API路径(/api/cbma/)是一个反向代理,后端运行的是Spring框架。
关键技术发现与漏洞利用
- Swagger API文档泄露:通过URL编码技巧(在.js文件后附加
%2f),作者绕过了静态资源路由限制,访问到了完整的Swagger API文档,发现有超过700个API端点,涵盖账户、设备、账单、语音等广泛功能。 - 授权绕过漏洞:测试发现,许多需要授权的API端点(如客户资料搜索),只需简单地重复发送同一个未授权的HTTP请求,最终就会得到成功的200响应。这使得未经授权的访问成为可能。
- 完整的攻击链实现:
- 信息搜集:通过客户姓名搜索,可获取其账户唯一标识符(GUID)。
- 获取设备信息:利用账户GUID,可查询该账户下所有连接设备的MAC地址、型号、序列号等详细信息。
- 设备控制:最关键的发现是,通过一个需要
encryptedValue参数的API(用于更新设备设置,如WiFi密码),作者发现该参数的验证存在缺陷。他只需要目标设备的MAC地址,即可构造一个有效的加密值,并成功向该设备发送配置更新命令。作者通过将自己的WiFi名称改为“Curry”并导致网络重启验证了这一点。
漏洞影响与修复 该系列漏洞意味着,一个完全外部的攻击者无需任何前提条件,就能够:
- 搜索并获取Cox商业客户的个人信息(包括FBI现场办事处等敏感客户)。
- 查询任意客户设备的MAC地址及连接设备。
- 对数百万台通过Cox网络管理的调制解调器执行命令、修改设置,获得相当于ISP技术支持人员的权限。 Cox在收到报告后迅速下线了有漏洞的API端点(6小时内),并随后修复了授权问题。
结论与未解之谜 作者披露的漏洞揭示了ISP与客户设备之间信任层的安全缺陷。尽管此次发现的API漏洞被快速修复,但作者最初的个人调制解调器被入侵事件(发生在2021年,早于该漏洞服务上线2023年)的具体原因仍是未解之谜。攻击者重放流量的目的也令人费解。