从这个网页截图中可以获取到以下关于漏洞的关键信息: 受影响的设备和固件 - Ubee EVW3226 modem/router - 固件版本:1.0.20 - 产品页面:http://www.ubeeinteractive.com/products/cable/evw3226 漏洞详情 - 不安全的会话管理 - 管理界面不使用cookie,使用管理员登录后,IP地址被存储,允许任何人使用相同IP访问管理界面。 - 本地文件包含 - Setup.cgi可通过 参数读取任何 文件,存在目录遍历风险。 - POC示例:http:///cgi-bin/setup.cgi?gonext=./www/main2 - 备份文件未加密 - 备份文件需要密码进行加密,但未实际执行加密操作。 - 备份文件密码以明文存储在备份文件中,该文件是标准的tgz文件,带简单头部。 - 备份文件泄露 - 用户请求备份文件时,文件复制到www根目录以便下载,但下载后未从根目录移除。 - 由于没有下载备份文件的会话检查,攻击者可以从LAN下载备份文件,直到下次重启。 - POC示例:http:///Configuration_file.cfg - 认证绕过(后门) - 如果HTML请求包含 参数,web界面将绕过认证。 - 此时将创建有效的会话,攻击者可全面控制设备。 - POC示例:http:///cgi-bin/setup.cgi?factoryBypass=1 - 任意代码执行 - 配置文件恢复功能接收压缩的tar文件,解压到 文件夹。 - tar文件可能包含符号链接,可链接到提取文件夹之外。 - 通过创建包含符号链接和指向此链接文件夹的配置文件,攻击者可从备份文件夹写入并覆盖写入文件系统的任何文件。 - 由于www在启动时复制到可写文件系统(在 下),攻击者可插入执行具有root权限的任意代码的新cgi脚本。 - 默认SSID和密码可计算 - 默认SSID和密码仅由MAC地址推导。 - 由于设备MAC地址通过Wi-Fi广播,默认密码可轻易计算。 - 结合代码执行和工厂绕过,甚至可以轻易部署Ubee路由器僵尸网络。 - 配置恢复中的缓冲区溢出 - 在配置恢复过程中,备份文件密码从 文件读取。 - 如果密码足够大(大于65536),将导致基于堆栈的缓冲区溢出,因文件内容使用 加载到基于堆栈的局部变量。 - 此基于堆栈的缓冲区溢出可用于无需认证执行具有root权限的任意代码。 - 配置文件请求中的缓冲区溢出 - 网页界面通过检查URL包含 字符串识别配置文件下载请求。 - 如果找到此字符串,整个URL将复制到基于堆栈的缓冲区,可能导致缓冲区溢出。 - 此基于堆栈的缓冲区溢出可用于无需认证执行具有root权限的任意代码。 - POC示例:http://192.168.0.1/aaaaaaaa...(65537个'a'字符) - 下一文件名中的缓冲区溢出 - POST请求中的 变量指定HTML文件,该文件应由cgi脚本加载。 - 如果 变量足够大(大于6512字节),将导致基于堆栈的缓冲区溢出,可用于无需认证执行具有root权限的任意代码。 - 设备内部UPC Wi-Free通信可被窃听 - UPC Wi-Free通信在设备内部未正确分离,因此在获得设备root访问权限后,可窃听整个通信。 时间线 - 2015年6月24日:向UPC Magyarorszag首席技术官汇报Ubee路由器问题。 - 其他重要日期和事件详见页面上的完整时间线。 POC脚本 - POC脚本用于演示以下问题: - 认证绕过 - 未认证的备份文件访问 - 备份文件密码泄露 - 代码执行 - 可用的视频演示可在此处观看,展示上述问题及如何结合这些问题获得对调制解调器的全面访问。 推荐措施 - 由于只有ISP可以更新固件,建议用户更改Wi-Fi密码。 致谢 - 该漏洞由SEARCH-LAB Ltd.(www.search-lab.hu)的Gergely Eberhardt发现和研究。 参考资料 [1] http://www.search-lab.hu/advisories/ [2] https://youtu.be/cBclw7uUuO4 [3] https://github.com/ebux/Cable-modems/tree/master/Ubee