hacktricks/macos-hardening/macos-security-and-privilege-escalation/macos-proces-abuse
2024-02-02 14:20:12 +00:00
..
macos-ipc-inter-process-communication Translated ['macos-hardening/macos-security-and-privilege-escalation/mac 2024-01-04 11:58:21 +00:00
macos-library-injection Translated ['macos-hardening/macos-security-and-privilege-escalation/mac 2024-01-04 11:58:21 +00:00
macos-.net-applications-injection.md Translated ['macos-hardening/macos-security-and-privilege-escalation/REA 2024-01-04 16:59:04 +00:00
macos-dirty-nib.md Translated ['macos-hardening/macos-security-and-privilege-escalation/REA 2024-01-04 16:59:04 +00:00
macos-electron-applications-injection.md Translated ['macos-hardening/macos-security-and-privilege-escalation/mac 2024-01-04 11:58:21 +00:00
macos-java-apps-injection.md Translated ['macos-hardening/macos-security-and-privilege-escalation/mac 2024-01-04 11:58:21 +00:00
macos-perl-applications-injection.md Translated ['macos-hardening/macos-security-and-privilege-escalation/mac 2024-01-04 11:58:21 +00:00
macos-ruby-applications-injection.md Translated ['generic-methodologies-and-resources/pentesting-wifi/README. 2024-02-02 14:20:12 +00:00
README.md Translated ['generic-methodologies-and-resources/pentesting-wifi/README. 2024-02-02 14:20:12 +00:00

macOS प्रोसेस दुरुपयोग

AWS हैकिंग सीखें शून्य से लेकर हीरो तक htARTE (HackTricks AWS Red Team Expert) के साथ!

HackTricks का समर्थन करने के अन्य तरीके:

MacOS प्रोसेस दुरुपयोग

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

लाइब्रेरी इंजेक्शन

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

{% content-ref url="macos-library-injection/" %} macos-library-injection {% endcontent-ref %}

फंक्शन हुकिंग

फंक्शन हुकिंग में सॉफ्टवेयर कोड के भीतर फंक्शन कॉल्स या संदेशों को इंटरसेप्ट करना शामिल है। फंक्शन्स को हुक करके, एक हमलावर प्रोसेस के व्यवहार को संशोधित कर सकता है, संवेदनशील डेटा को देख सकता है, या यहां तक कि निष्पादन प्रवाह पर नियंत्रण प्राप्त कर सकता है।

{% content-ref url="../mac-os-architecture/macos-function-hooking.md" %} macos-function-hooking.md {% endcontent-ref %}

इंटर प्रोसेस कम्युनिकेशन

इंटर प्रोसेस कम्युनिकेशन (IPC) विभिन्न तरीकों से संदर्भित करता है जिसके द्वारा अलग-अलग प्रोसेसेस डेटा शेयर और आदान-प्रदान करते हैं। जबकि IPC कई वैध अनुप्रयोगों के लिए मौलिक है, इसका दुरुपयोग प्रोसेस आइसोलेशन को उलटने, संवेदनशील जानकारी को लीक करने, या अनधिकृत क्रियाओं को प्रदर्शित करने के लिए भी किया जा सकता है।

{% content-ref url="../mac-os-architecture/macos-ipc-inter-process-communication/" %} macos-ipc-inter-process-communication {% endcontent-ref %}

इलेक्ट्रॉन एप्लिकेशन्स इंजेक्शन

विशिष्ट env वेरिएबल्स के साथ निष्पादित इलेक्ट्रॉन एप्लिकेशन्स प्रोसेस इंजेक्शन के लिए संवेदनशील हो सकते हैं:

{% content-ref url="macos-electron-applications-injection.md" %} macos-electron-applications-injection.md {% endcontent-ref %}

डर्टी NIB

NIB फाइलें यूजर इंटरफेस (UI) तत्वों और एक एप्लिकेशन के भीतर उनके इंटरैक्शन को परिभाषित करती हैं। हालांकि, वे मनमाने कमांड्स को निष्पादित कर सकते हैं और Gatekeeper एक बार निष्पादित एप्लिकेशन को रोक नहीं पाता अगर एक NIB फाइल संशोधित की जाती है। इसलिए, वे मनमाने प्रोग्राम्स को मनमाने कमांड्स निष्पादित करने के लिए उपयोग किए जा सकते हैं:

{% content-ref url="macos-dirty-nib.md" %} macos-dirty-nib.md {% endcontent-ref %}

जावा एप्लिकेशन्स इंजेक्शन

कुछ जावा क्षमताओं (जैसे कि _JAVA_OPTS env वेरिएबल) का दुरुपयोग करके एक जावा एप्लिकेशन को मनमाने कोड/कमांड्स निष्पादित करने के लिए बनाया जा सकता है।

{% content-ref url="macos-java-apps-injection.md" %} macos-java-apps-injection.md {% endcontent-ref %}

.Net एप्लिकेशन्स इंजेक्शन

.Net एप्लिकेशन्स में कोड इंजेक्ट करना संभव है .Net डिबगिंग फंक्शनलिटी का दुरुपयोग करके (macOS सुरक्षा जैसे रनटाइम हार्डनिंग द्वारा संरक्षित नहीं)।

{% content-ref url="macos-.net-applications-injection.md" %} macos-.net-applications-injection.md {% endcontent-ref %}

पर्ल इंजेक्शन

एक पर्ल स्क्रिप्ट को मनमाने कोड निष्पादित करने के विभिन्न विकल्पों की जांच करें:

{% content-ref url="macos-perl-applications-injection.md" %} macos-perl-applications-injection.md {% endcontent-ref %}

रूबी इंजेक्शन

रूबी env वेरिएबल्स का दुरुपयोग करके मनमाने स्क्रिप्ट्स को मनमाने कोड निष्पादित करना भी संभव है:

{% content-ref url="macos-ruby-applications-injection.md" %} macos-ruby-applications-injection.md {% endcontent-ref %}

पायथन इंजेक्शन

यदि पर्यावरण वेरिएबल PYTHONINSPECT सेट है, तो पायथन प्रोसेस एक बार समाप्त होने पर पायथन cli में ड्रॉप हो जाएगा। PYTHONSTARTUP का उपयोग एक पायथन स्क्रिप्ट को इंटरैक्टिव सत्र की शुरुआत में निष्पादित करने के लिए भी किया जा सकता है।
हालांकि, ध्यान दें कि PYTHONSTARTUP स्क्रिप्ट PYTHONINSPECT द्वारा बनाए गए इंटरैक्टिव सत्र में निष्पादित नहीं की जाएगी।

अन्य env वेरिएबल्स जैसे कि PYTHONPATH और PYTHONHOME भी एक पायथन कमांड को मनमाने कोड निष्पादित करने के लिए उपयोगी हो सकते हैं।

ध्यान दें कि pyinstaller के साथ संकलित निष्पादन योग्य फाइलें इन पर्यावरणीय वेरिएबल्स का उपयोग नहीं करेंगी भले ही वे एक एम्बेडेड पायथन का उपयोग कर रहे हों।

{% hint style="danger" %} कुल मिलाकर मैं पायथन को पर्यावरण वेरिएबल्स का दुरुपयोग करके मनमाने कोड निष्पादित करने का कोई तरीका नहीं ढूंढ पाया।
हालांकि, अधिकांश लोग Hombrew का उपयोग करके पायथन को इंस्टॉल करते हैं, जो पायथन को डिफ़ॉल्ट एडमिन यूजर के लिए एक लिखने योग्य स्थान पर इंस्टॉल करेगा। आप इसे कुछ इस तरह से हाइजैक कर सकते हैं:

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
यहां तक कि **root** भी इस कोड को चलाएगा जब python चल रहा हो।
{% endhint %}

## पता लगाना

### Shield

[**Shield**](https://theevilbit.github.io/shield/) ([**Github**](https://github.com/theevilbit/Shield)) एक ओपन सोर्स एप्लिकेशन है जो **प्रोसेस इंजेक्शन** क्रियाओं का पता लगा सकता है और उन्हें ब्लॉक कर सकता है:

* **Environmental Variables** का उपयोग करके: यह निम्नलिखित पर्यावरणीय चरों की उपस्थिति की निगरानी करेगा: **`DYLD_INSERT_LIBRARIES`**, **`CFNETWORK_LIBRARY_PATH`**, **`RAWCAMERA_BUNDLE_PATH`** और **`ELECTRON_RUN_AS_NODE`**
* **`task_for_pid`** कॉल्स का उपयोग करके: जब एक प्रोसेस दूसरे के **task port** को प्राप्त करना चाहता है जिससे वह प्रोसेस में कोड इंजेक्ट कर सके।
* **Electron apps params**: कोई भी **`--inspect`**, **`--inspect-brk`** और **`--remote-debugging-port`** कमांड लाइन आर्ग्युमेंट का उपयोग करके एक Electron एप्प को डिबगिंग मोड में शुरू कर सकता है, और इस तरह उसमें कोड इंजेक्ट कर सकता है।
* **symlinks** या **hardlinks** का उपयोग करके: आमतौर पर सबसे आम दुरुपयोग यह है कि **हमारे यूजर विशेषाधिकारों के साथ एक लिंक रखें**, और उसे **उच्च विशेषाधिकार** स्थान की ओर इंगित करें। हार्डलिंक और सिम्लिंक्स दोनों के लिए पता लगाना बहुत सरल है। यदि लिंक बनाने वाले प्रोसेस का **विशेषाधिकार स्तर** लक्ष्य फ़ाइल से **अलग** है, तो हम एक **अलर्ट** बनाते हैं। दुर्भाग्यवश सिम्लिंक्स के मामले में ब्लॉकिंग संभव नहीं है, क्योंकि हमें लिंक के गंतव्य के बारे में जानकारी नहीं होती है निर्माण से पहले। यह Apple के EndpointSecuriy फ्रेमवर्क की एक सीमा है।

### अन्य प्रोसेसों द्वारा किए गए कॉल्स

[**इस ब्लॉग पोस्ट**](https://knight.sc/reverse%20engineering/2019/04/15/detecting-task-modifications.html) में आप पा सकते हैं कि कैसे **`task_name_for_pid`** फंक्शन का उपयोग करके अन्य **प्रोसेसों द्वारा प्रोसेस में कोड इंजेक्ट करने** के बारे में जानकारी प्राप्त की जा सकती है और फिर उस अन्य प्रोसेस के बारे में जानकारी प्राप्त की जा सकती है।

नोट करें कि उस फंक्शन को कॉल करने के लिए आपको **उसी uid** का होना चाहिए जो प्रोसेस चला रहा है या **root** (और यह प्रोसेस के बारे में जानकारी लौटाता है, कोड इंजेक्ट करने का तरीका नहीं).

## संदर्भ

* [https://theevilbit.github.io/shield/](https://theevilbit.github.io/shield/)
* [https://medium.com/@metnew/why-electron-apps-cant-store-your-secrets-confidentially-inspect-option-a49950d6d51f](https://medium.com/@metnew/why-electron-apps-cant-store-your-secrets-confidentially-inspect-option-a49950d6d51f)

<details>

<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>

HackTricks का समर्थन करने के अन्य तरीके:

* यदि आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop) देखें!
* [**official PEASS & HackTricks swag**](https://peass.creator-spring.com) प्राप्त करें।
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा एक्सक्लूसिव [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह।
* 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) या [**telegram group**](https://t.me/peass) में **शामिल हों** या **Twitter** पर मुझे 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)** का अनुसरण करें।**
* **HackTricks** के [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में PRs सबमिट करके अपनी हैकिंग ट्रिक्स साझा करें।

</details>