mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2026-02-06 03:42:22 -08:00
Translated ['', 'src/pentesting-ci-cd/github-security/abusing-github-act
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
# Pentesting Cloud Methodology
|
||||
# Pentesting Cloud Metodologija
|
||||
|
||||
{{#include ../banners/hacktricks-training.md}}
|
||||
|
||||
@@ -6,39 +6,39 @@
|
||||
|
||||
## Osnovna metodologija
|
||||
|
||||
Svaki cloud ima svoje specifičnosti, ali generalno postoje neke **uobičajene stvari koje pentester treba da proveri** kada se testira cloud okruženje:
|
||||
Svaki cloud ima svoje osobenosti, ali generalno postoji nekoliko **zajedničkih stvari koje pentester treba da proveri** kada testira cloud okruženje:
|
||||
|
||||
- **Benchmark checks**
|
||||
- Ovo će ti pomoći da **razumeš obim** okruženja i **korišćene servise**
|
||||
- Takođe će ti omogućiti da brzo nađeš neke **brze miskonfiguracije**, pošto većinu ovih testova možeš izvesti uz pomoć **automatizovanih alata**
|
||||
- **Services Enumeration**
|
||||
- Verovatno nećeš pronaći mnogo dodatnih miskonfiguracija ovde ako si ispravno uradio benchmark tests, ali možeš naći neke koje nisu bile obuhvaćene tokom benchmark testa.
|
||||
- Ovo će ti omogućiti da znaš **šta se tačno koristi** u cloud okruženju
|
||||
- **Benchmark provere**
|
||||
- Ovo će vam pomoći da **razumete veličinu** okruženja i **korišćene servise**
|
||||
- Takođe će vam omogućiti da pronađete neke **brze greške u konfiguraciji** pošto većinu ovih testova možete izvršiti pomoću **automatizovanih alata**
|
||||
- **Enumeracija servisa**
|
||||
- Verovatno nećete naći mnogo više grešaka u konfiguraciji ovde ako ste pravilno izvršili benchmark testove, ali možete naći neke koje se nisu tražile u benchmark testu.
|
||||
- Ovo će vam omogućiti da znate **šta se tačno koristi** u cloud okruženju
|
||||
- Ovo će mnogo pomoći u narednim koracima
|
||||
- **Check exposed assets**
|
||||
- Ovo se može raditi tokom prethodnog odeljka — treba da **otkriješ sve što je potencijalno izloženo** Internetu na neki način i kako se može pristupiti tome.
|
||||
- Ovde uzimam u obzir **manualno izloženu infrastrukturu** kao što su instances sa web stranama ili drugim otvorenim portovima, ali i druge **cloud managed services koje se mogu konfigurisati** da budu izložene (kao što su DBs ili buckets)
|
||||
- Zatim treba da proveriš **da li taj resurs može biti izložen ili ne** (poverljive informacije? ranjivosti? miskonfiguracije u izloženom servisu?)
|
||||
- **Check permissions**
|
||||
- Ovde bi trebalo da **otkriješ sve dozvole svake role/korisnika** unutar clouda i kako se one koriste
|
||||
- Previše **veoma privilegovanih** (kontrolišu sve) naloga? Generisani ključevi se ne koriste?... Većina ovih provera bi trebalo da bude urađena tokom benchmark tests
|
||||
- Ako klijent koristi OpenID ili SAML ili neku drugu **federation**, možda ćeš morati da ih pitaš za dodatne **informacije** o **kako se dodeljuje svaka uloga** (nije isto ako je admin uloga dodeljena 1 korisniku ili 100)
|
||||
- Nije **dovoljno samo otkriti** koji korisnici imaju **admin** permissions "\*:\*". Postoji mnogo **ostalih permisija** koje, u zavisnosti od korišćenih servisa, mogu biti vrlo **osetljive**.
|
||||
- Štaviše, postoje **potencijalni privesc** putevi koji se mogu ispratiti zloupotrebom permisija. Sve to treba uzeti u obzir i treba izvesti **što je moguće više privesc puteva**.
|
||||
- **Check Integrations**
|
||||
- Veoma je verovatno da se u cloud okruženju koriste **integrations with other clouds or SaaS**.
|
||||
- Za **integrations of the cloud you are auditing** sa drugim platformama treba da obavestiš **ko ima pristup da (zloupotrebi) tu integraciju** i treba da pitaš **koliko je osetljiva** akcija koja se obavlja.\
|
||||
Na primer, ko može da upiše u AWS bucket iz kojeg GCP dobija podatke (pitaj koliko je ta radnja osetljiva u GCP prilikom obrade tih podataka).
|
||||
- Za **integrations inside the cloud you are auditing** od eksternih platformi, treba da pitaš **ko ima eksterni pristup da (zloupotrebi) tu integraciju** i proveriš kako se ti podaci koriste.\
|
||||
Na primer, ako servis koristi Docker image hostovan u GCR, treba da pitaš ko ima pristup da izmeni taj image i koje osetljive informacije i pristupe će taj image dobiti kada se izvrši unutar AWS cloud-a.
|
||||
- **Provera izloženih resursa**
|
||||
- Ovo može biti urađeno tokom prethodnog dela, potrebno je da **otkrijete sve što je potencijalno izloženo** Internetu na neki način i kako se može pristupiti.
|
||||
- Ovde mislim na **ručno izloženu infrastrukturu** kao što su instance sa web stranicama ili drugim izloženim portovima, i takođe na druge **cloud managed services koje se mogu konfigurisati** da budu izložene (kao što su DBs ili buckets)
|
||||
- Zatim treba da proverite **da li taj resurs može biti izložen ili ne** (poverljive informacije? ranjivosti? greške u konfiguraciji izloženog servisa?)
|
||||
- **Provera dozvola**
|
||||
- Ovde treba da **utvrdite sve dozvole svake uloge/korisnika** u cloud-u i kako se koriste
|
||||
- Previše **visoko privilegovanih** (kontrolišu sve) naloga? Generisani ključevi se ne koriste?... Većina ovih provera bi već trebalo da je urađena u benchmark testovima
|
||||
- Ako klijent koristi OpenID, SAML ili neku drugu **federation**, možda ćete morati da od njih zatražite dodatne **informacije** o **kako se svaka uloga dodeljuje** (nije isto da je admin uloga dodeljena jednom korisniku ili 100)
|
||||
- Nije dovoljno da se utvrdi koji korisnici imaju **admin** dozvole "*:*". Postoji mnogo **ostalih dozvola** koje, u zavisnosti od korišćenih servisa, mogu biti veoma **osetljive**.
|
||||
- Štaviše, postoje **potencijalni privesc** načini koji se mogu ispratiti zloupotrebom dozvola. Sve ovo treba uzeti u obzir i prijaviti **što više privesc puteva koliko je moguće**.
|
||||
- **Provera integracija**
|
||||
- Veoma je verovatno da su **integracije sa drugim cloud-ovima ili SaaS** korišćene unutar cloud okruženja.
|
||||
- Za **integracije cloud-a koje auditirate** sa drugim platformama treba da obavestite **ko ima pristup da (zloupotrebi) tu integraciju** i treba da pitate **koliko je osetljiva** akcija koja se izvršava.\
|
||||
Na primer, ko može da upisuje u AWS bucket iz kojeg GCP dobija podatke (pitajte koliko je osetljiva ta radnja u GCP prilikom obrade tih podataka).
|
||||
- Za **integracije unutar cloud-a koji auditirate** iz eksternih platform, treba da pitate **ko ima eksterni pristup da (zloupotrebi) tu integraciju** i proverite kako se ti podaci koriste.\
|
||||
Na primer, ako servis koristi Docker image hostovan u GCR, treba da pitate ko ima pristup da modifikuje taj image i koje osetljive informacije i pristupe će taj image dobiti kada se izvrši unutar AWS cloud-a.
|
||||
|
||||
## Alati za više cloud okruženja
|
||||
## Multi-Cloud alati
|
||||
|
||||
Postoji nekoliko alata koji se mogu koristiti za testiranje različitih cloud okruženja. Koraci instalacije i linkovi biće navedeni u ovom odeljku.
|
||||
Postoji nekoliko alata koji se mogu koristiti za testiranje različitih cloud okruženja. Koraci instalacije i linkovi biće navedeni u ovom delu.
|
||||
|
||||
### [PurplePanda](https://github.com/carlospolop/purplepanda)
|
||||
|
||||
A tool to **identify bad configurations and privesc path in clouds and across clouds/SaaS.**
|
||||
Alat za **identifikovanje loših konfiguracija i privesc path u cloud-ovima i između cloud-ova/SaaS.**
|
||||
|
||||
{{#tabs }}
|
||||
{{#tab name="Install" }}
|
||||
@@ -71,7 +71,7 @@ python3 main.py -e -p google #Enumerate the env
|
||||
|
||||
### [Prowler](https://github.com/prowler-cloud/prowler)
|
||||
|
||||
Podržava **AWS, GCP & Azure**. Proverite kako da konfigurišete svakog provajdera na [https://docs.prowler.cloud/en/latest/#aws](https://docs.prowler.cloud/en/latest/#aws)
|
||||
Podržava **AWS, GCP & Azure**. Pogledajte kako konfigurisati svakog provajdera na [https://docs.prowler.cloud/en/latest/#aws](https://docs.prowler.cloud/en/latest/#aws)
|
||||
```bash
|
||||
# Install
|
||||
pip install prowler
|
||||
@@ -168,9 +168,9 @@ steampipe check all
|
||||
```
|
||||
<details>
|
||||
|
||||
<summary>Proveri sve projekte</summary>
|
||||
<summary>Proverite sve projekte</summary>
|
||||
|
||||
Da biste proverili sve projekte, potrebno je da generišete fajl `gcp.spc` koji navodi sve projekte koje treba testirati. Možete pratiti uputstva iz sledećeg skripta
|
||||
Da biste proverili sve projekte, potrebno je da generišete fajl `gcp.spc` koji navodi sve projekte koje treba testirati. Možete jednostavno slediti uputstva iz sledećeg skripta
|
||||
```bash
|
||||
FILEPATH="/tmp/gcp.spc"
|
||||
rm -rf "$FILEPATH" 2>/dev/null
|
||||
@@ -194,11 +194,11 @@ echo "Copy $FILEPATH in ~/.steampipe/config/gcp.spc if it was correctly generate
|
||||
```
|
||||
</details>
|
||||
|
||||
Za proveru **ostalih GCP insights** (korisno za enumeraciju servisa) koristite: [https://github.com/turbot/steampipe-mod-gcp-insights](https://github.com/turbot/steampipe-mod-gcp-insights)
|
||||
Za proveru **ostalih GCP uvida** (korisno za nabrajanje servisa) koristite: [https://github.com/turbot/steampipe-mod-gcp-insights](https://github.com/turbot/steampipe-mod-gcp-insights)
|
||||
|
||||
Za proveru Terraform GCP koda: [https://github.com/turbot/steampipe-mod-terraform-gcp-compliance](https://github.com/turbot/steampipe-mod-terraform-gcp-compliance)
|
||||
Za pregled Terraform GCP koda: [https://github.com/turbot/steampipe-mod-terraform-gcp-compliance](https://github.com/turbot/steampipe-mod-terraform-gcp-compliance)
|
||||
|
||||
Više GCP pluginova za Steampipe: [https://github.com/turbot?q=gcp](https://github.com/turbot?q=gcp)
|
||||
Više GCP plugina za Steampipe: [https://github.com/turbot?q=gcp](https://github.com/turbot?q=gcp)
|
||||
{{#endtab }}
|
||||
|
||||
{{#tab name="AWS" }}
|
||||
@@ -227,7 +227,7 @@ steampipe check all --export=/tmp/output4.json
|
||||
```
|
||||
Za proveru Terraform AWS koda: [https://github.com/turbot/steampipe-mod-terraform-aws-compliance](https://github.com/turbot/steampipe-mod-terraform-aws-compliance)
|
||||
|
||||
Više AWS plugina za Steampipe: [https://github.com/orgs/turbot/repositories?q=aws](https://github.com/orgs/turbot/repositories?q=aws)
|
||||
Više AWS pluginova za Steampipe: [https://github.com/orgs/turbot/repositories?q=aws](https://github.com/orgs/turbot/repositories?q=aws)
|
||||
{{#endtab }}
|
||||
{{#endtabs }}
|
||||
|
||||
@@ -238,11 +238,11 @@ Zahteva python2.7 i izgleda neodržavano.
|
||||
|
||||
### Nessus
|
||||
|
||||
Nessus ima skeniranje _**Audit Cloud Infrastructure**_ koje podržava: AWS, Azure, Office 365, Rackspace, Salesforce. Potrebne su dodatne konfiguracije u **Azure** da bi se dobio **Client Id**.
|
||||
Nessus ima _**Audit Cloud Infrastructure**_ skeniranje koje podržava: AWS, Azure, Office 365, Rackspace, Salesforce. Potrebne su neke dodatne konfiguracije u **Azure** kako bi se dobio **Client Id**.
|
||||
|
||||
### [**cloudlist**](https://github.com/projectdiscovery/cloudlist)
|
||||
|
||||
Cloudlist je **multi-cloud tool for getting Assets** (Hostnames, IP Addresses) od Cloud Providers.
|
||||
Cloudlist je **multi-cloud tool for getting Assets** (Hostnames, IP Addresses) from Cloud Providers.
|
||||
|
||||
{{#tabs }}
|
||||
{{#tab name="Cloudlist" }}
|
||||
@@ -265,7 +265,7 @@ cloudlist -config </path/to/config>
|
||||
|
||||
### [**cartography**](https://github.com/lyft/cartography)
|
||||
|
||||
Cartography je Python alat koji objedinjava infrastrukturalne resurse i odnose između njih u intuitivnom grafičkom prikazu pokretanom Neo4j bazom podataka.
|
||||
Cartography je Python alat koji objedinuje infrastrukturne resurse i veze između njih u intuitivnom grafičkom prikazu zasnovanom na Neo4j bazi podataka.
|
||||
|
||||
{{#tabs }}
|
||||
{{#tab name="Install" }}
|
||||
@@ -302,7 +302,7 @@ ghcr.io/lyft/cartography \
|
||||
|
||||
### [**starbase**](https://github.com/JupiterOne/starbase)
|
||||
|
||||
Starbase prikuplja resurse i relacije iz servisa i sistema, uključujući infrastrukturu u oblaku, SaaS applications, bezbednosne kontrole i još mnogo toga, u intuitivan prikaz grafa koji se oslanja na Neo4j bazu podataka.
|
||||
Starbase prikuplja resurse i odnose iz servisa i sistema, uključujući cloud infrastrukturu, SaaS aplikacije, sigurnosne kontrole i još mnogo toga, u intuitivan grafički prikaz koji koristi Neo4j bazu podataka.
|
||||
|
||||
{{#tabs }}
|
||||
{{#tab name="Install" }}
|
||||
@@ -361,7 +361,7 @@ uri: bolt://localhost:7687
|
||||
|
||||
### [**SkyArk**](https://github.com/cyberark/SkyArk)
|
||||
|
||||
Otkrijte najprivilegovanije korisnike u skeniranom AWS ili Azure okruženju, uključujući AWS Shadow Admins. Koristi powershell.
|
||||
Otkriva najprivilegovanije korisnike u skeniranom AWS ili Azure okruženju, uključujući AWS Shadow Admins. Koristi powershell.
|
||||
```bash
|
||||
Import-Module .\SkyArk.ps1 -force
|
||||
Start-AzureStealth
|
||||
@@ -372,15 +372,15 @@ Scan-AzureAdmins
|
||||
```
|
||||
### [Cloud Brute](https://github.com/0xsha/CloudBrute)
|
||||
|
||||
Alat za pronalaženje infrastrukture kompanije (target), fajlova i aplikacija kod vodećih provajdera u oblaku (Amazon, Google, Microsoft, DigitalOcean, Alibaba, Vultr, Linode).
|
||||
Alat za pronalaženje infrastrukture kompanije (cilja), fajlova i aplikacija na vodećim cloud provajderima (Amazon, Google, Microsoft, DigitalOcean, Alibaba, Vultr, Linode).
|
||||
|
||||
### [CloudFox](https://github.com/BishopFox/cloudfox)
|
||||
|
||||
- CloudFox je alat za pronalaženje exploitable attack paths u cloud infrastrukturi (trenutno su podržani samo AWS & Azure, a GCP dolazi uskoro).
|
||||
- To je enumeration tool koji je namenjen da dopuni manual pentesting.
|
||||
- Ne kreira niti ne menja bilo koje podatke unutar cloud okruženja.
|
||||
- CloudFox je alat za pronalaženje iskoristivih puteva napada u cloud infrastrukturi (trenutno podržani samo AWS & Azure, a GCP dolazi uskoro).
|
||||
- To je alat za enumeraciju koji je namenjen da dopuni manualni pentesting.
|
||||
- Ne kreira niti menja bilo koje podatke unutar cloud okruženja.
|
||||
|
||||
### More lists of cloud security tools
|
||||
### Više spiskova alata za cloud sigurnost
|
||||
|
||||
- [https://github.com/RyanJarv/awesome-cloud-sec](https://github.com/RyanJarv/awesome-cloud-sec)
|
||||
|
||||
@@ -410,13 +410,13 @@ aws-security/
|
||||
azure-security/
|
||||
{{#endref}}
|
||||
|
||||
### Graf napada
|
||||
### Attack Graph
|
||||
|
||||
[**Stormspotter** ](https://github.com/Azure/Stormspotter)kreira „attack graph“ resursa u Azure subscription. Omogućava red teams i pentesters da vizualizuju attack surface i pivot opportunities unutar tenant-a, i značajno pomaže vašim defenders da brzo orijentišu i prioritetizuju incident response rad.
|
||||
[**Stormspotter** ](https://github.com/Azure/Stormspotter) kreira „attack graph“ resursa u Azure pretplati. Omogućava red teams i pentesters da vizualizuju površinu napada i mogućnosti pivotovanja unutar tenant-a, i ubrzava vaše odbrambene timove da se brzo orijentišu i daju prioritet radu na odgovoru na incidente.
|
||||
|
||||
### Office365
|
||||
|
||||
Potrebate **Global Admin** ili bar **Global Admin Reader** (ali imajte na umu da je Global Admin Reader pomalo ograničen). Međutim, ta ograničenja se pojavljuju u nekim PS modules i mogu se zaobići pristupanjem funkcijama **putem web aplikacije**.
|
||||
Potrebno je imati **Global Admin** ili bar **Global Admin Reader** (ali imajte na umu da je Global Admin Reader pomalo ograničen). Međutim, ta ograničenja se pojavljuju u nekim PS modulima i mogu se zaobići pristupanjem funkcijama **preko web aplikacije**.
|
||||
|
||||
|
||||
{{#include ../banners/hacktricks-training.md}}
|
||||
|
||||
Reference in New Issue
Block a user