说说无线路由器后门的那些事儿(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
说说无线路由器后门的那些事儿(1)-D-Link篇的更多相关文章
- PHP一句话后门过狗姿势万千之理论篇
写在前面: 过狗相关的资料网上也是有很多,所以在我接下来的文章中,可能观点或者举例可能会与网上部分雷同,或者表述不够全面. 但是我只能说,我所传达给大家的信息,是我目前所掌握或者了解的,不能保证所有人 ...
- 访问控制列表-细说ACL那些事儿(ACL应用篇)
1.ACL应用范围 通过前两期的ACL理论学习,大家知道ACL并不能单独完成控制网络访问行为或者限制网络流量的效果,而是需要应用到具体的业务模块才能实现上述功能. 那么ACL到底可以应用在哪些业务中呢 ...
- 无线路由器WDS设置方法图解_无线桥接设置
随着无线网络的发展,现在越来越多的公司及企业都已经开始布局无线局域网,今天我们主要介绍下适合中小企业的无线路由器桥接或WDS功能.文章以TP-link WR841N无线路由器设置为例,其它路由器参考设 ...
- Python3实现ICMP远控后门(中)之“嗅探”黑科技
ICMP后门 前言 第一篇:Python3实现ICMP远控后门(上) 第二篇:Python3实现ICMP远控后门(上)_补充篇 在上两篇文章中,详细讲解了ICMP协议,同时实现了一个具备完整功能的pi ...
- python之命令行可以做的事儿
前言 说起python,大家都知道可以做很多有趣的事儿.知乎.CSDN上很多大牛做过很多或高大上或实用的事儿.参见这篇文章Python趣味代码整合之提升学生编程兴趣, 另外,我发现命令行也可以做很多事 ...
- angularjs探秘<四> 双向数据绑定
双向数据绑定是angularjs的一大特性,这个特性在实际开发中省了不少事儿.之前第二篇提过数据绑定,这一篇从实际开发的案例中具体看下双向数据绑定的便捷. 首先看一个场景: 在 注册/登录 中经常遇到 ...
- ref:web security最新学习资料收集
ref:https://chybeta.github.io/2017/08/19/Web-Security-Learning/ ref:https://github.com/CHYbeta/Web-S ...
- 【黑金原创教程】【TimeQuest】【第七章】供源时钟与其他
声明:本文为黑金动力社区(http://www.heijin.org)原创教程,如需转载请注明出处,谢谢! 黑金动力社区2013年原创教程连载计划: http://www.cnblogs.com/al ...
- BFC --- Block Formatting Context --- 块级格式化上下文
虽然知道块级格式化上下文是什么东西,但要我把这个东西给说清楚,还真的不是一件容易的事儿,所以这篇文章我就要说说清楚到底什么使传说中的BFC,即块级格式化上下文. 一.BFC的通俗理解 通俗的理解 -- ...
随机推荐
- (51)LINUX应用编程和网络编程之六Linux高级IO
3.6.1.非阻塞IO 3.6.1.1.阻塞与非阻塞 阻塞:阻塞具有很多优势(是linux系统的默认设置),单路IO的时候使用阻塞式IO没有降低CPU的性能 补充:阻塞/非阻塞, 它们是程序在等待消息 ...
- Linux系统安装时分区的介绍
一般来说,在linux系统中都有最少两个挂载点,分别是/ (根目录)及 swap(交换分区),其中,/ 是必须的: 建议挂载的几大目录: /-------根目录,唯一必须挂载的目录.不要有任何的犹豫, ...
- Chrome 66 新增异步剪贴板 API
在过去的几年里我们只能使用 document.execCommand 来操作剪贴板.不过,这种操作剪贴板的操作是同步的,并且只能读取和写入 DOM. 现在 Chrome 66 已经支持了新的 Asyn ...
- 启动Maven项目时报错Failed to execute goal org.apache.maven.plugins:maven-clean-plugin:2.5:clean (default-clean) on project **-web: Failed to clean project: Failed to delete E:\**\target\tomcat\logs\access_lo
这类错误 出现这种错误,通常是由于您已启动了另一个tomcat 进程或者运行的javaw.exe进程,导致报错. 解决方法: 1. 鼠标点击 X 进行关闭运行失败的 Console页,(如果运行多次, ...
- Mysql 5.7安装与配置-默认密码
Mysql下载 官方下载路径:https://dev.mysql.com/downloads/mysql/ 网盘下载(windows 32-64): 链接:https://pan.baidu.com/ ...
- .net framework4.6项目的dll升级后,未找到方法“System.String.GetPathsOfAllDirectoriesAbove”解决
https://stackoverflow.com/questions/59276192/getpathsofalldirectoriesabove-cannot-be-evaluated-after ...
- mount -o是什么意思
mount -o是用loop设备, 在 linux挂载本地的(可能是硬盘上的) iso文件时, 使用的. -o 就是loop回环设备的意思. loop回路文件系统: 是: 用来在一个文件系统上实现另一 ...
- 分布式任务队列 Celery —— 深入 Task
目录 目录 前文列表 前言 Task 的实例化 任务的名字 任务的绑定 任务的重试 任务的请求上下文 任务的继承 前文列表 分布式任务队列 Celery 分布式任务队列 Celery -- 详解工作流 ...
- Delphi XE2 之 FireMonkey 入门(31) - 数据绑定: 绑定数据库
Delphi XE2 之 FireMonkey 入门(31) - 数据绑定: 绑定数据库 一.全设计时操作: 先在窗体上放置控件: DataSource1 : TDataSource; Clie ...
- LoadRunner11安装及破解
一.LoadRunner11安装 以管理员身份运行setup.exe 选择第一个LoadRunner完整安装程序 按照界面会弹出以上提示框,直接选择否 检查系统缺少哪些组件,点击“确定”自动安装 点击 ...