Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
opnsense-tunables-loader — OPNsense 26.7.6 - عالي - عن بُعد - حقن سطر التكوين - محمّل المعاملات القابلة للضبط | Kitploit
أدوات/GitHubGitHub/abraxas/opnsense-tunables-loader
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبتدقيق التكوينالمحاكاة الافتراضية للأماناختبار الاختراقمختبرات وتدريب عملي
GitHubabraxas/opnsense-tunables-loader

opnsense-tunables-loader

OPNsense 26.7.6 - عالي - عن بُعد - حقن سطر التكوين - محمّل المعاملات القابلة للضبط

عرض المستودع
18منذ 9 أياملم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

Abraxas Labs - opnsense-tunables-loader

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  opnsense-tunables-loader

المقال التقني: https://abraxaslabs.tech/research/opnsense-tunables-loader

opnsense-tunables-loader

الفئة: حقن سطر في ملف الإعدادات الوصول: عن بُعد

نواة OPNsense 26.7.6 (a842fe48) - opnsense.org

لا يزال مسار System: Advanced: Tunables يُدرج الاسم/القيمة داخل /boot/loader.conf. وهو أثر متبقٍ شقيق لـ GHSA-fq94. حقول tunable / value في Tunables.xml هي TextField مجرّدة (الأسطر الجديدة مفعّلة). وتكتب system_login_configure() السطر {$param}="{$value}". كما أن إعادة تهيئة Tunables تعيد تشغيل login. أما sysctl(8) الحيّ فيمر عبر shell_safe مع مرشّح OID، لذا فإن تلك المرحلة ليست حقنًا عبر الصدفة. المتبقي هو توجيهات loader إضافية عند الإقلاع التالي. الصلاحية المطلوبة هي page-system-advanced-sysctl وليست page-all.

تبقى حزمة GitHub هذه خاصة حتى الإفصاح المنسّق.

المعرّفلا يوجد CVE بعد
الفئةحقن سطر في ملف الإعدادات
الوصولعن بُعد (WebGUI / API بعد المصادقة)
CWECWE-93
CVSSمرتفع: 8.1 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
المنتجOPNsense core
المتأثر26.7.6 (a842fe48c21288d11a422cb944678e8eb308becf) System: Advanced: Tunables
المصادقةجلسة WebGUI أو مفتاح API يملك page-system-advanced-sysctl
الترخيصGNU Affero GPL v3.0
المختبرcompose exec gadget (خانة البحث 18850)

ثبّتتُ الوسم 26.7.6 عند الالتزام a842fe48. المختبر عبارة عن gadget بلغة PHP يحاكي إدراج system_login_configure() المثبّت. مشروع Compose باسم opnsense-tunables-loader. خانة البحث 18850 ضمن عائلة gadgets 18800-18860؛ ويستخدم ملف compose هذا الأمر docker compose exec php، وليس ربط HTTP منشورًا.

ما يمكن للمهاجم فعله

الطريقةنقطة الوصولالصلاحية
قيمة Tunables تحتوي CR/LF (hw.usb.no_boot_wait مع "\n# witness)تثبيت سطر إضافي عبر system_login_configure() في /boot/loader.confالسلامة (مُثبتة مختبريًا): سطر إضافي # OPNSENSE-TUNABLES-LOADER-WITNESS في سطر مستقل بعد إسناد مغلق. المختبر: newline-extra-line=yes.
قيمة نظيفة 1الكاتب نفسهنتيجة سلبية (مُثبتة مختبريًا): سطر إسناد واحد، دون أي أثر. المختبر: clean-value-single-line=yes.
نفس أسطر loader الإضافية عند الإقلاع التاليinit_path / module_path / *_load / vfs.root.mountfrom / console في loaderالسلامة (مُستنتجة): يحترم loader عند الإقلاع التالي مفاتيح المهاجم. لم يُعَد التشغيل في هذا الـ gadget.
أسطر loader غير صالحة / vfs.root.mountfrom خاطئ/boot/loader.confالتوافر (مُستنتج): فشل الإقلاع أو جذر خاطئ.
POST /api/core/tunables/searchItemواجهة tunables APIاستطلاع (مُستنتج): سرد الـ tunables، بما في ذلك الحالي/الافتراضي/النوع. مقصود لهذه الـ ACL.
sysctl -w الحيّ لـ OID صالحset_sysctl + مرشّح OIDمهمة الصفحة المقصودة. أسطر loader الإضافية هي المتبقي.

المُثبت مختبريًا مقابل المُستنتج: سطر loader الإضافي عبر السطر الجديد والقيمة النظيفة أحادية السطر هما نجاح مختبري. أما تطبيق loader عند الإقلاع التالي فهو مُستنتج. هذا gadget وليس جهاز OPNsense FreeBSD VM كاملًا.

المتطلبات: مستخدم مسجّل الدخول أو مفتاح API المحلي الخاص بهذا المستخدم يملك page-system-advanced-sysctl وبدون page-all. طلب POST إلى /api/core/tunables/*. حماية CSRF على POST الخاص بالجلسة. إعادة التهيئة تعيد تشغيل login؛ كما تستدعي rc.reload_all والإقلاع أيضًا system_login_configure.

السطح المجاور الذي يبقى مغلقًا

السطحالمختبر
حقن shell في sysctl المباشرshell_safe مع مرشّح OID
قيمة نظيفةسطر إسناد واحد
بدون مصادقة401
مستخدم بدون page-system-advanced-sysctl403
user-config-readonlysave() يرمي استثناءً
page-all إعدادات المسؤول القابلة للضبط التي تعيّن OID حقيقيًامقصود
حقول نص GUI المُرقّعة في GHSA-fq94أحواض مختلفة؛ لم يُذكر هذا الحقل

لا بدون مصادقة. لا shell sysctl مباشر. لا Diagnostics: Command.

المختبر

cd lab
./run.sh

إنشاء مشروع opnsense-tunables-loader. الشاهد OPNSENSE-TUNABLES-LOADER-WITNESS. السطر الأخير:

SUCCESS opnsense-tunables-loader newline-extra-line=yes clean-value-single-line=yes OPNSENSE-TUNABLES-LOADER-WITNESS

المشغّل الجذري: python3 opnsense-tunables-loader-Abraxas-Labs.py.

الإصلاح

إزالة CR/LF و" من اسم وقيمة المتغيّرات القابلة للضبط (tunables)، من الفئة نفسها مثل GHSA-fq94. كتابة الاسم كقناع OID، وليس كـTextField مجرّد. الاقتباس باستخدام دالة مساعدة لا يمكنها إغلاق الإسناد. لا تكتب متغيّرًا قابلًا للضبط في /boot/loader.conf ما لم يكن مفتاح loader معروفًا.

المراجع

  • github.com/opnsense/core a842fe48c21288d11a422cb944678e8eb308becf
  • system.inc استيفاء system_login_configure لـ loader.conf
  • Tunables.xml اسم/قيمة TextField مجرّد
  • نظير (حقول نصية أخرى في واجهة GUI، وليس هذا المصدر): GHSA-fq94
  • CWE-93
تنزيل الأداة