Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
meltdown — Meltdown माइक्रोआर्किटेक्चरल हमले को प्रदर्शित करने वाले Proof-of-concept डेमो और libkdump लाइब्रेरी, जो कमजोर Intel CPUs पर kernel और physical memory लीक करते हैं। | Kitploit
उपकरण/GitHubGitHub/isec-tugraz/meltdown
मेमोरी फोरेंसिकभेद्यता विश्लेषणशोषणडेटा निष्कासनक्रिप्टोग्राफीहार्डवेयर सुरक्षापेपर और शोधबाइनरी शोषणArchived
GitHubisec-tugraz/meltdown

meltdown

Meltdown माइक्रोआर्किटेक्चरल हमले को प्रदर्शित करने वाले Proof-of-concept डेमो और libkdump लाइब्रेरी, जो कमजोर Intel CPUs पर kernel और physical memory लीक करते हैं।

4.2k520194 साल पहलेअभी तक समीक्षित नहीं

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें
रिपॉजिटरी देखेंवेबसाइट

Meltdown प्रूफ-ऑफ-कॉन्सेप्ट

इस रिपॉज़िटरी में कई एप्लिकेशन हैं, जो Meltdown बग को प्रदर्शित करते हैं। बग के बारे में तकनीकी जानकारी के लिए, पेपर देखें:

  • Meltdown — Lipp, Schwarz, Gruss, Prescher, Haas, Mangard, Kocher, Genkin, Yarom, और Hamburg द्वारा

इस रिपॉज़िटरी में मौजूद एप्लिकेशन libkdump के साथ बनाए गए हैं, जो एक लाइब्रेरी है जिसे हमने पेपर के लिए विकसित किया था। यह लाइब्रेरी पर्यावरण के कुछ गुणों के अनुसार स्वतः अनुकूलित होकर बग के शोषण को सरल बनाती है।

वीडियो

इस रिपॉज़िटरी में Meltdown को प्रदर्शित करने वाले कई वीडियो हैं

  • वीडियो #1 दिखाता है कि Meltdown का उपयोग पासवर्ड इनपुट पर रीयलटाइम जासूसी करने के लिए कैसे किया जा सकता है।
  • वीडियो #2 दिखाता है कि Meltdown भौतिक मेमोरी सामग्री को कैसे लीक करता है।
  • वीडियो #3 दिखाता है कि Meltdown मेमोरी से एक फ़ोटो को कैसे पुनर्निर्मित करता है।
  • वीडियो #4 दिखाता है कि Meltdown मेमोरी से एक फ़ोटो को कैसे पुनर्निर्मित करता है जो FLIF फ़ाइल फ़ॉर्मेट में एन्कोडेड है।
  • वीडियो #5 दिखाता है कि Meltdown अनकैश्ड मेमोरी को कैसे लीक करता है।

डेमो

इस रिपॉज़िटरी में विभिन्न उपयोग मामलों को प्रदर्शित करने के लिए पाँच डेमो हैं। सभी डेमो Ubuntu 16.04 पर Intel Core i7-6700K के साथ परीक्षण किए गए हैं, लेकिन इन्हें 2010 के बाद के किसी भी आधुनिक Intel CPU वाले किसी भी Linux सिस्टम पर काम करना चाहिए।

सर्वोत्तम परिणामों के लिए, हम एक तेज़ CPU की सिफ़ारिश करते हैं जो Intel TSX का समर्थन करता हो (जैसे कोई भी Intel Core i7-5xxx, i7-6xxx, या i7-7xxx)। इसके अतिरिक्त, प्रत्येक डेमो को एक CPU कोर पर पिन किया जाना चाहिए, जैसे taskset के साथ।

डेमो के लिए बिल्ड निर्भरता

पूर्वापेक्षा के रूप में, आपको अपनी मशीन पर glibc-static इंस्टॉल करना होगा।

RPM-आधारित सिस्टम के लिए:

sudo yum install -y glibc-static

डेमो #1: एक पहला परीक्षण (test)

यह सबसे बुनियादी डेमो है। यह अपने ही एड्रेस स्पेस से सुलभ एड्रेस पढ़ने के लिए Meltdown का उपयोग करता है, किसी भी आइसोलेशन तंत्र को तोड़े बिना।

यदि यह डेमो आपके लिए काम नहीं करता है, तो शेष डेमो भी संभवतः काम नहीं करेंगे। इसके कारण अनेक हैं, जैसे CPU बहुत धीमा हो सकता है, out-of-order execution का समर्थन नहीं करता हो, उच्च-रिज़ॉल्यूशन टाइमर पर्याप्त सटीक न हो (विशेषकर VMs में), ऑपरेटिंग सिस्टम कस्टम सिग्नल हैंडलर का समर्थन नहीं करता हो, आदि।

बिल्ड और रन

make
taskset 0x1 ./test

यदि आप इसके समान आउटपुट देखते हैं

Expect: Welcome to the wonderful world of microarchitectural attacks
   Got: Welcome to the wonderful world of microarchitectural attacks

तो बुनियादी डेमो काम करता है।

डेमो #2: KASLR को तोड़ना (kaslr)

Linux kernel 4.12 से शुरू करके, KASLR (Kernel Address Space Layout Randomizaton) डिफ़ॉल्ट रूप से सक्रिय है। इसका मतलब है कि kernel का स्थान (और वह direct physical map भी जो पूरी भौतिक मेमोरी को मैप करता है) प्रत्येक रीबूट के साथ बदल जाता है।

यह डेमो direct physical map के (गुप्त) रैंडमाइज़ेशन को लीक करने के लिए Meltdown का उपयोग करता है। इस डेमो को प्रक्रिया को तेज़ करने के लिए root विशेषाधिकारों की आवश्यकता होती है। पेपर में एक ऐसा प्रकार वर्णित है जिसके लिए root विशेषाधिकारों की आवश्यकता नहीं होती।

बिल्ड और रन

make
sudo taskset 0x1 ./kaslr

कुछ सेकंड के बाद, आपको इसके समान कुछ दिखना चाहिए

[+] Direct physical map offset: 0xffff880000000000

डेमो #3: विश्वसनीयता परीक्षण (reliability)

यह डेमो परीक्षण करता है कि भौतिक मेमोरी को कितनी विश्वसनीयता से पढ़ा जा सकता है। इस डेमो के लिए, आपको या तो direct physical map offset चाहिए (जैसे डेमो #2 से) या आपको अपनी kernel command line में nokaslr निर्दिष्ट करके KASLR अक्षम करना होगा।

बिल्ड और रन

reliability को बिल्ड करें और शुरू करें। यदि आपके पास KASLR सक्षम है, तो पहला पैरामीटर direct physical map का offset है। अन्यथा, प्रोग्राम को किसी पैरामीटर की आवश्यकता नहीं है।

make
sudo taskset 0x1 ./reliability 0xffff880000000000

कुछ सेकंड के बाद, आपको इसके समान आउटपुट मिलना चाहिए:

[-] Success rate: 99.93% (read 1354 values)

डेमो #4: भौतिक मेमोरी पढ़ें (physical_reader)

यह डेमो सीधे भौतिक मेमोरी पढ़कर एक भिन्न प्रक्रिया से मेमोरी पढ़ता है। इस डेमो के लिए, आपको या तो direct physical map offset चाहिए (जैसे डेमो #2 से) या आपको अपनी kernel command line में nokaslr निर्दिष्ट करके KASLR अक्षम करना होगा।

सिद्धांत रूप में, यह प्रोग्राम मनमाने भौतिक एड्रेस पढ़ सकता है। हालाँकि, चूँकि भौतिक मेमोरी में बहुत सारा गैर-मानव-पठनीय डेटा होता है, हम एक परीक्षण उपकरण (secret) प्रदान करते हैं, जो मेमोरी में एक मानव-पठनीय स्ट्रिंग डालता है और सीधे इस स्ट्रिंग का भौतिक एड्रेस प्रदान करता है।

बिल्ड और रन

डेमो के लिए, पहले secret को (root के रूप में) चलाएँ ताकि एक मानव-पठनीय स्ट्रिंग का भौतिक एड्रेस प्राप्त हो:

make
sudo ./secret

इसे इसके समान कुछ आउटपुट देना चाहिए:

[+] Secret: If you can read this, this is really bad
[+] Physical address of secret: 0x390fff400
[+] Exit with Ctrl+C if you are done reading the secret

जबकि secret प्रोग्राम चल रहा हो, physical_reader शुरू करें। पहला पैरामीटर secret द्वारा प्रिंट किया गया भौतिक एड्रेस है। यदि आपके पास KASLR अक्षम नहीं है, तो दूसरा पैरामीटर direct physical map का offset है।

taskset 0x1 ./physical_reader 0x390fff400 0xffff880000000000

कुछ सेकंड के बाद, आपको इसके समान आउटपुट मिलना चाहिए:

[+] Physical address       : 0x390fff400
[+] Physical offset        : 0xffff880000000000
[+] Reading virtual address: 0xffff880390fff400

If you can read this, this is really bad

डेमो #5: मेमोरी डंप करें (memdump)

यह डेमो मेमोरी की सामग्री को डंप करता है। डेमो #3 और #4 की तरह, यह भौतिक मेमोरी की सामग्री को hexdump-जैसे फ़ॉर्मेट में डंप करने के लिए direct physical map का उपयोग करता है।

फिर से, चूँकि भौतिक मेमोरी में बहुत सारी गैर-मानव-पठनीय सामग्री होती है, हम भौतिक मेमोरी की बड़ी मात्रा को मानव-पठनीय स्ट्रिंग्स से भरने के लिए एक परीक्षण उपकरण प्रदान करते हैं।

बिल्ड और रन

डेमो के लिए, पहले मेमोरी को मानव-पठनीय स्ट्रिंग्स से भरने के लिए memory_filler चलाएँ। पहला तर्क भरने के लिए मेमोरी की मात्रा (गीगाबाइट में) है।

make
./memory_filler 9

फिर, मेमोरी सामग्री को डंप करने के लिए memdump उपकरण चलाएँ। यदि आपने पहले memory_filler निष्पादित किया था, तो आपको कुछ स्ट्रिंग अंश दिखने चाहिए। यदि आपके पास कई टैब के साथ Firefox या Chrome चल रहा है, तो आप खुली या हाल ही में बंद की गई वेबसाइटों के भाग भी देख सकते हैं।

पहला पैरामीटर वह भौतिक एड्रेस है जहाँ से डंप शुरू होना चाहिए (पहले गीगाबाइट से शुरू करने के लिए खाली छोड़ें)। दूसरा पैरामीटर उन बाइट्स की मात्रा है जिन्हें आप पढ़ना चाहते हैं, सब कुछ पढ़ने के लिए -1 दें। यदि आपके पास KASLR अक्षम नहीं है, तो तीसरा पैरामीटर direct physical map का offset है।

taskset 0x1 ./memdump 0x240000000 -1 0xffff880000000000 # start at 9 GB

आपको मेमोरी के भागों का hexdump मिलना चाहिए (संभवतः पासवर्ड जैसे रहस्य भी शामिल हो सकते हैं, पेपर में उदाहरण देखें), जैसे:

टूल डाउनलोड करें