Skip to content
Menu
Nameless的摸鱼笔记 Nameless的摸鱼笔记
  • 示例页面
Nameless的摸鱼笔记 Nameless的摸鱼笔记

基于树莓派的蓝牙调试环境搭建

Posted on 2023年3月25日 by Nameless

前言

从nazo✌那里借来一块树莓派,准备在上面搭建一个蓝牙嗅探/扫描环境以供蓝牙的研究

通过SD卡烧录镜像

官方网站:https://www.raspberrypi.com/

下载并使用烧录软件

官网->firmware:然后选择符合你系统型号(windows/linux/mac)的烧录软件

运行起来是这个效果:

镜像版本我选择的是官方的镜像:

按shift+ctrl+x有镜像的一些初始化配置:

烧录完成过后将SD卡插入树莓派然后连上typec供电开机即可:

开机后的操作

上图左边的那根线是micro HDMI线,另一头连接的是一块便携屏,开机过后便携屏上就有画面了:

当然如果没有便携屏的话,也可以在烧录的时候(按ctrl+shift+x)添加ssh和wifi的选项,然后开机后默认会连上你选择的wifi(默认是你电脑连的wifi)

然后进入路由器的管理页面查看树莓派的ip(当然也可以扫一下自己的路由ip),然后就能ssh连上去了:

但是像wireshark这种需要图形化显示的软件,直接ssh没办法做到

这个时候可以使用VNC Viewer等软件进行一个远程桌面的显示

不过可能有延迟,笔者还没有试过,大家如果有需要可以试试看,这里就不赘述

安装蓝牙嗅探的依赖

换源

这里我选择的是中科大源

在中科大的开源镜像站里搜索

点进去按它的教程执行如下指令:

sudo sed -i 's|//archive.raspberrypi.org|//mirrors.ustc.edu.cn/archive.raspberrypi.org|g' /etc/apt/sources.list.d/raspi.list
sudo apt-get update
sudo apt upgrade

(ps:在用sudo之前需要通过sudo passwd root来设定root密码)

按装蓝牙依赖

sudo apt-get install cmake libusb-1.0-0-dev make gcc g++ libbluetooth-dev \
pkg-config libpcap-dev python-numpy python-pyside python-qt4

安装ubertooth one蓝牙嗅探软件

笔者使用的嗅探设备为ubertooth one:

比较好的就是它有配套的软件,并且可以通过wireshark直接抓包

官方文档:https://ubertooth.readthedocs.io/en/latest/index.html

按照”Build guide”、”firmware”、”wireshark”一栏慢慢安装

首先安装libbtbb:

wget https://github.com/greatscottgadgets/libbtbb/archive/2020-12-R1.tar.gz -O libbtbb-2020-12-R1.tar.gz
tar -xf libbtbb-2020-12-R1.tar.gz
cd libbtbb-2020-12-R1
mkdir build
cd build
cmake ..
make
sudo make install
sudo ldconfig

然后安装ubertooth tools:

wget https://github.com/greatscottgadgets/ubertooth/releases/download/2020-12-R1/ubertooth-2020-12-R1.tar.xz
tar -xf ubertooth-2020-12-R1.tar.xz
cd ubertooth-2020-12-R1/host
mkdir build
cd build
cmake ..
make
sudo make install
sudo ldconfig

安装wireshark以及ubertooth插件:

sudo apt-get install wireshark wireshark-dev libwireshark-dev cmake
cd libbtbb-2020-12-R1/wireshark/plugins/btb
mkdir build
cd build
cmake -DCMAKE_INSTALL_LIBDIR=/usr/lib/arm-linux-gnueabihf/wireshark/plugins/ ..
make
sudo make install

安装经典蓝牙插件:

sudo apt-get install wireshark wireshark-dev libwireshark-dev cmake
cd libbtbb-2020-12-R1/wireshark/plugins/btbredr
mkdir build
cd build
cmake -DCMAKE_INSTALL_LIBDIR=/usr/lib/arm-linux-gnueabihf/wireshark/plugins/ ..
make
sudo make install

