AWS - Codestar Privesc
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Codestarに関する詳細情報は以下で確認できます:
codestar:CreateProject, codestar:AssociateTeamMemberiam:PassRole
, codestar:CreateProject
これらの権限を使用すると、cloudformationテンプレートを介して任意のアクションを実行するためにcodestar IAMロールを悪用できます。次のページを確認してください:
iam:PassRole, codestar:CreateProjectcodestar:CreateProject
, codestar:AssociateTeamMember
この技術は、codestar:CreateProject
を使用してcodestarプロジェクトを作成し、codestar:AssociateTeamMember
を使用してIAMユーザーを新しいCodeStar プロジェクトの所有者にすることで、いくつかの追加権限を持つ新しいポリシーを付与します。
もしあなたがすでにプロジェクトのメンバーであれば、権限**codestar:UpdateTeamMember
を使用して役割をオーナーに更新**できます。代わりにcodestar:AssociateTeamMember
を使用する必要はありません。
潜在的な影響: codestarポリシーへのプライベートエスカレーション。以下のポリシーの例を見つけることができます:
codestar:CreateProject, codestar:AssociateTeamMembercodestar:CreateProjectFromTemplate
新しいプロジェクトを作成:
**codestar:CreateProjectFromTemplate
**アクションを利用して新しいプロジェクトの作成を開始します。
成功裏に作成されると、**cloudformation:UpdateStack
**へのアクセスが自動的に付与されます。
このアクセスは、CodeStarWorker-<generic project name>-CloudFormation
IAMロールに関連付けられたスタックを特に対象としています。
ターゲットスタックを更新:
付与されたCloudFormation権限を使用して、指定されたスタックを更新します。
スタックの名前は通常、次の2つのパターンのいずれかに従います:
awscodestar-<generic project name>-infrastructure
awscodestar-<generic project name>-lambda
正確な名前は選択したテンプレートに依存します(例のエクスプロイトスクリプトを参照)。
アクセスと権限:
更新後、スタックに関連付けられたCloudFormation IAMロールに割り当てられた機能を取得します。
注意: これは本質的に完全な管理者権限を提供するものではありません。権限をさらに昇格させるためには、環境内の追加の誤設定されたリソースが必要になる場合があります。
詳細については、元の研究を確認してください: https://rhinosecuritylabs.com/aws/escalating-aws-iam-privileges-undocumented-codestar-api/。 エクスプロイトはhttps://github.com/RhinoSecurityLabs/Cloud-Security-Research/blob/master/AWS/codestar_createprojectfromtemplate_privesc/CodeStarPrivEsc.pyで見つけることができます。
潜在的な影響: cloudformation IAMロールへのプライベートエスカレーション。
AWSハッキングを学び、練習する:HackTricks Training AWS Red Team Expert (ARTE) GCPハッキングを学び、練習する: HackTricks Training GCP Red Team Expert (GRTE)