Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
SmmBackdoor — 首款面向基于 UEFI 平台的开源且公开可用的系统管理模式(SMM)后门。适合作为各种 SMM 实验的通用试验场。 | Kitploit
工具/GitHubGitHub/cr4sh/smmbackdoor
权限提升持久化机制漏洞利用后渗透利用硬件黑客Payload 开发固件分析
GitHubcr4sh/smmbackdoor

SmmBackdoor

首款面向基于 UEFI 平台的开源且公开可用的系统管理模式(SMM)后门。适合作为各种 SMM 实验的通用试验场。

查看仓库
6321612年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

适用于基于 UEFI 平台的 SMM 后门


!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

这是一个已弃用的遗留项目,当前版本的后门请 查看 SMM Backdoor Next Gen 项目页面及其 文档:

https://github.com/Cr4sh/SmmBackdoorNg

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

有关此项目的更多信息,请阅读以下文章:

http://blog.cr4.sh/2015/07/building-reliable-smm-backdoor-for-uefi.html

仓库内容:

  • SmmBackdoor.py —— 一个 Python 程序,可以将后门代码注入 UEFI DXE 驱动程序的 PE 镜像,与已安装的后门通信以读取 SMRAM,并执行其他一些有用的操作。

  • SmmBackdoor/ —— 在系统管理模式(System Management Mode)下运行的 UEFI 部分源代码。

  • SmmBackdoor.efi, SmmBackdoor.pdb —— UEFI 部分二进制文件及其调试符号。

  • smm_call/ —— 概念验证(proof of concept)Linux 程序,与已安装的后门交互,为其进程获取 root 权限。

要构建 SmmBackdoor 项目,你需要一台装有 Visual Studio 2008 的 Windows 机器,以及 EDK2 源代码(https://github.com/tianocore/edk2)。

分步说明:

  1. 将 SmmBackdoor 子目录复制到 EDK2 源代码目录。

  2. 编辑 Conf/target.txt 文件,将 ACTIVE_PLATFORM 属性值设置为 OvmfPkg/OvmfPkgX64.dsc。

  3. 编辑 OvmfPkg/OvmfPkgX64.dsc,并在文件末尾添加以下行:

root@kitploit:~
#
root@kitploit:~
# 3-rd party drivers
#
SmmBackdoor/SmmBackdoor.inf {
  <LibraryClasses>
    DebugLib|OvmfPkg/Library/PlatformDebugLibIoPort/PlatformDebugLibIoPort.inf
    MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
}

4. 打开 Visual Studio 2008 命令提示符,并 cd 到 EDK2 目录。

  1. 执行 Edk2Setup.bat --pull 来配置构建环境并下载所需的二进制文件。

  2. cd SmmBackdoor && build

  3. 编译后,生成的 PE 镜像文件将位于 Build/OvmfX64/DEBUG_VS2008x86/X64/SmmBackdoor/SmmBackdoor/OUTPUT/SmmBackdoor.efi

以 Intel DQ77KB 主板为例,将 SmmBackdoor.efi 作为感染载荷运行:

  1. 使用硬件 SPI 编程器转储主板固件。

  2. 在 UEFITool 中打开转储的闪存镜像。

  3. 提取 GUID = 26A2481E-4424-46A2-9943-CC4039EAD8F8 的 FFS 文件的 PE 镜像,并将其保存为 extracted.bin 文件。

  4. 使用 SmmBackdoor.py 将 SmmBackdoor.efi 注入提取出的镜像:

root@kitploit:~
$ python SmmBackdoor.py --infect extracted.bin --output infected.bin --payload SmmBackdoor.efi
  1. 在 UEFITool 中,用 infected.bin 替换原始 PE 镜像。

  2. 将修改后的闪存镜像保存到文件,并使用编程器将其写入主板 ROM。

该后门还具有调试输出功能,可以在屏幕上查看 DXE 阶段的调试消息,并通过 COM 端口接收运行时阶段的调试消息。

要使用 SmmBackdoor.py,你需要安装 pefile Python 库(https://pypi.python.org/pypi/pefile)和 CHIPSEC 框架(https://github.com/chipsec/chipsec),包括其 Python 绑定。

支持的命令:

  • SmmBackdoor.py --infect <source_path> --output <dest_path> --payload <payload_path> - 使用指定的后门代码感染 DXE 驱动程序的 PE 镜像。

  • SmmBackdoor.py --test - 检查后门是否存在,并打印来自 BACKDOOR_INFO 结构的状态信息。

  • SmmBackdoor.py --dump-smram - 将所有可用的 SMRAM 区域转储到文件中。

  • SmmBackdoor.py --read-phys

    - 打印给定地址处物理内存页的十六进制转储。

  • SmmBackdoor.py --read-virt

    - 打印给定地址处虚拟内存页的十六进制转储。

  • SmmBackdoor.py --timer-enable - 启用周期性定时器 SMI,这是 smm_call 所必需的(默认已启用)。

  • SmmBackdoor.py --timer-disable - 禁用周期性定时器 SMI。

smm_call 用法:

  • smm_call [<arg_1> [<arg_2>]] - 向 SMM 后门发送指定的控制代码和参数。

  • smm_call --privesc - 请求后门为调用者进程授予 root 权限,并运行命令 shell。

请注意,此代码仅在 Intel DQ77KB 主板上测试过。你可以尝试在任何其他兼容 UEFI 的硬件上运行它,但部分后门功能可能无法正常工作。

作者: Dmytro Oleksiuk (aka Cr4sh)

[email protected] http://blog.cr4.sh

下载工具