Pentesting Cloud Methodology

Reading time: 14 minutes

tip

AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE) Azure हैकिंग सीखें और अभ्यास करें: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks का समर्थन करें

Basic Methodology

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

  • बेंचमार्क जांच
  • यह आपको पर्यावरण का आकार समझने में मदद करेगा और सेवाओं का उपयोग
  • यह आपको कुछ त्वरित गलत कॉन्फ़िगरेशन खोजने की अनुमति देगा क्योंकि आप इनमें से अधिकांश परीक्षण स्वचालित उपकरणों के साथ कर सकते हैं
  • सेवाओं की गणना
  • यदि आपने बेंचमार्क परीक्षण सही ढंग से किया है तो आप यहाँ अधिक गलत कॉन्फ़िगरेशन नहीं पाएंगे, लेकिन आप कुछ ऐसा पा सकते हैं जो बेंचमार्क परीक्षण में नहीं देखा गया था।
  • यह आपको यह जानने की अनुमति देगा कि क्लाउड env में वास्तव में क्या उपयोग किया जा रहा है
  • यह अगले चरणों में बहुत मदद करेगा
  • खुले संसाधनों की जांच करें
  • यह पिछले अनुभाग के दौरान किया जा सकता है, आपको यह पता लगाना होगा कि क्या कुछ भी संभावित रूप से इंटरनेट पर खुला है और इसे कैसे एक्सेस किया जा सकता है।
  • यहाँ मैं हाथ से खोली गई अवसंरचना जैसे वेब पृष्ठों के साथ उदाहरण या अन्य पोर्ट्स के बारे में बात कर रहा हूँ, और अन्य क्लाउड प्रबंधित सेवाओं के बारे में जो खोली जा सकती हैं (जैसे DBs या बकेट्स)
  • फिर आपको यह जांचना चाहिए कि क्या उस संसाधन को खोला जा सकता है या नहीं (गोपनीय जानकारी? कमजोरियाँ? खोली गई सेवा में गलत कॉन्फ़िगरेशन?)
  • अनुमतियों की जांच करें
  • यहाँ आपको क्लाउड के अंदर प्रत्येक भूमिका/उपयोगकर्ता की सभी अनुमतियों का पता लगाना चाहिए और उनका उपयोग कैसे किया जा रहा है
  • बहुत अधिक उच्च विशेषाधिकार (सब कुछ नियंत्रित करें) खाते? उत्पन्न कुंजी का उपयोग नहीं किया गया?... इनमें से अधिकांश जांच पहले से ही बेंचमार्क परीक्षण में की जानी चाहिए थी
  • यदि ग्राहक OpenID या SAML या अन्य संघ का उपयोग कर रहा है तो आपको उनसे आगे की जानकारी पूछनी पड़ सकती है कि प्रत्येक भूमिका कैसे सौंपा जा रहा है (यह समान नहीं है कि व्यवस्थापक भूमिका 1 उपयोगकर्ता को या 100 को सौंपा गया है)
  • यह खोजना पर्याप्त नहीं है कि कौन से उपयोगकर्ताओं के पास व्यवस्थापक अनुमतियाँ "*:*" हैं। बहुत सारी अन्य अनुमतियाँ हैं जो उपयोग की गई सेवाओं के आधार पर बहुत संवेदनशील हो सकती हैं।
  • इसके अलावा, अनुमतियों का दुरुपयोग करते हुए संभावित privesc तरीके हैं। इन सभी बातों को ध्यान में रखा जाना चाहिए और जितने संभव हो privesc पथों की रिपोर्ट की जानी चाहिए।
  • एकीकरण की जांच करें
  • यह अत्यधिक संभावना है कि अन्य क्लाउड या SaaS के साथ एकीकरण क्लाउड env के अंदर उपयोग किया जा रहा है।
  • आप जिस क्लाउड का ऑडिट कर रहे हैं उसके एकीकरण के लिए आपको सूचित करना चाहिए किसके पास उस एकीकरण का (दुरुपयोग) करने का अधिकार है और आपको पूछना चाहिए कितना संवेदनशील है किया जा रहा कार्य।
    उदाहरण के लिए, कौन AWS बकेट में लिख सकता है जहाँ GCP डेटा प्राप्त कर रहा है (पूछें कि GCP में उस डेटा को संभालने में कार्य कितना संवेदनशील है)।
  • आप जिस क्लाउड का ऑडिट कर रहे हैं उसके अंदर बाहरी प्लेटफार्मों से एकीकरण के लिए, आपको पूछना चाहिए किसके पास बाहरी रूप से उस एकीकरण का (दुरुपयोग) करने का अधिकार है और यह जांचें कि उस डेटा का उपयोग कैसे किया जा रहा है।
    उदाहरण के लिए, यदि एक सेवा GCR में होस्ट की गई Docker छवि का उपयोग कर रही है, तो आपको पूछना चाहिए कि इसे संशोधित करने का अधिकार किसके पास है और उस छवि को AWS क्लाउड के अंदर निष्पादित करने पर कौन सी संवेदनशील जानकारी और पहुंच प्राप्त होगी।

