Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
Stracciatella — OpSec-सुरक्षित C# के अंदर से Powershell रनस्पेस (उर्फ SharpPick) जिसमें AMSI, Constrained Language Mode और Script Block Logging स्टार्टअप पर अक्षम होते हैं | Kitploit
उपकरण/GitHubGitHub/mgeeky/stracciatella
विशेषाधिकार वृद्धिशोषण फ्रेमवर्कआईडीएस/आईपीएस से बचनापार्श्व आंदोलनस्क्रिप्टिंग और स्वचालनपोस्ट-शोषणपेनिट्रेशन टेस्टिंगकमांड एंड कंट्रोलरेड टीमिंगपेलोड डेवलपमेंट
GitHub
54362914 साल पहलेKitploit द्वारा समीक्षित

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें
mgeeky/stracciatella

Stracciatella

OpSec-सुरक्षित C# के अंदर से Powershell रनस्पेस (उर्फ SharpPick) जिसमें AMSI, Constrained Language Mode और Script Block Logging स्टार्टअप पर अक्षम होते हैं

रिपॉजिटरी देखें

Stracciatella v0.7

C# के अंदर से पावरशेल रनस्पेस (जिसे SharpPick तकनीक भी कहा जाता है) जिसमें AMSI, ETW और स्क्रिप्ट ब्लॉक लॉगिंग को आपकी सुविधा के लिए अक्षम किया गया है।

आजकल, जब पावरशेल को निम्नलिखित तकनीकों के उपयोग से बुरी तरह से इंस्ट्रुमेंट किया गया है:

  • AMSI
  • ETW
  • स्क्रिप्ट ब्लॉक लॉगिंग
  • ट्रांस्क्रिप्ट फ़ाइल
  • मॉड्यूल लॉगिंग
  • प्रतिबंधित भाषा मोड

उन्नत हमलावरों को इन प्रयासों को दरकिनार करने के लिए रास्ते खोजने होंगे ताकि वे परिष्कृत प्रतिकूल सिमुलेशन अभ्यास कर सकें। इन प्रयासों में मदद करने के लिए, निम्नलिखित परियोजना बनाई गई।

यह प्रोग्राम निम्नलिखित में शामिल विशिष्ट तकनीकों के बाईपास पर आधारित है:

  • Disable-Amsi.ps1
  • KillETW.ps1 by tandasat
  • Disable-ScriptLogging.ps1

जो बदले में निम्नलिखित शोधों पर आधारित थे:

  • Matt Graeber: https://github.com/mattifestation/PSReflect
  • Matt Graeber: https://twitter.com/mattifestation/status/735261120487772160
  • Avi Gimpel: https://www.cyberark.com/threat-research-blog/amsi-bypass-redux/
  • Adam Chester: https://www.mdsec.co.uk/2018/06/exploring-powershell-amsi-and-logging-evasion/
  • Ryan Cobb: https://cobbr.io/ScriptBlock-Logging-Bypass.html
  • Ryan Cobb: https://cobbr.io/ScriptBlock-Warning-Event-Logging-Bypass.html

SharpPick का विचार, यानी C# असेंबली के भीतर से Runspaces का उपयोग करके पावरशेल स्क्रिप्ट लॉन्च करना, भी नया नहीं है और इसे सबसे पहले Lee Christensen (@tifkin_) ने अपने:

  • UnmanagedPowerShell

में लागू किया था।

साथ ही, स्रोत कोड Lee से CustomPSHost का कार्यान्वयन उधार लेता है।

यह परियोजना उपरोक्त शोधों और महान सुरक्षा समुदाय से विरासत में मिली है ताकि स्टार्टअप पर सुरक्षा अक्षम होने के साथ एक करीबी-से-प्रभावी पावरशेल वातावरण प्रदान किया जा सके।

अब .NET 4.0 के साथ आसानी से कंपाइल होता है, जबकि यदि .NET Framework 4.7.1+ के साथ संकलित किया जाता है तो एक अतिरिक्त कार्यक्षमता शामिल है जो CLM बाईपास कलाकृतियों का गठन करने वाली DLL को अनलोड करने की अनुमति देती है और बाद में उन्हें हटाने का प्रयास करती है (ईमानदारी से कहें तो मुश्किल से काम करता है)।

