Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
Tools/GitHubGitHub/ufrisk/pcileech
Privilege EscalationSpeicherforensikExploitationPost-ExploitationDigitale ForensikPenetrationstestsHardware-SicherheitRed TeamingRemote-Access-ToolPayload-Entwicklung
GitHubufrisk/pcileech

pcileech

7.9k1.0k2vor 26 TagenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Direct Memory Access (DMA) Angriffssoftware

Repository anzeigen

PCILeech Zusammenfassung:

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.

Fähigkeiten:

  • Speicher vom Zielsystem mit >150 MB/s abrufen.
  • Remote-Speicher von einem entfernten LeechService abrufen.
  • Daten in den Zielsystemspeicher schreiben.
  • 4 GB Speicher können im nativen DMA-Modus (USB3380-Hardware) zugegriffen werden.
  • Der GESAMTE Speicher kann im nativen DMA-Modus (FPGA-Hardware) zugegriffen werden.
  • Der GESAMTE Speicher kann zugegriffen werden, wenn ein Kernelmodul (KMD) geladen ist.
  • Raw PCIe TLP Zugriff (FPGA-Hardware).
  • Live-RAM als Datei einbinden [Linux, Windows, macOS Sierra*].
  • Dateisystem als Laufwerk einbinden [Linux, Windows, macOS Sierra*].
  • Kernelcode auf dem Zielsystem ausführen.
  • System-Shell und andere ausführbare Dateien starten [Windows].
  • Dateien ziehen und schieben [Linux, FreeBSD, Windows, macOS Sierra*].
  • Patchen / Entsperren (Passwortanforderung entfernen) [Windows, macOS Sierra*].
  • Einfaches Erstellen eigener Kernel-Shellcodes und/oder benutzerdefinierter Signaturen.
  • Verbindung zu einem entfernten LeechAgent über das Netzwerk herstellen, um aus der Ferne:
    • Physikalischen Speicher über das Netzwerk auszudumpen.
    • Python-Speicheranalyse-Skripte auf dem entfernten Host auszuführen.
  • Noch mehr Funktionen, die hier nicht aufgeführt sind ...

*) macOS High Sierra und höher werden nicht unterstützt.

Speichererfassungsmethoden:

PCILeech unterstützt sowohl hardwarebasierte als auch softwarebasierte Methoden der Speichererfassung. Die gesamte Speichererfassung wird von der LeechCore-Bibliothek verwaltet.

Hardwarebasierte Speichererfassungsmethoden:

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.

Softwarebasierte Speichererfassungsmethoden:

Nachfolgend finden Sie eine Zusammenfassung der unterstützten softwarebasierten Speichererfassungsmethoden. Bitte beachten Sie, dass der LeechService lediglich eine Netzwerkverbindung zu einer entfernten LeechCore-Bibliothek bereitstellt. Nach der Verbindung können sowohl hardware- als auch softwarebasierte Speichererfassung verwendet werden.

Installation von PCILeech:

Bitte stellen Sie sicher, dass Sie die aktuellste Version von PCILeech haben, indem Sie das PCILeech GitHub-Repository besuchen unter: https://github.com/ufrisk/pcileech

Holen Sie sich die neuesten Binärdateien, Module und Konfigurationsdateien aus dem neuesten Release. Alternativ klonen Sie das Repository und bauen Sie aus dem Quellcode.

Windows:

Weitere Informationen zur Ausführung von PCILeech unter Windows finden Sie im PCILeech unter Windows-Leitfaden.

Der Google Android USB-Treiber muss installiert sein, wenn USB3380-Hardware verwendet wird. Laden Sie den Google Android USB-Treiber herunter von: http://developer.android.com/sdk/win-usb.html#download Entpacken Sie den Treiber.
FTDI-Treiber müssen installiert sein, wenn FPGA mit FT601 USB3-Addon-Karte oder PCIeScreamer verwendet wird. Laden Sie die 64-Bit FTD3XX.dll von FTDI herunter und platzieren Sie sie neben pcileech.exe.
Um Live-RAM und das Ziel-Dateisystem als Laufwerk unter Windows einzubinden, muss die Dokany2-Dateisystembibliothek installiert sein. Bitte laden Sie die neueste stabile Version von Dokany2 herunter und installieren Sie sie unter: https://github.com/dokan-dev/dokany/releases/latest

Linux:

Weitere Informationen zur Ausführung von PCILeech unter Linux finden Sie im PCILeech unter Linux-Leitfaden.

Beispiele:

