
Software de Ataque de Acceso Directo a Memoria (DMA)
PCILeech utiliza dispositivos hardware PCIe para leer y escribir la memoria del sistema objetivo. Esto se logra usando DMA a través de PCIe. No se necesitan controladores en el sistema objetivo.
PCILeech también funciona sin hardware junto con una amplia gama de métodos de adquisición de memoria por software compatibles con la biblioteca LeechCore, incluyendo la captura de memoria viva remota usando DumpIt o WinPmem. PCILeech también admite la captura local de memoria y varios formatos de archivos de volcado de memoria.
PCILeech admite múltiples dispositivos de adquisición de memoria. Tanto basados en hardware como en software. El hardware basado en USB3380 solo puede leer 4 GB de memoria de forma nativa, pero puede leer toda la memoria si primero se inserta un módulo del kernel (KMD) en el kernel del sistema objetivo. El hardware basado en FPGA y los métodos basados en software pueden leer toda la memoria.
PCILeech es capaz de insertar una amplia gama de implantes de kernel en los kernels objetivo, lo que permite un fácil acceso a la RAM viva y al sistema de archivos a través de una "unidad montada". También es posible eliminar el requisito de contraseña de inicio de sesión, cargar controladores no firmados, ejecutar código y generar shells del sistema. PCILeech se ejecuta en Windows y Linux. Los sistemas objetivo compatibles actualmente son las versiones x64 de: UEFI, Linux, FreeBSD y Windows. Esto requiere acceso de escritura a la memoria (hardware USB3380, hardware FPGA, LiveCloudKd o CVE-2018-1038 "Total Meltdown").
Para comenzar, clone las fuentes en el repositorio o descargue los últimos binarios, módulos y archivos de configuración.
El frontend GUI PushPin para PCILeech hace que las tareas comunes de RedTeam sean muy fáciles. Tenga en cuenta que PushPin no forma parte de la distribución oficial de PCILeech.







*) macOS High Sierra y superiores no son compatibles.
PCILeech admite métodos de adquisición de memoria basados tanto en hardware como en software. Toda la adquisición de memoria es manejada por la biblioteca LeechCore.
A continuación encontrará un resumen de los métodos de adquisición de memoria basados en hardware compatibles. Todos los métodos de adquisición de memoria basados en hardware son compatibles tanto en Windows como en Linux. Sin embargo, los métodos basados en FPGA tienen una ligera penalización de rendimiento en Linux y alcanzarán un máximo de aproximadamente 90 MB/s en comparación con 150 MB/s en Windows.
| Dispositivo | Tipo | Interfaz | Velocidad | Acceso a memoria de 64 bits | Acceso PCIe TLP | Proyecto Patrocinador |
|---|---|---|---|---|---|---|
| ZDMA | FPGA | Thunderbolt3 | 1000MB/s | Sí | Sí | 💖 |
| GBOX | FPGA | OCuLink | 400MB/s | Sí | Sí | 💖 |
| LeetDMA | FPGA | USB-C | 190MB/s | Sí | Sí | 💖 |
| CaptainDMA M2 | FPGA | USB-C | 190MB/s | Sí | Sí | 💖 |
| CaptainDMA M2 100T | FPGA | USB-C | 220MB/s | Sí | Sí | 💖 |
| CaptainDMA 4.1th | FPGA | USB-C | 190MB/s | Sí | Sí | 💖 |
| CaptainDMA 75T | FPGA | USB-C | 200MB/s | Sí | Sí | 💖 |
| CaptainDMA 100T | FPGA | USB-C | 220MB/s | Sí | Sí | 💖 |
| AC701/FT601 | FPGA | USB3 | 190MB/s | Sí | Sí | |
| USB3380-EVB | USB3380 | USB3 | 150MB/s | No | No | |
| HP iLO con parche DMA | BMC | TCP | 1MB/s | Sí | No |