873 - Pentesting Rsync
Información Básica
Desde wikipedia:
rsync es una utilidad para transferir y sincronizar archivos de manera eficiente entre una computadora y un disco duro externo y entre computadoras en red al comparar los tiempos de modificación y tamaños de los archivos.[3] Comúnmente se encuentra en sistemas operativos tipo Unix. El algoritmo de 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 predeterminado: 873
Enumeración
Banner y comunicación manual
Enumerando Carpetas Compartidas
Los módulos de Rsync son reconocidos como comparticiones de directorios que podrían estar protegidas con contraseñas. Para identificar los módulos disponibles y verificar si requieren contraseñas, se utilizan los siguientes comandos:
Ten en cuenta que es posible que algunas comparticiones no aparezcan en la lista, posiblemente estén ocultas. Además, el acceso a algunas comparticiones podría estar restringido a credenciales específicas, indicado por un mensaje de "Acceso denegado".
Uso manual de Rsync
Una vez obtenida una lista de módulos, las acciones dependen de si se necesita autenticación. Sin autenticación, la enumeración y copia de archivos desde una carpeta compartida a un directorio local se logra mediante:
Este proceso transfiere archivos de forma recursiva, preservando sus atributos y permisos.
Con credenciales, la lista y descarga desde una carpeta compartida se puede hacer de la siguiente manera, donde aparecerá un prompt para ingresar la contraseña:
Para subir contenido, como un archivo authorized_keys para acceso, usa:
POST
Para localizar el archivo de configuración de rsyncd, ejecuta:
Dentro de este archivo, un parámetro secrets file podría apuntar a un archivo que contiene nombres de usuario y contraseñas para la autenticación de rsyncd.
Referencias
Última actualización