本文作者:i春秋作家——icqb32d3a26

1: 前期准备:

(1) 路由器固件

一般获取固件的方法有以下几种

  • 官方网站根据对应版本下载(√),点击下载
  • 在点击更新固件时抓取对应的更新固件链接
  • 拆开路由器,找到flash芯片后,通过热风枪取下flash芯片,使用编程器读取
  • 通过uart串口进入路由器调试界面,进行flash的备份

(2) binwalk工具

https://github.com/ReFirmLabs/binwalk

2: 固件信息提取

(1) 解压并用binwalk获取固件一些信息解压

binwalk获取信息

(2)从binwalk的结果,我们可以得知tenda这一个固件有trx header和lzma压缩后的数据组成。关于trx header的结构可以参考文章最后的参考链接,
下面使用通过binwalk -e解包

如图所示,解包结果如下

(3)进入到对应提取后的目录查看提取后的文件,对lzma压缩后的数据解压后得到1C这一个文件,再对1C进行binwalk操作。

如图所示,这一次binwalk返回足够多的信息,我们可以了解到这一个tenda路由器使用eCos小端的嵌入系统,在binwalk的结果中我们,我们看到还有一些html文件。

3: 对解压后的固件镜像再次进行提取(1)解压后的固件再次提取

如图所示,提取结果如下

但是我们可以发现,提取后的每一个文件都是data,并不是我们已知的类型,这到底是肿么回事?

我们查看具体的一个xml文件看一下,可以看到这并不是一个正常的xml文件,其中还混杂这其它二进制数据,应该是binwalk在处理xml或者html这类文件时,无法像其它文件一样通过文件头来确定整个文件的大小,github上也有对应的issue在讨论。

(2)如何继续分析
思路:

  • 寻找另外一个能够更好处理xml和html数据的工具进行提取
  • 分析路由对应cfe如何对镜像进行处理
  • 通过正则查找脚本语言相关的代码段进行分析

(3) 我们采用最简单的方法,通过正则查找脚本语言相关的代码段进行分析
Step 1. 使用strings命令将解压后的1C字符串输出到文本

strings 1C > tenda.txt

Step 2. 对应的这款tenda路由器使用asp脚本语言,我们可以通过查找<%xx%>这样的asp代码片段

grep -e "<%.*%>" tenda.txt

如图所示,asp代码片段全部用于在js中初始化一些关于路由器的参数值,没有相关的敏感信息

Step 3. 查找tenda路由器中的cgi处理程序,是否有一些隐藏的链接。

grep -e "cgi" tenda.txt

获取到的信息

/cgi-bin/upgrade

/cgi-bin/DownloadCfg/RouterCfm.cfg

/cgi-bin/UploadCfg

从命名上来看,我们可以得知,upgrade是用来更新固件的、DownloadCfg是用来下载配置文件、UploadCfg是用来上传配置文件的,我们测试下直接访问/cgi-bin/DownloadCfg/RouterCfm.cfg,是否能下载路由器的配置文件。

成功下载路由器的配置文件,文件中包含拨号连接的账号信息。

4: 现网案例查找

在路由器页面里面,我们可以通过js的一些特征作为搜索关键字

fofa中搜索

公网的一些案例

5:总结

也许一个信息泄露漏洞不能代表什么,但是却能够在你继续前行的道路给你力量。对固件静态分析也许也会有些收获,所以不拘泥于分析方法,多思考,或许会有新的发现。 
参考链接:

1. trx header

2. binwalk 提取xml和html的问题

>>>>>>黑客入门必备技能   带你入坑和逗比表哥们一起聊聊黑客的事儿他们说高精尖的技术比农药都好玩

