2020-07-15 15:43:14 +00:00
# 9042/9160 - Pentesting Cassandra
## Basic Information
2021-10-18 11:21:18 +00:00
Apache Cassandra is a highly scalable, high-performance distributed database designed to handle large amounts of data across many commodity servers, providing high availability with no single point of failure. It is a type of NoSQL database.\
In several cases you will find **cassandra accepting any credentials** (as there aren't any configured) and you will be able to enumerate the database.
2020-07-15 15:43:14 +00:00
**Default port:** 9042,9160
2021-10-18 11:21:18 +00:00
```
2020-07-15 15:43:14 +00:00
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
```
## Enumeration
### Manual
```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";
```
### Automated
There aren't much options here and nmap doesn't obtain much info
```bash
nmap -sV --script cassandra-info -p < PORT > < IP >
```
2021-10-18 11:21:18 +00:00
### ****[**Brute force**](../brute-force.md#cassandra)****
2020-07-15 15:43:14 +00:00
### **Shodan**
2021-10-18 11:21:18 +00:00
`port:9160 Cluster` \
2020-07-15 15:43:14 +00:00
****`port:9042 "Invalid or unsupported protocol version"`