hacktricks/network-services-pentesting/cassandra.md
2024-02-10 18:14:16 +00:00

6.8 KiB
Raw Blame History

9042/9160 - Cassandra Pentesting

AWS hackleme becerilerini sıfırdan kahraman seviyesine öğrenin htARTE (HackTricks AWS Kırmızı Takım Uzmanı)!

HackTricks'ı desteklemenin diğer yolları:

Temel Bilgiler

Apache Cassandra, büyük miktarda veriyi birçok standart sunucu üzerinde yüksek kullanılabilirlik sağlayarak işleyebilen, yüksek ölçeklenebilirlik ve yüksek performanslı bir dağıtık veritabanıdır. Bu, bir tür NoSQL veritabanıdır.

Bazı durumlarda, Cassandra'nın herhangi bir kimlik bilgisini (yapılandırılmış bir kimlik bilgisi olmadığı için) kabul ettiğini görebilirsiniz ve bu, saldırganın veritabanını numaralandırmasına izin verebilir.

Varsayılan 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

El ile Saptama

Cassandra hizmetini el ile saptamak için aşağıdaki adımları izleyebilirsiniz:

  1. Port Taraması: Nmap veya Nessus gibi bir port tarama aracı kullanarak hedef sistemdeki açık portları taramalısınız. Cassandra varsayılan olarak 9042 numaralı portu kullanır.

  2. Banner Grabbing: Telnet veya netcat gibi bir araç kullanarak hedef sistemdeki Cassandra sunucusuna bağlanarak banner bilgilerini alabilirsiniz. Banner bilgileri, Cassandra sürümü ve diğer önemli bilgileri içerebilir.

  3. Cassandra Query Language (CQL) Sorguları: Cassandra sunucusuna bağlanarak CQL sorguları kullanarak veritabanı ve tablo bilgilerini elde edebilirsiniz. Örneğin, "DESCRIBE KEYSPACES" komutuyla mevcut anahtar alanlarını, "DESCRIBE TABLES" komutuyla mevcut tabloları ve "SELECT * FROM <table_name>" komutuyla tablo içeriğini sorgulayabilirsiniz.

  4. Yönetici Arabirimi: Cassandra sunucusunun yönetici arabirimine erişebilirseniz, daha fazla bilgi elde etmek için bu arabirimi kullanabilirsiniz. Yönetici arabirimi genellikle 7199 numaralı port üzerinden erişilebilir.

  5. Diğer Araçlar: Cassandra'nın sızma testi için özel olarak tasarlanmış araçları kullanabilirsiniz. Örneğin, "cassandra-dump" aracı, veritabanı ve tablo bilgilerini otomatik olarak çekmek için kullanılabilir.

Otomatik

Cassandra hizmetini otomatik olarak saptamak için aşağıdaki araçları kullanabilirsiniz:

  1. Nmap: Nmap, hedef sistemdeki açık portları taramak için kullanılabilir. Cassandra varsayılan olarak 9042 numaralı portu kullanır. Aşağıdaki komutu kullanarak Nmap'i kullanabilirsiniz:

    nmap -p 9042 <hedef_ip>
    
  2. Metasploit Framework: Metasploit Framework, hedef sistemdeki Cassandra hizmetini otomatik olarak saptamak için kullanılabilir. Aşağıdaki komutu kullanarak Metasploit Framework'ü kullanabilirsiniz:

    use auxiliary/scanner/cassandra/cassandra_login
    set RHOSTS <hedef_ip>
    run
    
  3. Cassandra-dump: Cassandra-dump, Cassandra veritabanı ve tablo bilgilerini otomatik olarak çekmek için kullanılabilir. Aşağıdaki komutu kullanarak Cassandra-dump'ı kullanabilirsiniz:

    cassandra-dump -host <hedef_ip> -port 9042
    
  4. Cassandra-Scan: Cassandra-Scan, hedef sistemdeki Cassandra sunucusunu otomatik olarak taramak için kullanılabilir. Aşağıdaki komutu kullanarak Cassandra-Scan'i kullanabilirsiniz:

    cassandra-scan -host <hedef_ip> -port 9042
    
  5. Cassandra-Client: Cassandra-Client, Cassandra sunucusuna bağlanarak CQL sorguları kullanarak veritabanı ve tablo bilgilerini otomatik olarak çekmek için kullanılabilir. Aşağıdaki komutu kullanarak Cassandra-Client'ı kullanabilirsiniz:

    cassandra-client -h <hedef_ip> -p 9042
    
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";

Otomatik

Burada pek çok seçenek yok ve nmap çok fazla bilgi elde etmiyor.

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

Brute force

Shodan

port:9160 Küme
port:9042 "Geçersiz veya desteklenmeyen protokol sürümü"

AWS hacklemeyi sıfırdan kahraman olmak için htARTE (HackTricks AWS Kırmızı Takım Uzmanı) ile öğrenin!

HackTricks'i desteklemenin diğer yolları: