python3扫描周围蓝牙设备_bluescan:一个强大的蓝牙扫描器
Sourcell Xu@海特实验室
bluescan 是一个由安恒信息 海特实验室安全研究员维护的一个开源项目
先前的蓝牙扫描工具都是零零散散,而且年久失修对吗?于是我们有了这个基于现代 Python 3 开发的强大蓝牙扫描器 —— bluescan。
在测试新的蓝牙目标时,该扫描器可以帮助我们做好情报收集工作,比如:
BR 设备扫描
LE 设备扫描
SDP 服务扫描
LMP 特性扫描
GATT 服务扫描
漏洞扫描 (demo)
依赖
bluescan 在底层基于 Linux 官方的 BlueZ 蓝牙协议栈。如下依赖的包需要被安装:
sudo apt install libglib2.0-dev libbluetooth-dev
当在 Linux 虚拟机中使用该工具时,建议让虚拟机独占一个搭载博通或 CSR 芯片的 USB 蓝牙适配器,比如
如果你想尝试下漏洞扫描 (demo),请参考
的 README.md 来解决依赖问题。
安装
最新的 bluescan 会被上传到 PyPI 上,因此执行如下命令即可安装 bluescan:
sudo pip3 install bluescan
功能和使用方法
$ bluescan -h
bluescan v0.1.1
A powerful Bluetooth scanner.
Author:SourcellXufrom DBAPP SecurityHatLab.
License: GPL-3.0
Usage:
bluescan (-h |--help)
bluescan (-v |--version)
bluescan [-i ]-m br [--inquiry-len=]
bluescan [-i ]-m lmp BD_ADDR
bluescan [-i ]-m sdp BD_ADDR
bluescan [-i ]-m le [--timeout=][--le-scan-type=][--sort=]
bluescan [-i ]-m gatt [--include-descriptor]--addr-type= BD_ADDR
bluescan [-i ]-m vuln --addr-type=br BD_ADDR
Arguments:
BD_ADDR TargetBluetooth device address
Options:
-h,--help Displaythis help
-v,--version Show the version
-i HCI device for scan [default: hci0]
-m Scan mode, support BR, LE, LMP, SDP, GATT and vuln
--inquiry-len=Inquiry_Length parameter of HCI_Inquiry command [default:8]
--timeout=Duration of LE scan [default:10]
--le-scan-type=Activeor passive scan for LE scan [default: active]
--sort=Sort the discovered devices by key, only support RSSI now [default: rssi]
--include-descriptor Fetch descriptor information
--addr-type=Public, random or BR
BR 设备扫描 -m br
经典蓝牙设备可能使用三种技术:BR (Basic Rate)、EDR (Enhanced Data Rate) 以及 AMP (Alternate MAC/PHY)。由于它们都属于 Basic Rate system,因此在扫描这些设备时统称为 BR 设备扫描:
如上图,通过 BR 设备扫描,我们可以拿到周围经典蓝牙设备的地址、名称、类型以及 RSSI。
LE 设备扫描 -m le
蓝牙除了 Basic Rate system 就是 Low Energy (LE) system 了。当扫描周围的低功耗蓝牙设备时,称为 LE 设备扫描:
如上图,通过 LE 扫描,我们可以拿到周围低功耗蓝牙设备的地址、地址类型、连接状态、RSSI 以及 GAP 数据。
SDP 服务扫描 -m sdp
经典蓝牙设备通过 SDP 告诉外界自己开放的服务。通过 SDP 扫描,我们可以拿到指定经典蓝牙设备的 service record:
之后可以尝试连接这些 service,做进一步的安全测试。
LMP 特性扫描 -m lmp
探测经典蓝牙设备的 LMP 特性,可以让我们判断目标设备底层的安全特性:
GATT 服务扫描 -m gatt
低功耗蓝牙设备通过 GATT 告诉外界自己开放的服务。通过 GATT 扫描,我们可以拿到指定低功耗蓝牙设备的 GATT 数据。之后可以尝试读写这些 GATT 数据,做进一步的安全测试:
漏洞扫描 -m vul (demo)
漏洞扫描还处于 demo 阶段,目前仅支持 CVE-2017-0785:
$ sudo bluescan -m vuln --addr-type=br ??:??:??:??:??:??
......
CVE-2017-0785
python3扫描周围蓝牙设备_bluescan:一个强大的蓝牙扫描器相关推荐
- 增强 扫描王 源码_BlueScan:一款功能强大的蓝牙扫描器
BlueScan BlueScan是一款功能强大的蓝牙扫描器,广大研究人员可以使用BlueScan来扫描BR/LE设备.LMP.SDP.GATT以及相关的蓝牙漏洞. 考虑到目前社区中针对蓝牙安全方面的 ...
- 又一个强大的PHP5.3依赖注入容器
简单的服务容器 一个简单的 php 5.3 依赖注入容器. 项目地址:https://github.com/godruoyi/easy-container Why 目前比较流行的 PHP 容器: Pi ...
- kint 一个强大的php调试助手
2019独角兽企业重金招聘Python工程师标准>>> 一个强大的php调试助手 Kint for PHP是一个旨在尽可能最好的方式呈现你的数据完全调试工具. 换句话说,它是对史函数 ...
- 一个强大的粘性标签库
RecyclerView粘性标签库 (请关注新写的一个更优秀的方案StickyItemDecoration) 一个强大的粘性标签库,实现思路来源于「pinned-section-item-decora ...
- ffmpeg sdk java_推荐一个强大的音视频处理的开源项目!
原标题:推荐一个强大的音视频处理的开源项目! 1.前景提要 在我们的开发中,经常会用到音视频相关内容,一般我们都会选择FFmpeg,但是其交叉编译对于我们来说是一件很麻烦的事情.所以这里方便日后使用就 ...
- XBug:一个强大的JavaScript调试器
JavaScript的调试工作对于web开发者们来说一直是个很头疼的问题,特别是针对IE浏览器.在FF下有强大的Firebug工具,但我们的大多数开发却都是针对IE的,在JS里IE和FF又有很多并不相 ...
- 虚幻引擎4简介,UE4简介--这是一个强大的游戏开发引擎
虚幻引擎4简介 这是一个强大的游戏开发引擎 虚幻引擎(Unreal Engine /UE)是EpicGames公司打造的游戏引擎,而UE4则其第四个大版本.虽然目前UE 5已经发布,但是仅仅是发布,U ...
- 一个强大而简单的 Python Web框架:web.py
From:https://www.oschina.net/question/5189_4306 Web.py github 地址:https://github.com/webpy/webpy ...
- Heatmap.js 一个强大简易的web动态热图
Heatmap.js 一个强大简易的web动态热图 最近在做热力图效果,背景图上绘制热力图,最开始使用的事Echarts,但是Echarts绘制是基于map,还其他一些第三方的库也很多基于map,还要 ...
最新文章
- [NOIP1998] 提高组 洛谷P1011 车站
- 【Java】6.7 内部类
- srwebsocket 服务器过段时间会关闭_Minecraft 开启服务器后必须做的一些事情
- Weblogic数据池测试出错
- activiti 多租户_Activiti中具有独立数据库架构的多租户
- python遍历树结构_python 数据结构与算法——树的遍历
- Container 布局容器
- ROS笔记(18) Gazebo仿真
- 【英语学习】【Level 07】U07 Stories of my Life L2 I actually did it!
- iphone手机删除的照片怎么恢复
- 江苏计算机一级考试知识点,江苏计算机考试一级题型(江苏省计算机一级考试题型)...
- 《还珠格格》《大宅门》取景地将被拍卖:3.6亿起拍
- 下载windows 聚焦锁屏的图片
- C/C++,定时关机代码和取消定时关机(应用范畴)
- 数据库-订单发票表(单表)
- 前端学习第三章——a标签(超链接)
- Sawyer_Physics_Simulator_Guidelines
- java 文件去除扩展名_Java操作——获取文件扩展名,去掉文件扩展名
- delphi7 获取计算机名,Delphi中根据IP地址得到主机名
- 蒙文网页竖排及显示错误等问题。