项目简介
本项目是MITRE 2024嵌入式CTF(eCTF)比赛的不安全示例设计,基于ARM Cortex - M4处理器,采用C/C++和Python语言开发。旨在展示嵌入式系统在硬件、固件和软件层面的潜在脆弱性与攻击点。相关代码仅用于教育,不符合MITRE标准,使用需自行承担风险。
项目的主要特性和功能
- 嵌入式系统安全演示:揭示嵌入式系统多层面的安全漏洞。
- 固件自动化构建:通过eCTF工具自动构建应用处理器和组件的固件。
- 安全通信支持:利用加密工具实现密钥生成、加密和验证等安全通信功能。
- 组件管理功能:可对组件进行初始化、启动、验证和替换操作。
安装使用步骤
环境准备
确保已安装Nix包管理器,可参考Installing Nix进行安装。Poetry会在Nix环境中自动安装。
工具初始化
进入激活的Nix环境后,运行poetry install
初始化Poetry环境。
构建操作
- 构建部署:使用
ectf_build_depl
工具,示例命令ectf_build_depl -d ../ectf-2024-example
。 - 构建应用处理器:使用
ectf_build_ap
工具,示例命令ectf_build_ap -d ../ectf-2024-example -on ap --p 123456 -c 2 -ids "0x11111124, 0x11111125" -b "Test boot message" -t 0123456789abcdef -od build
。 - 构建组件:使用
ectf_build_comp
工具,示例命令ectf_build_comp -d ../ectf-2024-example -on comp -od build -id 0x11111125 -b "Component boot" -al "McLean" -ad "08/08/08" -ac "Fritz"
。
刷机操作
先将eCTF Bootloader拖放到DAPLink接口,再使用ectf_update
工具刷机,示例命令ectf_update --infile example_fw/build/firmware.img --port /dev/ttyUSB0
。
主机工具使用
- 列出组件:使用
ectf_list
工具,示例命令ectf_list -a /dev/ttyUSB0
。 - 启动系统:使用
ectf_boot
工具,示例命令ectf_boot -a /dev/ttyUSB0
。 - 替换组件:使用
ectf_replace
工具,示例命令ectf_replace -a /dev/ttyUSB0 -t 0123456789abcdef -i 0x11111126 -o 0x11111125
。 - 获取认证数据:使用
ectf_attestation
工具,示例命令ectf_attestation -a /dev/ttyUSB0 -p 123456 -c 0x11111124
。
注意:此项目仅用于教育,切勿在生产环境中使用,使用代码需自行承担风险。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】