失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 从零开始学badusb(1)--初识badusb

从零开始学badusb(1)--初识badusb

时间:2019-10-09 20:45:21

相关推荐

从零开始学badusb(1)--初识badusb

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 <Arduino.h>int main(void){init();setup();for (;;) {loop();if (serialEventRun) serialEventRun();}return 0;}

这就是arduino的大框架,分为setup和loop,解释的也很明显,一个是只执行一次,一个是执行很多次,先执行setup里面代码,再执行loop里面的循环

通过一个简单的例子来了解一下大概的命令

#include<Keyboard.h>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<Keyboard.h>

一头一尾可以看到begin和end

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

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

delay(3000);//延时3秒

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

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

以下是对应的键

有些比较熟悉的我就没有注释

KEY_LEFT_CTRLKEY_LEFT_SHIFTKEY_LEFT_ALTKEY_LEFT_GUI//winKEY_RIGHT_CTRLKEY_RIGHT_SHIFTKEY_RIGHT_ALTKEY_RIGHT_GUI//winKEY_UP_ARROW//上KEY_DOWN_ARROW//下KEY_LEFT_ARROW//左KEY_RIGHT_ARROW//右KEY_BACKSPACE//回退键,就是+=号右面那个KEY_TABKEY_RETURN//回车键KEY_ESCKEY_INSERT//ins键,我的笔记本上是和F12在一起KEY_DELETE //del键KEY_PAGE_UP//这个台式机有,我的好像没找到KEY_PAGE_DOWN//我也没找到KEY_HOME//home键KEY_END//end键KEY_CAPS_LOCK/caps键KEY_F1KEY_F2KEY_F3KEY_F4KEY_F5KEY_F6KEY_F7KEY_F8KEY_F9KEY_F10KEY_F11KEY_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就做好了,还挺好玩吧

如果觉得《从零开始学badusb(1)--初识badusb》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。