AWS - Redshift Privesc
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.mdredshift:DescribeClusters
, redshift:GetClusterCredentials
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:
Potansiyel Etki: Veritabanlarının içinde hassas bilgiler bulunabilir.
redshift:DescribeClusters
, redshift:GetClusterCredentialsWithIAM
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.
Potansiyel Etki: Veritabanlarında hassas bilgiler bulunabilir.
redshift:DescribeClusters
, redshift:ModifyCluster?
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):
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:
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:
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:
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
Last updated