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
pingpour établir une base de connectivité réseau avec une cible. - Employer
nmappour 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.



