Rsync-Enumeration und anonymer Sync

LinuxBeginner
Jetzt üben

Einführung

Willkommen zu diesem praktischen Lab, das sich auf Rsync-Enumeration und -Ausnutzung konzentriert. Rsync ist ein weit verbreitetes Dienstprogramm zur Synchronisierung von Dateien und Verzeichnissen zwischen zwei Orten über ein Netzwerk. Obwohl es leistungsstark ist, kann es bei Fehlkonfigurationen sensible Daten preisgeben.

In diesem Lab simulieren Sie ein gängiges Szenario im Penetration Testing, bei dem ein Backup-Dienst falsch konfiguriert ist. Sie beginnen mit grundlegender Netzwerkerkundung, um zu bestätigen, dass das Ziel online ist. Als Nächstes verwenden Sie das Tool nmap, um nach dem Rsync-Dienst zu scannen. Sobald dieser identifiziert ist, enumerieren Sie verfügbare Freigaben und nutzen eine anonyme Zugriffskonfiguration aus, um Dateien vom Ziel herunterzuladen und schließlich eine versteckte Flagge zu erhalten.

Nach Abschluss werden Sie verstehen, wie Sie:

  • Die Netzwerkkonnektivität mit ping überprüfen.
  • Den Rsync-Dienst auf seinem Standardport mit nmap scannen.
  • Eine anonyme Rsync-Freigabe enumerieren und eine Verbindung dazu herstellen.
  • Dateien von einem entfernten Ziel auf Ihren lokalen Rechner synchronisieren.

Lassen Sie uns beginnen.

Konnektivität zum Ziel mit Ping überprüfen

In diesem Schritt bestätigen Sie zunächst, dass das Zielsystem von Ihrem Rechner aus erreichbar ist. Der Befehl ping ist ein Standard-Tool zur Netzwerkdiagnose, das ICMP Echo Request-Pakete an einen Host sendet, um die Konnektivität zu testen. Dies ist der erste und grundlegendste Schritt bei jeder Aufgabe der Netzwerkerkundung.

Ihre Umgebung umfasst ein Zielsystem, das über den Hostnamen target erreichbar ist.

Führen Sie den folgenden Befehl im Terminal aus, um vier Pakete an target zu senden und zu überprüfen, ob es online ist:

ping -c 4 target

Sie sollten eine Ausgabe ähnlich der folgenden sehen, die bestätigt, dass das Ziel auf Ihre Anfragen reagiert. Die IP-Adresse und die Antwortzeiten können leicht abweichen.

PING target (172.17.0.2) 56(84) bytes of data.
64 bytes from target (172.17.0.2): icmp_seq=1 ttl=64 time=0.091 ms
64 bytes from target (172.17.0.2): icmp_seq=2 ttl=64 time=0.068 ms
64 bytes from target (172.17.0.2): icmp_seq=3 ttl=64 time=0.065 ms
64 bytes from target (172.17.0.2): icmp_seq=4 ttl=64 time=0.067 ms

--- target ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3075ms
rtt min/avg/max/mdev = 0.065/0.072/0.091/0.011 ms

Mit einer erfolgreichen Antwort haben Sie bestätigt, dass eine stabile Netzwerkverbindung zwischen Ihrem Rechner und dem Ziel besteht.

Offene Ports mit Nmap scannen

In diesem Schritt verwenden Sie nmap, um den Zielrechner nach offenen Ports zu scannen und laufende Dienste zu identifizieren. Nmap ist ein leistungsstarkes Werkzeug für die Netzwerkerkennung und Sicherheitsüberprüfung. Wir werden unseren Scan auf den Standardport für Rsync, nämlich 873, konzentrieren.

Führen Sie den folgenden Befehl aus, um einen Versionsscan auf Port 873 des target durchzuführen:

nmap -sV -p 873 target

Lassen Sie uns diesen Befehl aufschlüsseln:

  • nmap: Der Befehl zum Ausführen des Network Mapper-Tools.
  • -sV: Aktiviert die Versionserkennung, die versucht, die Version des Dienstes zu ermitteln, der auf dem offenen Port läuft.
  • -p 873: Gibt an, dass Nmap nur Port 873 scannen soll.

Nach Abschluss des Scans sehen Sie eine Ausgabe ähnlich dieser:

