Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
metabadger — AWS EC2 पर SSRF हमलों को रोकें, अधिक सुरक्षित Instance Metadata Service v2 (IMDSv2) में स्वचालित अपग्रेड के माध्यम से। | Kitploit
उपकरण/GitHubGitHub/salesforce/metabadger
क्लाउड इन्फ्रास्ट्रक्चर सुरक्षारक्षात्मक उपकरणभेद्यता विश्लेषणकॉन्फ़िगरेशन ऑडिटिंगक्लाउड सुरक्षागलत कॉन्फ़िगरेशनArchived
GitHubsalesforce/metabadger

metabadger

AWS EC2 पर SSRF हमलों को रोकें, अधिक सुरक्षित Instance Metadata Service v2 (IMDSv2) में स्वचालित अपग्रेड के माध्यम से।

रिपॉजिटरी देखें
143121 साल पहलेKitploit द्वारा समीक्षित

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

Metabadger

AWS EC2 पर SSRF हमलों को रोकें, अधिक सुरक्षित Instance Metadata Service v2 (IMDSv2) में स्वचालित अपग्रेड के माध्यम से।

continuous-integration Downloads Twitter

Metabadger

उद्देश्य और कार्यक्षमता

  • AWS Instance Metadata Service के अपने वर्तमान उपयोग का निदान और मूल्यांकन करें, साथ ही यह समझें कि सेवा कैसे काम करती है
  • v1 के हमले के वैक्टरों से बचाव के लिए Instance Metadata Service के v2 में अपग्रेड करने के लिए आपको तैयार करें
  • आपको अपने उदाहरणों को विशेष रूप से केवल IMDSv2 का उपयोग करने के लिए अपडेट करने की क्षमता दें
  • आपको हमले की सतह को कम करने के तरीके के रूप में जहां इसकी आवश्यकता नहीं है, वहां Instance Metadata Service को अक्षम करने की क्षमता दें

AWS Instance Metadata Service क्या है?

  • AWS मेटाडेटा सेवा आपको मूलतः एक इंस्टेंस के भीतर सभी चीजों तक पहुंच प्रदान करती है, जिसमें इंस्टेंस रोल क्रेडेंशियल और सत्र टोकन शामिल है
  • ज्ञात SSRF कमजोरियां जो इस हमले का शोषण करती हैं और इसे आपके वातावरण में एक पिवट के रूप में उपयोग करती हैं
  • प्रसिद्ध हमले जिनके बारे में आपने सुना है, उनमें से कुछ में इंस्टेंस मेटाडेटा सेवा तक पहुंच के साथ एक कमजोर वेब ऐप के माध्यम से पहुंच प्राप्त करने की यह विधि शामिल थी
  • हमलावर मेटाडेटा सेवा से उक्त क्रेडेंशियल ले सकता है और उनका उपयोग उस विशेष इंस्टेंस के बाहर कर सकता है

IMDSv2 और इसे क्यों इस्तेमाल किया जाना चाहिए

  • यह सुनिश्चित करना कि इंस्टेंस हर समय मेटाडेटा सेवा के V2 का उपयोग कर रहे हैं, इसके कॉन्फ़िगरेशन में इसे एक आवश्यकता बनाकर
  • AWS मेटाडेटा API के लिए एक अनिवार्य अनुरोध हेडर के साथ PUT अनुरोध का उपयोग करके सत्र टोकन सक्षम करना, IMDSv1 इसकी जांच नहीं करता है जिससे हमलावरों के लिए सेवा का शोषण करना आसान हो जाता है
  • X-Forwarded-For हेडर IMDSv2 में अनुमत नहीं है, यह सुनिश्चित करता है कि मेटाडेटा सेवा के साथ संचार करने के लिए कोई प्रॉक्सी-आधारित ट्रैफ़िक की अनुमति नहीं है

समस्या कथन

