Introducción
Bienvenido a este laboratorio práctico centrado en la enumeración y explotación de Rsync. Rsync es una utilidad ampliamente utilizada para sincronizar archivos y directorios entre dos ubicaciones a través de una red. Aunque es potente, si está mal configurado, puede exponer datos sensibles.
En este laboratorio, simulará un escenario común en las pruebas de penetración donde un servicio de copia de seguridad está mal configurado. Comenzará realizando un reconocimiento básico de red para confirmar que el objetivo está en línea. A continuación, utilizará la herramienta nmap para escanear el servicio Rsync. Una vez identificado, enumerará los recursos compartidos disponibles y explotará una configuración de acceso anónimo para descargar archivos del objetivo, recuperando finalmente una bandera oculta.
Al finalizar, comprenderá cómo:
- Verificar la conectividad de red utilizando
ping. - Escanear el servicio Rsync en su puerto predeterminado utilizando
nmap. - Enumerar y conectarse a un recurso compartido Rsync anónimo.
- Sincronizar archivos desde un objetivo remoto a su máquina local.
Empecemos.
Verificar Conectividad con el Objetivo Mediante Ping
En este paso, comenzará confirmando que el sistema objetivo es accesible desde su máquina. El comando ping es una herramienta de diagnóstico de red estándar que envía paquetes ICMP Echo Request a un host para probar la conectividad. Este es el primer y más básico paso en cualquier tarea de reconocimiento de red.
Su entorno incluye un sistema objetivo accesible a través del nombre de host target.
Ejecute el siguiente comando en la terminal para enviar cuatro paquetes a target y verificar que está en línea:
ping -c 4 target
Debería ver una salida similar a la siguiente, que confirma que el objetivo responde a sus solicitudes. La dirección IP y los tiempos de respuesta pueden variar ligeramente.
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
Con una respuesta exitosa, ha confirmado que existe una conexión de red estable entre su máquina y el objetivo.
Escanear Puertos Abiertos con Nmap
En este paso, utilizará nmap para escanear el objetivo en busca de puertos abiertos e identificar los servicios en ejecución. Nmap es una herramienta potente para el descubrimiento de redes y la auditoría de seguridad. Centraremos nuestro escaneo en el puerto predeterminado de Rsync, que es el 873.
Ejecute el siguiente comando para realizar un escaneo de versiones en el puerto 873 del target:
nmap -sV -p 873 target
Analicemos este comando:
nmap: El comando para ejecutar la herramienta Network Mapper.-sV: Habilita la detección de versiones, que intenta determinar la versión del servicio que se ejecuta en el puerto abierto.-p 873: Especifica que Nmap solo debe escanear el puerto 873.
Una vez que el escaneo se complete, verá una salida similar a esta:
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 salida confirma que el puerto 873/tcp está open (abierto) y está ejecutando el servicio rsync. Esta información es fundamental para la siguiente fase de nuestro ataque.
Conectar al Objetivo vía Rsync
En este paso, interactuará con el servicio Rsync descubierto. La primera acción es listar los "módulos" o recursos compartidos disponibles en el servidor. Si el acceso anónimo está habilitado, el servidor responderá con una lista de directorios públicamente accesibles.
Ejecute el siguiente comando para listar los módulos en el target:
rsync rsync://target
El servidor debería responder con una lista de módulos disponibles. En este caso, verá un módulo llamado public.
public Public Files
Ahora que sabe que existe un módulo llamado public, puede sincronizar su contenido a su máquina local. Utilizaremos las banderas -av: -a para el modo archivo (que preserva permisos, propiedad, etc.) y -v para la salida detallada.
Ejecute el comando a continuación para descargar el contenido del módulo public a su directorio actual (.):
rsync -av rsync://target/public/ .
El comando se conectará al objetivo, transferirá los archivos y mostrará un resumen de la operación.
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 salida muestra que un archivo llamado flag.txt se descargó con éxito a su directorio local.
Explorar Sistema Objetivo y Localizar Flag
En este paso final, inspeccionará los archivos que descargó del servidor Rsync y recuperará la bandera (flag). Dado que sincronizó los archivos en su directorio actual, ahora están disponibles localmente para que los examine.
Primero, use el comando ls para listar los archivos en su directorio actual y confirmar que flag.txt fue descargado.
ls
Debería ver flag.txt listado en la salida.
flag.txt
Ahora, use el comando cat para mostrar el contenido de flag.txt. Esto revelará la bandera que necesita para completar el laboratorio.
cat flag.txt
La terminal mostrará el valor de la bandera.
labex{rsync_an0nym0us_4cc3ss_fl4g}
¡Felicitaciones! Ha identificado con éxito un servicio Rsync mal configurado, enumerado sus recursos compartidos, descargado su contenido y capturado la bandera. Copie el valor de la bandera para completar el laboratorio.
Resumen
En este laboratorio, completó con éxito una evaluación de seguridad de un servicio Rsync, avanzando desde el reconocimiento hasta la explotación. Aprendió a:
- Usar
pingpara establecer una línea base de conectividad de red con un objetivo. - Emplear
nmappara realizar un escaneo de puertos dirigido, identificando el servicio Rsync abierto y su versión. - Interactuar con un servidor Rsync para listar módulos disponibles públicamente, un paso clave en la enumeración.
- Explotar una mala configuración de acceso anónimo para sincronizar archivos del objetivo a su máquina local.
- Localizar y recuperar una bandera (flag) de los archivos descargados, completando el objetivo.
Este ejercicio demuestra un principio de seguridad crítico: los servicios diseñados para la conveniencia, como Rsync, deben asegurarse adecuadamente con autenticación y controles de acceso. Dejar un servidor Rsync abierto para acceso anónimo puede llevar a brechas de datos significativas. Al comprender estos vectores de ataque, estará mejor preparado para asegurar los servicios de red.



