2月28日,Unit 42研究人员在D-Link无线云路由器最新固件中发现了6个新的安全漏洞,主要出现在D-Link路由器的DIR-865L型号,也就是用于家用网络。这6个CVE漏洞分别是:
· CVE-2020-13782: 命令中使用的特殊元素的Improper Neutralization(命令注入)
· CVE-2020-13786: 跨域请求伪造(CSRF)
· CVE-2020-13785: 加密强度不足
· CVE-2020-13784: 伪随机数生成器中的seed可预测
· CVE-2020-13783: 敏感信息明文存储
· CVE-2020-13787: 敏感信息明文传递
CVE-2020-13782漏洞
该路由器的web接口是由后端引擎cgibin.exe 控制的。大多数到web页的请求会发送到控制器。假设有一个到scandir.sgi 的请求,恶意攻击者就可以注入任意代码并在路由器上以管理员权限执行注入的代码。
图 1. 恶意http请求
上图是一个到__ajax_explorer.sgi 的GET请求,会发送到scandir.sgi并引发路由器重启。这种漏洞利用的典型攻击方式是DoS攻击。
要成功实现攻击,请求中必须有4个参数:
· action: 是mnt 或 umnt
· path: 可以是任意值
· where: 可以是任意值
· en: 该参数是命令注入发生的地方。本例中是;reboot;,会导致路由器重启。
但该攻击需要认证,但可以通过窃取活动会话来实现认证。因为web页面存在CSRF攻击。
CVE-2020-13786: CSRF漏洞
路由器的web接口的多个页面存在CSRF漏洞。也就是说攻击者可以嗅探web浏览,使用session 信息在无需口令的情况下来获取口令保护的网站的信息。
这是一个SharePort Web Access网关,8181端口是用于文件共享的管理员web页。下面是恶意用户嗅探的流量,可以用uid来绕过登陆:
图 2. UID明文传输
如果攻击者直接访问folder_view.php 页面,就可以绕过登陆:
图 3. SharePort Web Access(无需认证)
如果修改cookie的值为有效会话的uid,就可以完成认证绕过:
图 4. SharePort Web Access(认证)
然后攻击者就可以:
· 查看所有文件的内容;
· 删除任意文件;
· 上传任意文件,如恶意软件。
CVE-2020-13785:加密强度不足
当用户在818端口登入SharePort Web Access网关时,很多信息都以明文形式发送到监听的攻击者,通过暴力破解的方式来确定用户口令。
图 5. 明文传输的challenge
当上面的信息从路由器发送给客户端。客户端就会计算要发送的口令:
· 字符串的MD5 HMAC等于用户名+ challenge+真实口令作为key。
计算的其余部分会以明文的形式发送给路由器:
Id和口令哈希明文传输漏洞
通过嗅探握手信息,攻击者就可以访问如下信息:
· MD5 HMAC算法的数据输入= id + challenge
· 哈希算的的结果= password 口令
有了这些信息,攻击者就可以通过发起线下的暴力破解攻击来确定真实的口令。
CVE-2020-13784:伪随机数生成器可预测seed
路由器的代码基中有一个负责计算随机session cookie的算法,但是该结果却是可预测的。攻击者只需要知道用户登陆的大概时间就可以确定session cookie,即使通过加密保护也可以。
每当用户登陆系统时,路由器就会响应一个cookie、challenge和公钥public key:
图 7. Challenge、cookie和公钥明文传输
这些信息虽然看似是随机的,但是由函数get_random_string创建的。该函数会根据登陆的时间生成随机数。因此,攻击者只要找到请求的时间就可以预测计算结果。
图 8. 随机函数seed分解
该漏洞的结果是即使路由器使用HTTPS 加密session信息,攻击者仍然可以获得执行CSRF 攻击所需的信息。
CVE-2020-13783: 敏感信息明文存储
页面tools_admin.php 中明文存储着admin的口令。攻击者要获得口令,就需要对登陆的机器有物理访问权限。因为凭证并不是明文传输的,有了物理访问权限,就可以通过页面的HTML 代码看到口令:
图 9. Tools_admin.php web页
图 10. 口令明文存储
CVE-2020-13787: 敏感信息明文传输
页面 adv_gzone.php 是用来设置guest WiFi网络的。在网络中有多个安全的选项。其中一个选项就是2014年被破解的WEP,因此不再建议使用。如果管理员选择该选项,口令就会以明文的形式在网络上传输:
图 11. 口令明文传输
恶意用户可以通过嗅探网络流量看到guest 网络的口令。
总结
研究人员在D-Link DIR-865L家用路由器中发现了6个CVE 安全漏洞,攻击者利用这些漏洞可以运行任意命令、窃取数据、上传恶意软件、删除数据或者窃取用户凭证。如果路由器是用HTTP 设置的,那么发起这些攻击是非常容易的;如果使用HTTPS 仍然可以通过计算所需的session会话信息来实现攻击。
D-Link 已经发布了安全补丁,建议用户尽快安装补丁。
本文翻译自:https://unit42.paloaltonetworks.com/6-new-d-link-vulnerabilities-found-on-home-routers/如若转载,请注明原文地址