《某考勤机漏洞挖掘实录-郭韬(27页).pdf》由会员分享,可在线阅读,更多相关《某考勤机漏洞挖掘实录-郭韬(27页).pdf(27页珍藏版)》请在三个皮匠报告上搜索。
1、考勤机的管理方式本地管理局域网管理互联网管理星耀实验室是斗象科技网络安全发展战略的重要组成,星耀之名取自山海经中的星耀独角兽,实验室专注于前沿创新的安全技术的研究,覆盖包括红蓝对抗、红蓝对抗、漏洞挖掘、漏洞挖掘、IoT及移动安全等及移动安全等各安全细分领域,通过研究积累和内部研发,为公司安全能力支撑保驾护航。设备的外部通信从简化后的通信架构来看,我们对设备的漏洞从简化后的通信架构来看,我们对设备的漏洞挖掘可以从设备与云端的通信、以及设备与用挖掘可以从设备与云端的通信、以及设备与用户的通信这两方面入手户的通信这两方面入手流量分析设备启动后会主动连接到设备启动后会主动连接到tls.tls.*但是没
2、有校验但是没有校验服务器的证书服务器的证书流量分析设备设备=云端云端云端云端=设备设备设备向云端上传了自身的信息,设备向云端上传了自身的信息,包括固件版本和操作系统类型包括固件版本和操作系统类型云端返回的数据中包含云端返回的数据中包含了大了大量不明意义的二进制数据量不明意义的二进制数据设备采用了设备采用了FreeRTOSFreeRTOS系统,首先考虑植入恶意固件系统,首先考虑植入恶意固件但是但是修改这里的固件版本无法触发修改这里的固件版本无法触发OTAOTA继续分析设备与云端的通信意义不大继续分析设备与云端的通信意义不大BLE通信分析移动端(Android)App Log开启ADB即可获取日志
3、需要App打印BLE通信相关LogHook关键APIHook系统关键API即可,通用性强需要熟悉移动安全相关知识通信信道空口嗅探硬件软件都有现成的解决方案无法处理加密通信设备端调试设备无奈之选需要分析固件,并开启设备调试接口BLE通信分析针对本考勤机的情况,最简单的方法是针对本考勤机的情况,最简单的方法是直接嗅探通信,通信内容均以明文传输,直接嗅探通信,通信内容均以明文传输,通过分析可以知道通信数据的大体结构通过分析可以知道通信数据的大体结构BLE通信分析用户在用户在AppApp中可以执行的操作、与设备可以执行的命令对应关系如下中可以执行的操作、与设备可以执行的命令对应关系如下激活激活/绑定绑
4、定:getActiveInfo-getWifiInfo-getActiveInfo-getWifiInfo-connectWifi-activeconnectWifi-active切换切换WiFiWiFi:getWifiInfo-handshake-getWifiInfo-handshake-connectWificonnectWifi重置设备:重置设备:resetDeviceresetDevice获取设备状态获取设备状态getActiveInfogetActiveInfo获取设备扫描的获取设备扫描的WiFiWiFi列表列表getWifiInfogetWifiInfo控制设备连接到指定控制设备
5、连接到指定WiFiWiFiconnectWificonnectWifi通知设备进行绑定操作通知设备进行绑定操作activeactive握手命令,用于身份认证握手命令,用于身份认证handshakehandshake重置设备重置设备resetDeviceresetDevice重置设备时没有使用重置设备时没有使用handshakehandshake进行身份认证,进行身份认证,所以通过所以通过BLEBLE通信可以未授权重置设备通信可以未授权重置设备一点小插曲实际上我们是通过调试设备来获取实际上我们是通过调试设备来获取BLEBLE通信数据的通信数据的MCUMCU提供了提供了SDKSDK及及示例代码,可
6、以示例代码,可以用来分析用来分析BLEBLE协议协议栈的使用方式栈的使用方式示例代码中有一部分日志,这些字符串示例代码中有一部分日志,这些字符串在固件中同样也出现了,通过交叉引用在固件中同样也出现了,通过交叉引用可以确定固件中可以确定固件中BLEBLE协议栈的相关代码协议栈的相关代码一点小插曲一点小插曲使用使用gdbgdb调试脚本,在关键代码处下断点调试脚本,在关键代码处下断点并以并以hexdumphexdump的形式输出的形式输出BLEBLE通信数据通信数据至此,我们发现可以在不需要任何前置条件的情况下,进行中间人攻击至此,我们发现可以在不需要任何前置