第一部分相关BadUSB介绍转载于:https://security.tencent.com/index.php/blog/msg/74
0×01 制作过程
好的废话咱们不多说了,直接开始吧~我们就是利用Arduino制作TEENSY 。Arduino是让一种叫做单片机的小型可编程电脑尽可能简单地被使用,并且单片机可以让物体获得交互功能。
来看一下我们需要准备的材料吧
Arduino Leonardo //小型单片机模拟USB
Arduino IDE //用于烧录代码的编译器 http://www.arduino.cn/thread-5838-1-1.html
安卓数据线 //用于连接电脑USB
PC一台 //ok我们可以开工了
扩展:追求完美的同学可以考虑 ——超短micro转USB
Arduino Leonardo 单片机我们可以去各大电商平台上去淘,特别是什么货都有的电商平台,相信你绝对能找到的。
我本来已经买好micro转USB了 结果当我拿起他们两个准备啪啪啪的时候~~~~
当场蒙逼,告诉我为什么插不进去~~~~ 算了当作纪念吧 ,所以我先当个炮灰,希望其他小伙伴不要和我一样~~
感兴趣的可以考虑一下这个玩意 名字叫做OTG转接头 我已经再一次交出了我的身体 发现是真的。。。。 可以有!
好~大家先把arduino IDE先装好 安装过程很简单 就是下一步下一步,没什么难度。
打开我们的IDE
以上只是程序给我们搭好的框架,实际代码要我们自己去编写。我们让USB对电脑进行操作主要是想实现自动化键盘操作,所以我们这边就要用到arduino的键盘函数
#include//包含键盘模块的头文件Keyboard.begin(); //开启键盘通信Keyboard.press(); //按下某个键Keyboard.release(); //释放某个键Keyboard.println(); /*输入某些内容 和一些网上的解释不同 网上解释是输入内容并且能回车,而我测试的时候并不能回车 可能和版本有关 不要不要担心有办法回车*/Keyboard.end(); //结束键盘通信
OK,以上就是我们主要使用到的函数。
那好现在我写一些简单代码,然后大家可以感性地知道 代码的含义:
#include//包含键盘模块头文件void setup(); //初始化Keyboard.begin();//开始键盘通信delay(1000);//延时1000毫秒,不要太短,因为每天电脑的运行速度都不一样 Keyboard.press(KEY_CAPS_LOCK); //按下大写键 这里我们最好这样写 不然大多数电脑在中文输入的情况下就会出现问题Keyboard.release(KEY_CAPS_LOCK); //释放大写键delay(500);Keyboard.press(KEY_LEFT_GUI);//按下徽标键 也就是win键 delay(500); Keyboard.press('r');//按下r键 delay(500); Keyboard.release(KEY_LEFT_GUI);//松掉win键 Keyboard.release('r');//松掉r键 delay(500); Keyboard.println("cmd");//输入cmd进入DOSdelay(500); Keyboard.press(KEY_RETURN); //按下回车键Keyboard.release(KEY_RETURN); //释放回车键delay(500); Keyboard.println("echo first test");Keyboard.press(KEY_RETURN); //按下回车键Keyboard.release(KEY_RETURN); //释放回车键delay(500);Keyboard.press(KEY_CAPS_LOCK); //按下大写键Keyboard.release(KEY_CAPS_LOCK); //释放大写键 我们再次关闭开启的大写键delay(500);Keyboard.end();//结束键盘通讯 } void loop()//循环,这里的代码{ //循环体 写入你要循环的代码}
那好现在我们把代码写到IDE里面去。
然后我们要选择正确的开发板和COM口,每台电脑都不一样的。
一切准备就绪我们点击编译,看看程序是否能正常执行。
提示这些说明我们编译成功。
那么我们离成功就是最后一步了——上传。
IDE默认测试硬件,如果你的代码具有破坏系统,数据的风险请在选项中关闭。
可以根据不同的系统编写不同的代码。
如果想在win下download后门可以用powershell或者FTP,不过很多时候powershell会报毒
视频地址:http://v.youku.com/v_show/id_XMjY5NTQwNTc4MA==.html?x