SYNCED

// rsync con módulo anónimo (public) → --list-only → descarga de flag.txt

● MUY FÁCIL HACKTHEBOX LINUX RSYNC · 873 ACCESO ANÓNIMO 📅 Octubre 2026 · Por Brandeiks

Reconocimiento

1
CONTEXTO DE LA MÁQUINA

Synced es una máquina Linux de dificultad Very Easy que explora el protocolo rsync y los peligros de una configuración que permite autenticación anónima. Igual que un NFS o un SMB mal configurado, un demonio rsync puede exponer módulos (carpetas compartidas) sin pedir usuario ni contraseña, permitiendo leer —o incluso escribir— archivos del sistema remoto.

2
ESCANEO DE PUERTOS CON NMAP

Escaneamos todos los puertos TCP con detección de versión. Solo hay un puerto abierto: el 873, puerto por defecto de rsync, corriendo la versión de protocolo 31.

NMAP
$ nmap -sV -p- --min-rate 5000 10.129.228.37
Host is up (0.0088s latency).
Not shown: 65534 closed tcp ports (conn-refused)
PORT STATE SERVICE VERSION
873/tcp open rsync (protocol version 31)

// SI RSYNC DA «CONNECTION REFUSED»

En un primer intento la conexión puede devolver Connection refused: suele ser que la VPN/instancia aún no ha terminado de establecer la red del laboratorio. Reintentando el escaneo unos segundos después, el puerto 873 responde con normalidad.

Enumeración de módulos rsync

3
LISTAR LOS MÓDULOS (SIN CREDENCIALES)

A diferencia de SSH o FTP, rsync no tiene por qué pedir usuario y contraseña: basta con listar los módulos que expone el demonio remoto. Lo probamos sin ninguna credencial con --list-only sobre la URL rsync://IP/:

RSYNC · MÓDULOS
$ rsync --list-only rsync://10.129.228.37/
public Anonymous Share

// MÓDULO ANÓNIMO EXPUESTO

Hay un único módulo, public, descrito explícitamente como «Anonymous Share». El propio nombre confirma que no requiere autenticación: cualquiera con acceso al 873 puede leer su contenido.

Contenido del módulo y flag

4
LISTAR EL CONTENIDO DE public

Añadimos el nombre del módulo a la URL (rsync://IP/public/) y volvemos a usar --list-only para ver qué contiene. Dentro hay un único archivo: flag.txt.

RSYNC · CONTENIDO
$ rsync --list-only rsync://10.129.228.37/public/
drwxr-xr-x 4,096 2022/10/24 18:02:23 .
-rw-r--r-- 33 2022/10/24 17:32:03 flag.txt
5
DESCARGAR Y LEER LA FLAG

Descargamos el archivo indicando la ruta completa dentro del módulo (public/flag.txt, no solo public como si fuera un módulo) a un fichero local, y lo leemos con cat:

RSYNC · DESCARGA
$ rsync rsync://10.129.228.37/public/flag.txt ./flag.txt
$ cat ./flag.txt
72eaf5344ebb84908ae543a719830519

// FLAG

72eaf5344ebb84908ae543a719830519 — descargada vía rsync anónimo, sin credenciales ni escalada. Toda la máquina se resuelve explotando un módulo rsync expuesto de forma anónima.

6
RESPUESTAS DEL MODO GUIADO
PREGUNTA RESPUESTA
Puerto predeterminado de rsync873
Puertos TCP abiertos en el host1
Versión del protocolo rsync31
Comando para interactuar con rsyncrsync
Credenciales para la autenticación anónimaNone (ninguna)
Opción para enumerar recursos y archivos--list-only

// LECCIÓN Y MITIGACIÓN

Un servicio rsync mal configurado con acceso anónimo deja que cualquiera enumere y descargue archivos sin dejar rastro de autenticación. La mitigación: exigir credenciales con auth users y secrets file en rsyncd.conf, restringir el puerto 873 por firewall (nunca abierto a Internet), revisar qué rutas (path) exponen los módulos, habilitar logging, y preferir rsync sobre SSH (rsync -e ssh) frente al demonio rsync expuesto.

Referencia de Comandos

nmap
nmap -sV -p- --min-rate 5000 <ip>
Escaneo de todos los puertos con detección de versión. Identifica rsync en el 873 y su versión de protocolo (31).
  • -sV — detección de versión del servicio
  • -p- — los 65 535 puertos TCP
  • --min-rate 5000 — mínimo de paquetes por segundo (más rápido)
rsync --list-only (módulos)
rsync --list-only rsync://<ip>/
Enumera los módulos (shares) que expone el demonio rsync. Sin credenciales, revela los que permiten acceso anónimo.
  • --list-only — solo lista, no transfiere
  • rsync://ip/ — raíz: lista módulos
  • rsync://ip/mod/ — dentro de un módulo: lista archivos
rsync (descarga)
rsync rsync://<ip>/public/flag.txt ./flag.txt
Descarga un archivo del módulo al sistema local. Hay que dar la ruta completa dentro del módulo (public/flag.txt), no solo el módulo.
  • -a — modo archivo (recursivo, preserva atributos)
  • -v — verboso
  • -P — progreso + continuar descargas parciales
7
SECUENCIA COMPLETA
RESUMEN
# 1. escanear
$ nmap -sV -p- --min-rate 5000 10.129.228.37
# 2. enumerar módulos
$ rsync --list-only rsync://10.129.228.37/
# 3. listar el contenido del módulo public
$ rsync --list-only rsync://10.129.228.37/public/
# 4. descargar y leer la flag
$ rsync rsync://10.129.228.37/public/flag.txt ./flag.txt
$ cat ./flag.txt

Glosario

rsync
Herramienta de sincronización y copia de archivos entre sistemas, muy eficiente porque solo transfiere las diferencias. Puede funcionar sobre SSH o como demonio independiente escuchando en el puerto 873, que es el modo que expone esta máquina.
Módulo rsync
Un módulo es un recurso compartido que el demonio rsync publica, definido en rsyncd.conf con un nombre y una ruta (path). Equivale a un «share» de SMB: se accede como rsync://ip/<modulo>/. Aquí el módulo public apunta a la carpeta con la flag.
Puerto 873
Puerto TCP por defecto del demonio rsync (rsyncd). Verlo abierto indica un servidor rsync independiente; si además acepta módulos anónimos, cualquiera con conectividad puede leer sus archivos.
Acceso anónimo
Configuración en la que el servicio acepta conexiones sin usuario ni contraseña. En rsync se refleja en módulos sin auth users; el aviso «Anonymous Share» del listado lo confirma. Es una de las malas configuraciones más comunes en servicios de datos.
--list-only
Opción de rsync que solo lista módulos o archivos, sin transferir nada. Es la forma natural de enumerar un servidor rsync: primero los módulos (rsync://ip/) y luego el contenido de uno (rsync://ip/mod/).
Versión de protocolo 31
Número que negocian cliente y servidor rsync para entenderse. La versión 31 es la de las ramas rsync 3.x modernas; nmap la reporta al detectar el servicio y es una de las preguntas del modo guiado de la máquina.
rsync sobre SSH
Alternativa segura al demonio rsync expuesto: rsync -e ssh origen destino tuneliza la transferencia por SSH, añadiendo cifrado y autenticación. Evita exponer el 873 y el acceso anónimo que compromete esta máquina.
rsyncd.conf
Archivo de configuración del demonio rsync. Define los módulos, su path, si son de solo lectura y, sobre todo, la autenticación (auth users, secrets file). Dejar un módulo sin esas dos últimas opciones es lo que habilita el acceso anónimo.

// RELACIONADOS POR ETIQUETAS