AWS - Redshift Privesc
Last updated
Last updated
Lerne & übe AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lerne & übe GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Für weitere Informationen zu RDS siehe:
AWS - Redshift Enumredshift:DescribeClusters
, redshift:GetClusterCredentials
Mit diesen Berechtigungen kannst du Informationen über alle Cluster (einschließlich Name und Cluster-Benutzername) abrufen und Zugangsdaten erhalten, um darauf zuzugreifen:
Potenzielle Auswirkungen: Sensible Informationen in den Datenbanken finden.
redshift:DescribeClusters
, redshift:GetClusterCredentialsWithIAM
Mit diesen Berechtigungen können Sie Informationen über alle Cluster abrufen und Zugangsdaten dafür erhalten. Beachten Sie, dass der postgres-Benutzer die Berechtigungen hat, die die IAM-Identität hat, die verwendet wurde, um die Zugangsdaten zu erhalten.
Potenzielle Auswirkungen: Sensible Informationen in den Datenbanken finden.
redshift:DescribeClusters
, redshift:ModifyCluster?
Es ist möglich, das Master-Passwort des internen Postgres (redshift) Benutzers über die AWS CLI zu ändern (ich denke, das sind die Berechtigungen, die du benötigst, aber ich habe sie noch nicht getestet):
Potenzielle Auswirkungen: Finde sensible Informationen in den Datenbanken.
Um auf alle folgenden Ressourcen zuzugreifen, müssen Sie die zu verwendende Rolle angeben. Ein Redshift-Cluster kann eine Liste von AWS-Rollen zugewiesen haben, die Sie verwenden können, wenn Sie die ARN kennen, oder Sie können einfach "default" setzen, um die standardmäßig zugewiesene zu verwenden.
Darüber hinaus erlaubt Redshift, wie hier erklärt, auch das Verketten von Rollen (solange die erste die zweite annehmen kann), um weiteren Zugriff zu erhalten, indem Sie sie einfach mit einem Komma trennen: iam_role 'arn:aws:iam::123456789012:role/RoleA,arn:aws:iam::210987654321:role/RoleB';
Wie in https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_EXTERNAL_FUNCTION.html erklärt, ist es möglich, eine Lambda-Funktion von Redshift aus aufzurufen mit etwas wie:
Wie in https://docs.aws.amazon.com/redshift/latest/dg/tutorial-loading-run-copy.html erklärt, ist es möglich, in S3-Buckets zu lesen und zu schreiben:
Wie in https://docs.aws.amazon.com/redshift/latest/dg/t_Loading-data-from-dynamodb.html erklärt, ist es möglich, Daten von dynamodb zu erhalten:
Die Amazon DynamoDB-Tabelle, die die Daten bereitstellt, muss in derselben AWS-Region wie Ihr Cluster erstellt werden, es sei denn, Sie verwenden die REGION Option, um die AWS-Region anzugeben, in der sich die Amazon DynamoDB-Tabelle befindet.
Überprüfen Sie https://docs.aws.amazon.com/redshift/latest/dg/loading-data-from-emr.html
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)