Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
iam-vulnerable — Используйте Terraform для создания собственного полигона для повышения привилегий AWS IAM, уязвимого по замыслу. | Kitploit
Инструменты/GitHubGitHub/bishopfox/iam-vulnerable
Повышение привилегийАнализ уязвимостейТестирование на ПроникновениеБезопасность облачных средУправление идентификацией и доступом (IAM)Обучение и ОбразованиеЛаборатории и Практика
GitHubbishopfox/iam-vulnerable

iam-vulnerable

Используйте Terraform для создания собственного полигона для повышения привилегий AWS IAM, уязвимого по замыслу.

Репозиторий
58510711 месяцев назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
Сайт

IAM Vulnerable

Используйте Terraform для создания собственного уязвимого по замыслу полигона для повышения привилегий AWS IAM.

IAM Vulnerable использует бинарный файл Terraform и ваши учетные данные AWS для развертывания более 250 ресурсов IAM в выбранном вами аккаунте AWS. В течение нескольких минут вы можете начать изучать, как выявлять и эксплуатировать уязвимые конфигурации IAM, которые позволяют повышать привилегии.

Старший брат IAM Vulnerable - CloudFoxable

Всем привет. IAM Vulnerable по-прежнему чрезвычайно полезен для понимания основных строительных блоков повышения привилегий AWS IAM. Однако через несколько лет после создания IAM Vulnerable я создал CloudFoxable — версию в стиле CTF, которая более целостно обучает основам пентеста облачных сред. — @sethsec

Намеренно уязвимый полигон

  • CloudFoxable - Геймифицированная песочница для взлома облака

Хотите обсудить IAM-Vulnerable, CloudFox и CloudFoxable?

Присоединяйтесь к нам на сервере RedSec в Discord

🦊 В настоящее время поддерживаемые пути повышения привилегий: 31

Содержание

  • IAM Vulnerable
  • Рекомендуемый подход
  • Подробные инструкции по использованию
  • Быстрый старт
    • Какие ресурсы были только что созданы?
    • Сколько это будет стоить?
  • Модульный подход
    • Бесплатные модули ресурсов
    • Платные модули ресурсов
  • Поддерживаемые пути повышения привилегий
  • Другие варианты использования
  • Часто задаваемые вопросы

Рекомендуемый подход

  1. Выберите или создайте аккаунт AWS - НЕ используйте аккаунт, в котором есть производственные ресурсы или конфиденциальные данные.
  2. Создайте свой уязвимый полигон - Используйте этот репозиторий для создания субъектов и политик IAM, поддерживающих 31 уникальный путь повышения привилегий AWS IAM.
  3. Сделайте домашнее задание - Изучите 21 оригинальный путь повышения привилегий, впервые описанный Спенсером Гитценом.
  4. Взламывайте - Практикуйтесь в эксплуатации в своем новом полигоне с помощью руководства Гербена Клейна.
  5. Повышайте уровень - Запускайте свои инструменты против аккаунта вашего нового полигона IAM privesc (например, Cloudsplaining, AWSPX, Principal Mapper, Pacu).

Подробные инструкции по использованию

Статья в блоге: IAM Vulnerable — Полигон для повышения привилегий AWS IAM

Быстрый старт

Этот краткий старт описывает один из подходов к быстрому запуску IAM Vulnerable в вашем аккаунте AWS. Возможно, многие из этих шагов у вас уже выполнены, или вы захотите настроить что-то под свою текущую конфигурацию. Ознакомьтесь с разделом Другие варианты использования в этом репозитории для получения дополнительных вариантов настройки.

  1. Выберите или создайте аккаунт AWS. (НЕ используйте аккаунт, в котором есть производственные ресурсы или конфиденциальные данные!)
  2. Создайте не-root пользователя с административным доступом, которого вы будете использовать при запуске Terraform.
  3. Создайте ключ доступа для этого пользователя.
  4. Установите AWS CLI.
  5. Настройте AWS CLI, указав только что созданного административного пользователя как профиль по умолчанию.
  6. Убедитесь, что CLI работает корректно, выполнив aws sts get-caller-identity.
  7. Установите бинарный файл Terraform и добавьте его расположение в переменную PATH.
  8. git clone https://github.com/BishopFox/iam-vulnerable
  9. cd iam-vulnerable/
  10. terraform init
  11. (Необязательно) export TF_VAR_aws_local_profile=PROFILE_IN_AWS_CREDENTIALS_FILE_IF_OTHER_THAN_DEFAULT
  12. (Необязательно) export TF_VAR_aws_local_creds_file=FILE_LOCATION_IF_NON_DEFAULT
  13. (Необязательно) terraform plan

