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
process-injection-playground — Eine Sammlung von Samples und Material im Zusammenhang mit Process Injection | Kitploit
Tools/GitHubGitHub/oscerd/process-injection-playground
CTFPenetrationstestsLernen & BildungRed TeamingPayload-EntwicklungBinary-Exploitation
GitHuboscerd/process-injection-playground

process-injection-playground

Eine Sammlung von Samples und Material im Zusammenhang mit Process Injection

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Repository anzeigen
1vor 8 MonatenNoch nicht geprüft

Linux Process Injection Playground

Eine umfassende Sammlung von Prozessinjektions-Techniken für Linux, die verschiedene Methoden zur Injektion von Code in laufende Prozesse demonstriert. Diese Beispiele dienen zu Bildungszwecken, für Sicherheitsforschung und zum Verständnis der Low-Level-Prozessmanipulation unter Linux.

Übersicht

Prozessinjektion ist eine Technik, um Code im Kontext eines anderen Prozesses auszuführen. Obwohl sie oft mit Malware in Verbindung gebracht wird, sind diese Techniken auch wertvoll für:

  • Sicherheitsforschung: Verständnis von Angriffsvektoren und Entwicklung von Abwehrmaßnahmen
  • Debugging: Analyse und Modifikation laufender Anwendungen
  • Instrumentierung: Leistungsprofilerstellung und Überwachung
  • Penetrationstests: Autorisierte Sicherheitsbewertungen
  • CTF-Wettbewerbe: Capture-The-Flag-Herausforderungen

Verfügbare Techniken

1. Ptrace-basierte Code-Injektion

Verzeichnis: ptrace/

Die klassische Methode der Prozessinjektion, die den Systemaufruf ptrace() verwendet, um Shellcode direkt in den Speicher eines Prozesses zu schreiben und die Ausführung umzuleiten.

Hauptmerkmale:

  • Direkte Speichermanipulation über PTRACE_POKETEXT
  • Übernahme des Instruction Pointers (RIP)
  • Injektion von rohem Shellcode

Anwendungsfall: Verständnis der Low-Level-Prozesssteuerung und direkter Code-Injektion

Weiterlesen →


2. LD_PRELOAD-Injektion

Verzeichnis: ld_preload/

Funktionsinterposition mithilfe der Umgebungsvariable LD_PRELOAD, um vor allen anderen Bibliotheken eine schädliche Bibliothek zu laden.

Hauptmerkmale:

  • Injektion über Umgebungsvariablen
  • Funktion-Hooking durch Symbol-Interposition
  • Konstruktor-/Destruktorfunktionen
  • Einfach zu implementieren, aber auch leicht zu erkennen

Anwendungsfall: Funktion-Hooking, API-Überwachung, Verhaltensänderung

Weiterlesen →


3. /proc/mem-Schreibinjektion

Verzeichnis: proc_mem/

Direktes Schreiben in den Speicher über die Dateisystemschnittstelle /proc/<pid>/mem, kombiniert mit ptrace zur Prozesssteuerung.

Hauptmerkmale:

  • Direkter Speicherzugriff über das Dateisystem
  • Effizienter als PTRACE_POKETEXT für große Payloads
  • Einzelner Schreibvorgang für den gesamten Shellcode
  • Keine Wortausrichtungsanforderungen

Anwendungsfall: Schnelle Massen-Speicherinjektion, Umgehung der Einschränkungen von ptrace

Weiterlesen →


4. dlopen()-Bibliotheksinjektion

Verzeichnis: dlopen_inject/

Anspruchsvolle Technik, die einen laufenden Prozess dazu zwingt, eine gemeinsame Bibliothek zu laden, indem die Ausführung gekapert wird, um dlopen() aufzurufen.

Hauptmerkmale:

  • Funktioniert bei bereits laufenden Prozessen (anders als LD_PRELOAD)
  • Persistent (die Bibliothek bleibt geladen)
  • Ermöglicht komplexe Payloads mit vollständigen Bibliotheksfunktionen
  • Kann Funktionen wie bei LD_PRELOAD hooken, jedoch nach dem Start

Anwendungsfall: Fortgeschrittene persistente Injektion, Laufzeit-Manipulation von Bibliotheken

Weiterlesen →


Schnellstart

Voraussetzungen

  • Linux-System (getestet auf x86_64)
  • GCC-Compiler
  • Root-Zugriff oder CAP_SYS_PTRACE-Fähigkeit
  • Make-Build-Tool

Alle Beispiele erstellen

root@kitploit:~
# Ptrace-Injektion erstellen
cd ptrace && make all

# LD_PRELOAD-Injektion erstellen
cd ../ld_preload && make all

# /proc/mem-Injektion erstellen
cd ../proc_mem && make all

# dlopen-Injektion erstellen
cd ../dlopen_inject && make all

Grundlegendes Verwendungsmuster

