AWS - GuardDuty Enum

हैकट्रिक्स का समर्थन करें

GuardDuty

दस्तावेज़ के अनुसार: GuardDuty मशीन लर्निंग, अनैमली डिटेक्शन, नेटवर्क मॉनिटरिंग, और दुर्भाग्यपूर्ण फ़ाइल खोज को संयोजित करता है, AWS और उद्योग-प्रमुख तृतीय-पक्ष स्रोतों का उपयोग करके AWS पर वर्कलोड और डेटा की सुरक्षा में मदद करने के लिए। GuardDuty कई AWS डेटा स्रोतों, जैसे AWS CloudTrail घटना लॉग, Amazon वर्चुअल प्राइवेट क्लाउड (VPC) फ्लो लॉग, Amazon Elastic Kubernetes सेवा (EKS) ऑडिट और सिस्टम-स्तर के लॉग, और DNS क्वेरी लॉग के अनुसार लाखों की संख्या में घटनाओं का विश्लेषण करने में सक्षम है।

Amazon GuardDuty आपके खातों में असामान्य गतिविधि की पहचान करता है, गतिविधि की सुरक्षा संबंधितता का विश्लेषण करता है, और उस संदर्भ में देता है जिसमें यह आवाहित किया गया था। इससे एक प्रतिक्रियावादी को यह निर्धारित करने में मदद मिलती है कि क्या वे और जांच के लिए समय बिताना चाहिए।

अलर्ट GuardDuty कांसोल (90 दिन) और CloudWatch घटनाएँ में दिखाई देते हैं।

जब एक उपयोगकर्ता GuardDuty को अक्षम करता है, तो यह आपके AWS वातावरण का मॉनिटरिंग बंद कर देगा और यह कोई नई फाइंडिंग नहीं उत्पन्न करेगा, और मौजूदा फाइंडिंग खो जाएगी। अगर आप बस इसे रोक देते हैं, तो मौजूदा फाइंडिंग बनी रहेगी।

फाइंडिंग्स उदाहरण

  • रिकॉनेसेंस: हमलावर द्वारा रिकॉनेसेंस का सुझाव देने वाली गतिविधि, जैसे असामान्य एपीआई गतिविधि, संदेहपूर्ण डेटाबेस लॉगिन प्रयास, इंट्रा-VPC पोर्ट स्कैनिंग, असामान्य विफल लॉगिन अनुरोध पैटर्न, या एक जाने-माने बुरे IP से अनब्लॉक किया गया पोर्ट प्रोबिंग।

  • इंस्टेंस कंप्रोमाइज: इंस्टेंस कंप्रोमाइज का सूचना देने वाली गतिविधि, जैसे क्रिप्टोकरेंसी माइनिंग, बैकडोर कमांड और कंट्रोल (C&C) गतिविधि, डोमेन जनरेशन एल्गोरिदम (DGA) का उपयोग करने वाले मैलवेयर, आउटबाउंड डेनायल ऑफ सर्विस गतिविधि, असामान्य उच्च नेटवर्क ट्रैफिक मात्रा, असामान्य नेटवर्क प्रोटोकॉल, एक जाने-माने दुष्ट IP से आउटबाउंड इंस्टेंस संचार, एक्सटर्नल IP पते द्वारा उपयोग किए गए अस्थायी अमेज़न EC2 क्रेडेंशियल्स, और DNS का उपयोग करके डेटा निकालना।

  • खाता कंप्रोमाइज: खाता कंप्रोमाइज का सामान्य पैटर्न जो संकेतक होते हैं उनमें असामान्य जियोलोकेशन या एननोनिमाइजिंग प्रॉक्सी से एपीआई कॉल, AWS CloudTrail लॉगिंग को अक्षम करने की कोशिश, खाता पासवर्ड नीति को कमजोर करने वाले बदलाव, असामान्य इंस्टेंस या इंफ्रास्ट्रक्चर लॉन्च, असामान्य क्षेत्र में इंफ्रास्ट्रक्चर डिप्लॉयमेंट, क्रेडेंशियल चोरी, संदेहपूर्ण डेटाबेस लॉगिन गतिविधि, और जाने-माने दुष्ट IP पतों से एपीआई कॉल्स शामिल हैं।

  • बकेट कंप्रोमाइज: बकेट कंप्रोमाइज का सूचना देने वाली गतिविधि, जैसे संदेहपूर्ण डेटा एक्सेस पैटर्न जो साक्षात्कार दुरुपयोग की सूचना देते हैं, दूरस्थ होस्ट से असामान्य अमेज़न S3 एपीआई गतिविधि, जाने-माने दुष्ट IP पतों से अनधिकृत S3 एक्सेस, और उपयोगकर्ता से डेटा प्राप्त करने के लिए एस3 बकेट में एपीआई कॉल्स जिनका कोई पूर्व इतिहास नहीं है या असामान्य स्थान से आवाहित किए गए हैं। अमेज़न GuardDuty सतत रूप से AWS CloudTrail S3 डेटा घटनाएँ (जैसे GetObject, ListObjects, DeleteObject) का विश्लेषण करता है ताकि सभी आपके अमेज़न S3 बकेट्स में संदेहपूर्ण गतिविधि का पता लगा सके।

