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 認証情報を使用して、選択した AWS アカウントに 250 以上の IAM リソースをデプロイします。数分以内に、権限昇格を可能にする脆弱な IAM 構成を特定し、悪用する方法を学び始めることができます。

IAM Vulnerable のビッグブラザー - CloudFoxable

皆さん、こんにちは。IAM Vulnerable は AWS IAM 権限昇格の基本的な構成要素を理解する上で今でも非常に有用です。しかし、IAM Vulnerable を作成してから数年後、私は CloudFoxable を作成しました。これは CTF スタイルのバージョンで、クラウドペネトレーションテストの基礎をより総合的に教えてくれます。- @sethsec

意図的に脆弱なプレイグラウンド

  • CloudFoxable - A Gamified Cloud Hacking Sandbox

IAM-Vulnerable、CloudFox、CloudFoxable について話したいですか?

私たちの RedSec Discord サーバー に参加してください

🦊 現在サポートされている権限昇格パス: 31

目次

  • IAM Vulnerable
  • 推奨アプローチ
  • 詳細な使用方法
  • クイックスタート
    • 作成されたリソースは何ですか?
    • 費用はどれくらいかかりますか?
  • モジュール方式
    • 無料リソースモジュール
    • 有料リソースモジュール
  • サポートされている権限昇格パス
  • その他のユースケース
  • FAQ

推奨アプローチ

  1. AWS アカウントを選択または作成する - 本番リソースや機密データがあるアカウントは使用しないでください。
  2. 脆弱なプレイグラウンドを作成する - このリポジトリを使用して、31 のユニークな AWS IAM 権限昇格パスをサポートする IAM プリンシパルとポリシーを作成します。
  3. 予習をする - Spencer Gietzen 氏によって開拓された 21 のオリジナルの権限昇格パスについて学びます。
  4. ハッキング、ハック - Gerben Kleijn 氏のガイド を使用して、新しいプレイグラウンドでエクスプロイトの練習をします。
  5. レベルアップ - 新しい IAM 権限昇格プレイグラウンドアカウントに対してツールを実行します(例:Cloudsplaining、AWSPX、Principal Mapper、Pacu)。

詳細な使用方法

ブログ記事: IAM Vulnerable - AWS IAM 権限昇格プレイグラウンド

クイックスタート

このクイックスタートでは、IAM Vulnerable を AWS アカウントでできるだけ早く稼働させるための特定のアプローチを概説します。これらの手順の多くは既に完了しているかもしれませんし、現在の設定に合わせて微調整したい場合もあるでしょう。追加の設定オプションについては、このリポジトリのその他のユースケースセクションを参照してください。

  1. AWS アカウントを選択または作成します(本番リソースや機密データがあるアカウントは使用しないでください!)
  2. Terraform を実行する際に使用する管理アクセス権を持つ非ルートユーザーを作成します。
  3. そのユーザーのアクセスキーを作成します。
  4. AWS CLI をインストールします。
  5. 新しく作成した管理者ユーザーをデフォルトプロファイルとしてAWS CLI を設定します。
  6. aws sts get-caller-identity を実行して、CLI が期待通りに動作することを確認します。
  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
  14. terraform apply

クリーンアップ

IAM Vulnerable によって作成されたすべてのリソースを削除したい場合は、以下のコマンドを実行します:

  1. cd iam-vulnerable/
  2. terraform destroy

代替クリーンアップ(Terraform 状態が失われた場合)

