AWS - GuardDuty Enum
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
GuardDuty
According to the docs: GuardDuty मशीन लर्निंग, विसंगति पहचान, नेटवर्क निगरानी, और दुर्भावनापूर्ण फ़ाइल खोज को जोड़ता है, जो AWS और उद्योग के प्रमुख तीसरे पक्ष के स्रोतों का उपयोग करके AWS पर कार्यभार और डेटा की सुरक्षा में मदद करता है। GuardDuty कई AWS डेटा स्रोतों, जैसे AWS CloudTrail इवेंट लॉग, Amazon Virtual Private Cloud (VPC) फ्लो लॉग, Amazon Elastic Kubernetes Service (EKS) ऑडिट और सिस्टम-स्तरीय लॉग, और DNS क्वेरी लॉग के बीच अरबों घटनाओं का विश्लेषण करने में सक्षम है।
Amazon GuardDuty आपके खातों के भीतर असामान्य गतिविधियों की पहचान करता है, गतिविधि की सुरक्षा प्रासंगिकता का विश्लेषण करता है, और यह बताता है कि इसे किस संदर्भ में लागू किया गया था। इससे एक उत्तरदाता यह निर्धारित कर सकता है कि क्या उन्हें आगे की जांच में समय बिताना चाहिए।
अलर्ट GuardDuty कंसोल (90 दिन) और CloudWatch इवेंट्स में दिखाई देते हैं।
जब एक उपयोगकर्ता GuardDuty को निष्क्रिय करता है, तो यह आपके AWS वातावरण की निगरानी करना बंद कर देगा और यह बिल्कुल भी नए निष्कर्ष उत्पन्न नहीं करेगा, और मौजूदा निष्कर्ष खो जाएंगे। यदि आप इसे केवल रोकते हैं, तो मौजूदा निष्कर्ष बने रहेंगे।
Findings Example
Reconnaissance: गतिविधि जो एक हमलावर द्वारा असामान्य API गतिविधि, संदिग्ध डेटाबेस लॉगिन प्रयास, intra-VPC पोर्ट स्कैनिंग, असामान्य विफल लॉगिन अनुरोध पैटर्न, या ज्ञात बुरे IP से अनब्लॉक पोर्ट प्रॉबिंग का सुझाव देती है।
Instance compromise: गतिविधि जो एक उदाहरण के समझौते को इंगित करती है, जैसे क्रिप्टोक्यूरेंसी माइनिंग, बैकडोर कमांड और नियंत्रण (C&C) गतिविधि, डोमेन जनरेशन एल्गोरिदम (DGA) का उपयोग करने वाला मैलवेयर, आउटबाउंड डिनायल ऑफ सर्विस गतिविधि, असामान्य उच्च नेटवर्क ट्रैफ़िक मात्रा, असामान्य नेटवर्क प्रोटोकॉल, ज्ञात दुर्भावनापूर्ण IP के साथ आउटबाउंड उदाहरण संचार, और DNS का उपयोग करके डेटा निकासी।
Account compromise: खाता समझौते के संकेतक सामान्य पैटर्न में असामान्य भू-स्थान या एनोनिमाइजिंग प्रॉक्सी से API कॉल, AWS CloudTrail लॉगिंग को निष्क्रिय करने के प्रयास, खाता पासवर्ड नीति को कमजोर करने वाले परिवर्तन, असामान्य उदाहरण या बुनियादी ढांचे की लॉन्चिंग, असामान्य क्षेत्र में बुनियादी ढांचे की तैनाती, क्रेडेंशियल चोरी, संदिग्ध डेटाबेस लॉगिन गतिविधि, और ज्ञात दुर्भावनापूर्ण IP पते से API कॉल शामिल हैं।
Bucket compromise: गतिविधि जो एक बकेट समझौते को इंगित करती है, जैसे क्रेडेंशियल दुरुपयोग को इंगित करने वाले संदिग्ध डेटा एक्सेस पैटर्न, एक दूरस्थ होस्ट से असामान्य Amazon S3 API गतिविधि, ज्ञात दुर्भावनापूर्ण IP पते से अनधिकृत S3 एक्सेस, और एक उपयोगकर्ता से S3 बकेट में डेटा पुनः प्राप्त करने के लिए API कॉल जो बकेट तक पहुँचने का कोई पूर्व इतिहास नहीं रखता है या असामान्य स्थान से लागू किया गया है। Amazon GuardDuty लगातार AWS CloudTrail S3 डेटा घटनाओं (जैसे GetObject, ListObjects, DeleteObject) की निगरानी और विश्लेषण करता है ताकि आपके सभी Amazon S3 बकेट में संदिग्ध गतिविधि का पता लगाया जा सके।
All Findings
Access a list of all the GuardDuty findings in: https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_finding-types-active.html
Multi Accounts
By Invitation
आप अन्य खातों को एक अलग AWS GuardDuty खाते में निमंत्रित कर सकते हैं ताकि हर खाता एक ही GuardDuty से निगरानी किया जा सके। मास्टर खाता सदस्य खातों को आमंत्रित करना चाहिए और फिर सदस्य खाते के प्रतिनिधि को निमंत्रण स्वीकार करना चाहिए।
Via Organization
आप संगठन के भीतर किसी भी खाते को GuardDuty प्रतिनिधि प्रशासक के रूप में नामित कर सकते हैं। केवल संगठन प्रबंधन खाता एक प्रतिनिधि प्रशासक को नामित कर सकता है।
एक खाता जिसे प्रतिनिधि प्रशासक के रूप में नामित किया जाता है, एक GuardDuty प्रशासक खाता बन जाता है, निर्दिष्ट AWS क्षेत्र में GuardDuty स्वचालित रूप से सक्षम होता है, और उस क्षेत्र के भीतर संगठन के सभी खातों के लिए GuardDuty को सक्षम और प्रबंधित करने की अनुमति भी होती है। संगठन में अन्य खातों को इस प्रतिनिधि प्रशासक खाते से जुड़े GuardDuty सदस्य खातों के रूप में देखा और जोड़ा जा सकता है।
Enumeration
GuardDuty Bypass
General Guidance
आप जिन क्रेडेंशियल्स का उपयोग करने जा रहे हैं, उनके व्यवहार के बारे में जितना संभव हो सके जानकारी प्राप्त करने की कोशिश करें:
उपयोग के समय
स्थान
उपयोगकर्ता एजेंट / सेवाएँ (यह awscli, वेबकंसोल, लैम्ब्डा आदि से उपयोग किया जा सकता है...)
नियमित रूप से उपयोग की जाने वाली अनुमतियाँ
इस जानकारी के साथ, पहुँच का उपयोग करने के लिए यथासंभव समान परिदृश्य को फिर से बनाएं:
यदि यह एक उपयोगकर्ता या एक भूमिका है जिसे एक उपयोगकर्ता द्वारा एक्सेस किया गया है, तो इसे समान घंटों में, समान भू-स्थान से (यदि संभव हो तो समान ISP और IP से) उपयोग करने की कोशिश करें
यदि यह एक सेवा द्वारा उपयोग की जाने वाली भूमिका है, तो उसी क्षेत्र में समान सेवा बनाएं और वहां से समान समय सीमा में इसका उपयोग करें
हमेशा समान अनुमतियों का उपयोग करने की कोशिश करें जो इस प्रिंसिपल ने उपयोग की हैं
यदि आपको अन्य अनुमतियों का उपयोग करने या किसी अनुमति का दुरुपयोग करने की आवश्यकता है (उदाहरण के लिए, 1,000,000 क्लाउडट्रेल लॉग फ़ाइलें डाउनलोड करना) तो इसे धीरे-धीरे और AWS के साथ न्यूनतम इंटरैक्शन के साथ करें (awscli कभी-कभी लिखने से पहले कई पढ़ने वाली APIs को कॉल करता है)
Breaking GuardDuty
guardduty:UpdateDetector
guardduty:UpdateDetector
इस अनुमति के साथ आप GuardDuty को अलर्ट ट्रिगर करने से बचाने के लिए अक्षम कर सकते हैं।
guardduty:CreateFilter
guardduty:CreateFilter
इस अनुमति वाले हमलावरों के पास खोजों के स्वचालित संग्रह के लिए फ़िल्टर लागू करने की क्षमता होती है:
iam:PutRolePolicy
, (guardduty:CreateIPSet
|guardduty:UpdateIPSet
)
iam:PutRolePolicy
, (guardduty:CreateIPSet
|guardduty:UpdateIPSet
)पिछले विशेषाधिकारों वाले हमलावर GuardDuty की विश्वसनीय IP सूची को संशोधित कर सकते हैं, अपने IP पते को इसमें जोड़कर और अलर्ट उत्पन्न करने से बच सकते हैं।
guardduty:DeletePublishingDestination
guardduty:DeletePublishingDestination
हमलावर अलर्टिंग को रोकने के लिए गंतव्य को हटा सकते हैं:
इस प्रकाशन गंतव्य को हटाने से GuardDuty कंसोल में निष्कर्षों की पीढ़ी या दृश्यता पर कोई प्रभाव नहीं पड़ेगा। GuardDuty आपके AWS वातावरण में घटनाओं का विश्लेषण करना जारी रखेगा, संदिग्ध या अप्रत्याशित व्यवहार की पहचान करेगा, और निष्कर्ष उत्पन्न करेगा।
विशिष्ट निष्कर्ष बायपास उदाहरण
ध्यान दें कि GuardDuty निष्कर्षों की संख्या दर्जनों में है, हालाँकि, Red Teamer के रूप में इनमें से सभी का आप पर प्रभाव नहीं पड़ेगा, और जो बेहतर है, आपके पास इनमें से प्रत्येक का पूरा दस्तावेज़ीकरण https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_finding-types-active.html में है, इसलिए कोई कार्रवाई करने से पहले एक नज़र डालें ताकि पकड़े न जाएं।
यहाँ आपके पास विशिष्ट GuardDuty निष्कर्षों के बायपास के कुछ उदाहरण हैं:
GuardDuty सामान्य पेनिट्रेशन परीक्षण उपकरणों से AWS API अनुरोधों का पता लगाता है और PenTest Finding को सक्रिय करता है। यह उपयोगकर्ता एजेंट नाम द्वारा पता लगाया जाता है जो API अनुरोध में पास किया जाता है। इसलिए, उपयोगकर्ता एजेंट को संशोधित करना GuardDuty को हमले का पता लगाने से रोकने के लिए संभव है।
इसे रोकने के लिए आप botocore
पैकेज में session.py
स्क्रिप्ट से खोज कर सकते हैं और उपयोगकर्ता एजेंट को संशोधित कर सकते हैं, या AWS CLI प्रॉक्सी के रूप में Burp Suite सेट कर सकते हैं और MitM के साथ उपयोगकर्ता-एजेंट को बदल सकते हैं या बस Ubuntu, Mac या Windows जैसे OS का उपयोग कर सकते हैं जो इस अलर्ट को सक्रिय होने से रोक देगा।
UnauthorizedAccess:IAMUser/InstanceCredentialExfiltration
EC2 क्रेडेंशियल्स को मेटाडेटा सेवा से निकालना और उन्हें AWS वातावरण के बाहर उपयोग करना UnauthorizedAccess:IAMUser/InstanceCredentialExfiltration.OutsideAWS
अलर्ट को सक्रिय करता है। इसके विपरीत, आपके EC2 इंस्टेंस से इन क्रेडेंशियल्स का उपयोग करने से UnauthorizedAccess:IAMUser/InstanceCredentialExfiltration.InsideAWS
अलर्ट सक्रिय होता है। फिर भी, एक ही खाते के भीतर दूसरे समझौता किए गए EC2 इंस्टेंस पर क्रेडेंशियल्स का उपयोग करना बिना पता चला रहता है, कोई अलर्ट नहीं उठता।
इसलिए, इस अलर्ट को सक्रिय न करने के लिए मशीन के अंदर पाए गए एक्सफिल्ट्रेटेड क्रेडेंशियल्स का उपयोग करें।
संदर्भ
AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE) GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE)
Last updated