07 Кві, 2023

Віддалена синхронізація (RSYNC)

Penetration Testing as a service (PTaaS)

Tests security measures and simulates attacks to identify weaknesses.

Rsync це утиліта для передачі і синхронізації файлів між комп'ютерами. Має IP-фільтр, за замовчуванням можна всі хости. Директива auth users заснована на файлі "secrets", наприклад, /etc/rsyncd/rsyncd.secrets. Цей файл містить комбінації імені користувача і пароля для облікових записів rsync у вигляді звичайного тексту. За замовчуванням авторизація відсутня. rsyncd не використовує шифрування.

Загальні порти RSYNC

Протокол Rsync використовує TCP в якості базового транспортного протоколу, а за промовчанням для rsync використовується порт TCP 873. Однак rsync також можна налаштувати на використання іншого порту за допомогою опції "–port".

Порт TCP 22: rsync може бути запущений по SSH, в цьому випадку він використовує TCP-порт 22 для спілкування.

Порт TCP 6010: rsync може використовувати порт TCP 6010 для його режиму віддаленої оболонки.

Порт TCP 8730: rsync може бути налаштований на використання TCP-порту 8730 замість порту за замовчуванням 873.

Стендард коммповідомлення від неавторизованих користувачів

Rsync <source_file> <destination_file>: This command can be used by an unauthorized user to copy files from one location to another.

Rsync -avz <source_directory> <destination_directory>: This command can be used to transfer a directory recursively from one location to another.

Rsync -a –delete <source_directory> <destination_directory>: This command can be used to delete files from the destination directory that are not present in the source directory.

Rsync -n <source_file> <destination_file>: This command can be used to perform a dry run of the rsync command to see what changes would be made without actually making them.

Rsync -e <ssh_command> <source_file> <destination_file>: This command can be used to transfer files securely using SSH.

Зв'язок з перерахуванням

auxiliary/scanner/rsync/modules_list

nmap -p 873 –script rsync-list-modules <ip>

Розвідувальна або нестандартна команда

rsync -6 –list-only rsync://192.168.1.29:873/

Груба сила

https://github.com/ZyperX/rsync_bruteforcer

https://vulners.com/metasploit/MSF:AUXILIARY/SCANNER/RSYNC/MODULES_LIST

nmap -p 873 –script rsync-brute –script-args ‘rsync-brute.module=www’ <ip>

Інструменти для використання протоколу RSYNC

Ручні Інструменти:

  • rsync – is an open-source tool used for file synchronization and backup between systems. It is available on all major operating systems and can be used to copy files both locally and remotely over a network.

  • nc –  is a command-line tool used for creating network connections. It can be used to test the Rsync service by connecting to the Rsync port (873) and sending commands.

  • telnet – is another command-line tool used for creating network connections. It can be used to test the Rsync service by connecting to the Rsync port (873) and sending commands.

  • curl – is a command-line tool used for transferring data from or to a server. It can be used to test the Rsync service by sending HTTP requests to the Rsync port (873).

  • пече – is a command-line tool used for downloading files from the web. It can be used to test the Rsync service by downloading files from an Rsync server.

  • nmap – is a network exploration and security auditing tool. It can be used to scan for open Rsync ports on a network and perform various tests on the Rsync service.

  • Wireshark – is a network protocol analyzer that allows you to capture and view the network traffic. It can be used to analyze the Rsync protocol and identify any vulnerabilities or issues.

