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
RingBufferDetonator — Exploit für CVE-2021-3679 und Dokument zur Behebung | Kitploit
Tools/GitHubGitHub/aegistudio/ringbufferdetonator
SchwachstellenanalyseExploitationPapers & ForschungLernen & Bildung
GitHubaegistudio/ringbufferdetonator

RingBufferDetonator

Exploit für CVE-2021-3679 und Dokument zur Behebung

Repository anzeigen
91vor 5 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

Ring Buffer Zünder

Dies ist ein Proof-of-Concept-Programm, um einen Logikfehler in rb_per_cpu_empty zu beweisen. Programme, die auf den Fehler treffen, werden in einer Kernelspace-Busy-Deadloop in tracing_read_pipe hängen und können nicht mit UNIX-Signalen (einschließlich SIGKILL) angehalten oder beendet werden.

Obwohl es ein ähnliches Verhalten (Deadloop & CPU-Auslastung) wie der Fehler der seq_buf_used-Berechnung zeigt, der in Linux 4.5 behoben wurde, soll dieses Programm die Existenz eines anderen Fehlers beweisen, der eine völlig andere Ursache hat und vermutlich in Kerneln der Versionen 3.10 bis 5.14-rc1 existiert (siehe auch POC-Ausführungsergebnis).

HAFTUNGSAUSSCHLUSS: Dieses Proof-of-Concept-Programm kann Ihr Linux zum Stillstand bringen, viel Strom verbrauchen und kann bei Aktivierung nicht mit UNIX-Signalen beendet werden. Verwendung auf eigene Gefahr.

Voraussetzungen & Ausführung

Diese Pakete oder Befehle müssen vor der Ausführung des Proof-of-Concept-Skripts installiert sein.

root@kitploit:~
gcc
realpath
nm

Bash und Zeichenfolgenverarbeitungsbefehle wie awk und grep werden ebenfalls benötigt und sind wahrscheinlich in Ihren Distributionen enthalten.

Obwohl es sich um ein Bash-Skript handelt, ist der Teil des Codes, der den uprobe angibt, plattformabhängig (wir können $argN in uprobe nicht verwenden), und wir unterstützen i386, x86_64, arm und aarch64. Fügen Sie gerne Ihre eigene Plattformunterstützung hinzu.

Um das Proof-of-Concept auszuführen, führen Sie einfach den folgenden Befehl mit Root-Rechten aus:

root@kitploit:~
./rbdetonate

Ergebnisse

5.14.0-rc2-00478-g2734d6c1b1a0.png

Wenn der Fehler durch das Proof-of-Concept ausgelöst wird, wird ein dd-Prozess gestartet, der einen ganzen CPU-Kern verbraucht, und er kann nicht allein mit UNIX-Signalen wie SIGKILL beendet werden.

Der bash-Prozess des rbdetonate-Skripts kann beendet werden, aber das Senden des SIGINT-Signals kann ihn je nach bash-Implementierung entweder beenden oder nicht. Und neuere Versionen von bash können nur dann durch SIGINT beendet werden, wenn der gestartete dd-Prozess läuft.

5.14.0-rc2-00479-g86020194bc7e.png

Das rbdetonate-Skript könnte beendet werden und Nothing buggy has been detected ausgeben, wenn es nach mehreren Versuchen keinen dd-Prozess erstellen kann. Dies könnte jedoch einige Zeit dauern, da wir 8192 Mal wiederholen.

Kommentar: Dieser Fehler existiert theoretisch in allen Versionen mit Userspace-Tracing-Funktion (>=3.10), aber ältere Kernelversionen haben den uprobe in vielerlei Hinsicht nicht richtig zum Laufen gebracht. Es wäre dankbar, wenn Sie uns helfen könnten, sein Verhalten zu korrigieren.

Häufig gestellte Fragen (FAQs)

  1. Nun, das Programm funktioniert, aber wie wird man dieses blutige Monster los?

A: Führen Sie einfach den Befehl echo > /sys/kernel/debug/tracing/instances/rbdetonate/trace mit Root-Rechten aus. Dies sollte das Programm aus der Deadloop holen.

  1. Sind Build-Tools für die Ausnutzung dieser Art erforderlich?

A: Nein. Die hier verwendeten Build-Tools dienen nur zum Erstellen des rbwrite-Programms, das deterministische Ergebnisse liefert, indem es in unseren entworfenen Schritten einfach auf Ringbuffer-Seiten auf CPU#0 schreibt.

Trivialerweise kann für dieses Proof-of-Concept auch eine kompilierte Version des rbwrite-Programms wie ein Code verwendet werden, und die Adresse des Tracepoints könnte danach abgerufen werden.

Für die Verwendung des Linux-Tracings, wenn Ihnen das Rauschen durch Anwendungen nichts ausmacht, erzeugt das Hinzufügen von Kprobe-Tracepoints zu Syscalls und Kernelfunktionen ebenfalls Ereignisse. Aber für das Proof-of-Concept könnte dies Undeterminismus einführen und wird nicht bevorzugt.

Tool herunterladen
VersionReproduziertScreenshot
5.14.0-rc2-00479-g86020194bc7e (Fix version)N5.14.0-rc2-00479-g86020194bc7e.png
5.14.0-rc2-00478-g2734d6c1b1a0 (5.14.0-rc2)Y5.14.0-rc2-00478-g2734d6c1b1a0.png
5.4.0-77-genericY5.4.0-77-generic.png
4.4.0-142-genericY4.4.0-142-generic.png