सबसे अच्छा माइलेज .NET 4.0 के साथ संकलित Stracciatella के साथ मिलता है।

OpSec

  • यह प्रोग्राम पास किए गए पैरामीटर को फ्लाई पर डीकोड करने की कार्यक्षमता प्रदान करता है, Xor सिंगल-बाइट डीकोड का उपयोग करके।
  • कोई भी कमांड लॉन्च करने से पहले, यह सुनिश्चित करता है कि दो दृष्टिकोणों का उपयोग करके AMSI और ETW को अक्षम किया जाए।
  • कोई भी कमांड लॉन्च करने से पहले, यह सुनिश्चित करता है कि दो दृष्टिकोणों का उपयोग करके स्क्रिप्ट ब्लॉक लॉगिंग को अक्षम किया जाए।
  • यह प्रोग्राम किसी भी सिस्टम लाइब्रेरी, सिस्टम नेटिव कोड (जैसे amsi.dll) को पैच नहीं करता है।
  • डीकोड की गई स्क्रिप्ट/कमांड को अत्यधिक लंबे समय तक संग्रहीत न करने के प्रयास किए गए, ताकि EDR और AV द्वारा शासित मेमोरी-डंपिंग तकनीकों से खुद को बचाया जा सके।

उपयोग

कुछ विकल्प उपलब्ध हैं:

PS D:\> Stracciatella -h

  :: Stracciatella - Powershell runspace with AMSI, ETW and Script Block Logging disabled.
  Mariusz Banach / mgeeky, '19-22 <[email protected]>
  v0.7

Usage: stracciatella.exe [options] [command]
  -s <path>, --script <path> - निष्पादित करने के लिए पावरशेल स्क्रिप्ट वाली फ़ाइल का पथ। यदि कोई विकल्प नहीं दिया गया है, तो एक स्यूडो-शेल लूप में प्रवेश करेगा। यह पावरशेल स्क्रिप्ट डाउनलोड और निष्पादित करने के लिए एक HTTP(S) URL भी हो सकता है।
  -v, --verbose              - विस्तृत जानकारी प्रिंट करता है
  -n, --nocleanup            - CLM अक्षम करने वाले अवशेषों (TEMP में DLL फ़ाइलें और COM रजिस्ट्री कुंजियाँ) को न हटाएँ। डिफ़ॉल्ट रूप से ये हमेशा हटा दिए जाएंगे।
  -C, --leaveclm             - CLM को अक्षम करने का प्रयास न करें। अधिक गुप्त। CLM अक्षम करने वाली कलाकृतियों को न हटाए जाने से बचेगा।
  -f, --force                - भले ही पावरशेल सुरक्षा अक्षम न हुई हो, निष्पादन जारी रखें। डिफ़ॉल्ट रूप से हम विफलता पर बाहर निकल जाते हैं।
  -c, --command              - निर्दिष्ट कमांड निष्पादित करता है। आप या तो -c का उपयोग कर सकते हैं या स्ट्रैकियाटेला मापदंडों के बाद कमांड जोड़ सकते हैं: cmd> straciatella ipconfig /all
                               यदि कमांड और स्क्रिप्ट पैरामीटर दिए गए हैं, तो स्क्रिप्ट चलाने के बाद कमांड निष्पादित करता है।
  -x <key>, --xor <key>      - इनपुट को XOR एन्कोडेड मानें, जहां <key> दशमलव में एक बाइट कुंजी है (हेक्स के लिए 0x के साथ उपसर्ग करें)
  -p <name>, --pipe <name>   - एक निर्दिष्ट नामित पाइप से पावरशेल कमांड पढ़ें। कमांड से पहले लिटिल-एंडियन में उसकी लंबाई के 4 बाइट होने चाहिए (लंबाई-मान संकेतन)।
  -t <millisecs>, --timeout <millisecs>
                             - पाइप पढ़ने के संचालन के लिए टाइमआउट निर्दिष्ट करता है (मिलीसेकंड में)। डिफ़ॉल्ट: 60 सेकंड। 0 - अनंत।
  -e, --cmdalsoencoded       - इनपुट कमांड ('--command' में निर्दिष्ट) को भी एन्कोडेड मानें। इनपुट स्क्रिप्ट फ़ाइल को डीकोड करने और चलाने के बाद इनपुट कमांड को डीकोड करता है।
                               डिफ़ॉल्ट रूप से हम केवल इनपुट फ़ाइल को डीकोड करते हैं और कमांड को सादे पाठ में दिया गया मानते हैं

