基于可在官网下载的 QNAP 固件进行逆向、模拟和破解移植。
1.下载的固件进行静态分析,利用 binwalk 进行固件结构提取和第一轮逆向信息收集;
2.真实机器中有单独的存储设备存储 BIOS-ROM 和初始化时启动固件的分区,使用编程器和断点调试装置提取 bin ,并进行解压缩和解密。
3.获取源代码和更多系统信息以查找 CVE 高危漏洞进行提权和寻找替换路径。
4.漏洞获取和 POC 信息测试,获取启动时进行验证和授权的函数内特定段落位置。
5.断点 GDB 调试来获取鉴权流程,进行代码分析。
6.使用自修改越过特定函数位置的重新打包的程序进行旁路流程的启动测试。
7.DTB 内容信息提取,搜集测试机器的 PCIBUS 信息进行硬件部分的识别码、特征位置的替换。利用移植机器的信息进行替换。
8.完整流程 QNAP 安装包测试安装下载,使用 Tianoboot和 Tinycore 模拟原有的 ROM 和启动固件分区的功能,进行完整的流程测试。
9.测试移植机器是否成功启动固件。进行模拟仿真。全流程下的 secureboot 方式,并进行环境验证签名。