在 Linux 中使用 DHCP 连接到开放的 WiFi 路由器是否容易受到 Shellshock 的影响?

信息安全 linux 安卓 脆弱性 dhcp 炮击
2021-09-07 10:55:29

资料来源:http : //lcamt​​uf.blogspot.com/2014/09/quick-notes-about-bash-bug-its-impact.html

出于同样的原因,调用配置脚本并使用变量传递配置详细信息的用户级 DHCP 客户端在暴露于流氓服务器(例如,在开放的 wifi 上)时会面临风险。

想知道 Linuxdhclient是否容易受到从路由器传递的配置详细信息的攻击。

如果是这样,应该尽快修补许多桌面 Linux 装备。还对在 Android 中完成的 DHCP 配置感兴趣。

2个回答

是的。

网络配置 shell 脚本在dhclient-scriptDHCP 过程中运行,并且来自服务器的一些参数(例如domain-name)在环境变量中传递给它。该脚本设置为由 解释/bin/sh,因此如果您的系统具有该符号链接/bin/bash(这很常见),那么您很容易受到攻击。

更重要的是,在使用 dash 作为 /bin/sh 的 Debian(可能还有它的无数后代,如 Ubuntu)上,dhclient-script 被明确地绑定到 /bin/bash,而且它似乎也包含一个 bashism。

双方dhclientdhcpcd调用配置脚本调用系统shell,所以他们是脆弱的。

但是,根据我的测试,看起来您至少可以在dhcpcd没有配置脚本的情况下成功运行(如果您重命名/移动脚本):

$ pkill dhcpcd
$ ping -c 1 www.google.com
ping: unknown host www.google.com

$ mv /usr/lib/dhcpcd/dhcpcd-run-hooks /usr/lib/dhcpcd/dhcpcd-run-hooks-disabled
$ dhcpcd
dhcpcd[29057]: version 6.4.3 starting
dhcpcd[29057]: script_runreason: /usr/lib/dhcpcd/dhcpcd-run-hooks: WEXITSTATUS 127
(...)
dhcpcd[29057]: forked to background, child pid 29069

$ ping -c 1 www.google.com
PING www.google.com (74.125.232.240) 56(84) bytes of data.
64 bytes from arn06s07-in-f16.1e100.net (74.125.232.240): icmp_seq=1 ttl=54 time=16.4 ms
(...)

如您所见,有一个警告,但最终建立了连接。

可能会有一些设置不正确的东西(例如域),所以这是一个骇人听闻的解决方案。没有在 WiFi 网络上测试过,它可能会在那里失败。

编辑:基于strings /usr/bin/dhcpcd它看起来脚本路径是硬编码的。