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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
kasld — يقوم KASLD بإزالة العشوائية من تخطيط الذاكرة الافتراضية والفيزيائية لنواة Linux من عملية محلية، باستخدام ما تسمح به وجهة نظره — من صلاحيات وتكوين وحصر. | Kitploit
أدوات/GitHubGitHub/bcoles/kasld
الاستطلاعالاستغلالجمع المعلوماتCTFاختبار الاختراقاستغلال الملفات الثنائية
GitHubbcoles/kasld

kasld

يقوم KASLD بإزالة العشوائية من تخطيط الذاكرة الافتراضية والفيزيائية لنواة Linux من عملية محلية، باستخدام ما تسمح به وجهة نظره — من صلاحيات وتكوين وحصر.

عرض المستودع
521515منذ 14س 16دتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

KASLD logo generated with Copilot (cropped)

Build Status CodeQL Platform: Linux Architectures C99 Release License: MIT

يستعيد KASLD التخطيط الافتراضي للذاكرة في نواة Linux — الفعلية والظاهرية — وبشكل أساسي قاعدة نص النواة — من عملية محلية، مستفيدًا قدر الإمكان من منظور العملية: صلاحياتها وقدراتها، وإعدادات النظام، وأي حصر داخل حاوية. يستعيد قاعدة نص النواة مباشرةً حيث يسمح تسريب أو قناة جانبية بذلك، وإلا يضيّقها إلى أصغر مجموعة من المواضع التي تدعمها الأدلة المتاحة. يدمج محرك الاستدلال الأدلة من عشرات التقنيات المستقلة مع الثوابت المعروفة للمعمارية، مضيّقًا موضع النواة إلى نافذة متبقية — تُعرض كعدد الفتحات المتبقية وعدد بتات الإنتروبيا: حد أعلى للحماية التي يحتفظ بها KASLR من هذا المنظور، وليس ضمانًا بأن القاعدة خارج متناول المهاجم (انظر docs/limitations.md). على نواة حديثة مُرقّعة بالكامل — حيث تُخفَّف القنوات الجانبية على x86-64 ولا يبقى أي تسريب مباشر لنص النواة — غالبًا ما يكون الاستعادة الكاملة مستحيلة، لكن مجموعة القيود نادرًا ما تكون فارغة. على المعماريات التي لا تحتوي على KASLR، يحدد المحرك عنوان التحميل الذي اختاره محمّل الإقلاع.

يدعم:

  • x86 (i386+, amd64)
  • ARM (armv6, armv7, armv8, aarch64)
  • MIPS (mipsbe, mipsel, mips64el)
  • PowerPC (ppc, ppcle, ppc64, ppc64le)
  • RISC-V (riscv32, riscv64)
  • LoongArch (loongarch64)
  • s390

البدء السريع

root@kitploit:~
sudo apt install libc-dev make gcc binutils git
git clone https://github.com/bcoles/kasld
cd kasld
make
./build/<arch>/kasld

دليل build/<arch>/ مكتفٍ ذاتيًا ويمكن نشره على نظام الهدف:

root@kitploit:~
build/<arch>/
  kasld              <- run this
  components/        <- leak components

إعداد مُحصَّن (kernel.dmesg_restrict=1، kernel.kptr_restrict=1، kernel.perf_event_paranoid=2 أو أعلى، kernel.unprivileged_bpf_disabled=1) يضيّق مسار أوراكل نظام الملفات، لكنه محور واحد فقط من المنظور: تقنيات القنوات الجانبية والإنتروبيا الضعيفة والقدرات الممنوحة مستقلة عن هذه الإعدادات. للاختبار، يمكن لسكربت extra/weaken-kernel-hardening تخفيف هذه الإعدادات مؤقتًا (يتطلب صلاحيات root).

مثال على المخرجات

يطبع الوضع النصي الافتراضي نظرة عامة تبدأ بالنتيجة:

root@kitploit:~
KASLD 0.3.1-dev  --  Kernel Address Space Layout Derandomization
Target: x86_64 / 7.0.0

