873 - Pentesting Rsync
Podstawowe informacje
Z wikipedia:
rsync to narzędzie do efektywnego przesyłania i synchronizowania plików między komputerem a zewnętrznym dyskiem twardym oraz w sieci komputerów poprzez porównywanie czasów modyfikacji i rozmiarów plików.[3] Jest powszechnie stosowany w systemach operacyjnych podobnych do Unix. Algorytm rsync to rodzaj kodowania delta i jest używany do minimalizowania wykorzystania sieci. Zlib może być używany do dodatkowej kompresji danych,[3] a SSH lub stunnel mogą być używane dla bezpieczeństwa.
Domyślny port: 873
Enumeracja
Baner i komunikacja ręczna
Enumerowanie Wspólnych 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ą haseł, używane są następujące polecenia:
Bądź świadomy, że niektóre udostępnienia mogą nie pojawić się na liście, co może je ukrywać. Dodatkowo, dostęp do niektórych udostępnień może być ograniczony do określonych credentials, co jest wskazywane przez komunikat "Access Denied".
Ręczne użycie Rsync
Po uzyskaniu module list, działania zależą od tego, czy wymagana jest autoryzacja. Bez autoryzacji, listing i copying plików z udostępnionego folderu do lokalnego katalogu osiąga się poprzez:
Ten proces rekursywnie przesyła pliki, zachowując ich atrybuty i uprawnienia.
Z danymi uwierzytelniającymi, wylistowanie i pobranie z udostępnionego folderu można wykonać w następujący sposób, gdzie pojawi się monit o hasło:
Aby przesłać zawartość, taką jak plik authorized_keys do uzyskania dostępu, użyj:
POST
Aby zlokalizować plik konfiguracyjny rsyncd, wykonaj:
W tym pliku parametr secrets file może wskazywać na plik zawierający nazwy użytkowników i hasła do uwierzytelniania rsyncd.
References
Last updated