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

【原创】说说无线路由器后门的那些事儿(1)-D-Link篇
作 者: gamehacker
时 间: 2013-11-29,11:29:19
链 接: http://bbs.pediy.com/showthread.php?t=182012

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

  前不久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对其文件系统进行提取。
  
  如devttys0所说,看到一个SquashFS文件系统,使用Binwalk可将这个文件系统导出。导出后得到下面这个文件系统,看样子是些系统文件了。
  
  继续看/bin/webs文件,这个就是无线路由器的web服务程序喽,还等什么?上IDA,走起!~~~
  注意哦,用IDA打开的时候要选择CPU哦,打开后就不用多说了,IDA嘛大家都比我用得好啦。不过我们得到的不是x86的反汇编代码,是mips的,这个也不难,找手册看下就有了。其实凭借x86下的经验,这个也不是问题,毕竟汇编指令不是很多嘛。
  查看字符串信息和函数信息:
  
  果然找到传说中的“后门密码”和那个alpha_auth_check函数。
  进入alpha_auth_check进行分析:
  
  Look这里,一目了然吧。判断后门密码,如果为真,则检测为已登录状态。
  按照devttys0给出的逆向还原代码就更直观了:
  
  从上面代码就可以很清晰的看到这个赤裸裸的后门了。下面我们验证一下吧,我买到的是中文版的DLINK DIR-100,通过更改http发包数据中的User-Agent值为“xmlset_roodkcableoj28840ybtide”进行访问。结果不用用户名和密码进去了。
    
 
  涉及到的工具:
  Binwalk
  IDA
  还存在的疑问:
  1、如何在官方没有提供固件文件的情况下,在设备中提取固件或文件?
  2、如何做到动态调试,木有找到无线路由器的模拟器和动态调试工具哦,求指导!*转载请注明来自看雪论坛@PEdiy.com 

 

posted @ 2016-01-16 19:09  寒号鸟二代  阅读(600)  评论(0编辑  收藏  举报