Weitere Beispiele finden Sie auf den Projekt-Wiki-Seiten. Das Wiki befindet sich in der Aufbauphase und Informationen können noch fehlen.

Live-RAM und Dateisystem des Zielsystems einbinden, erfordert, dass ein KMD geladen ist. In diesem Beispiel wird 0x11abc000 verwendet.

  • pcileech.exe mount -kmd 0x11abc000

Hilfe für ein bestimmtes Kernel-Implantat anzeigen, in diesem Fall das lx64_filepull Kernel-Implantat.

  • pcileech.exe lx64_filepull -help

Hilfe für den dump-Befehl anzeigen.

  • pcileech.exe dump -help

Den gesamten Speicher des Zielsystems ausdumpen, vorausgesetzt, ein Kernelmodul ist an Adresse: 0x7fffe000 geladen.

  • pcileech.exe dump -kmd 0x7fffe000

Erzwungenes Dumpen des Speichers unter 4 GB, einschließlich zugänglicher speichergemappter Geräte, unter Verwendung des stabileren USB2-Ansatzes auf USB3380.

  • pcileech.exe dump -force -device usb3380://usb=2

PCIe TLPs (Transaction Layer Packets) empfangen und auf dem Bildschirm ausgeben (korrekt konfiguriertes FPGA-Entwicklungsboard erforderlich).

  • pcileech.exe tlp -vv -wait 1000

Den Speicher des Zielsystems nach lesbaren Speicherseiten und maximalem Speicher durchsuchen/Auflisten (nur FPGA-Hardware).

  • pcileech.exe probe

Den gesamten Speicher zwischen den Adressen min und max dumpen, nicht bei fehlgeschlagenen Seiten anhalten. Nativer Zugriff auf 64-Bit-Speicher wird nur auf FPGA-Hardware unterstützt.

  • pcileech.exe dump -min 0x0 -max 0x21e5fffff -force

Den gesamten Speicher dumpen, versuchen, die Speicherkarte aus der Zielsystem-Registry zu ermitteln, um das Dumpen von potenziell ungültigem Speicher zu vermeiden, der das Zielsystem einfrieren könnte.

  • pcileech.exe dump -memmap auto

Die Verwendung eines bestimmten Geräts erzwingen (anstatt es standardmäßig automatisch zu erkennen). Das pmem-Gerät wird nicht automatisch erkannt.

  • pcileech.exe pagedisplay -min 0x1000 -device pmem

Remote-Speicher von einem entfernten LeechAgent dumpen, wobei die Verbindung durch Kerberos verschlüsselt und gegenseitig authentifiziert wird.

  • pcileech.exe dump -device pmem -remote rpc://[email protected]

Das Python-Analyse-Skript find-rwx.py auf einem entfernten Computer ausführen, unter Verwendung der eingebetteten Python-Umgebung des LeechAgent.

  • pcileech.exe agent-execpy -in find-rwx.py -device pmem -remote rpc://[email protected]

Virtuellen Prozessspeicher der PID 432 patchen (in diesem Beispiel lsass.exe).

  • pcileech.exe patch -pid 432 -sig unlock_win10x64.sig

Einschränkungen/Bekannte Probleme:

  • Funktioniert nicht, wenn das Betriebssystem den IOMMU/VT-d verwendet. Dies ist standardmäßig auf macOS der Fall (es sei denn, es wird im Wiederherstellungsmodus deaktiviert). Windows 10/11 mit aktivierten Virtualisierungsbasierten Sicherheitsfunktionen funktioniert nicht vollständig.
  • Neuere Windows- und Linux-Versionen blockieren DMA standardmäßig.

PCILeech und MemProcFS Community:

Finden Sie das alles etwas überwältigend? Oder möchten Sie einfach nur eine schnelle Frage stellen? Treten Sie der PCILeech und MemProcFS DMA-Community auf Discord bei!

Erstellen:

Die Binärdateien befinden sich im Releases-Bereich dieses Repositorys. Wenn Sie eine eigene Version erstellen möchten, ist das möglich. Weitere Informationen zum Erstellen von PCILeech finden Sie im PCILeech unter Windows oder PCILeech unter Linux. PCILeech ist auch abhängig von LeechCore und optional (für einige zusätzliche Funktionen) vom Memory Process File System, die beide separat erstellt werden müssen.

Beitragen:

