
एक Burp Suite एक्सटेंशन इंजेक्शन दोष (LFI, RCE, SQLi), प्रमाणीकरण/प्राधिकरण समस्याएं, और HTTP 403 एक्सेस उल्लंघनों की पहचान करने के लिए। यह डायनामिक पेलोड जनरेशन का समर्थन करता है, जिसमें BCheck सिंटैक्स शामिल है, और स्वचालित रूप से Bambdas स्क्रिप्ट उत्पन्न कर सकता है। इसके अतिरिक्त, यह उन्नत XSS परीक्षण के लिए HTTP अनुरोधों को रूपांतरित करने हेतु "Copy as JavaScript" प्रदान करता है।
Agartha, उन्नत पेलोड जनरेशन और एक्सेस कंट्रोल मूल्यांकन में विशेषज्ञता रखता है। यह इंजेक्शन हमलों और प्रमाणीकरण/प्राधिकरण मुद्दों से संबंधित कमजोरियों की पहचान करने में कुशल है। डायनेमिक पेलोड जनरेटर SQL इंजेक्शन, लोकल फ़ाइल इंक्लूज़न (LFI), और रिमोट कोड एक्ज़ीक्यूशन (RCE) सहित विभिन्न इंजेक्शन वेक्टरों के लिए व्यापक शब्द सूचियाँ तैयार करता है। इसके अलावा, एक्सटेंशन एक व्यापक उपयोगकर्ता एक्सेस मैट्रिक्स बनाता है, जो संभावित एक्सेस उल्लंघनों और विशेषाधिकार वृद्धि पथों को प्रकट करता है। यह HTTP 403 बाईपास जाँच करने में भी सहायता करता है, जो प्रमाणीकरण गलत कॉन्फ़िगरेशन पर प्रकाश डालता है। इसके अतिरिक्त, यह XSS मुद्दों की खोज में मदद के लिए HTTP अनुरोधों को जावास्क्रिप्ट कोड में परिवर्तित कर सकता है।
संक्षेप में:
यहाँ उपयोग करने का एक छोटा ट्यूटोरियल है।
आपको पहले 'Jython' फ़ाइल डाउनलोड करनी चाहिए और अपना वातावरण सेट करना चाहिए:
आप Agartha को आधिकारिक स्टोर के माध्यम से स्थापित कर सकते हैं:
या मैन्युअल स्थापना के लिए:
सब कुछ होने के बाद, आप मुख्य विंडो में 'Agartha' टैब देखेंगे और यह राइट क्लिक में भी पंजीकृत होगा, इस प्रकार:
'Auth Matrix'
'403 Bypass'
'Copy as JavaScript'
यह यूनिक्स और विंडोज़ दोनों फ़ाइल सिंटैक्स का समर्थन करता है, जो किसी भी वांछित पथ के लिए गतिशील शब्द सूची निर्माण को सक्षम बनाता है। इसके अतिरिक्त, यह विभिन्न एन्कोडिंग और अन्य तकनीकों के साथ वेब एप्लिकेशन फ़ायरवॉल (WAF) कार्यान्वयन को बायपास करने का प्रयास कर सकता है।

यह आपूर्ति किए गए कमांड के आधार पर कमांड निष्पादन के लिए गतिशील शब्द सूचियाँ उत्पन्न करता है। यह यूनिक्स और विंडोज़ दोनों वातावरणों के लिए विभिन्न विभाजक और समाप्तकों को जोड़ता है।

यह SQL इंजेक्शन हमलों के विभिन्न प्रकारों के लिए पेलोड उत्पन्न करता है, जिसमें स्टैक्ड क्वेरीज़, बूलियन-आधारित, यूनियन-आधारित और टाइम-आधारित शामिल हैं। इसे किसी उपयोगकर्ता इनपुट की आवश्यकता नहीं है; आप बस वांछित SQL हमले के प्रकार और डेटाबेस चुनते हैं, और यह विभिन्न संयोजनों के साथ एक शब्द सूची उत्पन्न करता है।