Jede Technik folgt einem ähnlichen Muster:

  1. Opferprozess starten:

    root@kitploit:~
    cd <technique>/victim-process
    ./sample
    

    Die angezeigte PID notieren

  2. Injektion durchführen:

    root@kitploit:~
    cd <technique>
    sudo ./<injector> <PID> [zusätzliche Argumente]
    
  3. Ergebnisse beobachten: Die Ausgabe des Opferprozesses auf die Ausführung des injizierten Codes prüfen

Technikspezifische Anweisungen finden Sie in den jeweiligen README-Dateien.

Vergleichsmatrix

Welche Technik wann verwenden?

  • ptrace: Grundlagen lernen, einfache Shellcode-Injektion
  • LD_PRELOAD: Schnelles Funktion-Hooking, Debugging, wenn Sie den Prozessstart kontrollieren
  • /proc/mem: Schnelle Injektion großer Payloads, wenn PTRACE_POKETEXT zu langsam ist
  • dlopen: Persistente Injektion, komplexe Payloads, wenn volle Bibliotheksfunktionen benötigt werden

Sicherheitshinweise

Abwehrmaßnahmen

  1. Yama ptrace_scope: ptrace auf privilegierte Benutzer beschränken

    root@kitploit:~
    echo 1 | sudo tee /proc/sys/kernel/yama/ptrace_scope
    
  2. SELinux/AppArmor: Obligatorische Zugriffskontrollen

  3. Überwachung: auditd verwenden, um ptrace- und Prozessinjektionsversuche zu protokollieren

    root@kitploit:~
    auditctl -a exit,always -F arch=b64 -S ptrace
    
  4. Laufzeit-Integritätsprüfung: Prozessspeicher regelmäßig verifizieren

  5. Codesignierung: Signaturen von Bibliotheken verifizieren

Erkennungsmethoden

  • /proc/<pid>/maps auf unerwartete Speicherbereiche oder Bibliotheken überwachen
  • Systemprotokolle auf ptrace-Attach-Versuche prüfen
  • Umgebungsvariablen (LD_PRELOAD) überprüfen
  • Tools wie lsof, pmap und Prozessüberwachungsprogramme verwenden
  • Kernel-Sicherheitsmodule aktivieren

Rechtlicher und ethischer Hinweis

WICHTIG: Diese Techniken sollten nur in autorisierten Kontexten verwendet werden:

Dieses Repository dient ausschließlich Bildungs- und Forschungszwecken. Die Autoren sind nicht verantwortlich für Missbrauch dieser Techniken. Holen Sie immer die entsprechende Genehmigung ein, bevor Sie Systeme testen.

Fehlerbehebung

Häufige Probleme

Fehlermeldungen "Permission denied":

  • Mit sudo ausführen
  • /proc/sys/kernel/yama/ptrace_scope prüfen
  • SELinux/AppArmor-Richtlinien überprüfen

Injektion schlägt still fehl:

  • Sicherstellen, dass der Zielprozess nicht statisch gelinkt ist
  • Prüfen, dass der Zielprozess die erforderlichen Bibliotheken geladen hat
  • Sicherstellen, dass der Shellcode für die Architektur korrekt ist

Segmentation Faults:

  • Sicherstellen, dass Sie sich auf der x86_64-Architektur befinden
  • Prüfen, dass der Zielprozess nicht geschützt ist
  • Korrekte Speicherausrichtung sicherstellen

Technikspezifische Hinweise zur Fehlerbehebung finden Sie in den jeweiligen README-Dateien.

Mitwirken

Beiträge sind willkommen! Mögliche Ergänzungen:

  • Zusätzliche Injektionstechniken (GOT/PLT-Hooking, VDSO-Manipulation usw.)
  • Windows-Äquivalente zum Vergleich
  • Erkennungs-/Schutztools
  • ARM-Architekturunterstützung
  • Zusätzliche Shellcode-Beispiele
  • Beispiele für defensive Programmierung

Referenzen

Dokumentation

  • man 2 ptrace – Systemaufruf zur Prozessverfolgung
  • man 5 proc – Dokumentation des /proc-Dateisystems
  • man 3 dlopen – Dynamisches Laden von Bibliotheken
  • Linux-Kernelquellcode: Prozessspeicherverwaltung

Verwandte Forschung

  • „Linux Process Injection“ – Techniken und Entwicklung
  • „Ptrace Injection“ – Methoden
  • „Shared Library Injection“ – Best Practices
  • MITRE ATT&CK: T1055 (Process Injection)

Lizenz

Siehe LICENSE.txt für Details.

Haftungsausschluss

Diese Software wird „wie besehen“ zu Bildungszwecken bereitgestellt. Verwenden Sie sie verantwortungsvoll und ethisch. Holen Sie immer die entsprechende Genehmigung ein, bevor Sie Sicherheitstechniken auf Systemen testen, die Ihnen nicht gehören.

Tool herunterladen
TechnikKomplexitätTarnungPersistenzGeschwindigkeitFunktioniert bei laufendem Prozess
ptraceMittelNiedrigNeinMittelJa
LD_PRELOADNiedrigSehr niedrigNeinSchnellNein
/proc/memMittelNiedrigNeinSchnellJa
dlopenHochMittelJaMittelJa