AWS - SSM Privesc
Last updated
Last updated
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Para mais informações sobre SSM, confira:
AWS - EC2, EBS, ELB, SSM, VPC & VPN Enumssm:SendCommand
Um atacante com a permissão ssm:SendCommand
pode executar comandos em instâncias que estão rodando o Amazon SSM Agent e comprometer o IAM Role que está rodando dentro dele.
Caso você esteja usando esta técnica para escalar privilégios dentro de uma instância EC2 já comprometida, você pode apenas capturar o rev shell localmente com:
Impacto Potencial: Privesc direto para os papéis IAM do EC2 anexados a instâncias em execução com Agentes SSM em execução.
ssm:StartSession
Um atacante com a permissão ssm:StartSession
pode iniciar uma sessão semelhante ao SSH em instâncias executando o Agente SSM da Amazon e comprometer o Papel IAM em execução dentro dele.
Para iniciar uma sessão, você precisa do SessionManagerPlugin instalado: https://docs.aws.amazon.com/systems-manager/latest/userguide/install-plugin-macos-overview.html
Impacto Potencial: Privesc direto para os papéis IAM do EC2 anexados a instâncias em execução com Agentes SSM em funcionamento.
Quando as tarefas 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 do SSM Session Manager necessário para que isso funcione)
Portanto, usuários com ssm:StartSession
poderão obter um shell dentro das tarefas ECS com essa opção habilitada apenas executando:
Impacto Potencial: Privesc direto para os papéis ECS
IAM anexados a tarefas em execução com ExecuteCommand
habilitado.
ssm:ResumeSession
Um atacante com a permissão ssm:ResumeSession
pode re-iniciar uma sessão semelhante ao SSH em instâncias executando o Amazon SSM Agent com um estado de sessão SSM desconectado e comprometer o Papel IAM em execução dentro dele.
Impacto Potencial: Privesc direto para os papéis IAM do EC2 anexados a instâncias em execução com Agentes SSM em execução e sessões desconectadas.
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. Nesses 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
Um atacante com esta 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
)Um atacante com essas permissões pode listar todos os comandos enviados e ler a saída gerada, na esperança de encontrar informações sensíveis nela.
Impacto Potencial: Encontrar informações sensíveis dentro da saída dos comandos.
Você também pode usar o SSM para acessar um projeto de codebuild que está sendo construído:
AWS - Codebuild PrivescAprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)