如何使用BtleJuice黑入BLE智能电灯泡
在这篇文章中,我们将讨论如何使用BtleJuice通过执行中间人(MiTM)攻击来利用一个蓝牙低能耗(BLE)智能灯泡。本文中探讨的技术,也同样适用于其他基于BLE的智能设备。
概述
本文的主要内容包括:
安装BtleJuice;
分析在目标设备上运行的所有截获的GATT操作;
使用GATT操作执行Man-in-the-middle(中间人)攻击;
将数据导出到文件。
以下是一些必须满足的基本硬软件要求:
硬件
基于BLE的物联网智能灯泡
两个蓝牙适配器
软件
Node.js > 4.3.2
虚拟机(VMware/Virtual Box)
BtleJuice
安装 BtleJuice
BtleJuice是执行蓝牙智能设备的中间人攻击(也被称为蓝牙低能量)的完整框架。BtleJuice由两个组件组成 – 拦截代理和核心。这两个组件需要在两个系统上单独运行,每个系统都连接了蓝牙4.0+适配器。我们将使用一台物理机器和另一台运行在同一主机上的虚拟机(VM)。
注意:不是使用两台独立的物理机器。其中一个适配器将连接到主机,另一个适配器连接到VM。下面,我们按照以下步骤在主机和VM上来安装BtleJuice。
Step 1:Btlejuice需要一个相当新版本的node(>=4.3.2) 和npm。你可以按照本指南使用nvm(Node 版本管理器)来进行安装。
Step 2:使用包管理器安装BtleJuice的依赖项:
sudo apt-get install bluetooth bluez pbbluetooth-dev pbudev-dev
Step 3:安装 Btlejuice:
npm install -g btlejuice
设置BtleJuice代理(在VM中)
Step 1:将蓝牙适配器连接到VM并启动蓝牙:
service bluetooth start
Step 2:通过hciconfig命令查看适配器是否已按预期工作:
Step 3:在虚拟机中启动btlejuice-proxy:
Step 4:找到VM的IP地址,以便我们可以从主机连接到它。或在终端中运行ifconfig来获取IP:
设置BtleJuice核心(在主机上)
Step 1:在主机上打开终端并运行hciconfig:
Step 2:运行sudo service bluetooth stop停止蓝牙服务:
Step 3:在主机上插入蓝牙适配器:
Step 4:通过hciconfig命令查看连接到主机的蓝牙适配器是否已按预期工作:
Step 5:通过运行sudo hciconfig hciX up打开蓝牙适配器,其中的X是上一步中获得的蓝牙适配器号:
Step 6:现在我们需要运行BtleJuice核心并连接虚拟机:
sudo btlejuice -u -w
其中u是运行btlejuice-proxy的VM的IP地址,w表示启动Web界面:
与此同时,在VM中运行的btlejuice-proxy将会显示客户端连接的消息:
Step 7:一旦主机上运行的BtleJuice核心成功连接到bltjejuice-proxy,我们打开浏览器并导航至http://localhost:8080/:
Step 8:单击蓝牙图标的 “Select Target”按钮。此时将会出现一个对话框,并显示核心检测到的所有可用蓝牙设备:
在这篇文章中,我们将讨论如何使用BtleJuice通过执行中间人(MiTM)攻击来利用一个蓝牙低能耗(BLE)智能灯泡。本文中探讨的技术,也同样适用于其他基于BLE的智能设备。
概述
本文的主要内容包括:
安装BtleJuice;
分析在目标设备上运行的所有截获的GATT操作;
使用GATT操作执行Man-in-the-middle(中间人)攻击;
将数据导出到文件。
以下是一些必须满足的基本硬软件要求:
硬件
基于BLE的物联网智能灯泡
两个蓝牙适配器
软件
Node.js > 4.3.2
虚拟机(VMware/Virtual Box)
BtleJuice
安装 BtleJuice
BtleJuice是执行蓝牙智能设备的中间人攻击(也被称为蓝牙低能量)的完整框架。BtleJuice由两个组件组成 – 拦截代理和核心。这两个组件需要在两个系统上单独运行,每个系统都连接了蓝牙4.0+适配器。我们将使用一台物理机器和另一台运行在同一主机上的虚拟机(VM)。 copyright 无奈人生
注意:不是使用两台独立的物理机器。其中一个适配器将连接到主机,另一个适配器连接到VM。下面,我们按照以下步骤在主机和VM上来安装BtleJuice。
Step 1:Btlejuice需要一个相当新版本的node(>=4.3.2) 和npm。你可以按照本指南使用nvm(Node 版本管理器)来进行安装。
Step 2:使用包管理器安装BtleJuice的依赖项:
sudo apt-get install bluetooth bluez pbbluetooth-dev pbudev-dev
Step 3:安装 Btlejuice:
npm install -g btlejuice
设置BtleJuice代理(在VM中)
Step 1:将蓝牙适配器连接到VM并启动蓝牙:
service bluetooth start
Step 2:通过hciconfig命令查看适配器是否已按预期工作:
Step 3:在虚拟机中启动btlejuice-proxy:
本文来自无奈人生安全网
Step 4:找到VM的IP地址,以便我们可以从主机连接到它。或在终端中运行ifconfig来获取IP:
设置BtleJuice核心(在主机上)
Step 1:在主机上打开终端并运行hciconfig:
Step 2:运行sudo service bluetooth stop停止蓝牙服务:
Step 3:在主机上插入蓝牙适配器:
Step 4:通过hciconfig命令查看连接到主机的蓝牙适配器是否已按预期工作: www.wnhack.com
Step 5:通过运行sudo hciconfig hciX up打开蓝牙适配器,其中的X是上一步中获得的蓝牙适配器号:
Step 6:现在我们需要运行BtleJuice核心并连接虚拟机:
sudo btlejuice -u -w
其中u是运行btlejuice-proxy的VM的IP地址,w表示启动Web界面:
与此同时,在VM中运行的btlejuice-proxy将会显示客户端连接的消息:
www.wnhack.com
Step 7:一旦主机上运行的BtleJuice核心成功连接到bltjejuice-proxy,我们打开浏览器并导航至http://localhost:8080/:
Step 8:单击蓝牙图标的 “Select Target”按钮。此时将会出现一个对话框,并显示核心检测到的所有可用蓝牙设备: