hacktricks/reversing-and-exploiting/linux-exploiting-basic-esp/common-binary-protections-and-bypasses/README.md

40 lines
6.2 KiB
Markdown
Raw Normal View History

# सामान्य बाइनरी सुरक्षा
<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) या हमें **ट्विटर** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर **फॉलो** करें।
* **हैकिंग ट्रिक्स साझा करें** द्वारा PRs सबमिट करके [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में।
</details>
## कोर फ़ाइल्स सक्षम करें
**कोर फ़ाइलें** एक प्रकार की फ़ाइल होती हैं जो एक ऑपरेटिंग सिस्टम द्वारा उत्पन्न होती है जब कोई प्रक्रिया क्रैश होती है। ये फ़ाइलें क्रैश होने के समय क्रैश हुई प्रक्रिया की मेमोरी छवि को कैप्चर करती हैं, जिसमें प्रक्रिया की मेमोरी, रजिस्टर और प्रोग्राम काउंटर स्थिति सहित अन्य विवरण शामिल होते हैं। यह स्नैपशॉट डीबगिंग और समझने के लिए अत्यधिक मूल्यवान हो सकता है कि क्रैश क्यों हुआ।
### **कोर डंप जनरेशन सक्षम करना**
डिफ़ॉल्ट रूप से, कई सिस्टम कोर फ़ाइलों का आकार 0 तक सीमित करते हैं (अर्थात वे कोर फ़ाइलें नहीं उत्पन्न करते) ताकि डिस्क स्थान बचाया जा सके। कोर फ़ाइलों का उत्पन्न करने के लिए, आप `ulimit` कमांड (बैश या समान शैलियों में) का उपयोग कर सकते हैं या सिस्टम-व्यापी सेटिंग कॉन्फ़िगर कर सकते हैं।
* **ulimit का उपयोग करना**: कमांड `ulimit -c unlimited` वर्तमान शैली सत्र को असीमित-आकार की कोर फ़ाइलें बनाने की अनुमति देता है। यह डिबगिंग सत्रों के लिए उपयोगी है लेकिन यह बूट या नए सत्रों के लिए स्थायी नहीं है।
```bash
ulimit -c unlimited
```
* **स्थायी विन्यास**: एक और स्थायी समाधान के लिए, आप `/etc/security/limits.conf` फ़ाइल को संपादित कर सकते हैं और एक पंक्ति जो `* soft core unlimited` जैसी हो उसे शामिल कर सकते हैं, जिससे सभी उपयोगकर्ताओं को अप्रतिबंधित आकार की कोर फ़ाइलें उत्पन्न करने की अनुमति मिले बिना उन्हें अपने सत्र में यूलिमिट मैन्युअल रूप से सेट करने की आवश्यकता न हो।
```markdown
* soft core unlimited
```
### **GDB के साथ कोर फ़ाइलों का विश्लेषण**
कोर फ़ाइल का विश्लेषण करने के लिए, आप GDB (GNU डीबगर) जैसे डीबगिंग टूल का उपयोग कर सकते हैं। मान लीजिए कि आपके पास एक executable है जिसने एक कोर डंप उत्पन्न किया है और कोर फ़ाइल का नाम `core_file` है, तो आप विश्लेषण शुरू कर सकते हैं:
```bash
gdb /path/to/executable /path/to/core_file
```
यह कमांड एक्जीक्यूटेबल और कोर फ़ाइल को GDB में लोड करती है, जिससे आप क्रैश होने के समय प्रोग्राम की स्थिति की जांच कर सकते हैं। आप GDB कमांड का उपयोग करके स्टैक की जांच, वेरिएबल्स की जांच कर सकते हैं, और क्रैश के कारण को समझ सकते हैं।