Running 117 of 120 components (3 experimental skipped; use -x to enable)...
[####################] 100%  117/117  40.9s
1 component timed out after 30s and was killed (prefetch_directmap)

  Quantity             Certainty   Window                                   Candidates      Grain
  -------------------  ----------  ---------------------------------------  --------------  -----
  Virtual Image Base   guaranteed  0xffffffff81000000 - 0xffffffffbd400000      483 of 505  2 MiB
  Virtual Image Base   likely      0xffffffff93400000 slide +0x12400000           1 of 483  2 MiB
  Physical Image Base  guaranteed           0x1000000 -         0x3d400000     474 of 8185  2 MiB
  Physical Image Base  likely               0x1000000 -         0x3c29d000      474 of 474  2 MiB
  Direct Map Base      guaranteed  0xffff800000000000 - 0xffffa4aa80000000           37547  1 GiB
  Vmalloc Base         guaranteed  0xffff898000000000 - 0xffffd6d580000000  79191 of 79191  1 GiB
  Vmemmap Base         guaranteed  0xffffa98040000000 - 0xfffffd0000000000           85504  1 GiB
  Module Region Base   guaranteed  0xffffffffa0000000 - 0xffffffffff000000          389121  4 KiB
  Module Region Base   likely      0xffffffffc0000000 - 0xffffffffc0400000  1025 of 389121  4 KiB
  Paging Level         guaranteed  48                                               1 of 2  -

  Note: physical and virtual text randomize independently

  Note: 1 sub-range excluded from the windows above; the counts
        already reflect them (-v lists the ranges).

Evidence  (1 finding, 2 components)
  Region             Position  Address             Sources
  -----------------  --------  ------------------  -------
  virt kernel image  base      0xffffffff93400000        2

[-v: detailed results, memory map, system info]  [-H: hardening assessment]

يضيف -v القراءة المطوّلة الكاملة (اللافتة، كتلة إعدادات النظام، سجلات كل مكوّن، تحليل KASLR، خرائط تخطيط الذاكرة). ويُخرج -j بيانات JSON قابلة للقراءة آليًا — العرض المنظّم الكامل، متضمنًا دائمًا سجلات كل مكوّن وتقييم التحصين. ويُخرج -1 سطرًا واحدًا قابلًا للتمرير عبر الأنابيب في الصدفة. ويُنسّق -m لمتتبعات المشكلات. ويضيف -H تقييم التحصين إلى تقارير النص/Markdown.

انظر docs/usage.md لواجهة سطر الأوامر الكاملة، وتفاصيل أوضاع الإخراج، ووضع الشرح، وتقييم التحصين.

المنظور

ما يمكن لـ KASLD استعادته يعتمد على منظور العملية الجارية — وليس مستوى صلاحية واحدًا، بل مزيج ثلاثة أمور مستقلة:

  • الصلاحيات والمجموعات والقدرات — معرّف مستخدم غير مميّز، أو عضوية في مجموعة مثل adm (التي تمنح سجلات النواة تحت /var/log/)، أو مهمة حاوية تحمل قدرة إضافية، أو root. هذه لا تشكّل سلّمًا واحدًا، لأن أذونات نظام الملفات تُبوّب كل مصدر بشكل مستقل: حاوية مُنحت CAP_SYS_RAWIO تكون root في نطاق init بالنسبة لهذا الفحص ويمكنها قراءة /proc/kcore — وهو تسريب لا يستطيع مستخدم عادي الوصول إليه — بينما تختلف التوزيعات حول ما إذا كان ملف مثل /boot/System.map قابلًا للقراءة للجميع أصلًا.
  • إعدادات النظام — kptr_restrict، dmesg_restrict، perf_event_paranoid، BPF غير المميّز، قفل النواة (kernel lockdown). الإعدادات مستقلة عن الصلاحية: لا يستطيع root قراءة /proc/kallsyms تحت kptr_restrict=2، بينما يمكن لـ sysctl مخفّف أو BPF غير مميّز أن يمنح مستخدمًا عاديًا تسريبًا كان نظام مُحصَّن سيمنعه.
  • الحصر — مساحة أسماء أو صندوق رملي seccomp يحجب أوراكل /proc أو يحظر استدعاءات النظام، مما يضيّق ما يلاحظه أي مستوى صلاحية.

تُبوّب المحاور الثلاثة كل مصدر تسريب بشكل مستقل — لذا الصلاحية الأكبر ليست مجموعة شاملة للأقل: يمكن للإعدادات أن تحجب مصدرًا عن root، وتتجاوز القنوات الجانبية إعدادات sysctl بالكامل. يحتوي docs/usage.md على مصفوفة مصدر التسريب حسب البوابة توضح أي محور يتحكم بكل مصدر.

يفترض KASLD صلاحيات قليلة افتراضيًا ويستفيد انتهازيًا من أي شيء يمنحه المنظور. النافذة المُبلَّغ عنها المضمونة لا تعتمد أبدًا على الصلاحية: الوصول المرتفع أو الإعدادات الضعيفة يمكن أن توسّع ما يُجرَّب، وليس التخطيط السليم الذي تثبته الأدلة. تُبلّغ مخرجات الوضع المطوّل (-v) وJSON (-j) وMarkdown (-m) عن المنظور المكتشف — الحاوية، والحصر، والأوراكل القابلة للقراءة، والتسريبات المبوّبة بالقدرات التي يمكن الوصول إليها من القدرات الحالية.

التوثيق

جديد على KASLD؟ اقرأ بالترتيب: docs/kaslr.md (ما هو KASLR وما الذي يعشوّشه) → docs/architecture.md → تسريب من البداية إلى النهاية (كيف يحوّل KASLD تسريبًا واحدًا إلى إجابة) → docs/limitations.md (ما تثبته النتيجة وما لا تثبته) → CONTRIBUTING.md (أضف مكوّن تسريب أو قاعدة استدلال). الجدول أدناه يفهرس التوثيق حسب الموضوع.

البناء

يلزم مترجم يدعم ماكرو _GNU_SOURCE بسبب استخدام كود غير محمول (MAP_ANONYMOUS، getline()، popen()، …).

root@kitploit:~
make              # build kasld + components
make run          # build and run
make test         # build and run unit tests
make cross        # cross-compile for all supported architectures
make install      # install to /usr/local (PREFIX=/usr/local)
make installcheck # smoke-test the installed bin/kasld + libexec/kasld/
make uninstall    # remove installed files
make clean        # remove build directory
make print-deps   # list build dependencies (libs + per-component flags)
make help         # show all targets and options

يُبلّغ make print-deps عن سلسلة الأدوات المطلوبة، والمكتبتين الاختياريتين (pthread، zlib) مع نتيجة الكشف التلقائي للمترجم الحالي، واستثناءات أعلام الترجمة/الربط لكل مكوّن — ما يكفي لملء ملف التحكم في حزمة توزيعة دون قراءة منطق الفحص في Makefile.

يشغّل make installcheck ملف bin/kasld المثبَّت ويؤكد أنه يكتشف مكوّناته عبر مسار FHS ../libexec/kasld — اختبار دخان بعد التثبيت لتخطيط التثبيت المقسّم، باستخدام نفس PREFIX/DESTDIR الخاص بـ make install (لذا يعمل أيضًا مقابل جذر تجهيز DESTDIR في تكامل الحزم المستمر).

يثبّت make install أيضًا صفحات دليل man1 الخاصة بـ kasld وksymoff إلى <prefix>/share/man/man1/، لذا يعمل man kasld وman ksymoff بعد التثبيت.

يمكن ترجمة KASLD ترجمة متقاطعة باستخدام make بتحديد المترجم المناسب (CC). يُطبَّق الربط الساكن تلقائيًا عند الترجمة المتقاطعة:

root@kitploit:~
make CC=aarch64-linux-musl-gcc

بناء جميع أهداف الترجمة المتقاطعة المدعومة (يجب أن تكون سلاسل الأدوات في PATH):

root@kitploit:~
make cross

الترخيص

KASLD مرخّص بموجب MIT (انظر LICENSE). بعض مكوّنات التسريب تكيّف كود إثبات مفهوم من طرف ثالث أو تنفّذ تقنية نُشرت أولًا من قبل آخرين؛ كل ملف من هذا القبيل ينسب مؤلفه ومصدره الأصلي في ترويسته، ويسرد THIRD-PARTY-NOTICES.md كل واحد منها مع ترخيصه أو أساس إعادة استخدامه (ترخيص المنبع، إذن المؤلف، أو مادة تقنية/إعادة إنتاج أُعيد تنفيذها هنا).

الاستشهاد بـ KASLD

KASLD مرخّص بموجب MIT — الإسناد غير مطلوب للاستخدام، لكن الاستشهاد أو الرابط موضع تقدير أينما أُشير إليه في البحث أو الأدوات أو الاستغلالات أو الكتابة:

KASLD: Kernel Address Space Layout Derandomization, Brendan Coles, https://github.com/bcoles/kasld

BibTeX:

root@kitploit:~
@software{kasld,
  title   = {KASLD: Kernel Address Space Layout Derandomization},
  author  = {Coles, Brendan},
  url     = {https://github.com/bcoles/kasld},
  version = {0.3.0},
  year    = {2026}
}

يعرض GitHub أيضًا زر "Cite this repository" من CITATION.cff. لبناء غير مُصدَر من master، استشهد بالالتزام المحدد والتاريخ الذي تم الوصول فيه — مثل bcoles/kasld@<commit> (accessed YYYY-MM-DD) — لأن سلاسل إصدار -dev ليست فريدة لالتزام واحد.

تنزيل الأداة
الموضوعالمستند
مقدمة KASLRdocs/kaslr.md — تاريخ KASLR لكل معمارية، قاعدة النص الافتراضية، vmsplit، FG-KASLR
الاستخدام وسطر الأوامرdocs/usage.md — سطر الأوامر، أوضاع الإخراج، وضع الشرح، تقييم التحصين
تفسير النتائجdocs/limitations.md — ماذا تعني نتيجة سلبية أو جزئية: سليمة لكن غير كاملة، ولماذا الفشل ليس ضمانًا أمنيًا
تقنيات التجاوزdocs/bypass-techniques.md — تسريبات نظام الملفات، القنوات الجانبية، تسريبات استدعاءات النظام / ioctl، الإنتروبيا الضعيفة، ثغرات CVE المُرقّعة، القراءة العشوائية
الاستغلالdocs/exploitation.md — أين يتناسب إبطال KASLR في الاستغلال، تدفق التحكم مقابل البيانات فقط، قالب pwntools، ksymoff
البصمة والكشفdocs/footprint.md — كيف تبدو عملية تشغيل على مضيف مُراقَب: البصمة السلوكية للكشف عنها، وتكلفة OPSEC للمشغّل؛ صاخب بالتصميم
الأدوات المساعدةextra/README.md — سكربتات extra/ المساعدة (capture/replay، التحقق من السلامة، posture-diff، ksymoff) وكيف تتكامل
المعمارية والداخلياتdocs/architecture.md — محرك الاستدلال، مفاصل تدفق البيانات، بروتوكول السطر الموسوم، الاشتقاق عبر المناطق
المساهمةCONTRIBUTING.md — كتابة مكوّن أو قاعدة، واجهة emitter، رموز الخروج، البيانات الوصفية
الاختبار والتكامل المستمرdocs/testing.md — اختبارات المضيف، عيّنات إعادة التشغيل، المعماريات المتقاطعة تحت qemu-user، التغطية
قابلية إعادة الإنتاجdocs/reproducibility.md — التحقق المستقل: على النواة المحلية، مباشرة عبر المعماريات، أو على المجموعة المُلتقطة