इंजीनियरिंग टीमों के पास AWS में कंप्यूट इंफ्रास्ट्रक्चर की एक विविध श्रेणी हो सकती है जिसे उन्हें मेटाडेटा सेवा का लाभ उठाने वाली कुछ कमजोरियों से बचाने की आवश्यकता होती है। यदि कोई IAM उपयोग किया जाता है या यदि इंस्टेंस को बूट करते समय कुछ उपयोगकर्ता डेटा जानकारी की आवश्यकता हो सकती है, तो इंस्टेंस पर मेटाडेटा सेवा चलना आवश्यक है। आपके इंस्टेंस के हमले की सतह को सीमित करना सेवा द्वारा प्रदान की गई जानकारी को चुराकर आपके वातावरण में पिवट करने की क्षमता को रोकने में महत्वपूर्ण है। अतीत में कई प्रसिद्ध हमलों ने इंस्टेंस से जुड़ी भूमिका का शोषण करने या मेटाडेटा सेवा के माध्यम से सुलभ संवेदनशील डेटा को डंप करने के लिए इस विशेष सेवा का लाभ उठाया है। Metabadger यह पहचानने में मदद कर सकता है कि आप इंस्टेंस मेटाडेटा सेवा का उपयोग कहां और कैसे कर रहे हैं, साथ ही आपको EC2 में संचालन करते समय अपने समग्र जोखिम को कम करने के लिए किसी भी अवांछित हमले का लाभ कम करने की क्षमता प्रदान करता है।

अस्वीकरण और रोलबैक

इस टूल का उपयोग आपके AWS कंप्यूट इंफ्रास्ट्रक्चर को प्रभावित कर सकता है क्योंकि सभी सेवाएं और एप्लिकेशन मेटाडेटा सेवा के बिना या संस्करण 2 पर काम नहीं कर सकते हैं। इसे अपने उत्पादन वातावरण में तैनात करते समय सावधानी बरतें और यदि कुछ सामान्य से अलग लगता है तो एक रोलबैक योजना तैयार रखें। Metabadger में -v1 फ्लैग का उपयोग करके सेवा के डिफ़ॉल्ट संस्करण 1 पर वापस जाने की क्षमता अंतर्निहित है, आप इसका उपयोग अपने इंस्टेंस को डिफ़ॉल्ट पर जल्दी से वापस लाने के लिए कर सकते हैं। आदर्श रूप से, आपको इस टूल को चलाना चाहिए और अपने मेटाडेटा संस्करण को गैर-उत्पादन वातावरण में एक परीक्षण स्थल के रूप में अपडेट करना चाहिए, इससे पहले कि इसे लागू करें।

कठोरता के लिए निर्देशित चरण

चरण 1

प्रारंभ में, हम किसी विशेष AWS क्षेत्र में मेटाडेटा सेवा के अपने समग्र उपयोग की खोज करना चाहते हैं। Metabadger आपके /.aws/credentials फ़ाइल में आपके क्रेडेंशियल जिस क्षेत्र की ओर इशारा करते हैं या वर्तमान भूमिका जो मान ली गई है, उस क्षेत्र में आपके उपयोग की वर्तमान स्थिति का मूल्यांकन करेगा। यदि आप वर्तमान में कॉन्फ़िगर किए गए क्षेत्र से भिन्न क्षेत्र में बदलना चाहते हैं, तो आप discover-metadata कमांड चलाते समय --region फ्लैग भी निर्दिष्ट कर सकते हैं। एक बार जब आपको इस बात का अच्छा अंदाजा हो जाता है कि आपके इंस्टेंस किस संस्करण पर चल रहे हैं और सेवा सक्षम या अक्षम है या नहीं, तो आप सेवा को कठोर बनाने के लिए अधिक परिभाषित कार्य योजना बनाने में सक्षम होंगे। ध्यान दें कि आप प्रत्येक मेटाडेटा विकल्प का विशिष्ट अर्थ यहां पा सकते हैं।

चरण 2

सेवा के v2 में स्विच करने का निर्णय लेते समय मूल्यांकन किए जाने वाले क्षेत्रों में से एक IAM भूमिकाओं का उपयोग है। Metabadger आपको एक क्षेत्र में उन इंस्टेंस की पहचान करने देता है जो पहले से ही IAM भूमिका का उपयोग कर रहे हों। discover-role-usage कमांड उन इंस्टेंस की एक सूची आउटपुट करेगा जिनके साथ भूमिकाएं संलग्न हैं। यदि आपके पास बहुत सारे इंस्टेंस भूमिकाओं का उपयोग कर रहे हैं, तो आपको सेवा को v2 में अपडेट करते समय सावधानी बरतनी चाहिए ताकि यह सुनिश्चित हो सके कि आपके वर्कलोड की समग्र कार्यक्षमता प्रभावित न हो।

