(本文仅供学习讨论用途,禁止用于非法行为)
深圳市米可达斯电子科技有限公司(MiCODUS),主营定位追踪设备,其产品远销欧美各国,被广泛应用于世界50强企业、欧洲政府、美国各州、南美军事机构和核电站运营商等,共计169个国家约150万车辆中。
根据7月19日消息,漏洞研究人员发现该公司MV720系列产品存在6个漏洞,影响极其广泛。其中漏洞的CVE-2022-2107被定性为高危,这是由于设备默认密码为弱口令和使用统一密钥导致的。
攻击方只需要通过http://app.micodus.net/OpenAPIV3.asmx/LoginByAndroid提供准确的MV720设备ID以及统一的硬件密钥7DU2DJFDXXXXX(该密钥被确认为是不变且统一的)进行封包攻击,就能得到用户关键的密钥key2018,再将其密码按照该网站特定的post封包格式发送至http://app.micodus.net/OpenAPIV3.asmx/GetTracking就能得到设备的最高权限,为了验证漏洞真实情况,研究员采用安卓封包注入的方式,使用该公司的app查看是否能利用漏洞进行登录。
发现得到的密钥可以直接登录到对应的用户,通过APP可以获取用户实时位置、历史轨迹等信息,管理界面如下所示
通过漏洞挖取数据的代码:
为进一步研究该产品涉及到的用户量,通过封包抓取数据库的手段获取信息下图示:
通过该方法获取得到大量用户账号、密码、密钥以及其设备定位
进一步分析,发现该公司的网页控制端与APP端的申请链接是独立的,但是验证方式可能是相同的,于是尝试去抓取网页的封包内容。
从检索分析来看,Web端并没有采用与APP相同的验证方式,而且当用户设备被认为是弱口令时,Web端会直接强制用户更改密码。
截止本文发表,攻击者仍然可以通过该漏洞获取用户数据。
1.用户及时登录APP或Web端修改设备密码。
2.更换设备防止轨迹和个人信息泄露。
我们应该从这次漏洞中吸取教训(程序猿的痛),对于硬件设备不应该采用统一的密钥进行验证,而且每个设备的默认密码应该采用8-11位随机生成的复杂组合密码或者启用设备时必须强制用户进行密码更改;对于服务供应端,密钥的生成最好采用在服务器上生成,先是由用户本地提供一次加密后的密钥(非明文),再传入服务器进行二次加密后再反馈给用户进行后续API的调用。
参考资料
[1]https://www.cisa.gov/uscert/ics/advisories/icsa-22-200-01
[2]https://www.bitsight.com/blog/bitsight-discovers-critical-vulnerabilities-widely-used-vehicle-gps-tracker
-END-
作者 | 卢振耀
编辑 | 刘雪芬
审核 | 宋致远
原文始发于微信公众号(粤西网络安全实验室):原创研究类(4)——MiCODUS CVE-2022-2107高危漏洞复现