hacktricks/network-services-pentesting/cassandra.md
2023-08-03 19:12:22 +00:00

90 lines
6.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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是一个开源的分布式数据库管理系统它使用CQLCassandra Query Language进行查询和操作。在进行Cassandra的手动枚举时可以使用以下方法
1. **CQLsh命令行工具**CQLsh是Cassandra提供的命令行工具可以使用它连接到Cassandra集群并执行CQL查询。可以使用`cqlsh`命令启动CQLsh并使用`DESCRIBE KEYSPACES`命令列出所有的keyspaces类似于数据库
2. **nodetool命令**nodetool是Cassandra提供的管理工具可以使用它获取有关Cassandra集群的信息。可以使用`nodetool status`命令获取集群的状态信息包括节点的IP地址和端口号。
3. **JMXJava Management Extensions**Cassandra使用JMX进行监控和管理。可以使用JConsole或JVisualVM等JMX客户端连接到Cassandra节点并查看节点的运行状况、性能指标和配置信息。
4. **Cassandra的默认端口**Cassandra的默认端口是9042CQL和7199JMX。可以使用端口扫描工具如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>