AWS - IAM 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)
IAM에 대한 자세한 정보는 다음을 확인하세요:
iam:CreatePolicyVersion
새로운 IAM 정책 버전을 생성할 수 있는 권한을 부여하며, --set-as-default
플래그를 사용하여 iam:SetDefaultPolicyVersion
권한을 우회할 수 있습니다. 이를 통해 사용자 정의 권한을 정의할 수 있습니다.
Exploit Command:
영향: 모든 리소스에 대한 모든 작업을 허용하여 직접적으로 권한을 상승시킵니다.
iam:SetDefaultPolicyVersion
IAM 정책의 기본 버전을 다른 기존 버전으로 변경할 수 있으며, 새 버전이 더 많은 권한을 가진 경우 권한을 상승시킬 수 있습니다.
Bash 명령어:
영향: 더 많은 권한을 활성화하여 간접적인 권한 상승.
iam:CreateAccessKey
다른 사용자를 위한 액세스 키 ID 및 비밀 액세스 키를 생성할 수 있게 하여 잠재적인 권한 상승으로 이어집니다.
악용:
영향: 다른 사용자의 확장된 권한을 가정하여 직접적인 권한 상승.
iam:CreateLoginProfile
| iam:UpdateLoginProfile
AWS 콘솔 로그인을 위한 비밀번호 설정을 포함하여 로그인 프로필을 생성하거나 업데이트할 수 있는 권한을 부여하며, 이는 직접적인 권한 상승으로 이어집니다.
생성을 위한 악용:
업데이트를 위한 익스플로잇:
영향: "모든" 사용자로 로그인하여 직접 권한 상승.
iam:UpdateAccessKey
비활성화된 액세스 키를 활성화할 수 있으며, 공격자가 비활성화된 키를 소유하고 있다면 무단 액세스로 이어질 수 있습니다.
악용:
영향: 액세스 키를 재활성화하여 직접적인 권한 상승.
iam:CreateServiceSpecificCredential
| iam:ResetServiceSpecificCredential
특정 AWS 서비스(예: CodeCommit, Amazon Keyspaces)에 대한 자격 증명을 생성하거나 재설정할 수 있으며, 관련 사용자의 권한을 상속받습니다.
생성을 위한 악용:
재설정을 위한 익스플로잇:
영향: 사용자의 서비스 권한 내에서 직접적인 권한 상승.
iam:AttachUserPolicy
|| iam:AttachGroupPolicy
사용자 또는 그룹에 정책을 연결할 수 있으며, 연결된 정책의 권한을 상속받아 직접적으로 권한을 상승시킵니다.
사용자에 대한 악용:
그룹을 위한 익스플로잇:
영향: 정책이 부여하는 모든 것에 대한 직접적인 권한 상승.
iam:AttachRolePolicy
, ( sts:AssumeRole
|iam:createrole
) | iam:PutUserPolicy
| iam:PutGroupPolicy
| iam:PutRolePolicy
역할, 사용자 또는 그룹에 정책을 첨부하거나 설정할 수 있으며, 추가 권한을 부여하여 직접적인 권한 상승을 가능하게 합니다.
역할을 위한 악용:
인라인 정책을 위한 익스플로잇:
당신은 다음과 같은 정책을 사용할 수 있습니다:
영향: 정책을 통해 권한을 추가하여 직접적인 권한 상승.
iam:AddUserToGroup
IAM 그룹에 자신을 추가할 수 있게 하여 그룹의 권한을 상속받아 권한을 상승시킴.
악용:
영향: 그룹의 권한 수준으로 직접 권한 상승.
iam:UpdateAssumeRolePolicy
역할의 역할 수임 정책 문서를 변경할 수 있으며, 역할과 그에 따른 권한을 수임할 수 있게 합니다.
악용:
정책이 다음과 같이 보이는 경우, 사용자가 역할을 맡을 수 있는 권한을 부여합니다:
영향: 모든 역할의 권한을 가정하여 직접적인 권한 상승.
iam:UploadSSHPublicKey
|| iam:DeactivateMFADevice
CodeCommit에 인증하기 위한 SSH 공개 키를 업로드하고 MFA 장치를 비활성화할 수 있는 권한을 부여하여 잠재적인 간접 권한 상승으로 이어질 수 있습니다.
SSH 키 업로드를 위한 악용:
MFA 비활성화 공격:
영향: CodeCommit 접근을 활성화하거나 MFA 보호를 비활성화하여 간접적인 권한 상승을 유도합니다.
iam:ResyncMFADevice
MFA 장치의 재동기화를 허용하며, MFA 보호를 조작하여 간접적인 권한 상승으로 이어질 수 있습니다.
Bash 명령어:
영향: MFA 장치를 추가하거나 조작하여 간접적인 권한 상승.
iam:UpdateSAMLProvider
, iam:ListSAMLProviders
, (iam:GetSAMLProvider
)이 권한을 사용하면 SAML 연결의 XML 메타데이터를 변경할 수 있습니다. 그런 다음, SAML 연합을 악용하여 신뢰하는 역할로 로그인할 수 있습니다.
이 작업을 수행하면 정상 사용자들은 로그인할 수 없다는 점에 유의하십시오. 그러나 XML을 가져올 수 있으므로 자신의 XML을 넣고 로그인한 후 이전 상태로 구성할 수 있습니다.
TODO: 지정된 역할로 SAML 메타데이터를 생성하고 로그인할 수 있는 도구
iam:UpdateOpenIDConnectProviderThumbprint
, iam:ListOpenIDConnectProviders
, (iam:
GetOpenIDConnectProvider
)(확실하지 않음) 공격자가 이러한 권한을 가지고 있다면, 제공자를 신뢰하는 모든 역할에 로그인할 수 있도록 새로운 Thumbprint를 추가할 수 있습니다.
AWS 해킹 배우기 및 연습하기:HackTricks Training AWS Red Team Expert (ARTE) GCP 해킹 배우기 및 연습하기: HackTricks Training GCP Red Team Expert (GRTE)