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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
RustChain — إخفاء آثار الذاكرة باستخدام ROP ونقاط التوقف العتادية. | Kitploit
أدوات/GitHubGitHub/kudaes/rustchain
تحليل الذاكرة الجنائيالاستغلالالفريق الأحمرتطوير الحمولات
GitHubkudaes/rustchain

RustChain

إخفاء آثار الذاكرة باستخدام ROP ونقاط التوقف العتادية.

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

الأكثر شعبية

عرض الكل →

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

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

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

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

الوصف

هذه الأداة عبارة عن إثبات مفهوم (PoC) بسيط لكيفية إخفاء آثار الذاكرة باستخدام سلسلة ROP بالإضافة إلى نقاط توقف الأجهزة. ستقوم سلسلة ROP بتغيير حماية صفحة الذاكرة الخاصة بالوحدة الرئيسية إلى N/A أثناء النوم (أي عند استدعاء الدالة Sleep). لمزيد من المعلومات التفصيلية حول هذه التقنية لتجنب مسح الذاكرة، تحقق من المشروع الأصلي Gargoyle. x64 فقط.

الفكرة هي إعداد نقطة توقف أجهزة في kernel32!Sleep ومرشح جديد من المستوى الأعلى للتعامل مع الاستثناء. عند استدعاء Sleep، يتم تشغيل دالة مرشح الاستثناء التي تم تعيينها من قبل، مما يسمح لنا باستدعاء سلسلة ROP دون الحاجة إلى استخدام خطافات الدوال التقليدية. بهذه الطريقة، نتجنب ترك مناطق ذاكرة خاصة غريبة وغير عادية في العملية مرتبطة بـ dlls المعروفة.

تقوم سلسلة ROP ببساطة باستدعاء VirtualProtect() لتعيين صفحة الذاكرة الحالية إلى N/A، ثم تستدعي SleepEx وأخيراً تستعيد حماية الذاكرة RX.

نظرة عامة على العملية كما يلي:

  • نستخدم SetUnhandledExceptionFilter لتعيين دالة مرشح استثناء جديدة.
  • يُستخدم SetThreadContext لتعيين نقطة توقف أجهزة على kernel32!Sleep.
  • نستدعي Sleep، مما يؤدي إلى تشغيل نقطة توقف الأجهزة وتوجيه تدفق التنفيذ نحو دالة مرشح الاستثناء الخاصة بنا.
  • يتم استدعاء سلسلة ROP من دالة مرشح الاستثناء، مما يسمح بتغيير حماية صفحة الذاكرة الحالية إلى N/A. ثم يتم استدعاء SleepEx. أخيراً، تستعيد سلسلة ROP حماية الذاكرة RX ويستمر التنفيذ الطبيعي.

تتكرر هذه العملية إلى أجل غير مسمى.

كما يمكن رؤيته في الصورة، يتم تغيير حماية الذاكرة للوحدة الرئيسية إلى N/A أثناء النوم، مما يتجنب عمليات مسح الذاكرة التي تبحث عن صفحات بإذن التنفيذ.

N/A memory protection is set while sleeping

التجميع

نظرًا لأننا نستخدم إضافة LITCRYPT لتعتيم حرفيات السلاسل، فمن المطلوب تعيين متغير البيئة LITCRYPT_ENCRYPT_KEY قبل تجميع الكود:

root@kitploit:~
C:\Users\User\Desktop\RustChain> set LITCRYPT_ENCRYPT_KEY="yoursupersecretkey"

بعد ذلك، قم ببساطة بتجميع الكود وتشغيل الأداة:

root@kitploit:~
C:\Users\User\Desktop\RustChain> cargo build
C:\Users\User\Desktop\RustChain\target\debug> rustchain.exe

القيود

هذه الأداة هي مجرد إثبات مفهوم (PoC) ويجب تنفيذ بعض الميزات الإضافية لتكون وظيفية بشكل كامل. كان الغرض الرئيسي من المشروع هو تعلم كيفية تنفيذ سلسلة ROP ودمجها داخل Rust. لهذا السبب، ستعمل هذه الأداة فقط إذا استخدمتها كما هي، ومن المتوقع حدوث أعطال إذا حاولت استخدامها بطرق أخرى (على سبيل المثال، تجميعها في dll ومحاولة تحميلها وتنفيذها بشكل انعكاسي).

الإسناد

  • @thefLinkk عن مشروعه DeepSleep الذي ألهمني لإنشاء هذه الأداة.
تنزيل الأداة