Очистка

Всякий раз, когда вы захотите удалить все созданные IAM Vulnerable ресурсы, выполните следующие команды:

  1. cd iam-vulnerable/
  2. terraform destroy

Альтернативная очистка (когда состояние Terraform утеряно)

Если вы развернули iam-vulnerable с помощью Terraform, но больше не имеете доступа к файлу состояния (и terraform destroy не работает), вы можете использовать следующие скрипты очистки:```bash

Python version (requires boto3)

./cleanup-scripts/cleanup_iam_vulnerable.py --dry-run

Bash version (requires AWS CLI and jq)

./cleanup-scripts/cleanup_iam_vulnerable.sh --dry-run

root@kitploit:~
These scripts will:
- Automatically identify all IAM Vulnerable resources in your AWS account
- Show you exactly what will be deleted before proceeding
- Delete resources in the proper order to avoid dependency conflicts
- Support AWS profiles and provide detailed logging

**Important**: Always run with `--dry-run` first to see what would be deleted. See `cleanup-scripts/CLEANUP_README.md` for detailed usage instructions.


## Какие ресурсы были только что созданы?

Бинарный файл Terraform только что использовал учетные данные вашего профиля AWS по умолчанию для создания:
* **31 пользователей, ролей и политик**, каждая из которых имеет свой уникальный путь эксплуатации к административному доступу в аккаунте песочницы
* Некоторых дополнительных пользователей, групп, ролей и политик, необходимых для полной реализации определенных путей эксплуатации
* Некоторых дополнительных пользователей, ролей и политик, которые проверяют возможности обнаружения других инструментов

По умолчанию каждая роль, созданная этим модулем Terraform, может быть принята пользователем или ролью, которые вы использовали для запуска Terraform.
* Если вы хотите, чтобы Terraform использовал профиль, отличный от профиля по умолчанию, или вы хотите жестко задать ARN `assume_role_policy`, см. [Другие сценарии использования](#other-use-cases).

## Сколько это будет стоить?
Развертывание IAM Vulnerable в **конфигурации по умолчанию ничего не будет стоить**. Прочтите следующий раздел, чтобы узнать, как включить нестандартные модули, которые влекут за собой затраты, и сколько каждый модуль будет стоить в месяц, если вы его развернете.

# Модульный подход

IAM Vulnerable группирует определенные ресурсы вместе в модули. Некоторые модули включены по умолчанию (те, которые не имеют затрат), а другие отключены по умолчанию (те, которые влекут затраты при развертывании). Таким образом, вы можете включать конкретные модули по мере необходимости.

Например, когда вы будете готовы поработать с путями эксплуатации, такими как `ssm:StartSession`, которые включают ресурсы вне IAM, вы можете развернуть и удалить эти ресурсы по требованию, раскомментировав модуль в файле `iam-vulnerable/main.tf` и повторно запустив `terraform apply`:```
# Uncomment the next four lines to create an ec2 instance and related resources
#module "ec2" {
#  source = "./modules/non-free-resources/ec2"
#  aws_assume_role_arn = (var.aws_assume_role_arn != "" ? var.aws_assume_role_arn : data.aws_caller_identity.current.arn)
#}

