Dir-300敏感信息泄露漏洞

固件代码审计
将固件压缩包解压
Dir-300敏感信息泄露漏洞_第1张图片

使用binwalk提取
Dir-300敏感信息泄露漏洞_第2张图片

这时当前路径下生产一个新的文件夹
Dir-300敏感信息泄露漏洞_第3张图片

进入squshf文件系统
Dir-300敏感信息泄露漏洞_第4张图片

先对总体情况做个审计,使用firmwalk.sh
Dir-300敏感信息泄露漏洞_第5张图片

因为审计的结果很长,我们将其保存到1.txt
在这里插入图片描述

因为telnet经常会出现安全风险,我们可以匹配telnet关机字
Dir-300敏感信息泄露漏洞_第6张图片

去看看第一个telnetd.sh
Dir-300敏感信息泄露漏洞_第7张图片

在该文件中找到了用户名、密码;密码保存在image_sign文件中
去看看
在这里插入图片描述

这样我们就得到了telnet的账户和密码。接下来我们研究web层面的漏洞

已知dlink dir-300存在信息泄露漏洞,进入其www文件夹
漏洞出现在/model/__show_info.php
Dir-300敏感信息泄露漏洞_第8张图片

可以看到,禁止了$REQUIRE_FILE的参数为var/etc/httpasswd和var/etc/hnapasswd
但是我们可从根路径开始配置httpasswd,就能绕开过滤了
也就是说传给REQUIRE_FILE的是/var/etc/httpasswd
那么exp就是
localhost/model/__show_info.php?REQUIRE_FILE=/var/etc/httpasswd
以此绕过if判断

模拟路由器环境
在下图路径中
在这里插入图片描述

如上所示输入
Dir-300敏感信息泄露漏洞_第9张图片

红色圈起来的部分都是需要输入的,第二个圈是要求输入待分析的固件地址
第三个圈是要求输入brand,这个可以随意
其他地方碰到要求输入oit密码的时候就输入attify123
要求输入firmadyne的密码的时候就输入firmadyne
稍等片刻就可以看到环境准备好了
Dir-300敏感信息泄露漏洞_第10张图片

实战测试
在浏览器打开相应的网址,查到资料,知道dlink默认用户名为admin,密码为空,再正确输入验证码即可登录
Dir-300敏感信息泄露漏洞_第11张图片

登录后的结果
Dir-300敏感信息泄露漏洞_第12张图片

在mainteance处修改密码为test
Dir-300敏感信息泄露漏洞_第13张图片

点击save settings
接下里点击logout退出
接下里看看刚才我们代码审计挖掘到的漏洞是否真实存在
http://192.168.0.1/model/__show_info.php?REQUIRE_FILE=/var/etc/httpasswd
Dir-300敏感信息泄露漏洞_第14张图片

可以看到确实打印出了/var/etc/httpasswd的值
也就是登录路由器后台的账号和密码

参考:
1.http://www.s3cur1ty.de/m1adv2013-017
2. http://seclists.org/bugtraq/2013/Dec/11
3.http://www.devttys0.com/wp-content/uploads/2010/12/dlink_php_vulnerability.pdf
4.https://packetstormsecurity.com/files/120591/dlinkdir645-bypass.txt
https://github.com/adi0x90/attifyos

你可能感兴趣的:(IoT)