BruteLoops
एक बहुत सरल लाइब्रेरी जो प्रमाणीकरण इंटरफेस के खिलाफ कुशल पासवर्ड ब्रूट फोर्स हमलों के लिए मूलभूत तर्क प्रदान करती है।
दस्तावेज़ीकरण
दस्तावेज़ीकरण यहाँ पाया जा सकता है।
यदि आप पुराने उदाहरण मॉड्यूल की तलाश कर रहे हैं...
देखें BFG।
उदाहरणों को कोड और पैकेजिंग समस्याओं को कम करने के लिए एक अलग प्रोजेक्ट में स्थानांतरित कर दिया गया है। डेटाबेस और हमले की क्षमताओं को भी एक एकल बाइनरी में विलय कर दिया गया है।
मुख्य विशेषताएं
- प्रोटोकॉल अज्ञेयवादी - यदि पायथन में कॉलबैक लिखा जा सकता है, तो BruteLoops का उपयोग उस पर हमला करने के लिए किया जा सकता है
- SQLite समर्थन - सभी उपयोगकर्ता नाम, पासवर्ड और क्रेडेंशियल SQLite डेटाबेस में बनाए रखे जाते हैं।
- एक सहायक उपयोगिता (
dbmanager.py) जो इनपुट डेटाबेस बनाती और प्रबंधित करती है, BruteLoops के साथ आती है
- एक उपकरण में स्प्रे और स्टफिंग हमले - BruteLoops एक ही हमले के तर्क और डेटाबेस में स्प्रे और स्टफिंग दोनों हमलों का समर्थन करता है, जिसका अर्थ है कि आप एक एकल डेटाबेस कॉन्फ़िगर कर सकते हैं और भारी पुनर्विन्यास और भ्रम के बिना हमला चला सकते हैं।
- अनुमान शेड्यूलिंग - SQLite डेटाबेस में प्रत्येक उपयोगकर्ता नाम एक टाइमस्टैम्प के साथ कॉन्फ़िगर किया गया है जो प्रत्येक प्रमाणीकरण घटना के बाद अपडेट किया जाता है। इसका मतलब है कि हम प्रत्येक प्रमाणीकरण घटना को सटीकता से शेड्यूल करके खातों के लॉक होने की संभावना को काफी कम कर सकते हैं।
- लॉकआउट घटनाओं से बचने के लिए सूक्ष्म-स्तरीय विन्यास-क्षमता - Microsoft की लॉकआउट नीतियों को BruteLoop के मापदंडों का उपयोग करके 1-से-1 मिलान किया जा सकता है:
auth_threshold = लॉकआउट थ्रेशोल्ड
max_auth_jitter = लॉकआउट ऑब्जर्वेशन विंडो
- प्रत्येक प्रमाणीकरण घटना से जुड़े टाइमस्टैम्प BruteLoops के SQLite डेटाबेस में ट्रैक किए जाते हैं। प्रत्येक उपयोगकर्ता नाम को एक अलग टाइमस्टैम्प मिलता है ताकि प्रमाणीकरण घटनाएं अत्यधिक नियंत्रित रहें।
- हमले को फिर से शुरू करना - हमले को रोकना और फिर से शुरू करना संभव है, बिना हमले में अपनी स्थिति खोने या खातों को लॉक करने की चिंता के।
- मल्टीप्रोसेसिंग - मल्टीप्रोसेसिंग का उपयोग करके हमलों को तेज़ करें! समानांतर अनुमान गणना को कॉन्फ़िगर करके, आप प्रभावी रूप से BruteLoops को बता रहे हैं कि समानांतर में कितने उपयोगकर्ता नामों का अनुमान लगाना है।
- लॉगिंग - प्रत्येक प्रमाणीकरण घटना को वैकल्पिक रूप से डिस्क पर लॉग किया जा सकता है। यह जानकारी रेड टीमों के दौरान उपयोगी हो सकती है, जिससे ग्राहकों को एक विस्तृत हमला समयरेखा प्रदान की जा सकती है जिसे लॉग की गई घटनाओं से मैप किया जा सकता है।
- ब्रेकर्स - ब्रेकर्स सर्किट ब्रेकर्स की तरह व्यवहार करते हैं। हमले के लूप को समाप्त करने से पहले x बार एक अपवाद उठाया जा सकता है। वे एक निश्चित अवधि के बाद रीसेट भी हो सकते हैं, जिससे "6 ConnectionErrors होने के बाद बाहर निकलें" जैसे कॉन्फ़िगरेशन की अनुमति मिलती है।
निर्भरताएँ
BruteLoops को Python3.7 या नए और SQLAlchemy 1.3.0 की आवश्यकता है, जिसे pip और इस रिपॉजिटरी में requirements.txt फ़ाइल के माध्यम से प्राप्त किया जा सकता है: python3.7 -m pip install -r requirements.txt
स्थापना
git clone https://github.com/arch4ngel/bruteloops
cd bruteloops
python3 -m pip install -r requirements.txt