После того как вы раскомментируете модуль ec2, выполните:``` terraform init terraform apply

root@kitploit:~
You have now deployed the required components to try the SSM privesc paths.

## Модули бесплатных ресурсов

Развертывание всего в `free-resources` не требует затрат:

| Имя | Статус по умолчанию | Предполагаемая стоимость | Описание |
| --- | --- | --- | --- |
| privesc-paths | Включено | Нет | Содержит все пути повышения привилегий IAM |
| tool-testing | Включено | Нет | Содержит тестовые сценарии для оценки возможностей различных инструментов повышения привилегий IAM |

## Модули платных ресурсов

Развертывание этих дополнительных модулей может повлечь затраты:

| Имя | Статус по умолчанию | Предполагаемая стоимость | Описание | Требуется для |
| --- | --- | --- | --- | --- |
| EC2 | Отключено | :heavy_dollar_sign: <br> $4.50/мес. | Создает экземпляр EC2 и группу безопасности, разрешающую SSH отовсюду | `ssm-SendCommand` <br> `ssm-StartSession` <br> `ec2InstanceConnect-SendSSHPublicKey` |
| Lambda | Отключено | :slightly_smiling_face: <br> Ежемесячная стоимость зависит от использования (должна быть нулевой) | Создает функцию Lambda | `Lambda-EditExistingLambdaFunctionWithRole` |
| Glue | Отключено | :heavy_dollar_sign::heavy_dollar_sign::heavy_dollar_sign::heavy_dollar_sign: <br> $4/час | Создает конечную точку разработки Glue | `Glue-UpdateExistingGlueDevEndpoint` |
| SageMaker | Отключено | Пока не определено | Создает блокнот SageMaker | `sageMakerCreatePresignedNotebookURL` |
| CloudFormation | Отключено | :slightly_smiling_face: <br> $0.40/мес. за секрет, созданный через CloudFormation. Ничего или почти ничего за сам стек | Создает стек CloudFormation, который создает секрет в Secrets Manager | `privesc-cloudFormationUpdateStack` |

# Поддерживаемые пути повышения привилегий

| Имя пути | IAM уязвимое имя профиля | Требуемые нестандартные модули | Ссылки по эксплуатации |
| --- | --- | --- | --- |
| **Категория: Разрешения IAM на других пользователей** |   |   |   |
| IAM-CreateAccessKey | privesc4 | Нет | :fox_face: [Well, That Escalated Quickly - Privesc 04](https://labs.bishopfox.com/tech-blog/privilege-escalation-in-aws) <br> :lock: [s3cur3.it IAMVulnerable - Part 3](https://s3cur3.it/home/practicing-aws-security-with-iamvulnerable-part-3) |
| IAM-CreateLoginProfile | privesc5 | Нет | :fox_face: [Well, That Escalated Quickly - Privesc 05](https://labs.bishopfox.com/tech-blog/privilege-escalation-in-aws) <br> :lock: [s3cur3.it IAMVulnerable - Part 3](https://s3cur3.it/home/practicing-aws-security-with-iamvulnerable-part-3) |
| IAM-UpdateLoginProfile | privesc6 | Нет | :fox_face: [Well, That Escalated Quickly - Privesc 06](https://labs.bishopfox.com/tech-blog/privilege-escalation-in-aws) <br> :lock: [s3cur3.it IAMVulnerable - Part 3](https://s3cur3.it/home/practicing-aws-security-with-iamvulnerable-part-3) |
| **Категория: PassRole для сервиса** |   |  |   |
| CloudFormation-PassExistingRoleToCloudFormation | privesc20 | Нет |:fox_face: [Well, That Escalated Quickly - Privesc 20](https://labs.bishopfox.com/tech-blog/privilege-escalation-in-aws)   |
| CodeBuild-CreateProjectPassRole | privesc-codeBuildProject | Нет |   |
| DataPipeline-PassExistingRoleToNewDataPipeline | privesc21 | Нет | :fox_face: [Well, That Escalated Quickly - Privesc 21](https://labs.bishopfox.com/tech-blog/privilege-escalation-in-aws) |
| EC2-CreateInstanceWithExistingProfile | privesc3 | Нет | :fox_face: [Well, That Escalated Quickly - Privesc 03](https://labs.bishopfox.com/tech-blog/privilege-escalation-in-aws) <br> :lock: [s3cur3.it IAMVulnerable - Part 2](https://s3cur3.it/home/practicing-aws-security-with-iamvulnerable-part-2) |
| Glue-PassExistingRoleToNewGlueDevEndpoint | privesc18 | Нет | :fox_face: [Well, That Escalated Quickly - Privesc 18](https://labs.bishopfox.com/tech-blog/privilege-escalation-in-aws) |
| Lambda-PassExistingRoleToNewLambdaThenInvoke | privesc15 | Нет | :fox_face: [Well, That Escalated Quickly - Privesc 15](https://labs.bishopfox.com/tech-blog/privilege-escalation-in-aws)   |
| Lambda-PassRoleToNewLambdaThenTrigger | privesc16 | Нет | :fox_face: [Well, That Escalated Quickly - Privesc 16](https://labs.bishopfox.com/tech-blog/privilege-escalation-in-aws) |
| SageMaker-CreateNotebookPassRole | privesc-sageNotebook | Нет | :rhinoceros: [AWS IAM Privilege Escalation - Method 2](https://rhinosecuritylabs.com/aws/aws-privilege-escalation-methods-mitigation-part-2/) |
| SageMaker-CreateTrainingJobPassRole | privesc-sageTraining | Нет |   |
| SageMaker-CreateProcessingJobPassRole | privesc-sageProcessing | Нет | |
| **Категория: Разрешения на политики** |    |   |
| IAM-AddUserToGroup | privesc13 | Нет |:fox_face: [Well, That Escalated Quickly - Privesc 13](https://labs.bishopfox.com/tech-blog/privilege-escalation-in-aws)   |
| IAM-AttachGroupPolicy | privesc8 | Нет | :fox_face: [Well, That Escalated Quickly - Privesc 08](https://labs.bishopfox.com/tech-blog/privilege-escalation-in-aws) |
| IAM-AttachRolePolicy | privesc9 | Нет | :fox_face: [Well, That Escalated Quickly - Privesc 09](https://labs.bishopfox.com/tech-blog/privilege-escalation-in-aws) |
| IAM-AttachUserPolicy | privesc7 | Нет | :fox_face: [Well, That Escalated Quickly - Privesc 07](https://labs.bishopfox.com/tech-blog/privilege-escalation-in-aws) |
| IAM-CreateNewPolicyVersion | privesc1 | Нет | :fox_face: [Well, That Escalated Quickly - Privesc 01](https://labs.bishopfox.com/tech-blog/privilege-escalation-in-aws) <br> :lock: [s3cur3.it IAMVulnerable - Part 1](https://s3cur3.it/home/practicing-aws-security-with-iamvulnerable) |
| IAM-PutGroupPolicy | privesc11 | Нет | :fox_face: [Well, That Escalated Quickly - Privesc 11](https://labs.bishopfox.com/tech-blog/privilege-escalation-in-aws) |
| IAM-PutRolePolicy | privesc12 | Нет | :fox_face: [Well, That Escalated Quickly - Privesc 12](https://labs.bishopfox.com/tech-blog/privilege-escalation-in-aws) |
| IAM-PutUserPolicy | privesc10 | Нет | :fox_face: [Well, That Escalated Quickly - Privesc 10](https://labs.bishopfox.com/tech-blog/privilege-escalation-in-aws) |
| IAM-SetExistingDefaultPolicyVersion | privesc2 | Нет | :fox_face: [Well, That Escalated Quickly - Privesc 02](https://labs.bishopfox.com/tech-blog/privilege-escalation-in-aws) <br> :lock: [s3cur3.it IAMVulnerable - Part 2](https://s3cur3.it/home/practicing-aws-security-with-iamvulnerable-part-2) |
| **Категория: Повышение привилегий с помощью сервисов AWS** |    |   |   |
| EC2InstanceConnect-SendSSHPublicKey | privesc-instanceConnect | EC2 | 🔑 [AWS IAM privilege escalation paths](https://pswalia2u.medium.com/aws-iam-privilege-escalation-paths-cba36be1aa9e) |
| CloudFormation-UpdateStack | privesc-cfUpdateStack | CloudFormation | 🔑 [AWS IAM privilege escalation paths](https://pswalia2u.medium.com/aws-iam-privilege-escalation-paths-cba36be1aa9e) |
| Glue-UpdateExistingGlueDevEndpoint | privesc19 | Glue | :fox_face: [Well, That Escalated Quickly - Privesc 19](https://labs.bishopfox.com/tech-blog/privilege-escalation-in-aws) |
| Lambda-EditExistingLambdaFunctionWithRole | privesc17 | Lambda | :fox_face: [Well, That Escalated Quickly - Privesc 17](https://labs.bishopfox.com/tech-blog/privilege-escalation-in-aws) <br> :lock: [s3cur3.it IAMVulnerable - Part 4](https://s3cur3.it/home/practicing-aws-security-with-iamvulnerable-part-4) |
| SageMakerCreatePresignedNotebookURL | privesc-sageUpdateURL | Sagemaker | :rhinoceros: [AWS IAM Privilege Escalation - Method 3](https://rhinosecuritylabs.com/aws/aws-privilege-escalation-methods-mitigation-part-2/) |
| SSM-SendCommand | privesc-ssm-command | EC2 | 🔑 [AWS IAM privilege escalation paths](https://pswalia2u.medium.com/aws-iam-privilege-escalation-paths-cba36be1aa9e) |
| SSM-StartSession | privesc-ssm-session | EC2 | 🔑 [AWS IAM privilege escalation paths](https://pswalia2u.medium.com/aws-iam-privilege-escalation-paths-cba36be1aa9e) |
| STS-AssumeRole | privesc-assumerole | Нет | 🔑 [AWS IAM privilege escalation paths](https://pswalia2u.medium.com/aws-iam-privilege-escalation-paths-cba36be1aa9e) |
| **Категория: Обновление политики AssumeRole** |   |   |   |
| IAM-UpdatingAssumeRolePolicy | privesc14 | Нет | :fox_face: [Well, That Escalated Quickly - Privesc 14](https://labs.bishopfox.com/tech-blog/privilege-escalation-in-aws)   |

# Другие случаи использования

#### По умолчанию — `terraform.tfvars` не настроен
* Развертывание с использованием профиля AWS по умолчанию
* Все созданные роли доступны для принятия субъектом, используемым для запуска Terraform (указан в профиле по умолчанию)

#### Использование профиля, отличного от профиля по умолчанию, для запуска Terraform
* Скопируйте `terraform.tfvars.example` в `terraform.tfvars`
* Раскомментируйте строку `#aws_local_profile = "profile_name"` и укажите нужное имя профиля
* Если вы используете нестандартный профиль и по-прежнему хотите использовать файл `aws_credentials_file_example`, выполните эту команду для создания файла учетных данных AWS, который будет работать с вашим нестандартным именем профиля (спасибо @scriptingislife):
   * Не забудьте заменить `nondefaultuser` на используемое имя профиля):
   * `tail -n +7 aws_credentials_file_example | sed -e "s/111111111111/$(aws sts get-caller-identity | grep Account | awk -F\" '{print $4}')/g;s/default/nondefaultuser/g" >> ~/.aws/credentials`

