
Software de Ataque de Acesso Direto à Memória (DMA)
O PCILeech utiliza dispositivos de hardware PCIe para ler e escrever na memória do sistema alvo. Isso é alcançado usando DMA sobre PCIe. Nenhum driver é necessário no sistema alvo.
O PCILeech também funciona sem hardware, juntamente com uma ampla gama de métodos de aquisição de memória por software suportados pela biblioteca LeechCore - incluindo captura de memória remota ao vivo usando DumpIt ou WinPmem. O PCILeech também suporta captura local de memória e vários formatos de arquivo de dump de memória.
O PCILeech suporta múltiplos dispositivos de aquisição de memória. Tanto baseados em hardware quanto em software. O hardware baseado em USB3380 só consegue ler 4GB de memória nativamente, mas é capaz de ler toda a memória se um módulo de kernel (KMD) for primeiro inserido no kernel do sistema alvo. Hardware baseado em FPGA e métodos baseados em software conseguem ler toda a memória.
O PCILeech é capaz de inserir uma ampla gama de implantes de kernel nos kernels alvo - permitindo acesso fácil à RAM ao vivo e ao sistema de arquivos através de uma "unidade montada". Também é possível remover o requisito de senha de login, carregar drivers não assinados, executar código e gerar shells de sistema. O PCILeech funciona no Windows e Linux. Os sistemas alvo suportados atualmente são as versões x64 de: UEFI, Linux, FreeBSD e Windows. Isso requer acesso de escrita à memória (hardware USB3380, hardware FPGA, LiveCloudKd ou CVE-2018-1038 "Total Meltdown").
Para começar, clone as fontes do repositório ou baixe os binários, módulos e arquivos de configuração mais recentes.
A interface gráfica PushPin para PCILeech torna tarefas comuns de RedTeam super fáceis. Note que o PushPin não faz parte da distribuição oficial do PCILeech.







*) macOS High Sierra e versões posteriores não são suportados.
O PCILeech suporta métodos de aquisição de memória baseados em hardware e em software. Toda a aquisição de memória é gerenciada pela biblioteca LeechCore.
Por favor, encontre um resumo dos métodos de aquisição de memória baseados em hardware suportados listados abaixo. Todos os métodos de aquisição de memória baseados em hardware são suportados tanto no Windows quanto no Linux. Os métodos baseados em FPGA, no entanto, sofrem uma ligeira penalidade de desempenho no Linux e atingem no máximo aproximadamente: 90MB/s em comparação com 150MB/s no Windows.
| Dispositivo | Tipo | Interface | Velocidade | Acesso à memória 64-bit | Acesso TLP PCIe | Patrocinador do Projeto |
|---|---|---|---|---|---|---|
| ZDMA | FPGA | Thunderbolt3 | 1000MB/s | Sim | Sim | 💖 |
| GBOX | FPGA | OCuLink | 400MB/s | Sim | Sim | 💖 |
| LeetDMA | FPGA | USB-C | 190MB/s | Sim | Sim | 💖 |
| CaptainDMA M2 | FPGA | USB-C | 190MB/s | Sim | Sim | 💖 |
| CaptainDMA M2 100T | FPGA | USB-C | 220MB/s | Sim | Sim | 💖 |
| CaptainDMA 4.1th | FPGA | USB-C | 190MB/s | Sim | Sim | 💖 |
| CaptainDMA 75T | FPGA | USB-C | 200MB/s | Sim | Sim | 💖 |
| CaptainDMA 100T | FPGA | USB-C | 220MB/s | Sim | Sim | 💖 |
| AC701/FT601 | FPGA | USB3 | 190MB/s | Sim | Sim | |
| USB3380-EVB | USB3380 | USB3 | 150MB/s | Não | Não | |
| DMA patched HP iLO | BMC | TCP | 1MB/s | Sim | Não |
Por favor, encontre um resumo dos métodos de aquisição de memória baseados em software suportados listados abaixo. Observe que o LeechService fornece apenas uma conexão de rede para uma biblioteca LeechCore remota. É possível usar métodos de aquisição de memória baseados em hardware e software depois de conectado.