BCheck, Burp Suite का ढांचा है जो कस्टम स्कैन जाँच बनाने और आयात करने के लिए है। ये उपयोगकर्ता-परिभाषित जाँचें Burp Scanner की अंतर्निहित प्रक्रियाओं के साथ चलती हैं, जिससे आप विशिष्ट कमजोरियों या परीक्षण आवश्यकताओं के लिए स्कैन को अनुकूलित कर सकते हैं। BChecks का उपयोग करके, आप Burp की स्कैनिंग क्षमताओं का विस्तार कर सकते हैं और अधिक लक्षित और कुशल मूल्यांकन के लिए अपने वर्कफ़्लो को सुव्यवस्थित कर सकते हैं। अब आप कोड को स्वचालित रूप से उत्पन्न कर सकते हैं:
कृपया ध्यान दें कि जैसे-जैसे Bambdas स्क्रिप्ट का आकार बढ़ता है, यह विशेष रूप से स्कैनिंग के दौरान प्रदर्शन समस्याएँ पैदा कर सकता है। बड़ी स्क्रिप्ट प्रतिक्रियात्मकता को धीमा कर सकती हैं, मेमोरी उपयोग बढ़ा सकती हैं, और कार्यों को निष्पादित करने में देरी का कारण बन सकती हैं।
“Generate payloads for BCheck” बटन पर क्लिक करने के बाद, BCheck कोड स्वचालित रूप से आपके क्लिपबोर्ड पर कॉपी हो जाएगा।
इसके बाद, Burp Suite मेनू से 'Extensions > BChecks > New > Blank' पर जाएँ, और जनरेट किए गए कोड को पेस्ट करें।
अब आपके पेलोड एक BCheck में एकीकृत हो गए हैं। आप या तो मैन्युअल रूप से HTTP अनुरोध भेज या स्कैन कर सकते हैं, या Burp स्कैन शुरू कर सकते हैं जिसमें उपकरण द्वारा उत्पन्न इंजेक्शन पेलोड को स्वचालित रूप से परीक्षण करने के लिए BCheck नियंत्रण शामिल हैं।
फ़ाइन-ट्यूनिंग सलाह: जनरेट किया गया कोड एक टेम्पलेट के रूप में कार्य करता है और इसमें कुछ समायोजन की आवश्यकता हो सकती है, क्योंकि विभिन्न अनुप्रयोगों और सर्वरों के बीच व्यवहार भिन्न हो सकता है।
फ़िल्टर को परिष्कृत करना—जैसे HTTP प्रतिक्रिया कोड या प्रतिक्रियाओं के भीतर कीवर्ड निर्दिष्ट करना—गलत सकारात्मक परिणामों को कम करने और परिणामों को अधिक सटीक और कम शोरगुल वाला बनाने में मदद कर सकता है।
यह भाग उपयोगकर्ता सत्र और URL संबंधों का विश्लेषण करके एक्सेस उल्लंघनों की पहचान करने पर केंद्रित है। उपकरण पूर्व-परिभाषित उपयोगकर्ता सत्रों से जुड़े सभी URL पर व्यवस्थित रूप से जाता है और HTTP प्रतिक्रियाओं के साथ एक तालिका भरता है। मूलतः, यह एक एक्सेस मैट्रिक्स बनाता है, जो प्रमाणीकरण और प्राधिकरण मुद्दों की पहचान करने में सहायता करता है। अंततः, यह प्रक्रिया बताती है कि कौन से उपयोगकर्ता विशिष्ट पृष्ठ सामग्री तक पहुँच सकते हैं।
थोड़ा और विवरण:
कृपया ध्यान दें कि संभावित सत्र समाप्त करने वाले (जैसे लॉगऑफ़, साइन-आउट आदि) और विशिष्ट फ़ाइल प्रकार (जैसे CSS, इमेज, जावास्क्रिप्ट आदि) 'Spider' और उपयोगकर्ता की URL सूची दोनों से फ़िल्टर कर दिए जाएँगे।
'RUN' पर क्लिक करने के बाद, उपकरण उपयोगकर्ता और URL मैट्रिक्स को विभिन्न रंगों से भर देगा। उपयोगकर्ता-विशिष्ट रंगों के अलावा, आप लाल, नारंगी और पीले सेल देखेंगे जो संभावित एक्सेस मुद्दों का संकेत देते हैं।
हाथ में लिया गया कार्य एक बल्क प्रक्रिया है, और यह उल्लेख करने योग्य है कि कौन सी HTTP अनुरोध विधियाँ उपयोग की जाएँगी। उपकरण HTTP कॉल करने के लिए तीन अलग-अलग विकल्प प्रदान करता है:
HTTP 403 फॉरबिडन स्थिति कोड इंगित करता है कि सर्वर अनुरोध को समझता है लेकिन इसे अधिकृत करने से इनकार करता है। मूलतः, इसका अर्थ है, 'मैं पहचानता हूँ कि आप कौन हैं, लेकिन आपके पास इस संसाधन तक पहुँचने की अनुमति नहीं है।' यह स्थिति अक्सर 'अपर्याप्त अनुमतियाँ', 'प्रमाणीकरण आवश्यक', 'IP प्रतिबंध' जैसे मुद्दों की ओर इशारा करती है।
उपकरण URL हेरफेर और अनुरोध हेडर संशोधन जैसी विभिन्न तकनीकों का उपयोग करके सामान्य एक्सेस निषिद्ध त्रुटि को संबोधित करता है। ये रणनीतियाँ एक्सेस प्रतिबंधों को बायपास करने और वांछित सामग्री प्राप्त करने का लक्ष्य रखती हैं।
दो अलग-अलग उपयोग के मामलों का उल्लेख करना उचित है:
उपकरण में HTTP अनुरोध भेजने के 2 तरीके हैं।
जिस पृष्ठ तक हम पहुँचना चाहते हैं वह एक विशेषाधिकार प्राप्त उपयोगकर्ता समूह से संबंधित है, और हम यह सत्यापित करने के लिए अपने सत्र पहचानकर्ताओं को बनाए रखते हैं कि क्या विशेषाधिकार वृद्धि संभव है।
बस 'RUN' बटन पर क्लिक करने से कार्य निष्पादित हो जाएगा।
नीचे दिया गया चित्र दर्शाता है कि एक URL में एक्सेस समस्या हो सकती है, जिसमें 'लाल' रंग चेतावनी का संकेत देता है।
कृपया ध्यान दें कि प्रयासों की संख्या विशिष्ट लक्ष्य URL पर निर्भर करती है।
यह सुविधा HTTP अनुरोधों को जावास्क्रिप्ट कोड में रूपांतरित करने में सक्षम बनाती है, जो XSS कमजोरियों से परे जाने और हेडर प्रतिबंधों को बायपास करने के लिए विशेष रूप से उपयोगी हो सकती है।
इस सुविधा का उपयोग करने के लिए, किसी भी HTTP अनुरोध पर राइट-क्लिक करें और 'Extensions > Agartha > Copy as JavaScript' चुनें।
यह आपके क्लिपबोर्ड पर स्वचालित रूप से सहेजा जाएगा, जिसमें आपके संदर्भ के लिए कुछ अतिरिक्त टिप्पणियाँ शामिल होंगी। उदाहरण के लिए:``` Http request with minimal parameters:
Http request with header fields:
कृपया ध्यान दें कि जावास्क्रिप्ट कोड मूल उपयोगकर्ता सत्र के अंतर्गत निष्पादित होगा, ब्राउज़र द्वारा अनेक हेडर फ़ील्ड स्वतः भर दिए जाएंगे। हालांकि, कुछ मामलों में, सर्वर को विशिष्ट अनिवार्य हेडर फ़ील्ड की आवश्यकता हो सकती है। उदाहरण के लिए, यदि 'Content-Type' गलत है तो कुछ अनुरोध विफल हो सकते हैं। इसलिए, सर्वर की आवश्यकताओं के अनुरूप कोड को समायोजित करना आवश्यक हो सकता है।
<br/><br/>
## बैम्बडास कोड जनरेटर
बैम्बडास हल्के स्क्रिप्ट हैं जो सीधे बर्प सूट के अंदर चलते हैं, जिससे उपयोगकर्ता विभिन्न कार्यों को तेज़ी से अनुकूलित और स्वचालित कर सकते हैं। इनका उपयोग कस्टम मैच-और-रिप्लेस नियमों को परिभाषित करने, गतिशील तालिका कॉलम जोड़ने, फ़िल्टर लागू करने, और इंटरफ़ेस को विशिष्ट परीक्षण कार्यप्रवाहों के अनुरूप ढालने के लिए किया जा सकता है।
<img width="1000" alt="बैम्बडास कोड जनरेटर" src="https://assets.kitploit.com/production/public/readmes/5162/1f24e30531216aea02630b65422c79753e12e44148338735a51450ba4d42be03.png">
स्पष्टीकरण, थोड़ा और विस्तार:
1. स्क्रिप्ट निर्माण GUI के संबंध में, यहां सामान्य सेटिंग्स चुनी जा सकती हैं। उदाहरण के लिए:
- केवल इन-स्कोप पतों या सभी डोमेन पतों पर प्रक्रिया करना।
- विशिष्ट फ़ाइल एक्सटेंशन छिपाना या नहीं।
- ग्रुप 3 के पहले भाग में स्थित स्कोप अनुभाग में परिभाषित URLs के लिए रंग।
- ग्रुप 3 के दूसरे भाग में स्थित पहले से परीक्षित URLs के लिए रंग।
- मुख्यतः ग्रुप 2 में परिभाषित फ़िल्टर के लिए रंग।
- प्रदर्शित करने के लिए पिछले दिनों की संख्या।
- स्क्रिप्ट द्वारा प्रक्रिया करने के लिए पिछले दिनों की संख्या।
2. दूसरे खंड के विकल्प मुख्यतः HTTP अनुरोधों और प्रतिक्रियाओं के प्रक्रमण से संबंधित हैं:
- यह निर्दिष्ट करने के विकल्प प्रदान करता है कि खोज मानदंड URL, अनुरोध, या प्रतिक्रिया पर लागू होना चाहिए। इनमें से किसी का चयन करने पर नीचे के संगत विकल्प सक्रिय हो जाएंगे। उदाहरण के लिए, यदि आप 'असुरक्षित जावास्क्रिप्ट फलन' खोजना चाहते हैं, तो यह केवल HTTP प्रतिक्रियाओं में संभव होगा।
- विशिष्ट HTTP विधियों को छिपाने का विकल्प।
- "HTML टिप्पणियाँ खोजें", "डाउनलोड करने योग्य फ़ाइल एक्सटेंशन", और "असुरक्षित JS फलन" सामान्यतः HTTP प्रतिक्रियाओं में खोजे जाते हैं।
- "मूल्यवान कीवर्ड" खोज URL, अनुरोधों और प्रतिक्रियाओं पर लागू की जा सकती है।
- "SQLi-संदिग्ध पहचानकर्ता, XSS-संदिग्ध पहचानकर्ता, LFI-संदिग्ध पहचानकर्ता, SSRF-संदिग्ध पहचानकर्ता, ओपन रिडायरेक्ट-संदिग्ध पहचानकर्ता, और RCE-संदिग्ध पहचानकर्ता" को URL या अनुरोधों में खोजा जा सकता है। "मूल्यवान कीवर्ड" के विपरीत, जो मुक्त-पाठ खोजता है, ये विकल्प विशेष रूप से पैरामीटर का पता लगाते हैं।
3. तीसरे खंड के विकल्प मुख्यतः स्कोप, पहले से परीक्षित URLs, और जिन URLs को आप छिपाना चाहते हैं, उन्हें परिभाषित करने के लिए हैं।
- "परीक्षण स्कोप की परिभाषा" अनुभाग में परीक्षण किए जाने वाले URLs को परिभाषित किया जा सकता है। यदि आप / दर्ज करते हैं, तो पूरा एप्लिकेशन स्कोप में माना जाएगा; यदि आप एक विशिष्ट पथ जैसे /users जोड़ते हैं, तो केवल वह निर्देशिका और उसकी सामग्री स्कोप में होगी। "परीक्षण स्कोप के लिए रंग" विकल्प इस अनुभाग पर लागू होता है।
- "पहले से परीक्षित URLs" अनुभाग में उन URLs की सूची है जिनका परीक्षण पहले ही हो चुका है। "परीक्षित वस्तुओं के लिए रंग" विकल्प यहां लागू होता है।
- "ब्लैक-लिस्टेड URLs" अनुभाग में वे URLs हैं जिन्हें आप प्रॉक्सी इतिहास से छिपाना चाहते हैं।
**परिभाषाओं के उदाहरण**:
- /
- मूल पथ — सब कुछ शामिल करता है।
नोट: परीक्षण और परीक्षित स्कोप परिभाषाओं के अतिरिक्त, इसे ब्लैक-लिस्टेड URLs अनुभाग में भी लागू किया जा सकता है, जहां यह तब तक सब कुछ बाहर करता है जब तक कोई मिलान मानदंड परिभाषित न हो।
- /portal/users
- विशेष रूप से इस पथ और इसकी उपपथों को शामिल करता है, उदाहरण के लिए:
- /portal/users?id=1
- /portal/users/?id=1
- /portal/users/dashboard
- /admin/\*/users/\*/class
- तारांकन (*) आईडी, UUID आदि के लिए प्लेसहोल्डर के रूप में कार्य करता है, और शेष पथ शामिल किया जाएगा।
- /api/v\*/user
- तारांकन (*) एक वाइल्डकार्ड के रूप में कार्य करता है जो **v** के बाद अगले '/' तक किसी भी वर्ण अनुक्रम से मेल खाता है, उदाहरण के लिए:
- /api/v1/user
- /api/v2/user
- /health-check
- विशेष रूप से इस पथ और इसकी उपपथों को शामिल करता है, उदाहरण के लिए:
- /health-check
- /health-check/Monitor
- /health-check/?Level=Info
4. अंत में, चौथा खंड वह है जहां "रन" बटन पर क्लिक करके उत्पन्न स्क्रिप्ट प्रदर्शित होती है, और स्क्रिप्ट अब उपयोग के लिए तैयार है। सामान्यतः, इस स्क्रिप्ट को दो अलग-अलग तरीकों से जोड़ा जा सकता है:
- अस्थायी (परियोजना-आधारित): एप्लिकेशन मेनू से, Proxy > HTTP History > Bambda Mode > Apply & Close पर जाएं।
- स्थायी (एप्लिकेशन-व्यापी): एप्लिकेशन मेनू से, Extensions > Bambda Library > New > Blank > View filter + HTTP history > Save & Close पर जाएं।
**कृपया ध्यान दें**: सभी विकल्पों को सक्षम करना, विशेषकर बड़ी परियोजनाओं के लिए, महत्वपूर्ण सिस्टम संसाधन उपयोग और बढ़ी हुई प्रक्रिया समय का कारण बन सकता है। यदि आपके द्वारा बनाई गई स्क्रिप्ट उचित समय में पूरी नहीं होती है, तो इसे संशोधित करना लाभदायक हो सकता है।
<img width="1000" alt="बैम्बडास कोड जनरेटर" src="https://assets.kitploit.com/production/public/readmes/5162/cb116ad18bc53ebf770b5bc1cb2b920cc9ef3a4569fab9b12d5fb9979823a58c.png">
**विकल्प प्राथमिकता**: सर्वोच्च प्राथमिकता 'परीक्षित वस्तुओं के लिए रंग' है, उसके बाद 'परीक्षण स्कोप के लिए रंग', और अंत में 'पैरामीटर/कीवर्ड के लिए रंग'।
उपरोक्त चित्र निम्नलिखित दर्शाता है:
- **गुलाबी** परीक्षण स्कोप (ग्रुप 3 का पहला भाग) को इंगित करता है।
- **पीला** परीक्षित स्कोप (ग्रुप 3 का दूसरा भाग) को दर्शाता है।
- **सियान** खोज मानदंड (ग्रुप 2) से मिलान को उजागर करता है। इसके अलावा, आप प्रत्येक HTTP कॉल के 'नोट्स' अनुभाग में देख सकते हैं कि कौन सा मानदंड मेल खाया।
यदि आप बाद में पहले से बनाई गई स्क्रिप्ट को अद्यतन या संशोधित करते हैं, तो कुछ महत्वपूर्ण बिंदु ध्यान में रखने योग्य हैं:
- यदि आप अपनी स्क्रिप्ट को स्थायी (एप्लिकेशन-व्यापी) के रूप में सेट करते हैं, तो आपको इसे निम्नलिखित चरणों का पालन करके पुनः लोड करना होगा:
बैम्बडा स्क्रिप्ट मोड > लोड
<img width="800" alt="बैम्बडास कोड जनरेटर" src="https://assets.kitploit.com/production/public/readmes/5162/5a840779ef9b2df5ac22e94d8ebf6771a677d5d45d49f35cae6f4b3a2e820cd2.png">
- यदि आप अपनी स्क्रिप्ट का उपयोग अस्थायी (परियोजना-आधारित) के रूप में करते हैं, तो सामान्यतः आपके पास दो विकल्प होते हैं:
1. यदि आप चाहते हैं कि संशोधित स्क्रिप्ट उस क्षण से सक्रिय हो, तो कोई अतिरिक्त कदम आवश्यक नहीं है—बस Apply पर क्लिक करें।
2. यदि आप चाहते हैं कि संशोधित स्क्रिप्ट पूरे प्रॉक्सी इतिहास को प्रक्रिया करे, तो आपको या तो Bambda Mode को पुनः सक्षम करना होगा, या स्क्रिप्ट के अंदर boolean resetScreen पैरामीटर को टॉगल करना होगा:
```
// 'true' रंग/नोट साफ करता है
// 'false' स्क्रिप्ट निष्पादित करता है
boolean resetScreen = false; // या true
```
<img width="800" alt="बैम्बडास कोड जनरेटर" src="https://assets.kitploit.com/production/public/readmes/5162/cf2dac03f0dd6f1db5d8950b0162eda9e18862b1fb9da7a57f4cc119ec233c57.png">
<br/><br/>
[एक और ट्यूटोरियल लिंक](https://www.linkedin.com/pulse/agartha-lfi-rce-auth-sqli-http-js-volkan-dindar)