如何破解一台智能咖啡机

释放双眼,带上耳机,听听看~!
随着物理网的普及,其安全性尤其重要,近日有国外黑客破解一台智能咖啡机,下面就一起来看一下吧。故事起因最近一名意大利黑客SimoneMargaritelli破解了一台智能咖啡机,Simone是一名移动安全研究员,同时从事高级汇编、C、C++语言开发软件工作,并在Zimperium公司

30.jpg

随着物理网的普及,其安全性尤其重要,近日有国外黑客破解一台智能咖啡机,下面就一起来看一下吧。

故事起因

最近一名意大利黑客Simone Margaritelli破解了一台智能咖啡机,Simone是一名移动安全研究员,同时从事高级汇编、C、C++语言开发软件工作,并在Zimperium公司任职,曾开发一款软件工具bettercap,利用这款工具可完成中间人攻击测试。平时Simone很喜欢喝咖啡,于是在几天前他购买了一款咖啡机,并可通过APP来控制咖啡机。于是他就尝试利用逆向工程来控制咖啡机,并达成自己的目的。这款咖啡机使用者可以利用家庭的无线网络,然后使用手机上APP,来冲调咖啡,但Simone平时的工作都是在电脑上完成的,于是他考虑是不是可以在电脑上直接利用终端输入命令,来控制这台智能咖啡机。于是他开始从Android应用程序的通讯协议入手来开始逆向之旅。

28.jpg

首先从网上下载APK安装包,然后打开反编译工具Jadx,然后在CTAGS(代码阅读工具)的帮助下开始对输出的源代码进行分析,当然也可以利用VIM(文本编辑器)查看源码。几个小时后,在源码里面发现了很有趣的几个部分(am.smarter.smarterandroid.models.a clas(类)),在这里面又有几个地方引起我的注意。

29.jpg

破解经过

这些数据包会发送到咖啡机TCP端口2081,当然通讯协议也很简单:第一个字节,命令数,第二个字节至N、可选数据,同时取决于命令代码,最后一个字节,固定为0x7e,代表最后发送的数据包。根据指令的不同回应的信息也不会相同,但对于大多数指令,响应信息如下:

第一个字节:响应信息情况

第二个字节:状态码(0-成功,其余为错误代码)

最后一个字节:如上为0x7e

这个控制命令可以让咖啡保温五分钟,如下:

指令:0x3e 0×05 0x7e

响应信息:0×03 0×00 0x7e

为了验证指令对于咖啡机工作确实有效,再此专门制作一个视频如下:

如果你感兴趣,在这里我分享了源码(点击我),在第一次使用时,需要固定本机的IP地址,而你的配置信息将会保存在~/.smartercoffee目录下,当你以后再次测试时就不需要这么做了。

coffee make -A 192.168.1.50

下面就是一些简单的指令:

冲一杯咖啡

coffee make

冲两杯咖啡,并且使用内置过滤器过滤掉研磨机中的咖啡渣滓

coffee make --filter

保温十分钟

coffee warm --keep-warm=10

完整参数信息

☕ ☕ ☕ SmarterCoffee Client ☕ ☕ ☕

by Simone ‘evilsocket’ MargaritelliUsage: coffee [options] (make|warm)

Options:

-h, –help            帮助

-A ADDRESS, –address=ADDRESS

 

-M, –make            冲调

-W, –warm            保温

-C CUPS, –cups=CUPS  设置冲调咖啡杯数

-S STRENGTH, –strength=STRENGTH

设置咖啡浓度

-G, –grind           研磨

-F, –filter          过滤

-K TIME, –keep-warm=TIME  设置咖啡保温时间

在使用中发现,需要注册一个账户,但后来发现这个仅仅被用来做数据统计,而且2081端口的访问完全没有受到任何的限制,而身在同一局域网的人都可以访问你的咖啡机,还有更新咖啡机固件信息时,也不需要身份验证。而在这背后,安全问题实际上才是重要的东西。

给TA买糖
共{{data.count}}人
人已赞赏
HackerNews

印度的银行担心安全漏洞影响泄露多达325万条借记卡信息

2016-10-23 1:23:35

HackerNews

日本核研究实验室的研究数据和用户信息遭黑客窃取

2016-10-23 1:37:04

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索