PCILeech, MemProcFS und LeechCore sind Open Source, aber nicht für offene Beiträge. PCILeech, MemProcFS und LeechCore bieten eine hochflexible Plugin-Architektur, die Beiträge in Form von Plugins ermöglicht. Wenn Sie einen Beitrag, der kein Plugin ist, zu den Kernprojekten leisten möchten, kontaktieren Sie mich bitte, bevor Sie mit der Entwicklung beginnen.

Links:

  • Twitter: Twitter
  • Discord: Discord - PCILeech/MemProcFS
  • PCILeech: https://github.com/ufrisk/pcileech
  • PCILeech FPGA: https://github.com/ufrisk/pcileech-fpga
  • LeechCore: https://github.com/ufrisk/LeechCore
  • MemProcFS: https://github.com/ufrisk/MemProcFS
  • Blog: http://blog.frizk.net
  • PushPin: GUI für PCILeech: https://github.com/LuckyPi/PushPin

Änderungsprotokoll:

Vorherige Versionen (zum Erweitern anklicken):

v1.0-v3.6

  • Erstveröffentlichung und verschiedene Aktualisierungen. Bitte entnehmen Sie den einzelnen Versionen weitere Informationen.

v4.0

  • Größere Bereinigung und interne Umstrukturierungen.
  • FPGA Maximal-Speicher automatische Erkennung und stabilere Dumping-Strategie.
  • Neue stabile Windows 10 Kernel-Injects mit FPGA-Hardware auf Systemen ohne virtualisierungsbasierte Sicherheit.
  • Benutzermodus-Injects (experimentell).
  • Entfernung der integrierten Geräteunterstützung - die LeechCore-Bibliothek leechcore.dll/leechcore.so wird stattdessen verwendet. Neue Geräte umfassen:
    • Speicherdump-Dateien (rohe lineare Dump-Dateien und Microsoft Crash Dump-Dateien).
    • Hyper-V Sicherungsdateien.
    • Livespeicher über DumpIt / WinPmem.
    • Remote-Geräte über die -remote-Einstellung.
  • Entfernung der API und des integrierten Memory Process File System - bitte verwenden Sie stattdessen die leistungsfähigeren APIs in LeechCore und Memory Process File System.
  • Zahlreiche andere Änderungen und Syntaxaktualisierungen.

v4.1

  • LeechAgent-Unterstützung – Remote-Speichererfassung und -Analyse.

v4.2

  • Signaturaktualisierungen:
    • Linux Kernelmodul - LINUX_X64_48 (neueste Versionen)
    • Win10 1903 Kernelmodul - WIN10_X64_2 (erfordert Windows-Version von PCILeech)

v4.3

  • Fehlerbehebungen.
  • Unterstützung für neues Gerät (NeTV2 / RawUDP) über LeechCore-Bibliothek.

v4.4

  • Fehlerbehebungen und Stabilitätsverbesserungen.
  • Unterstützung für MemProcFS v3-Bibliothek.

v4.10

  • Linux-Unterstützung für in Windows eingebaute Signaturen (Abhängigkeit von MemProcFS v4.0).
  • Separate Versionen für Windows und Linux.
  • Allgemeine Bereinigung.

v4.11

  • Unterstützung für VMWare Workstation/Player Live-VM-Speicher.
  • Unterstützung für Remote-Speicheranalyse mit dem LeechAgent-Befehl agent-forensic.
    • Führt MemProcFS forensischen Modus remote aus.
    • Ruft ElasticSearch-kompatible JSON-Daten ab.

v4.12

  • 32-Bit-Unterstützung (pcileech-Binärdatei).

v4.13

  • Fehlerbehebungen.
  • Mount-Verbesserungen:
    • Windows-Host-Dateisystemunterstützung: Upgrade auf Dokany2 (NB! Dokany2 muss installiert werden!).
    • Linux-Host-Dateisystemunterstützung: FUSE-Unterstützung hinzugefügt.
      Beispiel: ./pcileech mount /home/user/fusemnt/leechfs -kmd <your_kmd_address>
    • Jetzt möglich, auf andere lokale Laufwerke als C: auf Windows-Zielen zuzugreifen.
  • Visual Studio 2022 Unterstützung.

v4.14

  • Unterstützung für virtuellen Prozessspeicher (nur Windows).
    • Befehle: search, patch, write, display, pagedisplay
    • Beispiel: pcileech patch -pid 732 -sig unlock_win10x64.sig

v4.15

  • Unterstützung für MemProcFS v5.0

v4.16

  • FPGA-Leistungsverbesserungen.
  • Befehl none hinzugefügt.
  • Optionen -bar-ro und -bar-rw hinzugefügt.

