当前位置: 首页 > 科技观察

浅谈IOT设备分析

时间:2023-03-17 15:12:37 科技观察

0×01:前言研究pwn有一段时间了,今天就来了解一下IOT的一些知识。本文将介绍物联网相关的基础知识,固件和物联网设备文件系统的概念,以及如何使用工具分析物联网设备。0×02:正文1)物联网设备分层模型看网络风险物理感知层(固件提取)通信层管理控制层2)从攻击者角度,物联网信息采集端口扫描流量抓包分析(外部嗅探,内部调试))功能点评估在端口扫描中,我们可以关注一些私有协议进行分析。所需技能二进制逆向分析渗透测试硬件焊接工具:IDA/Ghidra流量分析:wireshark固件分析攻击:binwalk/qemu固件概念我们可以简单理解为操作系统。固件Bootloader的组成:最开始运行的软件,初始化硬件设备,建立内存空间映射,调整嵌入式软硬件。内核:操作系统最基本的部分。根文件系统:内核启动时第一个挂载的文件系统,内核代码镜像文件保存在根文件系统中。嵌入式固件使用的系统多为linux系统,现有目录:/bin目录。该目录下的命令可以在其他文件系统挂载前使用,因此/bin目录必须与根文件系统在同一分区。/dev目录是设备和设备接口的文件。设备文件是linux中特有的文件类型。/etc目录是系统的主要配置文件。只有root权限才有修改权限。/lib共享库和驱动程序,共享库用于启动系统。在根文件系统中运行可执行程序。/var/var目录存储变量数据,例如假脱机目录(邮件、新闻)、日志文件和临时文件。/proc空目录,常用作proc文件系统的挂载点,是一个虚拟文件系统。Firmwareextractbinwalkextractfirmwarebinwalk可以扫描许多不同的嵌入式文件类型和文件系统的固件映像,只要给他一个文件来扫描Binkwalk+-e分离这个文件。提取出来的内容会存放在.extracted文件中,其中squashfs-root就是我们要的固件的文件系统。进入分离固件系统Squashfs文件系统介绍:squashfs可以将整个文件系统或单个目录压缩在一起,存储在某个设备、某个分区或普通文件中。不用binwalk提取固件:1.使用hexdump搜索hsqs的地址hexdump-CRT-N300_3.0.0.4_378_9317-g2f672ff.trx|grep-i'hsqs'2.使用dd命令截取地址后的数据并保存ittoanewfileinif=RT-N300_3.0.0.4_378_9317-g2f672ff.trxbs=1skip=925888of=rt-n300-fs不识别十六进制,所以我们将其转换为十进制3。最后,使用unsquashfsrt-n300-fs命令解析rt-n300-fs文件,得到的squashfs-root就是固件系统unsquashfsrt-n300-fs这个方法和binwalk解压固件的结果是一样的。静态分析IOT的固件,得到一个固件压缩包。解压后发现有很多YAFFS2文件。我们使用binwalk来分离它们或者这里介绍一个工具unyaffs,然后查看分离出来的文件。使用find命令查看.conf配置文件find.-name'*.conf'在/etc/inadyn-mt.conf下找到了账户密码然后查看/etc/shadow找到root账户和密码到查看进程。下面是一个可以用IDA打开的程序。只要连接到固件端口的39889,发送HELODBG的字符串,就可以进行RCE了。0×03:总结最近在研究物联网中固件的提取,以及如何对固件进行静态分析。IOT的准备工作并不算太难。在学习的过程中,发现流量分析、电子取证、编译、反腐等各个方面需要的功能很多。编译等技能也是必不可少的,多多学习,提高自己的技能。