Pentesting Metodologija oblaka

Tip

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Učite i vežbajte Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Podržite HackTricks

Osnovna metodologija

Svaki cloud ima svoje specifičnosti, ali generalno postoji nekoliko uobičajenih stvari koje pentester treba da proveri kada testira cloud okruženje:

  • Benchmark checks
  • Ovo će vam pomoći da shvatite veličinu okruženja i korišćene servise
  • Takođe će vam omogućiti da pronađete neke quick misconfigurations pošto većinu ovih testova možete izvesti pomoću automated tools
  • Services Enumeration
  • Verovatno nećete pronaći mnogo više misconfigurations ovde ako ste ispravno izvršili benchmark tests, ali možda ćete pronaći neke koji nisu bili obuhvaćeni benchmark testom.
  • Ovo će vam omogućiti da znate šta se tačno koristi u cloud env
  • Ovo će puno pomoći u narednim koracima
  • Check exposed assets
  • Ovo se može raditi tokom prethodnog dela; treba da otkrijete sve što je potencijalno izloženo na Internet na neki način i kako se može pristupiti.
  • Ovde podrazumevam manually exposed infrastructure kao instance sa web stranicama ili drugim portovima izloženim, kao i druge cloud managed services koje se mogu konfigurisati da budu izložene (kao DBs ili buckets)
  • Zatim treba da proverite da li taj resurs može biti izložen ili ne (poverljive informacije? vulnerabilities? misconfigurations in the exposed service?)
  • Check permissions
  • Ovde treba da otkrijete sve permissions svakog role/user unutar clouda i kako se koriste
  • Previše highly privileged (control everything) naloga? Generated keys not used?… Većina ovih provera bi trebala biti urađena u benchmark tests već
  • Ako klijent koristi OpenID ili SAML ili neku drugu federaciju možda ćete morati da tražite dodatne informacije o kako se dodeljuje svaka uloga (nije isto ako je admin uloga dodeljena 1 korisniku ili 100)
  • Nije dovoljno da pronađete koji korisnici imaju admin permissions:”. Postoji mnogo drugih permissions koji, u zavisnosti od korišćenih servisa, mogu biti veoma osetljivi.
  • Štaviše, postoje potencijalni privesc načini za zloupotrebu permissions. Sve ovo treba uzeti u obzir i prijaviti što više privesc paths koliko je moguće.
  • Check Integrations
  • Veoma je verovatno da se koriste integrations with other clouds or SaaS unutar cloud okruženja.
  • Za integrations of the cloud you are auditing sa drugim platformama treba da obavestite ko ima pristup da (ab)use tu integraciju i treba da pitate koliko je osetljiva akcija koja se izvodi.
    Na primer, ko može da piše u jedan AWS bucket iz kog GCP uzima podatke (pitati koliko je ta akcija osetljiva u GCP pri obradi tih podataka).
  • Za integrations inside the cloud you are auditing iz eksternih platforma, treba da pitate ko ima spoljašnji pristup da (ab)use 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 pokrene unutar AWS clouda.

Alati za Multi-Cloud

Postoji nekoliko alata koji se mogu koristiti za testiranje različitih cloud okruženja. Koraci instalacije i linkovi biće navedeni u ovom odeljku.

PurplePanda

Alat za identifikovanje loših konfiguracija i privesc path u cloud-ovima i između cloud/SaaS.

# You need to install and run neo4j also
git clone https://github.com/carlospolop/PurplePanda
cd PurplePanda
python3 -m venv .
source bin/activate
python3 -m pip install -r requirements.txt
export PURPLEPANDA_NEO4J_URL="bolt://neo4j@localhost:7687"
export PURPLEPANDA_PWD="neo4j_pwd_4_purplepanda"
python3 main.py -h # Get help

Prowler

Podržava AWS, GCP & Azure. Pogledajte kako konfigurisati svakog provajdera u https://docs.prowler.cloud/en/latest/#aws

# Install
pip install prowler
prowler -v

# Run
prowler <provider>
# Example
prowler aws --profile custom-profile [-M csv json json-asff html]

# Get info about checks & services
prowler <provider> --list-checks
prowler <provider> --list-services

