Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
clairvoyance — تصوّر مساحة العنوان الافتراضية لعملية ويندوز على منحنى هيلبرت. | Kitploit
أدوات/GitHubGitHub/0vercl0k/clairvoyance
تحليل الذاكرة الجنائيالتحقيق الجنائي الرقميالتحاليل الرقمية الجنائية
GitHub0vercl0k/clairvoyance

clairvoyance

تصوّر مساحة العنوان الافتراضية لعملية ويندوز على منحنى هيلبرت.

عرض المستودع
30820منذ 5 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

🔮 clairvoyance

Builds

كليرفويانس (/klɛərˈvɔɪəns/؛ من الفرنسية clair بمعنى واضح وvoyance بمعنى رؤية) من ويكيبيديا.

clairvoyance

نظرة عامة

clairvoyance ينشئ تصورًا ملونًا لحماية الصفحات لمساحة عنوان عملية 64-بت بأكملها (المستخدم والنواة) التي تعمل على نواة Windows 64-بت.

لتحويل الفضاء أحادي البعد، أي مساحة العنوان، إلى تصور ثنائي الأبعاد، يتم استخدام منحنى هيلبرت لملء الفراغ. كل بكسل ملون في الصورة أعلاه يمثل حماية الصفحة (UserRead، UserReadWrite، إلخ) لصفحة بحجم 4KB في الذاكرة الافتراضية.

يتم حساب مساحة العنوان مباشرة عن طريق تحليل التسلسل الهرمي لجداول الصفحات رباعي المستويات المرتبط بعملية من تفريغ تعطل النواة الذي تم إنشاؤه باستخدام WindDbg.

أخيرًا، ينتج البرنامج ملفًا يحتوي على البيانات الوصفية المطلوبة لعرضه على لوحة ثنائية الأبعاد، بالإضافة إلى القدرة على حساب العنوان الافتراضي المقابل لبكسل محدد مُميَّز.

الثنائيات المجمّعة متاحة في قسم الإصدارات. كما يتوفر عارض عبر الإنترنت مستضاف على 0vercl0k.github.io/clairvoyance.

تحية خاصة إلى:

  • Alexandru Radocea وGeorg Wicherski للإلهام (انظر بحثهما في BlackHat USA 2013: تصور جداول الصفحات من أجل الاستغلال)،
  • الطبعة الثانية من كتاب Hacker's Delight، الفصل 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 ببناء clairvoyance على Linux باستخدام clang++-11 وعلى Windows باستخدام Visual studio 2019 من مايكروسوفت.

لبنائه بنفسك، يمكنك استخدام النصوص البرمجية في 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

ملاحظات متفرقة

فيما يلي أشياء لاحظتها في تفريغ تعطل للنواة تم إنشاؤه من جهاز افتراضي Hyper-V يعمل بنظام Windows:

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)

هناك أيضًا مجموعة من صفحات النواة القابلة للقراءة والكتابة والتنفيذ وهي ليست صفحات كبيرة، وكان ذلك مفاجئًا إلى حد ما. كنت أعلم أن النواة / hal يمكن تعيينها باستخدام صفحات كبيرة وأن تلك الصفحات كانت 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

تنزيل الأداة