固件分析技术(4) |
您所在的位置:网站首页 › arm固件逆向 › 固件分析技术(4) |
历史文章: 固件分析技术(1)-简介 固件分析技术(2)-工具使用 固件分析技术(3)-漏洞复现 文章首发于公众号:焊死车门 一、概述:一般题目会提供一个IOT设备的固件进行分析,获取flag。现在网络中能找到的有关固件分析的CTF题比较少,故在此列举三道题作为入门。 二、赛题复现:BUUCTF-firmware(1)固件提取 下载固件,使用binwalk提取。 解压后发现还存在一个120200.squashfs文件 再次解压120200.squashfs文件 题目要求分析出后门程序所使用的远程服务器和端口。tmp文件夹中有我们想要的后门程序: 放入IDA中进行分析,能看出是ARM架构 (2)查壳脱壳 在放到IDA分析之前,先用查壳工具查看一下是否加壳 提示有壳,我们可以使用upx进行脱壳 Unbuntu安装upx:apt-get install upx 脱壳后我们再把backdoor文件放到IDA中进行分析。 (3)代码分析 因为题目中是让我们找网址+端口的md5加密结果,因此我们只需要在String window找网址和端口就行。 查看字符串 View-->Open subviews-->Strings Flag为远程服务器和端口,找到服务器地址后再来找端口。 F5反编译找到initConnection函数 双击进入,找到端口:36667 最后把网址和端口转换成MD5 flag{33a422c45d551ac6e4756f59812a954b} CTFHUB-二次设备固件逆向(1)固件提取 下载后解压固件。 解压后存在home文件夹。 FuncDll # 动态链接库 Icon # 图标和配置文件 NandFlash # 存储 Process # 运行的程序代码 lost+found # 空 根据题目要求需要找到硬编码或者厂商后门口令,使用关键字进行搜索。 经过分析发现flag存在于JZPHMISystem文件中: ./Process/JZPHMISystem: inputPassword ./Process/JZPHMISystem: passWd.c ./Process/JZPHMISystem: rootPasswd ./Process/JZPHMISystem: passWdPID ./Process/JZPHMISystem: inputPassword ./Process/JZPHMISystem: InputPwd_pro ./Process/JZPHMISystem: InputPwdPro (2)代码分析 将JZPHMISystem文件拖入IDA中进行分析。 根据之前的关键字查找,找到了inputPassword和InputPwd_pro函数,InputPwdPro是个bss处的位置 但是找不到rootPasswd,passWdPID和passWd.c,搜了hex-view的全局内存也没有,后来看了大佬的讲解才发现是符号,在IDA的工具栏里选择view->opensubview->Names,这才找到rootPasswd。 密码为689078 CTFHUB-简单的固件逆向分析本题固件采用施耐德PLC以太网模块固件noe77101,题解参照“固件分析技术(3)-固件漏洞复现”。 |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |