
यदि आप आंतरिक नेटवर्क पर हैं लेकिन AD वातावरण के बाहर हैं तो सादे पाठ में Active Directory क्रेडेंशियल प्राप्त करता है।
उस प्यारे Active Directory वातावरण के साथ संपर्क स्थापित करें। जब आप अकेले और ठंडे होकर किसी Active Directory पार्टी को देख रहे हों, लेकिन पार्टी में शामिल होने के लिए आपके पास एक भी AD क्रेडेंशियल नहीं हो, तो यह टूल आपके लिए है।
Active Directory के विरुद्ध 5 आंतरिक नेटवर्क हमलों को क्रमिक रूप से स्वचालित करता है ताकि आपको सादा-पाठ क्रेडेंशियल्स मिल सकें। फ़ुटहोल्ड प्राप्त करने के बाद डोमेन एडमिन विशेषाधिकार स्वचालित रूप से प्राप्त करने के लिए --auto विकल्प का उपयोग करें।
निम्नलिखित हमले क्रमिक रूप से तब तक किए जाते हैं जब तक कि चौथा और पाँचवाँ हमला समानांतर और अनिश्चितकालीन रूप से न चलने लगे।
नीचे दी गई तकनीकों में कैप्चर किए गए सभी NetNTLMv2 हैश JohnTheRipper और 1 मिलियन लंबाई की AD-विशिष्ट पासवर्ड सूची के साथ स्वतः क्रैक किए जाते हैं।
यह उपरोक्त 5 नेटवर्क हमलों को क्रम में करेगा। रिवर्स ब्रूटफ़ोर्सिंग और SCF फ़ाइल अपलोड आमतौर पर बहुत तेज़ी से होते हैं, फिर यह हमला 3, Responder.py, पर डिफ़ॉल्ट रूप से 10 मिनट के लिए रुकता है। उस समय के बाद, या उपयोगकर्ता द्वारा निर्दिष्ट समय बीत जाने के बाद, यह अंतिम दो हमलों पर आगे बढ़ता है जो समानांतर और अनिश्चितकालीन रूप से चलते हैं।
यदि कोई होस्ट null SMB सत्रों की अनुमति देता पाया जाता है, तो icebreaker वैध उपयोगकर्ता नामों के लिए RID साइक्लिंग करने के लिए ridenum का उपयोग करेगा। यदि आप "-d <somedomain.com>" विकल्प का उपयोग करते हैं, तो theHarvester निर्दिष्ट वेबसाइट से किसी भी ईमेल पते को स्क्रैप करेगा। कोई भी ईमेल उपयोगकर्ता नाम जो AD-संगत हैं, रिवर्स ब्रूटफ़ोर्स उपयोगकर्ता नाम सूची में जोड़ दिए जाएंगे। Icebreaker asyncio लाइब्रेरी का उपयोग करके linux टूल rpcclient का उपयोग करके 10 async वर्कर्स के साथ रिवर्स ब्रूटफ़ोर्स करता है।
SCF अपलोड हमला गुमनाम रूप से लिखने योग्य नेटवर्क शेयरों के विरुद्ध Shell Command Files का दुरुपयोग करता है। SCF ऐसी फ़ाइलें हैं जो डेस्कटॉप दिखाने या फ़ाइल एक्सप्लोरर विंडो खोलने जैसी बुनियादी क्रियाएँ कर सकती हैं। उनमें एक उत्सुक गुण होता है जो आपको उनके फ़ाइल आइकन को नेटवर्क पथ पर सेट करने की अनुमति देता है। यदि आप इस नेटवर्क पथ को अपनी मशीन पर सेट करते हैं, तो जो उपयोगकर्ता फ़ाइल एक्सप्लोरर में फ़ाइल शेयर खोलते हैं, वे स्वचालित रूप से आपको अपना NetNTLMv2 पासवर्ड हैश भेज देंगे। Icebreaker गुमनाम रूप से लिखने योग्य शेयर खोजने के लिए Nmap स्क्रिप्ट smb-enum-shares का उपयोग करता है, फिर स्वचालित रूप से पेलोडेड SCF उत्पन्न और अपलोड करता है।
हमला 3 LLMNR, NBT-NS और mDNS मल्टीकास्ट/ब्रॉडकास्ट प्रोटोकॉल को विषाक्त करने के लिए Responder.py का उपयोग करता है। जब उपयोगकर्ता किसी अस्तित्वहीन नेटवर्क पथ पर नेविगेट करते हैं, तो Responder उन्हें बताएगा कि आपका हमलावर मशीन सही पथ है। उपयोगकर्ता का NetNTLMv2 पासवर्ड हैश अब आपका है। Responder SCF हमले के माध्यम से भेजे गए हैश को कैप्चर करेगा, लेकिन अगला हमला आम तौर पर SCF हैश कैप्चर करने के लिए अधिक उपयोगी होता है क्योंकि इसमें कमांड निष्पादन के लिए हैश का उपयोग करने की क्षमता होती है।
SMB रिले एक पुराना नेटवर्क हमला है जहाँ हमलावर SMB क्लाइंट और SMB सर्वर के बीच में खुद को रखते हैं। यह हमलावरों को NetNTLMv2 हैश को कैप्चर और रिले करने की अनुमति देता है उन होस्टों पर जिनमें SMBv1 सक्षम और SMB साइनिंग अक्षम है। Impacket लाइब्रेरी से ntlmrelayx.py का उपयोग रिले करने के लिए किया जाता है जबकि Responder.py का उपयोग SMB कनेक्शनों के मैन-इन-द-मिडल के लिए किया जाता है। यदि SMB क्लाइंट उपयोगकर्ता के पास नेटवर्क पर किसी भी होस्ट पर प्रशासनिक अधिकार हैं जिसमें SMB साइनिंग अक्षम है, तो ntlmrelayx.py उस होस्ट पर कमांड निष्पादन करेगा।
एक बार ntlmrelayx एक कैप्चर किए गए हैश को रिले करता है, यह एक base64-एन्कोडेड पावरशेल कमांड चलाएगा जो पहले एक प्रशासनिक उपयोगकर्ता (icebreaker:P@ssword123456) जोड़ता है, फिर Mimikatz का एक अस्पष्ट और AMSI-बायपास करने वाला संस्करण चलाता है, उसके बाद Invoke-PowerDump का एक अस्पष्ट और AMSI-बायपास करने वाला संस्करण चलाता है। Invoke-Mimikatz और Invoke-PowerDump का आउटपुट सादा-पाठ पासवर्ड या NTLM हैश के लिए पार्स किया जाता है और उपयोगकर्ता को मानक आउटपुट के साथ-साथ found-passwords.txt फ़ाइल में दिया जाता है। NTLM हैश, NetNTLMv2 हैश के विपरीत, अन्य AD होस्टों पर प्रमाणीकरण के लिए सादा-पाठ पासवर्ड की तरह ही उपयोग किए जा सकते हैं। एक चेतावनी यह है कि Microsoft के KB2871997 पैच के बाद से, केवल बिल्ट-इन RID 500 स्थानीय व्यवस्थापक खाते का उपयोग पास-द-हैश हमलों में किया जा सकता है।
अंतिम हमला पूरे नेटवर्क के विरुद्ध मैन-इन-द-मिडल IPv6 DNS हमला करने के लिए mitm6 टूल का उपयोग करता है। यह नेटवर्क पर होस्टों को हमलावर की मशीन को अपने DNS सर्वर के रूप में उपयोग करने के लिए मजबूर करता है। एक बार उनके DNS सर्वर के रूप में सेट होने के बाद, हमलावर पीड़ितों को दुर्भावनापूर्ण WPAD प्रॉक्सी सेटिंग फ़ाइलें प्रस्तुत करता है और उनके NetNTLMv2 हैश एकत्र करता है। इन हैशों को आगे रिमोट कोड निष्पादन संभावनाओं के लिए ntlmrelayx.py का उपयोग करके रिले किया जाता है। ध्यान देने वाली बात यह है कि यह हमला नेटवर्क पर समस्याएँ पैदा करने के लिए प्रवण है। यह अक्सर क्लाइंट मशीनों पर ब्राउज़र में प्रमाणपत्र त्रुटियाँ पैदा करता है। यह संभवतः नेटवर्क को धीमा भी करेगा। हालाँकि, इस हमले की ख़ूबसूरती यह है कि Windows AD वातावरण डिफ़ॉल्ट रूप से कमज़ोर हैं।
यदि icebreaker को --auto [tmux/xterm] फ़्लैग के साथ चलाया जाता है, तो हमला 4 तक पहुँचने पर icebreaker Empire और DeathStar को या तो tmux सत्र या xterm विंडो में चलाएगा। इस विकल्प के साथ, रिमोट होस्ट पर mimikatz चलाने के बजाय जहाँ हमने हैश रिले किया है, icebreaker एक प्रशासनिक उपयोगकर्ता जोड़ेगा फिर रिमोट मशीन पर एजेंट प्राप्त करने के लिए Empire का पावरशेल लॉन्चर कोड चलाएगा। DeathStar डोमेन एडमिन प्राप्त करने की प्रक्रिया को स्वचालित करने के लिए इस एजेंट का उपयोग करेगा। जब आप icebreaker से बाहर निकलेंगे तो Empire और DeathStar बंद नहीं होंगे।
पासवर्ड क्रैकिंग JohnTheRipper और एक कस्टम वर्डलिस्ट के साथ की जाती है। इस सूची की उत्पत्ति merged.txt से हुई है जो SecLists GitHub खाते के सभी पासवर्डों का संयोजन है। वर्डलिस्ट को छाँटा गया था और इसमें कोई पासवर्ड शामिल नहीं है जिसमें: सभी लोअरकेस, सभी अपरकेस, सभी प्रतीक, 7 वर्णों से कम, 32 वर्णों से अधिक हों। ये नियम डिफ़ॉल्ट Active Directory पासवर्ड आवश्यकताओं के अनुरूप हैं और सूची को 20 मिलियन से घटाकर सिर्फ 1 मिलियन से अधिक कर दिया है, जिससे पासवर्ड क्रैकिंग अत्यंत तेज़ हो जाती है।
रूट के रूप में:
./setup.sh
pipenv install --three
pipenv shell
आपको pipenv install चलाने के बाद एक त्रुटि मिल सकती है। यदि ऐसा है तो pipenv के 11.9.0 से अधिक संस्करण में अपडेट करें। आप github से pipenv को git clone कर सकते हैं और फ़ोल्डर के भीतर से apt-get remove python-pipenv && python setup.py install चला सकते हैं।
डॉकर इमेज के साथ अभी भी कुछ बग्स को ठीक करना बाकी है, इसलिए यह आपके लिए त्रुटि देने की संभावना है, लेकिन यह लगभग तैयार है। Git Repo से:
docker build --rm -t danmcinerney/icebreaker .
docker run danmcinery/icebreaker
या उन कमांडों को जोड़ें जो आप सामान्यतः icebreaker में जोड़ते हैं (वॉल्यूम मैप करना न भूलें):
docker run -v $(pwd)/logs:/icebreaker/logs -v $(pwd)/hashes:/icebreaker/hashes -v $(pwd)/icebreaker-scan.xml:/icebreaker/icebreaker-scan.xml -v $(pwd)/submodules:/icebreaker/submodules -e PYTHONUNBUFFERED=0 danmcinerney/icebreaker -x icebreaker-scan.xml
**ध्यान दें: आप श्रोताओं के लिए पोर्ट को डॉकर के -p <host>:<container> फ्लैग के साथ मैप करना चाहेंगे।
रूट के रूप में चलाएं। IP पतों (एकल IP या CIDR रेंज) की न्यूलाइन-सेपरेटेड सूची से पढ़ें और ntlmrelayx को हैश रिले पर उपयोगकर्ता जोड़ने और mimikatz चलाने के बजाय, पीड़ित मशीन पर एक कस्टम कमांड निष्पादित करने दें। इस उदाहरण में हम इसे एक कमांड दे रहे हैं जो Empire हमें पावरशेल लॉन्चर वन-लाइनर के लिए दे सकता है।
./icebreaker -l targets.txt -c "powershell -nop -w hidden -exec bypass -enc WwFk..."
होस्टलिस्ट से पढ़ें, Responder को डिफ़ॉल्ट गेटवे इंटरफ़ेस के बजाय eth0 इंटरफ़ेस का उपयोग करने के लिए कहें, Responder को सामान्य 10 मिनट के बजाय 30 मिनट तक चलने दें, और पीड़ित सर्वर से SAM डंप करने के लिए डिफ़ॉल्ट ntlmrelayx पोस्ट-रिले कमांड चलाएं।
./icebreaker -l targets.txt -i eth0 -t 30 -c default
एक Nmap XML आउटपुट फ़ाइल का उपयोग करें, सभी पाँच हमलों को छोड़ें और हैश को ऑटोक्रैक न करें, और रिवर्स ब्रूटफ़ोर्स हमले के लिए एक कस्टम पासवर्ड सूची का उपयोग करें (ध्यान दें कि चूँकि यह उदाहरण '-s rid' के माध्यम से हमला 1 को छोड़ रहा है, निर्दिष्ट पासवर्ड सूची का उपयोग भी नहीं किया जाएगा; यह केवल एक उदाहरण के रूप में उपयोग किया जा रहा है)
./icebreaker.py -x nmapscan.xml -s rid,scf,llmnr,relay,dns,crack -p /home/user/password-list.txt
फायर-एंड-फॉरगेट उपयोग: लक्ष्य फ़ाइल इनपुट करें, रिवर्स ब्रूटफ़ोर्स हमले में जोड़े जाने वाले ईमेल उपयोगकर्ता नामों के लिए companydomain.com को स्क्रैप करें, mitm6 के IPv6 DNS विषाक्तीकरण को छोड़ें, और हमला 4 शुरू होने पर स्वचालित डोमेन एडमिन प्राप्त करने के लिए Empire और DeathStar को या तो tmux या xterm विंडो में चलाएं। इस उपयोग का लक्ष्य सोमवार सुबह 9 बजे कमांड चलाना है, फिर शुक्रवार शाम 4:30 बजे तक एक छोटा, अबाधित ब्रेक लेना है, जिस समय हम एक डोमेन एडमिन शेल की प्रतीक्षा कर रहे होते हैं। हम हमला 5 (mitm6) को छोड़ देते हैं क्योंकि यह कभी-कभी नेटवर्क समस्याएँ पैदा कर सकता है और हम नहीं चाहते कि गुस्साए ग्राहक हमारी कठिनाई से अर्जित ब्रेक को बाधित करें।
./icebreaker.py -l targets.txt -d companydomain.com -s dns --auto [tmux/xterm]