11 KiB
9042/9160 - Kupima Usalama wa Cassandra
Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)!
Njia nyingine za kusaidia HackTricks:
- Ikiwa unataka kuona kampuni yako inatangazwa kwenye HackTricks au kupakua HackTricks kwa PDF Angalia MPANGO WA KUJIUNGA!
- Pata swag rasmi ya PEASS & HackTricks
- Gundua The PEASS Family, mkusanyiko wetu wa kipekee wa NFTs
- Jiunge na 💬 Kikundi cha Discord au kikundi cha telegram au tufuate kwenye Twitter 🐦 @carlospolopm.
- Shiriki mbinu zako za kudukua kwa kuwasilisha PR kwa HackTricks na HackTricks Cloud repos za github.
Taarifa Msingi
Apache Cassandra ni mfumo wa hifadhidata uliogawanyika unaoweza kusambazwa sana, wenye utendaji wa juu, ulioundwa kushughulikia kiasi kikubwa cha data kwenye seva nyingi za kawaida, huku ukihakikisha upatikanaji wa juu bila kitovu cha kushindwa. Ni aina ya hifadhidata ya NoSQL.
Katika hali kadhaa, unaweza kugundua kuwa Cassandra inakubali vyeti vyovyote (kwa kuwa hakuna vyeti vilivyowekwa) na hii inaweza kumruhusu mshambuliaji kufanya uchambuzi wa hifadhidata.
Bandari ya chaguo: 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
Uchunguzi
Kwa Mkono
Kupata Nodes za Cassandra
Kutumia nodetool, unaweza kupata orodha ya nodes za Cassandra zinazofanya kazi kwenye mfumo:
nodetool status
Kupata Keyspaces
Kutumia cqlsh, unaweza kupata orodha ya keyspaces zilizopo kwenye mfumo:
DESCRIBE keyspaces;
Kupata Tables
Kutumia cqlsh, unaweza kupata orodha ya tables zilizopo kwenye keyspace fulani:
USE keyspace_name;
DESCRIBE tables;
Kupata Columns
Kutumia cqlsh, unaweza kupata orodha ya columns zilizopo kwenye table fulani:
USE keyspace_name;
SELECT * FROM table_name LIMIT 1;
Kupata Data
Kutumia cqlsh, unaweza kupata data iliyopo kwenye table fulani:
USE keyspace_name;
SELECT * FROM table_name;
Kupata Uthibitishaji wa Nje
Kutumia cqlsh, unaweza kupata orodha ya uthibitishaji wa nje uliowekwa kwenye keyspace fulani:
USE keyspace_name;
DESCRIBE tables;
Kupata Uthibitishaji wa Ndani
Kutumia cqlsh, unaweza kupata orodha ya uthibitishaji wa ndani uliowekwa kwenye keyspace fulani:
USE keyspace_name;
DESCRIBE tables;
Kupata Uthibitishaji wa Jumla
Kutumia cqlsh, unaweza kupata orodha ya uthibitishaji wa jumla uliowekwa kwenye keyspace fulani:
USE keyspace_name;
DESCRIBE tables;
Kupata Uthibitishaji wa Kikoa
Kutumia cqlsh, unaweza kupata orodha ya uthibitishaji wa kikoa uliowekwa kwenye keyspace fulani:
USE keyspace_name;
DESCRIBE tables;
Kupata Uthibitishaji wa Mtumiaji
Kutumia cqlsh, unaweza kupata orodha ya uthibitishaji wa mtumiaji uliowekwa kwenye keyspace fulani:
USE keyspace_name;
DESCRIBE tables;
Kupata Uthibitishaji wa Jukumu
Kutumia cqlsh, unaweza kupata orodha ya uthibitishaji wa jukumu uliowekwa kwenye keyspace fulani:
USE keyspace_name;
DESCRIBE tables;
Kupata Uthibitishaji wa Rasilimali
Kutumia cqlsh, unaweza kupata orodha ya uthibitishaji wa rasilimali uliowekwa kwenye keyspace fulani:
USE keyspace_name;
DESCRIBE tables;
Kupata Uthibitishaji wa Kikundi
Kutumia cqlsh, unaweza kupata orodha ya uthibitishaji wa kikundi uliowekwa kwenye keyspace fulani:
USE keyspace_name;
DESCRIBE tables;
Kupata Uthibitishaji wa Kikundi cha Jukumu
Kutumia cqlsh, unaweza kupata orodha ya uthibitishaji wa kikundi cha jukumu uliowekwa kwenye keyspace fulani:
USE keyspace_name;
DESCRIBE tables;
Kupata Uthibitishaji wa Kikundi cha Rasilimali
Kutumia cqlsh, unaweza kupata orodha ya uthibitishaji wa kikundi cha rasilimali uliowekwa kwenye keyspace fulani:
USE keyspace_name;
DESCRIBE tables;
Kupata Uthibitishaji wa Kikundi cha Kikundi
Kutumia cqlsh, unaweza kupata orodha ya uthibitishaji wa kikundi cha kikundi uliowekwa kwenye keyspace fulani:
USE keyspace_name;
DESCRIBE tables;
Kupata Uthibitishaji wa Kikundi cha Kikundi cha Jukumu
Kutumia cqlsh, unaweza kupata orodha ya uthibitishaji wa kikundi cha kikundi cha jukumu uliowekwa kwenye keyspace fulani:
USE keyspace_name;
DESCRIBE tables;
Kupata Uthibitishaji wa Kikundi cha Kikundi cha Rasilimali
Kutumia cqlsh, unaweza kupata orodha ya uthibitishaji wa kikundi cha kikundi cha rasilimali uliowekwa kwenye keyspace fulani:
USE keyspace_name;
DESCRIBE tables;
Kupata Uthibitishaji wa Kikundi cha Kikundi cha Kikundi
Kutumia cqlsh, unaweza kupata orodha ya uthibitishaji wa kikundi cha kikundi cha kikundi uliowekwa kwenye keyspace fulani:
USE keyspace_name;
DESCRIBE tables;
Kupata Uthibitishaji wa Kikundi cha Kikundi cha Kikundi cha Jukumu
Kutumia cqlsh, unaweza kupata orodha ya uthibitishaji wa kikundi cha kikundi cha kikundi cha jukumu uliowekwa kwenye keyspace fulani:
USE keyspace_name;
DESCRIBE tables;
Kupata Uthibitishaji wa Kikundi cha Kikundi cha Kikundi cha Rasilimali
Kutumia cqlsh, unaweza kupata orodha ya uthibitishaji wa kikundi cha kikundi cha kikundi cha rasilimali uliowekwa kwenye keyspace fulani:
USE keyspace_name;
DESCRIBE tables;
Kupata Uthibitishaji wa Kikundi cha Kikundi cha Kikundi cha Kikundi
Kutumia cqlsh, unaweza kupata orodha ya uthibitishaji wa kikundi cha kikundi cha kikundi cha kikundi uliowekwa kwenye keyspace fulani:
USE keyspace_name;
DESCRIBE tables;
Kupata Uthibitishaji wa Kikundi cha Kikundi cha Kikundi cha Kikundi cha Jukumu
Kutumia cqlsh, unaweza kupata orodha ya uthibitishaji wa kikundi cha kikundi cha kikundi cha kikundi cha jukumu uliowekwa kwenye keyspace fulani:
USE keyspace_name;
DESCRIBE tables;
Kupata Uthibitishaji wa Kikundi cha Kikundi cha Kikundi cha Kikundi cha Rasilimali
Kutumia cqlsh, unaweza kupata orodha ya uthibitishaji wa kikundi cha kikundi cha kikundi cha kikundi cha rasilimali uliowekwa kwenye keyspace fulani:
USE keyspace_name;
DESCRIBE tables;
Kupata Uthibitishaji wa Kikundi cha Kikundi cha Kikundi cha Kikundi cha Kikundi
Kutumia cqlsh, unaweza kupata orodha ya uthibitishaji wa kikundi cha kikundi cha kikundi cha kikundi cha kikundi uliowekwa kwenye keyspace fulani:
USE keyspace_name;
DESCRIBE tables;
Kupata Uthibitishaji wa Kikundi cha Kikundi cha Kikundi cha Kikundi cha Kikundi cha Jukumu
Kutumia cqlsh, unaweza kupata orodha ya uthibitishaji wa kikundi cha kikundi cha kikundi cha kikundi cha kikundi cha jukumu uliowekwa kwenye keyspace fulani:
USE keyspace_name;
DESCRIBE tables;
Kupata Uthibitishaji wa Kikundi cha Kikundi cha Kikundi cha Kikundi cha Kikundi cha Rasilimali
Kutumia cqlsh, unaweza kupata orodha ya uthibitishaji wa kikundi cha kikundi cha kikundi cha kikundi cha kikundi cha rasilimali uliowekwa kwenye keyspace fulani:
USE keyspace_name;
DESCRIBE tables;
Kupata Uthibitishaji wa Kikundi cha Kikundi cha Kikundi cha Kikundi cha Kikundi cha Kikundi
Kutumia cqlsh, unaweza kupata orodha ya uthibitishaji wa kikundi cha kikundi cha kikundi cha kikundi cha kikundi cha kikundi uliowekwa kwenye keyspace fulani:
USE keyspace_name;
DESCRIBE tables;
Kupata Uthibitishaji wa Kikundi cha Kikundi cha Kikundi cha Kikundi cha Kikundi cha Kikundi cha Jukumu
Kutumia cqlsh, unaweza kupata orodha ya uthibitishaji wa kikundi cha kikundi cha kikundi cha kikundi cha kikundi cha kikundi cha jukumu uliowekwa kwenye keyspace fulani:
USE keyspace_name;
DESCRIBE tables;
Kupata Uthibitishaji wa Kikundi cha Kikundi cha Kikundi cha Kikundi cha Kikundi cha Kikundi cha Rasilimali
Kutumia cqlsh, unaweza kupata orodha ya uthibitishaji wa kikundi cha kikundi cha kikundi cha kikundi cha kikundi cha kikundi cha rasilimali uliowekwa kwenye keyspace fulani:
USE keyspace_name;
DESCRIBE tables;
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";
Kiotomatiki
Hapa hakuna chaguo nyingi na nmap hupata habari kidogo sana.
nmap -sV --script cassandra-info -p <PORT> <IP>
Brute force
Shodan
port:9160 Kikundi
port:9042 "Toleo la itifaki lisiloungwa mkono au lisiloungwa mkono"
Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)!
Njia nyingine za kusaidia HackTricks:
- Ikiwa unataka kuona kampuni yako inatangazwa kwenye HackTricks au kupakua HackTricks kwa muundo wa PDF Angalia MPANGO WA KUJIUNGA!
- Pata swag rasmi wa PEASS & HackTricks
- Gundua Familia ya PEASS, mkusanyiko wetu wa NFTs ya kipekee
- Jiunge na 💬 Kikundi cha Discord au kikundi cha telegram au tufuate kwenye Twitter 🐦 @carlospolopm.
- Shiriki mbinu zako za kudukua kwa kuwasilisha PR kwa HackTricks na HackTricks Cloud github repos.