v4.17

  • I/O BAR-Unterstützung.
  • Linux-Verbesserungen:
    • KMD-Signaturaktualisierung (LINUX_X64_48) zur Unterstützung neuester Ubuntu-Kernel.
    • Aktualisierung von Kernelmodulen zur Unterstützung neuester Kernel.
    • Neue KMD-Signatur - LINUX_X64_MAP - geben Sie das Zielsystem-Kernel System.map in der -in-Option an.
    • Neues Kernelmodul: lx64_exec_root.
  • Linux PCIe FPGA-Leistungsverbesserungen.v4.18
  • Benchmark-Befehl hinzugefügt.
  • Entsperr-Signaturen aktualisiert.
  • -psname-Option hinzugefügt.

v4.19

  • Linux-Stabilitätsverbesserungen und Erweiterungen beim Laden von Kernelmodulen.
  • Linux clang-Kompilierungsunterstützung.
  • macOS-Unterstützung.

Neueste:

  • Fehlerbehebungen.
  • Linux LeechAgent-Unterstützung mit gRPC (LeechCore v2.21).
  • Hinzugefügt: -no-kmd-mem-Option, um den KMD-Speicherzugriff bei geladenem KMD optional zu deaktivieren (kann in manchen Fällen aus Stabilitätsgründen nützlich sein).
  • Hinzugefügt: -kmd WIN11_X64 - Windows 11 KMD-Signatur (Alias für WIN10_X64_3).
Tool herunterladen
GerätTypSchnittstelleGeschwindigkeit64-Bit-SpeicherzugriffPCIe TLP ZugriffProjekt
Sponsor
ZDMAFPGAThunderbolt31000MB/sJaJa💖
GBOXFPGAOCuLink400MB/sJaJa💖
LeetDMAFPGAUSB-C190MB/sJaJa💖
CaptainDMA M2FPGAUSB-C190MB/sJaJa💖
CaptainDMA M2 100TFPGAUSB-C220MB/sJaJa💖
CaptainDMA 4.1thFPGAUSB-C190MB/sJaJa💖
CaptainDMA 75TFPGAUSB-C200MB/sJaJa💖
CaptainDMA 100TFPGAUSB-C220MB/sJaJa💖
AC701/FT601FPGAUSB3190MB/sJaJa
USB3380-EVBUSB3380USB3150MB/sNeinNein
DMA-gepatchter HP iLOBMCTCP1MB/sJaNein
GerätTypFlüchtigSchreibenLinux UnterstützungPlugin
RAW physischer SpeicherdumpDateiNeinNeinJaNein
Vollständiger Microsoft Crash DumpDateiNeinNeinJaNein
Vollständiger ELF Core DumpDateiNeinNeinJaNein
VMwareLive SpeicherJaJaNeinNein
VMware Speicher-Save-DateiDateiNeinNeinJaNein
TotalMeltdownCVE-2018-1038JaJaNeinNein
DumpIt /LIVEKDLive SpeicherJaNeinNeinNein
WinPMEMLive SpeicherJaNeinNeinNein
LiveKdLive SpeicherJaNeinNeinNein
LiveCloudKdLive SpeicherJaJaNeinJa
Hyper-V Gespeicherter ZustandDateiNeinNeinNeinJa
LeechAgent*RemoteNeinNein
  • Codesignierung von Binärdateien.
  • "tlploop"-Befehl.
  • v4.5

    • Fehlerbehebungen.
    • Unterstützung für v2 der LeechCore-Speichererfassungsbibliothek.
    • MemProcFS-Integration bei Ausführung unter Windows.
    • Unterstützung für benutzerdefinierte physische Speicherkarte (-memmap Option).

    v4.6

    • Unterstützung für LiveCloudKd.

    v4.7

    • Fehlerbehebungen.
    • WIN10_X64_3 neue stabile Kernel-Signatur für Windows 10 - einschließlich Win10 2004 Release.
    • Entsperrungs-Signaturaktualisierungen - Win10/Linux (NB! die neuesten Kernel unter Linux werden noch nicht unterstützt).

    v4.8

    • Fehlerbehebungen.
    • Bessere Unterstützung für aktuelle x64 Linux-Kernel.

    v4.9

    • Fehlerbehebungen.
    • Signaturaktualisierungen.
    • Bessere Unterstützung für aktuelle x64 Linux-Kernel (Ubuntu 21.04).
    • Unmount des gemounteten Treibers bei Drücken von STRG+C.