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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
clairvoyance — विंडोज़ प्रक्रिया के वर्चुअल एड्रेस स्पेस को हिल्बर्ट वक्र पर विज़ुअलाइज़ करें। | Kitploit
उपकरण/GitHubGitHub/0vercl0k/clairvoyance
मेमोरी फोरेंसिकफोरेंसिकडिजिटल फोरेंसिक
GitHub0vercl0k/clairvoyance

clairvoyance

विंडोज़ प्रक्रिया के वर्चुअल एड्रेस स्पेस को हिल्बर्ट वक्र पर विज़ुअलाइज़ करें।

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

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

सभी देखें →

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

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

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

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

🔮 क्लेयरवॉयेंस

Builds

क्लेयरवॉयेंस (/klɛərˈvɔɪəns/; फ्रेंच clair से जिसका अर्थ है स्पष्ट और voyance का अर्थ है दृष्टि) विकिपीडिया से।

clairvoyance

अवलोकन

clairvoyance Windows 64-बिट कर्नेल पर चल रही एक संपूर्ण 64-बिट प्रोसेस एड्रेस स्पेस (यूज़र और कर्नेल) की पेज प्रोटेक्शन का एक रंगीन विज़ुअलाइज़ेशन तैयार करता है।

1 आयामी स्पेस, यानी एड्रेस स्पेस, को 2 आयामों वाले विज़ुअलाइज़ेशन में बदलने के लिए हिल्बर्ट स्पेस-फिलिंग कर्व का उपयोग किया जाता है। ऊपर की तस्वीर में प्रत्येक रंगीन पिक्सेल वर्चुअल मेमोरी में 4KB पेज की पेज प्रोटेक्शन (UserRead, UserReadWrite, आदि) को दर्शाता है।

एड्रेस स्पेस की गणना सीधे तौर पर WindDbg का उपयोग करके उत्पन्न किए गए कर्नेल क्रैश-डंप से किसी प्रोसेस से जुड़े चार-स्तरीय पेज टेबल पदानुक्रम को मैन्युअल रूप से पार्स करके की जाती है।

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

संकलित बाइनरी releases अनुभाग में उपलब्ध हैं। एक ऑनलाइन व्यूअर 0vercl0k.github.io/clairvoyance पर भी होस्ट किया गया है।

शाउट आउट:

  • Alexandru Radocea और Georg Wicherski को प्रेरणा के लिए (उनका BlackHat USA 2013 शोध देखें: Visualizing Page Tables for Exploitation),
  • The Hacker's delight second edition के अध्याय 16 Hilbert's curve को उपयोग किए गए एल्गोरिदम प्रदान करने के लिए।

उपयोग

कर्नेल क्रैश डंप उत्पन्न करने के लिए WinDbg, KDNet का उपयोग .dump /f कमांड के साथ करने की अनुशंसा की जाती है।

एक बार डंप प्राप्त हो जाने पर, आप उसका पथ clairvoyance को दे सकते हैं, साथ ही उस पेज डायरेक्टरी का भौतिक पता भी दे सकते हैं जिसमें आपकी रुचि है:

root@kitploit:~
./clairvoyance <dump path> [<page dir pa>]

यह clairvoyance एक्सटेंशन वाली एक फ़ाइल उत्पन्न करता है जिसे आप 0vercl0k.github.io/clairvoyance पर अपने ब्राउज़र में देख सकते हैं, या gh-pages शाखा को देखकर, जहाँ व्यूअर होस्ट किया गया है।

clairvoyance

निर्माण

CI Linux पर clang++-11 का उपयोग करके और Windows पर Microsoft के Visual studio 2019 का उपयोग करके clairvoyance बनाता है।

इसे स्वयं बनाने के लिए आप build/ में स्क्रिप्ट का उपयोग कर सकते हैं:

root@kitploit:~
(base) clairvoyance\build>build-msvc.bat
(base) clairvoyance\build>cmake ..
-- Selecting Windows SDK version 10.0.19041.0 to target Windows 10.0.19042.
-- Configuring done
-- Generating done
-- Build files have been written to: clairvoyance/build

(base) clairvoyance\build>cmake --build . --config RelWithDebInfo
Microsoft (R) Build Engine version 16.8.2+25e4d540b for .NET Framework
Copyright (C) Microsoft Corporation. All rights reserved.

  clairvoyance.vcxproj -> clairvoyance\build\RelWithDebInfo\clairvoyance.exe
  Building Custom Rule clairvoyance/CMakeLists.txt

विभिन्न निष्कर्ष

नीचे वे चीज़ें हैं जो मैंने Windows के एक Hyper-V VM से उत्पन्न कर्नेल क्रैश-डंप पर देखीं:

root@kitploit:~
kd> vertarget
Windows 10 Kernel Version 18362 UP Free x64
Product: WinNt, suite: TerminalServer SingleUserTS
Edition build lab: 18362.1.amd64fre.19h1_release.190318-1202
Machine Name:
Kernel base = 0xfffff805`36800000 PsLoadedModuleList = 0xfffff805`36c432f0
Debug session time: Sat Jul 25 10:00:19.637 2020 (UTC - 8:00)
System Uptime: 0 days 0:18:53.609

