D-Link 漏洞挖掘

admin 2022年11月26日22:20:40评论66 views字数 1708阅读5分41秒阅读模式

D-Link 漏洞挖掘

本文为看雪论坛优秀文章

看雪论坛作者ID:混子1





前言


学习二进制漏洞有一段时间了,一直学,一直复现,属实有点无聊,但实战挖系统漏洞或者虚拟化有点难度,于是就把目光放到了路由器,于是又学了一段时间的路由器漏洞挖掘基础,最终开始分析了D-Link路由器。





了解


首先我们去cve-list可以看下历史漏洞,可以看到最近分析DIR-816型号的有点多,那我们也来分析它,但分析之前可以查一下该型号的版本,如果发现A2_v1.10CNB04(简称“B04”)还有更高版本,那尽可能分析更高版本,说不定可以捡漏,在查找版本时,发现它有B05,我选择B05分析。

D-Link 漏洞挖掘





分析


固件下载和binwalk解压我就跳过了,解压后查看rcS文件,发现启动了telnetd和goahead服务,由于不太清楚goahead服务是什么,于是百度了下,发现是嵌入式web服务器。

D-Link 漏洞挖掘

于是从web服务入手,用IDA打开goahead。

D-Link 漏洞挖掘


命令注入


根据cve-list发现在B04的web服务接口setSysAdm存在命令注入,于是我定位B05的setSysAdm接口。

D-Link 漏洞挖掘

doSystem函数是对system函数的二次封装,根据函数可以发现会执行var、v2和v4,这三个参数,但v2变量不可控,所以没办法利用,var和v4分别是admuser和admpass的值,可以利用。


栈溢出漏洞


根据cve-list发现在B04的web服务接口form2IPQoSTcAdd存在栈溢出,于是我定位B05的form2IPQoSTcAdd接口。

D-Link 漏洞挖掘
D-Link 漏洞挖掘

发现只要v10不为0,进去后都会执行sprintf函数,造成栈溢出,而v10值取决于ip_ctl_carrules初始化成功与否,一般情况下肯定成功,所以一定会造成栈溢出。

前面都属于捡漏,下面可以利用IDA查找strcpy,sprintf等危险函数的使用,这里就不过多叙述这种方法了,在浏览cve-list发现了B04的web服务接口form2Wan.cgi存在栈溢出,当wantype为3时,l2tp_usrname会被base64解密,结果存入v94,不检查l2tp_usrname的大小,导致栈溢出。由于该溢出和解密有关,所以我就比较好奇了,查看了B05对应接口。

D-Link 漏洞挖掘

有点出入,但出入不大,websDecode64应该是解密函数,第二个参数是l2tp_usrname值,第三个参数是l2tp_usrname的长度,所以第一个参数应该是存储解密后的内容,进一步查看websDecode64函数,发现是base64解密,并且对长度没有限制。

D-Link 漏洞挖掘
D-Link 漏洞挖掘
D-Link 漏洞挖掘

这个函数也可以作为危险函数查找,最终提交了6个cve,捡漏两个,挖了四个。
D-Link 漏洞挖掘





调试


用file命令查看goahead,可以看出是32位,小端存储,mips架构。

D-Link 漏洞挖掘

直接运行goahead程序会挂,因为没有相应的配置文件,我们可以尝试调试,先用IDA在主函数打断点。

D-Link 漏洞挖掘

根据汇编和反汇编代码,在各个if里面查看是否有return,在里面有return的if全部打断点,直到web服务启动前的所有if,然后f4,跳转下一断点,如果跳转下一断点,调试结束,说明上一个if,需要修改值,最终需要修改的就是91行的setdefault和126行v19。

D-Link 漏洞挖掘
D-Link 漏洞挖掘

经过上面两个判断,最终就可以运行了。
D-Link 漏洞挖掘
后面登录,也是需要修改值才能登录成功,如果想要验证的漏洞的话,可以自己尝试一下。



D-Link 漏洞挖掘


看雪ID:混子1

https://bbs.pediy.com/user-home-964032.htm

*本文由看雪论坛 混子1 原创,转载请注明来自看雪社区

D-Link 漏洞挖掘

看雪2022KCTF秋季赛官网:https://ctf.pediy.com/game-team_list-18-29.htm



# 往期推荐

1.CVE-2022-21882提权漏洞学习笔记

2.wibu证书 - 初探

3.win10 1909逆向之APIC中断和实验

4.EMET下EAF机制分析以及模拟实现

5.sql注入学习分享

6.V8 Array.prototype.concat函数出现过的issues和他们的POC们


D-Link 漏洞挖掘


D-Link 漏洞挖掘

球分享

D-Link 漏洞挖掘

球点赞

D-Link 漏洞挖掘

球在看


D-Link 漏洞挖掘

点击“阅读原文”,了解更多!

原文始发于微信公众号(看雪学苑):D-Link 漏洞挖掘

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年11月26日22:20:40
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   D-Link 漏洞挖掘https://cn-sec.com/archives/1418507.html

发表评论

匿名网友 填写信息