Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

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

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

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
pcileech — 直接内存访问(DMA)攻击软件 | Kitploit
工具/GitHubGitHub/ufrisk/pcileech
权限提升内存取证漏洞利用后渗透利用数字取证渗透测试硬件安全红队远程访问工具Payload 开发
GitHubufrisk/pcileech

pcileech

7.9k1.0k5713天前Kitploit 审核通过

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

直接内存访问(DMA)攻击软件

查看仓库

PCILeech 简介:

PCILeech 使用 PCIe 硬件设备读取和写入目标系统内存。这是通过 PCIe 上的 DMA 实现的。目标系统上无需驱动程序。

PCILeech 也可以在没有硬件的情况下工作,配合 LeechCore 库支持的多种基于软件的内存获取方法——包括使用 DumpIt 或 WinPmem 捕获远程实时内存。PCILeech 还支持本地内存捕获以及多种内存转储文件格式。

PCILeech 支持多种内存获取设备,包括基于硬件和基于软件的方式。基于 USB3380 的硬件原生只能读取 4GB 内存,但如果先将内核模块(KMD)插入目标系统内核,则可以读取所有内存。基于 FPGA 的硬件以及基于软件的方法能够读取所有内存。

PCILeech 能够将多种内核植入程序注入目标内核——从而可以通过“挂载驱动器”轻松访问实时 RAM 和文件系统。还可以移除登录密码要求、加载未签名驱动程序、执行代码并生成系统 shell。PCILeech 可在 Windows 和 Linux 上运行。当前支持的目标系统为以下系统的 x64 版本:UEFI、Linux、FreeBSD 和 Windows。这需要对内存的写入权限(USB3380 硬件、FPGA 硬件、LiveCloudKd 或 CVE-2018-1038 “Total Meltdown”)。

要开始使用,请克隆仓库中的源代码,或下载最新的二进制文件、模块和配置文件。

PCILeech 的 PushPin GUI 前端让常见的 RedTeam 任务变得非常简单。请注意,PushPin 不是官方 PCILeech 发行版的一部分。

功能:

  • 以 >150MB/s 的速度从目标系统获取内存。
  • 从远程 LeechService 获取远程内存。
  • 向目标系统内存写入数据。
  • 在原生 DMA 模式下可访问 4GB 内存(USB3380 硬件)。
  • 在原生 DMA 模式下可访问所有内存(FPGA 硬件)。
  • 如果加载了内核模块(KMD),则可访问所有内存。
  • 原始 PCIe TLP 访问(FPGA 硬件)。
  • 将实时 RAM 挂载为文件 [Linux、Windows、macOS Sierra*]。
  • 将文件系统挂载为驱动器 [Linux、Windows、macOS Sierra*]。
  • 在目标系统上执行内核代码。
  • 生成系统 shell 和其他可执行文件 [Windows]。
  • 拉取和推送文件 [Linux、FreeBSD、Windows、macOS Sierra*]。
  • 修补/解锁(移除密码要求)[Windows、macOS Sierra*]。
  • 易于创建自己的内核 shellcode 和/或自定义签名。
  • 通过网络连接到远程 LeechAgent,以远程执行:
    • 通过网络转储物理内存。
    • 在远程主机上执行 Python 内存分析脚本。
  • 还有更多未在此列出的功能……

*) 不支持 macOS High Sierra 及更高版本。

内存获取方法:

PCILeech 支持基于硬件和基于软件的内存获取方法。所有内存获取均由 LeechCore 库处理。

基于硬件的内存获取方法:

请查看下面列出的受支持基于硬件的内存获取方法摘要。所有基于硬件的内存获取方法均支持 Windows 和 Linux。不过,基于 FPGA 的方法在 Linux 上会有轻微性能损失,最高约为 90MB/s,而在 Windows 上为 150MB/s。

设备类型接口速度64 位内存访问PCIe TLP 访问项目
赞助者
ZDMAFPGAThunderbolt31000MB/s是是💖
GBOXFPGAOCuLink400MB/s是是💖
LeetDMAFPGAUSB-C190MB/s是是💖
CaptainDMA M2FPGAUSB-C190MB/s是是💖
CaptainDMA M2 100TFPGAUSB-C220MB/s是是💖
CaptainDMA 4.1thFPGAUSB-C190MB/s是是💖
CaptainDMA 75TFPGAUSB-C200MB/s是是💖
CaptainDMA 100TFPGAUSB-C220MB/s是是💖
AC701/FT601FPGAUSB3190MB/s是是
USB3380-EVBUSB3380USB3150MB/s否否
DMA patched HP iLOBMCTCP1MB/s是否

基于软件的内存获取方法:

请查看下面列出的受支持基于软件的内存获取方法摘要。请注意,LeechService 仅提供到远程 LeechCore 库的网络连接。连接后,可以同时使用基于硬件和基于软件的内存获取。

设备类型易失性写入Linux 支持插件
RAW physical memory dump文件否否是否
Full Microsoft Crash Dump文件否否是否
Full ELF Core Dump文件否否是否
VMware实时 内存是是否否
VMware memory save file文件否否是否
TotalMeltdownCVE-2018-1038是是否否
DumpIt /LIVEKD实时 内存是否否否
WinPMEM实时 内存是否否否
LiveKd实时 内存是否否否
LiveCloudKd实时 内存是是否是
Hyper-V Saved State文件否否否是
LeechAgent*远程否否

安装 PCILeech:

请访问 PCILeech GitHub 仓库以确保您拥有最新版本的 PCILeech:https://github.com/ufrisk/pcileech

从最新发行版获取最新的二进制文件、模块和配置文件。或者克隆仓库并从源代码构建。

Windows:

有关在 Windows 上运行 PCILeech 的信息,请参阅 PCILeech on Windows 指南。

如果使用 USB3380 硬件,则必须安装 Google Android USB 驱动。从以下地址下载 Google Android USB 驱动:http://developer.android.com/sdk/win-usb.html#download 解压该驱动。
如果 FPGA 与 FT601 USB3 扩展卡或 PCIeScreamer 一起使用,则必须安装 FTDI 驱动。从 FTDI 下载 64 位 FTD3XX.dll 并将其放在 pcileech.exe 旁边。
要在 Windows 中将实时 RAM 和目标文件系统挂载为驱动器,必须安装 Dokany2 文件系统库。请从以下地址下载并安装最新稳定版 Dokany2:https://github.com/dokan-dev/dokany/releases/latest

下载工具