फाइंडिंग जानकारी

फाइंडिंग सारांश:

  • फाइंडिंग प्रकार

  • गंभीरता: 7-8.9 उच्च, 4-6.9 मध्यम, 01-3.9 कम

  • क्षेत्र

  • खाता आईडी

  • संसाधन आईडी

  • पहचान का समय

  • कौन सी धमकी सूची का उपयोग किया गया था

शरीर में यह जानकारी होती है:

  • प्रभावित संसाधन

  • कार्रवाई

  • अभिनेता: आईपी पता, पोर्ट और डोमेन

  • अतिरिक्त जानकारी

सभी फाइंडिंग्स

सभी GuardDuty फाइंडिंग्स की सूची तक पहुंचें: https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_finding-types-active.html

मल्टी अकाउंट्स

आमंत्रण के द्वारा

आप एक अलग AWS GuardDuty खाते को अन्य खातों को आमंत्रित कर सकते हैं ताकि हर खाता एक ही GuardDuty से मॉनिटर हो। मास्टर खाता को सदस्य खातों को आमंत्रित करना होगा और फिर सदस्य खाते के प्रतिनिधि को आमंत्रण स्वीकार करना होगा।

संगठन के माध्यम से

आप संगठन में किसी भी खाते को GuardDuty सौंपने वाला प्रशासक नियुक्त कर सकते हैं। केवल संगठन प्रबंधन खाता एक नियुक्त प्रशासक को नियुक्त कर सकता है।

एक खाता जो एक नियुक्त प्र

# Get Org config
aws guardduty list-organization-admin-accounts #Get Delegated Administrator
aws guardduty describe-organization-configuration --detector-id <id>

# Check external invitations
aws guardduty list-invitations
aws guardduty get-invitations-count

# Detector Information
aws guardduty list-detectors # 1 detector per account with GuardDuty
aws guardduty get-detector --detector-id <id> # Get detector info
aws guardduty get-master-account --detector-id <id>

# Get filters
aws guardduty list-filters --detector-id <id> # Check filters
aws guardduty get-filter --detector-id <id> --filter-name <name>

# Findings
aws guardduty list-findings --detector-id <id> # List findings
aws guardduty get-findings --detector-id <id> --finding-ids <id> # Get details about the finding
aws guardduty get-findings-statistics --detector-id <id> --finding-statistic-types <types>

# Get trusted IP addresses
aws guardduty list-ip-sets --detector-id <id>
aws guardduty get-ip-set --detector-id <id>

# Member accounts of the current AWS GuardDuty master account
aws guardduty list-members --detector-id <id>
aws guardduty get-members --detector-id <id> --account-ids <id>
aws guardduty get-member-detectors --detector-id <id> --account-ids <id>

# Continuously export its findings to an Amazon S3 bucket
aws guardduty list-publishing-destinations --detector-id <id>

# Intelligence sets that you have uploaded to GuardDuty
aws guardduty list-threat-intel-sets --detector-id <id>
aws guardduty get-threat-intel-set --detector-id <id> --threat-intel-set-id <id>

GuardDuty बायपास

सामान्य मार्गदर्शन

जितना संभव हो, उन क्रेडेंशियल्स के व्यवहार के बारे में जानने की कोशिश करें जिन्हें आप उपयोग करने जा रहे हैं:

  • उसका उपयोग कितनी बार किया जाता है

  • स्थान

  • उपयोगकर्ता एजेंट / सेवाएं (यह awscli, वेब कंसोल, लैम्बडा से भी हो सकता है...)

  • नियमित रूप से उपयोग की जाने वाली अनुमतियाँ

इस जानकारी के साथ, पहुंच का उपयोग करने के लिए संभावना से ज्यादा समान स्थिति को पुनर्रचित करें:

  • यदि यह उपयोगकर्ता या उपयोगकर्ता द्वारा उपयोग किए जाने वाला भूमिका है, तो इसे उसी घंटों में, उसी भू-स्थान से उपयोग करने की कोशिश करें (यदि संभव हो तो वही ISP और IP से)

  • यदि यह सेवा द्वारा उपयोग की जाने वाली भूमिका है, तो उसी क्षेत्र में एक समान सेवा बनाएं और उसे उसी समय सीमाओं में वहां से उपयोग करें

  • हमेशा कोशिश करें कि इस प्रमुख ने उपयोग की हुई वही अनुमतियाँ उपयोग करें

  • यदि आपको अन्य अनुमतियों का उपयोग करना या अनुमति का दुरुपयोग करना हो (उदाहरण के लिए, 1,000,000 क्लाउडट्रेल लॉग फ़ाइलें डाउनलोड करना), तो इसे धीरे-धीरे और AWS के साथ न्यूनतम प्रभाव से करें (कभी-कभी awscli लिखने से पहले कई पढ़ने वाली API कॉल करता है)