चरण 3

अपनी प्रारंभिक खोज और मूल्यांकन पूरा करने के बाद, अब आप अपने कंप्यूट इंफ्रास्ट्रक्चर को कठोर बनाने के लिए एक चरणबद्ध दृष्टिकोण बना सकते हैं, ताकि या तो मेटाडेटा सेवा के v2 का उपयोग किया जा सके या जहां इसका उपयोग नहीं किया जा सकता है, वहां इसे अक्षम किया जा सके। harden-metadata कमांड आपको डिफ़ॉल्ट रूप से किसी विशेष क्षेत्र में सभी इंस्टेंस को अपडेट करने की अनुमति देता है। आप --tags फ्लैग का उपयोग करके इंस्टेंस टैग भी पास कर सकते हैं या एक इनपुट फ़ाइल जिसमें इंस्टेंस की csv सूची होती है, जिस पर आप एक कॉन्फ़िगरेशन लागू करना चाहते हैं। एक बार जब आप v2 में उचित अपडेट कर लेते हैं और जहां सेवा का उपयोग नहीं किया जाता है, उसे अक्षम कर देते हैं, तो आप चरण 1 में दी गई वस्तुओं का उपयोग करके पुनर्मूल्यांकन कर सकते हैं ताकि यह पुष्टि हो सके कि आपका वातावरण लॉकडाउन है। यदि आपके पास कुछ ऐसे इंस्टेंस हैं जिन्हें आप अपडेट नहीं करना चाहते हैं, तो आप उन्हें --exclusion फ्लैग के माध्यम से टैग या इंस्टेंस आईडी द्वारा बाहर कर सकते हैं।

आवश्यकताएं

Metabadger को निम्नलिखित अनुमति के साथ एक IAM भूमिका या क्रेडेंशियल की आवश्यकता होती है:

ec2:ModifyInstanceAttribute
ec2:DescribeInstances

Instance Metadata Service में परिवर्तन करते समय, आपको सावधान रहना चाहिए और AWS से संस्करण 2 में सुरक्षित रूप से अपग्रेड करने पर अतिरिक्त मार्गदर्शन का पालन करना चाहिए। Metabadger को AWS में आपके कंप्यूट इंफ्रास्ट्रक्चर को और अधिक सुरक्षित करने के लिए इस प्रक्रिया में आपकी सहायता करने के लिए डिज़ाइन किया गया था।

IMDSv2 में अपडेट करने के लिए AWS बेस्ट प्रैक्टिस गाइड

उपयोग और स्थापना

pip के माध्यम से स्थापित करें

root@kitploit:~
pip3 install --user metabadger

Github के माध्यम से स्थापित करें

root@kitploit:~
$ git clone https://github.com/salesforce/metabadger
$ cd metabadger
$ pip install -e .

$ metabadger
Usage: metabadger [OPTIONS] COMMAND [ARGS]...

  Metabadger is an AWS Security Tool used for discovering and hardening the
  Instance Metadata service.

Options:
  --version  Show the version and exit.
  --help     Show this message and exit.

Commands:
  cloudwatch-metrics   Pull CloudWatch Metrics for MetadataNoToken usage
  disable-metadata     Disable the IMDS service on EC2 instances
  discover-metadata    Discover summary of IMDS service usage within EC2
  discover-role-usage  Discover summary of IAM role usage for EC2
  harden-metadata      Harden the AWS instance metadata service from v1 to v2

कमांड

cloudwatch-metrics

