浙江大华技术股份有限公司是领先的监控产品供应商和解决方案服务商,面向全球提供领先的视频存储、前端、显示控制和智能交通等系列化产品。其公司的摄像头产品大量的分布在智慧城市、智能交通等重要场所。该公司推出的“乐橙”智能家居系列其中之一为本文讨论目标——“乐橙”智能摄像头。
型号:lechange tc1
设备程序版本:v2.400.R.150324
程序内核版本:3.0.8
“乐橙”智能摄像头,通过手机端APP管理,服务端采用阿里云服务,使用UPNP协议配置“乐橙”智能摄像头网络。
网络配置通讯(WIFI 配置)模型如下:
Device <----UPNP----> Mobile APP
网络通讯模型如下:
Device<---- NETWORK ----> Server <---- NETWORK ----> Mobile APP
信息泄露
上图的代码中init类,初始化的时候直接将敏感信息(账号、密码)存放在代码里了。通过分析,猜测这段代码有可能是调试用的代码,程序员可能忘记去除冗余代码,就直接打包发布。
根据NMAP扫描结果可得,“乐橙”智能摄像头开放了23端口(telnet)。
分析busybox,我们发现登陆验证存在三种方式:
1. 若不存在/usr/etc/telnet_cfg文件并且存在/mnt/mtd/Config/passwd,则读取passwd文件中的账号、密码进行登陆验证;
2. 若不存在/usr/etc/telnet_cfg并且不存在/mnt/mtd/Config/passwd,但存在/mnt/mtd/Config/Account1文件,则读取Account1文件中的账号、密码进行登陆验证,使用该方式登陆后为开发者模式;
3. 存在/usr/etc/telnet_cfg,则使用telnet进行登陆验证,目前我们就是以该方式进行登陆。
根据NMAP的扫描结果我们已经知道,设备开放了telnet服务。
好了,那么我们重点来看一下第三种验证方式,使用telent登陆,如下图:
代码路径执行到此处时,比较密码前缀字符串是否为7ujMko0,若是,则继续验证密码并登陆。
查看默认的存放账号、密码的文件,我们得到:
账号:lechange
密码:lc2014
根据上图我们知晓了,登陆验证时会对密码前缀做一个校验(7ujMko0)。
所以最终的密码为,前缀+配置文件中的密码,即7ujMko0lc2014。
Bingo!Login Success!
惊奇的发现登陆后居然是root权限!
Wow!
We are root!
We are god!
Anything we want to do!
1. 去除冗余代码;
2. 加密存储敏感信息(账号、秘密等)。
【原文: 大华“乐橙”智能摄像头信息泄露及登录绕过漏洞分析 安全脉搏 Expl0r3r 整理发布 】
本文作者:此号被封
本文为安全脉搏专栏作者发布,转载请注明:https://www.secpulse.com/archives/34460.html