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 %}

Informações Básicas

Apache Cassandra é um banco de dados distribuído altamente escalável e de alto desempenho projetado para lidar com grandes quantidades de dados em muitos servidores comuns, proporcionando alta disponibilidade sem ponto único de falha. É um tipo de banco de dados NoSQL.

Em vários casos, você pode descobrir que o Cassandra aceita qualquer credencial (já que não há nenhuma configurada) e isso pode potencialmente permitir que um atacante enumere o banco de dados.

Porta padrão: 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

Enumeração

Manual

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

Automatizado

Não há muitas opções aqui e o nmap não obtém muitas informações.

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

Força bruta

Shodan

port:9160 Cluster
port:9042 "Versão de protocolo inválida ou não suportada"

{% hint style="success" %} Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)

Supporte o HackTricks
{% endhint %}