Облачные технологии отлично подходят для упрощения настройки инфраструктуры для приложений и сервисов. Компании и независимые разработчики всё чаще переносят свои проекты в AWS, Azure и другие платформы. В этой статье мы познакомимся с основами облачных технологий, выясним, какие сервисы можно использовать, и проанализируем, как хакеры могут получить доступ. Мы проведём разведку и соберём важную информацию.
Облако — это технология, предоставляющая интернет-пользователям доступ к ресурсам сервера и использование программного обеспечения как онлайн-сервиса. Это означает, что даже со смартфона, подключенного к интернету, можно выполнять сложные вычисления и обрабатывать данные, используя мощности удалённого сервера.
В политику включены три важных компонента:
1. Эффект – используется для предоставления или запрета доступа.
2. Действие — включает список действий, которые политика разрешает или запрещает.
3. Ресурс – перечисляет ресурсы, к которым применяется политика.
arn:раздел:служба:регион:учетная запись:ресурс
где
– arn – идентификатор строки;
– partition определяет раздел для ресурса. Для стандартных регионов AWS используется раздел aws.
– сервис идентифицирует продукт AWS. Ресурсы IAM всегда используют «iam»;
– регион определяет регион ресурса. Для ресурсов IAM это поле всегда остаётся пустым;
– account указывает идентификатор аккаунта AWS без дефисов;
– ресурс идентифицирует конкретный ресурс по имени.
Вот несколько примеров ARN:
arn:aws:iam::123456789012:root
arn:aws:iam::123456789012:role/my-role
arn:aws:iam::123456789012:user/JohnDoe
arn:aws:iam::123456789012:group/Developers
Группа может состоять из нескольких пользователей, а пользователь может принадлежать к нескольким группам.
1. Операционная система – на EC2 можно установить практически любую операционную систему.
2. Доступ – как получить доступ к EC2 через Интернет.
3. Адрес – IP-адрес, на который отвечает экземпляр.
4. Хранилище — место
хранения данных экземпляра.
5. Группы безопасности – набор правил, применяемых к EC2, они позволяют контролировать входящий и исходящий трафик.
6. VPC (виртуальное частное облако) — изолированная облачная сеть, в которой может размещаться наш экземпляр.
/root/.aws/credentials
/home/user/.aws/credentials
Окна:
%userprofile%.awcredentials
Эти учётные данные можно найти в публичных репозиториях. Кроме того, не стоит забывать о переменных окружения. Нас интересуют следующие значения:
aws_access_key
aws_secret_key
aws_access_key_id
aws_secret_access_key
S3_BUCKET
S3_ACCESS_KEY_ID
S3_SECRET_ACCESS_KEY
kali> sudo apt install awscli -y
Для подключения выполните следующую команду:
kali> aws настроить
Чтобы узнать, под какой учётной записью вы подключены к системе, в Linux используется команда «whoami», но в AWS её нет. Чтобы узнать своё имя пользователя, введите следующую команду:
kali> aws sts get-caller-identity
Пользователи IAM
Пользователи — самая популярная точка входа в облако AWS. Именно учётная запись пользователя находится в файле «.aws/credentials», а также в публичных репозиториях.
Первый шаг — найти всех зарегистрированных пользователей в облаке:
kali> aws iam list-users
Пользователи могут быть членами групп, и к этим группам могут быть привязаны неправильно настроенные политики. Следующая команда определит, к каким группам принадлежит каждый пользователь:
kali> aws iam list-groups-for-user –user-name <имя пользователя>
Помимо групп, политики можно привязывать и напрямую к пользователю. Проверим, есть ли такая привязка в нашем случае:
kali> aws iam list-attached-user-policies –user-name <имя пользователя>
kali> aws iam list-user-policies –user-name <имя пользователя>
Группы
К группам также можно прикрепить политики, которые могут помочь нам на этапе повышения привилегий. Чтобы увидеть все группы IAM, введите следующее:
kali> aws iam list-groups
Следующие команды помогут вам найти политики, применяемые к группе.
Для управляемых политик:
kali> aws iam list-group-policies –group-name <имя-группы>
А для прилагаемых политик:
kali> aws iam list-attached-group-policies –group-name <имя-группы>
Роли
Роли интересуют нас по тем же причинам, по которым нас интересуют группы. Мы можем использовать роли в своих интересах, если у нас есть привилегия «iam
assRole» .
Просмотреть все роли IAM можно с помощью следующей команды:
kali> aws iam list-roles
Политики
Политики в AWS содержат информацию о предоставленных пользователям привилегиях. Существует очень полезный сайт « policysim.aws.amazon.com » , куда можно загрузить полученную политику и удобно работать с ней, применяя фильтры.
При этом политики могут быть как встроенными, так и управляемыми. Они выполняют те же функции: предоставление или запрет разрешений. Отличие встроенных политик заключается в том, что они фактически встроены в группу, пользователя или роль, к которым они применяются. Это создаёт строгую связь: одна политика — один объект. При удалении пользователя, группы или роли эта политика также удаляется. Встроенные политики часто применяются для того, чтобы гарантировать, что привилегии случайно не будут предоставлены другому объекту. Однако Amazon рекомендует использовать управляемые политики вместо встроенных.
Управляемые политики немного удобнее. Самое главное, что их можно применять к нескольким объектам одновременно. Управляемые политики делятся на два типа: управляемые политики и политики, управляемые клиентом. Первый тип избавляет от необходимости писать политику самостоятельно, поскольку AWS позаботилась об этом и предоставила несколько вариантов для наиболее распространённых случаев, таких как «AmazonDynamoDBFullAccess», «AWSCodeCommitPowerUser» и подобных. Стандартную управляемую политику нельзя редактировать. Второй тип — политика, управляемая клиентом, — используется, если требуется более тонкая настройка привилегий. В этом случае вам придётся создать политику самостоятельно.
Просмотреть список политик IAM можно с помощью следующей команды:
kali> aws iam list-policies
Чтобы получить информацию о конкретной политике, используйте следующий синтаксис:
kali> aws iam get-policy –policy-arn <policy-arn>
В AWS могут одновременно существовать несколько различных версий одной и той же политики. Например, предположим, что первая версия политики предоставляла нам полный доступ ко всем ресурсам, а вторая уже ограничивала нас каким-либо образом. Нам необходимо знать об этом, чтобы в будущем повысить привилегии.
Чтобы получить информацию о версии указанной политики, используйте следующую команду:
kali> aws iam list-policy-versions –policy-arn <policy-arn>
Продолжение следует…
Облако — это технология, предоставляющая интернет-пользователям доступ к ресурсам сервера и использование программного обеспечения как онлайн-сервиса. Это означает, что даже со смартфона, подключенного к интернету, можно выполнять сложные вычисления и обрабатывать данные, используя мощности удалённого сервера.
Какие услуги мы можем получить?
- SaaS (программное обеспечение как услуга) — предоставление программного обеспечения и услуг.
- IaaS (инфраструктура как услуга) — это представление компьютерной инфраструктуры в виде виртуализации.
- PaaS (платформа как услуга) — позволяет арендовать виртуальный сервер (экземпляр).
- FaaS (функция как услуга) — также известная как бессерверные вычисления, позволяет разработчикам развертывать отдельные функции или блоки кода в ответ на события.
- DaaS (рабочий стол как услуга) — предоставляет инфраструктуру виртуальных рабочих столов.
- DBaaS (база данных как услуга) — предлагает управление базой данных и ее обслуживание в виде облачного сервиса.
- DRaaS (Disaster Recovery as a Service) — предоставляет облачное решение для аварийного восстановления, гарантируя резервное копирование данных и непрерывность бизнеса в случае чрезвычайных ситуаций.
Я
Управление идентификацией и доступом (IAM) — один из основополагающих сервисов облачной инфраструктуры Amazon. Он позволяет управлять доступом к ресурсам AWS. Здесь осуществляется администрирование пользователей, групп, ролей и их прав доступа. Структура этого сервиса показана на следующем рисунке:
Политика
Политика содержит информацию о том, что пользователь может делать, а что нет, и каковы его права. Политики могут применяться к группам, пользователям или ролям. Например, если политика разрешает действие GetUser, то пользователь с этой политикой может получать информацию о других пользователях.В политику включены три важных компонента:
1. Эффект – используется для предоставления или запрета доступа.
2. Действие — включает список действий, которые политика разрешает или запрещает.
3. Ресурс – перечисляет ресурсы, к которым применяется политика.
Пользователь
Пользователь IAM — это сущность, создаваемая в AWS для представления пользователя или приложения, использующего её. У пользователей есть так называемый ARN пользователя (имя ресурса Amazon), который выглядит следующим образом:arn:раздел:служба:регион:учетная запись:ресурс
где
– arn – идентификатор строки;
– partition определяет раздел для ресурса. Для стандартных регионов AWS используется раздел aws.
– сервис идентифицирует продукт AWS. Ресурсы IAM всегда используют «iam»;
– регион определяет регион ресурса. Для ресурсов IAM это поле всегда остаётся пустым;
– account указывает идентификатор аккаунта AWS без дефисов;
– ресурс идентифицирует конкретный ресурс по имени.
Вот несколько примеров ARN:
arn:aws:iam::123456789012:root
arn:aws:iam::123456789012:role/my-role
arn:aws:iam::123456789012:user/JohnDoe
arn:aws:iam::123456789012:group/Developers
Группа
Группа IAM — это совокупность пользователей. Группы упрощают управление.Группа может состоять из нескольких пользователей, а пользователь может принадлежать к нескольким группам.
Роль
Роль IAM — это сущность, определяющая набор разрешений для выполнения запросов к сервисам AWS. Использование ролей — это безопасный способ предоставления разрешений определённым сущностям. Например, злоумышленник может попытаться использовать определённую роль, если у него есть на это разрешения, и получить соответствующие привилегии. Роли создаются для того, чтобы вам не приходилось регистрировать дополнительную учётную запись для некоторых автоматизированных задач. Роль часто привязана к сервису.EC2
Также известно как Elastic Compute Cloud. Это виртуальный сервер (экземпляр), на котором пользователь может запускать любое приложение для решения своих задач. Экземпляр состоит из следующих компонентов:
1. Операционная система – на EC2 можно установить практически любую операционную систему.
2. Доступ – как получить доступ к EC2 через Интернет.
3. Адрес – IP-адрес, на который отвечает экземпляр.
4. Хранилище — место
хранения данных экземпляра.
5. Группы безопасности – набор правил, применяемых к EC2, они позволяют контролировать входящий и исходящий трафик.
6. VPC (виртуальное частное облако) — изолированная облачная сеть, в которой может размещаться наш экземпляр.
Первоначальный доступ
Существуют разные способы доступа к облакам. Мы будем использовать AWS CLI — интерфейс командной строки для работы с AWS. Нам понадобится специальный идентификатор секретного ключа и сам секретный ключ, после получения которого мы сможем работать с облаком. В качестве точки входа мы будем использовать IAM.Разведка
На компьютерах, взаимодействующих с Amazon Cloud Services, обычно имеется файл учётных данных, содержащий идентификатор секретного ключа доступа и сам ключ. Стандартные пути к файлу следующие. В Linux:/root/.aws/credentials
/home/user/.aws/credentials
Окна:
%userprofile%.awcredentials
Эти учётные данные можно найти в публичных репозиториях. Кроме того, не стоит забывать о переменных окружения. Нас интересуют следующие значения:
aws_access_key
aws_secret_key
aws_access_key_id
aws_secret_access_key
S3_BUCKET
S3_ACCESS_KEY_ID
S3_SECRET_ACCESS_KEY
Связь
Получив идентификатор и ключ, мы можем установить AWS CLI с помощью следующей команды.kali> sudo apt install awscli -y
Для подключения выполните следующую команду:
kali> aws настроить
Чтобы узнать, под какой учётной записью вы подключены к системе, в Linux используется команда «whoami», но в AWS её нет. Чтобы узнать своё имя пользователя, введите следующую команду:
kali> aws sts get-caller-identity
Пользователи IAM
Пользователи — самая популярная точка входа в облако AWS. Именно учётная запись пользователя находится в файле «.aws/credentials», а также в публичных репозиториях.
Первый шаг — найти всех зарегистрированных пользователей в облаке:
kali> aws iam list-users
Пользователи могут быть членами групп, и к этим группам могут быть привязаны неправильно настроенные политики. Следующая команда определит, к каким группам принадлежит каждый пользователь:
kali> aws iam list-groups-for-user –user-name <имя пользователя>
Помимо групп, политики можно привязывать и напрямую к пользователю. Проверим, есть ли такая привязка в нашем случае:
kali> aws iam list-attached-user-policies –user-name <имя пользователя>
kali> aws iam list-user-policies –user-name <имя пользователя>
Группы
К группам также можно прикрепить политики, которые могут помочь нам на этапе повышения привилегий. Чтобы увидеть все группы IAM, введите следующее:
kali> aws iam list-groups
Следующие команды помогут вам найти политики, применяемые к группе.
Для управляемых политик:
kali> aws iam list-group-policies –group-name <имя-группы>
А для прилагаемых политик:
kali> aws iam list-attached-group-policies –group-name <имя-группы>
Роли
Роли интересуют нас по тем же причинам, по которым нас интересуют группы. Мы можем использовать роли в своих интересах, если у нас есть привилегия «iam
Просмотреть все роли IAM можно с помощью следующей команды:
kali> aws iam list-roles
Политики
Политики в AWS содержат информацию о предоставленных пользователям привилегиях. Существует очень полезный сайт « policysim.aws.amazon.com » , куда можно загрузить полученную политику и удобно работать с ней, применяя фильтры.
При этом политики могут быть как встроенными, так и управляемыми. Они выполняют те же функции: предоставление или запрет разрешений. Отличие встроенных политик заключается в том, что они фактически встроены в группу, пользователя или роль, к которым они применяются. Это создаёт строгую связь: одна политика — один объект. При удалении пользователя, группы или роли эта политика также удаляется. Встроенные политики часто применяются для того, чтобы гарантировать, что привилегии случайно не будут предоставлены другому объекту. Однако Amazon рекомендует использовать управляемые политики вместо встроенных.
Управляемые политики немного удобнее. Самое главное, что их можно применять к нескольким объектам одновременно. Управляемые политики делятся на два типа: управляемые политики и политики, управляемые клиентом. Первый тип избавляет от необходимости писать политику самостоятельно, поскольку AWS позаботилась об этом и предоставила несколько вариантов для наиболее распространённых случаев, таких как «AmazonDynamoDBFullAccess», «AWSCodeCommitPowerUser» и подобных. Стандартную управляемую политику нельзя редактировать. Второй тип — политика, управляемая клиентом, — используется, если требуется более тонкая настройка привилегий. В этом случае вам придётся создать политику самостоятельно.
Просмотреть список политик IAM можно с помощью следующей команды:
kali> aws iam list-policies
Чтобы получить информацию о конкретной политике, используйте следующий синтаксис:
kali> aws iam get-policy –policy-arn <policy-arn>
В AWS могут одновременно существовать несколько различных версий одной и той же политики. Например, предположим, что первая версия политики предоставляла нам полный доступ ко всем ресурсам, а вторая уже ограничивала нас каким-либо образом. Нам необходимо знать об этом, чтобы в будущем повысить привилегии.
Чтобы получить информацию о версии указанной политики, используйте следующую команду:
kali> aws iam list-policy-versions –policy-arn <policy-arn>
Краткое содержание
В этой статье мы рассмотрели основы облачных технологий и их применение. Мы получили доступ к облаку и осмотрелись, получив важную информацию для повышения привилегий в будущем.Продолжение следует…