添加wireshark权限:

sudo groupadd wireshark
sudo chgrp wireshark /usr/bin/dumpcap
sudo chmod 4755 /usr/bin/dumpcap
sudo gpasswd -a 你的用户名 wireshark

嗅探

使用”mkfifo file_name”或者”mknod file_name p”创建管道文件

然后在wireshark里按如下方式点击配置:

然后点击OK->start即可到达一个空白页面

(ps:在browser里可能会出现查找不到/tmp/pipe的情况,直接回车然后OK->start即可)

然后在命令行里输入:

ubertooth-btle -f -c /tmp/pipe

即可看到wireshark里的蓝牙抓包信息:

扫描和连接

嗅探其实是一个帮助我们分析的过程,实际上与一个设备通信的关键是获取通信设备的MAC地址以及与它建立连接

这个过程同时也需要一定的硬件支持,不然可能会出现连不上的问题(参考今年西湖的10cm蓝牙2333)

于是我使用了一个蓝牙适配器,连完过后我的树莓派已经全副武装了hhh:

执行”hciconfig -a”指令:

这个hci1就是我们的蓝牙适配器了

扫描

通过bluetoothctl进行扫描,就能捕获到周围的蓝牙设备:

当然你也可以使用hcitool lescan,不过效果可能没有那么好:

有些设备是会显示设备名的,而有些设备可能就是unknown,这种情况可能就需要你带着你的蓝牙设备去一个偏僻无人的角落进行抓包获取MAC地址了XD

连接

可以通过如下命令与设备建立连接:

gatttool -b MAC地址 -I

通过help我们能看出可以选择的命令

我们比较关心几个东西:

(1)连接/断开:对应着connect和disconnect

(2)发送消息:

char-write-req handle value:将value写到handle句柄

(3)读取消息:

char-read-hhd handle:读取handle句柄中的数值

(4)获取服务和特征值:primary和characteristics

当然命令也不止这几个,但这几个是相对比较常用的,如有其它需求,也可以参考help自行使用

后续工作

做好准备工作过后,我们就正式开始对一个蓝牙设备的攻击研究了

首先需要通过嗅探获取蓝牙报文,然后分析达成特定功能的报文处理的格式

然后通过gatttool连接到设备,发送同样格式的报文即可完成中间人攻击

后续会结合相应的例子具体分析,敬请期待~

参考文章

https://zhuanlan.zhihu.com/p/344447077

发表回复 取消回复

要发表评论,您必须先登录。

近期文章

  • 关于Nokelock蓝牙锁破解分析
  • 基于树莓派的蓝牙调试环境搭建
  • shell之外的往事:机械兔子
  • [Googlectf2022]硬件题weather
  • 嵌入式设备组播路由攻击实战

近期评论

    归档

    • 2023年4月
    • 2023年3月
    • 2023年1月
    • 2022年10月
    • 2022年9月
    • 2022年8月
    • 2022年7月
    • 2022年5月
    • 2022年4月
    • 2022年3月
    • 2022年2月

    分类

    • fuzz
    • hardware
    • Linux
    • oi
    • PWN
    • python
    • shell之外的往事
    • 嵌入式开发
    • 未分类
    • 比赛题解
    • 程序设计实战

    其他操作

    • 登录
    • 条目feed
    • 评论feed
    • WordPress.org

    朋友们

    chuj
    夜魅楠孩
    x1ng
    pankas
    杨宝
    h4kuy4
    大能猫
    t0hka
    hash_hash
    nightu
    yolbby
    JBNRZ
    oacia
    l0tus
    Korey0sh1

    ©2022 Nameless的摸鱼笔记

    蜀ICP备2022004715号

    ©2023 Nameless的摸鱼笔记 | Powered by WordPress & Superb Themes