CloudSploit

AWS, Azure, Github, Google, Oracle, Alibaba

# Install
git clone https://github.com/aquasecurity/cloudsploit.git
cd cloudsploit
npm install
./index.js -h
## Docker instructions in github

ScoutSuite

AWS, Azure, GCP, Alibaba Cloud, Oracle Cloud Infrastructure

mkdir scout; cd scout
virtualenv -p python3 venv
source venv/bin/activate
pip install scoutsuite
scout --help
## Using Docker: https://github.com/nccgroup/ScoutSuite/wiki/Docker-Image

Steampipe

Preuzmite i instalirajte Steampipe (https://steampipe.io/downloads). Ili koristite Brew:

brew tap turbot/tap
brew install steampipe

cs-suite

AWS, GCP, Azure, DigitalOcean.
Zahteva python2.7 i izgleda neodržavano.

Nessus

Nessus ima Audit Cloud Infrastructure skeniranje koje podržava: AWS, Azure, Office 365, Rackspace, Salesforce. Potrebne su neke dodatne konfiguracije u Azure da bi se dobio Client Id.

cloudlist

Cloudlist je multi-cloud alat za prikupljanje Assets (Hostnames, IP Addresses) od Cloud Providers.

cd /tmp
wget https://github.com/projectdiscovery/cloudlist/releases/latest/download/cloudlist_1.0.1_macOS_arm64.zip
unzip cloudlist_1.0.1_macOS_arm64.zip
chmod +x cloudlist
sudo mv cloudlist /usr/local/bin

cartography

Cartography je Python alat koji konsoliduje infrastrukturne resurse i odnose između njih u intuitivnom grafičkom prikazu koji pokreće Neo4j database.

# Installation
docker image pull ghcr.io/lyft/cartography
docker run --platform linux/amd64 ghcr.io/lyft/cartography cartography --help
## Install a Neo4j DB version 3.5.*

starbase

Starbase prikuplja resurse i veze iz servisa i sistema — uključujući cloud infrastrukturu, SaaS aplikacije, bezbednosne kontrole i drugo — i prikazuje ih u intuitivnom grafu zasnovanom na Neo4j bazi podataka.

# You are going to need Node version 14, so install nvm following https://tecadmin.net/install-nvm-macos-with-homebrew/
npm install --global yarn
nvm install 14
git clone https://github.com/JupiterOne/starbase.git
cd starbase
nvm use 14
yarn install
yarn starbase --help
# Configure manually config.yaml depending on the env to analyze
yarn starbase setup
yarn starbase run

# Docker
git clone https://github.com/JupiterOne/starbase.git
cd starbase
cp config.yaml.example config.yaml
# Configure manually config.yaml depending on the env to analyze
docker build --no-cache -t starbase:latest .
docker-compose run starbase setup
docker-compose run starbase run

SkyArk

Otkrijte najprivilegovanije korisnike u skeniranom AWS ili Azure okruženju, uključujući AWS Shadow Admins. Koristi powershell.

Import-Module .\SkyArk.ps1 -force
Start-AzureStealth

# in the Cloud Console
IEX (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/cyberark/SkyArk/master/AzureStealth/AzureStealth.ps1')
Scan-AzureAdmins

Cloud Brute

Alat za pronalaženje infrastrukture kompanije (cilja), fajlova i aplikacija na vodećim cloud provajderima (Amazon, Google, Microsoft, DigitalOcean, Alibaba, Vultr, Linode).

CloudFox

  • CloudFox je alat za pronalaženje iskoristivih putanja napada u cloud infrastrukturi (trenutno podržani samo AWS & Azure, GCP uskoro).
  • To je alat za enumeraciju namenjen da dopuni manualni pentesting.
  • Ne kreira niti menja bilo kakve podatke unutar cloud okruženja.

More lists of cloud security tools

Google

GCP

GCP Pentesting

Workspace

GWS - Workspace Pentesting

AWS

AWS Pentesting

Azure

Azure Pentesting

Zajedničke funkcije bezbednosti u cloudu

Confidential Computing

Luks2 Header Malleability Null Cipher Abuse

Tip

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Učite i vežbajte Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Podržite HackTricks