# 9042/9160 - Pentesting Cassandra {{#include ../banners/hacktricks-training.md}} ## Podstawowe informacje **Apache Cassandra** to **wysoce skalowalna**, **wysokowydajna** rozproszona baza danych zaprojektowana do obsługi **dużych ilości danych** na wielu **serwerach komercyjnych**, zapewniająca **wysoką dostępność** bez **pojedynczego punktu awarii**. Jest to rodzaj **bazy danych NoSQL**. W kilku przypadkach możesz stwierdzić, że Cassandra akceptuje **jakiekolwiek dane uwierzytelniające** (ponieważ nie są skonfigurowane) i może to potencjalnie umożliwić atakującemu **enumerację** bazy danych. **Domyślny port:** 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 ``` ## Enumeracja ### Ręczna ```bash pip install cqlsh cqlsh #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 #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"; ``` ### Zautomatyzowane Nie ma tu wielu opcji, a nmap nie uzyskuje zbyt wielu informacji. ```bash nmap -sV --script cassandra-info -p ``` ### [**Brute force**](../generic-hacking/brute-force.md#cassandra) ### **Shodan** `port:9160 Cluster`\ `port:9042 "Invalid or unsupported protocol version"` {{#include ../banners/hacktricks-training.md}}