Skip to content
KitploitKITPLOIT
ToolsBlog
Log in
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/sh4den/cve-2022-23093
SchwachstellenanalyseExploitationShellcodePayload-EntwicklungBinary-Exploitation
GitHubsh4den/cve-2022-23093

CVE-2022-23093

Der FreeBSD ICMP Pufferüberlauf, freebsd Pufferüberlauf poc

Repository anzeigen
1027vor 2 MonatenNoch 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

CVE-2022-23093 FreeBSD Stack-basierter Überlauf

Informationen

Der standardmäßig verwendete Shellcode ist FreeBSD/x86-64 - execve - 28 Bytes von Gitsnik. Ändern Sie ihn und setzen Sie Ihren eigenen ein, um zu starten.

Details der Schwachstelle

Das Ping-Dienstprogramm, das zum Anfordern einer ICMP ECHO_RESPONSE von einem Host oder Gateway verwendet wird, wird mit einem IPv4-Ziel aufgerufen, entweder IPv4-Host oder IPv4-Multicast-Gruppe, durch das obligatorische ECHO_REQUEST-Datagramm des ICMP-Protokolls. Das ECHO_REQUEST-Datagramm besteht aus einem IP- und ICMP-Header, gefolgt von einem "struct timeval" und einer variablen Anzahl von "Pad"-Bytes, um das Paket zu füllen.

Gemäß dem Sicherheitshinweis des FreeBSD-Projekts ruft das Ping-Dienstprogramm rohe IP-Pakete aus dem Netzwerk ab, um Antworten innerhalb der Funktion pr_pack() zu verarbeiten. Bei der Antwortverarbeitung rekonstruiert Ping den IP-Header, ICMP-Header und, falls vorhanden, ein "quoted packet", das das Paket darstellt, das den ICMP-Fehler verursacht hat. Das quoted packet enthält ebenfalls einen IP-Header und einen ICMP-Header.

Die Funktion pr_pack() kopiert die empfangenen IP- und ICMP-Header in Stack-Puffer zur weiteren Verarbeitung. Sie berücksichtigt jedoch nicht die Möglichkeit von IP-Options-Headern nach dem IP-Header in der Antwort oder im quoted packet. Bei Vorhandensein von IP-Optionen überläuft pr_pack() den Zielpuffer um bis zu 40 Bytes.

Technische Analyse

Das Ping-Dienstprogramm läuft im Userspace, und beim Aufruf des Ping-Befehls wird die Binärdatei unter /sbin/ping ausgeführt. Der Quellcode des Dienstprogramms ist öffentlich im FreeBSD-Quellcode verfügbar. Die anfällige Funktion pr_pack() gibt die Antwortinformationen des ICMP-Pakets in einer Zeichenfolge auf stdout aus, z.B. "64 bytes from 1.3.3.7: icmp_seq=1 ttl=55 time=13.7 ms."

image

Das ICMP-Paket besteht sowohl in der Anfrage als auch in der Antwort aus IP-Headern mit einem optionalen Optionsfeld, wie im obigen Diagramm dargestellt. Bei einem böswilligen Angriff werden diese IP-Optionen aktiviert und mit Nicht-Null-Bytes gefüllt.

Wenn ein ICMP-Paket auf dem Weg zum Zielhost fehlerhaft oder absichtlich manipuliert wird und im ursprünglichen Echo-Request IP-Optionen aktiviert sind, kann die Funktion pr_pack() nicht genügend Platz auf dem Stack zuweisen, um die IP-Optionen zu berücksichtigen, was zu einem Stack-Überlauf führt.

In diesen Fehlerfällen kann die Antwort des Zielhosts auch ein "quoted packet" im Datenbereich enthalten, das das spezifische Paket identifiziert, das den ICMP-Fehler verursacht hat. Die Funktion pr_pack() überläuft den Stack, wenn das quoted packet ICMP-Header enthält.

Tool herunterladen