最近的 Fritz Box 漏洞利用

信息安全 开发 路由
2021-09-04 03:51:51

背景资料:

在德国(可能是欧盟的部分地区),大约 50% 的 ADSL 和有线互联网接入通过 AVM Fritz 路由器,无论是逐字还是更名为“1&1 Home Server”或“T-Online Box”。
这些是嵌入式 MIPS 系统,带有几个以太网端口、一个 ADSL 或类似插头,以及运行 Linux (2.6 ???) 衍生产品的其他可选设备(DECT、WLAN、USB 端口)。

大约三周前,一个已知的漏洞利用允许获得对路由器的 root 访问权限。该漏洞显然已被用于拨打福克兰群岛的服务号码,向不知情的用户收费。

AVM 的第一个公开新闻稿是这不是一个严重的威胁(他们还会说什么!),因为它需要启用远程访问,默认情况下并非如此,而且大多数用户也没有启用远程访问。

几天后,发现该漏洞与远程访问完全无关,如果您仅访问包含恶意代码页面的其他无害网站,则有人可能会接管您的路由器。同一天发布了操作系统更新。

昨天,据称在“特定黑客网站”上发布了详细描述,而数百万路由器仍未打补丁(即易受攻击)。

问题:

1.这样的利用如何在概念上和实践上起作用?1 . 当您访问一个网站(或执行几乎所有其他操作)时,您的浏览器会运行 DNS 查询并打开与远程主机的 TCP 连接。路由器中继您的 DNS 查询,然后对您的 SYN 数据包(以及 SYN-ACK 和所有后续数据报)进行 NAT。
换句话说,路由器几乎是将数据包从一个以太网端口复制到另一个端口(在 NAT 之后更新 IP 校验和,但这可能无论如何都发生在硬件中,但无论哪种方式,TCP 校验和的软件实现都经过了 40 年的压力测试,他们几乎坚如磐石?)。基本上,就好像splice从一个套接字到另一个套接字一样,除了它发生在网络堆栈中。
人们应该认真地希望仅将数据包转发到另一个端口就可以 100% 可靠地工作,没有例外,也没有任何被利用的手段!路由器不会验证或执行数据报中的任何内容,路由器甚至没有理由查看每个数据包中的“二进制 blob”(...据我所知,不做任何内容过滤?)。
我很困惑这样的漏洞如何能真正起作用。任何的想法?

2.看到“Linux 数据包过滤器被窃听”似乎是唯一合理的解释(还能是什么?),我有理由开始对我的 Debian 服务器感到恐慌吗?


1请注意,我不是在寻找操作指南,也不想运行漏洞利用程序。

1个回答

在搜索了一整天并在几个用户论坛和一个可能“测试”漏洞的网站上挖掘了几千个或多或少不相关的帖子之后(但是,telnet 脚本除了一个有点损坏的 HTML 页面之外什么都没有显示),我发现了一个实际的漏洞利用站点。

事实证明,与往常一样,公开的信息具有欺骗性。

它是什么?

该漏洞利用没有太明确的细节,是一种组合的 XSRF / 注入攻击,以及至少从 2009 年初就已知的攻击的复杂性:

  • 路由器的 Web 界面可在 LAN 上访问(也可选择远程访问),具有本地化的用户界面。
  • 可让您更改设置和运行一些命令的 Web 界面是一个非常明显的攻击媒介,可以(或者您会这么想!)通过设置密码来阻止它。
  • 该漏洞利用有效,因为本地化代码不验证其参数。然而,本地化包括登录页面,因此漏洞利用将您甚至需要进行身份验证之前运行。因此,设置密码不会阻止攻击。
    这是当前漏洞利用的一个引人注目的新功能。
  • 路由器会将请求的和未经验证的界面语言传递给一个实用程序,该实用程序以root(... 并在 shell 中执行其参数) 运行。
  • 一旦知道了这一事实,漏洞利用就变得非常明显:选择一种用户界面语言,后跟一个分隔符和一个您希望执行的任何 shell 命令。这是一种非常典型的注入攻击(很像更广为人知的 SQL 注入攻击)。
  • 通常,这将用于启用远程访问并通过 FTP 将密码/配置文件上传到另一台服务器,或下载拨号程序或类似的。
  • 攻击网站本身不需要“恶意代码” 。攻击只需提供一个 URL(用于图像等),该 URL 指向路由器的默认网络名称(或其紧急 IP 地址)并包含要作为POST变量执行的命令。
  • 原则上,这可以通过广告横幅在任何其他无害的网站上完成,即使网站所有者不知道。
  • 用户的浏览器尝试打开 URL,从而在路由器上运行代码。

该怎么办?

除了显而易见的事情,更新固件(希望已经在一个月前!),应该安装一个浏览器扩展,以防止可疑的跨站点请求/脚本,例如 NoScript 或 RequestPolicy。无论如何,这是每个人都应该拥有的东西。
此外,如果还没有这样做的话,屏蔽广告横幅是一个明确的考虑因素。

问题2呢?

由于它本身不是路由器漏洞(即网络堆栈中的错误),而仅仅是对损坏的用户界面(偶然在路由器上运行)的利用,其他没有此界面的 Linux 系统,不受影响。