zoukankan      html  css  js  c++  java
  • 说说无线路由器后门的那些事儿(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 

  • 相关阅读:
    摘抄博文
    html5中getContext()方法和CanvasRenderingContext2D对象详解
    三十四、Android Spinner控件之键值对用法
    二十七、Android之GPS定位详解
    J2EE用监听器实现同一用户只能有一个在线
    三十二、Android上传文件至服务器
    二十六、Android WebView缓存
    三十九、Android原理 不需要关闭后台运行程序
    三十七、android sqlite3详解
    struts2之注解权限控制
  • 原文地址:https://www.cnblogs.com/Reverser/p/5136036.html
Copyright © 2011-2022 走看看