AWS - SSM Privesc
SSM
Per ulteriori informazioni su SSM, controlla:
AWS - 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.
In caso si stia utilizzando questa tecnica per escalare i privilegi all'interno di un'istanza EC2 già compromessa, è possibile catturare la reverse shell 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: Privesc diretta ai ruoli IAM EC2 collegati alle istanze in esecuzione con agenti SSM in esecuzione.
Privesc su ECS
Quando le attività ECS vengono eseguite con ExecuteCommand
abilitato, gli utenti con le autorizzazioni sufficienti 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. (Plugin SSM Session Manager necessario affinché ciò funzioni)
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 IAM ECS
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 i permessi menzionati 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 suo interno.
Impatto Potenziale: Trovare informazioni sensibili all'interno dell'output delle righe di comando.
Codebuild
È anche possibile utilizzare SSM per accedere a un progetto codebuild in fase di costruzione:
AWS - Codebuild PrivescLast updated