极路由安全设计架构分析

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介:
极路由安全设计架构分析

0×00 前言

现代智能路由器是目前物联网发展链条上一个不可或缺的重要组成部分,搞清楚其架构设计对将来设计物联网有深远的影响,当然为更安全的设计物联网架构起到关键作用。本文将针对智能路由器的代表“极路由”的安全设计架构进行详细的分析。

现代智能路由器代表:极路由 HiWiFi OS,说它智能主要表现在可以通过手机App远程管理家中的路由器。

根据公开资料,可以大致了解HiWiFi 整个系统架构。

那么,我们需要分析目标:

由于连接公有云和手机App的都是HiWiFi路由器,所以对其固件的分析是非常有必要的。当然服务器端的OpenAPI&SDK也是研究的重点。

1. HiWiFi 路由固件ROM分析
2. HiWiFi OpenAPI &SDK服务器端分析
3. HiWiFi Android App 分析 (下期分解)

0×01 分析思路及实践

1. HiWiFi 路由固件ROM分析(Reverse Engineering ROM)

解压极路由固件

测试环境:Kali Linux binwalk、squashfs-tools

由于极路由固件是通过SSL直接推送给用户购买的路由器文件系统中,并且HiWiFi是运行在用户态的程序,SSH无法开启,所以,需要从其他渠道获得固件。

HiWiFi固件由于HiWiFi底层是开源的OpenWRT,所以到OpenWRT中文网去寻求资源,因为官方固件不开放下载。http://downloads.openwrt.org.cn/PandoraBox/HiWiFi_1S_HD/stable/

Binwalk 自动提取文件系统失败。

0x12314E        Squashfs filesystem, little endian, version 4.0, compression:lzma (non-standard type definition)

无法解开squashfs文件系统,因为不是标准的lzma压缩打包算法。

使用

hexdump -C install.img >you.out

先看看文件头描述。

没什么头绪,那就要看源代码了。

在没有源代码的情况下怎么办?使用通用解包工具尝试:

1)tar xvf install.img    最终失败
(2)看到xz 算法。那么,可以使用squashfs工具试试。用squashfs-tools 中的
unsquashfs -f install.img (先安装apt-get install squashfs-tools)  成功。

可以说这是个设计缺陷,怎么可以使用通用工具解开文件系统。(kali 2.0 要自己编译安装squashfs-tools,还要添加lzma补丁等,有点麻烦。)

安全建议:自己开发一个压缩解压包的工具,哪怕在通用工具里加点salt,然后在配合RSA非对称秘钥解密验证。

进入系统 分析系统

安全小提示:进入/etc/shadow 找到root密码(Linux中的密码用两种加密算法加密:DES和MD5,查看你的/etc/shadow文件, 密码栏以$1$开头的是用MD5算法加密的。)

root:$1$IjJSZYnP$14XuZ/eoGldE8Qz2BXkyO.:15797:0:99999:7:::
daemon:*:0:0:99999:7:::
ftp:*:0:0:99999:7:::
network:*:0:0:99999:7:::
nobody:*:0:0:99999:7:::

我想骂人了,root的密码是admin

要想了解极路由是如何设计其系统的,可以查看其lua脚本,如果想更深入可使用IDA Pro反编译*.so动态链接库文件等系统文件。

为了更好的分析其系统架构,我使用virtualbox 搭建一个支持x86平台openWRT 通过文件对比,了解HiWiFi有哪些库 lua是厂商开发的,从分析Uhttpd可以看出,加入了json的解析,提高支持和云端还有手机App通讯的便捷性。

由于时间的关系,没做太多分析,大家可以尽情发挥。

但是又碰到了一个很难破解的问题,极路由厂商开发的lua文件被加密了。

我想到的方法就是动态调试HiWiFi OS,那么需要搭建可MIPS的虚拟环境(QEMU),然后使用IDA Pro去调试。这个下期再说。

2. HiWiFi  SDK OpenAPI分析

我想从两个方向下手分析

1)手机App和 HiWiFi Cloud 之间的通讯
(2)HiWiFi 路由器和HiWiFi Cloud之间的通讯

(1)手机App和 HiWiFi Cloud 之间的通讯

测试环境:win7、Fiddler

通过Fiddler代理 抓手机App的包

发现手机App和HiWiFi cloud 通讯涉及到4个域名

复制代码
https://app.hiwifi.com

https://m.hiwifi.com

https://openapi.hiwifi.com

https://client.openapi.hiwifi.com
复制代码

前端使用nigix架构web服务器,后台使用php开发语言。数据库估计是NoSQL,前期为mysql。

百万用户使用SSL连接,还是能承受的起的(另外提醒一下:WVS扫描后发现SSL2.0版本太低,要换成 SSL3.0)。

我们就分析一个API。

复制代码
POST https://app.hiwifi.com/mobile.php?m=yun&a=ExchangeDeviceInfo&ios_client_ver=504000602 HTTP/1.1
Host: app.hiwifi.com
Accept: */*
Client-type: ios
Proxy-Connection: keep-alive
App-src: hiwifi
Accept-Language: zh-Hans;q=1, en;q=0.9
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded
Client-ver: 504000602
User-Agent: HiWiFiKoala-REL/504000602 (iPhone; iOS 8.4.1; Scale/2.00)
Connection: keep-alive
Content-Length: 857
Cookie: __uuid=tjBy+FV/UaGolDRJHKvIAg==; TK=l6DSEEDWm4S17V-xgSv_qpIPxLInuE3AtW6FHPAJ3Q
 
rid=98150&source=%5B%0A%20%20%7B%0A%20%20%20%20%22device_name%22%20%3A%20%22L-106989-A%22%2C%0A%20%20%20%20%22device_mac%22%20%3A%20%228C705AC50CF4%22%0A%20%20%7D%2C%0A%20%20%7B%0A%20%20%20%20%22device_name%22%20%3A%20%22MiBOX1S-3196dc7cb902ca41%22%2C%0A%20%20%20%20%22device_mac%22%20%3A%20%22983B16E2E252%22%0A%20%20%7D%2C%0A%20%20%7B%0A%20%20%20%20%22device_name%22%20%3A%20%22lyyer-iPhone%22%2C%0A%20%20%20%20%22device_mac%22%20%3A%20%22A85B786254C0%22%0A%20%20%7D%2C%0A%20%20%7B%0A%20%20%20%20%22device_name%22%20%3A%20%22%E5%B0%8F%E7%B1%B3%E7%9B%92%E5%AD%903-%E9%87%8C%E5%B1%8B%22%2C%0A%20%20%20%20%22device_mac%22%20%3A%20%226CFAA74B34B6%22%0A%20%20%7D%2C%0A%20%20%7B%0A%20%20%20%20%22device_name%22%20%3A%20%22Xiaomeng%22%2C%0A%20%20%20%20%22device_mac%22%20%3A%20%220C74C2837241%22%0A%20%20%7D%0A%5D&token=l6DSEEDWm4S17V-xgSv_qpIPxLInuE3AtW6FHPAJ3Q
复制代码

使用fiddler  文本向导 URLDecode  可以解析数据。哥,你也别太相信HTTPS,路由器传输的数据都在裸奔。

(2)HiWiFi 路由器和HiWiFi Cloud之间的通讯

这个要考虑一下了,HiWiFi路由器和HiWiFi之间的通讯,难道要跑到公网sniffer?NO。只有分析lua或者so源码了。但是目前源码大部分加密,还没有想好思路。

0×02 总结

HiWiFi系统总体来说安全设计考虑充分,本地文件系统使用加密存储,减少了逆向的可能。手机App和HiWiFi Cloud都是SSL通讯,增加了网络层面中间人攻击难度。当然有更多的安全设计(例如:token设计等),本文由于时间关系,就先分析到这。

 
本文转自 K1two2 博客园博客,原文链接:http://www.cnblogs.com/k1two2/p/4760718.html   ,如需转载请自行联系原作者
相关文章
|
4月前
|
安全 数据处理 数据安全/隐私保护
C/S架构与B/S架构的适用场景分析
C/S架构(客户端/服务器架构)与B/S架构(浏览器/服务器架构)在适用场景上各有特点,主要取决于应用的具体需求、用户群体、系统维护成本、跨平台需求等因素。
345 6
|
16天前
|
机器学习/深度学习 存储 人工智能
基于AI的实时监控系统:技术架构与挑战分析
AI视频监控系统利用计算机视觉和深度学习技术,实现实时分析与智能识别,显著提升高风险场所如监狱的安全性。系统架构包括数据采集、预处理、行为分析、实时决策及数据存储层,涵盖高分辨率视频传输、图像增强、目标检测、异常行为识别等关键技术。面对算法优化、实时性和系统集成等挑战,通过数据增强、边缘计算和模块化设计等方法解决。未来,AI技术的进步将进一步提高监控系统的智能化水平和应对复杂安全挑战的能力。
|
2月前
|
存储 SQL Apache
Apache Doris 开源最顶级基于MPP架构的高性能实时分析数据库
Apache Doris 是一个基于 MPP 架构的高性能实时分析数据库,以其极高的速度和易用性著称。它支持高并发点查询和复杂分析场景,适用于报表分析、即席查询、数据仓库和数据湖查询加速等。最新发布的 2.0.2 版本在性能、稳定性和多租户支持方面有显著提升。社区活跃,已广泛应用于电商、广告、用户行为分析等领域。
Apache Doris 开源最顶级基于MPP架构的高性能实时分析数据库
|
2月前
|
运维 NoSQL Java
后端架构演进:微服务架构的优缺点与实战案例分析
【10月更文挑战第28天】本文探讨了微服务架构与单体架构的优缺点,并通过实战案例分析了微服务架构在实际应用中的表现。微服务架构具有高内聚、低耦合、独立部署等优势,但也面临分布式系统的复杂性和较高的运维成本。通过某电商平台的实际案例,展示了微服务架构在提升系统性能和团队协作效率方面的显著效果,同时也指出了其带来的挑战。
96 4
|
3月前
|
存储 SQL 分布式计算
湖仓一体架构深度解析:构建企业级数据管理与分析的新基石
【10月更文挑战第7天】湖仓一体架构深度解析:构建企业级数据管理与分析的新基石
194 1
|
4月前
|
存储 监控 安全
SaaS业务架构:业务能力分析
【9月更文挑战第20天】在数字化时代,软件即服务(SaaS)模式逐渐成为企业软件解决方案的首选。SaaS 业务架构设计对于提供高效、可靠的服务至关重要。其核心业务能力包括:用户管理(注册登录、角色权限)、数据管理(存储备份、安全共享)、业务流程管理(设计定制、工作流自动化)、应用集成(第三方应用、移动应用)及客户服务(支持培训、反馈改进)。通过优化这些能力,可为企业提供更高效、可靠的 SaaS 服务。
75 11
|
5月前
|
消息中间件 负载均衡 Kafka
Kafka 实现负载均衡与故障转移:深入分析 Kafka 的架构特点与实践
【8月更文挑战第24天】Apache Kafka是一款专为实时数据处理和流传输设计的高性能消息系统。其核心设计注重高吞吐量、低延迟与可扩展性,并具备出色的容错能力。Kafka采用分布式日志概念,通过数据分区及副本机制确保数据可靠性和持久性。系统包含Producer(消息生产者)、Consumer(消息消费者)和Broker(消息服务器)三大组件。Kafka利用独特的分区机制实现负载均衡,每个Topic可以被划分为多个分区,每个分区可以被复制到多个Broker上,确保数据的高可用性和可靠性。
139 2
|
5月前
|
数据采集 存储 Java
Flume Agent 的内部原理分析:深入探讨 Flume 的架构与实现机制
【8月更文挑战第24天】Apache Flume是一款专为大规模日志数据的收集、聚合及传输而设计的分布式、可靠且高可用系统。本文深入解析Flume Agent的核心机制并提供实际配置与使用示例。Flume Agent由三大组件构成:Source(数据源)、Channel(数据缓存)与Sink(数据目的地)。工作流程包括数据采集、暂存及传输。通过示例配置文件和Java代码片段展示了如何设置这些组件以实现日志数据的有效管理。Flume的强大功能与灵活性使其成为大数据处理及实时数据分析领域的优选工具。
175 1
|
4月前
|
缓存 负载均衡 数据管理
深入探索微服务架构的核心要素与实践策略在当今软件开发领域,微服务架构以其独特的优势和灵活性,已成为众多企业和开发者的首选。本文将深入探讨微服务架构的核心要素,包括服务拆分、通信机制、数据管理等,并结合实际案例分析其在不同场景下的应用策略,旨在为读者提供一套全面、深入的微服务架构实践指南。**
**微服务架构作为软件开发领域的热门话题,正引领着一场技术革新。本文从微服务架构的核心要素出发,详细阐述了服务拆分的原则与方法、通信机制的选择与优化、数据管理的策略与挑战等内容。同时,结合具体案例,分析了微服务架构在不同场景下的应用策略,为读者提供了实用的指导和建议。
|
5月前
|
消息中间件 存储 大数据
大数据-数据仓库-实时数仓架构分析
大数据-数据仓库-实时数仓架构分析
180 1

热门文章

最新文章

下一篇
开通oss服务