AWS - SSM Privesc
Last updated
Last updated
Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Per ulteriori informazioni su SSM controlla:
AWS - EC2, EBS, ELB, SSM, VPC & VPN Enumssm:SendCommand
Un attaccante con il permesso ssm:SendCommand
può eseguire comandi nelle istanze che eseguono l'Amazon SSM Agent e compromettere il ruolo IAM in esecuzione al suo interno.
Nel caso in cui tu stia utilizzando questa tecnica per elevare i privilegi all'interno di un'istanza EC2 già compromessa, potresti semplicemente catturare la rev shell localmente con:
Impatto Potenziale: Privesc diretto ai ruoli IAM EC2 attaccati a istanze in esecuzione con SSM Agents in esecuzione.
ssm:StartSession
Un attaccante con il permesso ssm:StartSession
può avviare una sessione simile a SSH nelle istanze che eseguono l'Amazon SSM Agent 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 diretto ai ruoli IAM EC2 associati alle istanze in esecuzione con SSM Agents attivi.
Quando i compiti ECS vengono eseguiti con ExecuteCommand
abilitato, gli utenti con permessi sufficienti possono utilizzare ecs execute-command
per eseguire un comando all'interno del contenitore.
Secondo la documentazione, questo avviene creando un canale sicuro tra il dispositivo utilizzato per avviare il comando “exec” e il contenitore di destinazione con SSM Session Manager. (Plugin SSM Session Manager necessario affinché questo funzioni)
Pertanto, gli utenti con ssm:StartSession
saranno in grado di ottenere una shell all'interno dei compiti ECS con quell'opzione abilitata semplicemente eseguendo:
Impatto Potenziale: Privesc diretto ai ruoli ECS
IAM allegati ai task in esecuzione con ExecuteCommand
abilitato.
ssm:ResumeSession
Un attaccante con il permesso ssm:ResumeSession
può ri-avviare una sessione simile a SSH in istanze che eseguono l'Amazon SSM Agent 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 attaccati a istanze in esecuzione con agenti SSM in esecuzione e sessioni disconnesse.
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 puoi frequentemente trovare informazioni sensibili come chiavi SSH o chiavi API.
Impatto Potenziale: Trovare informazioni sensibili all'interno dei parametri.
ssm:ListCommands
Un attaccante con questo permesso può elencare tutti i comandi inviati e sperare di trovare informazioni sensibili in essi.
Impatto Potenziale: Trovare informazioni sensibili all'interno delle righe di comando.
ssm:GetCommandInvocation
, (ssm:ListCommandInvocations
| ssm:ListCommands
)Un attaccante con questi permessi può elencare tutti i comandi inviati e leggere l'output generato sperando di trovare informazioni sensibili in esso.
Impatto Potenziale: Trova informazioni sensibili all'interno dell'output delle righe di comando.
Puoi anche utilizzare SSM per accedere a un progetto codebuild in fase di costruzione:
AWS - Codebuild PrivescImpara e pratica Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Impara e pratica Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)