Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
moonwalk — PEB WALK के बिना DLL आधार पते खोजें | Kitploit
उपकरण/GitHubGitHub/teach2breach/moonwalk
पोस्ट-शोषणबाइनरी विश्लेषणलर्निंग और शिक्षारेड टीमिंगपेलोड डेवलपमेंट
GitHubteach2breach/moonwalk

moonwalk

PEB WALK के बिना DLL आधार पते खोजें

रिपॉजिटरी देखें
170211 साल पहलेKitploit द्वारा समीक्षित

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

moonwalk: DLL बेस एड्रेस फाइंडर

यह Rust लाइब्रेरी और CLI टूल लोड किए गए DLLs का बेस एड्रेस खोजने के लिए एक वैकल्पिक विधि प्रदर्शित करता है, बिना Process Environment Block (PEB) वॉक का उपयोग किए। यह तकनीक उन परिदृश्यों में विशेष रूप से उपयोगी है जहाँ PEB वॉकिंग का पता लगाया जा सकता है या ब्लॉक किया जा सकता है।

ब्रांच अंतर

इस रिपॉजिटरी में अलग-अलग दृष्टिकोणों वाली दो ब्रांच शामिल हैं:

मुख्य ब्रांच

  • मेमोरी सत्यापन के लिए winapi क्रेट और VirtualQuery का उपयोग करता है
  • स्वच्छ एकीकरण के लिए लाइब्रेरी फ़ंक्शन (lib.rs) में कोई प्रिंट स्टेटमेंट नहीं हैं
  • CLI टूल (main.rs) में प्रूफ ऑफ कॉन्सेप्ट के लिए डीबग आउटपुट शामिल है
  • तकनीक को सीखने और समझने के लिए अच्छा है

OPSEC ब्रांच

  • कोई बाहरी निर्भरता नहीं - पूरी तरह से स्व-निहित
  • कोई Windows API कॉल नहीं - VirtualQuery के बजाय अपवाद हैंडलिंग के साथ सीधे मेमोरी एक्सेस का उपयोग करता है
  • लाइब्रेरी फ़ंक्शन में कोई प्रिंट स्टेटमेंट नहीं
  • बेहतर स्टील्थ - कोई API कॉल नहीं करता
  • इम्प्लांट्स/टूल्स के लिए बेहतर - कम निशान छोड़ता है और पहचानना कठिन है

दोनों ब्रांच उपयोग करने के लिए सुरक्षित हैं, लेकिन OPSEC ब्रांच उन परिदृश्यों के लिए अतिरिक्त ऑपरेशनल सिक्योरिटी लाभ प्रदान करती है जहाँ API कॉल की निगरानी या ब्लॉक किए जाने की संभावना हो।

यह कैसे काम करता है

यह प्रोग्राम DLLs का पता लगाने के लिए स्टैक वॉकिंग दृष्टिकोण का उपयोग करता है:

  1. थ्रेड एनवायरनमेंट ब्लॉक (TEB) तक पहुँचना:

    • GS सेगमेंट रजिस्टर (GS:[0x30]) से TEB पॉइंटर पढ़ने के लिए इनलाइन असेंबली का उपयोग करता है
    • TEB से स्टैक बेस (GS:[0x08]) और स्टैक लिमिट (GS:[0x10]) प्राप्त करता है
  2. स्टैक वॉकिंग:

    • वर्तमान स्टैक पॉइंटर (RSP) से शुरू होता है
    • रिटर्न एड्रेस की तलाश में स्टैक को ऊपर की ओर स्कैन करता है
    • प्रत्येक एड्रेस को एक्ज़ीक्यूटेबल मेमोरी के लिए जाँचता है
    • मुख्य ब्रांच: मेमोरी क्षेत्रों को सत्यापित करने के लिए VirtualQuery का उपयोग करती है
    • OPSEC ब्रांच: अपवाद हैंडलिंग के साथ सीधे मेमोरी एक्सेस का उपयोग करती है
  3. मॉड्यूल पहचान:

    • प्रत्येक संभावित रिटर्न एड्रेस के लिए, जाँच करता है कि क्या यह एक्ज़ीक्यूटेबल मेमोरी की ओर इशारा करता है
    • जब एक्ज़ीक्यूटेबल मेमोरी मिलती है, तो PE हेडर खोजने के लिए पीछे की ओर स्कैन करता है
    • निम्नलिखित की जाँच करके मॉड्यूल को सत्यापित करता है:
      • MZ सिग्नेचर (DOS हेडर)
      • PE सिग्नेचर
      • DLL विशेषताएँ
      • 64-बिट आर्किटेक्चर
      • एक्सपोर्ट डायरेक्टरी से मॉड्यूल नाम
  4. सत्यापन:

    • एक्सपोर्ट डायरेक्टरी में उसका नाम जाँचकर सुनिश्चित करता है कि मॉड्यूल लक्षित DLL है
    • पुष्टि करता है कि सभी PE हेडर संरचनाएँ वैध हैं

यह दृष्टिकोण क्यों?

DLLs खोजने के पारंपरिक तरीकों में अक्सर PEB की मॉड्यूल सूची को स्कैन करना शामिल होता है। प्रभावी होते हुए भी, यह दृष्टिकोण:

  • सिक्योरिटी सॉफ़्टवेयर द्वारा पहचाना जा सकता है
  • कुछ वातावरणों में ब्लॉक किया जा सकता है

यह स्टैक वॉकिंग विधि एक विकल्प प्रदान करती है जो:

  • PEB पर निर्भर नहीं करती
  • उन वातावरणों में काम कर सकती है जहाँ PEB वॉकिंग ब्लॉक है
  • OPSEC ब्रांच: कोई API कॉल नहीं करती

आवश्यकताएँ

  • Rust (नाइटली टूलचेन)
  • Windows x64
  • मुख्य ब्रांच: winapi क्रेट
  • OPSEC ब्रांच: कोई बाहरी निर्भरता नहीं

उपयोग

लाइब्रेरी के रूप में

अपने Cargo.toml में जोड़ें:

मुख्य ब्रांच:

root@kitploit:~
[dependencies]
moonwalk = { git = "https://github.com/Teach2Breach/moonwalk.git" }

OPSEC ब्रांच:

root@kitploit:~
[dependencies]
moonwalk = { git = "https://github.com/Teach2Breach/moonwalk.git", branch = "opsec" }

आपके कोड में उपयोग का उदाहरण:

root@kitploit:~
use moonwalk::find_dll_base;

fn main() {
    // Find ntdll.dll
    if let Some(ntdll_base) = find_dll_base("ntdll.dll") {
        println!("ntdll.dll base: 0x{:X}", ntdll_base);
    }

    // Case-insensitive, .dll extension optional
    if let Some(kernel32_base) = find_dll_base("KeRNEl32") {
        println!("kernel32.dll base: 0x{:X}", kernel32_base);
    }
}

CLI टूल के रूप में

बिल्ड करें:

root@kitploit:~
cargo build --release

चलाएँ:

root@kitploit:~
# Find ntdll.dll (default)
cargo run --release

# Find specific DLL (case insensitive, .dll extension optional)
cargo run --release kernel32.dll
cargo run --release KeRNEl32
cargo run --release USER32

उदाहरण

प्रिंट स्टेटमेंट अब शामिल नहीं हैं। यह छवि शैक्षिक उद्देश्यों के लिए शामिल की गई है।

Moonwalk DLL बेस एड्रेस फाइंडर डेमो

नोट्स

  • DLL नाम केस-इनसेंसिटिव होते हैं और .dll एक्सटेंशन वैकल्पिक है
  • केवल उन DLLs के साथ काम करता है जो कॉल स्टैक में होते हैं
  • मुख्य ब्रांच: सुरक्षित मेमोरी एक्सेस सत्यापन के लिए VirtualQuery का उपयोग करती है
  • OPSEC ब्रांच: अधिकतम स्टील्थ के लिए अपवाद हैंडलिंग के साथ सीधे मेमोरी एक्सेस का उपयोग करती है
  • दोनों ब्रांच में बिना किसी डीबग आउटपुट के स्वच्छ लाइब्रेरी इंटरफेस हैं
टूल डाउनलोड करें