tenda某路由器信息泄露查找的更多相关文章

  1. 如何安全使用公共Wifi,防止信息泄露?

    购物中心,机场,餐厅,咖啡馆,图书馆,公共交通,酒店客房均提供免费无线网络连接,这些网络每天被数百万人使用.然而,大多数人没有意识到的是,免费的公共Wi-Fi并不安全.即使需要密码才能登录,这并不一定 ...

  2. MS10-070 ASP.NET Padding Oracle信息泄露漏洞项目测试

    MS10-070 ASP.NET Padding Oracle信息泄露漏洞1         漏洞描述:ASP.NET由于加密填充验证过程中处理错误不当,导致存在一个信息披露漏洞.成功利用此漏洞的攻击 ...

  3. CTFHub_技能树_信息泄露

    常用备份文件名: www.zip bak文件 在使用vim时会创建临时缓存文件,关闭vim时缓存文件则会被删除,当vim异常退出后,因为未处理缓存文件,导致可以通过缓存文件恢复原始文件内容 以 ind ...

  4. WordPress Backdoor未授权访问漏洞和信息泄露漏洞

    漏洞名称: WordPress Backdoor未授权访问漏洞和信息泄露漏洞 CNNVD编号: CNNVD-201312-497 发布时间: 2013-12-27 更新时间: 2013-12-27 危 ...

  5. Linux kernel 内存泄露本地信息泄露漏洞

    漏洞名称: Linux kernel 内存泄露本地信息泄露漏洞 CNNVD编号: CNNVD-201311-467 发布时间: 2013-12-06 更新时间: 2013-12-06 危害等级:    ...

  6. Linux Kernel ‘/net/socket.c’本地信息泄露漏洞

    漏洞名称: Linux Kernel ‘/net/socket.c’本地信息泄露漏洞 CNNVD编号: CNNVD-201312-037 发布时间: 2013-12-04 更新时间: 2013-12- ...

  7. Linux Kernel ‘mp_get_count()’函数本地信息泄露漏洞

    漏洞名称: Linux Kernel ‘mp_get_count()’函数本地信息泄露漏洞 CNNVD编号: CNNVD-201311-054 发布时间: 2013-11-06 更新时间: 2013- ...

  8. Linux Kernel ‘/bcm/Bcmchar.c’本地信息泄露漏洞

    漏洞名称: Linux Kernel ‘/bcm/Bcmchar.c’本地信息泄露漏洞 CNNVD编号: CNNVD-201311-053 发布时间: 2013-11-06 更新时间: 2013-11 ...

  9. 【转】Android应用开发allowBackup敏感信息泄露的一点反思

    转载:http://blog.csdn.net/yanbober/article/details/46417531 1 背景 其实这篇文章可能有些小题大作,但回过头想想还是很有必要的,有点阴沟里翻船的 ...

随机推荐

  1. loadrunner12.5-添加检查点

    1.点击缩略图资源管理器,找到需要添加检查点的页面. 2.选中需要添加检查点的页面,切换到快照tab,选择“树”型显示方式. 3.在响应窗口下,找到需要添加的检查点的内容,选中--右键--添加文本检查 ...

  2. 设计神器 - 摹客设计系统上线了 | 晒出你的设计规范,赢iPad Pro!

    在国内,设计规范也许还是个不太常用的概念,但是如果你正好有参与互联网公司的产品设计,你应该早就已经体会到设计规范的重要性了.UI设计师总是要花费大量的时间和精力向开发描述一大堆设计细节,但是产品最后呈 ...

  3. jquery validate 之多tab页同时校验问题

    1.设置多tab页同时校验: $("form").validate({ignore: ":hidden", ignore: ""}); 由于 ...

  4. 百度词汇检索,计算PMI值

    '''词汇检索百度返回值,并且计算PMI值的类''' from bs4 import BeautifulSoup import requests import re import pandas as ...

  5. 2018.09.26 洛谷P2464 [SDOI2008]郁闷的小J(map+vector)

    传送门 本来出题人出出来想考数据结构的. 但是我们拥有map+vector/set这样优秀的STL,因此直接用map离散化,vector存下标在里面二分找答案就行了. 代码: #include< ...

  6. IntelliJ IDEA 2017版 spring-boot使用Spring Data JPA搭建基础版的三层架构

    1.配置环境pom <?xml version="1.0" encoding="UTF-8"?> <project xmlns="h ...

  7. Java实现浏览器端大文件分片上传

    版权所有 2009-2018荆门泽优软件有限公司 保留所有权利 官方网站:http://www.ncmem.com/ 产品首页:http://www.ncmem.com/webapp/up6.2/in ...

  8. 四)mybatis 二级缓存 ehcache 常见问题

    1. java.io.NotSerializableException 94359 [EH_CACHE Async Replication Thread] ERROR n.s.e.d.jgroups. ...

  9. MVC, EF, Code First 相关问题总结

    1. 控制表名单复数: 在DbContext类中修改OnModelCreating()为: protected override void OnModelCreating(DbModelBuilder ...

  10. dlib安装教程(for linux)

    https://blog.csdn.net/LoHiauFung/article/details/78454905 https://www.linuxidc.com/Linux/2017-11/148 ...