BlueBunny:基于低功耗蓝牙的Bash bunny命令控制C2框架

关于BlueBunny

BlueBunny是一款功能强大的命令控制框架,该工具基于低功耗蓝牙实现数据通信,可以帮助广大研究人员直接通过蓝牙将控制指令发送给Bash Bunny。

什么是Bash Bunny

Bash Bunny是一款类似于USB Rubber Ducky的多功能USB攻击工具(号称世界上最先进的USB攻击平台)。然而,Bash Bunny则是一个功能齐全的Linux操作系统,与USB Rubber Ducky相比具有更多优势,例如可携带多个高级Payload,模拟设备组合以及执行多种高级攻击。需要将他们的物理攻击提升到一个更高水平的渗透测试人员,应该会非常看重这一点。

工具运行流程&架构

工具安装

由于该工具基于Python开发,因此我们首先需要在本地设备上安装并配置好Python环境。

接下来,广大研究人员可以直接使用下列命令将该项目源码克隆至本地:

git clone https://github.com/90N45-d3v/BlueBunny

cd BlueBunny/C2

依赖组件安装

使用下列命令即可安装该工具所需的依赖组件:

pip install pygatt "pygatt[GATTTOOL]"

然后安装BlueZ,并确保gatttool可用:

sudo apt install bluez

工具使用

下列命令即可启动C2服务器:

sudo python c2-server.py

然后将带有BlueBunny Payload的Bash Bunny插入到目标设备中,Payload路径如下:

BlueBunny/payload.txt

打开Web浏览器,并访问下列地址即可与和你的Bash Bunny连接通信:

http://localhost:1472

通过Python脚本手动与Bash Bunny通信

我们还可以使用BlueBunny的低功耗蓝牙BLE后端手动与你的Bash Bunny通信。

下面给出的是可供参考的Python脚本代码:

# 导入后端脚本(BlueBunny/C2/BunnyLE.py)

import BunnyLE

 

# 定义要发送的数据

data = "QUACK STRING I love my Bash Bunny"

# 定义要发送数据的类型,即“cmd”或“payload”,payload数据将会临时写入一个文件中,类似于执行一个Payload脚本文件中的多条命令

d_type = "cmd"

 

# 初始化BunnyLE

BunnyLE.init()

 

# 连接Bash Bunny

bb = BunnyLE.connect()

 

# 发送并执行数据

BunnyLE.send(bb, data, d_type)

许可证协议

本项目的开发与发布遵循MIT开源许可证协议。

项目地址

BlueBunny:【GitHub传送门】

参考资料

BlueZ ? Download