AWS - Redshift Privesc
Redshift
Для отримання додаткової інформації про RDS перегляньте:
AWS - Redshift Enumredshift:DescribeClusters
, redshift:GetClusterCredentials
redshift:DescribeClusters
, redshift:GetClusterCredentials
З цими дозволами ви можете отримати інформацію про всі кластери (включаючи назву та ім'я користувача кластера) та отримати облікові дані для доступу до нього:
Потенційний вплив: Знайти чутливу інформацію всередині баз даних.
redshift:DescribeClusters
, redshift:GetClusterCredentialsWithIAM
redshift:DescribeClusters
, redshift:GetClusterCredentialsWithIAM
З цими дозволами ви можете отримати інформацію про всі кластери та отримати облікові дані, щоб отримати до них доступ. Зверніть увагу, що користувач postgres матиме дозволи, які має ідентифікатор IAM, який використовується для отримання облікових даних.
Потенційний вплив: Знайти чутливу інформацію всередині баз даних.
redshift:DescribeClusters
, redshift:ModifyCluster?
redshift:DescribeClusters
, redshift:ModifyCluster?
Можливо змінити основний пароль внутрішнього користувача postgres (redshit) з aws cli (я думаю, що це дозволи, які вам потрібні, але я ще не тестував їх):
Потенційний вплив: Знайти чутливу інформацію всередині баз даних.
Доступ до зовнішніх сервісів
Для доступу до всіх наступних ресурсів вам потрібно вказати роль для використання. Кластер Redshift може мати призначений список ролей AWS, які ви можете використовувати, якщо ви знаєте ARN, або ви можете просто встановити "default" для використання призначеної ролі за замовчуванням.
Крім того, як пояснено тут, 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 з чимось на зразок:
S3
Як пояснено в https://docs.aws.amazon.com/redshift/latest/dg/tutorial-loading-run-copy.html, можливо читати та записувати в бакети S3:
Dynamo
Як пояснено в https://docs.aws.amazon.com/redshift/latest/dg/t_Loading-data-from-dynamodb.html, можливо отримати дані з dynamodb:
Таблицю Amazon DynamoDB, яка надає дані, слід створити в тій же області AWS, що й ваш кластер, якщо ви не використовуєте параметр REGION, щоб вказати область AWS, в якій знаходиться таблиця Amazon DynamoDB.
EMR
Перевірте https://docs.aws.amazon.com/redshift/latest/dg/loading-data-from-emr.html
References
Last updated