Автоматизовані інструменти:

  • rsync-scanner – is an automated tool used for scanning networks for open Rsync ports and enumerating available files and directories.

  • rsync-exploit – is an automated tool used for exploiting vulnerable Rsync servers by uploading and executing arbitrary code on the target system.

  • rsniffer – is an automated tool used for sniffing Rsync traffic and extracting information such as usernames, passwords, and file names.

  • rsync-brute – is an automated tool used for brute-forcing Rsync credentials by trying multiple username and password combinations.

  • rsync-bp – is an automated tool used for backing up Rsync servers and identifying potential vulnerabilities in the backup process.

  • rsyncker – is an automated tool used for synchronizing files between two Rsync servers and identifying any inconsistencies or issues.

  • rsync-check – is an automated tool used for checking the integrity of Rsync backups by comparing the original and backup files.

  • rsync-sandbox – is an automated tool used for creating a sandboxed environment for testing Rsync servers and identifying potential vulnerabilities.

  • rsync-reporter – is an automated tool used for generating reports on the Rsync server, including information on available files, directories, and permissions.

  • rsync-crawler – is an automated tool used for crawling Rsync servers and collecting information such as file names, sizes, and permissions.

  • rsync-audit – is an automated tool used for auditing Rsync servers and identifying potential security issues such as open ports, outdated software, and weak credentials.

  • rsync-backup – is an automated tool used for backing up files to an Rsync server and verifying the integrity of the backup process.

Останні п'ять відомих CVE для RSYNC

CVE-2022-29154: У rsync до версії 3.2.5 була виявлена проблема, яка дозволяє шкідливим віддалених серверів записувати довільні файли всередині каталогів підключаються однорангових вузлів. Сервер вибирає, які файли / каталоги будуть відправлені клієнту. Однак клієнт rsync виконує недостатню перевірку імен файлів. Шкідливий сервер rsync (або зловмисник "Людина посередині") може перезаписати довільні файли в цільовому каталозі і підкаталогах клієнта rsync (наприклад, перезаписати файл .ssh/authorized_keys). 

CVE-2022-26479: Проблема була виявлена в Poly EagleEye Director II до 2.2.2.1. Існування певного файлу (який може бути створений за допомогою бекдор rsync) призводить до того, що всі виклики API виконуються від імені адміністратора без аутентифікації. 