Multi-Cloud tools

कई उपकरण हैं जो विभिन्न क्लाउड वातावरण का परीक्षण करने के लिए उपयोग किए जा सकते हैं। स्थापना के चरण और लिंक इस अनुभाग में बताए जाएंगे।

PurplePanda

एक उपकरण जो क्लाउड और क्लाउड/SaaS में खराब कॉन्फ़िगरेशन और privesc पथों की पहचान करने के लिए है।

bash
# 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

यह AWS, GCP & Azure का समर्थन करता है। प्रत्येक प्रदाता को कॉन्फ़िगर करने के लिए देखें https://docs.prowler.cloud/en/latest/#aws

bash
# 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

bash
# 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

bash
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

Steampipe डाउनलोड और इंस्टॉल करें (https://steampipe.io/downloads). या Brew का उपयोग करें:

brew tap turbot/tap
brew install steampipe

cs-suite

AWS, GCP, Azure, DigitalOcean.
यह python2.7 की आवश्यकता है और यह अप्रबंधित लगता है।

Nessus

Nessus में Audit Cloud Infrastructure स्कैन है जो समर्थन करता है: AWS, Azure, Office 365, Rackspace, Salesforce। Client Id प्राप्त करने के लिए Azure में कुछ अतिरिक्त कॉन्फ़िगरेशन की आवश्यकता है।

cloudlist

Cloudlist एक multi-cloud tool for getting Assets (Hostnames, IP Addresses) है जो Cloud Providers से प्राप्त करता है।

bash
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 एक Python उपकरण है जो बुनियादी ढांचे के संपत्तियों और उनके बीच के संबंधों को एक सहज ग्राफ दृश्य में समेकित करता है, जो Neo4j डेटाबेस द्वारा संचालित होता है।

bash
# 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 सेवाओं और प्रणालियों से संपत्तियों और संबंधों को एकत्र करता है, जिसमें क्लाउड अवसंरचना, SaaS अनुप्रयोग, सुरक्षा नियंत्रण, और अधिक शामिल हैं, जो Neo4j डेटाबेस द्वारा समर्थित एक सहज ग्राफ दृश्य में प्रस्तुत किया जाता है।

bash
# 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

स्कैन किए गए AWS या Azure वातावरण में सबसे विशेषाधिकार प्राप्त उपयोगकर्ताओं का पता लगाएं, जिसमें AWS Shadow Admins शामिल हैं। यह powershell का उपयोग करता है।

bash
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

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

CloudFox

  • CloudFox एक उपकरण है जो क्लाउड अवसंरचना में exploitable हमले के रास्तों को खोजने के लिए है (वर्तमान में केवल AWS और Azure का समर्थन किया गया है, GCP आने वाला है)।
  • यह एक enumeration उपकरण है जिसे मैनुअल pentesting के पूरक के रूप में डिज़ाइन किया गया है।
  • यह क्लाउड वातावरण के भीतर कोई डेटा नहीं बनाता या संशोधित नहीं करता है।

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

Google

GCP

GCP Pentesting

Workspace

GWS - Workspace Pentesting

AWS

AWS Pentesting

Azure

Azure Pentesting

Attack Graph

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

Office365

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

tip

AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE) Azure हैकिंग सीखें और अभ्यास करें: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks का समर्थन करें