873 - Pentesting Rsync
Grundlegende Informationen
Aus Wikipedia übersetzt:
rsync ist ein Dienstprogramm zum effizienten Übertragen und Synchronisieren von Dateien zwischen einem Computer und einer externen Festplatte sowie zwischen vernetzten Computern, indem die Änderungszeiten und Größen der Dateien verglichen werden.[3] Es ist häufig auf Unix-ähnlichen Betriebssystemen zu finden. Der Rsync-Algorithmus ist eine Art von Delta-Codierung und wird zur Minimierung des Netzwerkverbrauchs verwendet. Zlib kann für zusätzliche Datenkompression verwendet werden,[3] und SSH oder stunnel können für die Sicherheit verwendet werden.
Standardport: 873
Banner & manuelle Kommunikation
Die Enumeration von Rsync beginnt mit der Überprüfung des Banners und der manuellen Kommunikation. Der Rsync-Dienst sendet normalerweise einen Begrüßungstext, der Informationen über die Version und die unterstützten Funktionen enthält. Dieser Begrüßungstext kann verwendet werden, um Informationen über den Rsync-Server zu sammeln.
Um den Banner zu überprüfen, kann das Tool nc
(Netcat) verwendet werden, um eine Verbindung zum Rsync-Server herzustellen und den Begrüßungstext anzuzeigen. Die Syntax lautet:
Nachdem die Verbindung hergestellt wurde, wird der Begrüßungstext angezeigt. Dieser Text kann Informationen wie die Rsync-Version, das Betriebssystem und andere nützliche Details enthalten.
Die manuelle Kommunikation beinhaltet das Senden von Rsync-Befehlen an den Server und das Überprüfen der Antworten. Dies kann mit dem Tool rsync
durchgeführt werden. Die Syntax lautet:
Dieser Befehl fordert eine Liste der freigegebenen Module vom Rsync-Server an. Die Antwort enthält Informationen über die verfügbaren Module und deren Pfade.
Die Banner- und manuelle Kommunikationstechniken sind hilfreich, um Informationen über den Rsync-Server zu sammeln und potenzielle Schwachstellen zu identifizieren.
Ermittlung freigegebener Ordner
Rsync-Module werden als Verzeichnisfreigaben erkannt, die möglicherweise mit Passwörtern geschützt sind. Um verfügbare Module zu identifizieren und zu überprüfen, ob sie Passwörter erfordern, werden die folgenden Befehle verwendet:
Seien Sie sich bewusst, dass einige Freigaben möglicherweise nicht in der Liste angezeigt werden und möglicherweise versteckt sind. Darüber hinaus kann der Zugriff auf einige Freigaben auf bestimmte Anmeldeinformationen beschränkt sein, was durch eine "Zugriff verweigert"-Meldung angezeigt wird.
Manuelle Verwendung von Rsync
Nachdem Sie eine Modulliste erhalten haben, hängen die Aktionen davon ab, ob eine Authentifizierung erforderlich ist. Ohne Authentifizierung können Sie Dateien aus einem freigegebenen Ordner in ein lokales Verzeichnis auflisten und kopieren, indem Sie Folgendes verwenden:
Dieser Prozess überträgt Dateien rekursiv und bewahrt dabei ihre Attribute und Berechtigungen.
Mit Anmeldeinformationen kann das Auflisten und Herunterladen aus einem freigegebenen Ordner wie folgt erfolgen, wobei ein Passwort-Prompt angezeigt wird:
Um Inhalte hochzuladen, wie z.B. eine authorized_keys-Datei für den Zugriff, verwenden Sie:
POST
Um die rsyncd-Konfigurationsdatei zu finden, führen Sie Folgendes aus:
Innerhalb dieser Datei kann ein secrets file Parameter auf eine Datei verweisen, die Benutzernamen und Passwörter für die rsyncd-Authentifizierung enthält.
Referenzen
Last updated