AWS - SSM Privesc
SSM
Per ulteriori informazioni su SSM, controlla:
pageAWS - EC2, EBS, ELB, SSM, VPC & VPN Enumssm:SendCommand
ssm:SendCommand
Un attaccante con il permesso ssm:SendCommand
può eseguire comandi nelle istanze in esecuzione sull'Agente Amazon SSM e compromettere il ruolo IAM in esecuzione al suo interno.
Nel caso in cui stai utilizzando questa tecnica per escalare i privilegi all'interno di un'istanza EC2 già compromessa, potresti semplicemente catturare la shell reversa localmente con:
Impatto Potenziale: Privesc diretto ai ruoli IAM EC2 collegati alle istanze in esecuzione con agenti SSM in esecuzione.
ssm:StartSession
ssm:StartSession
Un attaccante con il permesso ssm:StartSession
può avviare una sessione simile a SSH nelle istanze in esecuzione con l'Agente Amazon SSM e compromettere il Ruolo IAM in esecuzione al suo interno.
Per avviare una sessione è necessario avere installato il SessionManagerPlugin: https://docs.aws.amazon.com/systems-manager/latest/userguide/install-plugin-macos-overview.html
Impatto Potenziale: Escalation dei privilegi diretta ai ruoli IAM EC2 collegati alle istanze in esecuzione con agenti SSM attivi.
Escalation dei Privilegi su ECS
Quando le attività ECS vengono eseguite con ExecuteCommand
abilitato, gli utenti con le autorizzazioni adeguate possono utilizzare ecs execute-command
per eseguire un comando all'interno del container.
Secondo la documentazione ciò avviene creando un canale sicuro tra il dispositivo utilizzato per avviare il comando "exec" e il container di destinazione con SSM Session Manager.
Pertanto, gli utenti con ssm:StartSession
saranno in grado di ottenere una shell all'interno delle attività ECS con quell'opzione abilitata semplicemente eseguendo:
Impatto Potenziale: Privesc diretto ai ruoli ECS
IAM collegati ai task in esecuzione con ExecuteCommand
abilitato.
ssm:ResumeSession
ssm:ResumeSession
Un attaccante con il permesso ssm:ResumeSession
può riavviare una sessione simile a SSH nelle istanze in esecuzione dell'Agente Amazon SSM con uno stato di sessione SSM disconnesso e compromettere il Ruolo IAM in esecuzione al suo interno.
Impatto Potenziale: Privesc diretto ai ruoli IAM EC2 collegati alle istanze in esecuzione con agenti SSM in esecuzione e sessioni disconnesse.
ssm:DescribeParameters
, (ssm:GetParameter
| ssm:GetParameters
)
ssm:DescribeParameters
, (ssm:GetParameter
| ssm:GetParameters
)Un attaccante con le autorizzazioni menzionate sarà in grado di elencare i parametri SSM e leggerli in chiaro. In questi parametri è possibile trovare frequentemente informazioni sensibili come chiavi SSH o chiavi API.
Impatto Potenziale: Trovare informazioni sensibili all'interno dei parametri.
ssm:ListCommands
ssm:ListCommands
Un attaccante con questa autorizzazione può elencare tutti i comandi inviati e sperabilmente trovare informazioni sensibili su di essi.
Impatto Potenziale: Trovare informazioni sensibili all'interno delle righe di comando.
ssm:GetCommandInvocation
, (ssm:ListCommandInvocations
| ssm:ListCommands
)
ssm:GetCommandInvocation
, (ssm:ListCommandInvocations
| ssm:ListCommands
)Un attaccante con queste autorizzazioni può elencare tutti i comandi inviati e leggere l'output generato, sperabilmente trovando informazioni sensibili al loro interno.
Impatto Potenziale: Trovare informazioni sensibili all'interno dell'output delle righe di comando.
Codebuild
È possibile utilizzare SSM anche per accedere a un progetto codebuild in fase di compilazione:
pageAWS - Codebuild PrivescLast updated