AWS - Redshift Privesc
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Для отримання додаткової інформації про RDS перегляньте:
AWS - Redshift Enumredshift:DescribeClusters
, redshift:GetClusterCredentials
З цими дозволами ви можете отримати інформацію про всі кластери (включаючи ім'я та ім'я користувача кластера) та отримати облікові дані для доступу до нього:
Потенційний вплив: Знайти чутливу інформацію всередині баз даних.
redshift:DescribeClusters
, redshift:GetClusterCredentialsWithIAM
З цими дозволами ви можете отримати інформацію про всі кластери та отримати облікові дані для доступу до них. Зверніть увагу, що користувач postgres матиме дозволи, які має IAM-ідентичність, використана для отримання облікових даних.
Потенційний вплив: Знайти чутливу інформацію всередині баз даних.
redshift:DescribeClusters
, redshift:ModifyCluster?
Можливо змінити головний пароль внутрішнього користувача postgres (redshit) з aws cli (я думаю, це ті дозволи, які вам потрібні, але я ще не тестував їх):
Потенційний вплив: Знайти чутливу інформацію в базах даних.
Щоб отримати доступ до всіх наступних ресурсів, вам потрібно вказати роль для використання. Кластер Redshift може мати призначений список ролей AWS, які ви можете використовувати якщо знаєте ARN, або ви можете просто встановити "за замовчуванням", щоб використовувати призначену за замовчуванням.
Більше того, як пояснено тут, Redshift також дозволяє конкатенувати ролі (якщо перша може прийняти другу), щоб отримати подальший доступ, просто розділяючи їх комою: iam_role 'arn:aws:iam::123456789012:role/RoleA,arn:aws:iam::210987654321:role/RoleB';
Як пояснено в https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_EXTERNAL_FUNCTION.html, можливо викликати лямбда-функцію з redshift з чимось на кшталт:
Як пояснено в https://docs.aws.amazon.com/redshift/latest/dg/tutorial-loading-run-copy.html, можливо читати та записувати в S3 бакети:
Як пояснено в https://docs.aws.amazon.com/redshift/latest/dg/t_Loading-data-from-dynamodb.html, можливо отримати дані з dynamodb:
Таблиця Amazon DynamoDB, яка надає дані, повинна бути створена в тому ж регіоні AWS, що й ваш кластер, якщо ви не використовуєте опцію REGION для вказівки регіону AWS, в якому знаходиться таблиця Amazon DynamoDB.
Перевірте https://docs.aws.amazon.com/redshift/latest/dg/loading-data-from-emr.html
Вчіться та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Вчіться та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)