AWS - GuardDuty Enum

जानें AWS हैकिंग को शून्य से हीरो तक htARTE (HackTricks AWS Red Team Expert) के साथ!

HackTricks का समर्थन करने के अन्य तरीके:

GuardDuty

दस्तावेज़ के अनुसार: 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 वातावरण का मॉनिटरिंग बंद कर देगा और यह कोई नई फाइंडिंग नहीं उत्पन्न करेगा, और मौजूदा फाइंडिंग खो जाएगी। अगर आप बस इसे रोक देते हैं, तो मौजूदा फाइंडिंग बनी रहेगी।

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

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

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

# 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 लिखने से पहले कई पढ़ने के एपीआई को कॉल करता है)

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>

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

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

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

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

GuardDuty सामान्य पेनेट्रेशन टेस्टिंग उपकरणों से 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 इंस्टेंस के अंदर उपयोग करना अनुस्थित है, कोई अलर्ट नहीं उठाता।

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

संदर्भ

जानें AWS हैकिंग को शून्य से हीरो तक htARTE (HackTricks AWS Red Team Expert) के साथ!

HackTricks का समर्थन करने के अन्य तरीके:

Last updated