快捷搜索:  网络  后门  CVE  渗透  木马  扫描  黑客  as

DLINK DCS-5020L无线云摄像机遥程代码执行漏洞阐发

简介

本文主若是向人人演示,怎么样找到物联网(IOT)设备中的漏洞。查找下列命令注入的过程可以分为3个步骤,有点类似于100 point CTF challenge:下载二进制文件,运行字符串,跟踪体系调用到原点的输入。

DLINK DCS-5020L

“DCS-5020L无线N Day&Night云台/倾斜云台摄像机是一款日夜型收集摄像机,可轻松连接到您现有的家庭收集,并支持在种种挪移设备上进行遥程观看。 它具有平移,倾斜以及数码变焦功能,可让您使用单台相机查看更为广阔的地区,内置Wi-Fi扩大器,轻松扩大无线笼盖范围,夜视距离达5米,声音以及运动检测最终的安心无忧,H.264视频压缩为高质量的图像。“

提取固件

与任何物联网设备同样,我们需要做的第一件事就是(要是我们有权走访它)从固件映像中提取文件体系。而对于这类设备,第一次binwalk扫描不会显示任何器械:

1.png

我们正在寻觅的是某种情势的嵌入式文件体系,譬如squashfs。要是找不到它,一般为因为它被使用了分层压缩。 我们需要做的就是使用-M选项,递回运行binwalk。终极,我们在2层压缩下发现了cpio文件体系。

2.png

让我们来查看下负责Web服务器的httpd二进制文件。

文件名:alphapd

Md5sum: ea622a926c435e4637f4852536aafa8c

漏洞

就像文章开头所说的那样,起首我们在二进制文件上运行字符串,看看会发生什么:

3.png

这些看起来像是传递给体系的命令。这里的’sed’命令无比有趣,看起来好像是从某个地方输入的。下一步是跟踪输入,看看我们是否可以控制它。

我们可以看到这里有两个引用我们感兴致的字符串的函数。

4.png

反过来,每一个函数都在setFormDefineManagement中被引用:

5.png

这些都是我们可以发送要求的POST表单。 例如,要是我们下列面的情势更改暗码,我们向setSystemAdmin发出POST要求:

6.png

应该注意的是,您需要拥有治理员凭证才能走访此页面,稍后再先容。还有一点需要注意的是,setSystemUserModify表单老是返归一个404,所以我们坚持阐发setSystemAdmin。

因此,从sub_42DCCC最先,代码将从非易失性RAM和websGetVar中取值。

7.png

这里的一个症结信息是对CheckSystemVar的调用,这段代码调用websGetVarCheck来处理大批的输入值,包括AdminID。

8.png

然后websGetVarCheck调用checkVarString,以下所示:

9.png

这显著只是一个switch/case结构。我们感兴致的值是AdminID,可以看到它的值必须小于13个字节。

10.png

所以我们知道AdminID的束厄局促是它必须少于13个字节。实现所有这些后,通过格式字符串传递给我们的AdminID参数来调用DoSystem。

11.png

很显著,攻击者可以使用一个简单的payload来藏避’sed’命令,譬如‘`touch a`’。 另一个例子是AdminID=a’`telnetd`’,它允许用户登录为“a”,并将此视作新的root帐户:

12.png

注意,我们使用空暗码登录。

进一步说明

我们还发现,我们可以通过在大多数暗码字段中发送长暗码,来对web server segfault。要是我们发送198个字节,服务会发生段错误,黑客网,并且会导致总线错误。

无非可惜的是,我找不到让gdbserver进入设备的要领,因此也没法转储核心文件并抓取它。

下列是使用210A的DDNSPassword参数向/setSystemNetwork发出POST要求的示例。 

13.png

把握凭证的攻击者可以行使该漏洞,在摄像机的Web界面上导致其拒尽服务。要是我们能找到在设备上调试二进制文件的要领,也有可能做到RCE。

影响

目前,这些设备中有近7000个连接到互联网:

14.png

MISC

受影响的版本 – 固件1.14.09

受影响的二进制文件 – Alphapd – ea622a926c435e4637f4852536aafa8c

补丁 – DLink的公告

TIMELINE

2017.11.21 - 向厂商表露,收到William Brown的归复,并发送给研发部门

2017.11.29 - MITRE CVE要求,调配CVE 2017-17020,然后发送给Dlink并更新它们。 W. Brown讯问地下表露时间,我们告诉他没无意间制约,只有在补丁发布后才会被地下表露。

2018.4.27 - Dlink的解决方案正式上线

2018.4.27 - 博客上线并更新了CVE

*参考来源:fidusinfosec, secist 编译,

您可能还会对下面的文章感兴趣: