黑客帮你打豆浆:九阳智能豆浆机工作流程被破解

发布时间:2015-09-16 阅读量:1600 来源: 发布人:

【导读】HackPWN安全极客狂欢节已落幕,极客们狂欢了,被技术拆解的厂商该担忧了。九阳智能豆浆机是配置WiFi,可链接互联网的豆浆机,用户可以通过APP对豆浆机远程操控。在2015 HackPwn上,黑客们成功破解了此款豆浆机,也就是说黑客也能帮你打豆浆。
黑客帮你打豆浆:九阳智能豆浆机工作流程被破解
0×01分析工作流程

在对豆浆机初步使用和分析之后,我们推测其工作流程如下图所示:

黑客帮你打豆浆:九阳智能豆浆机工作流程被破解
 
当豆浆机和手机不在同一局域网环境内时,豆浆机和云端保持连接,手机通过app向云端发送控制指令,云端收到指令后会向豆浆机发送启动指令。当豆浆机和手机在同一局域网环境内时,手机直接向豆浆机发送指令。

分析攻击点

通过流程分析,发现设备一般处于无线路由器的内网中,想直接发送指令比较困难,而控制云端直接发送指令难度较大,所以要想对设备进行批量劫持,最快速有效的途径就是在移动设备到云端的通信中进行劫持攻击。

0×02漏洞挖掘


将设备和手机连入不同的wifi环境内,在app中点击启动快速豆浆,使用wireshark抓包分析。发现手机给云端发送的数据包并没有加密,通过对数据包尝试重放,发现豆浆机仍然可以启动,表明没有防重放机制。

黑客帮你打豆浆:九阳智能豆浆机工作流程被破解
 
通过分析发现,在远程启动豆浆机的过程中,手机向云端共推送了三个数据包,我们抓取了两台不同豆浆机的控制指令,分析其中的不同以及可能进行劫持的地方。

手机向云端发送的启动两台不同豆浆机的命令的16进制数据包格式如下:

豆浆机一:

bb00000100078bdcbfc30e4d47822cd7086159df8a0037010001eea00030078bdcbfc30e4d47822cd7086159df8a974d13172a5b4e6e9bf8da0c13a7cae900000000000000000000000000000000
cc00000100000b00000100b0000400020000
cc00000100000700000100b20000

豆浆机二:

bb000001001e386b143bcc45738d782eededcf0bcb0027010002ee0000201e386b143bcc45738d782eededcf0bcbb724f10d9b99490a927031b41aac4de100000000000000000000000000000000
cc00000100000b00000100b0000400020000
cc00000100000700000100b20000

通过分析发现,手机向云端发送的用于控制两个设备的数据包仅有两处不同(标红位置),并且是一模一样的32位字符串。那么这个32位的字符串是什么呢?

黑客帮你打豆浆:九阳智能豆浆机工作流程被破解
 
 
通过继续对数据包的搜索分析,发现在手机打开app时有如下的http请求:

在http请求返回包中的did参数中我们找到了这个字符串,根据参数的命名猜测,did这个参数的大意应该是deviceid,也就是设备id的意思。于是我们推测,在启动豆浆机的过程中,九阳没有做有效的身份认证,只需要知道设备的deviceid便可以直接启动豆浆机。

那么我们要如何获取别人的did呢?通过观察http请求时的参数,发现did是根据sessionkey获取的,请求如下:

http://xxx.joyoung.com/ia/appapi/userdev?param={"sessionkey":"bcaaef7a1b554039b741391946xxxxxx","op_action":"query"}

sessionkey是九阳分配给用户的身份认证信息,sessionkey一旦生成是不会改变的,拥有了用户的sessionkey我们不仅可以获取到用户的各种信息,还可以对用户的账户资料、头像等进行更改。

我们继续搜索数据包,发现sessionkey是这样获取的。

黑客帮你打豆浆:九阳智能豆浆机工作流程被破解
 

http://xxx.joyoung.com/ia/appapi/user?param={"op_action":"regTempUser","mob_data":{"mobile_id":"866251020xxxxxx"}}


发现是根据一个叫做mobile_id的参数来获取的sessionkey,那么这个mobile_id又是什么呢?通过逆向apk,我们从源代码中分析出,这个mobile_id其实就是手机的imei串号。

黑客帮你打豆浆:九阳智能豆浆机工作流程被破解
黑客帮你打豆浆:九阳智能豆浆机工作流程被破解
 
