硬件安全系列——M5Stack Hacking

阅读量    27992 |

分享到: QQ空间 新浪微博 微信 QQ facebook twitter

 

0x00 M5Stack探索

大家好, 我是来自银基Tiger-Team的 KEVIN2600. 今天想跟大家介绍一款可用于安全研究的硬件 M5Stack. 它的创造者是来自中国的Jimmy Lai. 其总部位于硬件黑客天堂之称的深圳华强北. 严格意义上来说 M5 并不是为安全研究设计的, 而是像大多数同类产品如 Arduino 或树莓派一样, 是一款可扩展的微控制模块系列产品, 其设计初衷是为了让硬件开发者或创客们可以直接开发出完成度很高的产品.

其核心为 ESP32(240 MHz 双核 Tensilica LX6 处理器, 运算能力高达 600 DMIPS. 具备 Wi-Fi/BLE 功能, 内部集成了 2.0 寸 LCD、1W 扬声器、TF 读卡器、Grove 接口、高性能的 3D 天线, 底部模块集成 150 mah 锂电池等.

通过模块组合M5可实现各种功能, 不同模块之间可以像乐高积木一样层叠拼插,拼接之后的模块可以组成一个完整而牢固的整体. M5的模块家族大量实现具体功能的传感器、通信、驱动、扩展等模块.

M5Stack目前在海内外已经拥有了一大批粉丝. 他们通过多元化的模块做出来一个又一个有趣的应用.

比如在家可用作烟雾报警器, 做出很多机器人应用. 甚至还能用于工业控制、酒店面板、铝合金切割机、门锁系统等.

 

0x01 M5Stack — Hello World

Arduino IDE是创客们较为熟悉的编程平台之一. M5Stack也同样支持使用, 只需要简单的几行代码就可以做出酷炫的效果.

同时M5最大的亮点是将编程过程图形化. 这样的好处在于界面友好, 且易于理解. M5结合其模块化硬件, 设计了图形化编程软件UIFlow, 它是一个采用Blockly+Python的WebIDE. 用户可以直接用十分直观的方式编写程序.

 

0x02 M5Stack Hacking (WIFI-SSID-Scanner)

现在让我们开始了解 M5 在Hacking中的实战案例吧. 先看个由日本黑客 EI Kentaro 发布的WIFI SSID扫描应用. 据EI本尊的解释, 他是一个Old School 黑客. 平时喜欢收集各地的无线WIFI信息, 比如AP的MAC地址, SSID, 是否Captive Portal等. 但每次都需要打开电脑的话实在不方便, 而 M5 的出现完美解决这问题. 因为 M5 自带显示屏, 形状小巧玲珑. 使用的是乐欣ESP32 让开发 WIFI Scanner 变得非常容易.

经测试个人认为这是个非常适合, 红队物理侦查使用的应用. 在物理侦查安全等级较高的目标时, 通常会遇到门卫检查, 而检查的重点会是笔记本电脑或是手机之类明显的设备. 这类设备是不允许带入公司内部的. 而M5非常小巧很容易混过门卫的检查, 从而打入目标内部.

 

0x03 M5Stack Hacking (WPA-HASH-Monster)

当然仅仅查看 WIFI 信息没啥新奇. 我们再来了解这款由 G4lile0 从 Pwnagotchi 项目延伸而来, WIFI-EAPOL自动抓包应用 WIFI-HASH-Monster.

传统的 WIFI 客户端跟 AP 连接时如果使用 WPA2/PSK, 在交互过程中会交换 4 EAPOL Messages. 也就是所谓的4项握手. 而 WIFI-Hash-Monster 就是用来自动捕获4项握手包. 并存在SD 卡中以供线下破解.

不过捕捉 EAPOL 数据包的方法, 必须满足有客户端跟 AP 连接交互的条件. 所以除此之外 WIFI-Monster 还添加了自动捕捉 PMKID 数据包的功能.

这是2018年由Hashcat的作者发现的一种新型攻击方法. 与现有攻击的主要区别在于此攻击不需要捕获完整的EAPOL 4 向握手. 攻击者和客户端之间没有任何交互, 当有客户端进行连接时, 许多WIFI路由器会在AP自身发送的第一个EAPOL帧的末尾附加一个可选字段, 其中包括 RSN – PMKID数据包. 由于PMK名称字符串是不变的,同时我们知道AP和客户端的MAC, 所以我们也就掌握了破解 PSK 的所需信息.

 

0x04 M5Stack Hacking (PIN2Cracker)

最后我们简单介绍下通过M5进行物理密码爆破的案例吧. 首先要感谢 M5 的创始人Jimmy Lai, 在整个研究过程中所提供的帮助. PIN2Crack是银基安全的小伙伴在特斯拉Pin2Drive的研究测试中, 用来爆破PIN2Drive的一个方法.

那么啥是 PIN2DRIVE 呢. 特斯拉的官方解释, PIN2DRIVE 用来限制汽车被盗的一种手段. 类似我们的手机 PIN 密码. 不过很有意思的是这组 PIN 只有4位纯数字,且重点是并没有防爆破功能. 这简直让人不可思议. 于是我们立刻想到了可以通过 M5+电容屏感应键, 来做一个针对屏幕 PIN 的爆破设备. 这里我们把它取名为 PIN2Crack. 如下图跑起来的效果还是很酷炫哦.

 

0x05参考文献

https://flow.m5stack.com/

https://hashcat.net/cap2hccapx/

https://github.com/m5stack/M5Stack

https://m5stack.com/pages/download

https://github.com/G4lile0/ESP32-WiFi-Hash-Monster

https://github.com/elkentaro/M5_SSID_scanner_collector

分享到: QQ空间 新浪微博 微信 QQ facebook twitter
|推荐阅读
|发表评论
|评论列表
加载更多