Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
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.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2025-5548 — Technische Studie der Schwachstelle CVE-2025-5548 | Kitploit
Tools/GitHubGitHub/cryptomachio/cve-2025-5548
SchwachstellenanalyseExploitationReverse EngineeringShellcodeDebuggerPenetrationstestsLernen & BildungPayload-EntwicklungBinary-ExploitationLabs & Praxis
GitHubcryptomachio/cve-2025-5548
16vor 5 MonatenNoch nicht geprüft

CVE-2025-5548

Technische Studie der Schwachstelle CVE-2025-5548

Repository anzeigen

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Technische Studie der Schwachstelle CVE-2025-5548

Einleitung

In dieser Arbeit wird die Schwachstelle CVE-2025-5548 analysiert, die mit einem Stack-Pufferüberlauf in FreeFloat FTP Server v1.0 verbunden ist. Das Hauptziel des Labors ist zu verstehen, wie eine anfällige Anwendung auf manipulierte Eingaben reagiert und in einer kontrollierten Umgebung zu beobachten, wie ein Validierungsfehler letztendlich den Ausführungsfluss des Programms beeinflussen kann.

Die Entwicklung des Repositorys beschränkt sich nicht auf die Darstellung des Endergebnisses, sondern erfasst den gesamten Forschungsprozess: Vorbereitung der Umgebung, Auswahl der Werkzeuge, Beobachtung des Fehlers, Speicheranalyse und Validierung der tatsächlichen Auswirkungen der Schwachstelle.


Organisation des Inhalts

Die Arbeit ist in zwei verschiedene Blöcke gegliedert.

Vorbereitung des Labors

In diesem Abschnitt wird erläutert, wie die Übungsumgebung aufgebaut wurde, welches Betriebssystem verwendet wurde, welche anfällige Anwendung vorliegt und welche Werkzeuge für die Analyse als notwendig erachtet wurden.

Durchführung der Analyse

Der zweite Teil konzentriert sich auf den praktischen Teil. Hier wird der Prozess beschrieben, der zur Erkennung des Fehlers, zur Bestätigung der Speicherkorruption, zur Untersuchung der Registerüberschreibung und zur Überprüfung, wie die Schwachstelle ausgenutzt werden kann, geführt hat.


1. Verwendetes Labor

Verwendetes System

Die Übung wurde auf einer virtuellen Maschine mit Windows 11 Pro 25H2 (Build 26200.6584) durchgeführt. Die ausgewählte anfällige Software war FreeFloat FTP Server v1.0, eine ältere Anwendung, die sich für diese Art von Übungen eignet, da ihr viele der üblichen Schutzmechanismen aktueller Programme fehlen.

Das Netzwerk der virtuellen Maschine wurde im NAT-Modus konfiguriert, was den Internetzugang zum Installieren von Abhängigkeiten, Herunterladen von Werkzeugen und Aufrechterhalten der grundlegenden Konnektivität des Labors ermöglichte.

Hauptwerkzeuge

Um alle Phasen der Analyse abzudecken, war es notwendig, auf mehrere Hilfsprogramme zurückzugreifen. Einige wurden zur Vorbereitung der Umgebung verwendet, andere zur Überprüfung der Binärdatei und wieder andere zur Beobachtung des Verhaltens des Prozesses beim Auftreten des Fehlers.

Grundlegende Hilfsprogramme

Git

Es wurde verwendet, um Repositorys herunterzuladen, bestimmte Ressourcen organisiert zu halten und die Verwaltung des während der Forschung verwendeten Materials zu erleichtern.

Nmap

Es wurde als Unterstützung verwendet, um die Konnektivität zu überprüfen, den exponierten Dienst zu identifizieren und sicherzustellen, dass das Ziel auf dem erwarteten Port korrekt antwortet.

Windows SDK

Es wurde installiert, um Bibliotheken, Header und Werkzeuge für Low-Level-Debugging- und Analyseaufgaben im Windows-System verfügbar zu haben.

Editoren und Entwicklungsumgebungen

Notepad++

Es wurde für schnelle Bearbeitungen, Überprüfung von Skripten und einfache Manipulation von Zeichenketten oder Testdaten verwendet.

Visual Studio Code

Diente als komfortable Umgebung zum Schreiben von Skripten, Testen von Automatisierungen und Arbeiten mit Code in geordneterer Weise.

PyCharm Community

War besonders nützlich, wenn längere Skripte überprüft oder eine mit dem Bau von Payloads zusammenhängende Logik debuggt werden musste.

Erforderliche Abhängigkeiten

Python

