hacktricks/network-services-pentesting/cassandra.md

3.9 KiB

9042/9160 - Pentesting Cassandra

{% hint style="success" %} Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %}

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 pozwolić atakującemu na 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

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";

Zautomatyzowane

Nie ma tu wielu opcji, a nmap nie uzyskuje zbyt wielu informacji.

nmap -sV --script cassandra-info -p <PORT> <IP>

Brute force

Shodan

port:9160 Cluster
port:9042 "Invalid or unsupported protocol version"

{% hint style="success" %} Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)

Wsparcie HackTricks
{% endhint %}