智能相机安全分析和案例参考

发布者:上海IT外包来源:http://www.lanmon.net点击数:1724

通过对智能摄像机网络结构和设备特点的分析,总结了智能摄像机常见的攻击类型,并结合实际案例进行了综合安全性分析。由于我刚刚开始接触这些知识,所涉及的内容相对简单,我可以忽略它。
智能相机介绍
传统相机一般是指只能存储监控画面的传统诚实相机。如果你需要及时发现图片中的异常,你需要长时间回顾一下图片。例如,之前警告片中的一些人拿着方便面并看电脑回滚。监控视频。
智能相机被称为“智能”的原因是智能相机可以主动捕获异常图像并自动发送警报,这大大减少了用户能量的输入,并且方便简单。智能相机的核心是物联网和云应用的结合。它是必不可少的:为了实现即时和随时随地的监控,相机需要通过移动应用程序连接到手机,您可以在单击时查看相机的即时拍摄;当拍摄画面的动态或声音异常时,相机可以自动捕捉异常并启动云录制并自动上传。它还可以通过短信或移动应用程序向用户发送报警信息,从而实现24/7智能监控。
智能相机网络结构
目前,市场上的智能相机包括三个部分:云,手机和相机设备。
智能相机安全
摄像机设备终端:主要存储设备密码,与云交换的信息以及协议相关信息;
手机:通过蓝牙,wifi等管理智能设备,用户注册,密码修改,绑定设备,管理设备等。
云:提供用于上传视频存储,管理用户,管理应用程序和提供API接口的存储空间。
智能相机常见的攻击方法
根据网络结构的三个部分,移动终端,摄像机设备端和通信协议可以分为四种类型的攻击方法(一些内容参考NSFOCUS和白毛辉的物联网安全分析报告)。
1.攻击相机设备
对物理设备的攻击:调试接口暴露,固件提取,设备序列号篡改,篡改存储介质,获取常见用户权限,权限提升等。
针对固件的攻击:获取敏感数据,获取硬编码密码,反向加密算法,获取敏感API,服务攻击(如ftp或ssh),固件降级等。
对内存的攻击:在内存中获取敏感数据(如用户名,密码等),获取加密密钥等。2.攻击移动端
对移动应用程序的攻击比较常见,并结合相机的特殊性,主要方面可以从以下几个方面入手。
静态反编译:解压缩应用程序,使用反编译工具获取源代码,本地敏感数据存储,logcat日志,webview风险测试等。
通信安全:中间人攻击,合理的访问控制,数据加密强度等。
3.攻击云
云服务器面临的风险与常规应用服务器相似。
Web应用程序安全性:用户注册,任意用户注册,用户枚举,验证代码缺陷,各种覆盖,密码复杂性,单点登录,密码修改等各种问题。
服务安全:攻击向服务器开放的各种服务的缺陷,如ftp,ssh,mysql等弱密码,操作系统的各种Nday和0day;
其他:各种C段,子域等,你也可以先进入摄像头公司的内部办公网络然后粉碎服务器,DDOS扰乱对方的部署也是一种思维方式。
4.攻击协议
除了摄像设备,移动电话和云服务三个重要节点之外,三者之间的通信安全性也至关重要。
APP和云通常通过HTTP和HTTPS进行通信。在分析中,应判断通信流量是否加密,以及数据包捕获数据是否可被劫持;
设备和云通常使用MQTT,XMPP,CoAP和其他协议进行通信,并且还使用HTTP和HTTPS通信。一些制造商的设备使用私有协议进行通信,例如京东,小米和广域网。
APP和设备之间的通信通常使用短距离无线网络进行通信,例如ZigBee,Wi-Fi和蓝牙。
相机安全分析案例
1.情况简要说明
本案例针对互联网小型相机制造商。在测试的早期阶段,它已与相关负责人沟通并签署了授权和保密协议。测试结束后,测试结果已完全交付,并在制造商纠正后进行重新测试。所有风险都已得到修复。经过一年半的时间,确保旧相机基本上已经退市,并且在获得制造商的同意后,我将与您分享此案例。由于某些加密算法和协议仍在使用中,因此某些内容不敏感且文本混乱。那时,我刚开始涉足这方面的知识,所以涉及的内容相对简单,我不想喷它。
该分析主要包括三个方面:摄像设备,服务云和数据通信。此外,它还涉及一些移动APP和网站系统。
2.可以反转固件升级包
通过对XX官方网站提供的固件升级程序的分析,发现大多数升级包可以反转为源文件。在固件包中,可以获取ssh和ftp登录帐户和密码,以及一些重要的API接口和加密算法。密码获取就是一个例子。1557656410_5cd7f35a4e3e8.png!小
从示例中下载了固件包以进行测试,并使用Binwalk分析固件。
1557656417_5cd7f361ecc4b.png!小
从上图中可以看出,固件包含LZMA压缩数据和Squashfs文件系统以及其他系统信息,但Binwalk无法直接提取数据。
固件使用squashfs文件系统,这是一组用于Linux内核的GPL开源只读压缩文件系统。 squashfs文件系统从0x40040开始,大小为4605584字节。使用dd命令提取文件系统,并使用UnSquashfs解压缩Squashfs文件系统。
1557656424_5cd7f36822853.png!小
解压缩的系统文件:
1557656430_5cd7f36e469ce.png!小
您可以查看系统文件信息:
1557656437_5cd7f375ed8a2.png!小
您可以直接查看系统passwd文件:
1557656444_5cd7f37cbb4a8.png!小
使用强力工具john the ripper可以轻松破解密码。
风险分析:
默认的摄像机root密码可以根据passwd文件进行破解,默认密码可以用来直接登录内部网络或Internet上公开的摄像机设备;
可以根据系统中的反向密码加密算法破解摄像机和云的通信数据。
2.加密算法可以颠倒
通过对手机APK的分析,发现虽然有些版本使用加密和混淆,但大多数APK可以在解密和反编译后直接从源程序中反转。
1557656458_5cd7f38a1669a.png!小
使用JD将smali反编译为java源代码,以获得更直观的程序代码视图。
1557656465_5cd7f391ad2f2.png!小
然后反向分析lib目录中的so文件。
基于关键字加密算法定位了几个相关功能。
由于反向功能相对一般,因此通过组合/progs/bin目录中由先前相机固件解压缩的sctrl文件来执行反向分析。
结合手机APK和相机固件中的文件反编译分析,导出用户密码加密逻辑。用户密码使用MD5(unix)+ SALT加密。 SALT使用函数生成,但生成算法非常简单。根据加密算法编写的解密算法如下:
使用此算法加密密码123456:
登录移动终端APK时用户的密文和加密密码是相同的。
这也证明了由反加密算法导出的解密算法是正确的。
风险分析:
APK不会混淆,打包或使用更简单的shell保护,这很容易导致APK被反编译,重新打包等。
较弱的盐生成算法可以通过反编译恢复解密算法,然后使用该程序模拟用户登录。
3.用户密码可以批量破解
当用户使用移动终端登录时,捕获并分析数据。
经过多次数据包捕获分析后,可以使用几个关键的TCP数据包
根据反向编写的解密算法,套接字用于数据包测试:
您可以模拟APK以进行用户登录和其他操作。例如,获取设备列表,添加设备,修改设备密码等。
分析发现,当用户密码正确且不正确时,返回时信息不同。
600
根据这种差异,您可以设计一个字典来破解用户和密码。该程序使用手机号码字典编写,用于用户枚举测试。经过简单测试,发现超过150个手机号码使用123456作为手机登录密码。
智能相机安全
编写一个程序,对移动云ID号进行简单的枚举测试。经过十分钟的测试,发现在线有两到三个手机云ID号并使用默认设备密码。
智能相机安全
风险分析:
云没有对APK发送的数据进行更多验证,这导致程序被用户名和密码手动破解,导致用户身份被盗。
通过对通信数据的分析,可以编写目标程序批量添加设备,并可以批量破解设备密码。
理论上,此方法可用于遍历所有用户,密码和移动设备。
4.可以检测和发现Internet设备
通过对摄像机设备的分析,发现当摄像机正常工作时,默认打开以下端口。
智能相机安全
80个端口是Web管理终端,11010是数据转发端口。
在因特网上部署的一些XX相机设备打开web管理终端,并且还将打开用于录像机管理的端口11010。
使用zmap扫描国家IP,发现在中国大约有3.5W服务器和IP端口11010。
智能相机安全
通过分析,当访问Web管理时,服务器将返回以下信息,其中头信息Server: thttpd/2.25b 29dec2003可用作摄像头识别的指纹:
通过web指纹识别再次过滤开放端口11010的IP,并且发现存在超过3,800个主机。智能相机安全
使用默认密码admin/123456测试其中的IP:
智能相机安全
智能相机安全
智能相机安全
智能相机安全
风险分析:
默认的特定端口很容易识别,导致设备暴露在互联网上;
相机的默认弱密码更便于用户记忆和管理,但也给用户带来了极大的威胁。
5.设备可以由未经授权控制
当摄像机连接到网络时,捕获并分析摄像机和云的通信数据,并且发现摄像机首先请求移动服务器的IP地址。
智能相机安全
获取服务器IP地址后,执行数据传输测试。
智能相机安全
选择服务器后,后续的音频和视频传输使用UDP协议。
智能相机安全
经过多次分析,发现摄像机还在数据流中向云服务器发送了配置信息。
智能相机安全
它包括纯文本信息,如云ID号,端口,SMTP帐户和密码。在随后的密码测试修改中,设备密码被移动APP修改,数据包的格式为:
智能相机安全
分析数据字符串:6a7ea9b5c000004a31b1add1515c000000860000000600000014000000000000000000000061646d696e0000000000000000000000003132333435360000000000000000000000000000b9dcc0edd4b1d5cabba700000000000000000000000000000000000000000000找到6a7ea9b5c000004a31b1add1之后的字符作为控制字段和密码字段。编写脚本来模拟云以修改设备的密码。
密码可以成功更改为123456789.在后续测试中,发现可以控制摄像机重新启动或关闭。
风险分析:
音频和视频流以及控制数据流都使用UDP传输,这很容易实现中间人攻击,从而导致敏感信息的泄露;
在收听摄像机的通信数据后,很容易伪造数据修改摄像机密码,重启设备,控制云台;
当摄像机请求服务器的IP地址时,它会发现系统使用DNS来解析域名。此时,DNS欺骗很容易劫持相机,然后对相机执行非法控制管理,如平移/倾斜控制,关机,固件升级等。
6.多个Web服务器存在漏洞
在对相机进行安全测试时,不可避免地要联系Web服务器。虽然没有进行过有针对性的测试,但是已经发现了一些问题,这里只列出了一两个问题。(1)移动终端官方网站上有一个s2-045命令执行漏洞。
Struts2-045漏洞存在于IP为X.X.X.X的服务器中。两个域名xxx.com和xx.xxx.com已解析为服务器,其中一个服务器上存在struts2命令执行漏洞。
http://xx.xxx.com/xxx.do?deviceGuid=xxx,使用POC程序直接执行系统命令。
使用root用户执行whoami。
查看影子文件。
攻击者可以利用此漏洞轻松地在远程服务器上执行任意系统命令,这将对受影响的站点产生严重影响,导致数据泄露,网页篡改,植入后门并成为肉鸡。
IT外包
>
400-635-8089
立即
咨询
电话咨询
服务热线
400-635-8089
微信咨询
微信咨询
微信咨询
公众号
公众号
公众号
返回顶部