AWS - SSM Privesc
SSM
SSM에 대한 자세한 정보는 다음을 확인하세요:
ssm:SendCommand
ssm:SendCommand
ssm:SendCommand
권한이 있는 공격자는 Amazon SSM Agent가 실행 중인 인스턴스에서 명령을 실행하고 그 안에서 실행 중인 IAM 역할을 손상시킬 수 있습니다.
이미 손상된 EC2 인스턴스 내에서 권한 상승을 위해 이 기술을 사용하는 경우, 다음과 같이 로컬에서 rev shell을 캡처할 수 있습니다:
잠재적 영향: SSM 에이전트가 실행 중인 인스턴스에 연결된 EC2 IAM 역할로 직접적인 권한 상승.
ssm:StartSession
ssm:StartSession
ssm:StartSession
권한이 있는 공격자는 Amazon SSM 에이전트가 실행 중인 인스턴스에서 SSH와 유사한 세션을 시작할 수 있으며, 그 안에서 실행 중인 IAM 역할을 손상시킬 수 있습니다.
세션을 시작하려면 SessionManagerPlugin이 설치되어 있어야 합니다: https://docs.aws.amazon.com/systems-manager/latest/userguide/install-plugin-macos-overview.html
잠재적 영향: SSM 에이전트가 실행 중인 인스턴스에 연결된 EC2 IAM 역할로 직접 권한 상승.
ECS로의 권한 상승
ECS 작업이 ExecuteCommand
가 활성화된 상태에서 실행될 때, 충분한 권한을 가진 사용자는 ecs execute-command
를 사용하여 컨테이너 내에서 명령을 실행할 수 있습니다.
문서에 따르면, 이는 “exec“ 명령을 시작하는 데 사용하는 장치와 SSM 세션 관리자와 함께 대상 컨테이너 간에 안전한 채널을 생성하여 수행됩니다. (이 작업을 수행하려면 SSM 세션 관리자 플러그인이 필요합니다)
따라서 ssm:StartSession
권한이 있는 사용자는 해당 옵션이 활성화된 ECS 작업 내에서 쉘을 얻을 수 있습니다.
잠재적 영향: ExecuteCommand
가 활성화된 실행 중인 작업에 연결된 ECS
IAM 역할로 직접적인 권한 상승.
ssm:ResumeSession
ssm:ResumeSession
ssm:ResumeSession
권한이 있는 공격자는 Amazon SSM Agent가 실행 중인 인스턴스에서 SSH와 유사한 세션을 재시작할 수 있으며, 연결이 끊긴 SSM 세션 상태에서 그 안에서 실행 중인 IAM 역할을 타협할 수 있습니다.
잠재적 영향: SSM 에이전트가 실행 중이고 연결이 끊어진 세션이 있는 실행 중인 인스턴스에 연결된 EC2 IAM 역할로 직접적인 권한 상승.
ssm:DescribeParameters
, (ssm:GetParameter
| ssm:GetParameters
)
ssm:DescribeParameters
, (ssm:GetParameter
| ssm:GetParameters
)언급된 권한을 가진 공격자는 SSM 매개변수를 나열하고 일반 텍스트로 읽을 수 있게 됩니다. 이러한 매개변수에서는 종종 SSH 키나 API 키와 같은 민감한 정보를 찾을 수 있습니다.
잠재적 영향: 매개변수 내에서 민감한 정보를 찾습니다.
ssm:ListCommands
ssm:ListCommands
이 권한을 가진 공격자는 모든 명령을 나열할 수 있으며, 그 안에서 민감한 정보를 찾을 수 있기를 바랍니다.
잠재적 영향: 명령줄 내에서 민감한 정보를 찾습니다.
ssm:GetCommandInvocation
, (ssm:ListCommandInvocations
| ssm:ListCommands
)
ssm:GetCommandInvocation
, (ssm:ListCommandInvocations
| ssm:ListCommands
)이 권한을 가진 공격자는 전송된 모든 명령을 나열하고 출력을 읽을 수 있으며, 이를 통해 민감한 정보를 찾을 수 있습니다.
잠재적 영향: 명령줄 출력에서 민감한 정보를 찾습니다.
Codebuild
SSM을 사용하여 빌드 중인 codebuild 프로젝트에 접근할 수도 있습니다:
Last updated