
मल्टी-पैकर रैपर जो हमें विभिन्न पैकर्स, ऑब्फस्केटर्स और अन्य रेड टीम उन्मुख हथियारों को डेज़ी-चेन करने देता है। इसमें आर्टिफैक्ट वॉटरमार्किंग, IOCs संग्रह और PE बैकडोरिंग शामिल हैं। आप इसे अपने इम्प्लांट के साथ फीड करते हैं, यह बहुत सारी चालाक चीजें करता है और ऑब्फस्केटेड एक्जीक्यूटेबल आउटपुट करता है।

इस सॉफ़्टवेयर को जारी करने के पीछे का तर्क एक संगत ब्लॉग पोस्ट में रेखांकित किया गया था:
स्क्रिप्ट जो कई पैकर्स, प्रोटेक्टर्स, ओबफस्केटर्स, शेलकोड लोडर्स, एन्कोडर्स, जनरेटर्स को लपेटती है ताकि जटिल संरक्षित रेड टीम इम्प्लांट तैयार किए जा सकें। मैलवेयर डेवलपमेंट CI/CD पाइपलाइन में आपका आदर्श साथी, आपकी कलाकृतियों को वॉटरमार्क करने, IOC एकत्र करने, बैकडोर और बहुत कुछ करने में सहायक।
ProtectMyToolingGUI.py

