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 : Эта команда может быть использована неавторизованным пользователем для копирования файлов из одного места в другое.

Rsync -avz : Эта команда может быть использована для рекурсивного переноса каталога из одного места в другое.

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).

  • wget – 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.

Другие Услуги

Готовы к безопасности?

Связаться с нами