Terraform Security
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
HashiCorp Terraform рдПрдХ infrastructure as code tool рд╣реИ рдЬреЛ рдЖрдкрдХреЛ cloud рдФрд░ on-prem resources рдХреЛ рдорд╛рдирд╡-рдкрдардиреАрдп рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдк рд╕рдВрд╕реНрдХрд░рдгрд┐рдд, рдкреБрди: рдЙрдкрдпреЛрдЧ рдФрд░ рд╕рд╛рдЭрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдк рдлрд┐рд░ рдЕрдкрдиреЗ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдХреЗ рдкреВрд░реЗ рдЬреАрд╡рдирдЪрдХреНрд░ рдХреЗ рджреМрд░рд╛рди рд╕рднреА рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рдкреНрд░рд╛рд╡рдзрд╛рди рдФрд░ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реБрд╕рдВрдЧрдд рдХрд╛рд░реНрдпрдкреНрд░рд╡рд╛рд╣ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред Terraform рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рдШрдЯрдХреЛрдВ рдЬреИрд╕реЗ рдХрдВрдкреНрдпреВрдЯ, рд╕реНрдЯреЛрд░реЗрдЬ, рдФрд░ рдиреЗрдЯрд╡рд░реНрдХрд┐рдВрдЧ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдЙрдЪреНрдЪ-рд╕реНрддрд░реАрдп рдШрдЯрдХреЛрдВ рдЬреИрд╕реЗ DNS рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдФрд░ SaaS рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░ рд╕рдХрддрд╛ рд╣реИред
Terraform рдХреНрд▓рд╛рдЙрдб рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдФрд░ рдЕрдиреНрдп рд╕реЗрд╡рд╛рдУрдВ рдкрд░ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рдЙрдирдХреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдЗрдВрдЯрд░рдлреЗрд╕ (APIs) рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмрдирд╛рддрд╛ рдФрд░ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рддрд╛ рд╣реИред рдкреНрд░рджрд╛рддрд╛ Terraform рдХреЛ рдХрд┐рд╕реА рднреА рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдпрд╛ рд╕реЗрд╡рд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдмрдирд╛рддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рдПрдХ рд╕реБрд▓рдн API рд╣реЛрддрд╛ рд╣реИред
HashiCorp рдФрд░ Terraform рд╕рдореБрджрд╛рдп рдиреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА 1700 рд╕реЗ рдЕрдзрд┐рдХ рдкреНрд░рджрд╛рддрд╛ рд▓рд┐рдЦреЗ рд╣реИрдВ рдЬреЛ рд╣рдЬрд╛рд░реЛрдВ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдФрд░ рд╕реЗрд╡рд╛рдУрдВ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдпрд╣ рд╕рдВрдЦреНрдпрд╛ рдмрдврд╝рддреА рдЬрд╛ рд░рд╣реА рд╣реИред рдЖрдк рд╕рднреА рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд░реВрдк рд╕реЗ рдЙрдкрд▓рдмреНрдз рдкреНрд░рджрд╛рддрд╛рдУрдВ рдХреЛ Terraform Registry рдкрд░ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ Amazon Web Services (AWS), Azure, Google Cloud Platform (GCP), Kubernetes, Helm, GitHub, Splunk, DataDog, рдФрд░ рдХрдИ рдЕрдиреНрдп рд╢рд╛рдорд┐рд▓ рд╣реИрдВред
рдореБрдЦреНрдп Terraform рдХрд╛рд░реНрдпрдкреНрд░рд╡рд╛рд╣ рддреАрди рдЪрд░рдгреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рд╣реИ:
Write: рдЖрдк рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рдХрдИ рдХреНрд▓рд╛рдЙрдб рдкреНрд░рджрд╛рддрд╛рдУрдВ рдФрд░ рд╕реЗрд╡рд╛рдУрдВ рдореЗрдВ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рд╕реБрд░рдХреНрд╖рд╛ рд╕рдореВрд╣реЛрдВ рдФрд░ рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд░ рдХреЗ рд╕рд╛рде рдПрдХ рд╡рд░реНрдЪреБрдЕрд▓ рдкреНрд░рд╛рдЗрд╡реЗрдЯ рдХреНрд▓рд╛рдЙрдб (VPC) рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрдиреЛрдВ рдкрд░ рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рддреИрдирд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред
Plan: Terraform рдПрдХ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЬрдирд╛ рдмрдирд╛рддрд╛ рд╣реИ рдЬреЛ рдЙрд╕ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреА рд╣реИ рдЬрд┐рд╕реЗ рдпрд╣ рдмрдирд╛рдПрдЧрд╛, рдЕрдкрдбреЗрдЯ рдХрд░реЗрдЧрд╛, рдпрд╛ рдирд╖реНрдЯ рдХрд░реЗрдЧрд╛, рдореМрдЬреВрджрд╛ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдФрд░ рдЖрдкрдХреА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рдЖрдзрд╛рд░ рдкрд░ред
Apply: рдЕрдиреБрдореЛрджрди рдкрд░, Terraform рд╕рд╣реА рдХреНрд░рдо рдореЗрдВ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд╕рдВрдЪрд╛рд▓рди рдХрд░рддрд╛ рд╣реИ, рдХрд┐рд╕реА рднреА рд╕рдВрд╕рд╛рдзрди рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдХрд╛ рд╕рдореНрдорд╛рди рдХрд░рддреЗ рд╣реБрдПред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрдк рдПрдХ VPC рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЙрд╕ VPC рдореЗрдВ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрдиреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдмрджрд▓рддреЗ рд╣реИрдВ, рддреЛ Terraform рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрдиреЛрдВ рдХреЛ рд╕реНрдХреЗрд▓ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ VPC рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдПрдЧрд╛ред
рдмрд╕ рдЕрдкрдиреЗ рдХрдВрдкреНрдпреВрдЯрд░ рдореЗрдВ terraform рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВред
рдпрд╣рд╛рдБ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ guide рд╣реИ рдФрд░ рдпрд╣рд╛рдБ рдЖрдкрдХреЗ рдкрд╛рд╕ terraform рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХрд╛ рд╕рд░реНрд╡рд╢реНрд░реЗрд╖реНрда рддрд░реАрдХрд╛ рд╣реИред
Terraform рдореЗрдВ рдХреЛрдИ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдирд╣реАрдВ рд╣реИ рдЬреЛ рдПрдХ рд╡реЗрдм рдкреГрд╖реНрда рдпрд╛ рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗрд╡рд╛ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдо рд╕реВрдЪреАрдмрджреНрдз рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП, terraform рдХреЛ рд╕рдордЭреМрддрд╛ рдХрд░рдиреЗ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рддрд░реАрдХрд╛ рд╣реИ terraform рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ/рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ред
рд╣рд╛рд▓рд╛рдВрдХрд┐, terraform рдПрдХ рдмрд╣реБрдд рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рдШрдЯрдХ рд╣реИ рдЬрд┐рд╕реЗ рд╕рдордЭреМрддрд╛ рдХрд░рдирд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХреЗ рдкрд╛рд╕ рд╡рд┐рднрд┐рдиреНрди рд╕реНрдерд╛рдиреЛрдВ рддрдХ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рдкреНрд░рд╛рдкреНрдд рдкрд╣реБрдВрдЪ рд╣реЛрдЧреА рддрд╛рдХрд┐ рдпрд╣ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдХрд╛рдо рдХрд░ рд╕рдХреЗред
рдПрдХ рд╣рдорд▓рд╛рд╡рд░ рдХреЗ рд▓рд┐рдП рдЙрд╕ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рд╕рдордЭреМрддрд╛ рдХрд░рдиреЗ рдХрд╛ рдореБрдЦреНрдп рддрд░реАрдХрд╛ рдЬрд╣рд╛рдВ terraform рдЪрд▓ рд░рд╣рд╛ рд╣реИ, рд╣реИ terraform рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЛ рд╕рдордЭреМрддрд╛ рдХрд░рдирд╛, рдХреНрдпреЛрдВрдХрд┐ рдХрд┐рд╕реА рди рдХрд┐рд╕реА рд╕рдордп рдЙрдиреНрд╣реЗрдВ рд╡реНрдпрд╛рдЦреНрдпрд╛рдпрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╡рд╣рд╛рдБ рдРрд╕реЗ рд╕рдорд╛рдзрд╛рди рд╣реИрдВ рдЬреЛ PR рдмрдирдиреЗ рдХреЗ рдмрд╛рдж рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ terraform plan/apply рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ рдХрд┐ Atlantis:
Atlantis Securityрдпрджрд┐ рдЖрдк рдПрдХ terraform рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рдордЭреМрддрд╛ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИрдВ, рддреЛ рдЬрдм рдХреЛрдИ terraform plan
рдпрд╛ terraform apply
рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реИ, рддреЛ RCE рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЗ рдкрд╛рд╕ рд╡рд┐рднрд┐рдиреНрди рддрд░реАрдХреЗ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред
Terraform plan terraform рдореЗрдВ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ рдХрдорд╛рдВрдб рд╣реИ рдФрд░ рдбреЗрд╡рд▓рдкрд░реНрд╕/рд╕рдорд╛рдзрд╛рди рдЬреЛ terraform рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕реЗ рд╣рд░ рд╕рдордп рдХреЙрд▓ рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП RCE рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рд╣реИ рдХрд┐ рдЖрдк рдПрдХ terraform рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╡рд┐рд╖рд╛рдХреНрдд рдХрд░реЗрдВ рдЬреЛ terraform plan
рдореЗрдВ рдордирдорд╛рдиреЗ рдЖрджреЗрд╢реЛрдВ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдЧреАред
Using an external provider
Terraform external
provider рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдЬреЛ Terraform рдФрд░ рдмрд╛рд╣рд░реА рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЗ рдмреАрдЪ рдЗрдВрдЯрд░рдлреЗрд╕ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдЖрдк plan
рдХреЗ рджреМрд░рд╛рди рдордирдорд╛рдиреА рдХреЛрдб рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП external
рдбреЗрдЯрд╛ рд╕реНрд░реЛрдд рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдПрдХ terraform рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреА рддрд░рд╣ рдХреБрдЫ рдЗрдВрдЬреЗрдХреНрдЯ рдХрд░рдиреЗ рд╕реЗ terraform plan
рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╕рдордп рдПрдХ рд░рд┐рд╡рд░реНрд╕ рд╢реЗрд▓ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрдЧрд╛:
рдХрд╕реНрдЯрдо рдкреНрд░рджрд╛рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
рдПрдХ рд╣рдорд▓рд╛рд╡рд░ рдХрд╕реНрдЯрдо рдкреНрд░рджрд╛рддрд╛ рдХреЛ Terraform Registry рдкрд░ рднреЗрдЬ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рдЗрд╕реЗ рдПрдХ рдлреАрдЪрд░ рдмреНрд░рд╛рдВрдЪ рдореЗрдВ Terraform рдХреЛрдб рдореЗрдВ рдЬреЛрдбрд╝ рд╕рдХрддрд╛ рд╣реИ (рдпрд╣рд╛рдВ рд╕реЗ рдЙрджрд╛рд╣рд░рдг):
The provider is downloaded in the init
and will run the malicious code when plan
is executed
You can find an example in https://github.com/rung/terraform-provider-cmdexec
рдПрдХ рдмрд╛рд╣рд░реА рд╕рдВрджрд░реНрдн рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
рджреЛрдиреЛрдВ рдЙрд▓реНрд▓реЗрдЦрд┐рдд рд╡рд┐рдХрд▓реНрдк рдЙрдкрдпреЛрдЧреА рд╣реИрдВ рд▓реЗрдХрд┐рди рдмрд╣реБрдд рдЫрд┐рдкреЗ рд╣реБрдП рдирд╣реАрдВ рд╣реИрдВ (рджреВрд╕рд░рд╛ рдЕрдзрд┐рдХ рдЫрд┐рдкрд╛ рд╣реБрдЖ рд╣реИ рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реИ)ред рдЖрдк рдЗрд╕ рд╣рдорд▓реЗ рдХреЛ рдПрдХ рдФрд░ рдЕрдзрд┐рдХ рдЫрд┐рдкреЗ рд╣реБрдП рддрд░реАрдХреЗ рд╕реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрди рд╕реБрдЭрд╛рд╡реЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░рдХреЗ:
Terraform рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕реАрдзреЗ rev shell рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдЖрдк рдПрдХ рдмрд╛рд╣рд░реА рд╕рдВрд╕рд╛рдзрди рд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ rev shell рд╣реЛ:
рдЖрдк рд░рд┐рд╡ рд╢реЗрд▓ рдХреЛрдб https://github.com/carlospolop/terraform_external_module_rev_shell/tree/main/modules рдкрд░ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред
рдмрд╛рд╣рд░реА рд╕рдВрд╕рд╛рдзрди рдореЗрдВ, ref рдлреАрдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рддрд╛рдХрд┐ repo рдХреЗ рдЕрдВрджрд░ рдПрдХ рд╢рд╛рдЦрд╛ рдореЗрдВ terraform rev shell рдХреЛрдб рдЫрд┐рдкрд╛ рд╕рдХреЗрдВ, рдХреБрдЫ рдЗрд╕ рддрд░рд╣: git@github.com:carlospolop/terraform_external_module_rev_shell//modules?ref=b401d2b
Terraform apply рд╕рднреА рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЖрдк рдЗрд╕реЗ RCE рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднреА рджреБрд░реБрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдПрдХ рджреБрд░реНрднрд╛рд╡рдирд╛рдкреВрд░реНрдг Terraform рдлрд╝рд╛рдЗрд▓ рдХреЛ local-exec** рдХреЗ рд╕рд╛рде рдЗрдВрдЬреЗрдХреНрдЯ рдХрд░рдХреЗред**
рдЖрдкрдХреЛ рдмрд╕ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЬреИрд╕реЗ рдХреБрдЫ рдкреЗрд▓реЛрдб main.tf
рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рдПрдВ:
Follow the suggestions from the previous technique the perform this attack in a stealthier way using external references.
рдЖрдк terraform рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдЧреБрдкреНрдд рдорд╛рдиреЛрдВ рдХреЛ рдбрдВрдк рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ terraform apply
рдЪрд▓рд╛рдХрд░, terraform рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рдЬреЛрдбрд╝рдХрд░:
рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ terraform state рдлрд╝рд╛рдЗрд▓реЛрдВ рдкрд░ рд▓рд┐рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рд╣реИ рд▓реЗрдХрд┐рди рдЖрдк terraform рдХреЛрдб рдХреЛ рдирд╣реАрдВ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рд╢реЛрдз рдлрд╝рд╛рдЗрд▓ рдХрд╛ рд▓рд╛рдн рдЙрдард╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рджрд┐рд▓рдЪрд╕реНрдк рд╡рд┐рдХрд▓реНрдк рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ:
рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рдирд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ 2 рддрд░реАрдХреЗ рд╣реИрдВ:
рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдВрд╕рд╛рдзрди рдХреЛ рдирд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП state рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдирд╛рдо рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдВрд╕рд╛рдзрди рдбрд╛рд▓реЗрдВ
рдХреНрдпреЛрдВрдХрд┐ terraform рджреЗрдЦреЗрдЧрд╛ рдХрд┐ рд╕рдВрд╕рд╛рдзрди рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдпрд╣ рдЗрд╕реЗ рдирд╖реНрдЯ рдХрд░ рджреЗрдЧрд╛ (рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдВрд╕рд╛рдзрди ID рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЬреЛ рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ)ред рдкрд┐рдЫрд▓реЗ рдкреГрд╖реНрда рд╕реЗ рдЙрджрд╛рд╣рд░рдг:
рд╕рдВрд╕рд╛рдзрди рдХреЛ рдЗрд╕ рддрд░рд╣ рд╕реЗ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЗрд╕реЗ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ рд╕рдВрднрд╡ рди рд╣реЛ (рддрд╛рдХрд┐ рдЗрд╕реЗ рд╣рдЯрд╛рдпрд╛ рдЬрд╛ рд╕рдХреЗ рдФрд░ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХреЗ)
EC2 рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЙрджрд╛рд╣рд░рдг рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдирд╛ terraform рдХреЛ рдЗрд╕реЗ рд╣рдЯрд╛рдиреЗ рдФрд░ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред
рдпрд╣ рднреА рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдПрдХ рдХрд╕реНрдЯрдо рдкреНрд░рджрд╛рддрд╛ рдмрдирд╛рдПрдБ рдФрд░ рдмрд╕ terraform рд╕реНрдерд┐рддрд┐ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдПрдХ рдкреНрд░рджрд╛рддрд╛ рдХреЛ рджреБрд░реНрднрд╛рд╡рдирд╛рдкреВрд░реНрдг рд╡рд╛рд▓реЗ рд╕реЗ рдмрджрд▓ рджреЗрдВ рдпрд╛ рджреБрд░реНрднрд╛рд╡рдирд╛рдкреВрд░реНрдг рдкреНрд░рджрд╛рддрд╛ рдХреЗ рд╕рд╛рде рдПрдХ рдЦрд╛рд▓реА рд╕рдВрд╕рд╛рдзрди рдЬреЛрдбрд╝ рджреЗрдВред рдореВрд▓ рд╢реЛрдз рд╕реЗ рдЙрджрд╛рд╣рд░рдг:
рдпрджрд┐ рдЖрдк рдРрд╕реА рд╕реНрдерд┐рддрд┐ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рддреЗ рд╣реИрдВ рдЬрд╣рд╛рдБ hashicorp/external
рдХреЛ рдмреНрд▓реИрдХрд▓рд┐рд╕реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдЖрдк рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд░рдХреЗ external
рдкреНрд░рджрд╛рддрд╛ рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдиреЛрдЯ: рд╣рдо https://registry.terraform.io/providers/nazarewk/external/latest рджреНрд╡рд╛рд░рд╛ рдкреНрд░рдХрд╛рд╢рд┐рдд external
рдкреНрд░рджрд╛рддрд╛ рдХреА рдПрдХ рдлреЛрд░реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдЖрдк рдЕрдкрдирд╛ рдЦреБрдж рдХрд╛ рдлреЛрд░реНрдХ рдпрд╛ рдлрд┐рд░ рд╕реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рднреА рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдлрд┐рд░ рдЖрдк рд╕рд╛рдорд╛рдиреНрдп рдХреЗ рдЕрдиреБрд╕рд╛рд░ external
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
tfsec: tfsec рдЖрдкрдХреЗ terraform рдХреЛрдб рдХрд╛ рд╕реНрдереИрддрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рддрд╛ рд╣реИ рддрд╛рдХрд┐ рд╕рдВрднрд╛рд╡рд┐рдд рдЧрд▓рдд рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдкрд╣рдЪрд╛рдирд╛ рдЬрд╛ рд╕рдХреЗред
terascan: Terrascan рдЗрдиреНрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдХреЛрдб рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдереИрддрд┐рдХ рдХреЛрдб рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рд╣реИред
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)