
Logiciel d'attaque par accès direct à la mémoire (DMA)
PCILeech utilise des périphériques matériels PCIe pour lire et écrire dans la mémoire du système cible. Cela est réalisé en utilisant le DMA sur PCIe. Aucun pilote n'est nécessaire sur le système cible.
PCILeech fonctionne également sans matériel avec un large éventail de méthodes d'acquisition de mémoire logicielles prises en charge par la bibliothèque LeechCore - y compris la capture de mémoire vive distante à l'aide de DumpIt ou WinPmem. PCILeech prend également en charge la capture locale de mémoire et un certain nombre de formats de fichiers de vidage mémoire.
PCILeech prend en charge plusieurs périphériques d'acquisition de mémoire. À la fois matériels et logiciels. Le matériel basé sur USB3380 ne peut lire nativement que 4 Go de mémoire, mais peut lire toute la mémoire si un module noyau (KMD) est d'abord inséré dans le noyau du système cible. Le matériel basé sur FPGA, ainsi que les méthodes logicielles, peuvent lire toute la mémoire.
PCILeech est capable d'insérer un large éventail de modules noyau dans les noyaux ciblés - permettant un accès facile à la RAM vive et au système de fichiers via un « lecteur monté ». Il est également possible de supprimer l'exigence de mot de passe de connexion, de charger des pilotes non signés, d'exécuter du code et de lancer des shells système. PCIleech fonctionne sous Windows et Linux. Les systèmes cibles pris en charge sont actuellement les versions x64 de : UEFI, Linux, FreeBSD et Windows. Cela nécessite un accès en écriture à la mémoire (matériel USB3380, matériel FPGA, LiveCloudKd ou CVE-2018-1038 « Total Meltdown »).
Pour commencer, clonez les sources du dépôt ou téléchargez les derniers binaires, modules et fichiers de configuration.
L'interface graphique PushPin pour PCILeech rend les tâches RedTeam courantes extrêmement simples. Notez que PushPin ne fait pas partie de la distribution officielle de PCILeech.







*) macOS High Sierra et versions supérieures ne sont pas pris en charge.
PCILeech prend en charge les méthodes d'acquisition de mémoire à la fois matérielles et logicielles. Toute l'acquisition de mémoire est gérée par la bibliothèque LeechCore.
Veuillez trouver ci-dessous un résumé des méthodes d'acquisition de mémoire basées sur le matériel prises en charge. Toutes les méthodes d'acquisition de mémoire basées sur le matériel sont prises en charge sous Windows et Linux. Les méthodes basées sur FPGA présentent toutefois une légère pénalité de performance sous Linux et plafonneront à environ : 90 Mo/s contre 150 Mo/s sous Windows.
| Device | Type | Interface | Speed | 64-bit memory access | PCIe TLP access | Project Sponsor |
|---|---|---|---|---|---|---|
| ZDMA | FPGA | Thunderbolt3 | 1000MB/s | Yes | Yes | 💖 |
| GBOX | FPGA | OCuLink | 400MB/s | Yes | Yes | 💖 |
| LeetDMA | FPGA | USB-C | 190MB/s | Yes | Yes | 💖 |
| CaptainDMA M2 | FPGA | USB-C | 190MB/s | Yes | Yes | 💖 |
| CaptainDMA M2 100T | FPGA | USB-C | 220MB/s | Yes | Yes | 💖 |
| CaptainDMA 4.1th | FPGA | USB-C | 190MB/s | Yes | Yes | 💖 |
| CaptainDMA 75T | FPGA | USB-C | 200MB/s | Yes | Yes | 💖 |
| CaptainDMA 100T | FPGA | USB-C | 220MB/s | Yes | Yes | 💖 |
| AC701/FT601 | FPGA | USB3 | 190MB/s | Yes | Yes | |
| USB3380-EVB | USB3380 | USB3 | 150MB/s | No | No | |
| DMA patched HP iLO | BMC | TCP | 1MB/s | Yes | No |