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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
spectre-attack — प्रकट "Spectre" एक्सप्लॉइट (CVE-2017-5753 और CVE-2017-5715) के उपयोग का उदाहरण | Kitploit
उपकरण/GitHubGitHub/eugnis/spectre-attack
मेमोरी फोरेंसिकभेद्यता विश्लेषणशोषणहार्डवेयर सुरक्षालर्निंग और शिक्षाबाइनरी शोषण
GitHubeugnis/spectre-attack

spectre-attack

प्रकट "Spectre" एक्सप्लॉइट (CVE-2017-5753 और CVE-2017-5715) के उपयोग का उदाहरण

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

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

सभी देखें →

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

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

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

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

स्पेक्टर हमले का उदाहरण

2 जनवरी 2018 को सामने आए "स्पेक्टर" शोषण (CVE-2017-5753 और CVE-2017-5715) का उपयोग करने का उदाहरण

स्पेक्टर विभिन्न अनुप्रयोगों के बीच अलगाव को तोड़ता है। यह एक हमलावर को सर्वोत्तम प्रथाओं का पालन करने वाले त्रुटि-मुक्त प्रोग्रामों को धोखा देकर उनके रहस्य लीक कराने की अनुमति देता है। वास्तव में, उक्त सर्वोत्तम प्रथाओं की सुरक्षा जाँचें हमले की सतह को और बढ़ा देती हैं और अनुप्रयोगों को स्पेक्टर के प्रति अधिक संवेदनशील बना सकती हैं।

  • स्पेक्टर पेपर - स्पेक्टर पेपर और कोड का स्रोत

भाषा

C, निम्नलिखित लाइब्रेरी का उपयोग करता है:

  • stdio.h
  • stdint.h
  • intrin.h - rdtscp और clflush के लिए

उदाहरण क्या करता है?

हम मेमोरी में "The Magic Words are Squeamish Ossifrage." टेक्स्ट डाल रहे हैं और फिर शोषण का उपयोग करके उसे पढ़ने का प्रयास कर रहे हैं। यदि सिस्टम संवेदनशील (vulnerable) है, तो आपको आउटपुट में मेमोरी से पढ़ा गया वही टेक्स्ट दिखाई देगा।


इस कोड में, यदि victim_function() में संकलित निर्देशों को सख्त प्रोग्राम क्रम में निष्पादित किया जाए, तो फ़ंक्शन केवल array1[0..15] से पढ़ेगा, क्योंकि array1 का आकार 16 है। हालाँकि, जब सट्टा (speculative) तरीके से निष्पादित किया जाता है, तो सीमा से बाहर (out-of-bounds) पढ़ना संभव है। readMemoryByte() फ़ंक्शन victim_function() को कई प्रशिक्षण कॉल करता है ताकि शाखा भविष्यवक्ता x के लिए मान्य मानों की अपेक्षा करे, और फिर सीमा से बाहर के x के साथ कॉल करता है। सशर्त शाखा गलत भविष्यवाणी करती है, और उसके बाद का सट्टा निष्पादन सीमा से बाहर के x का उपयोग करके एक गुप्त बाइट पढ़ता है। सट्टा कोड तब array2[array1[x] * 512] से पढ़ता है, जिससे array1[x] का मान कैश स्थिति में लीक हो जाता है। हमले को पूरा करने के लिए, यह पहचानने हेतु एक सरल flush+probe का उपयोग किया जाता है कि array2 में कौन सी कैश लाइन लोड की गई थी, जिससे मेमोरी की सामग्री का पता चलता है। हमले को कई बार दोहराया जाता है, इसलिए भले ही लक्ष्य बाइट शुरू में कैश्ड न हो, पहली पुनरावृत्ति उसे कैश में ला देगी।

गैर-अनुकूलित कोड i7 सर्फेस प्रो 3 पर लगभग 10KB/सेकंड पढ़ता है।

निर्माण

GCC का उपयोग करके

gcc -std=c99 Source.c -o spectre.out या make

विज़ुअल स्टूडियो का उपयोग करके

नया खाली प्रोजेक्ट बनाएं और Source.c जोड़ें, फिर Build पर क्लिक करें।

निष्पादन

परीक्षण

बिना किसी पैरामीटर के .\spectre.out।

पते से पढ़ना

.\spectre.out {address} {length} पैरामीटर के साथ:

  • address - पीड़ित char * का पॉइंटर पता
  • length - char * की लंबाई

स्रोत

  • स्पेक्टर शोषण जानकारी
  • CVE-2017-5753 - वेरिएंट 1: बाउंड्स चेक बाइपास
  • CVE-2017-5715 - वेरिएंट 2: ब्रांच टारगेट इंजेक्शन
  • Intel प्रभावित CPUs सूची
टूल डाउनलोड करें