借PolarIOTS一道困难挑战题简单入门蓝牙流量分析

admin 2026-05-03 04:55:40 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文以一道IoT挑战题为切入点,系统介绍了蓝牙BLE流量分析的基础知识。文章详细解析了蓝牙通信流程、协议结构、HCI与空口抓包方法,并提供了Wireshark过滤技巧和实战分析要点。重点阐述了广播包与连接数据包的特征分析,以及ATT层操作码的解读方法,为物联网安全研究提供了可操作的蓝牙流量分析指南。 综合评分: 85 文章分类: IoT安全,渗透测试,移动安全,技术标准,实战经验


Polar IOT_小程序开锁

题目描述:

警方在一次代号为“雷霆”的行动中,突袭了网络犯罪团伙“暗影”的据点。在现场,技术侦查人员发现嫌疑人使用了一款名为 X-Lock Pro 的高端智能门锁保护核心机房。

嫌疑人已被控制,但他拒绝交出开锁密码。取证专家从他的手机中提取到了控制门锁的微信小程序安装包,并在现场通过无线电嗅探设备,成功录制了一段嫌疑人开锁时的蓝牙通信流量。

情报显示,这款门锁采用了“双因子动态验证”机制,核心算法被开发者刻意隐藏。

ecure_lock_v2.0.wxapkg (小程序包) ble_sniff_log.pcapng (蓝牙流量包) solve_unpacker.js(解包工具)

flag=MD5{门锁下发的随机挑战码+门锁密文核心+小程序加密逻辑文件名字全称}

打开流量包,我们只聚焦于ATT写入读取数据的包,这里应该和key等的传输有关

这里找0x52前文已经提及是一个Write Command的包

看这里向handle 0x2c00写入了数据,因此追踪此句柄,发现也就这一个地方运用到了这个句柄

这个包数据是0xdeadbeef什么的,因此也特别需要注意

接下来我们再来看通知,看看门锁发了什么消息

估计这个就是门锁下发的随机挑战码,那上面的就是开锁数据包无疑。所以数据包传输的应该就是开锁密码:deadbeefcafebabe

挑战码:aa553912849a83a1

接下来我们解包小程序

题目给的js算法也比较简单:

校验文件头:检查开头特定的“魔数”(0xBE 和 0xED),确认是目标格式。

解析索引表:读取文件总数,然后循环读取每个子文件的信息,最关键的是获取每个文件的**起始位置(偏移量 offset)**和**字节大小(size)**。

精准切割:根据索引表提供的 offset 和 size,从原始大文件中把每个小文件的数据块精准“切”下来,并按对应路径保存到硬盘。

然后进入小程序目录

查看主要js文件,有一行WXWebAssembly.instantiate("/workers/crypto_core.wasm")说明用了wasm里面的加密方式

ghidra发现里面没什么逻辑。那这个文件名就是flag要的核心无疑了。

查看官方WP才知道,我们开锁密码是大写!

最终需要提交flag的原始值:aa553912849aDEADBEEFCAFEBABEcrypto_core.wasm

md5即可。最终结果:flag{2f120fdff1a5c165a8d6500117f285e1}


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:胡楚昊 胡楚昊 胡楚昊《借Polar IOTS一道困难挑战题简单入门蓝牙流量分析》

华为年终奖新规! 网络安全文章

华为年终奖新规!

文章总结: 文档介绍华为2026年年终奖分配新规,重点向基层低职级员工倾斜,严控高职级奖金。专业岗年终奖约2-4个月固定薪资,专家岗可达2-6个月,OD岗为2-
评论:0   参与:  0