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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
उपकरण/GitHubGitHub/nhattanhh/cve-2025-8088
स्थायित्व तंत्रभेद्यता विश्लेषणशोषणबाइनरी विश्लेषणलर्निंग और शिक्षापेलोड डेवलपमेंट
GitHubnhattanhh/cve-2025-8088

CVE-2025-8088

CVE-2025-8088

रिपॉजिटरी देखें
131 साल पहलेअभी तक समीक्षित नहीं

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

सभी देखें →

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

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

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

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

तकनीकी गहन विश्लेषण: CVE-2025-8088 - लचीला पाथ ट्रैवर्सल

अस्वीकरण: यह सामग्री केवल शैक्षिक और अनुसंधान उद्देश्यों के लिए है। इस जानकारी का उपयोग किसी भी दुर्भावनापूर्ण गतिविधियों के लिए न करें।

आज, हम एक आकर्षक पाथ ट्रैवर्सल भेद्यता पर गहन नज़र डाल रहे हैं, जिसे CVE-2025-8088 के रूप में ट्रैक किया गया है। यह भेद्यता एक हमलावर को पीड़ित के सिस्टम पर किसी भी स्थान पर एक मनमानी फ़ाइल लिखने की अनुमति देती है, जब वे एक विशेष रूप से तैयार RAR संग्रह को निकालते हैं। इस विशेष एक्सप्लॉइट को दिलचस्प बनाती है इसकी 'शॉटगन' दृष्टिकोण, जो उपयोगकर्ता द्वारा संग्रह को निकालने के स्थान की परवाह किए बिना सफल पेलोड डिलीवरी सुनिश्चित करती है।

यह पोस्ट दिए गए Python Proof-of-Concept (PoC) में इस्तेमाल की गई तकनीक को विस्तार से बताएगी, जिससे दुर्भावनापूर्ण .rar फ़ाइल बनाई जाती है।


लक्ष्य: स्थायित्व प्राप्त करना

इस PoC का अंतिम लक्ष्य क्लासिक और प्रभावी है: स्थायित्व। पाथ ट्रैवर्सल भेद्यता का शोषण करके, एक्सप्लॉइट का उद्देश्य पेलोड (payload.bat) को Windows स्टार्टअप फ़ोल्डर (AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup) में डालना है। यहां रखा गया कोई भी एक्ज़ीक्यूटेबल या स्क्रिप्ट अगली बार उपयोगकर्ता के लॉग इन करने पर स्वचालित रूप से चलेगा, जिससे हमलावर को स्थायी पहुंच मिल जाएगी।


एक्सप्लॉइट रणनीति: चरण-दर-चरण विवरण

Python स्क्रिप्ट एक बहु-चरणीय प्रक्रिया को स्वचालित करती है ताकि अंतिम exploit.rar बनाया जा सके। आइए इसके तर्क को समझें।

चरण 1: सेटअप - डिकॉय, पेलोड, और एक प्लेसहोल्डर

स्क्रिप्ट सबसे पहले घटकों को तैयार करती है:

  1. पेलोड: payload.bat नामक एक साधारण बैच फ़ाइल बनाई जाती है। यह वह दुर्भावनापूर्ण फ़ाइल है जिसे हम पीड़ित की मशीन पर डालना चाहते हैं।
root@kitploit:~
PAYLOAD = "@echo off\necho Payload executed!\npause\n"
  1. डिकॉय: स्क्रिप्ट कई हानिरहित दिखने वाली टेक्स्ट फ़ाइलें (जैसे, file1.txt, file2.txt, आदि) बनाती है। इन फ़ाइलों के दो उद्देश्य हैं: वे संग्रह को वैध बनाती हैं, और अधिक महत्वपूर्ण बात, वे हमारे छिपे हुए पेलोड के वाहक के रूप में कार्य करती हैं।
root@kitploit:~
def create_files() -> Tuple[List[Path], Path]:
    # ...
    for i in range(NUM_DEPTHS):
        decoy = Path(f"{DECOY_FILE_PREFIX}{i+1}.txt")
  1. प्लेसहोल्डर: दोहराए जाने वाले वर्णों की एक लंबी स्ट्रिंग (" X " * 200) परिभाषित की गई है। यह प्लेसहोल्डर संग्रह के मेटाडेटा में एम्बेड किया जाएगा और बाद में हमारे दुर्भावनापूर्ण पथ से बदल दिया जाएगा।

चरण 2: छिपा हुआ हथियार - अल्टरनेट डेटा स्ट्रीम्स (ADS)

यह तकनीक का एक महत्वपूर्ण हिस्सा है। ट्रैवर्सल पथ के साथ फ़ाइल का नामकरण करने के बजाय, स्क्रिप्ट NTFS फ़ाइल सिस्टम की अल्टरनेट डेटा स्ट्रीम्स (ADS) नामक सुविधा का उपयोग करती है।

ADS आपको किसी मौजूदा फ़ाइल के भीतर डेटा 'छिपाने' की अनुमति देता है।

स्क्रिप्ट payload.bat को प्रत्येक डिकॉय फ़ाइल में एक ADS के रूप में संलग्न करती है। इस स्ट्रीम का नाम वह जगह है जहाँ प्लेसहोल्डर का उपयोग किया जाता है। संक्षेप में, यह फ़ाइल सिस्टम में ऐसे फ़ाइल पथ बनाता है: file1.txt:XXXXXXXXXXXXXXXXXXXX...

payload.bat की सामग्री अब गुप्त रूप से file1.txt के अंदर संग्रहीत है।

