MENU

HID攻击入门 -- 利用 Arduino 制作 Teensy ++ 2.0 BadUSB

基础知识介绍

  • BadUSB :盗取你的信息、破坏你的电脑,反正就是很坏就对了;
  • HID:Human Interface Devices 人机交互设备,比如键盘、鼠标就是HID
  • 用HID攻击有什么好处: 可以伪装成外设躲避杀毒软件的查杀,并可以提前制作好,实现自动化操作
  • Teensy++ 2.0:一个非常小而且功能完整的单片机开发系统
  • Arduino:一款便捷灵活、方便上手的开源电子原型平台(让你写插入USB后执行的操作代码的)

材料准备

一块Teensy ++ 2.0板子:

淘宝搜索teensy,注意买有++2.0字样的,我买的时候32.1RMB

  • 好像有更好的板子,为什么不买橡皮鸭(rubber ducky)、或者teensy 3.6 之类的:因为穷 入门当然是从便宜的开始啦

实物拍摄:

arduino

下载地址:https://www.arduino.cc/en/Main/Software?setlang=cn

我这里下载的是Windows的zip版:

解压到了D盘,重命名为arduino,打开arduino.exe,初始状态是一个空模板:

void setup() {
  // put your setup code here, to run once:

}

void loop() {
  // put your main code here, to run repeatedly:

}

这两个函数在后面写所有的程序都要加上,即使其中一个函数的内容为空,我们先看一下工具栏:

Teensyduino插件

不安装不支持teensy开发板,下载地址:http://www.pjrc.com/teensy/td_download.html

下载之后安装,下一步下一步,到选择目录这里,选择之前arduino的目录,我放在了D:arduino:

下一步直接next:

然后install即可,我们安装之后再来查看工具栏:

此时已经支持Teensy开发板了,还多了USB Type等几个选项,我们选择开发板为我们的Teensy+= 2.0

选择端口为仅有的那个端口:

然后点击取得开发板信息:

后面的程序编译之前你都要看一眼是不是这样的配置:

Adruino基本语法及函数介绍

常用键盘函数:

#include //包含键盘模块的头文件

Keyboard.begin(); //开启键盘通信

Keyboard.press(); //按下某个键

Keyboard.release();//释放某个键

Keyboard.println(); //输入字符

Keyboard.end(); //结束键盘通信

press之后一定要release

常用语句:

delay(500);//延时500ms

Keyboard.press(KEY_CAPS_LOCK);//按下大写键

Keyboard.press(KEY_LEFT_GUI);//按下左边win键

Keyboard.press(KEY_RETURN);//回车

第一个程序

第一个程序当然是Hello World!

插上Teensy,打开arduino,养成好习惯,ctrl+s保存在桌面,就叫做demo吧,然后写入以下代码:

void setup() {
  delay(500);
  Keyboard.begin();
  delay(1000);
  Keyboard.press(KEY_LEFT_GUI);
  delay(500);
  Keyboard.press('r');
  delay(500);
  Keyboard.release(KEY_LEFT_GUI);
  Keyboard.release('r');
  delay(500);
  Keyboard.println("cmd");
  Keyboard.press(KEY_RETURN);
  Keyboard.release(KEY_RETURN);
  delay(500);
  Keyboard.print("you are hacked by soapffz");
  delay(500);
}
void loop() {}

确认工具栏里面都像上面一样设置好之后,点击左上角的勾勾,编译完成后会在下面提示编译成功并输出存储空间等信息,并弹出一个teensy默认调试程序:

我们不用跳出来的这个小程序,点击勾勾旁边的右箭头,将程序上传到开发板中,上传成功后开发板会自动重连,输出你提前设计好的效果:

播放器载入中...

最后编辑于: 2019 年 07 月 25 日