说说无线路由器后门的那些事儿(1)-Dlink篇

  • A+
所属分类:技术关注

前不久devttys0在自己的网站上纰漏了D-Link、Tenda无线路由器的后门,有理有据,技术内容还是很值得学习滴,由于之前没有关注过固件分析方面的技术,看了之后云里雾里的,除了膜拜就没有其他的了。于是乎,通过几天的查找资料有了一些心得和体会,与大家分享,顺便求大神指导。

思路及步骤:
按照devttys0的文章中的步骤进行分析,先到dlink官方下载相应版本的固件,地址如下:
ftp://ftp.dlink.eu/Products/dir/dir-100/driver_software/DIR-100_fw_reva_113_ALL_en_20110915.zip
下载后解压获得固件文件DIR100_v5.0.0EUb3_patch02.bix。使用固件分析神器Binwalk对其文件系统进行提取。

说说无线路由器后门的那些事儿(1)-Dlink篇

如devttys0所说,看到一个SquashFS文件系统,使用Binwalk可将这个文件系统导出。导出后得到下面这个文件系统,看样子是些系统文件了。

说说无线路由器后门的那些事儿(1)-Dlink篇

继续看/bin/webs文件,这个就是无线路由器的web服务程序喽,还等什么?上IDA,走起!
注意哦,用IDA打开的时候要选择CPU哦,打开后就不用多说了,IDA嘛大家都比我用得好啦。不过我们得到的不是x86的反汇编代码,是mips的,这个也不难,找手册看下就有了。其实凭借x86下的经验,这个也不是问题,毕竟汇编指令不是很多嘛。

查看字符串信息和函数信息:

说说无线路由器后门的那些事儿(1)-Dlink篇

果然找到传说中的“后门密码”和那个alpha_auth_check函数。进入alpha_auth_check进行分析:

  说说无线路由器后门的那些事儿(1)-Dlink篇

Look这里,一目了然吧。判断后门密码,如果为真,则检测为已登录状态。按照devttys0给出的逆向还原代码就更直观了:

说说无线路由器后门的那些事儿(1)-Dlink篇  

从上面代码就可以很清晰的看到这个赤裸裸的后门了。下面我们验证一下吧,我买到的是中文版的DLINK DIR-100,通过更改http发包数据中的User-Agent值为“xmlset_roodkcableoj28840ybtide”进行访问。结果不用用户名和密码进去了。

  说说无线路由器后门的那些事儿(1)-Dlink篇

涉及到的工具:
Binwalk
IDA
还存在的疑问:

1、如何在官方没有提供固件文件的情况下,在设备中提取固件或文件?
2、如何做到动态调试,木有找到无线路由器的模拟器和动态调试工具哦,求指导!

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: