欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

如何攻击 IP 摄像头并搭建分析环境?

来源:嘶吼 作者:翻译于insinuator 时间:2017-01-08 TAG: 我要投稿

 我写这文章是为了分享我对 Edimax 生产的 IC-3116W IP 摄像头的分析经验。本文聚焦于如何开始分析 IP 摄像头,当然本文提到的工具同样适用于分析其他的设备。首先,我会介绍如何获取目标固件,并利用固件来收集信息;然后,会讲解如何进入系统;最后,会讲如何在设备上面安装 gdbserver。不过,本文不会去分析那些相对复杂的漏洞,而只专注于那些有助于我们分析设备漏洞的部分,包括后面会提及的一个管理界面远程代码执行漏洞(当然这个漏洞早已提交给了相关厂商)。

分析设备

这章开始,我们将会在一个已经搭建好的摄像头测试环境中介绍分析的步骤,当然这个测试环境与一般的 Web 应用渗透测试环境没什么太大的区别。在最初的阶段,我们需要通过一些外部资源(例如厂商网站或者谷歌)来收集摄像头的信息,然后利用适当的工具(Burp Suite,nmap等等)扫描摄像头可能暴露的服务(特别是管理界面)。随后就是利用阶段,我们需要拿到进入摄像头的权限,最后就是后利用阶段了,此时我们就可以适当的在摄像头上部署调试分析工具。

步骤1:收集信息

在分析设备前最关键的步骤就是尽可能多的收集相关信息,幸运的是,Edimax 官方网上提供了大量摄像头的信息,如数据表,操作手册,固件和构建工具(包括构建镜像的文件),但是一些涉及敏感信息的二进制文件源码没有公开。

固件可以提供对摄像头最初的认识,通过使用 binwalk 分析固件,可以提取出摄像头的文件系统。

$ binwalk -e IC3116W_v2.10.bin

DECIMAL         HEX             DESCRIPTION
-------------------------------------------------------------------------------------------------------
605             0x25D           LZMA compressed data, properties: 0x88, dictionary size: 1048576 bytes, uncompressed size: 65535 bytes
10392           0x2898          LZMA compressed data, properties: 0x5D, dictionary size: 8388608 bytes, uncompressed size: 3735204 bytes
1245312         0x130080        Squashfs filesystem, little endian, version 4.0, compression: lzma, size: 4072088 bytes,  907 inodes, blocksize: 131072 bytes, created: Mon Feb 22 11:50:40 2038

从上面信息可以得知,开发人员使用了 SquashFS 文件系统,为了浏览文件系统,我使用带有 LZMA 支持的 unsquashfs:

$ unsquashfs -d filesystem 130080.squashf

这样我们就获得解压过后的文件系统(存储在filesystem文件夹下面)

$ ls -a filesystem

.  ..  bin  dev  etc  home  init  lib  mnt  proc  sys  test  tmp  usr  var  web  www

在提取出文件系统后,我们就可以来浏览摄像头的相关文件了。这个文件系统里包含一些有趣的二进制文件,如:telnetd,wget,FTP等等,但是通过使用 Nmap 扫描得知,telnet 守护进程默认情况下没有运行。

$ nmap -sS -p0- --reason -v -T3 -Pn 192.168.2.3

[...]
Nmap scan report for 192.168.2.3
Host is up, received arp-response (0.00065s latency).
Not shown: 65534 closed ports
Reason: 65534 resets
PORT     STATE     SERVICE     REASON
80/tcp   open      http        syn-ack
554/tcp  open      rtsp        syn-ack
MAC Address: 74:DA:38:34:AA:75 (Unknown)
[...]

Web 服务的根目录位于 www 下面,在这里我发现了一些无需身份认证直接就能访问的 CGI 文件:

/www/camera-cgi/public/anonymous.cgi
/www/camera-cgi/public/getSysteminfo.cgi
/www/camera-cgi/public/supportiPhoneAppVersion.cgi

其中,anonymous.cgi 和 getSysteminfo.cgi 透露了很多 IP 摄像头的安装信息(包括内部IP地址,固件版本等等)。

1483007079891428.png

在查看摄像头文件系统中的文件后,下一步就是利用自动化工具结合手动测试来发现摄像头内部服务是如何运行的了。如之前 Nmap 的扫描结果,有一个运行在 80 端口的 Web 服务,通过查看相机背面的说明信息,得知其默认账号密码是 admin:1234。

[1] [2] [3]  下一页

【声明】:黑吧安全网(http://www.myhack58.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载