9042/9160 - Pentesting Cassandra
Reading time: 1 minute
基本信息
Apache Cassandra 是一个 高度可扩展、高性能 的分布式数据库,旨在处理 大量数据,分布在许多 普通服务器 上,提供 高可用性,且没有 单点故障。它是一种 NoSQL 数据库。
在某些情况下,您可能会发现 Cassandra 接受 任何凭据(因为没有配置任何凭据),这可能允许攻击者 枚举 数据库。
默认端口: 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
枚举
手动
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";
自动化
这里没有太多选项,nmap 获取的信息也不多。
bash
nmap -sV --script cassandra-info -p <PORT> <IP>
暴力破解
Shodan
port:9160 Cluster
port:9042 "无效或不支持的协议版本"
HackTricks