AWS - EC2, EBS, ELB, SSM, VPC & VPN Enum
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
जानें कि VPC क्या है और इसके घटकों के बारे में:
AWS - VPC & Networking Basic InformationAmazon EC2 का उपयोग वर्चुअल सर्वर शुरू करने के लिए किया जाता है। यह सुरक्षा और नेटवर्किंग की कॉन्फ़िगरेशन और स्टोरेज के प्रबंधन की अनुमति देता है। Amazon EC2 की लचीलापन इसकी क्षमता में स्पष्ट है कि यह संसाधनों को ऊपर और नीचे दोनों की ओर स्केल कर सकता है, प्रभावी रूप से बदलती आवश्यकताओं या लोकप्रियता में वृद्धि के लिए अनुकूलित होता है। यह विशेषता सटीक ट्रैफ़िक भविष्यवाणियों की आवश्यकता को कम करती है।
EC2 में सूचीबद्ध करने के लिए दिलचस्प चीजें:
वर्चुअल मशीनें
SSH कुंजी
उपयोगकर्ता डेटा
मौजूदा EC2/AMIs/स्नैपशॉट्स
नेटवर्किंग
नेटवर्क
उप-नेटवर्क
सार्वजनिक IPs
खुले पोर्ट
AWS के बाहर अन्य नेटवर्क के साथ एकीकृत कनेक्शन
EC2 इंस्टेंस पर चलने वाले अनुप्रयोगों को अनुमतियाँ देने के लिए भूमिकाओं का उपयोग करने के लिए थोड़ी अतिरिक्त कॉन्फ़िगरेशन की आवश्यकता होती है। EC2 इंस्टेंस पर चलने वाला एक अनुप्रयोग AWS से वर्चुअलाइज्ड ऑपरेटिंग सिस्टम द्वारा अमूर्त होता है। इस अतिरिक्त पृथक्करण के कारण, आपको EC2 इंस्टेंस को एक AWS भूमिका और इसके संबंधित अनुमतियों को असाइन करने के लिए एक अतिरिक्त कदम की आवश्यकता होती है और उन्हें इसके अनुप्रयोगों के लिए उपलब्ध कराना होता है।
यह अतिरिक्त कदम एक इंस्टेंस प्रोफ़ाइल का निर्माण है जो इंस्टेंस से जुड़ा होता है। इंस्टेंस प्रोफ़ाइल में भूमिका होती है और यह इंस्टेंस पर चलने वाले अनुप्रयोग को भूमिका के अस्थायी क्रेडेंशियल प्रदान कर सकता है। उन अस्थायी क्रेडेंशियल का उपयोग फिर अनुप्रयोग के API कॉल में संसाधनों तक पहुँचने और केवल उन संसाधनों तक पहुँच को सीमित करने के लिए किया जा सकता है जो भूमिका निर्दिष्ट करती है। ध्यान दें कि एक समय में केवल एक भूमिका को EC2 इंस्टेंस को असाइन किया जा सकता है, और इंस्टेंस पर सभी अनुप्रयोग एक ही भूमिका और अनुमतियों को साझा करते हैं।
AWS EC2 मेटाडेटा एक Amazon Elastic Compute Cloud (EC2) इंस्टेंस के बारे में जानकारी है जो रनटाइम पर इंस्टेंस के लिए उपलब्ध है। इस मेटाडेटा का उपयोग इंस्टेंस के बारे में जानकारी प्रदान करने के लिए किया जाता है, जैसे कि इसका इंस्टेंस ID, वह उपलब्धता क्षेत्र जिसमें यह चल रहा है, इंस्टेंस से संबंधित IAM भूमिका, और इंस्टेंस का होस्टनेम।
अगली पृष्ठ पर आप देख सकते हैं कि EC2 अनुमतियों का दुरुपयोग करके विशेषाधिकार कैसे बढ़ाएं:
AWS - EC2 PrivescAmazon EBS (Elastic Block Store) स्नैपशॉट मूल रूप से AWS EBS वॉल्यूम का स्थिर बैकअप हैं। दूसरे शब्दों में, ये एक EC2 इंस्टेंस से जुड़े डिस्क की कॉपी हैं जो एक विशिष्ट समय पर होती हैं। EBS स्नैपशॉट को क्षेत्रों और खातों के बीच कॉपी किया जा सकता है, या यहां तक कि डाउनलोड किया जा सकता है और स्थानीय रूप से चलाया जा सकता है।
स्नैपशॉट में संवेदनशील जानकारी हो सकती है जैसे स्रोत कोड या एपीआई कुंजी, इसलिए, यदि आपके पास मौका है, तो इसकी जांच करना अनुशंसित है।
एक AMI का उपयोग EC2 इंस्टेंस लॉन्च करने के लिए किया जाता है, जबकि एक EC2 स्नैपशॉट का उपयोग EBS वॉल्यूम पर संग्रहीत डेटा का बैकअप और पुनर्प्राप्त करने के लिए किया जाता है। जबकि एक EC2 स्नैपशॉट का उपयोग एक नया AMI बनाने के लिए किया जा सकता है, यह AMI के समान नहीं है, और इसमें ऑपरेटिंग सिस्टम, एप्लिकेशन सर्वर, या किसी अन्य सॉफ़्टवेयर के बारे में जानकारी शामिल नहीं है जो एक एप्लिकेशन चलाने के लिए आवश्यक है।
अगली पृष्ठ पर आप देख सकते हैं कि EBS अनुमतियों का दुरुपयोग करके विशेषाधिकार कैसे बढ़ाएं:
AWS - EBS PrivescAmazon Simple Systems Manager (SSM) EC2 इंस्टेंस के समूहों को दूरस्थ रूप से प्रबंधित करने की अनुमति देता है ताकि उनकी प्रशासनिक प्रक्रियाएँ बहुत आसान हो सकें। इन इंस्टेंस में से प्रत्येक को SSM एजेंट सेवा चलानी होगी क्योंकि यह AWS API से क्रियाएँ प्राप्त और निष्पादित करेगा।
SSM एजेंट सिस्टम प्रबंधक को इन संसाधनों को अपडेट, प्रबंधित और कॉन्फ़िगर करने की अनुमति देता है। एजेंट AWS क्लाउड में सिस्टम प्रबंधक सेवा से अनुरोधों को संसाधित करता है, और फिर उन्हें अनुरोध में निर्दिष्ट के अनुसार चलाता है।
SSM एजेंट आता है कुछ AMIs में पूर्व-स्थापित या आपको इन्हें मैन्युअल रूप से स्थापित करना होगा इंस्टेंस पर। इसके अलावा, इंस्टेंस के अंदर उपयोग की जाने वाली IAM भूमिका को संवाद करने के लिए नीति AmazonEC2RoleforSSM संलग्न करनी होगी।
आप एक EC2 इंस्टेंस में यह जांच सकते हैं कि सिस्टम मैनेजर चल रहा है या नहीं, बस इसे निष्पादित करके:
अगली पृष्ठ पर आप देख सकते हैं कि SSM अनुमतियों का दुरुपयोग करके विशेषाधिकार कैसे बढ़ाएं:
AWS - SSM Privescइलेस्टिक लोड बैलेंसिंग (ELB) Amazon Web Services (AWS) तैनाती के लिए एक लोड-बैलेंसिंग सेवा है। ELB स्वचालित रूप से आने वाले एप्लिकेशन ट्रैफ़िक को वितरित करता है और ट्रैफ़िक की मांगों को पूरा करने के लिए संसाधनों को स्केल करता है।
AWS Nitro एक नवोन्मेषी प्रौद्योगिकियों का एक सेट है जो AWS EC2 इंस्टेंस के लिए आधारभूत प्लेटफ़ॉर्म बनाता है। इसे Amazon द्वारा सुरक्षा, प्रदर्शन, और विश्वसनीयता को बढ़ाने के लिए पेश किया गया था, Nitro कस्टम हार्डवेयर घटकों और एक हल्के हाइपरवाइज़र का उपयोग करता है। यह पारंपरिक वर्चुअलाइजेशन कार्यक्षमता के अधिकांश को समर्पित हार्डवेयर और सॉफ़्टवेयर में एब्स्ट्रैक्ट करता है, हमले की सतह को कम करते हुए और संसाधन दक्षता में सुधार करता है। वर्चुअलाइजेशन कार्यों को ऑफ़लोड करके, Nitro EC2 इंस्टेंस को नजदीकी बARE-मेटल प्रदर्शन प्रदान करने की अनुमति देता है, जिससे यह संसाधन-गहन अनुप्रयोगों के लिए विशेष रूप से लाभकारी बनता है। इसके अतिरिक्त, Nitro सुरक्षा चिप विशेष रूप से हार्डवेयर और फर्मवेयर की सुरक्षा सुनिश्चित करती है, जिससे इसकी मजबूत आर्किटेक्चर को और मजबूत किया जाता है।
Get more information and how to enumerate it from:
AWS - Nitro Enumएक VPN आपको ऑन-प्रिमाइस नेटवर्क (साइट-से-साइट VPN) या कर्मचारियों के लैपटॉप (क्लाइंट VPN) को AWS VPC से जोड़ने की अनुमति देता है ताकि सेवाओं को इंटरनेट पर उजागर किए बिना एक्सेस किया जा सके।
Customer Gateway:
एक Customer Gateway एक संसाधन है जिसे आप AWS में VPN कनेक्शन के अपने पक्ष का प्रतिनिधित्व करने के लिए बनाते हैं।
यह मूल रूप से आपके साइट-से-साइट VPN कनेक्शन के आपके पक्ष पर एक भौतिक उपकरण या सॉफ़्टवेयर एप्लिकेशन है।
आप AWS को एक Customer Gateway बनाने के लिए अपने नेटवर्क उपकरण (जैसे राउटर या फ़ायरवॉल) का रूटिंग जानकारी और सार्वजनिक IP पता प्रदान करते हैं।
यह VPN कनेक्शन सेट करने के लिए एक संदर्भ बिंदु के रूप में कार्य करता है और अतिरिक्त शुल्क नहीं लेता है।
Virtual Private Gateway:
एक Virtual Private Gateway (VPG) साइट-से-साइट VPN कनेक्शन के Amazon पक्ष पर VPN कंसंट्रेटर है।
यह आपके VPC से जुड़ा होता है और आपके VPN कनेक्शन के लिए लक्ष्य के रूप में कार्य करता है।
VPG VPN कनेक्शन के लिए AWS पक्ष का एंडपॉइंट है।
यह आपके VPC और आपके ऑन-प्रिमाइस नेटवर्क के बीच सुरक्षित संचार को संभालता है।
Site-to-Site VPN Connection:
एक साइट-से-साइट VPN कनेक्शन आपके ऑन-प्रिमाइस नेटवर्क को एक सुरक्षित, IPsec VPN टनल के माध्यम से VPC से जोड़ता है।
इस प्रकार के कनेक्शन के लिए एक Customer Gateway और एक Virtual Private Gateway की आवश्यकता होती है।
इसका उपयोग आपके डेटा सेंटर या नेटवर्क और आपके AWS वातावरण के बीच सुरक्षित, स्थिर, और लगातार संचार के लिए किया जाता है।
आमतौर पर नियमित, दीर्घकालिक कनेक्शनों के लिए उपयोग किया जाता है और कनेक्शन के माध्यम से स्थानांतरित डेटा की मात्रा के आधार पर बिल किया जाता है।
Client VPN Endpoint:
एक Client VPN एंडपॉइंट एक संसाधन है जिसे आप AWS में क्लाइंट VPN सत्रों को सक्षम और प्रबंधित करने के लिए बनाते हैं।
इसका उपयोग व्यक्तिगत उपकरणों (जैसे लैपटॉप, स्मार्टफोन, आदि) को AWS संसाधनों या आपके ऑन-प्रिमाइस नेटवर्क से सुरक्षित रूप से कनेक्ट करने की अनुमति देने के लिए किया जाता है।
यह साइट-से-साइट VPN से भिन्न है क्योंकि यह पूरे नेटवर्क को जोड़ने के बजाय व्यक्तिगत क्लाइंट के लिए डिज़ाइन किया गया है।
Client VPN के साथ, प्रत्येक क्लाइंट उपकरण एक VPN क्लाइंट सॉफ़्टवेयर का उपयोग करके एक सुरक्षित कनेक्शन स्थापित करता है।
You can find more information about the benefits and components of AWS VPNs here.
Local Temporary Credentials
जब AWS VPN Client का उपयोग VPN से कनेक्ट करने के लिए किया जाता है, तो उपयोगकर्ता आमतौर पर AWS में लॉगिन करता है ताकि VPN तक पहुंच प्राप्त कर सके। फिर, कुछ AWS क्रेडेंशियल्स बनाए जाते हैं और स्थानीय रूप से संग्रहीत किए जाते हैं ताकि VPN कनेक्शन स्थापित किया जा सके। ये क्रेडेंशियल्स में संग्रहीत होते हैं $HOME/.config/AWSVPNClient/TemporaryCredentials/<region>/temporary-credentials.txt
और इसमें एक AccessKey, एक SecretKey और एक Token होता है।
ये क्रेडेंशियल्स उपयोगकर्ता arn:aws:sts::<acc-id>:assumed-role/aws-vpn-client-metrics-analytics-access-role/CognitoIdentityCredentials
के हैं (TODO: इस क्रेडेंशियल्स की अनुमतियों के बारे में और शोध करें)।
opvn config files
यदि एक VPN कनेक्शन स्थापित किया गया था तो आपको सिस्टम में .opvn
कॉन्फ़िग फ़ाइलों के लिए खोज करनी चाहिए। इसके अलावा, एक स्थान जहाँ आप कॉन्फ़िगरेशन पा सकते हैं वह है $HOME/.config/AWSVPNClient/OpenVpnConfigs
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)