root@kitploit:~
def attach_ads(decoy: Path, placeholder: str):
    """Attach payload to decoy as Alternate Data Stream"""
    ads_path = f"{decoy}:{placeholder}"
    with open(ads_path, "wb") as f:
        f.write(Path("payload.bat").read_bytes())

चरण 3: नींव बनाना - एक 'स्वच्छ' RAR संग्रह

इसके बाद, स्क्रिप्ट सिस्टम पर Rar.exe कमांड-लाइन टूल ढूंढती है और एक वैध बेस संग्रह (base.rar) बनाने के लिए इसका उपयोग करती है। इस संग्रह में वे सभी डिकॉय फ़ाइलें होती हैं, जो अब अपने अल्टरनेट डेटा स्ट्रीम्स में पेलोड को गुप्त रूप से ले जाती हैं।

इस बिंदु पर, base.rar एक पूरी तरह से वैध, गैर-दुर्भावनापूर्ण संग्रह है। WinRAR इसे बिना किसी समस्या के निकाल सकता है, और यह अपने लंबे, अजीब ADS नामों के साथ डिकॉय फ़ाइलें बनाएगा।

root@kitploit:~
def create_base_rar(rar_exe: str, decoys: List[Path]) -> Path:
    # ...
    subprocess.run(
        f'"{rar_exe}" a -ep -os "{base_rar}" {files}',
        # ...
    )

चरण 4: 'शॉटगन' दृष्टिकोण - कई ट्रैवर्सल पथ उत्पन्न करना

यहाँ एक्सप्लॉइट चतुर और लचीला हो जाता है। हमलावर को नहीं पता कि पीड़ित संग्रह को कहाँ निकालेगा। क्या यह C:\Users\victim\Downloads होगा? C:\? D:\Temp?

इस अनिश्चितता को दूर करने के लिए, स्क्रिप्ट विभिन्न path traversal स्ट्रिंग्स की एक सूची बनाती है, प्रत्येक की अलग-अलग गहराई होती है:

  • ..\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\payload.bat
  • ..\..\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\payload.bat
  • ..\..\..\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\payload.bat
  • …और इसी तरह।

विचार यह है कि कई गहराइयाँ प्रदान करके, उनमें से कम से कम एक निष्कर्षण निर्देशिका से वापस फ़ाइल सिस्टम की जड़ (जैसे C:\) तक और फिर लक्षित Startup फ़ोल्डर में सफलतापूर्वक नेविगेट करेगा।

root@kitploit:~
def build_relative_paths() -> List[str]:
    """Generate paths with different traversal depths"""
    paths = []
    for depth in range(1, NUM_DEPTHS + 1):
        paths.append(("..\\" * depth) + RELATIVE_DROP_PATH)
    return paths

चरण 5: जादू - RAR हेडर्स का बाइनरी पैचिंग

यह एक्सप्लॉइट का दिल है। स्क्रिप्ट base.rar को बाइनरी मोड में खोलती है और उस पर सर्जरी करती है।

यह संग्रह की आंतरिक संरचना में पुनरावृत्ति करती है, प्रत्येक फ़ाइल के हेडर (file1.txt, file2.txt, आदि) की तलाश करती है। प्रत्येक हेडर के अंदर, यह प्लेसहोल्डर ADS नाम (:XXXXXXXXXXXXXXXXXXXX...) ढूंढती है और इसे पिछले चरण में उत्पन्न दुर्भावनापूर्ण ट्रैवर्सल पथों में से एक के साथ बदल देती है।

  • file1.txt का हेडर ..\ के साथ पथ प्राप्त करता है।
  • file2.txt का हेडर ..\..\ के साथ पथ प्राप्त करता है।
  • और इसी तरह।
root@kitploit:~
def patch_rar(base_rar: Path, placeholder: str, relative_paths: List[str]) -> Path:
    # ...
    while pos + 4 <= len(data) and current_file_index < len(target_paths_utf8):
        # ...
        # Find the placeholder and replace it with the target path
        c = patch_placeholder_in_header(hdr, placeholder_utf8, target_utf8)
        # ...

चरण 6: निशान छिपाना - CRC पुनर्गणना

हेडर डेटा को केवल बदलने से संग्रह दूषित हो जाएगा। WinRAR प्रत्येक हेडर ब्लॉक की अखंडता को सत्यापित करने के लिए CRC32 चेकसम का उपयोग करता है। यदि चेकसम हेडर सामग्री से मेल नहीं खाता है, तो यह एक त्रुटि उत्पन्न करेगा।

PoC इसका पूर्वानुमान करता है। किसी हेडर को दुर्भावनापूर्ण पथ के साथ पैच करने के बाद, यह पूरे संशोधित हेडर ब्लॉक के लिए सही CRC32 चेकसम की पुनर्गणना करता है और नया चेकसम वापस फ़ाइल में लिखता है। यह छेड़छाड़ किए गए संग्रह को WinRAR के लिए पूरी तरह से वैध प्रतीत कराता है।

root@kitploit:~
def rebuild_all_header_crc(buf: bytearray) -> int:
    """Recalculate CRC checksums for all headers"""
    # ...
    while pos + 4 <= len(buf):
        # ...
        # Calculate CRC for the header region
        region = buf[block_start + 4:header_end]
        crc = zlib.crc32(region) & 0xFFFFFFFF
        # Write the new CRC back into the buffer
        struct.pack_into("<I", buf, block_start, crc)
        # ...
टूल डाउनलोड करें