AWS - Redshift Enum

Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!

Drugi načini podrške HackTricks-u:

Amazon Redshift

Redshift je potpuno upravljana usluga koja može da se skalira do preko petabajta, koja se koristi kao data warehouse za rešenja velikih podataka. Korišćenjem Redshift klastera, možete izvršavati analitiku nad vašim skupovima podataka koristeći brze, SQL bazirane alate za upite i aplikacije za poslovnu inteligenciju kako biste stekli veće razumevanje vizije za vaš posao.

Redshift nudi šifrovanje u mirovanju koristeći četvorostepenu hijerarhiju šifarskih ključeva koristeći ili KMS ili CloudHSM za upravljanje najvišim nivoom ključeva. Kada je šifrovanje omogućeno za vaš klaster, ne može se onemogućiti i obrnuto. Kada imate nešifrovan klaster, ne može se šifrovati.

Šifrovanje za vaš klaster može se desiti samo tokom njegovog kreiranja, i jednom kada je šifrovan, podaci, metapodaci i bilo kakvi snimci su takođe šifrovani. Nivoi hijerarhije šifarskih ključeva su sledeći, nivo jedan je glavni ključ, nivo dva je ključ za šifrovanje klastera, CEK, nivo tri, ključ za šifrovanje baze podataka, DEK, i na kraju nivo četiri, sami ključevi za šifrovanje podataka.

KMS

Tokom kreiranja vašeg klastera, možete odabrati ili podrazumevani KMS ključ za Redshift ili odabrati sopstveni CMK, što vam pruža veću fleksibilnost nad kontrolom ključa, posebno sa auditorske tačke gledišta.

Podrazumevani KMS ključ za Redshift automatski se kreira od strane Redshift-a prvi put kada je opcija ključa odabrana i korišćena, i potpuno je upravljan od strane AWS-a.

Ovaj KMS ključ se zatim šifruje sa CMK glavnim ključem, nivo jedan. Ovaj šifrovani KMS podatkovni ključ se zatim koristi kao ključ za šifrovanje klastera, CEK, nivo dva. Ovaj CEK se zatim šalje od strane KMS-a Redshift-u gde se čuva odvojeno od klastera. Redshift zatim šalje ovaj šifrovani CEK klasteru preko sigurnog kanala gde se čuva u memoriji.

Redshift zatim zahteva od KMS-a da dešifruje CEK, nivo dva. Ovaj dešifrovani CEK se zatim takođe čuva u memoriji. Redshift zatim kreira nasumični ključ za šifrovanje baze podataka, DEK, nivo tri, i učitava ga u memoriju klastera. Dešifrovani CEK u memoriji zatim šifruje DEK, koji se takođe čuva u memoriji.

Ovaj šifrovani DEK se zatim šalje preko sigurnog kanala i čuva se u Redshift-u odvojeno od klastera. I CEK i DEK sada se čuvaju u memoriji klastera kako u šifrovanom tako i u dešifrovanom obliku. Dešifrovani DEK se zatim koristi za šifrovanje ključeva podataka, nivo četiri, koji su nasumično generisani od strane Redshift-a za svaki blok podataka u bazi podataka.

Možete koristiti AWS Trusted Advisor za praćenje konfiguracije vaših Amazon S3 kanti i osigurati da je vođenje evidencije kanti omogućeno, što može biti korisno za obavljanje sigurnosnih revizija i praćenje obrazaca korišćenja u S3.

CloudHSM

Korišćenje Redshift-a sa CloudHSM-om

Kada radite sa CloudHSM-om za obavljanje vašeg šifrovanja, prvo morate uspostaviti poverljivu vezu između vašeg HSM klijenta i Redshift-a koristeći klijentske i serverske sertifikate.

Ova veza je potrebna kako bi se obezbedile sigurne komunikacije, omogućavajući slanje ključeva za šifrovanje između vašeg HSM klijenta i vaših Redshift klastera. Koristeći nasumično generisan par privatnog i javnog ključa, Redshift kreira javni klijentski sertifikat, koji je šifrovan i čuvan od strane Redshift-a. Ovaj sertifikat mora biti preuzet i registrovan na vašem HSM klijentu, i dodeljen odgovarajućoj HSM particiji.

Zatim morate konfigurisati Redshift sa sledećim detaljima vašeg HSM klijenta: IP adresu HSM-a, ime particije HSM-a, lozinku particije HSM-a, i javni serverski sertifikat HSM-a, koji je šifrovan od strane CloudHSM-a koristeći interni glavni ključ. Kada su ove informacije obezbeđene, Redshift će potvrditi i verifikovati da može da se poveže i pristupi razvojnoj particiji.

Ako vaše interne sigurnosne politike ili upravljačke kontrole diktiraju da morate primeniti rotaciju ključeva, onda je to moguće sa Redshift-om omogućavajući vam rotaciju šifarskih ključeva za šifrovane klastera, međutim, morate biti svesni da tokom procesa rotacije ključeva, klaster će biti nedostupan vrlo kratko vreme, pa je najbolje rotirati ključeve samo kada je to potrebno, ili ako osećate da su možda kompromitovani.

Tokom rotacije, Redshift će rotirati CEK za vaš klaster i za sve rezervne kopije tog klastera. Rotiraće DEK za klaster ali nije moguće rotirati DEK za snimke smeštene u S3 koji su šifrovani korišćenjem DEK-a. Staviće klaster u stanje 'rotiranje ključeva' dok se proces ne završi, kada će status ponovo postati 'dostupan'.

Enumeracija

# Get clusters
aws redshift describe-clusters
## Get if publicly accessible
aws redshift describe-clusters | jq -r ".Clusters[].PubliclyAccessible"
## Get DB username to login
aws redshift describe-clusters | jq -r ".Clusters[].MasterUsername"
## Get endpoint
aws redshift describe-clusters | jq -r ".Clusters[].Endpoint"
## Public addresses of the nodes
aws redshift describe-clusters | jq -r ".Clusters[].ClusterNodes[].PublicIPAddress"
## Get IAM roles of the clusters
aws redshift describe-clusters | jq -r ".Clusters[].IamRoles"

# Endpoint access & authorization
aws redshift describe-endpoint-access
aws redshift describe-endpoint-authorization

# Get credentials
aws redshift get-cluster-credentials --db-user <username> --cluster-identifier <cluster-id>
## By default, the temporary credentials expire in 900 seconds. You can optionally specify a duration between 900 seconds (15 minutes) and 3600 seconds (60 minutes).
aws redshift get-cluster-credentials-with-iam --cluster-identifier <cluster-id>
## Gives creds to access redshift with the IAM redshift permissions given to the current AWS account
## More in https://docs.aws.amazon.com/redshift/latest/mgmt/redshift-iam-access-control-identity-based.html

# Authentication profiles
aws redshift describe-authentication-profiles

# Snapshots
aws redshift describe-cluster-snapshots

# Scheduled actions
aws redshift describe-scheduled-actions

# Connect
# The redshift instance must be publicly available (not by default), the sg need to allow inbounds connections to the port and you need creds
psql -h redshift-cluster-1.sdflju3jdfkfg.us-east-1.redshift.amazonaws.com -U admin -d dev -p 5439

Eskalacija privilegija

pageAWS - Redshift Privesc

Upornost

Sledeće radnje omogućavaju dodeljivanje pristupa drugim AWS nalozima klasteru:

Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!

Drugi načini podrške HackTricks-u:

Last updated