
Logiciel d'attaque par accès direct à la mémoire (DMA)
PCILeech utilise des périphériques matériels PCIe pour lire et écrire la mémoire du système cible. Ceci est réalisé en utilisant le DMA via PCIe. Aucun pilote n'est nécessaire sur le système cible.
PCILeech fonctionne également sans matériel, avec une large gamme de méthodes d'acquisition mémoire logicielles supportées par la bibliothèque LeechCore - y compris la capture de mémoire vive distante à l'aide de DumpIt ou WinPmem. PCILeech supporte également la capture locale de mémoire et un certain nombre de formats de fichiers de dump mémoire.
PCILeech supporte plusieurs dispositifs d'acquisition mémoire. À la fois matériels et logiciels. Le matériel basé sur USB3380 ne peut lire que 4 Go de mémoire nativement, 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 et les méthodes logicielles peuvent lire toute la mémoire.
PCILeech est capable d'insérer une large gamme d'implants 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 supportés 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.
Le frontend graphique PushPin pour PCILeech rend les tâches RedTeam courantes super faciles. Notez que PushPin ne fait pas partie de la distribution officielle de PCILeech.







*) macOS High Sierra et versions ultérieures ne sont pas supportés.
PCILeech supporte à la fois les méthodes d'acquisition mémoire matérielles et logicielles. Toute l'acquisition mémoire est gérée par la bibliothèque LeechCore.
Veuillez trouver ci-dessous un résumé des méthodes d'acquisition mémoire matérielles supportées. Toutes les méthodes d'acquisition mémoire matérielles sont supportées sur Windows et Linux. Les méthodes basées sur FPGA souffrent cependant d'une légère pénalité de performance sous Linux et culminent à environ 90 Mo/s contre 150 Mo/s sous Windows.
| Appareil | Type | Interface | Vitesse | Accès mémoire 64 bits | Accès TLP PCIe | Sponsor du projet |
|---|---|---|---|---|---|---|
| ZDMA | FPGA | Thunderbolt3 | 1000MB/s | Oui | Oui | 💖 |
| GBOX | FPGA | OCuLink | 400MB/s | Oui | Oui | 💖 |
| LeetDMA | FPGA | USB-C | 190MB/s | Oui | Oui | 💖 |
| CaptainDMA M2 | FPGA | USB-C | 190MB/s | Oui | Oui | 💖 |
| CaptainDMA M2 100T | FPGA | USB-C | 220MB/s | Oui | Oui | 💖 |
| CaptainDMA 4.1th | FPGA | USB-C | 190MB/s | Oui | Oui | 💖 |
| CaptainDMA 75T | FPGA | USB-C | 200MB/s | Oui | Oui | 💖 |
| CaptainDMA 100T | FPGA | USB-C | 220MB/s | Oui | Oui | 💖 |
| AC701/FT601 | FPGA | USB3 | 190MB/s | Oui | Oui | |
| USB3380-EVB | USB3380 | USB3 | 150MB/s | Non | Non | |
| DMA patched HP iLO | BMC | TCP | 1MB/s | Oui | Non |
Veuillez trouver ci-dessous un résumé des méthodes d'acquisition mémoire logicielles supportées. Veuillez noter que LeechService fournit uniquement une connexion réseau à une bibliothèque LeechCore distante. Il est possible d'utiliser à la fois l'acquisition mémoire matérielle et logicielle une fois connecté.