从零开始学badusb(1) 您所在的位置:网站首页 capslock键怎么念 从零开始学badusb(1)

从零开始学badusb(1)

2023-11-28 17:24| 来源: 网络整理| 查看: 265

BadUSB是利用伪造HID设备执行攻击载荷的一种攻击方式。HID设备通常指的就是键盘鼠标等与人交互的设备,用户插入BadUSB,就会自动执行预置在固件中的恶意代码。 ​ Bad-Usb插入后,会模拟键盘鼠标对电脑进行操作,通过这些操作打开电脑的命令终端,并执行一条命令,这条命令将从指定网址下载其他代码并于后台静默运行。这些代码功能包括:窃取信息、反弹shell、发送邮件等,从而实现控制目标机或者窃取信息的目的。

为什么要学习badusb 怎么说呢,听网上的大佬们讲。。。badusb可以绕过杀毒什么的,反正很厉害…社工利器,想想你在夜黑风高的夜晚,去插别人的机子,插谁谁怀孕.

环境搭建 arduino 提取码:48bu 然后还需要我们去某宝买一个回来,输入badusb就可以找到很多卖家,买一个跟普通usb差不多的,可以以假乱真,不懂的人以为是个usb呢

然后进入arduino需要配置一下 工具->编译器选择USBasp 插上我们的usb 工具->端口选择插入的usb名字,我的叫arduino micro 然后再在 工具->开发板,选择我们对应的usb

打开arduino,新建一个项目,会看到如下代码

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

光看这个可能理解的不够彻底,可以看看arduino的主函数

#include int main(void) { init(); setup(); for (;;) { loop(); if (serialEventRun) serialEventRun(); } return 0; }

这就是arduino的大框架,分为setup和loop,解释的也很明显,一个是只执行一次,一个是执行很多次,先执行setup里面代码,再执行loop里面的循环 通过一个简单的例子来了解一下大概的命令

#include void setup() { Keyboard.begin(); delay(3000); Keyboard.press(KEY_LEFT_GUI); delay(200); Keyboard.print("r"); delay(200); Keyboard.release(KEY_LEFT_GUI); Keyboard.press(KEY_CAPS_LOCK); Keyboard.release(KEY_CAPS_LOCK); delay(200); Keyboard.println("NOTEPAD"); delay(500); Keyboard.println("hacked!!!"); Keyboard.end(); } void loop() { }

这个例子比较简单,没有loop所以只执行一次

一上来先引用键盘通讯事件的头

#include

一头一尾可以看到begin和end

Keyboard.begin();//键盘事件开始 Keyboard.end(); //键盘事件结束,在此期间的键盘操作才是有效的

接下来是一个延时操作,因为有时候由于系统的原因可能出现卡顿,如果操作后没有停顿可能造成执行错误,所以推荐延时使用,延时的基本单位是毫秒,这里的3000毫秒就是3秒

delay(3000);//延时3秒

接下来是一个press命令,该命令作用是按下一个建并且持续按住,一直按倒结束命令为止,而key_leaf_gui就是键盘上的左边的start键,也就是win键

Keyboard.press(KEY_LEFT_GUI);//按下一个键并持续按住

以下是对应的键 有些比较熟悉的我就没有注释

KEY_LEFT_CTRL KEY_LEFT_SHIFT KEY_LEFT_ALT KEY_LEFT_GUI//win KEY_RIGHT_CTRL KEY_RIGHT_SHIFT KEY_RIGHT_ALT KEY_RIGHT_GUI//win KEY_UP_ARROW//上 KEY_DOWN_ARROW//下 KEY_LEFT_ARROW//左 KEY_RIGHT_ARROW//右 KEY_BACKSPACE//回退键,就是+=号右面那个 KEY_TAB KEY_RETURN//回车键 KEY_ESC KEY_INSERT//ins键,我的笔记本上是和F12在一起 KEY_DELETE //del键 KEY_PAGE_UP//这个台式机有,我的好像没找到 KEY_PAGE_DOWN//我也没找到 KEY_HOME//home键 KEY_END//end键 KEY_CAPS_LOCK/caps键 KEY_F1 KEY_F2 KEY_F3 KEY_F4 KEY_F5 KEY_F6 KEY_F7 KEY_F8 KEY_F9 KEY_F10 KEY_F11 KEY_F12

大家可以看到,这里面有很多键,但没有看到数字和字母键,那如果我们想要按数字或字母怎么办

Keyboard.print("r");

这个操作本来是输出一个r出来。但在这里我们和之前的key_leaf_gui合在一起就变成了调出“运行”这个命令,因为上一步的按键是持续的,所以有这个效果

当然我们键也不能按时间长了,也需要释放所以就对应着这个命令,释放某个键

Keyboard.release(KEY_LEFT_GUI);

接下来这个操作不知道大家可以理解吗,按住key_caps_lock,就是切换大小写,因为如果此时目标电脑是中文输入模式,那么之后我们的输入可能会因为中文输入的原因产生问题,所以及时切换为大写就可以解决这个问题了,而windows系统不区分大小写

Keyboard.press(KEY_CAPS_LOCK); Keyboard.release(KEY_CAPS_LOCK);

这个跟刚才的print有些不一样,这个输出完了以后还顺便输出回车,这个效果就是在运行里面输入NOTEPAD在回车,不就是开始运行记事本了吗

Keyboard.println("NOTEPAD");

进入记事本输出一个傻傻的话哈哈

Keyboard.println("hacked!!!");

代码写完了,点一下小勾,是编译的效果,没有错误的话就可以点击→,上传到我们的usb ,上传成功以后这个usb就会自动运行… 因为我在打字,所以没有运行成功,有我人为的干扰 重插一次

在这里插入图片描述 一个善良的badusb就做好了,还挺好玩吧



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有