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
cve-2015-3456 — Experimente im Zusammenhang mit CVE-2015-3456 | Kitploit
Tools/GitHubGitHub/vincentbernat/cve-2015-3456
SchwachstellenanalyseExploitationFuzzingPapers & ForschungLernen & BildungBinary-Exploitation
GitHubvincentbernat/cve-2015-3456

cve-2015-3456

Experimente im Zusammenhang mit CVE-2015-3456

Repository anzeigen
133vor 11 JahrenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Experimente im Zusammenhang mit CVE-2015-3456

Es gibt:

  • exploit/ ist ein "Exploit" (es stürzt QEMU einfach ab).
  • mock/ enthält eine abgespeckte Version von QEMU. Nur die Schwachstelle bleibt erhalten.
  • patch/ enthält ein Programm, um eine laufende Instanz von QEMU zu patchen. Der Hauptpunkt ist, dass weder Debugsymbole noch das ursprüngliche ausführbare Programm auf der Festplatte benötigt werden. Daher müssen einige Informationen bereitgestellt werden, damit dieses Programm wie erwartet funktioniert.

Die Hauptidee hinter dem gesamten Live-Patching ist es, das command_to_handler-Array zu modifizieren, sodass jeder Befehl auf die "nicht implementierte"-Funktion zeigt. Während der Prozess teilweise durch ptrace (nur der Hauptthread) gestoppt wird, scheint dies eine sichere Methode zu sein, um die Schwachstelle zu beheben (solange es einem egal ist, dass der Diskettencontroller nicht mehr funktioniert).

Diese Art des Patchens funktioniert, weil command_to_handler eine statische nicht initialisierte Variable ist und daher im BSS-Segment landet, welches beschreibbar ist. Außerdem ist, außer bei PIE, die Position dieses Segments im Speicher zur Kompilierungszeit bekannt. Leider wird QEMU normalerweise als PIE kompiliert, und daher ist das nicht der Fall.

Natürlich: Verwendung auf eigene Gefahr: Das Ändern eines laufenden Prozesses könnte Chaos in der Welt anrichten!

Detailliertere Informationen sind hier verfügbar: http://vincent.bernat.im/en/blog/2015-hotfix-qemu-venom.html

Um Live-Patching besser zu verstehen, hier einige Links:

  • http://duartes.org/gustavo/blog/post/anatomy-of-a-program-in-memory/
  • https://lwn.net/Articles/631631/
  • http://www.openbsd.org/papers/nycbsdcon08-pie/index.html
  • https://www.technovelty.org/linux/plt-and-got-the-key-to-code-sharing-and-dynamic-libraries.html
  • http://phrack.org/issues/59/8.html
  • http://www.hick.org/code/skape/papers/needle.txt
Tool herunterladen