p0wnedShell – पॉवरशेल रनस्पेस पोस्ट शोषण टूलकिट

p0wnedShell - पॉवरशेल रनस्पेस पोस्ट शोषण टूलकिट

p0wnedShell एक आक्रामक PowerShell होस्ट अनुप्रयोग है, जो C # में लिखा गया है, जो शक्तियां ..exe पर निर्भर नहीं करता है, बल्कि एक पॉवरशेल् रनस्पेस वातावरण (.NET) के भीतर पॉवरशेल कमांड और फ़ंक्शंस चलाता है। इसमें बहुत से आक्रामक PowerShell मॉड्यूल और बायनेरिज़ शामिल हैं जो पोस्ट शोषण की प्रक्रिया को आसान बनाते हैं।

हमने जो प्रयास किया वह एक “ऑल इन वन” पोस्ट एक्सप्लोरेशन टूल था जिसे हम सभी मिटिगेशन सॉल्यूशन (या कम से कम कुछ बंद) को बायपास करने के लिए उपयोग कर सकते थे, और जिसमें सभी प्रासंगिक टूलिंग शामिल थे। आप सक्रिय निर्देशिका वातावरण में आधुनिक हमले करने और अपनी ब्लू टीम के भीतर जागरूकता पैदा करने के लिए इसका उपयोग कर सकते हैं ताकि वे सही रक्षा रणनीतियों का निर्माण कर सकें।

इसे कैसे संकलित करें:

P0wnedShell को संकलित करने के लिए आपको Microsoft Visual Studio के भीतर इस प्रोजेक्ट को खोलने और इसे x64 / x86 प्लेटफ़ॉर्म के लिए बनाने की आवश्यकता है। संकलित करने से पहले आप निम्नलिखित AutoMasq विकल्प बदल सकते हैं:

सार्वजनिक स्थैतिक बूल AutoMasq = true;

सार्वजनिक स्थैतिक स्ट्रिंग masqBinary = @ “C: Windows Notepad.exe”;

इसका इस्तेमाल कैसे करें:

AutoMasq के झूठे सेट के साथ, आप बस निष्पादन योग्य चलाते हैं इसलिए यह सामान्य रूप से चलता है। AutoMasq सक्षम होने के साथ, आप p0wnedShell का निष्पादन योग्य नाम बदल सकते हैं क्योंकि आप जिस प्रक्रिया को करने जा रहे हैं वह (masqBinary) है, इसलिए इसमें उस प्रक्रिया का उदाहरण है (उदाहरण के लिए notepad.exe)।

वैकल्पिक “-परेंट” कमांडलाइन तर्क का उपयोग करते हुए, आप किसी अन्य पैरेंट प्रोसेस आईडी का उपयोग करके p0wnedShell शुरू कर सकते हैं। PEB Masq विकल्प और विभिन्न मूल प्रक्रिया ID (उदाहरण के लिए svchost) के संयोजन के समय, आप p0wnedShell को एक वैध सेवा का रूप दे सकते हैं;)

ध्यान दें:चल रहा है p0wnedShell एक और मूल प्रक्रिया आईडी का उपयोग कर एक Metpreter सत्र / शेल से काम नहीं करता है …. अभी तक!

Changing the Parent Process ID can also be used to spawn a p0wnedShell process 
with system privileges, 
for example using lsass as the the parent process.
For this you need to have UAC elevated administrator permissions.

C:p0wnedShell>p0wnedShellx64.exe -parent
 
 [+] Please enter a valid Parent Process name.
 [+] For Example: C:p0wnedShellp0wnedShellx64.exe -parent svchost
 
C:p0wnedShell>p0wnedShellx64.exe -parent lsass

X86 बाइनरी और बायपास के रूप में चलाने के लिए Applocker (इस महान बाईपास के लिए श्रेय केसी स्मिथ उर्फ ​​सब्टी को जाता है):

cd WindowsMicrosoft.NETFrameworkv4.0.30319 (Or newer .NET version folder)

InstallUtil.exe /logfile= /LogToConsole=false /U C:p0wnedShellp0wnedShellx86.exe

X64 बाइनरी के रूप में चलाने के लिए और Applocker को बायपास करें:

cd WindowsMicrosoft.NETFramework64v4.0.30319 (Or newer .NET version folder)

InstallUtil.exe /logfile= /LogToConsole=false /U C:p0wnedShellp0wnedShellx64.exe

रनवे के अंदर क्या है:

निम्नलिखित PowerShell उपकरण / फ़ंक्शन शामिल हैं:

  • पॉवरस्प्लोइट: इनवोक-शेलकोड
  • पॉवरस्प्लोइट: इनवोक-रिफ्लेक्टिवपेइन्जेक्शन
  • पॉवरस्प्लोइट: इनवोक-मिमिकज़ैट
  • पॉवरस्प्लोइट: इनवोक-टोकेनमैनिपुलेशन
  • पॉवरस्प्लोइट: पॉवरअप और पॉवर व्यू
  • रस्ता माउस: शर्लक
  • हर्मजे ०: इनवोक-पेसेक और इनवोक-केर्बोस्ट
  • रोहन वज़्ज़कर: इनवोक-ब्लडहाउंड (C # इनस्टोर)
  • क्रिस कैंपबेल: Get-GPPPassword
  • टिम मेडिन: GetUserSPNS
  • बेसिमोरिनो: पॉवरकैट
  • निशंग: कॉपी-वीएसएस और इनवोक-एनकोड
  • निशंग: आह्वान-पोर्टस्कैन और गेट-पासहैश
  • केविन रॉबर्टसन: इनवोक-टेटर, इनवोक-एसएमबीएक्सएक और इनवोक-डब्लूएमआईईईएक्स
  • केविन रॉबर्टसन: इनवोक-इनवीघ और इनवोक-इनवीघेले
  • फ़ज़ीसीसिटी: इनवोक-एमएस 16-032 और इनवोक-एमएस 16-135

रनस्पेस के भीतर पॉवर्सशेल फ़ंक्शन को बेस 64 एनकोड और कंप्रेस्ड स्ट्रिंग्स से मेमोरी में लोड किया जाता है।

रिफ्लेक्टिवपेइन्जेक्शन (बाइट सरणियों को जीज़िप का उपयोग करके संपीड़ित किया जाता है और बेस 64 एन्कोडेड स्ट्रिंग्स के रूप में p0wnedShell के भीतर सहेजा जाता है) का उपयोग करके बायनेरीज़ को मेमोरी में लोड किया जाता है।