littlebot
Published on 2025-04-10 / 0 Visits
0

【源码】基于CC++和Python的MITRE 2024 eCTF嵌入式安全示例项目

项目简介

本项目是MITRE 2024嵌入式CTF(eCTF)比赛的不安全示例设计,基于ARM Cortex - M4处理器,采用C/C++和Python语言开发。旨在展示嵌入式系统在硬件、固件和软件层面的潜在脆弱性与攻击点。相关代码仅用于教育,不符合MITRE标准,使用需自行承担风险。

项目的主要特性和功能

  1. 嵌入式系统安全演示:揭示嵌入式系统多层面的安全漏洞。
  2. 固件自动化构建:通过eCTF工具自动构建应用处理器和组件的固件。
  3. 安全通信支持:利用加密工具实现密钥生成、加密和验证等安全通信功能。
  4. 组件管理功能:可对组件进行初始化、启动、验证和替换操作。

安装使用步骤

环境准备

确保已安装Nix包管理器,可参考Installing Nix进行安装。Poetry会在Nix环境中自动安装。

工具初始化

进入激活的Nix环境后,运行poetry install初始化Poetry环境。

构建操作

  1. 构建部署:使用ectf_build_depl工具,示例命令ectf_build_depl -d ../ectf-2024-example
  2. 构建应用处理器:使用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
  3. 构建组件:使用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】