Pentesting Cloud Methodology

AWS हैकिंग सीखें शून्य से लेकर हीरो तक htARTE (HackTricks AWS Red Team Expert) के साथ!

HackTricks का समर्थन करने के अन्य तरीके:

मूल मेथोडोलॉजी

प्रत्येक क्लाउड की अपनी विशेषताएं होती हैं लेकिन सामान्यतः कुछ सामान्य चीजें हैं जिन्हें एक पेंटेस्टर को चेक करना चाहिए जब वे क्लाउड वातावरण का परीक्षण कर रहे होते हैं:

  • बेंचमार्क चेक्स

  • यह आपको वातावरण के आकार को समझने में मदद करेगा और सेवाओं का उपयोग किया गया है

  • यह आपको कुछ त्वरित मिसकॉन्फिगरेशन्स भी ढूंढने में मदद करेगा क्योंकि आप इन परीक्षणों को ऑटोमेटेड टूल्स के साथ कर सकते हैं

  • सेवाओं का एन्युमरेशन

  • यदि आपने बेंचमार्क परीक्षण सही ढंग से किया है तो आपको यहां शायद अधिक मिसकॉन्फिगरेशन्स नहीं मिलेंगे, लेकिन आपको कुछ ऐसे मिल सकते हैं जिनकी बेंचमार्क परीक्षण में तलाश नहीं की गई थी।

  • यह आपको जानने में मदद करेगा कि क्लाउड वातावरण में वास्तव में क्या उपयोग किया जा रहा है

  • यह अगले चरणों में बहुत मदद करेगा

  • एक्सपोज्ड एसेट्स की जांच करें

  • यह पिछले भाग के दौरान किया जा सकता है, आपको सब कुछ ढूंढना होगा जो किसी तरह से इंटरनेट के लिए संभावित रूप से एक्सपोज्ड है और इसे कैसे एक्सेस किया जा सकता है।

  • यहां मैं मैन्युअली एक्सपोज्ड इंफ्रास्ट्रक्चर की बात कर रहा हूं जैसे कि वेब पेजेस या अन्य पोर्ट्स के साथ इंस्टेंसेस, और यह भी कि अन्य क्लाउड मैनेज्ड सेवाएं जिन्हें कॉन्फिगर किया जा सकता है एक्सपोज्ड होने के लिए (जैसे कि DBs या बकेट्स)

  • फिर आपको जांचना चाहिए कि क्या वह संसाधन एक्सपोज्ड हो सकता है या नहीं (गोपनीय जानकारी? भेद्यताएं? एक्सपोज्ड सेवा में मिसकॉन्फिगरेशन्स?)

  • अनुमतियों की जांच करें

  • यहां आपको क्लाउड के अंदर प्रत्येक भूमिका/उपयोगकर्ता की सभी अनुमतियों का पता लगाना चाहिए और वे कैसे उपयोग की जा रही हैं

  • बहुत अधिक उच्च विशेषाधिकार (सब कुछ नियंत्रित करें) वाले खाते? उपयोग में नहीं आए उत्पन्न कीज़?... इनमें से अधिकांश जांच बेंचमार्क परीक्षणों में पहले ही की जा चुकी होनी चाहिए

  • यदि ग्राहक OpenID या SAML या अन्य फेडरेशन का उपयोग कर रहा है तो आपको उनसे आगे की जानकारी के लिए पूछना पड़ सकता है कि कैसे प्रत्येक भूमिका सौंपी जा रही है (यह वही नहीं है कि एडमिन भूमिका 1 उपयोगकर्ता को सौंपी गई है या 100 को)

  • यह पर्याप्त नहीं है कि पता लगाया जाए कि किन उपयोगकर्ताओं के पास एडमिन अनुमतियां "*:*" हैं। बहुत सारी अन्य अनुमतियां हैं जो सेवाओं के उपयोग के आधार पर बहुत संवेदनशील हो सकती हैं।

  • इसके अलावा, प्रिवेस्क के संभावित तरीके हैं जिनका दुरुपयोग करके अनुमतियों का लाभ उठाया जा सकता है। इन सभी चीजों को ध्यान में रखा जाना चाहिए और जितने संभव हो सके प्रिवेस्क पथों की रिपोर्ट की जानी चाहिए।

  • इंटीग्रेशन्स की जांच करें

  • यह बहुत संभावना है कि अन्य क्लाउड्स या SaaS के साथ इंटीग्रेशन्स का उपयोग क्लाउड वातावरण के अंदर किया जा रहा है।

  • जिन क्लाउड्स का आप ऑडिट कर रहे हैं उनके अन्य प्लेटफॉर्म के साथ इंटीग्रेशन्स के लिए आपको यह नोटिफाई करना चाहिए कि किसके पास उस इंटीग्रेशन का (दुरुपयोग) उपयोग करने की पहुंच है और आपको पूछना चाहिए कि कितनी संवेदनशील है वह क्रिया जो की जा रही है। उदाहरण के लिए, कौन AWS बकेट में लिख सकता है जहां GCP से डेटा प्राप्त किया जा रहा है (GCP में उस डेटा को ट्रीट करने वाली क्रिया की संवेदनशीलता के बारे में पूछें)।

  • जिन क्लाउड्स का आप ऑडिट कर रहे हैं उनके अंदर से बाहरी प्लेटफॉर्म्स के इंटीग्रेशन्स के लिए, आपको पूछना चाहिए कि बाहरी रूप से किसके पास उस इंटीग्रेशन का (दुरुपयोग) उपयोग करने की पहुंच है और जांच करनी चाहिए कि उस डेटा का उपयोग कैसे किया जा रहा है। उदाहरण के लिए, यदि कोई सेवा GCR में होस्ट की गई Docker इमेज का उपयोग कर रही है, तो आपको पूछना चाहिए कि उसे कौन मॉडिफाई कर सकता है और जब वह इमेज AWS क्लाउड के अंदर निष्पादित की जाती है तो कौन सी संवेदनशील जानकारी और पहुंच मिलेगी।

