
Direct Memory Access (DMA) Angriffssoftware
PCILeech nutzt PCIe-Hardwaregeräte, um Zielsystemspeicher zu lesen und zu schreiben. Dies wird durch DMA über PCIe erreicht. Auf dem Zielsystem sind keine Treiber erforderlich.
PCILeech funktioniert auch ohne Hardware zusammen mit einer Vielzahl von Software-Methoden zur Speichererfassung, die von der LeechCore-Bibliothek unterstützt werden – einschließlich der Erfassung von Remote-Live-Speicher mit DumpIt oder WinPmem. PCILeech unterstützt auch die lokale Erfassung von Speicher und eine Reihe von Speicherdump-Dateiformaten.
PCILeech unterstützt mehrere Speichererfassungsgeräte. Sowohl hardware- als auch softwarebasierte. USB3380-basierte Hardware kann nativ nur 4 GB Speicher lesen, ist aber in der Lage, den gesamten Speicher zu lesen, wenn zuerst ein Kernelmodul (KMD) in den Zielsystemkernel eingefügt wird. FPGA-basierte Hardware und softwarebasierte Methoden können den gesamten Speicher lesen.
PCILeech ist in der Lage, eine breite Palette von Kernel-Implants in die Zielkernel einzuschleusen – was einen einfachen Zugriff auf Live-RAM und das Dateisystem über ein „gemountetes Laufwerk“ ermöglicht. Es ist auch möglich, die Anforderung eines Anmeldepassworts zu entfernen, nicht signierte Treiber zu laden, Code auszuführen und System-Shells zu starten. PCILeech läuft unter Windows und Linux. Unterstützte Zielsysteme sind derzeit die x64-Versionen von: UEFI, Linux, FreeBSD und Windows. Dies erfordert Schreibzugriff auf den Speicher (USB3380-Hardware, FPGA-Hardware, LiveCloudKd oder CVE-2018-1038 „Total Meltdown“).
Um loszulegen, klonen Sie die Quellen im Repository oder laden Sie die neuesten Binärdateien, Module und Konfigurationsdateien herunter.
Das PushPin GUI Frontend für PCILeech macht gängige RedTeam-Aufgaben super einfach. Beachten Sie, dass PushPin nicht Teil der offiziellen PCILeech-Distribution ist.







*) macOS High Sierra und höher werden nicht unterstützt.
PCILeech unterstützt sowohl hardwarebasierte als auch softwarebasierte Methoden der Speichererfassung. Die gesamte Speichererfassung wird von der LeechCore-Bibliothek verwaltet.
Nachfolgend finden Sie eine Zusammenfassung der unterstützten hardwarebasierten Speichererfassungsmethoden. Alle hardwarebasierten Speichererfassungsmethoden werden sowohl unter Windows als auch unter Linux unterstützt. Die FPGA-basierten Methoden haben jedoch unter Linux einen leichten Leistungsnachteil und erreichen maximal etwa 90 MB/s im Vergleich zu 150 MB/s unter Windows.
| Gerät | Typ | Schnittstelle | Geschwindigkeit | 64-Bit-Speicherzugriff | PCIe TLP Zugriff | Projekt Sponsor |
|---|---|---|---|---|---|---|
| ZDMA | FPGA | Thunderbolt3 | 1000MB/s | Ja | Ja | 💖 |
| GBOX | FPGA | OCuLink | 400MB/s | Ja | Ja | 💖 |
| LeetDMA | FPGA | USB-C | 190MB/s | Ja | Ja | 💖 |
| CaptainDMA M2 | FPGA | USB-C | 190MB/s | Ja | Ja | 💖 |
| CaptainDMA M2 100T | FPGA | USB-C | 220MB/s | Ja | Ja | 💖 |
| CaptainDMA 4.1th | FPGA | USB-C | 190MB/s | Ja | Ja | 💖 |
| CaptainDMA 75T | FPGA | USB-C | 200MB/s | Ja | Ja | 💖 |
| CaptainDMA 100T | FPGA | USB-C | 220MB/s | Ja | Ja | 💖 |
| AC701/FT601 | FPGA | USB3 | 190MB/s | Ja | Ja | |
| USB3380-EVB | USB3380 | USB3 | 150MB/s | Nein | Nein | |
| DMA-gepatchter HP iLO | BMC | TCP | 1MB/s | Ja | Nein |