📜  如何在家制作USB Rubber Ducky?(1)

📅  最后修改于: 2023-12-03 15:24:37.912000             🧑  作者: Mango

如何在家制作USB Rubber Ducky?

USB Rubber Ducky是一种能够自动化执行打字攻击的设备。在许多情况下,它被用来执行恶意操作,比如窃取敏感信息、传播病毒等。但是,在正确的条件下,它也可以用来执行非恶意操作,比如执行快捷键、演示示范等。

无论你的目的是什么,制作一个USB Rubber Ducky肯定是很有用的。在这篇文章中,我们会向大家介绍如何在家制作一个USB Rubber Ducky。

准备工作

制作一个USB Rubber Ducky需要以下工具和材料:

  • Arduino Leonardo或者Arduino Micro开发板。
  • USB类型A到micro USB类型B的数据线。
  • USB大头插头(如网线插头)。
  • 短路压纸夹和电绝缘胶带。
  • PVC管和PVC胶水。
  • 一些工具,比如松香焊锡、热熔胶枪、万用表等。

准备好以上工具和材料后,我们可以开始制作USB Rubber Ducky。

制作过程
步骤1:将Arduino设为HID设备

首先,我们需要将Arduino设为一个HID设备。为了实现这个功能,我们需要安装HID模拟器库。在Arduino IDE中,打开菜单“工具” -> “管理库”,查找并安装“HID-Project”。

安装完成后,在Arduino IDE中打开代码文件“KeyboardWithLeds.ino”。该代码文件可以在HID项目的Github页面上找到。在打开代码文件后,将Arduino板连接到电脑上,选择“Arduino Leonardo”或“Arduino Micro”开发板和正确的串口号和上传代码到开发板。

#include <Keyboard.h>

void setup() {
  // make pin 2 an input and turn on the
  // pullup resistor so it goes high unless
  // connected to ground:
  pinMode(2, INPUT_PULLUP);
}

void loop() {
  //if the button is pressed
  if (digitalRead(2) == LOW) {
    //Send the letter 'a' followed by a newline
    Keyboard.print("a");
    delay(1000);
  }
}
步骤2:编写Payload

编写Payload是制作USB Rubber Ducky最有趣的部分。Payload是一个脚本,可以控制计算机执行各种操作。我们可以根据自己的需要编写自己的Payload。

以下是一个示例Payload。该Payload会打开计算机上的记事本程序,然后输入文本“Hello World”。

DELAY 3000
GUI r
DELAY 500
STRING notepad
DELAY 500
ENTER
DELAY 500
STRING Hello World!

在这个例子中,DELAY指令可以让USB Rubber Ducky在执行其他操作之前等待一段指定的时间。GUI指令相当于在按下Windows键,然后按下字母“r”。STRING指令可以在键盘上键入文本。ENTER指令可以按下Enter键。

步骤3:将Payload转换为Arduino代码

接下来,我们需要将Payload脚本转换为Arduino代码。

在使用Payload的同时,我们还需要用一个特殊的软件将其转换为Arduino代码。这个软件的名字叫做Duck Encoder(https://ducktoolkit.com/),它是一个简单的命令行工具,可以将Payload脚本转换为Arduino代码。

首先,打开Duck Encoder,然后将Payload脚本复制到Duck Encoder的窗口中。然后,选择“Arduino”选项卡,按照提示输入一些信息,比如Arduino板的型号和串口号。

在完成以上步骤后,Duck Encoder会生成一个Arduino代码文件。将该文件保存到电脑上的文件夹中。

步骤4:连接硬件和软件

现在,我们需要将硬件和软件连接起来。

将开发板连接到计算机上,并将PVC管用PVC胶水固定在开发板上。然后将USB大头插头接到空管的一端,并将开发板的micro USB口接到另一端。在固定USB大头插头时,需要留下两个小红色线剪掉一个。

在连接硬件后,我们可以开始将生成的Arduino代码上传到开发板上。

在Arduino IDE中,打开Payload生成的代码文件。然后,选择正确的开发板和串口号,点击“上传”按钮。如果一切正常,Arduino IDE会将代码上传到开发板上。

在上传完毕后,我们可以将USB Rubber Ducky插入到目标计算机上,并等待它执行我们的Payload脚本。

结论

现在,您已经知道了如何在家制作USB Rubber Ducky。虽然这样做不是很容易,但是完成它会让您感到非常的成就感。重要的是要谨慎使用您的USB Rubber Ducky,并确保您没有违反任何法律或道德准则。