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
drow — Injiziert Code in ELF-Programme nach dem Build | Kitploit
Tools/GitHubGitHub/zznop/drow
ExploitationReverse EngineeringBinäranalyseBinary-Exploitation
GitHubzznop/drow

drow

Injiziert Code in ELF-Programme nach dem Build

Repository anzeigen
23634vor 2 JahrenVon 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

drow Build Status

demo ich

Beschreibung

TL;DR

drow ist ein Kommandozeilenwerkzeug, das zum Injizieren von Code und zum Haken des Einstiegspunkts von ELF-Programmen (nach dem Build) verwendet wird. Es nimmt unveränderte ELF-Programme als Eingabe und exportiert eine modifizierte ELF-Datei, die eine benutzergegebene Nutzlast enthält, die zur Laufzeit ausgeführt wird.

Etwas detaillierter …

Drow führt die folgenden Schritte aus, um das neue gepatchte ELF zu erstellen:

  1. Einblenden der unveränderten Ziel-ELF-Datei und der benutzergegebenen Nutzlast, eines positionsunabhängigen Blobs
  2. Lokalisieren des ersten ausführbaren Segments durch Parsen der Programmheader
  3. Lokalisieren des letzten Abschnitts im ausführbaren Segment durch Parsen der Abschnittsthesen
  4. Erweitern des sh_size-Felds des letzten Abschnitts (im Segment) sowie der Felder p_memsz/p_filesz des Programmheaders um die Größe der benutzergegebenen Nutzlast
  5. Korrektur der sh_offsets der Abschnittsthesen und der p_offsets der Programmheader (Abschnitte und Segmente werden nach unten verschoben, um Platz für die Nutzlast und einen kleinen "Stager-Stub" zu schaffen)
  6. Korrektur der Offsets im ELF-Header (e_shoff, e_phoff, usw.)
  7. Ändern des e_entry-Felds im ELF-Header (Offset des ELF-Einstiegspunkts), sodass es auf den injizierten Code zeigt
  8. Erstellen eines neuen ELF-Objekts, das den injizierten Code und die modifizierten ELF-Header enthält

Zusätzlich zum Injizieren der benutzergegebenen Nutzlast injiziert drow einen kleinen Code-Stub, der an den Anfang der Nutzlast gestellt wird. Dieser Stub soll in die Nutzlast springen. Wenn die Nutzlast so geschrieben ist, dass sie zum Aufrufer zurückkehrt, führt der Stager nach der Rückkehr aus der Nutzlast einen Tail-Call in _start aus und stellt so die Ausführung wieder her, damit das Programm wie vorgesehen laufen kann.

Bauen

Installieren Sie gcc und scons. Führen Sie dann scons aus dem Stammverzeichnis des Ordners aus.

Weitere Informationen

Neben dem Bauen von drow erstellt dieses Projekt auch eine Linux x86-64-Nutzlast namens rappers_delight.bin, die einfach auf stdout ausgibt. Diese kann zum Testen verwendet werden. Derzeit funktioniert drow nur mit ELF64-Dateien, die auf x86-64 abzielen.

Andere Arbeiten

Es gibt viele Open-Source-Arbeiten in diesem Bereich. Ich empfehle Ihnen, auch die folgenden Projekte und die zugehörigen Veröffentlichungen anzusehen:

  • The Cerberus ELF Interface: http://phrack.org/issues/61/8.html
  • The Backdoor Factory: https://github.com/secretsquirrel/the-backdoor-factory
  • ELFSH: http://www.eresi-project.org/
Tool herunterladen