प्रोग्राम अपने इनपुट के रूप में कमांड और स्क्रिप्ट फ़ाइल पथ स्वीकार करता है। दोनों वैकल्पिक हैं, यदि कोई नहीं दिया गया तो स्यूडो-शेल शुरू हो जाएगा। बेहतर OpSec अनुभव के लिए दोनों कमांड और स्क्रिप्ट को सिंगल-बाइट XOR (जो बेस64 एन्कोडेड आउटपुट उत्पन्न करेगा) का उपयोग करके एन्कोड किया जा सकता है।

यहाँ उपयोग के मामलों को प्रस्तुत करने वाले कुछ उदाहरण हैं:

  1. स्यूडो-शेल - जब न तो कमांड और न ही स्क्रिप्ट पथ विकल्प दिए गए हों, तब शुरू किया जाता है:
PS D:\> Stracciatella.exe -v

  :: Stracciatella - Powershell runspace with AMSI, ETW and Script Block Logging disabled.
  Mariusz Banach / mgeeky, '19-22 <[email protected]>
  v0.7

[.] Powershell का संस्करण: 5.1
[.] भाषा मोड: FullLanguage
[+] प्रतिबंधित भाषा मोड को अक्षम करने की आवश्यकता नहीं है। पहले से ही FullLanguage में।
[+] स्क्रिप्ट ब्लॉक लॉगिंग अक्षम।
[+] AMSI अक्षम।
[+] ETW अक्षम।

Stracciatella D:\> $PSVersionTable

Name                           Value
----                           -----
PSVersion                      5.1.18362.1
PSEdition                      Desktop
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   10.0.18362.1
CLRVersion                     4.0.30319.42000
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1
  1. XOR एन्कोडेड (कुंजी = 0x31) कमांड और स्क्रिप्ट फ़ाइल का पथ

सबसे पहले, एन्कोडेड स्टेटमेंट तैयार करने के लिए हम बंडल encoder.py स्क्रिप्ट का उपयोग कर सकते हैं, जिसका उपयोग इस प्रकार किया जा सकता है:

PS D:\> python encoder.py -h
usage: encoder.py [options] <command|file>

positional arguments:
  command               एन्कोडिंग के लिए एक कमांड या स्क्रिप्ट फ़ाइल का पथ निर्दिष्ट करता है

optional arguments:
  -h, --help            यह सहायता संदेश दिखाएँ और बाहर निकलें
  -x KEY, --xor KEY     कमांड/फ़ाइल XOR एन्कोड कुंजी निर्दिष्ट करता है (एक बाइट)
  -o PATH, --output PATH
                        (वैकल्पिक) आउटपुट फ़ाइल। यदि नहीं दिया गया, तो stdout पर आउटपुट प्रतिध्वनित होगा

PS D:\> python encoder.py -x 0x31 "Write-Host \"It works like a charm!\" ; $ExecutionContext.SessionState.LanguageMode"
ZkNYRVQceV5CRRETeEURRl5DWkIRXVhaVBFQEVJZUENcEBMRChEVdElUUkRFWF5fcl5fRVRJRR9iVEJCWF5fYkVQRVQffVBfVkRQVlR8XlVU

फिर हम encoder.py आउटपुट को Stracciatella के लिए एन्कोडेड कमांड के रूप में इनपुट देते हैं:

PS D:\> Stracciatella.exe -v -x 0x31 -c "ZkNYRVQceV5CRRETeEURRl5DWkIRXVhaVBFQEVJZUENcEBMRChEVdElUUkRFWF5fcl5fRVRJRR9iVEJCWF5fYkVQRVQffVBfVkRQVlR8XlVU" .\Test2.ps1

  :: Stracciatella - Powershell runspace with AMSI, ETW and Script Block Logging disabled.
  Mariusz Banach / mgeeky, '19-22 <[email protected]>
  v0.7

[.] स्क्रिप्ट फ़ाइल लोड होगी: '.\Test2.ps1'
[+] AMSI अक्षम।
[+] ETW अक्षम।
[+] स्क्रिप्ट ब्लॉक लॉगिंग अक्षम।
[.] भाषा मोड: FullLanguage
टूल डाउनलोड करें