873 - Pentesting Rsync
Basic Information
From wikipedia:
rsync is a utility for efficiently transferring and synchronizing files between a computer and an external hard drive and across networked computers by comparing the modification timesand sizes of files.[3] It is commonly found on Unix-like operating systems. The rsync algorithm is a type of delta encoding, and is used for minimizing network usage. Zlib may be used for additional data compression,[3] and SSH or stunnel can be used for security.
Default port: 873
Enumeration
Banner & Manual communication
Enumerating Shared Folders
Rsync modules are recognized as directory shares that might be protected with passwords. To identify available modules and check if they require passwords, the following commands are used:
Be aware that some shares might not appear in the list, possibly hiding them. Additionally, accessing some shares might be restricted to specific credentials, indicated by an "Access Denied" message.
Manual Rsync Usage
Upon obtaining a module list, actions depend on whether authentication is needed. Without authentication, listing and copying files from a shared folder to a local directory is achieved through:
This process recursively transfers files, preserving their attributes and permissions.
With credentials, listing and downloading from a shared folder can be done as follows, where a password prompt will appear:
To upload content, such as an authorized_keys file for access, use:
POST
To locate the rsyncd configuration file, execute:
Within this file, a secrets file parameter might point to a file containing usernames and passwords for rsyncd authentication.
References
Last updated