Digispark
Digispark 是 Digistump LLC ( digistump.com ) 公司众筹的一个基于 ATTINY85 微控制器(Atmel 公司的一款低功耗 8 位单片机)的 USB 开发板,所以我们可以基于Digispark进行BadUSB的开发。
BadUSB
要了解BadUSB,我们就首先需要了解HID,HID是Human Interface Device(人机接口)的缩写,USB、Bluetooth的出现,使HID成为了一种很重要的攻击方式,BadUSB就是其中重要的一种。
开发工具的准备
在安装完Arduino IDE后,打开主界面
从文件->首选项中添加对Digispark开发板的支持
“https://raw.githubusercontent.com/digistump/arduino-boards-index/master/package_digistump_index.json”
然后在工具->开发板中打开开发板管理器,找到Digistump AVR Boards,安装!
下一步,在工具中选中开发板Digispark (Default - 16.5mHz),这时,你就可以开始Coding了!
Coding
使用Arduino编程前,我们需要了解Arduino程序结构,一个Arduino程序分为两部分,一个setup()函数,一个loop()函数。
setup函数是当开发板启动时执行的指令,而loop函数就是在setup函数执行完之后循环执行的函数,当我们插入Digispark后,它会执行一次setup()函数,然后循环执行loop()函数。
现在我们写入我们的代码
#include "DigiKeyboard.h"
void loop() {}
void setup() {
DigiKeyboard.sendKeyStroke(0);
DigiKeyboard.delay(1000);
DigiKeyboard.delay(1000);
DigiKeyboard.sendKeyStroke(KEY_R, MOD_GUI_LEFT);
DigiKeyboard.delay(1000);
DigiKeyboard.print("cmd");
DigiKeyboard.sendKeyStroke(KEY_ENTER);
DigiKeyboard.print("echo hello,world");
}
点击这里验证自己的代码,如果编译成功,就点旁边的小对勾,然后等下面的命令框如下时
插入你的Digispark,如果已经插上了就拔下来重新插上
锵锵,成功。