记录黑客技术中优秀的内容, 传播黑客文化,分享黑客技术精华

如何破解一台智能咖啡机

2016-10-24 14:05

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' Margaritelli

Usage: 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端口的访问完全没有受到任何的限制,而身在同一局域网的人都可以访问你的咖啡机,还有更新咖啡机固件信息时,也不需要身份验证。而在这背后,安全问题实际上才是重要的东西。

*参考来源:securityaffairsevilsocket,饭团君编译,转载请注明来自FreeBuf(FreeBuf.COM)

知识来源: www.freebuf.com/vuls/116627.html

阅读:109407 | 评论:0 | 标签:漏洞 智能咖啡机 物联网 逆向工程

想收藏或者和大家分享这篇好文章→复制链接地址

“如何破解一台智能咖啡机”共有0条留言

发表评论

姓名:

邮箱:

网址:

验证码:

公告

九层之台,起于垒土;黑客之术,始于阅读

推广

工具

标签云