​【IOT安全】IOT固件安全基础-固件仿真介绍

  • 2020 年 3 月 10 日
  • 筆記

声明:Tide安全团队原创文章,转载请声明出处!文中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途以及盈利等目的,否则后果自行承担!

PS:由于在一次内部分享过程中,未能成功固件仿真,所以在此补充一文作为固件仿真入门介绍。

0X01前言

固件仿真可以在入门学习时更为便捷且能够节省成本去对固件进行分析及漏洞利用。在固件分析学习中所需工具例如firmware-analysis-toolkit等固件分析工具包安装及配置步骤较为繁琐,目前有已有前辈集成好了固件分析所需镜像环境。若想自行尝试安装Qemu、Firmadyne等工具请参考团队小伙伴文章物联网固件仿真环境的搭建,下文中使用了FIRMADYNE进行固件仿真,这是一个自动化的可扩展系统,可用于对基于Linux的嵌入式固件执行进行仿真和动态分析。

0X02Attify OS简介

用于物联网设备渗透测试的发行版无需花费时间安装,配置和设置IoT渗透测试所需的各种工具,而是为您准备了一个预制发行版,其中包含在任何物联网安全评估或渗透测试中都将方便使用的工具。

谷歌云盘AttifyOS下载地址:https://drive.google.com/file/d/0Bz-2-OHt_4gQTkNYb21RRXBuNlE/view**    百度云盘AttifyOS下载地址:https://pan.baidu.com/s/1Vracsnlt5uNbdmfYK4dp8Q  密码:tvoh  

集成环境中附带的工具部分列表:

嵌入式相关工具: Embedded Binwalk Attify Badge tool Baudrate.py Openocd Flashrom Spiflash.py 固件和软件: Binwalk: Firmware-Mod-Kit (FMK) Firmware Analysis Toolkit (FAT) radare2 IDA Demo Dex2Jar JADx ROPGadget 无线电工具: GQRX GNURadio Ubertooth-Utils HackRF KillerBee / Attify ZigBee Framework 此外还有些其它工具如下图中所示,不再一一列举。

0X03固件镜像仿真部署

用户名:oit 密码 :attify123 数据库:postgre 密码: firmadyne

为了方便后续漏洞复现,我下载了固件DIR-645固件二进制文件并到firmadyne工具目录下运行./fat.py及指定固件名称。

接下来工具会多次请求用户输入数据库的口令, 程序完成初始化及镜像创建并分配IP地址后,FAT将会反馈给我们一个IP地址,并提示用户已经完成了固件仿真。我们可以通过该地址进行Web界面访问,以及通过SSH与固件进行交互等操作。

访问给出的地址可以访问到DIR-645界面。

0X04简单漏洞复现验证

我们对DIR-645进行远程命令执行漏洞使用POC进行简单复现,该漏洞是通过构造对路由器serviec.cgi的POST请求中的data段来达到远程执行命令的目的,具体漏洞细节不再进行复现,此处仅为了验证固件的仿真效果。

POC下载地址:D-Link_DIR_645POC

简单归纳下FAT脚本的操作: (1)从固件中提取文件系统 (2)获取固件架构 (3)制作所需镜像 (4)网络设置 (5)镜像仿真 至此,一个简单的固件仿真流程完毕。 本文仅用于学习研究,切勿用于违法途径。

0X05参考链接

https://www.anquanke.com/post/id/151277 https://blog.attify.com/getting-started-with-firmware-emulation/ https://github.com/adi0x90/attifyos https://bbs.pediy.com/thread-224917.htm

E

N

D