#### Использование ARN, отличного от ARN вызывающего субъекта, в качестве субъекта, который может принимать вновь созданные роли

* Скопируйте `terraform.tfvars.example` в `terraform.tfvars`
* Раскомментируйте строку `#aws_assume_role_arn = "arn:aws:iam::112233445566:user/you"` и укажите нужный ARN

После создания каждая из ролей privesc будет доступна для принятия указанному субъекту (ARN).

#### Создание ресурса в учетной записи X, но использование ARN из учетной записи Y в качестве субъекта, который может принимать вновь созданные роли

Если вы настроили профили AWS CLI, которые принимают роли в других учетных записях, вам нужно указать имя профиля И вручную указать ARN, который вы хотите использовать для принятия различных ролей.

В примере ниже ресурсы будут созданы в учетной записи, связанной с `"prod-cross-org-access-role"`, но каждая роль, созданная Terraform, может быть доступна через `"arn:aws:iam::112233445566:user/you"`, который принадлежит другой учетной записи.```
aws_local_profile = "prod-cross-org-access-role"
aws_assume_role_arn = "arn:aws:iam::112233445566:user/you"

FAQ

Как IAM Vulnerable соотносится с CloudGoat, Terragoat и SadCloud?

Все эти инструменты используют Terraform для развертывания намеренно уязвимой инфраструктуры в AWS. Однако основное внимание IAM Vulnerable уделяется повышению привилегий IAM, в то время как другие инструменты либо не охватывают повышение привилегий IAM, либо охватывают лишь некоторые сценарии.

  • CloudGoat развертывает восемь уникальных сценариев, некоторые из которых охватывают пути повышения привилегий IAM, а другие сосредоточены на иных областях, таких как секреты в метаданных EC2.
  • Terragoat и SadCloud сосредоточены на множестве способов неправильной настройки ваших облачных аккаунтов, но не охватывают пути повышения привилегий IAM. Фактически, IAM Vulnerable можно рассматривать как недостающий элемент пазла при использовании вместе с Terragoat или SadCloud. Эти намеренно уязвимые конфигурации дополняют друг друга.

Как IAM Vulnerable соотносится с Cloudsplaining, AWSPX, Principal Mapper, Pacu, Cloudmapper или ScouteSuite?

Все эти инструменты помогают выявлять существующие неверные конфигурации в вашей среде AWS. Некоторые, как Pacu, также помогают эксплуатировать неверные конфигурации. В отличие от них, IAM Vulnerable создает намеренно уязвимую инфраструктуру. Если вы действительно хотите научиться использовать такие инструменты, как Principal Mapper (PMapper), AWSPX, Pacu и Cloudsplaining, IAM Vulnerable для вас.

Я никогда не использовал Terraform и боюсь его. Помогите!?

Я тоже боялся Terraform и проектов, которые создают ресурсы в моем аккаунте, пока не узнал, как работает Terraform. Вот несколько вещей, которые могут облегчить ваше беспокойство:

  • Используя аккаунт AWS исключительно для этой цели, вы можете быть уверены, что этот репозиторий не повлияет негативно на что-либо другое, что вам важно. Даже если вы развернете IAM Vulnerable в отдельном аккаунте в организации AWS, вы можете быть уверены, что другие аккаунты в организации будут вне зоны поражения этого песочного аккаунта.
  • Команда terraform plan — это пробный запуск. Она показывает вам именно то, что будет развернуто, если вы выполните terraform apply, до того, как вы это сделаете.
  • Будьте уверены, что вы можете выполнить terraform destroy для всего, что вы применили с помощью terraform apply, чтобы получить чистый лист.
  • Если ваше беспокойство связано со стоимостью, ознакомьтесь с Infracost. Вы загружаете этот бинарный файл, регистрируетесь для получения бесплатного API-ключа и выполняете его в каталоге Terraform, например iam-vulnerable. Этот инструмент запускает terraform plan и рассчитывает ежемесячную стоимость, связанную с планом в его текущей конфигурации. Это инструмент, который я использовал для заполнения таблицы оценки стоимости модулей выше.

Можно ли запускать этот инструмент и другой инструмент, например CloudGoat, Terragoat или SadCloud, в одном и том же аккаунте AWS?

Да. Каждый инструмент будет хранить свое состояние Terraform отдельно, но все ресурсы будут создаваться, обновляться и удаляться в одном и том же аккаунте, и они могут сосуществовать.

Предыдущие работы и полезные ссылки

  • https://github.com/RhinoSecurityLabs/AWS-IAM-Privilege-Escalation
  • https://rhinosecuritylabs.com/aws/aws-privilege-escalation-methods-mitigation/
  • https://rhinosecuritylabs.com/aws/aws-privilege-escalation-methods-mitigation-part-2/
  • https://labs.bishopfox.com/tech-blog/privilege-escalation-in-aws
  • https://ermetic.com/whats-new/blog/aws/auditing-passrole-a-problematic-privilege-escalation-permission/
Скачать инструмент
  • terraform apply
  • (Необязательно) Добавьте профили IAM Vulnerable в файл учетных данных AWS и измените номер аккаунта.
    • Следующие команды создают резервную копию вашего текущего файла учетных данных AWS, затем берут пример файла учетных данных из репозитория, заменяют номер аккаунта-заполнителя на номер вашего целевого аккаунта и, наконец, добавляют все профили privesc IAM Vulnerable в ваш файл учетных данных, чтобы вы могли их использовать:
    • cp ~/.aws/credentials ~/.aws/credentials.backup
    • tail -n +7 aws_credentials_file_example | sed s/111111111111/$(aws sts get-caller-identity | grep Account | awk -F\" '{print $4}')/g >> ~/.aws/credentials