AWS CloudWatch में MetadataNoToken मीट्रिक के साथ अपने IMDSv1 के उपयोग के बारे में सीधे जानकारी प्राप्त करें। यह कमांड आपको पिछले एक घंटे के भीतर उन इंस्टेंस को दिखाएगा जो सक्रिय रूप से सेवा के v1 का उपयोग कर रहे हैं। ध्यान दें कि इस कमांड को चलाते समय आपके पास CloudWatch मीट्रिक देखने के लिए IAM अनुमतियां होनी चाहिए।

root@kitploit:~
Options:
  -a, --all-region           Pull CloudWatch metrics across all available
                             regions
  -r, --region TEXT          Specify which AWS region you will perform this
                             command in
  -t, --time-period INTEGER  The CloudWatch time period in seconds used to
                             track the IMDS v1 metric
  -p, --profile TEXT         Specify the AWS IAM profile.
  --help                     Show this message and exit.

discover-metadata

आपके समग्र इंस्टेंस मेटाडेटा सेवा उपयोग का सारांश, जिसमें कौन सा संस्करण और समग्र प्रवर्तन प्रतिशत शामिल है। इन नंबरों का उपयोग करके आप समझ पाएंगे कि आपका मेटाडेटा उपयोग कितना कठोर है और आप v2 बनाम v1 को कहां लागू कर रहे हैं।

root@kitploit:~
Options:
  -a, --all-region    Provide a metadata summary for all available regions in the AWS account
  -j, --json          Get metadata summary in JSON format
  -r, --region TEXT   Specify which AWS region you will perform this command in
  -p, --profile TEXT  Specify the AWS IAM profile.

discover-role-usage

इंस्टेंस और उनके द्वारा उपयोग की जा रही भूमिकाओं का सारांश, यह आपको इस बात का अच्छा अंदाजा देगा कि मेटाडेटा सेवा में अपडेट करते समय आपको कितनी सावधानी बरतनी चाहिए।

root@kitploit:~
Options:
  -p, --profile TEXT  Specify the AWS IAM profile.
  -r, --region TEXT   Specify which AWS region you will perform this command in

harden-metadata

इंस्टेंस को मेटाडेटा v1 या v2 का उपयोग करने के लिए संशोधित करने और ड्राई रन मोड चलाकर यह समझने की क्षमता कि कितने इंस्टेंस संशोधित किए जाएंगे।

root@kitploit:~
Options:
  -a, --all-region       Update IMDS across all regions in your account
  -e, --exclusion        The exclusion flag will apply to everything besides what is specified, tags or instances
  -d, --dry-run          Dry run of hardening metadata changes
  -v1, --v1              Enforces v1 of the metadata service
  -i, --input-file PATH  Path of csv file of instances to harden IMDS for
  -t, --tags TEXT        A comma seperated list of tags to apply the hardening setting to
  -r, --region TEXT      Specify which AWS region you will perform this command in
  -p, --profile TEXT     Specify the AWS IAM profile.

disable-metadata

इस कमांड का उपयोग इंस्टेंस पर मेटाडेटा सेवा को पूरी तरह से अक्षम करने के लिए करें।

root@kitploit:~
Options:
  -e, --exclusion        The exclusion flag will apply to everything besides what is specified, tags or instances
  -d, --dry-run          Dry run of disabling the metadata service
  -i, --input-file PATH  Path of csv file of instances to disable IMDS for
  -t, --tags TEXT        A comma seperated list of tags to apply the hardening setting to
  -r, --region TEXT      Specify which AWS region you will perform this command in
  -p, --profile TEXT     Specify the AWS IAM profile.

लॉगिंग

Metabadger द्वारा किए गए सभी परिवर्तन कार्यशील निर्देशिका में metabadger.log नामक फ़ाइल में सहेजे जाएंगे। फ़ाइल में टूल द्वारा मेटाडेटा सेवा को बदलने पर किए गए प्रत्येक कार्य के लिए निम्नलिखित शामिल होंगे:

  • जब कोई परिवर्तन किया गया था तब का समय और दिनांक स्टैम्प
  • हुआ परिवर्तन (अक्षम, कठोर, या अद्यतन)
  • वह इंस्टेंस ID जहां परिवर्तन किया गया था
  • ड्राई रन जानकारी
  • परिवर्तन सफल हुआ या नहीं इस पर स्थिति
टूल डाउनलोड करें