type
status
date
slug
summary
tags
category
icon
password
💡
OpenIPC是一个专门为IP摄像头打造的开源固件项目。运行的是嵌入式Linux,而且其固件结构是已知的、标准的。

物联网设备-摄像头固件取证

  • OpenIPC 固件的典型结构:
    • Bootloader:位于文件开头,通常是 U-Boot。
    • Linux 内核:紧跟在 Bootloader 之后,是一个 uImage 或 zImage。
    • 根文件系统:内核之后的部分,通常是一个 squashfs 镜像。这是最主要的部分,包含了所有操作系统文件和应用程序。
  • 文件系统分析:
    • squashfs-root:主根文件系统(只读),黑客无法修改 包含摄像头操作系统核心:Linux系统、驱动程序、应用程序 通常是只读的,保证系统稳定性,体现系统的完整功能
    • jffs2-root-0 到 jffs2-root-308:JFFS2文件系统分区,可读写,黑客可以写入文件 存储用户配置、网络设置、事件记录等可写数据 JFFS2是嵌入式设备常用的闪存文件系统。
    • u-boot.bin:U-Boot引导加载程序 负责系统启动和初始化
    • D5000C.jffs2:闪存中的数据块,可能存在尚未写入jffs2-root的内容

安装binwalk

kali-linux自带bin解包工具binwalk

安装jefferson

Kali-linux自带binwalk,但在直接解包的时候会遇到错误
这时候需要安装jefferson

解包

binwalk -e .bin即可

检材1:物联网设备---受害人张某家的摄像头固件

  1. 请分析摄像头镜像文件,该镜像文件的SHA256值 5602E62B48F7D9231FE49FE0793E439445EAA04FF80F2A42DF48F6EEA89EC4EA
  1. 请分析摄像头镜像文件,该摄像头使用的OpenIpc版本号是? 查看squashfs-root/etc/os-release文件:2.5.05.20
    1. notion image
  1. 请分析摄像头镜像文件,该摄像头配置的内网IP地址是?
    1. # 系统启动时配置加载顺序:
    2. 读取 squashfs-root 中的默认配置
    3. 检查 jffs2-root 中是否有用户配置
    4. 如果 jffs2-root 存在配置,则覆盖默认配置
    5. 应用 jffs2-root 中的配置
    6. notion image
      该固件提取文件中存在jffs2-root文件夹,故用户配置优先,查看该目录下/etc/network/interfaces.d/eth0网卡配置文件,则得到192.168.0.110。
  1. 请分析摄像头镜像文件,黑客通过某远程服务器下载了一些文件,该服务器IP地址是?
    1. 通过远程服务器下载文件可能是通过命令来下载的,ctrl+h显示隐藏文件之后,能看到/jffs2-root/root/目录下有.ash_history文件,查看其历史命令。从服务器120.24.195.227下载了frp的客户端frpc。
      notion image
  1. 请分析摄像头镜像文件,黑客使用什么软件进行内网穿透? 如上,frp。
  1. 请分析摄像头镜像文件,黑客使用的内网穿透配置token是? 查看配置文件frpc.ini即可看到token:jklasdmn123
notion image
  1. 请分析摄像头镜像文件,该摄像头文件系统中隐藏着一个密码文件,文件内容是?
notion image
  1. 请综合分析,该摄像头RTSP协议的主要实际地址是? 用catfish搜索内容包含rtsp://的文件
    1. notion image
      rtsp://root:12345@<%= $network_address %>账号密码和network_address会动态变化,需要在流量包中验证,存在差异则以流量包里的为准。
      标准答案:rtsp://root:qwe123123@192.168.0.110/stream=0,我也不知道怎么从流量文件里面找到的,还有待学习。

检材2:流量分析---受害人路由器流量

  1. 请分析摄像头数据流量包,嫌疑人攻击受害人摄像头管理后台所使用的设备IP地址为? 固件分析可知受害人摄像头的ip为192.168.0.110,过滤目的地为该地址的连接,源地址即为嫌疑人使用的设备ip地址。
    1. notion image
  1. 请分析摄像头数据流量包,嫌疑人于什么时间拿到了受害人摄像头的权限? 最早返回200的时间就是拿到权限的时间:13:52:23
    1. notion image
  1. 请分析摄像头数据流量包,该摄像头的后台管理网站的账号root的密码是? 追踪该连接的http流,即可看到密码qwe123123
    1. notion image
  1. 请分析摄像头数据流量包,嫌疑人于什么时间通过浏览器登录了受害人摄像头的后台? 该连接的UA为python,查看下一条访问200的连接,能看到UA为Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0,所以这条连接是通过Firefox浏览器建立的,答案是13:52:30。
    1. notion image
  1. 请分析摄像头数据流量包,黑客使用什么浏览器访问摄像头后台? 如上,firefox。
  1. 请分析摄像头数据流量包,黑客登录该摄像头后台管理网站后下载了一个yaml文件,该文件的MD5是? 过滤请求uri中包含yaml字符的连接
    1. notion image
      wireshark-文件-导出对象-http
      notion image
      计算md5值:01a701823ccfbe130d8d8478a7be0cde
      notion image
  1. 请分析摄像头数据流量包,该摄像头后台管理网站视频播放地址是? 从摄像头固件第八题配置文件可以看到其中http下有一个/mjpeg,流量文件里面也能看到有访问该地址,猜测这个是视频播放地址。
    1. notion image
  1. 请分析摄像头数据流量包,黑客在偷看监控视频时看到的手势数字是? 追踪该连接的tcp流,查看192.168.0.110返回的包,能看到有4793kb,原始格式保存后用foremost提取文件,能看到有图片,手势是3。
    1. notion image
      notion image