Terraform を使用して iam-vulnerable をデプロイしたが、状態ファイルにアクセスできなくなった場合(そして 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:~
これらのスクリプトは次のことを行います:
- AWSアカウント内のIAM脆弱性リソースを自動的に特定
- 削除前に何が削除されるかを正確に表示
- 依存関係の競合を避けるため適切な順序でリソースを削除
- AWSプロファイルをサポートし、詳細なログを提供

**重要**: 最初に必ず `--dry-run` を実行して、削除される内容を確認してください。詳細な使用方法については `cleanup-scripts/CLEANUP_README.md` を参照してください。


## 作成されたリソースは何ですか?

Terraformバイナリは、デフォルトのAWSアカウントプロファイルの認証情報を使用して以下を作成しました:
* **31個のユーザー、ロール、ポリシー**。それぞれがプレイグラウンドアカウントへの管理者アクセス権を取得する独自のエクスプロイトパスを持ちます
* 特定のエクスプロイトパスを完全に実現するために必要な、いくつかの追加のユーザー、グループ、ロール、ポリシー
* 他のツールの検出機能をテストするための、いくつかの追加のユーザー、ロール、ポリシー

デフォルトでは、このTerraformモジュールによって作成されたすべてのロールは、Terraformを実行するために使用したユーザーまたはロールから引き受け可能です。
* Terraformがデフォルトプロファイル以外のプロファイルを使用するようにしたい場合、または `assume_role_policy` ARNをハードコードしたい場合は、[その他のユースケース](#other-use-cases)を参照してください。

## これにはどれくらいの費用がかかりますか?
IAM Vulnerableを**デフォルト構成でデプロイする場合、費用は一切かかりません**。次のセクションでは、費用が発生する非デフォルトモジュールを有効にする方法と、デプロイした場合の各モジュールの月額費用について学びます。

# モジュール方式のアプローチ

IAM Vulnerableは、特定のリソースをモジュールごとにグループ化しています。デフォルトで有効になっているモジュール(費用がかからないもの)と、デフォルトで無効になっているモジュール(デプロイすると費用がかかるもの)があります。これにより、必要に応じて特定のモジュールを有効にできます。

たとえば、IAM以外のリソースを含む `ssm:StartSession` などのエクスプロイトパスで遊ぶ準備ができたら、`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:~
必要なコンポーネントをデプロイして、SSM privesc パスを試せるようになりました。


## Free Resource Modules

`free-resources` 内にデプロイされたものはすべて無料です。

| 名前 | デフォルト状態 | 推定コスト | 説明 |
| --- | --- | --- | --- |
| privesc-paths  | 有効 | なし | IAM privesc パスをすべて含む |
| tool-testing  | 有効 | なし | さまざまな IAM privesc ツールの機能を評価するテストケースを含む |

## Non-free Resource Modules

これらの追加モジュールをデプロイすると、コストが発生する可能性があります。

| 名前 | デフォルト状態 | 推定コスト | 説明 | 必要な場合 |
| --- | --- | --- | --- | --- |
| 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> CloudFormation 経由で作成されたシークレットは月額 $0.40。スタック自体は無料またはほぼ無料 | CloudFormation スタックを作成し、シークレットマネージャーにシークレットを作成する | `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 プロファイルを使用してデプロイします(Default)
* 作成されたすべてのロールは、Terraform を実行するために使用されたプリンシパル(デフォルトプロファイルで指定)によって引き受け可能です

#### デフォルト以外のプロファイルを使用して Terraform を実行する
* `terraform.tfvars.example` を `terraform.tvvars` にコピーします
* 行 `#aws_local_profile = "profile_name"` のコメントを解除し、使用したいプロファイル名を入力します
* デフォルト以外のプロファイルを使用していて、それでも `aws_credentails_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 を、新しく作成されたロールを引き受けることができるプリンシパルとして使用する

* `terraform.tfvars.example` を `terraform.tvvars` にコピーします
* 行 `#aws_assume_role_arn = "arn:aws:iam::112233445566:user/you"` のコメントを解除し、使用したい ARN を入力します

作成後、各 privesc ロールは指定したプリンシパル (ARN) によって引き受け可能になります。

#### アカウント X にリソースを作成するが、アカウント Y の ARN を新しく作成されたロールを引き受けることができるプリンシパルとして使用する

他のアカウントにロールを引き受ける 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は8つのユニークなシナリオをデプロイし、一部は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アカウントを使用することで、このリポジトリが大切な他のものに悪影響を及ぼさないと安心できます。AWS組織内の別のアカウントにIAM Vulnerableをデプロイしても、組織内の他のアカウントはこのプレイグラウンドアカウントの爆発半径の外にあると安心できます。
  • terraform planコマンドはドライランです。実際にterraform applyを実行する前に、何がデプロイされるかを正確に表示します。
  • terraform applyしたものは、terraform destroyでクリーンな状態に戻せることを知って安心してください。
  • コストが心配なら、Infracostをチェックしてください。バイナリをダウンロードし、無料のAPIキーに登録し、iam-vulnerableのようなTerraformディレクトリ内で実行します。このツールは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/
ツールをダウンロード
  • (任意) IAM Vulnerable プロファイルを AWS 認証情報ファイルに追加し、アカウント番号を変更します。
    • 以下のコマンドは、現在の AWS 認証情報ファイルのバックアップを作成し、リポジトリからサンプル認証情報ファイルを取得してプレースホルダアカウントをターゲットアカウント番号に置き換え、最後にすべての 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