पेजों के प्रकार

Windows ऐसा प्रतीत नहीं होता कि वह ह्यूज पेज (1GB) का उपयोग करता है, या कम से कम मैंने अपने द्वारा एकत्र किए गए किसी भी डंप में एक का उपयोग नहीं देखा है।

लार्ज पेज का उपयोग कुछ कर्नेल निष्पादनयोग्य फ़ाइलों जैसे कि Windows कर्नेल nt को मैप करने के लिए प्रचुर मात्रा में किया जाता है:

root@kitploit:~
kd> ? nt
Evaluate expression: -8773703827456 = fffff805`36800000
root@kitploit:~
VA:0xfffff80536800000, PA:0x2400000 (KernelReadWriteExec, Large, PML4E:0xd5745f80, PDPTE:0x42080a0, PDE:0x4209da0, PTE:0x0)

ऐसे भी बहुत सारे कर्नेल रीड, राइट, एक्ज़ीक्यूटेबल पेज हैं जो लार्ज पेज नहीं हैं, जो कुछ हद तक आश्चर्यजनक था। मुझे ज्ञात था कि कर्नेल / हाल को लार्ज पेज का उपयोग करके मैप किया जा सकता है और वे krwx होते हैं। इसका कारण यह है कि 2MB इतना बड़ा होता है कि यह एक्ज़ीक्यूटेबल और डेटा दोनों अनुभागों में फैल जाता है; जिसका अर्थ है कि पेज राइटेबल और एक्ज़ीक्यूटेबल होना चाहिए।

इसका एकमात्र सार्वजनिक उल्लेख जो मुझे मिल सका वह इस ब्लॉगपोस्ट में है (धन्यवाद `Ivan):

मैंने Microsoft से संपर्क किया जिसने दावा किया कि यह जानबूझकर है क्योंकि "कुछ मामलों में कर्नेल को लार्ज पेज के साथ मैप किया जाता है" और इसे वर्चुअलाइज़ेशन आधारित सुरक्षा (VBS) को सक्षम करके रोका जा सकता है।

वर्चुअल एड्रेस सिंक

बड़े कर्नेल मेमोरी अनुभागों का एक समूह एक ही भौतिक पेज (शून्य से भरा हुआ) के विरुद्ध मैप किया गया है:

root@kitploit:~
VA:0xffffc27ef4401000, PA:0x4200000 (KernelRead, Normal, ...)
VA:0xffffc27ef4402000, PA:0x4200000 (KernelRead, Normal, ...)
VA:0xffffc27ef4403000, PA:0x4200000 (KernelRead, Normal, ...)
...
VA:0xffffc27ef63fb000, PA:0x4200000 (KernelRead, Normal, ...)
VA:0xffffc27ef63fc000, PA:0x4200000 (KernelRead, Normal, ...)
VA:0xffffc27ef63fd000, PA:0x4200000 (KernelRead, Normal, ...)
VA:0xffffc27ef63fe000, PA:0x4200000 (KernelRead, Normal, ...)
VA:0xffffc27ef63ff000, PA:0x4200000 (KernelRead, Normal, ...)

यहाँ एक छोटा क्षेत्र है (क्षेत्र पूरी तरह से सतत नहीं है, कुछ छेद हैं):

root@kitploit:~
VA:0xffffc27ed2201000, PA:0x4300000 (KernelRead, Normal, ...)
VA:0xffffc27ed2202000, PA:0x4300000 (KernelRead, Normal, ...)
VA:0xffffc27ed2203000, PA:0x4300000 (KernelRead, Normal, ...)
...
VA:0xffffc27ed25fc000, PA:0x4300000 (KernelRead, Normal, ...)
VA:0xffffc27ed25fd000, PA:0x4300000 (KernelRead, Normal, ...)
VA:0xffffc27ed25fe000, PA:0x4300000 (KernelRead, Normal, ...)
VA:0xffffc27ed25ff000, PA:0x4300000 (KernelRead, Normal, ...)

पैटर्न की गैलरी

यह केवल एक अनुभाग है जो एड्रेस स्पेस के कुछ क्षेत्रों में दिखाई देने वाले कुछ बढ़िया पैटर्न दिखाता है।

पेज हीप

पेज हीप आवंटन और उनके गार्ड पेज काफी अच्छे दिखते हैं और उन्हें पहचानना आसान है:

ph

कर्नेल स्टैक

कर्नेल स्टैक में भी उनके आकार और गार्ड पेजों के कारण एक अच्छी पहचानने योग्य आकृति होती है:

kstack

सिस्टम कैश

मैंने जो डंप देखे हैं उनमें कर्नेल में सिस्टम कैश क्षेत्र एक नेबुला जैसा दिखता है:

systemcache

लेखक

Axel '0vercl0k' Souchet

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