AWS शोषण ढांचा, जो Amazon Web Services वातावरण की सुरक्षा के परीक्षण के लिए डिज़ाइन किया गया है।
सहायता कहाँ प्राप्त करें: Rhino Security Labs Discord, या Stack Overflow
समस्याएँ कहाँ दर्ज करें: https://github.com/RhinoSecurityLabs/pacu/issues
द्वारा अनुरक्षित: Rhino Security Labs
Pacu एक ओपन-सोर्स AWS शोषण ढांचा (फ्रेमवर्क) है, जिसे क्लाउड वातावरणों के विरुद्ध आक्रामक सुरक्षा परीक्षण के लिए डिज़ाइन किया गया है। Rhino Security Labs द्वारा निर्मित और अनुरक्षित, Pacu पैठ परीक्षकों को AWS खाते के भीतर कॉन्फ़िगरेशन दोषों का शोषण करने की अनुमति देता है, इसकी कार्यक्षमता को आसानी से विस्तारित करने के लिए मॉड्यूल का उपयोग करता है। वर्तमान मॉड्यूल कई प्रकार के हमलों को सक्षम करते हैं, जिनमें उपयोगकर्ता विशेषाधिकार वृद्धि, IAM उपयोगकर्ताओं का बैकडोरिंग, कमजोर Lambda फ़ंक्शंस पर हमला, और बहुत कुछ शामिल है।
Pacu एक काफी हल्का प्रोग्राम है, क्योंकि इसे Python लाइब्रेरीज़ के एक सेट को स्थापित करने के लिए केवल Python3.7+ और pip3 की आवश्यकता होती है।
pip3 install -U pip
pip3 install -U pacu
pacu
यह Kali Linux पर पसंदीदा तरीका है क्योंकि pip अब डिफ़ॉल्ट रूप से स्थापित नहीं है। यह Pacu को नवीनतम अपडेट के साथ स्थापित करेगा जो आधिकारिक रिलीज़ में शामिल नहीं हो सकते हैं।
pipx install git+https://github.com/RhinoSecurityLabs/pacu.git
अधिक विस्तृत और उपयोगकर्ता-अनुकूल निर्देशों के लिए, कृपया विकी का स्थापना गाइड देखें।
docker run -it rhinosecuritylabs/pacu:latest
docker run -it --entrypoint /bin/sh rhinosecuritylabs/pacu:latest
चेतावनी: इस कमांड को चलाने से आपके स्थानीय AWS कॉन्फ़िगरेशन फ़ाइलें लॉन्च होने पर Docker कंटेनर में माउंट हो जाएँगी। इसका मतलब है कि कंटेनर तक पहुँच रखने वाले किसी भी उपयोगकर्ता के पास आपके होस्ट कंप्यूटर के AWS क्रेडेंशियल्स तक पहुँच होगी।
docker run -it -v ~/.aws:/root/.aws rhinosecuritylabs/pacu:latest
पहली बार Pacu लॉन्च होने पर, आपको एक नया सत्र शुरू करने और उसका नाम देने का संकेत दिया जाएगा। इस सत्र का उपयोग AWS की-पेयर्स, साथ ही विभिन्न मॉड्यूल चलाने से प्राप्त किसी भी डेटा को संग्रहीत करने के लिए किया जाएगा। आप Pacu में कितने भी अलग-अलग सत्र रख सकते हैं, प्रत्येक के अपने AWS कुंजियाँ और डेटा होते हैं, और किसी भी समय एक सत्र फिर से शुरू कर सकते हैं (हालांकि सत्रों के बीच स्विच करने के लिए वर्तमान में पुनः आरंभ की आवश्यकता है)।
मॉड्यूल को AWS कुंजी की आवश्यकता होती है, जो आपको AWS वातावरण तक न्यूनतम पहुँच प्रदान करती है और इसमें एक एक्सेस की आईडी और एक सीक्रेट एक्सेस की शामिल होती है। अपने सत्र की कुंजियाँ सेट करने के लिए, set_keys कमांड का उपयोग करें, और फिर एक कुंजी उपनाम (संदर्भ के लिए उपनाम), एक AWS एक्सेस की आईडी, एक AWS सीक्रेट एक्सेस की, और एक AWS सत्र टोकन (यदि आप एक का उपयोग कर रहे हैं) प्रदान करने के लिए संकेतों का पालन करें।
यदि आप कभी अटक जाते हैं, तो help उपलब्ध कमांड की एक सूची लाएगा।
list वर्तमान सत्र में सेट किए गए क्षेत्रों के लिए उपलब्ध मॉड्यूल सूचीबद्ध करेगा।help module_name निर्दिष्ट मॉड्यूल के लिए लागू सहायता जानकारी लौटाएगा।run module_name निर्दिष्ट मॉड्यूल को उसके डिफ़ॉल्ट मापदंडों के साथ चलाएगा।run module_name --regions eu-west-1,us-west-1 निर्दिष्ट मॉड्यूल को eu-west-1 और us-west-1 क्षेत्रों के विरुद्ध चलाएगा (उन मॉड्यूल के लिए जो --regions तर्क का समर्थन करते हैं)pacu --help सहायता मेनू प्रदर्शित करेगाpacu --session <session name> उन कमांड के लिए उपयोग करने के लिए सत्र सेट करता है जिन्हें एक की आवश्यकता हैpacu --list-modules सभी उपलब्ध मॉड्यूल सूचीबद्ध करेगा (सत्र की आवश्यकता नहीं है)pacu --pacu-help pacu सहायता विंडो सूचीबद्ध करेगा (सत्र की आवश्यकता नहीं है)pacu --module-name <module name> उस मॉड्यूल का नाम जिस पर कार्रवाई करनी है, आप मॉड्यूल को निष्पादित या उसके बारे में जानकारी प्राप्त कर सकते हैंpacu --exec --module-name में प्रदान किए गए मॉड्यूल को निष्पादित करेंpacu --module-info --module-name में प्रदान किए गए मॉड्यूल के बारे में जानकारी प्राप्त करेंpacu --data <service name || all> गणना की गई जानकारी पुनर्प्राप्त करने के लिए स्थानीय SQLAlchemy डेटाबेस क्वेरी करेंpacu --module-args="<arg1> <value> <arg2> <value>" निष्पादित किए जा रहे मॉड्यूल को वैकल्पिक मॉड्यूल तर्क प्रदान करेंpacu --set-regions <region1 region2 || all> सत्र में उपयोग करने के लिए क्षेत्र सेट करें, क्षेत्रों को स्पेस से अलग करें या सभी क्षेत्रों के लिए all दर्ज करेंpacu --whoami वर्तमान उपयोगकर्ता के बारे में जानकारी प्राप्त करेंPacu AWS वातावरणों के भीतर गणना, विशेषाधिकार वृद्धि, डेटा निष्कासन, सेवा शोषण, और लॉग हेरफेर में एक हमलावर की सहायता के लिए प्लग-इन मॉड्यूल की एक श्रृंखला का उपयोग करता है। नए मॉड्यूल के लिए योगदान या विचारों का स्वागत है।
चल रहे AWS उत्पाद विकास के साथ तालमेल बनाए रखने के लिए, हमने Pacu को शुरू से ही विस्तारशीलता को ध्यान में रखकर डिज़ाइन किया है। एक सामान्य सिंटैक्स और डेटा संरचना मॉड्यूल को बनाने और विस्तारित करने में आसान रखती है - AWS क्षेत्रों को निर्दिष्ट करने या मॉड्यूल के बीच अनावश्यक अनुमति जाँच करने की कोई आवश्यकता नहीं है। पुनर्प्राप्त डेटा को प्रबंधित और हेरफेर करने के लिए एक स्थानीय SQLite डेटाबेस का उपयोग किया जाता है, जो API कॉल (और संबंधित लॉग) को कम करता है। रिपोर्टिंग और हमला ऑडिटिंग भी ढांचे में बनाया गया है; Pacu कमांड लॉगिंग और निर्यात के माध्यम से दस्तावेज़ीकरण प्रक्रिया में सहायता करता है, परीक्षण प्रक्रिया के लिए एक समयरेखा बनाने में मदद करता है।
हम Pacu ढांचे में बग रिपोर्ट, विभिन्न मॉड्यूल पर परीक्षण और प्रतिक्रिया, और सामान्य रूप से ढांचे को परिष्कृत करने में मदद करने वाली आलोचनात्मक प्रतिक्रिया पाकर हमेशा खुश होते हैं। Pacu के लिए उपयोग, परीक्षण, सुधार, या केवल शब्द फैलाने के माध्यम से कोई भी समर्थन बहुत सराहा जाएगा।
यदि आप सीधे Pacu ढांचे में योगदान देने में रुचि रखते हैं, तो कृपया कोड कन्वेंशन और git-प्रवाह नोट्स के लिए हमारे योगदान दिशानिर्देश पढ़ें।
यदि आप Pacu के लिए अपने स्वयं के मॉड्यूल लिखने में रुचि रखते हैं, तो हमारे मॉड्यूल विकास विकी पृष्ठ देखें। जैसे-जैसे आप नई क्षमताएँ विकसित करते हैं, कृपया हमसे संपर्क करें - हमें आपके नए मॉड्यूल को Pacu के साथ आने वाले मुख्य संग्रह में जोड़ने में खुशी होगी।
वॉकथ्रू और पूर्ण दस्तावेज़ीकरण के लिए, कृपया Pacu विकी पर जाएँ।