
🧙♂️ Node.js للقيادة والتحكم باختطاف السكربتات في تطبيقات Electron الضعيفة
لوكي هو إطار عمل للقيادة والتحكم (C2) من المرحلة الأولى مكتوب بلغة Node.js، صُمم لاختطاف السكربتات في تطبيقات Electron الضعيفة MITRE ATT&CK T1218.015. طُوّر لعمليات الفريق الأحمر، يمكّن لوكي من مراوغة برامج الأمان وتجاوز ضوابط التطبيقات عبر استغلال تطبيقات Electron الموثوقة والموقّعة.
اختطاف السكربتات يختطف تدفق التنفيذ لتطبيق Electron عن طريق تعديل ملفات JavaScript المحمّلة في وقت التشغيل بأكواد Node.js عشوائية. يمكن استغلال هذه التقنية من أجل:
في حين أن عدة أدوات تتناول بالفعل استغلال اختطاف السكربتات لتوجيه التنفيذ إلى عملية أخرى، فإن لوكي هو الأول الذي يتيح زرع أبواب خلفية وتجويف تطبيقات Electron الموقّعة دون إبطال توقيع الكود الخاص بها.
لمزيد من التفاصيل حول كيفية عمل لوكي، طالع منشور المدونة هذا:

| الاسم | المساهمات |
|---|---|
| Bobby Cooke | المُنشئ والمشرف |
| Dylan Tran | مُنشئ |
| Ellis Springe | مُختبِر ألفا |
| Shawn Jones | كود تنفيذ التجميع |
| Trusted Sec | كود COFFLoader |
| Simon Exley | صانع فيديو |
| Clinton Elves | صانع فيديو |
| John Hammond | صانع فيديو |
شاهد هذا الفيديو من John Hammond حول زرع باب خلفي في Cursor AI باستخدام Loki C2! 🎩
شاهد هذا الفيديو من Simon Exley & Clinton Elves حول البدء في استخدام Loki C2! 🧙♂️
جميع أوامر الوكيل مكتوبة بلغة Node.js الأصلية ولا تتطلب تبعيات إضافية أو عمليات تحميل مكتبات. باستثناء الأمرين scexec و assembly اللذين يقومان بتحميل مكتبة على keytar.node و assembly.node
/، ولن تعمل المسارات التي تحتوي على \.| الأمر | الوصف |
|---|---|
help | عرض المساعدة. الاستخدام: help أو help scan |
pwd | طباعة دليل العمل الحالي |
ls | سرد الملفات والأدلة |
cat | عرض محتويات ملف |
env | عرض متغيرات بيئة العملية |
spawn | إنشاء عملية فرعية |
drives | سرد محركات الأقراص |
mv | نقل ملف إلى وجهة جديدة |
sleep | النوم لثوانٍ مع تذبذب (jitter) |
cp | نسخ ملف مصدر إلى وجهة |
exit-all | إنهاء الوكيل، لن يعاود الوكيل الاتصال بعد الآن |
load | تحميل ملف PE عقدي من القرص إلى العملية |
scexec | تنفيذ شيل كود |
assembly | تنفيذ تجميعة .NET والحصول على مخرجات الأوامر |
upload | رفع ملف من جهاز المشغّل المحلي إلى جهاز الوكيل البعيد |
download | تنزيل ملف من جهاز الوكيل البعيد إلى جهاز المشغّل المحلي |
scan | إجراء فحص شبكة TCP عبر نطاق CIDR مع منافذ محددة |
dns | استعلام DNS. يستخدم إعدادات DNS الخاصة بالنظام |
set | ضبط مسارات تحميل Node لعقدتي assembly و scexec |
bof | تنفيذ ملف COFF وإرجاع المخرجات |
set - تحميل العقد من مسارات استثناء ضوابط التطبيقاتset لتغيير مسارات التحميل لكل من assembly.node و scexec.node.ls و cat و cp و mv قد تتمكن من تعداد قواعد ضوابط التطبيقات لاكتشاف دليل قابل للكتابة يعد استثناءً.set لتغيير مسار التحميل إلى دليل الاستثناء لتجاوز ضوابط التطبيق.[04-04-2025 8:50AM MST] advsim$ help set
Set the Node load paths for assembly node and scexec nodes
set scexec_path C:/Users/user/AppData/ExcludedApp/scexec.node
set assembly_path C:/Users/user/AppData/ExcludedApp/assembly.node
[04-04-2025 8:51AM MST] advsim$ set scexec_path C:/Users/user/AppData/ExcludedApp/scexec.node
SCEXEC Node Load Path Set to : C:/Users/user/AppData/ExcludedApp/scexec.node
لمزيد من المعلومات حول ميزات الوكيل اضغط هنا
لمزيد من المعلومات حول ميزات العميل اضغط هنا
أولاً، تحتاج إلى تحديد تطبيق Electron ضعيف لا يجري فحوصات تكامل أمان ASAR مثل Microsoft Teams. قد تحتوي التطبيقات الأحدث على فحوصات تكامل تمنع زرع الأبواب الخلفية. الإصدارات الأقدم من التطبيق المستهدف من المرجح أن تكون ضعيفة.
لا تحتاج إلى تجميع الوكيل عند زرع أبواب خلفية في تطبيقات Electron. فقط استبدل محتويات {ELECTRONAPP}/resources/app/ بملفات وكيل لوكي.