测试摘要
2020年2月28日,Palo Alto Networks的42位研究人员在运行其最新固件的D-Link无线云路由器中发现了六个新漏洞。
该漏洞是在D-Link路由器的DIR-865L模型中发现的,旨在用于家庭网络。当前从家庭工作的趋势增加了对家庭网络进行恶意攻击的可能性,这使得更新我们的网络设备变得更加必要。
由于这些漏洞共享相似的代码库,因此某些漏洞可能还会出现在路由器的较新型号中。以下是找到的六个漏洞:
CVE-2020-13782:在命令中使用特殊元素的不正确中和(命令注入)
CVE-2020-13786:跨站请求伪造(CSRF)
CVE-2020-13785:加密强度不足
CVE-2020-13784:伪随机数生成器中的可预测种子
CVE-2020-13783:敏感信息的明文存储
CVE-2020-13787:敏感信息的明文传输
这些漏洞的不同组合可能导致重大风险。例如,恶意用户可以嗅探网络流量以窃取会话Cookie。利用这些信息,他们可以访问管理门户进行文件共享,从而使他们能够上传任意恶意文件,下载敏感文件或删除基本文件。他们还可以使用cookie运行任意命令来进行拒绝服务攻击。
具有威胁防护功能的Palo Alto Networks下一代防火墙通过自定义签名保护免受这种威胁。
D-Link已发布强烈建议消费者安装的补丁,可在以下链接中找到该补丁:D-Link公告
CVE-2020-13782:对命令中使用的特殊元素进行不正确的中和(命令注入)
该路由器的Web界面由名为cgibin.exe的后端引擎控制。大多数网页请求都发送到此控制器。如果发出对scandir.sgi的请求,则恶意行为者可以注入具有管理特权的任意代码,以在路由器上执行。
图1.恶意http请求
上图显示了可以对__ajax_explorer.sgi进行的GET请求,该请求将发送到scandir.sgi并导致路由器重新启动。这种特殊的攻击将导致拒绝服务。
为了使攻击生效,请求中必须包含四个参数:
action: 这必须是MNT或umnt
path: 这可以是任何东西
where: 这可以是任何东西
en:此参数是命令注入发生的位置。在这种情况下 ; 重新启动 ; 使路由器重启。
此攻击需要身份验证,但是可以通过窃取活动会话cookie来进行,因为该网页也容易受到跨站点请求伪造的攻击。从以后的漏洞中可以看出,窃取会话cookie对于攻击者而言是微不足道的。
CVE-2020-13786:跨站请求伪造(CSRF)
路由器的Web界面上有多个页面容易受到CSRF的攻击。这意味着攻击者可以在不知道密码的情况下嗅探Web流量并使用会话信息来访问网站的受密码保护的部分。
先前的漏洞已经提到可以使用CSRF进行命令注入。还有一个SharePort Web Access门户,它是位于端口8181上的用于文件共享的管理网站。
下面是恶意用户嗅探到的流量的视图,他们可以在其中使用uid绕过登录:
图2. UID的明文传输
如果攻击者直接导航到folder_view.php页面,则他们可以绕过登录屏幕,但没有任何功能:
图3.未经身份验证的SharePort Web访问
如果他们只是将cookie的值更改为有效会话的uid,那么他们将完全绕过身份验证:
图4.带有身份验证的SharePort Web Access
攻击者现在可以执行三种不同的操作:
查看所有文件的内容。
删除任何或所有文件。
上载新文件,包括恶意软件。
CVE-2020-13785:加密强度不足
当用户登录端口8181上的SharePort Web Access门户时,有足够的明文形式发送的信息供侦听攻击者通过蛮力攻击确定用户的密码。
图5.挑战的明文传输
以上信息从路由器发送到客户端。然后,客户端将计算要发送的密码,如下所示:
字符串MD5 HMAC等于用户名+challenge,并以实际密码作为密钥。
计算结果以明文形式发送回路由器:
通过嗅探此握手,攻击者现在可以访问以下信息:
MD5 HMAC算法的数据输入= id +challenge
哈希算法的结果= 密码
利用此信息,攻击者可以通过完全离线进行暴力攻击来确定实际密码。
CVE-2020-13784:伪随机数生成器中的可预测种子
路由器的代码库中有一种算法可以随机计算会话cookie,但是结果是可以预测的。攻击者只需要知道用户登录的大概时间即可确定会话cookie,即使该会话cookie受加密保护也是如此。
每次用户登录时,路由器都会用Cookie,challenge和公钥进行响应:
图7.质询,Cookie和公钥的明文传输
该信息似乎是随机的,但是它是由一个名为get_random_string的函数创建的。该函数将为随尝试登录时间生成的随机数提供种子。因此,计算结果可以由知道请求时间的攻击者预测。
图8.随机函数种子的分解
此漏洞的结果是,即使路由器使用HTTPS加密会话信息,老练的攻击者仍然可以确定进行CSRF攻击所需的信息。
CVE-2020-13783:敏感信息的明文存储
该tools_admin.php页面存储明文管理员密码。为了使攻击者获得密码,他们将需要对已登录计算机的物理访问权。物理访问是必需的,因为凭据不会通过网络以明文形式发送。通过物理访问,他们可以通过查看页
HTML源代码来查看密码:
图9. Tools_admin.php网页
图10.密码的明文存储
CVE-2020-13787:敏感信息的明文传输
该adv_gzone.php页面用于设置一个来宾WiFi网络。此网络上的安全性有多个选项。一种选择是有线等效保密性(WEP),它于2004年弃用,不建议用于保护无线网络的安全。如果管理员选择此选项,密码将以明文形式通过网络发送:
图11.密码的明文传输
嗅探网络流量的恶意用户可以看到来宾网络使用的密码。
结论
总之,D-Link DIR-865L家用无线路由器具有多个漏洞。由于在家中工作的人数众多,恶意行为者有动机攻击用于家庭网络的路由器。
这些漏洞可以一起使用,以运行任意命令,泄露数据,上传恶意软件,删除数据或窃取用户凭据。如果将路由器设置为使用HTTP,则最容易进行这些攻击,但是,如果路由器使用HTTPS,则高级攻击者仍可以计算所需的会话信息。
Palo Alto Networks通过以下方式保护客户:
具有威胁防护许可证的下一代防火墙可以通过威胁防护签名58410以最佳实践来阻止攻击。
推荐建议
安装带有修补程序的最新版本的固件。可以在D-Link网站上找到固件,他们在其中发布了漏洞:D-Link公告。
默认所有HTTPS流量,以防御会话劫持攻击。
更改路由器上的时区,以防御正在计算随机生成的会话ID的恶意行为者。您可以在D-Link的网站上找到操作方法。
在修补之前,请勿使用此路由器共享敏感信息。