AWS - SSM Privesc
SSM
Vir meer inligting oor SSM, kyk:
pageAWS - EC2, EBS, ELB, SSM, VPC & VPN Enumssm:SendCommand
ssm:SendCommand
'n Aanvaller met die toestemming ssm:SendCommand
kan opdragte uitvoer in instansies wat die Amazon SSM Agent hardloop en die IAM Rol kompromitteer wat binne-in dit hardloop.
Indien jy hierdie tegniek gebruik om voorregte binne 'n reeds gekompromitteerde EC2-instantie te eskaleer, kan jy net die rev shell plaaslik vasvang met:
Potensiële Impak: Direkte privesc na die EC2 IAM-rolle wat aan lopende instansies met SSM-agente geheg is.
ssm:StartSession
ssm:StartSession
'n Aanvaller met die toestemming ssm:StartSession
kan 'n SSH-soort sessie begin in instansies wat die Amazon SSM-agent hardloop en die IAM-rol kompromitteer wat binne-in dit hardloop.
Om 'n sessie te begin, moet die SessionManagerPlugin geïnstalleer wees: https://docs.aws.amazon.com/systems-manager/latest/userguide/install-plugin-macos-overview.html
Potensiële Impak: Direkte privesc na die EC2 IAM-rolle wat aan lopende instansies met SSM Agents gekoppel is.
Privesc na ECS
Wanneer ECS-take met ExecuteCommand
geaktiveer loop, kan gebruikers met genoeg regte ecs execute-command
gebruik om 'n bevel binne die houer uit te voer.
Volgens die dokumentasie word dit gedoen deur 'n veilige kanaal tussen die toestel wat jy gebruik om die "exec" bevel te begin en die teikenhouer met SSM Session Manager te skep.
Daarom sal gebruikers met ssm:StartSession
in staat wees om 'n skaal binne ECS-take te kry met daardie opsie geaktiveer deur net die volgende uit te voer:
Potensiële Impak: Direkte privesc na die ECS
IAM-rolle wat aan lopende take geheg is met ExecuteCommand
wat ingeskakel is.
ssm:ResumeSession
ssm:ResumeSession
'n Aanvaller met die toestemming ssm:ResumeSession
kan 'n SSH-soortgelyke sessie her-begin in instansies wat die Amazon SSM-agent met 'n afgekoppelde SSM-sessiestaat hardloop en die IAM-rol kompromitteer wat binne-in dit hardloop.
Potensiële Impak: Direkte privesc na die EC2 IAM-rolle wat aan lopende instansies gekoppel is met SSM-agente wat loop en afgekoppelde sessies.
ssm:BeskryfParameters
, (ssm:KryParameter
| ssm:KryParameters
)
ssm:BeskryfParameters
, (ssm:KryParameter
| ssm:KryParameters
)'n Aanvaller met die genoemde regte sal in staat wees om die SSM parameters te lys en hulle in klare teks te lees. In hierdie parameters kan jy dikwels sensitiewe inligting soos SSH-sleutels of API-sleutels vind.
Potensiële Impak: Vind sensitiewe inligting binne die parameters.
ssm:ListCommands
ssm:ListCommands
'n Aanvaller met hierdie toestemming kan al die opdragte wat gestuur is lys en hopelik sensitiewe inligting daarop vind.
Potensiële Impak: Vind sensitiewe inligting binne die opdraglyne.
ssm:GetCommandInvocation
, (ssm:ListCommandInvocations
| ssm:ListCommands
)
ssm:GetCommandInvocation
, (ssm:ListCommandInvocations
| ssm:ListCommands
)'n Aanvaller met hierdie regte kan al die opdragte lys wat gestuur is en die uitset gegenereer lees in die hoop om sensitiewe inligting daarin te vind.
Potensiële Impak: Vind sensitiewe inligting binne die uitset van die bevellyne.
Codebuild
Jy kan ook SSM gebruik om binne 'n codebuild projek wat gebou word te kom:
pageAWS - Codebuild PrivescLast updated