
एक मल्टीथ्रेडेड टूल जो नेटवर्क में SMB के माध्यम से क्रेडेंशियल्स को मान्य, अमान्य या स्थानीय व्यवस्थापक मान्य क्रेडेंशियल्स के रूप में बड़े पैमाने पर पहचानने के लिए डिज़ाइन किया गया है, साथ ही अब एक उपयोगकर्ता शिकारी के साथ।
यह टूल उन पेनिट्रेशन टेस्टरों के लिए है जो तेज़ी और कुशलता से एक अभियान चलाना चाहते हैं। हालांकि इस टूल का उपयोग अधिक गुप्त संचालनों के लिए भी किया जा सकता है (नीचे कुछ अतिरिक्त सुविधाओं सहित), यह वास्तव में बड़े नेटवर्क के पैमाने पर उपयोग किए जाने पर अपना सर्वश्रेष्ठ प्रदर्शन करता है।
इसके मूल में, आप इसे क्रेडेंशियल्स की एक सूची प्रदान करते हैं जिन्हें आपने डंप किया है (या हैश, यह पास-द-हैश कर सकता है) और डोमेन पर सिस्टम की एक सूची (मैं पहले पोर्ट 445 स्कैन करने का सुझाव देता हूं, या आप "--scan" का उपयोग कर सकते हैं)। यह आपको बताएगा कि क्या आपके द्वारा डंप किए गए क्रेडेंशियल डोमेन पर मान्य हैं, और क्या आपके पास किसी होस्ट पर स्थानीय व्यवस्थापक पहुँच है। अतिरिक्त सुविधाओं के लिए नीचे देखें, जैसे उपयोगकर्ता खोज और होस्ट विवरण गणना।
यह काली लिनक्स पर चलाने के लिए है
.d8888b. 888 888b 888 d8b d8b
d88P Y88b 888 8888b 888 Y8P Y8P
888 888 888 88888b 888
888 888d888 .d88b. .d88888 888Y88b 888 888 88888b. 8888 8888b.
888 888P" d8P Y8b d88" 888 888 Y88b888 888 888 "88b "888 "88b
888 888 888 88888888 888 888 888 Y88888 888 888 888 888 .d888888
Y88b d88P 888 Y8b. Y88b 888 888 Y8888 888 888 888 888 888 888
"Y8888P" 888 "Y8888 "Y88888 888 Y888 888 888 888 888 "Y888888
888
d88P
888P"
v2.3 (Built 1/26/2018) - Chris King (@raikiasec)
सहायता के लिए: ./CredNinja.py -h
उपयोग: CredNinja.py -a accounts_to_test.txt -s systems_to_test.txt [-t THREADS] [--ntlm] [--valid] [--invalid] [-o OUTPUT] [-p PASSDELIMITER] [--delay SECONDS %JITTER] [--timeout TIMEOUT] [--stripe] [--scan] [--scan-timeout SCAN_TIMEOUT] [-h] [--no-color] [--os] [--domain] [--users] [--users-time USERS_TIME]
एकाधिक सर्वरों पर एकाधिक उपयोगकर्ता क्रेडेंशियल्स की वैधता शीघ्रता से जांचें और सूचित किया जाए कि क्या उस उपयोगकर्ता के पास प्रत्येक सर्वर पर स्थानीय व्यवस्थापक अधिकार हैं।
आवश्यक तर्क: -a accounts_to_test.txt, --accounts accounts_to_test.txt परीक्षण करने के लिए उपयोगकर्ता क्रेडेंशियल्स का एक शब्द या फ़ाइल। उपयोगकर्ता नाम "DOMAIN\USERNAME:PASSWORD" के रूप में स्वीकार किए जाते हैं -s systems_to_test.txt, --servers systems_to_test.txt परीक्षण करने के लिए सर्वरों का एक शब्द या फ़ाइल। यह एक एकल सिस्टम, सिस्टमों की सूची वाली फ़ाइल, एक gnmap फ़ाइल, या cidr नोटेशन में IP पते हो सकते हैं। प्रत्येक क्रेडेंशियल का परीक्षण इनमें से प्रत्येक सर्वर पर C$ को SMB के माध्यम से ब्राउज़ करने का प्रयास करके किया जाएगा
वैकल्पिक तर्क: -t THREADS, --threads THREADS उपयोग करने के लिए थ्रेड्स की संख्या। डिफ़ॉल्ट 10 है --ntlm पासवर्ड को NTLM हैश के रूप में मानें और पास-द-हैश का प्रयास करें! --valid केवल मान्य/स्थानीय व्यवस्थापक क्रेडेंशियल प्रिंट करें --invalid केवल अमान्य क्रेडेंशियल प्रिंट करें -o OUTPUT, --output OUTPUT परिणामों को एक फ़ाइल में प्रिंट करें -p PASSDELIMITER, --passdelimiter PASSDELIMITER खाता उपयोगकर्ता नाम और पासवर्ड के बीच विभाजक बदलें। डिफ़ॉल्ट ":" है --delay SECONDS %JITTER प्रति थ्रेड प्रत्येक अनुरोध में निर्दिष्ट सेकंड की देरी जिटर के साथ (उदाहरण: --delay 20 10, 20 सेकंड की देरी 10% जिटर के साथ) --timeout TIMEOUT डेटा की प्रतीक्षा करने के लिए टाइमआउट होने से पहले सेकंड की संख्या। डिफ़ॉल्ट 15 सेकंड है --stripe एक होस्ट पर केवल एक क्रेडेंशियल का परीक्षण करें ताकि एकल सिस्टम पर कई लॉगिन प्रयासों से स्पैमिंग से बचा जा सके (क्रेडेंशियल की वैधता जांचने के लिए उपयोग किया जाता है)। यह प्रदान की गई होस्ट फ़ाइल से यादृच्छिक रूप से होस्ट का चयन करेगा। --scan होस्ट को कतार में डालने से पहले यह जाँचने के लिए एक त्वरित जांच करें कि पोर्ट 445 उपलब्ध है या नहीं --scan-timeout SCAN_TIMEOUT --scan तर्क द्वारा निर्दिष्ट स्कैन के लिए टाइमआउट सेट करता है। डिफ़ॉल्ट 2 सेकंड -h, --help इस स्क्रिप्ट के उपयोग के बारे में सहायता प्राप्त करें --no-color आउटपुट का रंग बंद करता है। लिखी गई फ़ाइल हमेशा बिना रंग की होती है
अतिरिक्त जानकारी प्राप्ति: --os सिस्टम का OS प्रदर्शित करें यदि उपलब्ध हो (कोई अतिरिक्त अनुरोध नहीं भेजा जा रहा है) --domain सिस्टम का प्राथमिक डोमेन प्रदर्शित करें यदि उपलब्ध हो (कोई अतिरिक्त अनुरोध नहीं भेजा जा रहा है) --users उन उपयोगकर्ताओं को सूचीबद्ध करें जिन्होंने पिछले 6 महीनों में सिस्टम में लॉग इन किया है (स्थानीय व्यवस्थापक की आवश्यकता है)। उपयोगकर्ता नामों के साथ उनके होम डायरेक्टरी बदले जाने के बाद से दिनों की संख्या लौटाता है। यह प्रत्येक होस्ट को एक अतिरिक्त अनुरोध भेजता है --users-time USERS_TIME --users को संशोधित करता है ताकि पिछले दिए गए दिनों के भीतर लॉग इन करने वाले उपयोगकर्ताओं को खोजा जा सके (डिफ़ॉल्ट 100 दिन)
परिवर्तन सूची:
v2.3 - कुछ अतिरिक्त सुविधाओं के साथ अद्यतन
* gnmap फ़ाइल पार्सिंग जोड़ा गया। --systems (-s) तर्क को दी गई फ़ाइल अब एक gnmap फ़ाइल (.gnmap में समाप्त) हो सकती है
* cidr नोटेशन पार्सिंग जोड़ा गया। --systems (-s) तर्क को दिया गया IP पता अब cidr नोटेशन में हो सकता है और यह रेंज का उचित विस्तार करेगा और IP स्पेस के सभी सिस्टम का परीक्षण करेगा (सुनिश्चित करें कि आप सिस्टम को पहले से स्कैन करने के लिए --scan प्रदान करें!)
* --scan को मल्टीथ्रेडेड बनाया गया ताकि यह बहुत तेज़ चले
v2.0 - पूर्ववर्ती CredSwissArmy से CredNinja का प्रारंभिक रिलीज़:
* पिछले CredSwissArmy की समान क्षमता (क्रेडेंशियल और होस्ट सूची का उपयोग करके SMB के माध्यम से नेटवर्क में स्थानीय व्यवस्थापक पहुँच खोजना)
* पूरी तरह से मल्टीथ्रेडेड! यह पुराने CredSwissArmy से 8 गुना तेज़ है!
* त्रुटियों और जटिल पासवर्डों को बेहतर ढंग से संभालता है
* "--ntlm" विकल्प के साथ अभी भी पास-द-हैश कर सकता है
* पहले जैसे ही तर्क हैं
* "--timeout" जोड़ा गया, जो आप चाहें तो स्कैन को तेज़ी से पूरा करने देता है
* "--scan" जोड़ा गया, जो क्रेडेंशियल आज़माने से पहले होस्ट के पोर्ट 445 की त्वरित जांच करता है ताकि सुनिश्चित किया जा सके कि वे कनेक्ट हो सकते हैं
* "--stripe" जोड़ा गया, जो प्रत्येक क्रेडेंशियल का एक यादृच्छिक सिस्टम पर एक बार परीक्षण करता है (किसी एक सिस्टम के इवेंट लॉग में संदिग्ध दिखाई दिए बिना क्रेडेंशियल को मान्य करने के लिए उपयोग किया जाता है)
* "--delay" जोड़ा गया, जो आपको अधिक गुप्त होने के लिए होस्ट स्कैन करने के बीच देरी निर्दिष्ट करने देता है। "--delay 10 20" 10 सेकंड की देरी 20% जिटर के साथ (अर्थात 8-10 सेकंड के बीच) देगा
* रंगीन आउटपुट जोड़ा गया ताकि सफलता मिलने पर यह अधिक स्पष्ट हो!
और अब शानदार जोड़
* "--os" जोड़ा गया, जो प्रत्येक सिस्टम का ऑपरेटिंग सिस्टम दिखाता है जिसे यह पहचान सकता है (लक्ष्य होस्ट को कोई अतिरिक्त पैकेट नहीं भेजा जाता)
* "--domain" जोड़ा गया, जो सिस्टम का प्राथमिक डोमेन दिखाता है जिसका वह सदस्य है (लक्ष्य होस्ट को कोई अतिरिक्त पैकेट नहीं भेजा जाता)
* "--users" जोड़ा गया, जो उन उपयोगकर्ताओं की सूची दिखाता है जिनकी होम डायरेक्टरी X दिनों में संशोधित हुई है (X को "--users-days" द्वारा संशोधित किया जा सकता है, डिफ़ॉल्ट 100)। मूल रूप से एक SMB उपयोगकर्ता-शिकारी जो दिखाता है कि उपयोगकर्ता कहाँ लॉग इन हैं या कहाँ लॉग इन हुए हैं (प्रत्येक लक्ष्य होस्ट को 1 अतिरिक्त पैकेट भेजा जाता है)
* जल्द ही आ रहा है: एंटीवायरस डिटेक्टर जो सिस्टम पर चल रहे संभावित एंटीवायरस के बारे में सूचना देगा