मल्टी-क्लाउड टूल्स

विभिन्न क्लाउड वातावरणों का परीक्षण करने के लिए कई टूल्स उपयोग किए जा सकते हैं। इंस्टॉलेशन के चरण और लिंक्स इस खंड में इंगित किए जाएंगे।

एक टूल जो **क्लाउड्स और क्लाउड्स/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
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

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

यह एक उपकरण है जो एक कंपनी (लक्ष्य) के इंफ्रास्ट्रक्चर, फाइलों, और ऐप्स को शीर्ष क्लाउड प्रदाताओं (Amazon, Google, Microsoft, DigitalOcean, Alibaba, Vultr, Linode) पर खोजने के लिए है।

  • CloudFox एक उपकरण है जो क्लाउड इंफ्रास्ट्रक्चर में शोषण योग्य हमले के मार्गों को खोजता है (वर्तमान में केवल AWS & Azure का समर्थन किया गया है और GCP आने वाला है)।

  • यह एक गणना उपकरण है जिसका उद्देश्य मैनुअल पेंटेस्टिंग की पूरकता करना है।

  • यह क्लाउड वातावरण के भीतर कोई भी डेटा नहीं बनाता या संशोधित नहीं करता है।

क्लाउड सुरक्षा उपकरणों की और सूचियाँ

Google

GCP

pageGCP Pentesting

Workspace

pageGWS - Workspace Pentesting

AWS

pageAWS Pentesting

Azure

pageAzure Pentesting

हमले का ग्राफ

Stormspotter एक Azure सब्सक्रिप्शन में संसाधनों का "हमले का ग्राफ" बनाता है। यह लाल टीमों और पेंटेस्टर्स को एक टेनेंट के भीतर हमले की सतह और पिवट अवसरों को दृश्यमान करने में सक्षम बनाता है, और आपके रक्षकों को घटना प्रतिक्रिया कार्य को जल्दी से ओरिएंट और प्राथमिकता देने के लिए सुपरचार्ज करता है।

Office365

आपको Global Admin या कम से कम Global Admin Reader की आवश्यकता है (लेकिन ध्यान दें कि Global Admin Reader थोड़ा सीमित है)। हालांकि, ये सीमाएं कुछ PS मॉड्यूल में दिखाई देती हैं और वेब एप्लिकेशन के माध्यम से सुविधाओं तक पहुँचकर बाईपास की जा सकती हैं।

htARTE (HackTricks AWS Red Team Expert) के साथ AWS हैकिंग सीखें शून्य से नायक तक htARTE (HackTricks AWS Red Team Expert)!

HackTricks का समर्थन करने के अन्य तरीके:

Last updated