Es wurden zwei Versionen berücksichtigt:

  • Python 3 als Hauptoption für Scripting und moderne Automatisierung.
  • Python 2.7, notwendig für die Kompatibilität mit einigen klassischen Debugging-Werkzeugen, die in dieser Art von Labors verwendet werden.

Java JDK

War notwendig, um Ghidra auszuführen, da dieses Tool auf Java basiert.

Analyse- und Reversing-Werkzeuge

Immunity Debugger

Es wurde verwendet, um den Zustand des Programms während der Ausführung zu beobachten, Register zu überprüfen, Speicher zu untersuchen und den genauen Punkt zu analysieren, an dem der Fehler auftritt.

IDA Free

Es wurde in der Phase der statischen Analyse verwendet, um die Binärdatei zu überprüfen und Funktionen zu lokalisieren, die aus Sicherheitssicht verdächtig erschienen.

Ghidra

Es wurde als Unterstützung verwendet, um die interne Logik des anfälligen Programms zu dekompilieren und besser zu verstehen.

Mona

Dieses Plugin erleichterte Aufgaben wie die Erstellung von Mustern, die Berechnung des Offsets und die Identifizierung problematischer Zeichen in der Payload.

Anfällige Anwendung

Die Hauptkomponente des Labors war FreeFloat FTP Server v1.0, der als Zielsystem innerhalb des Proof-of-Concept fungiert. Sein Interesse liegt darin, dass er eine klassische Stack-Überlauf-Schwachstelle aufweist, was ihn zu einem sehr geeigneten Fall für die Ausbildung in der Analyse macht.

Allgemeine Beobachtung

Obwohl es bereits vorkonfigurierte virtuelle Maschinen für diese Art von Übungen gibt, wurde in diesem Fall darauf geachtet, die Umgebung zu dokumentieren und die verwendeten Werkzeuge zu begründen. Dies ermöglicht ein besseres Verständnis dafür, warum jede Anwendung Teil des Labors ist und welche Rolle sie während der Analyse spielt.


2. Analyse der Schwachstelle

Erste Erkennung

Der erste Schritt bestand darin, zu überprüfen, ob der FTP-Dienst erreichbar war und korrekt funktionierte. Nach Bestätigung der Konnektivität wurde die Binärdatei mit statischen Analysetools untersucht, um mögliche Schwachstellen im Zusammenhang mit der Zeichenkettenverwaltung zu lokalisieren.

Während dieser Überprüfung traten unsichere Funktionen wie strcpy und strcat auf, was den Verdacht verstärkte, dass der Dienst für übermäßig lange Eingaben anfällig sein könnte. Es wurden auch mehrere FTP-Protokollbefehle untersucht, die möglicherweise benutzergesteuerte Daten empfangen, und einer davon wurde als Hauptkandidat für die Tests ausgewählt.

Mit dieser Grundlage wurde der Prozess in einen Debugger geladen, um sein Verhalten während der Ausführung zu beobachten.


Überprüfung durch zunehmende Eingaben

Die nächste Phase bestand darin, immer längere Zeichenketten zu senden, um zu überprüfen, ob das Programm nicht mehr korrekt reagierte. Dieses Verfahren ermöglichte es festzustellen, dass der Dienst ab einer bestimmten Größe ausfiel und letztendlich eine Veränderung im Speicher verursachte.

Dieses Verhalten bestätigte, dass es sich nicht um einen einfachen oberflächlichen Validierungsfehler handelte, sondern um eine echte Korruption, die den Prozessablauf beeinflusste.


Genaue Lokalisierung des Überschreibungspunkts

Nachdem der Fehler ausgelöst wurde, war es notwendig, genau zu berechnen, wie viele Bytes benötigt wurden, um die Rücksprungadresse zu erreichen. Dazu wurde eine sich nicht wiederholende Sequenz verwendet, sodass der im EIP zum Zeitpunkt des Absturzes angezeigte Wert mit einer genauen Position innerhalb der gesendeten Eingabe in Verbindung gebracht werden konnte.

Dank dieses Verfahrens wurde der spezifische Offset ermittelt, der zum Überschreiben des Kontrollregisters erforderlich war.


Überprüfung der Ausführungskontrolle

Mit dem nun bekannten Offset wurde ein neuer Test vorbereitet, bei dem die Rücksprungadresse durch einen leicht erkennbaren Wert ersetzt wurde. Ziel war es zu überprüfen, ob das Programm eine kontrollierte Änderung von EIP erlaubt.

Der Test war erfolgreich, da der Debugger anzeigte, dass das Register genau den eingegebenen Wert enthielt. Dies zeigte, dass es möglich war, den Ausführungsfluss zu ändern und auf eine gewählte Adresse umzuleiten.


Überprüfung problematischer Zeichen

Tool herunterladen