Starting Nmap 7.80 ( https://nmap.org ) at 2025-09-12 11:20 CST
Nmap scan report for target (172.17.0.2)
Host is up (0.00012s latency).

PORT    STATE SERVICE VERSION
873/tcp open  rsync   (protocol version 31)

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 0.35 seconds

Die Ausgabe bestätigt, dass Port 873/tcp open ist und den rsync-Dienst ausführt. Diese Information ist entscheidend für die nächste Phase unseres Angriffs.

Verbindung zum Ziel über Rsync herstellen

In diesem Schritt interagieren Sie mit dem entdeckten Rsync-Dienst. Die erste Aktion besteht darin, die verfügbaren "Module" oder Freigaben auf dem Server aufzulisten. Wenn anonymer Zugriff aktiviert ist, antwortet der Server mit einer Liste öffentlich zugänglicher Verzeichnisse.

Führen Sie den folgenden Befehl aus, um die Module auf dem target aufzulisten:

rsync rsync://target

Der Server sollte mit einer Liste verfügbarer Module antworten. In diesem Fall sehen Sie ein Modul namens public.

public          Public Files

Nachdem Sie nun wissen, dass ein Modul namens public existiert, können Sie dessen Inhalte auf Ihren lokalen Rechner synchronisieren. Wir verwenden die Flags -av: -a für den Archivmodus (der Berechtigungen, Eigentümerschaft usw. beibehält) und -v für die ausführliche Ausgabe.

Führen Sie den folgenden Befehl aus, um den Inhalt des public-Moduls in Ihr aktuelles Verzeichnis (.) herunterzuladen:

rsync -av rsync://target/public/ .

Der Befehl stellt eine Verbindung zum Ziel her, überträgt die Dateien und zeigt eine Zusammenfassung der Operation an.

receiving incremental file list
./
flag.txt

sent 43 bytes  received 121 bytes  328.00 bytes/sec
total size is 31  speedup is 0.19

Die Ausgabe zeigt, dass eine Datei namens flag.txt erfolgreich in Ihr lokales Verzeichnis heruntergeladen wurde.

Zielsystem erkunden und Flagge lokalisieren

In diesem letzten Schritt inspizieren Sie die Dateien, die Sie vom Rsync-Server heruntergeladen haben, und rufen die Flagge ab. Da Sie die Dateien in Ihr aktuelles Verzeichnis synchronisiert haben, sind sie nun lokal verfügbar und können von Ihnen untersucht werden.

Verwenden Sie zunächst den Befehl ls, um die Dateien in Ihrem aktuellen Verzeichnis aufzulisten und zu bestätigen, dass flag.txt heruntergeladen wurde.

ls

Sie sollten flag.txt in der Ausgabe sehen.

flag.txt

Verwenden Sie nun den Befehl cat, um den Inhalt von flag.txt anzuzeigen. Dies wird die Flagge enthüllen, die Sie für den Abschluss des Labs benötigen.

cat flag.txt

Das Terminal zeigt den Wert der Flagge an.

labex{rsync_an0nym0us_4cc3ss_fl4g}

Herzlichen Glückwunsch! Sie haben erfolgreich einen falsch konfigurierten Rsync-Dienst identifiziert, seine Freigaben aufgezählt, seine Inhalte heruntergeladen und die Flagge erfasst. Kopieren Sie den Flaggenwert, um das Lab abzuschließen.

Zusammenfassung

In diesem Lab haben Sie eine Sicherheitsbewertung eines Rsync-Dienstes erfolgreich abgeschlossen und sind von der Erkundung zur Ausnutzung übergegangen. Sie haben gelernt, wie Sie:

  • ping verwenden, um eine Basislinie der Netzwerkverbindung zu einem Ziel herzustellen.
  • nmap einsetzen, um einen gezielten Port-Scan durchzuführen und den offenen Rsync-Dienst sowie seine Version zu identifizieren.
  • Mit einem Rsync-Server interagieren, um öffentlich verfügbare Module aufzulisten, ein wichtiger Schritt bei der Enumeration.
  • Eine Fehlkonfiguration des anonymen Zugriffs ausnutzen, um Dateien vom Ziel auf Ihren lokalen Rechner zu synchronisieren.
  • Eine Flagge in den heruntergeladenen Dateien lokalisieren und abrufen, um das Ziel zu erreichen.

Diese Übung demonstriert ein kritisches Sicherheitsprinzip: Dienste, die für Komfort ausgelegt sind, wie Rsync, müssen ordnungsgemäß mit Authentifizierung und Zugriffskontrollen gesichert werden. Ein Rsync-Server, der für anonymen Zugriff offen gelassen wird, kann zu erheblichen Datenlecks führen. Durch das Verständnis dieser Angriffsvektoren sind Sie besser darauf vorbereitet, Netzwerkdienste zu sichern.