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

130 lines
7.1 KiB
Markdown
Raw Normal View History

2024-02-11 01:46:25 +00:00
# 873 - Testowanie penetracyjne Rsync
2022-04-28 16:01:33 +00:00
<details>
2024-02-11 01:46:25 +00:00
<summary><strong>Naucz się hakować AWS od zera do bohatera z</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
2022-04-28 16:01:33 +00:00
2024-02-11 01:46:25 +00:00
Inne sposoby wsparcia HackTricks:
2024-01-03 11:42:55 +01:00
2024-02-11 01:46:25 +00:00
* 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.
2022-04-28 16:01:33 +00:00
</details>
2024-02-11 01:46:25 +00:00
## **Podstawowe informacje**
2024-02-11 01:46:25 +00:00
Z [wikipedia](https://en.wikipedia.org/wiki/Rsync):
2024-02-11 01:46:25 +00:00
> **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ń.
2024-02-11 01:46:25 +00:00
**Domyślny port:** 873
```
PORT STATE SERVICE REASON
873/tcp open rsync syn-ack
```
2024-02-11 01:46:25 +00:00
### 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 <adres_ip> 873
```
2024-02-11 01:46:25 +00:00
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:
2024-02-11 01:46:25 +00:00
```bash
@RSYNCD: <wersja>
```
```bash
@ERROR: <komunikat_błędu>
```
2024-02-11 01:46:25 +00:00
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
2024-02-11 01:46:25 +00:00
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
```
2024-02-11 01:46:25 +00:00
### **Wyszukiwanie udostępnionych folderów**
2024-02-11 01:46:25 +00:00
**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 <PORT> <IP>
msf> use auxiliary/scanner/rsync/modules_list
2024-02-08 22:36:35 +01:00
# Example with IPv6 and alternate port
rsync -av --list-only rsync://[dead:beef::250:56ff:feb9:e90a]:8730
```
2024-02-11 01:46:25 +00:00
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"**.
2024-02-11 01:46:25 +00:00
### [**Atak Brute Force**](../generic-methodologies-and-resources/brute-force.md#rsync)
2024-02-11 01:46:25 +00:00
### Ręczne użycie Rsync
2024-02-11 01:46:25 +00:00
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
2024-02-08 22:36:35 +01:00
# Listing a shared folder
rsync -av --list-only rsync://192.168.0.123/shared_name
2024-02-08 22:36:35 +01:00
# Copying files from a shared folder
rsync -av rsync://192.168.0.123:8730/shared_name ./rsyn_shared
```
2024-02-11 01:46:25 +00:00
Ten proces **rekursywnie przesyła pliki**, zachowując ich atrybuty i uprawnienia.
2024-02-11 01:46:25 +00:00
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
```
2024-02-11 01:46:25 +00:00
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
```
2022-05-01 13:25:53 +00:00
## POST
2024-02-11 01:46:25 +00:00
Aby zlokalizować plik konfiguracyjny rsyncd, wykonaj:
```bash
find /etc \( -name rsyncd.conf -o -name rsyncd.secrets \)
```
2024-02-11 01:46:25 +00:00
W tym pliku parametr _secrets file_ może wskazywać na plik zawierający **nazwy użytkowników i hasła** do uwierzytelniania rsyncd.
2024-02-08 22:36:35 +01:00
2024-02-11 01:46:25 +00:00
## Referencje
2024-02-08 22:36:35 +01:00
* [https://www.smeegesec.com/2016/12/pentesting-rsync.html](https://www.smeegesec.com/2016/12/pentesting-rsync.html)
2022-04-28 16:01:33 +00:00
<details>
2024-02-11 01:46:25 +00:00
<summary><strong>Naucz się hakować AWS od zera do bohatera z</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
2022-04-28 16:01:33 +00:00
2024-02-11 01:46:25 +00:00
Inne sposoby wsparcia HackTricks:
2024-01-03 11:42:55 +01:00
2024-02-11 01:46:25 +00:00
* 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.
2022-04-28 16:01:33 +00:00
</details>