1.8 KiB
9042/9160 - Pentesting Cassandra
{{#include ../banners/hacktricks-training.md}}
Informations de base
Apache Cassandra est une base de données distribuée hautement évolutive et haute performance conçue pour gérer de grandes quantités de données sur de nombreux serveurs standard, offrant une haute disponibilité sans point de défaillance unique. C'est un type de base de données NoSQL.
Dans plusieurs cas, vous pouvez constater que Cassandra accepte toutes les informations d'identification (car aucune n'est configurée) et cela pourrait potentiellement permettre à un attaquant de énumérer la base de données.
Port par défaut : 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
Énumération
Manuel
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";
Automatisé
Il n'y a pas beaucoup d'options ici et nmap n'obtient pas beaucoup d'informations.
nmap -sV --script cassandra-info -p <PORT> <IP>
Brute force
Shodan
port:9160 Cluster
port:9042 "Version de protocole invalide ou non prise en charge"
{{#include ../banners/hacktricks-training.md}}