AWS - Redshift Privesc

Jifunze kuhusu udukuzi wa AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)!

Njia nyingine za kusaidia HackTricks:

Redshift

Kwa habari zaidi kuhusu RDS angalia:

pageAWS - Redshift Enum

redshift:DescribeClusters, redshift:GetClusterCredentials

Kwa idhini hizi unaweza kupata habari za mizunguko yote (ikiwa ni pamoja na jina na jina la mtumiaji wa mizunguko) na pata vibali vya kufikia:

# 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

Athari Inayoweza Kutokea: Pata habari nyeti ndani ya mabadiliko.

redshift:DescribeClusters, redshift:GetClusterCredentialsWithIAM

Kwa idhini hizi unaweza kupata habari za mabadiliko yote na pata sifa ya kufikia. Tafadhali kumbuka kuwa mtumiaji wa postgres atakuwa na idhini ambazo kitambulisho cha IAM kilichotumika kupata sifa ina.

# 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

Athari Inayoweza Kutokea: Pata habari nyeti ndani ya mabadiliko.

redshift:DescribeClusters, redshift:ModifyCluster?

Inawezekana kubadilisha nenosiri la msingi la mtumiaji wa ndani wa postgres (redshit) kutoka kwa aws cli (Nadhani hizi ni ruhusa unazohitaji lakini bado sijazijaribu):

aws redshift modify-cluster –cluster-identifier <identifier-for-the cluster> –master-user-password ‘master-password’;

Athari Inayowezekana: Pata habari nyeti ndani ya mabadiliko.

Kupata Huduma za Nje

Kupata rasilimali zote zifuatazo, utahitaji kuweka wazi jukumu litakalotumika. Kikundi cha Redshift kinaweza kuwa na majukumu ya AWS yaliyopewa unaweza kutumia ikiwa unajua ARN au unaweza kuweka "default" kutumia lile lililowekwa kwa chaguo-msingi.

Zaidi ya hayo, kama inavyoelezwa hapa, Redshift pia inaruhusu kuunganisha majukumu (kwa muda mrefu kama la kwanza linaweza kudai la pili) kupata ufikivu zaidi lakini tu kwa kuwatenganisha kwa koma: iam_role 'arn:aws:iam::123456789012:role/RoleA,arn:aws:iam::210987654321:role/RoleB';

Lambdas

Kama ilivyoelezwa katika https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_EXTERNAL_FUNCTION.html, ni inawezekana kuita kazi ya lambda kutoka redshift kwa kitu kama:

CREATE EXTERNAL FUNCTION exfunc_sum2(INT,INT)
RETURNS INT
STABLE
LAMBDA 'lambda_function'
IAM_ROLE default;

S3

Kama ilivyoelezwa katika https://docs.aws.amazon.com/redshift/latest/dg/tutorial-loading-run-copy.html, ni kawaida kusoma na kuandika kwenye vikapu vya S3:

# 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

Kama ilivyoelezwa katika https://docs.aws.amazon.com/redshift/latest/dg/t_Loading-data-from-dynamodb.html, ni rahisi kupata data kutoka dynamodb:

copy favoritemovies
from 'dynamodb://ProductCatalog'
iam_role 'arn:aws:iam::0123456789012:role/MyRedshiftRole';

Jedwali la Amazon DynamoDB linalotoa data lazima liundwe katika Mkoa sawa wa AWS kama kikundi chako isipokuwa utatumia chaguo la REGION kufafanua Mkoa wa AWS ambapo jedwali la Amazon DynamoDB lipo.

EMR

Angalia https://docs.aws.amazon.com/redshift/latest/dg/loading-data-from-emr.html

Marejeo

Jifunze kuhusu udukuzi wa AWS kutoka sifuri hadi shujaa na htARTE (HackTricks AWS Red Team Expert)!

Njia nyingine za kusaidia HackTricks:

Last updated