6.5 KiB
873 - Pentesting Rsync
{% hint style="success" %}
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Check the subscription plans!
- Join the 💬 Discord group or the telegram group or follow us on Twitter 🐦 @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.
Informazioni di base
Da wikipedia:
rsync è un'utilità per trasferire in modo efficiente transferring e synchronizing file tra un computer e un disco rigido esterno e tra computer in rete confrontando i tempi di modifica e le dimensioni dei file.[3] È comunemente trovato su sistemi operativi simili a Unix. L'algoritmo rsync è un tipo di delta encoding ed è utilizzato per minimizzare l'uso della rete. Zlib può essere utilizzato per una compressione dei dati aggiuntiva,[3] e SSH o stunnel possono essere utilizzati per la sicurezza.
Porta predefinita: 873
PORT STATE SERVICE REASON
873/tcp open rsync syn-ack
Enumerazione
Banner e comunicazione manuale
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
Enumerare le Cartelle Condivise
I moduli Rsync sono riconosciuti come condivisioni di directory che potrebbero essere protette da password. Per identificare i moduli disponibili e verificare se richiedono password, si utilizzano i seguenti comandi:
nmap -sV --script "rsync-list-modules" -p <PORT> <IP>
msf> use auxiliary/scanner/rsync/modules_list
# Example with IPv6 and alternate port
rsync -av --list-only rsync://[dead:beef::250:56ff:feb9:e90a]:8730
Fai attenzione che alcune condivisioni potrebbero non apparire nell'elenco, nascondendole. Inoltre, l'accesso ad alcune condivisioni potrebbe essere limitato a specifiche credenziali, indicate da un messaggio "Accesso Negato".
Brute Force
Utilizzo Manuale di Rsync
Una volta ottenuto un elenco dei moduli, le azioni dipendono dal fatto che sia necessaria l'autenticazione. Senza autenticazione, elencare e copiare file da una cartella condivisa a una directory locale si ottiene tramite:
# Listing a shared folder
rsync -av --list-only rsync://192.168.0.123/shared_name
# Copying files from a shared folder
rsync -av rsync://192.168.0.123:8730/shared_name ./rsyn_shared
Questo processo trasferisce file in modo ricorsivo, preservando i loro attributi e permessi.
Con credenziali, l'elenco e il download da una cartella condivisa possono essere effettuati come segue, dove apparirà un prompt per la password:
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
Per caricare contenuti, come un file authorized_keys per l'accesso, usa:
rsync -av home_user/.ssh/ rsync://username@192.168.0.123/home_user/.ssh
POST
Per localizzare il file di configurazione rsyncd, eseguire:
find /etc \( -name rsyncd.conf -o -name rsyncd.secrets \)
All'interno di questo file, un parametro secrets file potrebbe puntare a un file contenente nomi utente e password per l'autenticazione rsyncd.
Riferimenti
{% hint style="success" %}
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Check the subscription plans!
- Join the 💬 Discord group or the telegram group or follow us on Twitter 🐦 @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.