当前位置:最新资讯  >  ip  >  智能摄像头ip安全分析及案例参考

智能摄像头ip安全分析及案例参考

通过对智能摄像头的网络结构和设备特性进行分析,总结了智能摄像头ip常见的几类攻击方式,并结合实际案例进行全面的安全分析。由于自己也是刚开始接触这方面知识,所以涉及的内容都比较浅显,大佬无视即可。

智能摄像头介绍

传统摄像头,一般指传统的只能存储监控画面的老实摄像头,如需及时发现画面中的异常,需长时间回看画面,比如之前一些警匪片中出现的几个人端着泡面守着电脑回滚监控视频。

而智能摄像头之所以称之为“智能”,就是由于智能摄像头可主动捕捉异常画面并自动发送警报,大大降低了用户精力的投入,方便、简单。智能摄像头的核心为物联网及云应用双剑合璧,缺一不可:要想实现即时且随时随地的监控,摄像头需要可通过手机app与手机相连,点开便可查看摄像头即时拍摄的画面;同时,当拍摄画面出现异常动态或声响时,摄像头除了可自动捕捉异常并启动云录像并自动上传,还可通过短信或手机app向用户发送警报信息,从而实现全天候智能监控。

智能摄像头网络结构

目前市面上的智能摄像头都包含了云端、手机端、摄像头设备端三部分。

智能摄像头安全

摄像头设备终端:主要存放设备密码、与云端交互的信息、协议相关信息;
手机端:通过蓝牙、wifi等方式管理智能设备、用户注册、密码修改、绑定设备、管理设备等;
云端:提供存储空间进行上传的视频存储、对用户进行管理、对app进行管理、提供api接口等。
智能摄像头常见攻击方法

根据网络结构中的三个部分云端、手机端、摄像头设备端以及通讯协议可分为四类攻击方法(部分内容参考了绿盟科技和白帽汇的物联网安全分析报告)。

1. 针对摄像头设备的攻击

针对物理设备的攻击:调试接口暴露、固件提取、设备序列号篡改、篡改存储介质、获取普通用户权限、权限提升等;
针对固件的攻击:获取敏感数据、获取硬编码密码、逆向加密算法、获取敏感api接口、ftp或ssh等服务攻击、固件降级等;
针对内存的攻击:获取内存中的敏感数据(如用户名、密码等)、获取加密Key等。
2. 针对手机端的攻击

针对手机端app的攻击相对比较常见,而结合摄像头的特殊性,主要可以从以下几个方面入手。

静态反编译:对APP进行脱壳、使用反编译工具获取源码、本地敏感数据存储、logcat日志、webview风险测试等;
通信安全:中间人攻击、访问控制是否合理、数据加密强度等。
3. 针对云端的攻击

云服务端面临的风险和常规的应用服务器类似,简单列举几个。

web应用安全:用户注册的各种问题、任意用户注册、用户枚举、验证码缺陷、各种越权、密码复杂度、单点登录、密码修改等等。
服务安全:针对服务器开放的各种服务存在的缺陷进行攻击,如ftp、ssh、mysql等各种弱口令,针对操作系统的各种Nday和0day等;
其他:各种C段、子域名等等,还可以先打入摄像头公司内部办公网再觊觎服务器,DDOS打乱对方部署也是一种思路。
4. 针对协议的攻击

除了摄像头设备、手机端、云服这三个重要节点外,三者之间的通讯安全也非常关键。

APP与云端一般通过HTTP、HTTPS通信,分析中应判断通信流量是否加密,可否抓包劫持通信数据;
设备与云端一般采用MQTT、XMPP、CoAP等协议通信,也会使用HTTP、HTTPS通信,部分厂家的设备会使用私有协议进行通讯,例如京东、小米、broadlink等;
APP与设备之间通信一般利用短距离无线网络进行通信,如ZigBee、Wi-Fi以及蓝牙等。
摄像头安全分析案例

1. 情况简述

本案例是针对一互联网小型摄像头厂商,在测试前期已经和相关负责人进行了沟通并签署了授权和保密协议等,在测试后已经完全交付了测试结果,并在厂商整改后进行了复测确保所有风险均已修复。在时隔一年半后,已经确保该旧版摄像头已经基本退市,在征得厂商同意后才和大家分享一下本案例。由于部分加密算法和协议仍在使用,所以部分内容进行了脱敏和文字混淆。那时候也是刚开始接触这方面知识,所以涉及的内容都比较浅显,大佬勿喷。

本次分析主要包括摄像头设备、服务云端、数据通信三个方面,另外还涉及到部分手机端APP、网站系统等。

2. 固件升级包可被逆向

通过对XX官网提供的固件升级程序进行分析,发现大部分升级包均可被逆向出源文件,在固件包中可获取ssh和ftp登录账号和密码以及一些重要api接口和加密算法等,以ssh密码获取为例。

1557656410_5cd7f35a4e3e8.png!small

从其中下载了两个固件包为例进行测试,使用Binwalk对该固件进行分析。

1557656417_5cd7f361ecc4b.png!small

从上图中可以看到固件中包含了LZMA压缩的数据和Squashfs文件系统以及其他系统信息,但Binwalk直接提取数据失败。

固件使用的是squashfs文件系统,它是一套供Linux核心使用的GPL开源只读压缩文件系统。squashfs文件系统开始于0×40040, 大小为 4605584 字节, 用dd命令提取该文件系统,再用UnSquashfs对Squashfs文件系统进行解包。

1557656424_5cd7f36822853.png!small

解压出来的系统文件:

1557656430_5cd7f36e469ce.png!small

可以查看系统文件信息:

1557656437_5cd7f375ed8a2.png!small

可直接查看系统passwd文件:

1557656444_5cd7f37cbb4a8.png!small

使用暴力破解工具john the ripper可轻易破解该密码。

 

风险分析:

可根据passwd文档破解默认的摄像头root密码,通过该默认密码可直接登录暴露在内网中或互联网上的摄像头设备;
可根据系统内的文件逆向密码加密算法,破解摄像头和云端的通信数据。
2. 加密算法可被逆向

通过对手机端APK的分析,发现虽然有的版本使用了加密和混淆,但通过解密和反编译后,大部分APK可直接被逆向出源程序。

1557656458_5cd7f38a1669a.png!small

使用JD可将smali反编译为java源码,更为直观的查看程序代码。

1557656465_5cd7f391ad2f2.png!small

随后将lib目录下的so文件进行了逆向分析。

 

根据关键字定位到密码加密算法几个相关的函数。

 

 

由于逆向能力比较一般,于是又结合了上一节摄像头固件解包出的/progs/bin目录下的sctrl文件进行逆向分析。

 

 

结合手机端APK和摄像头固件中的文件反编译分析,推导出了用户密码加密逻辑。用户密码使用了MD5(unix)+SALT的方式进行加密,SALT使用了函数生成,但生成算法非常简单。

根据加密算法编写的解密算法如下:

 

使用该算法对密码123456进行加密:

 

该密文和用户在手机端APK登录时的加密后的密码完全一致。

 

这也证明了通过逆向加密算法而推导出的解密算法是正确的。

风险分析:

APK未进行混淆、加壳或使用了较简单的加壳保护,很容易导致APK被反编译、重打包等;
较弱的salt生成算法可通过反编译还原出来解密算法,进而使用程序模拟用户登录。
3. 用户密码可被批量破解

在用户使用手机端登录时,对数据进行抓包分析。

 

多次抓包分析后,可得到几个关键TCP数据包。

 

根据前面逆向编写出的解密算法,使用socket进行数据发包测试:

 

可以模拟APK进行用户登录,并能进行其他操作。如获取设备列表、添加设备、修改设备密码等。

 

分析发现,在用户密码正确和错误时,返回信息时不同的。

 

600

根据这种不同,可以设计字典对用户和密码进行破解。编写程序使用手机号字典进行用户枚举测试,简单测试后发现150多个手机号使用了123456做为手机端登录密码。

智能摄像头安全

编写程序对手机云端ID号进行简单的枚举测试,经过十分钟测试便发现了在线且使用默认设备密码的手机云端ID号码有二三百个。

智能摄像头安全

风险分析:

云端对APK发送的数据没有更多的校验,导致可编写程序批量破解用户名和密码,导致用户身份失窃。
通过通信数据的分析,可有针对性的编写程序进行批量添加设备,进行批量的破解设备密码。
理论上讲,使用该方法可遍历所有的用户、密码和手机端设备。
4. 互联网设备可被探测发现

通过对摄像头设备的分析,发现摄像头在正常工作时默认开放了如下端口。

智能摄像头安全

其中80端口为web管理端,11010为数据转发端口。

而有些部署在互联网上的XX摄像头设备在开放一个web管理端外,也会开放11010端口进行录像机的管理。

使用zmap对全国IP进行扫描,发现中国境内IP开放了11010端口的服务器大约有3.5W个。

智能摄像头安全

通过分析,在访问web管理时,服务器会返回如下信息,其中头信息Server: thttpd/2.25b 29dec2003可作为指纹进行摄像头识别:

 

通过web指纹对开放了11010端口的IP进行再次过滤,发现存在的主机有3800多个。

智能摄像头安全

使用默认密码admin/123456对其中IP进了访问测试:

智能摄像头安全

智能摄像头安全

智能摄像头安全

智能摄像头安全

风险分析:

默认的、有特殊性的端口很容易被识别,导致设备被暴露在互联网上;
摄像头默认的弱口令比较方便用户记忆和管理,但也会给用户带来信息泄露的极大威胁。
5. 设备可被未授权控制

在摄像头联网时,对摄像头和云端的通信数据进行抓包分析,发现摄像头会先请求手机端服务器IP地址。

智能摄像头安全

得到服务器IP地址后,进行数据传输测试。

智能摄像头安全

在选择好服务器后,随后的音视频的传输使用了UDP协议。

智能摄像头安全

而通过几次分析,发现在该数据流中摄像头还会发送配置信息给云端服务器。

智能摄像头安全

其中包括了云端ID号码、端口、SMTP账号、密码等明文信息。在随后的修改密码测试时,通过手机端APP修改设备密码,发现了数据包格式为:

 

公司地址:深圳市龙岗区横岗街道力嘉路115号2楼
客服 QQ:4333055(工作时间:24小时 x 7)
联系邮箱:go@vpnid.com
免责声明    |    使用条款    |    服务协议    |    VPN资质
© Copyright 2015-2019 [vpnid.com] 飘起科技, All rights reserved.   粤ICP备19006563号-1
用户不得利用飘起科技VPNID从事危害国家安全、泄露国家机密等犯罪活动,不能利用飘起科技VPNID查阅、复制和传播危害国家安全、妨碍社会治安和淫秽黄色信息,不能利用飘起科技VPNID发布恶意的、
向他人挑衅的信息,若用户违反,本公司有权立即停止服务并将向相关部门报告,一切后果由用户自行负责。