使用Arduino UNO进行计算机入侵实验

本文详细介绍了如何修改Arduino UNO的固件,使其被电脑识别为HID键盘,从而自动执行预载命令。文章涉及硬件改造、固件刷写及潜在网络安全风险,为物联网安全提供了实践视角。

使用Arduino UNO进行计算机入侵实验

今天我要向大家解释我完成的另一个很酷的实验。你们有没有想过用Arduino进行计算机入侵?是的,这是可能的。

很多人会将Arduino与Raspberry Pi混淆。Arduino板和Raspberry Pi之间有很多区别。Arduino是微控制器主板,而Raspberry Pi是通用计算机。这意味着Arduino一次只能运行一个程序,而Raspberry Pi通常运行操作系统,因此可以运行多个应用程序。我认为这足以解释Arduino和Raspberry Pi之间的区别。

这是我的Arduino UNO (ATmega16U2)

在这个实验中,我使用了一块Arduino UNO板,因为目前我只有这块板。我的最终目标是,通过USB线缆将Arduino板上预载的一些命令发送到我的计算机。默认情况下,这块Arduino UNO板不支持此类活动,因此我必须进行一些修改才能完成这项工作。

我的第一个问题是计算机没有将Arduino UNO板检测为输入设备。因此,我必须更改Arduino UNO板中的固件,使其被识别为HID键盘。

然后出现了第二个问题。当Arduino UNO板被检测为HID键盘时,我无法向Arduino UNO板上传代码。此时我的Arduino软件没有将Arduino UNO板识别为Arduino板。所以,我不得不再次刷回原始(USB串行)固件并上传代码。之后,我又刷回了HID固件。

这次我成功了。我通过USB线缆将Arduino UNO板插入计算机,它会自动执行命令。我知道你们大多数人都想在家里尝试这个,所以我决定给你们留一些相关的链接,但要注意,因为我们在这里要刷写固件,所以会存在一些风险。

如何更新Arduino板中的固件 - https://www.arduino.cc/en/Hacking/DFUProgramming8U2

键盘和USB串行固件 - https://github.com/clasiru/Arduino_UNO_HID_Keyboard

Arduino UNO HID键盘库 - https://github.com/clasiru/UNO-HIDKeyboard-Library

所以,现在你可以理解Arduino或物联网设备对网络安全的潜在影响。另一方面,这对于你与物联网相关的项目会很有用,值得一试。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计