AWS - SSM Privesc
SSM
Para mais informações sobre o SSM, verifique:
AWS - EC2, EBS, ELB, SSM, VPC & VPN Enumssm:SendCommand
ssm:SendCommand
Um atacante com a permissão ssm:SendCommand
pode executar comandos em instâncias em execução no Amazon SSM Agent e comprometer a Função IAM em execução dentro dela.
No caso de estar utilizando essa técnica para elevar privilégios dentro de uma instância EC2 já comprometida, você poderia simplesmente capturar o rev shell localmente com:
Impacto Potencial: Privesc direto para os papéis IAM do EC2 anexados às instâncias em execução com Agentes SSM em execução.
ssm:StartSession
ssm:StartSession
Um atacante com a permissão ssm:StartSession
pode iniciar uma sessão semelhante ao SSH nas instâncias em execução com o Amazon SSM Agent e comprometer o Papel IAM em execução dentro dela.
Para iniciar uma sessão, é necessário ter o SessionManagerPlugin instalado: https://docs.aws.amazon.com/systems-manager/latest/userguide/install-plugin-macos-overview.html
Impacto Potencial: Privesc direto para as funções IAM do EC2 anexadas às instâncias em execução com agentes SSM em execução.
Privesc para ECS
Quando as tarefas do ECS são executadas com ExecuteCommand
habilitado, usuários com permissões suficientes podem usar ecs execute-command
para executar um comando dentro do contêiner.
De acordo com a documentação, isso é feito criando um canal seguro entre o dispositivo que você usa para iniciar o comando "exec" e o contêiner de destino com o SSM Session Manager. (Plugin SSM Session Manager necessário para que isso funcione)
Portanto, usuários com ssm:StartSession
poderão obter um shell dentro das tarefas do ECS com essa opção habilitada apenas executando:
Impacto Potencial: Privesc direto para os papéis ECS
IAM anexados às tarefas em execução com ExecuteCommand
habilitado.
ssm:ResumeSession
ssm:ResumeSession
Um atacante com a permissão ssm:ResumeSession
pode re-iniciar uma sessão semelhante a SSH em instâncias em execução com o Amazon SSM Agent com um estado de sessão SSM desconectado e comprometer o Papel IAM em execução dentro dela.
Impacto Potencial: Privesc direto para os papéis IAM do EC2 anexados às instâncias em execução com Agentes SSM em execução e sessões desconectadas.
ssm:DescribeParameters
, (ssm:GetParameter
| ssm:GetParameters
)
ssm:DescribeParameters
, (ssm:GetParameter
| ssm:GetParameters
)Um atacante com as permissões mencionadas será capaz de listar os parâmetros SSM e lê-los em texto claro. Nestes parâmetros, você pode frequentemente encontrar informações sensíveis como chaves SSH ou chaves de API.
Impacto Potencial: Encontrar informações sensíveis dentro dos parâmetros.
ssm:ListCommands
ssm:ListCommands
Um atacante com essa permissão pode listar todos os comandos enviados e, esperançosamente, encontrar informações sensíveis neles.
Impacto Potencial: Encontrar informações sensíveis dentro das linhas de comando.
ssm:GetCommandInvocation
, (ssm:ListCommandInvocations
| ssm:ListCommands
)
ssm:GetCommandInvocation
, (ssm:ListCommandInvocations
| ssm:ListCommands
)Um atacante com essas permissões pode listar todos os comandos enviados e ler a saída gerada, esperançosamente encontrando informações sensíveis neles.
Impacto Potencial: Encontrar informações sensíveis dentro da saída das linhas de comando.
Codebuild
Você também pode usar o SSM para acessar um projeto codebuild em construção:
AWS - Codebuild PrivescLast updated