ProtectMyTooling के साथ आप अपने बाइनरी को जल्दी से अस्पष्ट कर सकते हैं बिना सभी डायलॉग्स, इंटरफेस, मेनू पर क्लिक करने, एकल बाइनरी को अस्पष्ट करने के लिए प्रोजेक्ट बनाने, उपलब्ध सभी विकल्पों पर क्लिक करने और उस सब बकवास में समय बर्बाद करने की चिंता किए। यह आपको सीधे मुद्दे पर ले जाता है - अपने टूल को अस्पष्ट करने के लिए।
लक्ष्य सबसे सुविधाजनक इंटरफ़ेस प्रदान करना है और एकल बाइनरी पर संयुक्त एकाधिक पैकर्स की डेज़ी-चेन का लाभ उठाने की अनुमति देना है।
यह सही है - हम एक साथ कई पैकर्स के साथ ProtectMyTooling लॉन्च कर सकते हैं:```
C:> py ProtectMyTooling.py hyperion,upx mimikatz.exe mimikatz-obf.exe
उपरोक्त उदाहरण सबसे पहले `mimikatz.exe` को अस्पष्टीकरण के लिए Hyperion को देगा, और फिर परिणाम UPX को संपीड़न के लिए प्रदान किया जाएगा। परिणाम `UPX(Hyperion(file))` होगा।
## Features
- कई विभिन्न PE पैकर्स, .NET अस्पष्टकर्ता, शेलकोड लोडर/बिल्डर का समर्थन करता है
- पैकर्स को श्रृंखलाबद्ध करने की अनुमति देता है जहां एक पैकर का आउटपुट अगले को दिया जाता है: `callobf,hyperion,upx` कलाकृति `UPX(Hyperion(CallObf(file)))` उत्पन्न करेगा
- हर अस्पष्टीकरण चरण पर IOCs एकत्र करता है ताकि ऑडिटिंग और ब्लू टीम अनुरोधों को संतुष्ट किया जा सके
- परिणामी PE कलाकृतियों में कस्टम वॉटरमार्क इंजेक्ट करने की कार्यक्षमता प्रदान करता है - DOS स्टब, चेकसम, एक स्टैंडअलोन PE अनुभाग के रूप में, फ़ाइल के ओवरले में
- एक उपयोगी Cobalt Strike आक्रामक स्क्रिप्ट प्रदान करता है जो `protected-upload` और `protected-execute-assembly` कमांड लाता है
- सीधा कमांड लाइन उपयोग
## Installation
**यह उपकरण Windows पर काम करने के लिए डिज़ाइन किया गया है, क्योंकि अधिकांश पैकर मूल रूप से उस प्लेटफॉर्म को लक्षित करते हैं।**
कुछ सुविधाएँ Linux पर ठीक काम कर सकती हैं, फिर भी उस समर्थन का पूरी तरह से परीक्षण नहीं किया गया है, कृपया बग और समस्याओं की रिपोर्ट करें।
1. पहले, **अपना AV अक्षम करें** और `contrib` निर्देशिका को बहिष्करण में जोड़ें। उस निर्देशिका में अस्पष्टकर्ता, सुरक्षक शामिल हैं जो AV द्वारा फ़्लैग किए जाएंगे और हटा दिए जाएंगे।
2. फिर इस रिपॉजिटरी को क्लोन करें```
PS C:\> git clone --recurse https://github.com/Binary-Offensive/ProtectMyTooling
Windows``` PS C:\ProtectMyTooling> .\install.ps1
**Linux**```
bash# ./install.sh
ScareCrow पैकर को Windows 10 पर चलाने के लिए, WSL इंस्टॉल होना चाहिए और bash.exe उपलब्ध होना चाहिए (%PATH% में)। फिर, WSL में golang कम से कम संस्करण 1.16 में इंस्टॉल होना चाहिए:```
cmd> bash
bash$ sudo apt update ; sudo apt upgrade -y ; sudo apt install golang=2:1.18~3 -y
## कॉन्फ़िगरेशन
समर्थित ऑबफ़सकेटर को प्लग-इन करने, डिफ़ॉल्ट विकल्पों को बदलने या **ProtectMyTooling** को अपने ऑबफ़सकेटर निष्पादन योग्य पथ पर इंगित करने के लिए, आपको `config\ProtectMyTooling.yaml` कॉन्फ़िगरेशन फ़ाइल को समायोजित करने की आवश्यकता होगी।
`config\sample-full-config.yaml` फ़ाइल भी है जिसमें सभी समर्थित पैकर्स के लिए सभी उपलब्ध विकल्प शामिल हैं, जो एक संदर्भ बिंदु के रूप में कार्य करती है।
## मैत्रीपूर्ण अनुस्मारक
- यदि आपका उत्पादित बाइनरी क्रैश होता है या अपेक्षित रूप से नहीं चलता है - तो विभिन्न पैकर्स श्रृंखला का उपयोग करने का प्रयास करें।
- पैकर्स उत्पादित बाइनरी की स्थिरता की गारंटी नहीं देते हैं, इसलिए ProtectMyTooling भी नहीं कर सकता।
- श्रृंखला बनाते समय, आउटपुट->इनपुट पेलोड प्रारूपों को ध्यानपूर्वक मिलाएं, जैसा कि क्रमिक पैकर अपेक्षा करता है।
---
## उपयोग
`ProtectMyTooling` के पहले उपयोग से पहले, प्रोग्राम की YAML कॉन्फ़िगरेशन फ़ाइल `ProtectMyTooling.yaml` को समायोजित करना आवश्यक है।
पैरामीटर प्रसंस्करण का क्रम निम्नलिखित है:
- सबसे पहले डिफ़ॉल्ट पैरामीटर का उपयोग किया जाता है
- फिर वे YAML से आने वाले मानों द्वारा अधिलेखित कर दिए जाते हैं
- अंत में, कमांड लाइन में जो कुछ भी प्रदान किया जाता है, वह संबंधित मानों को अधिलेखित कर देगा
वहां, सक्षम करने के लिए समर्थित पैकर पथ और विकल्प सेट किए जाने चाहिए।
### परिदृश्य 1: सरल ConfuserEx ऑबफ़स्केशन
उपयोग बहुत सरल है, बस ऑबफ़सकेटर का नाम चुनने के लिए, इनपुट और आउटपुट फ़ाइल पथ पास करना होता है:```
C:\> py ProtectMyTooling.py confuserex Rubeus.exe Rubeus-obf.exe
::::::::::.:::::::.. ... :::::::::::.,:::::: .,-::::::::::::::::
`;;;```.;;;;;;``;;;; .;;;;;;;;;;;;;;;\''';;;;\'\''',;;;'````;;;;;;;;\'\'''
`]]nnn]]' [[[,/[[[' ,[[ \[[, [[ [[cccc [[[ [[
$$$"" $$$$$$c $$$, $$$ $$ $$"""" $$$ $$
888o 888b "88bo"888,_ _,88P 88, 888oo,_`88bo,__,o, 88,
. YMMMb :.-:.MM ::-. "YMMMMMP" MMM """"YUMMM"YUMMMMMP" MMM
;;,. ;;;';;. ;;;;'
[[[[, ,[[[[, '[[,[[['
$$$$$$$$"$$$ c$$"
888 Y88" 888o,8P"`
::::::::::::mM... ... ::: :::::. :::. .,-:::::/
;;;;;;;;\'''.;;;;;;;. .;;;;;;;. ;;; ;;`;;;;, `;;,;;-'````'
[[ ,[[ \[[,[[ \[[,[[[ [[[ [[[[[. '[[[[ [[[[[[/
$$ $$$, $$$$$, $$$$$' $$$ $$$ "Y$c$"$$c. "$$
88, "888,_ _,88"888,_ _,88o88oo,._888 888 Y88`Y8bo,,,o88o
MMM "YMMMMMP" "YMMMMMP"""""YUMMMMM MMM YM `'YMUP"YMM
Red Team implants protection swiss knife.
Multi-Packer wrapping around multitude of packers, protectors, shellcode loaders, encoders.
Mariusz Banach / mgeeky '20-'22, <[email protected]>
v0.16
[.] Processing x86 file: "\Rubeus.exe"
[.] Generating output of ConfuserEx(<file>)...
[+] SUCCEEDED. Original file size: 417280 bytes, new file size ConfuserEx(<file>): 756224, ratio: 181.23%
कोई व्यक्ति फ़ाइल को अस्पष्ट कर सकता है और तुरंत इसे लॉन्च करने का प्रयास कर सकता है (दिए गए वैकल्पिक पैरामीटर के साथ भी) यह सुनिश्चित करने के लिए कि यह विकल्प -r --cmdline CMDLINE के साथ ठीक से चलता है:```
C:> py ProtectMyTooling.py confuserex Rubeus.exe Rubeus-obf.exe -r --cmdline "hash /password:foobar"
[...]
[.] Processing x86 file: "\Rubeus.exe" [.] Generating output of ConfuserEx()...
[+] SUCCEEDED. Original file size: 417280 bytes, new file size ConfuserEx(): 758272, ratio: 181.72%
Running application to test it...
(_____ \ | | ) ) | | _____ _ _ ___ | __ /| | | | _ | ___ | | | |/) | | \ | || | |) ) | || | | || ||/|/|_____)__/(_/
v2.0.0
[*] Action: Calculate Password Hash(es)
[] Input password : foobar [] rc4_hmac : BAAC3929FABC9E6DCD32421BA94A84D4
[!] /user:X and /domain:Y need to be supplied to calculate AES and DES hash types!
### परिदृश्य 3: वॉटरमार्किंग और IOCs संग्रह के साथ जटिल मैलवेयर अस्पष्टीकरण
नीचे दिया गया उपयोग मामला इनपुट के रूप में `beacon.exe` लेता है और इसे क्रमिक रूप से `CallObf` -> `UPX` -> `Hyperion` पैकर्स में फीड करता है।
फिर यह अंतिम उत्पन्न आउटपुट आर्टिफैक्ट के DOS स्टब में निर्दिष्ट `fooobar` वॉटरमार्क इंजेक्ट करेगा, साथ ही उस आर्टिफैक्ट के चेकसम को मान `0xAABBCCDD` के साथ संशोधित करेगा।