Pentesting Cloud Methodology

Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)!

Άλλοι τρόποι για να υποστηρίξετε το HackTricks:

Βασική Μεθοδολογία

Κάθε νέφος έχει τις δικές του ιδιαιτερότητες, αλλά γενικά υπάρχουν μερικά κοινά πράγματα που ένας ελεγκτής ασφάλειας θα πρέπει να ελέγξει κατά τη δοκιμή ενός νέφους:

  • Έλεγχοι αναφοράς

  • Αυτό θα σας βοηθήσει να κατανοήσετε το μέγεθος του περιβάλλοντος και τις υπηρεσίες που χρησιμοποιούνται

  • Θα σας επιτρέψει επίσης να βρείτε μερικές γρήγορες λανθασμένες ρυθμίσεις, καθώς μπορείτε να εκτελέσετε τις περισσότερες από αυτές τις δοκιμές με αυτοματοποιημένα εργαλεία

  • Απαρίθμηση Υπηρεσιών

  • Πιθανότατα δεν θα βρείτε πολλές περισσότερες λανθασμένες ρυθμίσεις εδώ αν εκτελέσετε σωστά τους έλεγχους αναφοράς, αλλά μπορείτε να βρείτε κάποιες που δεν αναζητούνταν στον έλεγχο αναφοράς.

  • Αυτό θα σας επιτρέψει να γνωρίζετε τι χρησιμοποιείται ακριβώς στο περιβάλλον του νέφους

  • Αυτό θα βοηθήσει πολύ στα επόμενα βήματα

  • Έλεγχος αποκαλυμμένων πόρων

  • Αυτό μπορεί να γίνει κατά τη διάρκεια της προηγούμενης ενότητας, πρέπει να ανακαλύψετε τα πάντα που είναι πιθανώς αποκαλυμμένα στο Διαδίκτυο κάπως και πώς μπορεί να γίνει πρόσβαση σε αυτά.

  • Εδώ αναφέρομαι σε χειροκίνητα αποκαλυμμένες υποδομές όπως περιπτώσεις με ιστοσελίδες ή άλλες θύρες που είναι αποκαλυμμένες, καθώς και σε άλλες υπηρεσίες που διαχειρίζονται το νέφος που μπορούν να ρυθμιστούν να είναι αποκαλυμμένες (όπως ΒΔ ή κάδοι)

  • Στη συνέχεια, θα πρέπει να ελέγξετε αν αυτός ο πόρος μπορεί να αποκαλυφθεί ή όχι (εμπιστευτικές πληροφορίες; ευπάθειες; λανθασμένες ρυθμίσεις στην αποκαλυμμένη υπηρεσία;)

  • Έλεγχος Δικαιωμάτων

  • Εδώ θα πρέπει να ανακαλύψετε όλα τα δικαιώματα κάθε ρόλου/χρήστη μέσα στο νέφος και πώς χρησιμοποιούνται

  • Πάρα πολλοί χρήστες με υψηλά προνόμια (έλεγχος τα πάντα); Δημιουργημένα κλειδιά που δεν χρησιμοποιούνται;... Οι περισσότεροι από αυτούς τους ελέγχους θα έπρεπε να έχουν γίνει ήδη κατά τη διάρκεια των ελέγχων αναφοράς

  • Αν ο πελάτης χρησιμοποιεί OpenID ή SAML ή άλλη συνομοσπονδία, μπορεί να χρειαστεί να τους ζητήσετε περαιτέρω πληροφορίες για το πώς γίνεται η ανάθεση κάθε ρόλου (δεν είναι το ίδιο αν ο ρόλος του διαχειριστή ανατίθεται σε 1 χρήστη ή σε 100)

  • Δεν είναι αρκετό να βρείτε ποιοι χρήστες έχουν δικαιώματα διαχειριστή με "*:*". Υπάρχουν πολλά άλλα δικαιώματα που, ανάλογα με τις χρησιμοποιούμενες υπηρεσίες, μπορεί να είναι πολύ ευαίσθητα.

  • Επιπλέον, υπάρχουν δυνητικοί τρόποι ανέλιξης προνομίων που μπορούν να ακολουθηθούν κατά την κατάχρηση δικαιωμάτω

# 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

Μεθοδολογία Πεντεστινγκ Σύννεφου GCP

Η μεθοδολογία πεντεστινγκ στο GCP ακολουθεί τα εξής βήματα:

  1. Συλλογή πληροφοριών: Αρχικά, συλλέγουμε πληροφορίες για τον στόχο μας, όπως διευθύνσεις IP, ονόματα χρηστών, δημόσια δεδομένα και πληροφορίες για τις υπηρεσίες που χρησιμοποιεί το GCP.

  2. Ανάλυση ευπάθειας: Στο επόμενο βήμα, αναλύουμε τις ευπάθειες που μπορεί να υπάρχουν στο GCP, όπως αδύναμες συνθηκολογήσεις, ευπάθειες στον έλεγχο πρόσβασης και αδυναμίες στην ασφάλεια των δεδομένων.

  3. Εκμετάλλευση ευπάθειας: Αφού εντοπίσουμε μια ευπάθεια, προχωρούμε στην εκμετάλλευσή της για να αποκτήσουμε πρόσβαση στο σύστημα ή τις υπηρεσίες του GCP.

  4. Κατακρυφή: Στο επόμενο βήμα, προσπαθούμε να κατακρύψουμε την παρουσία μας και τις δραστηριότητές μας στο GCP, ώστε να μην ανιχνευθούμε από τους διαχειριστές του συστήματος.

  5. Καταγραφή: Καταγράφουμε όλες τις ενέργειες που πραγματοποιούμε στο GCP, προκειμένου να έχουμε ένα ακριβές ιστορικό των δραστηριοτήτων μας.

  6. Ανάκτηση: Το τελευταίο βήμα είναι η ανάκτηση του συστήματος στην αρχική του κατάσταση και η επαναφορά όλων των αλλαγών που πραγματοποιήθηκαν κατά τη διάρκεια του πεντεστινγκ.