CVE-2021-3907: OctoRPKI не екранує URI з іменем файлу, що містить "..", це дозволяє репозиторія створити файл (наприклад. rsync://example.org/repo/../../etc/cron.daily/evil.roa), який потім буде записаний на диск за межами базової папки кешу. Це може дозволити віддалене виконання коду на хост-комп'ютері, на якому працює OctoRPKI. 

CVE-2020-14387: У rsync був виявлений недолік у версіях починаючи з 3.2.0pre1. Rsync неправильно перевіряє сертифікат з вразливістю невідповідності хоста. Віддалений зловмисник, який не пройшов перевірку автентичності, може скористатися цією помилкою, виконавши атаки "людина посередині" з використанням дійсного сертифіката для іншого імені хоста, що може поставити під загрозу конфіденційність і цілісність даних з використанням rsync-ssl. Найбільша загроза, що виходить від цієї проблеми, полягає в конфіденційності і цілісності даних. Цей недолік впливає на версії rsync до версії 3.2.4. 

CVE-2020-10120: cPanel до версії 84.0.20 дозволяє реселлерам виконувати віддалений код від імені root через оболонку cpsrvd rsync (SEC-545). 

Корисна інформація

– Була розроблена Ендрю Триджеллом і Підлогою Маккеррасом в 1996 році в якості заміни традиційної команди Unix "rsh" для віддаленого виконання.

– Використовує алгоритм дельта-передачі, який передає лише різницю між вихідним і цільовим файлами замість передачі всього файлу. Це робить його дуже ефективним для передачі великих файлів або каталогів з великою кількістю файлів.

– Підтримує як SSH, так і RSH для безпечного зв'язку між системами джерела і призначення. Він також підтримує аутентифікацію з використанням паролів або відкритих ключів.

– Може синхронізувати файли як локально, так і віддалено. Він також може синхронізувати файли між різними операційними системами, такими як Linux, macOS та Windows.

– Інструмент командного рядка, але є також доступні графічні інтерфейси, такі як Grsync і Luckybackup.

– Може використовуватися для інкрементного резервного копіювання, що означає передачу тільки змін, внесених у файли з моменту останнього резервного копіювання. Це робить його популярним вибором рішень для резервного копіювання.

– Може використовуватися для синхронізації файлів між декількома серверами або для створення розподіленої файлової системи.

– Використовується в поєднанні з іншими інструментами, такими як Cron і SSH, для автоматичного резервного копіювання і синхронізації.

Програмне забезпечення з відкритим вихідним кодом і широко використовується системними адміністраторами, веб-розробниками та спеціалістами по обробці даних.

Відомі банери

“rsync version X.X.X protocol version YY” – Це стандартний баннер, який відображається при підключенні до сервера rsync. X. X. X представляє версію rsync, запущену на сервері, в той час як YY - це використовувана версія протоколу.

“rsync daemon X.X.X protocol version YY” – Цей банер відображається при підключенні до демону rsync, який являє собою спеціальний режим rsync, що працює як автономна служба.

"@RSYNCD: X. X. X" – Цей банер відображається при підключенні до демону rsync з використанням протоколу RSYNC. Він включає в себе номер версії демона.

"SSH-2.0-rsync" – Цей банер відображається при підключенні до сервера rsync по SSH. Це вказує на те, що протокол rsync використовується через SSH-з'єднання.

“Welcome to rsync” – Цей банер відображається при підключенні до сервера rsync, який був налаштований для відображення привітального повідомлення.

Книги для навчання RSYNC

"Rsync: резервне копіювання і відновлення для систем Linux і UNIX" автор: Тоні Хоутон – У цій книзі міститься детальна інформація про те, як використовувати rsync для операцій резервного копіювання і відновлення в системах Linux і UNIX. Він охоплює як просте, так і розширене використання, включаючи написання сценаріїв та автоматизацію.

"Книга Rsync" Ендрю Триджелл і Підлогу Маккеррас – Ця книга являє собою всеосяжне керівництво по використанню rsync для резервного копіювання і синхронізації файлів. У ньому розглядається ряд тем, в тому числі те, як працює rsync, як його використовувати і як усувати найпоширеніші проблеми.

"Передача Linux для досвідчених користувачів: використання Rsync і приклади" автор Маркус Санатан – Ця книга присвячена використанню rsync для передачі файлів і каталогів між системами Linux. Вона включає практичні приклади та поради щодо оптимізації продуктивності rsync.

"Мистецтво програмування в Unix" автор: Ерік С. Реймонд – У цій книзі розглядаються принципи програмування Unix, включаючи використання rsync для синхронізації файлів. Вона включає в себе главу про rsync, в якій дається огляд інструменту і його можливостей.

"Кишеньковий довідник Rsync" автор: Донован К. Тенгблад – Це коротке довідкове керівництво по rsync, яке забезпечує короткий вступ в інструмент та його основне використання. Він включає в себе поради та приклади щодо ефективного використання rsync.

"Командний рядок Linux: повне введення" Вільям Е. Шоттс молодший – Ця книга являє собою всеосяжне керівництво з використання командного рядка Linux, включаючи введення в rsync і його базова використання. Він також охоплює інші інструменти і методи передачі файлів.

"Біблія Linux" автор: Крістофер Негус – Ця книга являє собою всеосяжне керівництво по Linux, включаючи огляд rsync і як використовувати його для синхронізації файлів і операцій резервного копіювання. Вона охоплює цілий ряд інших тем, включаючи системне адміністрування і безпека.

"Офіційна книга з Ubuntu" автор: Бенджамін Хілл, Метью Хелмке, Кору Бергер – Ця книга являє собою введення в Ubuntu Linux, включаючи огляд rsync і те, як його використовувати для синхронізації файлів і операцій резервного копіювання. Він також охоплює інші інструменти і методи передачі файлів.

"Професійне системне адміністрування Linux" Денніс Матотек, Джеймс Тернбулл і Пітер Ливердинк – Ця книга являє собою керівництво по системного адміністрування Linux, включаючи огляд rsync і як використовувати його для резервного копіювання і синхронізації файлів. Він також охоплює інші теми, такі як мережне адміністрування і безпека.

"Керівництво з адміністрування Linux" автор: Еві Немет, Гарт Снайдер, Трент Р. Хейн і Бен Уейл – Ця книга являє собою всеосяжне керівництво по адміністрування Linux, включаючи огляд rsync і як використовувати його для резервного копіювання і синхронізації файлів. Він охоплює низку інших тем, включаючи системний моніторинг, мережеве адміністрування і безпека.

Список корисного навантаження для RSYNC

  • : Режим архівування. Цей параметр зберігає всі атрибути файлу, дозволу і тимчасові мітки.

  • : Докладний режим. Цей параметр надає більш детальну інформацію про процесі передачі.

  • : Рекурсивний режим. Цей параметр копіює всі каталоги і підкаталоги.

  • : Режим оновлення. Цей параметр пропускає файли, які є більш новими у пункті призначення.

  • -z: Режим стиснення. Цей параметр стискає дані під час передачі, щоб зменшити обсяг використання пропускної здатності мережі.

  • –delete: Режим видалення. Цей параметр видаляє файли в місці призначення, яких немає в джерелі.

  • –exclude: Виключити режим. Цей параметр виключає файли або каталоги з процесу передачі на основі заданого шаблону або виразу.

  • –dry-run: Режим сухого ходу. Цей параметр імітує процес передачі без фактичної передачі будь-яких файлів, дозволяючи вам побачити, які зміни будуть внесені.

  • –bwlimit: Режим обмеження пропускної здатності. Цей параметр обмежує пропускну здатність мережі, яка використовується під час передачі, вказаним значенням.

  • –progress: Режим виконання. Цей параметр відображає індикатор, який вказує на статус процесу передачі.

Пом'якшення наслідків

  1.  Використовуйте надійні методи аутентифікації, такі як аутентифікація з відкритим ключем для захисту з'єднань rsync і запобігання несанкціонованого доступу.

  2. Обмежити доступ: обмежте доступ до служб rsync тільки авторизованим користувачам і хостів. Використовуйте брандмауери і списки управління доступом (ACL) для обмеження доступу.

  3. Шифрування переданих даних: використовуйте протоколи шифрування, такі як SSH або SSL, для шифрування переданих даних, щоб запобігти підслуховування і підробку.

  4. Підтримуйте програмне забезпечення в актуальному стані: оновлюйте rsync і інше програмне забезпечення з допомогою останніх виправлень і оновлень безпеки, щоб запобігти використання відомих вразливостей.

  5. Моніторинг активності rsync: Відстежуйте активність rsync на предмет підозрілої поведінки і розслідуйте будь-яку незвичайну активність.

  6. Захистіть файлову систему: встановіть належні дозволи файлової системи для запобігання несанкціонованого доступу до конфіденційних файлів і даних.

  7. Використовувати захищені канали: використовувати захищені канали, такі як VPN або SSH-тунелів, для підключення до служб rsync з ненадійним мереж.

  8. Відключити непотрібні служби rsync: вимкніть непотрібні служби rsync, щоб зменшити поверхню атаки і звести до мінімуму ризик використання.

  9. Реалізувати сегментацію мережі: реалізувати сегментацію мережі для ізоляції служб rsync від інших конфіденційних систем і даних.

  10. Регулярне резервне копіювання даних: створюйте резервні копії критично важливих даних, щоб звести до мінімуму вплив будь-яких інцидентів безпеки, які можуть статися.

Висновок

Rsync це потужний інструмент для синхронізації та передачі файлів, але він також пов'язаний з ризиками для безпеки. Важливо дотримуватися рекомендацій щодо забезпечення безпеки rsync, таким як використання суворої аутентифікації, обмеження доступу, шифрування даних при передачі, підтримка програмного забезпечення в актуальному стані, моніторинг активності, захист файлової системи, використання захищених каналів, відключення непотрібних служб, реалізація сегментації мережі і регулярне резервне копіювання даних. Виконавши ці кроки, ви можете звести до мінімуму ризик інцидентів безпеки і забезпечити безпеку і надійність ваших передач rsync.

Інші Послуги

Готові до безпеки?

зв'язатися з нами