प्रत्येक क्लाउड की अपनी विशेषताएं होती हैं लेकिन सामान्यतः कुछ सामान्य चीजें हैं जिन्हें एक पेंटेस्टर को चेक करना चाहिए जब वे क्लाउड वातावरण का परीक्षण कर रहे होते हैं:
बेंचमार्क चेक्स
यह आपको वातावरण के आकार को समझने में मदद करेगा और सेवाओं का उपयोग किया गया है
यह आपको कुछ त्वरित मिसकॉन्फिगरेशन्स भी ढूंढने में मदद करेगा क्योंकि आप इन परीक्षणों को ऑटोमेटेड टूल्स के साथ कर सकते हैं
सेवाओं का एन्युमरेशन
यदि आपने बेंचमार्क परीक्षण सही ढंग से किया है तो आपको यहां शायद अधिक मिसकॉन्फिगरेशन्स नहीं मिलेंगे, लेकिन आपको कुछ ऐसे मिल सकते हैं जिनकी बेंचमार्क परीक्षण में तलाश नहीं की गई थी।
यह आपको जानने में मदद करेगा कि क्लाउड वातावरण में वास्तव में क्या उपयोग किया जा रहा है
यह अगले चरणों में बहुत मदद करेगा
एक्सपोज्ड एसेट्स की जांच करें
यह पिछले भाग के दौरान किया जा सकता है, आपको सब कुछ ढूंढना होगा जो किसी तरह से इंटरनेट के लिए संभावित रूप से एक्सपोज्ड है और इसे कैसे एक्सेस किया जा सकता है।
यहां मैं मैन्युअली एक्सपोज्ड इंफ्रास्ट्रक्चर की बात कर रहा हूं जैसे कि वेब पेजेस या अन्य पोर्ट्स के साथ इंस्टेंसेस, और यह भी कि अन्य क्लाउड मैनेज्ड सेवाएं जिन्हें कॉन्फिगर किया जा सकता है एक्सपोज्ड होने के लिए (जैसे कि DBs या बकेट्स)
फिर आपको जांचना चाहिए कि क्या वह संसाधन एक्सपोज्ड हो सकता है या नहीं (गोपनीय जानकारी? भेद्यताएं? एक्सपोज्ड सेवा में मिसकॉन्फिगरेशन्स?)
अनुमतियों की जांच करें
यहां आपको क्लाउड के अंदर प्रत्येक भूमिका/उपयोगकर्ता की सभी अनुमतियों का पता लगाना चाहिए और वे कैसे उपयोग की जा रही हैं
बहुत अधिक उच्च विशेषाधिकार (सब कुछ नियंत्रित करें) वाले खाते? उपयोग में नहीं आए उत्पन्न कीज़?... इनमें से अधिकांश जांच बेंचमार्क परीक्षणों में पहले ही की जा चुकी होनी चाहिए
यदि ग्राहक OpenID या SAML या अन्य फेडरेशन का उपयोग कर रहा है तो आपको उनसे आगे की जानकारी के लिए पूछना पड़ सकता है कि कैसे प्रत्येक भूमिका सौंपी जा रही है (यह वही नहीं है कि एडमिन भूमिका 1 उपयोगकर्ता को सौंपी गई है या 100 को)
यह पर्याप्त नहीं है कि पता लगाया जाए कि किन उपयोगकर्ताओं के पास एडमिन अनुमतियां "*:*" हैं। बहुत सारी अन्य अनुमतियां हैं जो सेवाओं के उपयोग के आधार पर बहुत संवेदनशील हो सकती हैं।
इसके अलावा, प्रिवेस्क के संभावित तरीके हैं जिनका दुरुपयोग करके अनुमतियों का लाभ उठाया जा सकता है। इन सभी चीजों को ध्यान में रखा जाना चाहिए और जितने संभव हो सके प्रिवेस्क पथों की रिपोर्ट की जानी चाहिए।
इंटीग्रेशन्स की जांच करें
यह बहुत संभावना है कि अन्य क्लाउड्स या SaaS के साथ इंटीग्रेशन्स का उपयोग क्लाउड वातावरण के अंदर किया जा रहा है।
जिन क्लाउड्स का आप ऑडिट कर रहे हैं उनके अन्य प्लेटफॉर्म के साथ इंटीग्रेशन्स के लिए आपको यह नोटिफाई करना चाहिए कि किसके पास उस इंटीग्रेशन का (दुरुपयोग) उपयोग करने की पहुंच है और आपको पूछना चाहिए कि कितनी संवेदनशील है वह क्रिया जो की जा रही है।
उदाहरण के लिए, कौन AWS बकेट में लिख सकता है जहां GCP से डेटा प्राप्त किया जा रहा है (GCP में उस डेटा को ट्रीट करने वाली क्रिया की संवेदनशीलता के बारे में पूछें)।
जिन क्लाउड्स का आप ऑडिट कर रहे हैं उनके अंदर से बाहरी प्लेटफॉर्म्स के इंटीग्रेशन्स के लिए, आपको पूछना चाहिए कि बाहरी रूप से किसके पास उस इंटीग्रेशन का (दुरुपयोग) उपयोग करने की पहुंच है और जांच करनी चाहिए कि उस डेटा का उपयोग कैसे किया जा रहा है।
उदाहरण के लिए, यदि कोई सेवा GCR में होस्ट की गई Docker इमेज का उपयोग कर रही है, तो आपको पूछना चाहिए कि उसे कौन मॉडिफाई कर सकता है और जब वह इमेज AWS क्लाउड के अंदर निष्पादित की जाती है तो कौन सी संवेदनशील जानकारी और पहुंच मिलेगी।
मल्टी-क्लाउड टूल्स
विभिन्न क्लाउड वातावरणों का परीक्षण करने के लिए कई टूल्स उपयोग किए जा सकते हैं। इंस्टॉलेशन के चरण और लिंक्स इस खंड में इंगित किए जाएंगे।
एक टूल जो **क्लाउड्स और क्लाउड्स/SaaS के बीच खराब क
# You need to install and run neo4j alsogitclonehttps://github.com/carlospolop/PurplePandacdPurplePandapython3-mvenv.sourcebin/activatepython3-mpipinstall-rrequirements.txtexport PURPLEPANDA_NEO4J_URL="bolt://neo4j@localhost:7687"export PURPLEPANDA_PWD="neo4j_pwd_4_purplepanda"python3main.py-h# Get help
export GOOGLE_DISCOVERY=$(echo'google:- file_path: ""- file_path: ""service_account_id: "some-sa-email@sidentifier.iam.gserviceaccount.com"'|base64)python3main.py-a-pgoogle#Get basic info of the account to check it's correctly configuredpython3main.py-e-pgoogle#Enumerate the env
# Installpipinstallprowlerprowler-v# Runprowler<provider># Exampleprowleraws--profilecustom-profile [-M csvjsonjson-asffhtml]# Get info about checks & servicesprowler<provider>--list-checksprowler<provider>--list-services
mkdirscout; cdscoutvirtualenv-ppython3venvsourcevenv/bin/activatepipinstallscoutsuitescout--help## Using Docker: https://github.com/nccgroup/ScoutSuite/wiki/Docker-Image
scoutgcp--report-dir/tmp/gcp--user-account--all-projects## use "--service-account KEY_FILE" instead of "--user-account" to use a service accountSCOUT_FOLDER_REPORT="/tmp"for pid in $(gcloudprojectslist--format="value(projectId)"); doecho"================================================"echo"Checking $pid"mkdir"$SCOUT_FOLDER_REPORT/$pid"scoutgcp--report-dir"$SCOUT_FOLDER_REPORT/$pid"--no-browser--user-account--project-id"$pid"done
# Install gcp pluginsteampipeplugininstallgcp# Use https://github.com/turbot/steampipe-mod-gcp-compliance.gitgitclonehttps://github.com/turbot/steampipe-mod-gcp-compliance.gitcdsteampipe-mod-gcp-compliance# To run all the checks from the dashboardsteampipedashboard# To run all the checks from rhe clisteampipecheckall
सभी प्रोजेक्ट्स की जांच करें
सभी प्रोजेक्ट्स की जांच करने के लिए आपको gcp.spc फाइल जनरेट करनी होगी जिसमें सभी परीक्षण करने वाले प्रोजेक्ट्स का उल्लेख हो। आप निम्नलिखित स्क्रिप्ट से निर्देशों का पालन कर सकते हैं
FILEPATH="/tmp/gcp.spc"rm-rf"$FILEPATH"2>/dev/null# Generate a json like object for each projectfor pid in $(gcloudprojectslist--format="value(projectId)"); doecho"connection \"gcp_$(echo-n $pid |tr "-" "_" )\" {plugin = \"gcp\"project = \"$pid\"}">>"$FILEPATH"done# Generate the aggragator to callecho'connection "gcp_all" {plugin = "gcp"type = "aggregator"connections = ["gcp_*"]}'>>"$FILEPATH"echo"Copy $FILEPATH in ~/.steampipe/config/gcp.spc if it was correctly generated"
Modify the spec indicating in "profile" the profile name to use
nano ~/.steampipe/config/aws.spc
Get some info on how the AWS account is being used
git clone https://github.com/turbot/steampipe-mod-aws-insights.git cd steampipe-mod-aws-insights steampipe dashboard
Get the services exposed to the internet
git clone https://github.com/turbot/steampipe-mod-aws-perimeter.git cd steampipe-mod-aws-perimeter steampipe dashboard
Run the benchmarks
git clone https://github.com/turbot/steampipe-mod-aws-compliance cd steampipe-mod-aws-compliance steampipe dashboard # To see results in browser steampipe check all --export=/tmp/output4.json
Terraform AWS कोड की जांच के लिए: [https://github.com/turbot/steampipe-mod-terraform-aws-compliance](https://github.com/turbot/steampipe-mod-terraform-aws-compliance)
Steampipe के और AWS प्लगइन्स: [https://github.com/orgs/turbot/repositories?q=aws](https://github.com/orgs/turbot/repositories?q=aws)
</div>
</div>
### [~~cs-suite~~](https://github.com/SecurityFTW/cs-suite)
AWS, GCP, Azure, DigitalOcean।\
इसके लिए python2.7 की आवश्यकता है और यह अनदेखी की गई प्रतीत होती है।
### Nessus
Nessus में _**Audit Cloud Infrastructure**_ स्कैन है जो समर्थन करता है: AWS, Azure, Office 365, Rackspace, Salesforce। **Azure** में कुछ अतिरिक्त कॉन्फ़िगरेशन की आवश्यकता होती है ताकि **Client Id** प्राप्त की जा सके।
### [**cloudlist**](https://github.com/projectdiscovery/cloudlist)
Cloudlist एक **मल्टी-क्लाउड टूल है जो एसेट्स** (होस्टनेम्स, IP पते) क्लाउड प्रोवाइडर्स से प्राप्त करता है।
<div data-gb-custom-block data-tag="tabs">
<div data-gb-custom-block data-tag="tab" data-title='Cloudlist'>
```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
Since the content you've asked to translate is not provided, I can't proceed with the translation. Please provide the English text you want to be translated into Hindi, and I'll be happy to help.
## For GCP it requires service account JSON credentialscloudlist-config</path/to/config>
Cartography एक Python उपकरण है जो इंफ्रास्ट्रक्चर संपत्तियों को समेकित करता है और उनके बीच के संबंधों को Neo4j डेटाबेस द्वारा संचालित एक सहज ग्राफ दृश्य में प्रदर्शित करता है।
# Installationdockerimagepullghcr.io/lyft/cartographydockerrun--platformlinux/amd64ghcr.io/lyft/cartographycartography--help## Install a Neo4j DB version 3.5.*
dockerrun--platformlinux/amd64 \--volume "$HOME/.config/gcloud/application_default_credentials.json:/application_default_credentials.json" \-e GOOGLE_APPLICATION_CREDENTIALS="/application_default_credentials.json" \-e NEO4j_PASSWORD="s3cr3t" \ghcr.io/lyft/cartography \--neo4j-uri bolt://host.docker.internal:7687 \--neo4j-password-env-var NEO4j_PASSWORD \--neo4j-user neo4j# It only checks for a few services inside GCP (https://lyft.github.io/cartography/modules/gcp/index.html)## Cloud Resource Manager## Compute## DNS## Storage## Google Kubernetes Engine### If you can run starbase or purplepanda you will get more info
Starbase सेवाओं और प्रणालियों से संपत्तियों और संबंधों को एकत्र करता है, जिसमें क्लाउड इंफ्रास्ट्रक्चर, SaaS अनुप्रयोग, सुरक्षा नियंत्रण, और अधिक शामिल हैं, और इसे Neo4j डेटाबेस द्वारा समर्थित एक सहज ग्राफ दृश्य में प्रस्तुत करता है।
# You are going to need Node version 14, so install nvm following https://tecadmin.net/install-nvm-macos-with-homebrew/npminstall--globalyarnnvminstall14gitclonehttps://github.com/JupiterOne/starbase.gitcdstarbasenvmuse14yarninstallyarnstarbase--help# Configure manually config.yaml depending on the env to analyzeyarnstarbasesetupyarnstarbaserun# Dockergitclonehttps://github.com/JupiterOne/starbase.gitcdstarbasecpconfig.yaml.exampleconfig.yaml# Configure manually config.yaml depending on the env to analyzedockerbuild--no-cache-tstarbase:latest.docker-composerunstarbasesetupdocker-composerunstarbaserun
## Config for GCP### Check out: https://github.com/JupiterOne/graph-google-cloud/blob/main/docs/development.md### It requires service account credentialsintegrations:-name:graph-google-cloudinstanceId:testInstanceIddirectory:./.integrations/graph-google-cloudgitRemoteUrl:https://github.com/JupiterOne/graph-google-cloud.gitconfig:SERVICE_ACCOUNT_KEY_FILE: '{Check https://github.com/JupiterOne/graph-google-cloud/blob/main/docs/development.md#service_account_key_file-string}'
PROJECT_ID:""FOLDER_ID:""ORGANIZATION_ID:""CONFIGURE_ORGANIZATION_PROJECTS:falsestorage:engine:neo4jconfig:username:neo4jpassword:s3cr3turi:bolt://localhost:7687#Consider using host.docker.internal if from docker
स्कैन किए गए AWS या Azure वातावरण में सबसे अधिकार वाले उपयोगकर्ताओं की खोज करें, जिसमें AWS Shadow Admins शामिल हैं। यह powershell का उपयोग करता है।
Import-Module .\SkyArk.ps1 -forceStart-AzureStealth# in the Cloud ConsoleIEX (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 आने वाला है)।
यह एक गणना उपकरण है जिसका उद्देश्य मैनुअल पेंटेस्टिंग की पूरकता करना है।
यह क्लाउड वातावरण के भीतर कोई भी डेटा नहीं बनाता या संशोधित नहीं करता है।
Stormspotterएक Azure सब्सक्रिप्शन में संसाधनों का "हमले का ग्राफ" बनाता है। यह लाल टीमों और पेंटेस्टर्स को एक टेनेंट के भीतर हमले की सतह और पिवट अवसरों को दृश्यमान करने में सक्षम बनाता है, और आपके रक्षकों को घटना प्रतिक्रिया कार्य को जल्दी से ओरिएंट और प्राथमिकता देने के लिए सुपरचार्ज करता है।
Office365
आपको Global Admin या कम से कम Global Admin Reader की आवश्यकता है (लेकिन ध्यान दें कि Global Admin Reader थोड़ा सीमित है)। हालांकि, ये सीमाएं कुछ PS मॉड्यूल में दिखाई देती हैं और वेब एप्लिकेशन के माध्यम से सुविधाओं तक पहुँचकर बाईपास की जा सकती हैं।