GuardDuty को तोड़ना

guardduty:UpdateDetector

इस अनुमति के साथ आप चेतावनियों को ट्रिगर करने से बचने के लिए GuardDuty को निषेधित कर सकते हैं।

aws guardduty update-detector --detector-id <detector-id> --no-enable
aws guardduty update-detector --detector-id <detector-id> --data-sources S3Logs={Enable=false}

guardduty:CreateFilter

इस अनुमति के साथ हमलावरों को स्वचालित खोज के लिए फ़िल्टर बनाने की क्षमता होती है:

aws guardduty create-filter  --detector-id <detector-id> --name <filter-name> --finding-criteria file:///tmp/criteria.json --action ARCHIVE

iam:PutRolePolicy, (guardduty:CreateIPSet|guardduty:UpdateIPSet)

पिछली विशेषाधिकार वाले हमलावर अपना आईपी पता जोड़कर गार्डड्यूटी की विश्वसनीय आईपी सूची को संशोधित कर सकते हैं और चेतावनियां उत्पन्न करने से बच सकते हैं।

aws guardduty update-ip-set --detector-id <detector-id> --activate --ip-set-id <ip-set-id> --location https://some-bucket.s3-eu-west-1.amazonaws.com/attacker.csv

guardduty:DeletePublishingDestination

हमलावर चेतावनी देने को रोकने के लिए गंतव्य को हटा सकते हैं:

aws guardduty delete-publishing-destination --detector-id <detector-id> --destination-id <dest-id>

इस प्रकाशन स्थल को हटाने से गार्डड्यूटी कॉन्सोल में फाइंडिंग्स की उत्पत्ति या दृश्यता पर कोई प्रभाव नहीं पड़ेगा। गार्डड्यूटी आपके AWS वातावरण में घटनाओं का विश्लेषण जारी रखेगा, संदिग्ध या अप्रत्याशित व्यवहार की पहचान करेगा और फाइंडिंग्स उत्पन्न करेगा।

विशेष फाइंडिंग्स बायपास उदाहरण

ध्यान दें कि गार्डड्यूटी फाइंडिंग्स कई होती हैं, हालांकि, रेड टीमर के लिए सभी का असर नहीं होगा, और यह भी बेहतर है, आपके पास https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_finding-types-active.html में प्रत्येक की पूर्ण दस्तावेज़ीकरण है इसलिए किसी कार्रवाई से पहले एक नजर डालें।

यहाँ आपको कुछ विशेष गार्डड्यूटी फाइंडिंग्स बायपास के उदाहरण मिलेंगे:

गार्डड्यूटी सामान्य पेनेट्रेशन टेस्टिंग टूल्स से AWS API अनुरोधों की पहचान करता है और PenTest फाइंडिंग को ट्रिगर करता है। यह API अनुरोध में पारित उपयोगकर्ता एजेंट नाम द्वारा पहचाना जाता है। इसलिए, हमले की पहचान को रोकने के लिए उपयोगकर्ता एजेंट को संशोधित करना संभव है।

इसे रोकने के लिए आप botocore पैकेज में session.py स्क्रिप्ट से खोज सकते हैं और उपयोगकर्ता एजेंट को संशोधित कर सकते हैं, या AWS CLI प्रॉक्सी के रूप में बर्प स्वीट को सेट करें और यूज़र-एजेंट को MitM के साथ बदलें या बस Ubuntu, Mac या Windows जैसे ओएस का उपयोग करें ताकि यह अलर्ट ट्रिगर न हो।

UnauthorizedAccess:IAMUser/InstanceCredentialExfiltration

मेटाडेटा सेवा से EC2 क्रेडेंशियल्स को निकालना और उन्हें AWS वातावरण के बाहर उपयोग करना UnauthorizedAccess:IAMUser/InstanceCredentialExfiltration.OutsideAWS अलर्ट को सक्रिय करता है। उल्टे, इन क्रेडेंशियल्स का उपयोग आपके EC2 इंस्टेंस से करने पर UnauthorizedAccess:IAMUser/InstanceCredentialExfiltration.InsideAWS अलर्ट को ट्रिगर करता है। फिर भी, उन क्रेडेंशियल्स का उपयोग एक और कंप्रोमाइज़्ड EC2 इंस्टेंस में करने पर जो एक ही खाते में होता है, उसे पहचाना नहीं जाता, कोई अलर्ट नहीं उठाता।

इसलिए, उन क्रेडेंशियल्स का उपयोग मशीन के अंदर से करें जहां आपने उन्हें पाया है ताकि यह अलर्ट ट्रिगर न हो।

संदर्भ

हैकट्रिक्स का समर्थन करें

Last updated