mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-23 13:13:41 +00:00
90 lines
6.3 KiB
Markdown
90 lines
6.3 KiB
Markdown
# 9042/9160 - Pentesting Cassandra
|
||
|
||
<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>
|
||
|
||
- 你在一个**网络安全公司**工作吗?你想在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>
|
||
|
||
## 基本信息
|
||
|
||
Apache Cassandra是一种高度可扩展、高性能的分布式数据库,旨在处理大量数据并在许多普通服务器上提供高可用性,没有单点故障。它是一种NoSQL数据库。\
|
||
在一些情况下,你会发现**cassandra接受任何凭据**(因为没有配置任何凭据),你将能够枚举数据库。
|
||
|
||
**默认端口:** 9042,9160
|
||
```
|
||
PORT STATE SERVICE REASON
|
||
9042/tcp open cassandra-native Apache Cassandra 3.10 or later (native protocol versions 3/v3, 4/v4, 5/v5-beta)
|
||
9160/tcp open cassandra syn-ack
|
||
```
|
||
## 枚举
|
||
|
||
### 手动枚举
|
||
|
||
Cassandra是一个开源的分布式数据库管理系统,它使用CQL(Cassandra Query Language)进行查询和操作。在进行Cassandra的手动枚举时,可以使用以下方法:
|
||
|
||
1. **CQLsh命令行工具**:CQLsh是Cassandra提供的命令行工具,可以使用它连接到Cassandra集群并执行CQL查询。可以使用`cqlsh`命令启动CQLsh,并使用`DESCRIBE KEYSPACES`命令列出所有的keyspaces(类似于数据库)。
|
||
|
||
2. **nodetool命令**:nodetool是Cassandra提供的管理工具,可以使用它获取有关Cassandra集群的信息。可以使用`nodetool status`命令获取集群的状态信息,包括节点的IP地址和端口号。
|
||
|
||
3. **JMX(Java Management Extensions)**:Cassandra使用JMX进行监控和管理。可以使用JConsole或JVisualVM等JMX客户端连接到Cassandra节点,并查看节点的运行状况、性能指标和配置信息。
|
||
|
||
4. **Cassandra的默认端口**:Cassandra的默认端口是9042(CQL)和7199(JMX)。可以使用端口扫描工具(如nmap)扫描目标主机的这些端口,以确定是否运行了Cassandra服务。
|
||
|
||
5. **Cassandra的Web管理界面**:Cassandra提供了一个Web管理界面,可以使用浏览器访问。默认情况下,该界面的URL是`http://<Cassandra_IP>:8888`。可以尝试访问该URL,查看是否可以获取到Cassandra的管理界面。
|
||
|
||
6. **Cassandra的日志文件**:Cassandra的日志文件中可能包含有关集群配置、错误信息和敏感信息的线索。可以查看Cassandra的日志文件,以获取有关集群的更多信息。
|
||
|
||
以上是一些手动枚举Cassandra的方法,通过这些方法可以获取有关Cassandra集群的信息,为后续的渗透测试工作提供基础。
|
||
```bash
|
||
pip install cqlsh
|
||
cqlsh <IP>
|
||
#Basic info enumeration
|
||
SELECT cluster_name, thrift_version, data_center, partitioner, native_protocol_version, rack, release_version from system.local;
|
||
#Keyspace enumeration
|
||
SELECT keyspace_name FROM system.schema_keyspaces;
|
||
desc <Keyspace_name> #Decribe that DB
|
||
desc system_auth #Describe the DB called system_auth
|
||
SELECT * from system_auth.roles; #Retreive that info, can contain credential hashes
|
||
SELECT * from logdb.user_auth; #Can contain credential hashes
|
||
SELECT * from logdb.user;
|
||
SELECT * from configuration."config";
|
||
```
|
||
### 自动化
|
||
|
||
这里没有太多选择,nmap无法获取太多信息。
|
||
```bash
|
||
nmap -sV --script cassandra-info -p <PORT> <IP>
|
||
```
|
||
### [**暴力破解**](../generic-methodologies-and-resources/brute-force.md#cassandra)
|
||
|
||
### **Shodan**
|
||
|
||
`port:9160 Cluster`\
|
||
`port:9042 "Invalid or unsupported protocol version"`
|
||
|
||
<details>
|
||
|
||
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks 云 ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
|
||
|
||
- 你在一家**网络安全公司**工作吗?想要在 HackTricks 中**宣传你的公司**吗?或者你想要**获取最新版本的 PEASS 或下载 HackTricks 的 PDF**吗?请查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
|
||
|
||
- 发现我们的独家 [**NFTs**](https://opensea.io/collection/the-peass-family) 集合——[**The PEASS Family**](https://opensea.io/collection/the-peass-family)
|
||
|
||
- 获取[**官方 PEASS & HackTricks 商品**](https://peass.creator-spring.com)
|
||
|
||
- **加入** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**Telegram 群组**](https://t.me/peass),或者**关注**我在**Twitter**上的[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**。**
|
||
|
||
- **通过向 [hacktricks 仓库](https://github.com/carlospolop/hacktricks) 和 [hacktricks-cloud 仓库](https://github.com/carlospolop/hacktricks-cloud) 提交 PR 来分享你的黑客技巧**。
|
||
|
||
</details>
|