总结我们刚才的分析,我们整理出了这样的攻击思路:

通过imei串号获取用户sessionkey→通过sessionkey获取设备id→通过设备id直接控制设备。

0×03漏洞利用


编写一个python脚本遍历获取设备id:

黑客帮你打豆浆:九阳智能豆浆机工作流程被破解
 
经过一段时间后,我们通过遍历获得到了一批did。

黑客帮你打豆浆:九阳智能豆浆机工作流程被破解
 
当我们拿到了这一批设备id之后,可以直接向云端发包来批量启动和控制豆浆机。想想还有点小激动呢~

0×04总结

总结起来,九阳这款豆浆机还是暴露出了诸多当前智能硬件厂商普遍存在的安全问题:

1. 敏感数据在传输中没有进行任何加密,导致黑客可轻易获取控制指令、设备id等明文信息。

2. 对于设备控制没有做有效的身份认证,只是将设备id等单一因素作为身份鉴权标识,导致黑客可以通过伪造、遍历等手段轻易控制其他设备。

3. 云平台上存在传统的web方面的漏洞,导致攻击者可以越权获取到其他用户的设备信息。之前九阳的云平台还曝出过多个sql注入等高风险的web安全漏洞,这也是当前诸多智能硬件厂商普遍存在的安全问题。

智能家居来得突然,市场普遍处于没有准备好的阶段,需要完善的地方也不仅仅是安全问题,不过,我们可以期待它的进一步发展。

推荐阅读:


大数据时代,物联网该如何靠近消费者?

第三代车窗防夹模块设计方案

谷歌高端路由OnHub能成为智能家居的核心吗?

相关资讯
2025全球大尺寸显示器市场趋势解析:技术迭代与竞争格局

根据市场研究机构Omdia最新报告,2025年全球大尺寸(9英寸以上)显示器市场将进入结构性调整阶段:尽管整体出货量增速放缓至2.6%,但技术迭代加速、应用场景深化与区域市场分化成为核心驱动力。与此同时,中国PC显示器市场在电竞、医疗等细分领域的强劲需求推动下,预计实现1.5%的稳健增长。本文基于行业权威数据,深度解析技术、市场与竞争格局的演进逻辑。

200V高压侧驱动技术解析:IXD2012NTR在新能源与储能市场的竞争优势

随着新能源、储能及工业自动化市场的快速发展,高频功率器件对驱动技术的要求日益严苛。2025年5月13日,Littelfuse公司推出全新高压侧/低压侧栅极驱动器IXD2012NTR,以200V耐压、1.9A/2.3A拉灌电流能力及高集成特性,为高频电源应用提供高效解决方案。本文将深入分析其技术优势、国产替代潜力及市场前景,并对比同类产品性能。

三星Galaxy S25 FE处理器方案引关注:供应链与性能的博弈

据科技媒体wccftech 5月12日披露,三星电子正在筹备新一代Galaxy S25 FE智能手机的研发工作。这款定位中端市场的机型原计划搭载自研Exynos 2400e处理器,但最新供应链消息显示,三星正评估联发科天玑9400作为替代方案。此举或反映三星在产能分配与产品定位间的战略调整。

七年连冠!贸泽电子再获Molex亚太区年度大奖,数字化服务赋能全球创

在全球电子元器件分销领域,贸泽电子(Mouser Electronics)再次以卓越表现成为行业焦点。2025年5月13日,该公司宣布连续第七年蝉联Molex颁发的亚太区(APAC)年度电子目录代理商大奖。此次获奖主要基于其在2024年客户增长率、销售业绩、库存管理效率及整体运营能力的综合优势,进一步巩固了其作为全球顶级代理商的市场地位。自2018年起,贸泽便以稳定的增长态势和行业领先的服务标准,持续获得这一殊荣,展现了其对亚太市场的深度理解和战略布局。

高隔离+快响应!VO1401AEF如何破解工业自动化痛点?

2025年5月13日,威世科技(Vishay)发布了两款1 Form A固态继电器VO1401AEF与VOR1003M4,采用表面贴装型SOP-4封装,分别支持550 mA和5 A连续负载电流,负载电压覆盖30 V至60 V,隔离电压达3750 VRMS。这两款产品以非接触式光学技术替代传统机电继电器,解决了振动敏感场景下的可靠性问题,并通过快速响应与低漏电流特性推动工业自动化、医疗器械等领域的效率提升。