看智能蓝牙指纹蓝牙锁是如何智障的 – 作者:TideSec

0x00前言

本来想对智能锁多层面安全的文章,例如物理、固件、蓝牙协议、生物特征安全发布一个综合性文章,但在分析该APP的过程中发现问题较多,所以单独发布了出来,本文技术含量较低,但是其中存在的问题程度,对一个锁来说,还是挺严重的,毕竟锁的目的是保护财产和人身安全,本文仅从用户角度层面出发来发现存在的安全隐患,并没有遵循APP checklist进行漏洞测试,且文中测试所涉及的账户均为自行申请的测试用户。

不好意思,我是标题党。

随着物联网技术的不断发展,越来越多的智能设备出现在我们生活中,作为智能家居行业中的热门产品,智能门锁也随之走俏,一时间入局者众多。

《2019-2023年中国智能门锁行业深度调研及投资前景预测报告》相关数据显示,预测到2020年全球智能门锁产业规模将达到突破3500万套,随着智能设备不断的发展,智能锁在锁具市场上占据份额会越来越大,甚至超越传统锁。

而随着智能锁的不断发展,随之衍生的开锁的方式较多,常见的有手机APP/小程序开锁、指纹开锁、密码开锁、人脸识别、指静脉、IC卡开锁、声纹开锁等等方式,而多维度的开锁方式使得智能锁所暴露出的攻击点更多。

常见的智能锁可能存在的攻击面有:物理层、电路层、固件层、移动APP层、生物识别层、无线电、云端通信等层面,各攻击面详细介绍在后续智能门锁研究的文章中一一体现(主要是在这写的太详细了,后面文章就不好写了)。

0x01设备APP概述

避免涉及到隐私问题,所有涉及到厂商的位置均打码,智能指纹蓝牙锁的图片我找了一张网图,如下图所示。

1598511241.jpg!small

该智能锁APP功能不算复杂,大体功能点如下图所示:

1598511255.jpg!small

0x02 漏洞发现

根据上面的导图,我们对其功能点进行测试

首先从用户界面的注册功能来入手:

注册功能模块

1598511292.jpg!small

1、验证码逻辑漏洞:

(1)按照正常注册逻辑,输入邮箱,获取验证码查看邮箱,可以看到验证码的构成为4位数。

1598511321.jpg!small
(2)输入验证码后点击注册,查看正常返回包,发现返回包内容就是如此的朴实无华。

1598511342.jpg!small

(3)我们返回到注册页面,输入邮箱,获取验证码随机输入一个错误的验证码,点击注册功能。

1598511350.jpg!small

(4)查看返回包数据,直接将status 2001修改为2000

1598511360.jpg!small

(5)提示注册成功。

1598511369.jpg!small

2、验证码复用:

(1)此处还存在一个验证码爆破可复用的情况,一样可以绕过验证码限制,成功注册。

1598511381.jpg!small

3、通过用户枚举+密码重置:

(1)登陆和注册可以枚举用户并密码爆破成功。

1598511394.jpg!small

1598511418.jpg!small

(1)密码重置模块的逻辑和注册逻辑是一致的,不再多说了,此处用户名枚举

1598511425.jpg!small

(2)提交请求

1598511433.jpg!small

(3)绕过验证码

1598511448.jpg!small

-w819

(4)爆破验证码

1598511456.jpg!small

绑定设备模块

登录后发现需要绑定蓝牙指纹锁设备,(蓝牙、编号、二维码)

1598511481.jpg!small

(1)使用蓝牙添加是根据设备mac地址

1598511492.jpg!small

(2)我们使用二维码/编号添加设备,该编号是识别设备的唯一标识

1598511500.jpg!small

(3)如果该锁已被绑定,则提示需要向绑定人获得授权。

1598511508.jpg!small

短信重放

(5)授权需要发送短信给设备绑定人,而发送短信接口存在短信重放

1598511522.jpg!small

1598511536.jpg!small

越权绑定

(6)我们回到需要授权的上一步,直接使用burp直接用编号来添加设备,而该编号是可以直接遍历设备信息的,

1598511549.jpg!small
返回设备信息有用户手机号、设备编号、设备锁的密码、设备的mac地址

1598511556.jpg!small

用户账号信息泄露

(1)绑定设备前的数据包可以通过明文id值遍历用户信息-比如用户的登录名、md5密码、用户性别等等..大家都是成年人了,说话直接点,我要这锁有何用?

1598511574.jpg!small

用户好友信息泄露

获取好友列表里好友各种维度的信息,例如微信头像、用户手机号、用户名称、用户id等等,此处我遍历的自己账号,因为没有添加好友,所以不截图了。

开锁记录功能

用户经纬度泄露

获取开锁记录可以通过明文ID值进行遍历每一个用户,获取到每一次对应的开锁详细经纬度位置和手机号。

1598511586.jpg!small
通过遍历到的用户经纬度信息配合泄露的用户名密码…

0x03小结

从用户角度来看,能够泄露的信息有:

智能锁管理APP的登陆账户、Md5密码、用户名、手机号、好友列表、用户性别

从设备的角度来看,泄露的信息有:

设备的用户名、智能锁设备的密码、设备名称、设备编号、设备的mac地址、智能锁设备所在位置的经纬度。

本次所分析的蓝牙指纹锁APP厂商,如果仅通过用户的UID来判断用户量则已经达到十几万+,且同时还拥有智能车锁、智能门锁、智能柜锁等不同系列的锁,根据官网介绍来看,一定概率是同一款APP来进行控制管理。

整体的安全性不仅由木桶最短的木板决定,更取决于木桶底部是否完好,如果底部存在漏洞,木板再高也是没有意义的,都是空谈,随着智能锁不断推出陈新,更多的新技术会运用到锁具中,与此同时面临的风险更多….

来源:freebuf.com 2020-08-27 15:00:09 by: TideSec

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论