设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客
LUPA开源社区 首页 IT综合资讯 查看内容

我是如何反编译D-Link路由器固件程序并发现后门的

2013-10-22 11:02| 发布者: joejoe0332| 查看: 2995| 评论: 0|原作者: 外刊IT评论|来自: 外刊IT评论

摘要:   OK,又是周末晚上,没有约会,只有一大瓶Shasta汽水和全是快节奏的音乐…那就研究一下程序吧。   一时兴起,我下载了D-link无线路由器(型号:DIR-100 revA)的固件程序 v1.13。使用工具Binwalk,很快的就从中发 ...
  OK,又是周末晚上,没有约会,只有一大瓶Shasta汽水和全是快节奏的音乐…那就研究一下程序吧


  一时兴起,我下载了D-link无线路由器(型号:DIR-100 revA)的固件程序 v1.13。使用工具Binwalk,很快的就从中发现并提取出一个只读SquashFS文件系统,没用多大功夫我就将这个固件程序的web server(/bin/webs)加载到了IDA中:


Strings inside /bin/webs


  /bin/webs中的字符信息


  基于上面的字符信息可以看出,这个/bin/webs二进制程序是一个修改版的thttpd,提供路由器管理员界面操作功能。看起来是经过了台湾明泰科技(D-Link的一个子公司)的修改。他们甚至很有心计的将他们很多自定义的函数名都辅以“alpha”前缀:


Alphanetworks' custom functions


  明泰科技的自定义函数


  这个alpha_auth_check函数看起来很有意思!


  这个函数被很多地方调用,最明显的一个是来自alpha_httpd_parse_request函数:


Function call to alpha_auth_check


  调用alpha_auth_check函数


  我们可以看到alpha_auth_check函数接收一个参数(是存放在寄存器$s2里);如果alpha_auth_check返回-1(0xFFFFFFFF),程序将会跳到alpha_httpd_parse_request的结尾处,否则,它将继续处理请求。



酷毙

雷人

鲜花

鸡蛋

漂亮
  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部