Énumération et Synchronisation Anonyme Rsync

LinuxBeginner
Pratiquer maintenant

Introduction

Bienvenue dans ce laboratoire pratique axé sur l'énumération et l'exploitation de Rsync. Rsync est un utilitaire largement utilisé pour synchroniser des fichiers et des répertoires entre deux emplacements sur un réseau. Bien que puissant, s'il est mal configuré, il peut exposer des données sensibles.

Dans ce laboratoire, vous simulerez un scénario courant en test d'intrusion où un service de sauvegarde est mal configuré. Vous commencerez par effectuer une reconnaissance réseau de base pour confirmer que la cible est en ligne. Ensuite, vous utiliserez l'outil nmap pour scanner le service Rsync. Une fois identifié, vous énumérerez les partages disponibles et exploiterez une configuration d'accès anonyme pour télécharger des fichiers depuis la cible, récupérant ainsi un drapeau caché.

Une fois terminé, vous comprendrez comment :

  • Vérifier la connectivité réseau à l'aide de ping.
  • Scanner le service Rsync sur son port par défaut à l'aide de nmap.
  • Énumérer et se connecter à un partage Rsync anonyme.
  • Synchroniser des fichiers d'une cible distante vers votre machine locale.

Commençons.

Vérifier la connectivité à la cible avec Ping

Dans cette étape, vous commencerez par confirmer que le système cible est accessible depuis votre machine. La commande ping est un outil de diagnostic réseau standard qui envoie des paquets ICMP Echo Request à un hôte pour tester la connectivité. C'est la première et la plus basique des étapes de toute tâche de reconnaissance réseau.

Votre environnement comprend un système cible accessible via le nom d'hôte target.

Exécutez la commande suivante dans le terminal pour envoyer quatre paquets à target et vérifier qu'il est en ligne :

ping -c 4 target

Vous devriez voir une sortie similaire à la suivante, qui confirme que la cible répond à vos requêtes. L'adresse IP et les temps de réponse peuvent légèrement différer.

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

Avec une réponse réussie, vous avez confirmé qu'une connexion réseau stable existe entre votre machine et la cible.

Scanner les ports ouverts avec Nmap

Dans cette étape, vous utiliserez nmap pour scanner la cible à la recherche de ports ouverts et identifier les services en cours d'exécution. Nmap est un outil puissant pour la découverte de réseaux et l'audit de sécurité. Nous concentrerons notre scan sur le port par défaut de Rsync, qui est le 873.

Exécutez la commande suivante pour effectuer un scan de version sur le port 873 de la target :

nmap -sV -p 873 target

Analysons cette commande :

  • nmap: La commande pour exécuter l'outil Network Mapper.
  • -sV: Active la détection de version, qui tente de déterminer la version du service exécuté sur le port ouvert.
  • -p 873: Spécifie que Nmap ne doit scanner que le port 873.

Une fois le scan terminé, vous verrez une sortie similaire à celle-ci :

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

La sortie confirme que le port 873/tcp est open et exécute le service rsync. Ces informations sont cruciales pour la prochaine phase de notre attaque.

Se connecter à la cible via Rsync

Dans cette étape, vous allez interagir avec le service Rsync découvert. La première action consiste à lister les "modules" ou partages disponibles sur le serveur. Si l'accès anonyme est activé, le serveur répondra avec une liste de répertoires publiquement accessibles.

Exécutez la commande suivante pour lister les modules sur la target :

rsync rsync://target

Le serveur devrait répondre avec une liste des modules disponibles. Dans ce cas, vous verrez un module nommé public.

public          Public Files

Maintenant que vous savez qu'un module nommé public existe, vous pouvez synchroniser son contenu sur votre machine locale. Nous utiliserons les drapeaux -av : -a pour le mode archive (qui préserve les permissions, la propriété, etc.) et -v pour une sortie détaillée.

Exécutez la commande ci-dessous pour télécharger le contenu du module public dans votre répertoire actuel (.) :

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

La commande se connectera à la cible, transférera les fichiers et affichera un résumé de l'opération.

receiving incremental file list
./
flag.txt

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

La sortie montre qu'un fichier nommé flag.txt a été téléchargé avec succès dans votre répertoire local.

Explorer le système cible et localiser le flag

Dans cette dernière étape, vous allez inspecter les fichiers que vous avez téléchargés depuis le serveur Rsync et récupérer le drapeau. Étant donné que vous avez synchronisé les fichiers dans votre répertoire actuel, ils sont maintenant disponibles localement pour que vous puissiez les examiner.

Tout d'abord, utilisez la commande ls pour lister les fichiers de votre répertoire actuel et confirmer que flag.txt a été téléchargé.

ls

Vous devriez voir flag.txt listé dans la sortie.

flag.txt

Maintenant, utilisez la commande cat pour afficher le contenu de flag.txt. Cela révélera le drapeau dont vous avez besoin pour terminer le laboratoire.

cat flag.txt

Le terminal affichera la valeur du drapeau.

labex{rsync_an0nym0us_4cc3ss_fl4g}

Félicitations ! Vous avez identifié avec succès un service Rsync mal configuré, énuméré ses partages, téléchargé son contenu et capturé le drapeau. Copiez la valeur du drapeau pour terminer le laboratoire.

Résumé

Dans ce laboratoire, vous avez mené à bien une évaluation de sécurité d'un service Rsync, passant de la reconnaissance à l'exploitation. Vous avez appris à :

  • Utiliser ping pour établir une base de connectivité réseau avec une cible.
  • Employer nmap pour effectuer un scan de ports ciblé, identifiant le service Rsync ouvert et sa version.
  • Interagir avec un serveur Rsync pour lister les modules publiquement disponibles, une étape clé de l'énumération.
  • Exploiter une mauvaise configuration d'accès anonyme pour synchroniser des fichiers de la cible vers votre machine locale.
  • Localiser et récupérer un drapeau à partir des fichiers téléchargés, atteignant ainsi l'objectif.

Cet exercice démontre un principe de sécurité essentiel : les services conçus pour la commodité, comme Rsync, doivent être correctement sécurisés avec une authentification et des contrôles d'accès. Laisser un serveur Rsync ouvert à l'accès anonyme peut entraîner des violations de données importantes. En comprenant ces vecteurs d'attaque, vous êtes mieux préparé à sécuriser les services réseau.