Αυτή η μεθοδολογία πεντεστινγκ στο GCP μας βοηθά να εντοπίσουμε ευπάθειες και να βελτιώσουμε την ασφάλεια του συστήματος.

export GOOGLE_DISCOVERY=$(echo 'google:
- file_path: ""

- file_path: ""
service_account_id: "some-sa-email@sidentifier.iam.gserviceaccount.com"' | base64)

python3 main.py -a -p google #Get basic info of the account to check it's correctly configured
python3 main.py -e -p google #Enumerate the env

Υποστηρίζει AWS, GCP & Azure. Ελέγξτε πώς να ρυθμίσετε κάθε πάροχο στο 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

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

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 (https://steampipe.io/downloads). Ή χρησιμοποιήστε το Brew:

brew tap turbot/tap
brew install steampipe

AWS, GCP, Azure, DigitalOcean. Απαιτείται python2.7 και φαίνεται να μην υποστηρίζεται πλέον.

Nessus

Το Nessus έχει έναν έλεγχο Ελέγχου της Υποδομής του Νέφους που υποστηρίζει: AWS, Azure, Office 365, Rackspace, Salesforce. Χρειάζονται μερικές επιπλέον ρυθμίσεις στο Azure για να λάβετε ένα Αναγνωριστικό Πελάτη.

Το Cloudlist είναι ένα εργαλείο πολλαπλών νεφών για την ανάκτηση Πόρων (Ονομάτων Υπολογιστών, Διευθύνσεων IP) από Παρόχους Νέφους.

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
## For GCP it requires service account JSON credentials
cloudlist -config </path/to/config>

Το Cartography είναι ένα εργαλείο Python που συγκεντρώνει τα υποδομήματα της υποδομής και τις σχέσεις μεταξύ τους σε μια ευανάγνωστη γραφική προβολή που τροφοδοτείται από μια βάση δεδομένων Neo4j.

# 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 συλλέγει περιουσιακά στοιχεία και σχέσεις από υπηρεσίες και συστήματα, συμπεριλαμβανομένης της υποδομής στον νέφος, των εφαρμογών SaaS, των ελέγχων ασφαλείας και πολλών άλλων, σε μια ευανάγνωστη γραφική προβολή που υποστηρίζεται από τη βάση δεδομένων Neo4j.

# 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

Ανακαλύψτε τους πιο προνομιούχους χρήστες στο σαρώθηκε περιβάλλον AWS ή Azure, συμπεριλαμβανομένων των AWS Shadow Admins. Χρησιμοποιεί το 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 (Amazon, Google, Microsoft, DigitalOcean, Alibaba, Vultr, Linode).

  • Το CloudFox είναι ένα εργαλείο για την εύρεση ευπαθών διαδρομών επίθεσης στην υποδομή cloud (αυτή τη στιγμή υποστηρίζονται μόνο AWS και Azure με την υποστήριξη του GCP στο μέλλον).

  • Είναι ένα εργαλείο απαρίθμησης που προορίζεται να συμπληρώνει το χειροκίνητο pentesting.

  • Δεν δημιουργεί ή τροποποιεί δεδομένα εντός του περιβάλλοντος cloud.

Περισσότερες λίστες εργαλείων ασφάλειας cloud

Google

GCP

pageGCP Pentesting

Workspace

pageGWS - Workspace Pentesting

AWS

pageAWS Pentesting

Azure

pageAzure Pentesting

Attack Graph

Stormspotter δημιουργεί ένα "διάγραμμα επίθεσης" των πόρων σε μια συνδρομή Azure. Επιτρέπει σε κόκκινες ομάδες και pentesters να οπτικοποιήσουν την επιφάνεια επίθεσης και τις ευκαιρίες περιστροφής εντός ενός ενοικιαζόμενου, και ενισχύει τους υπερασπιστές σας για να προσανατολιστούν γρήγορα και να δώσουν προτεραιότητα στο έργο ανταπόκρισης σε περιστατικά.

Office365

Χρειάζεστε Global Admin ή τουλάχιστον Global Admin Reader (αλλά σημειώστε ότι οι περιορισμοί αυτοί εμφανίζονται σε ορισμένα PS modules και μπορούν να παρακαμφθούν έχοντας πρόσβαση στα χαρακτηριστικά μέσω της web εφαρμογής.

Μάθετε το hacking του AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)!

Άλλοι τρόποι υποστήριξης του HackTricks:

Last updated