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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
opnsense-firmware-mirror-sed — OPNsense 26.7.6 - عالية - عن بُعد - صلاحيات متبقية - مرآة برامج ثابتة مخصصة تتخطى بصمات pkg عبر sed | Kitploit
أدوات/GitHubGitHub/abraxas/opnsense-firmware-mirror-sed
تصعيد الامتيازاتتحليل الثغرات الأمنيةتحليل الكودالاستغلالاستغلال تطبيقات الويبالمحاكاة الافتراضية للأماناختبار الاختراقأمن سلسلة التوريد

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة
الأوراق والأبحاث
مختبرات وتدريب عملي
GitHubabraxas/opnsense-firmware-mirror-sed

opnsense-firmware-mirror-sed

OPNsense 26.7.6 - عالية - عن بُعد - صلاحيات متبقية - مرآة برامج ثابتة مخصصة تتخطى بصمات pkg عبر sed

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

Abraxas Labs - opnsense-firmware-mirror-sed

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  opnsense-firmware-mirror-sed

opnsense-firmware-mirror-sed

التصنيف: تخطي التوقيع الوصول: عن بُعد

OPNsense core 26.7.6 (a842fe48) - opnsense.org

النظام: Firmware set يرسل mirror / flavour مخصصين. Core FILTER_SANITIZE_URL يحتفظ بـ \|#;". opnsense-update -m / -n يُدخل تلك السلسلة في sed على OPNsense.conf ويمكنه قلب signature_type من "fingerprints" إلى "none". ثم pkg install كـ root من عنوان URL الخاص بالمهاجم. صفحة الإعدادات توفر مرآة مخصصة لحزم OPNsense الموقّعة. لا تحتوي على عنصر تحكم "تعطيل التوقيعات". الصلاحية هي page-system-firmware-manualupdate، وليس page-all.

Sed موجود في opnsense-update خارج التثبيت. Core في هذا التثبيت هو الحقل غير المُعقَّم بالإضافة إلى تمرير -m. المختبر يعيد تشغيل نص برنامج s||| ذلك باستخدام GNU sed.

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

IDلا يوجد CVE بعد
Classتخطي التوقيع
Reachعن بُعد (WebGUI / API مُصادَق عليه)
CWECWE-74 / CWE-347
CVSSمرتفع: 7.2 CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H
ProductOPNsense core
Affected26.7.6 (a842fe48c21288d11a422cb944678e8eb308becf) Firmware set مرآة مخصصة
Authجلسة WebGUI أو مفتاح API مع page-system-firmware-manualupdate
LicenseGNU Affero GPL v3.0
Lab127.0.0.1 فقط

ثبّتُ الوسم 26.7.6 peel a842fe48. المختبر عبارة عن أداة PHP من FILTER_SANITIZE_URL بالإضافة إلى sed الخاص بـ mod_mirrorurl في opnsense-update، HTTP على loopback على 127.0.0.1:18860. PR:H لأن صفحة firmware مسموح لها بالفعل بتثبيت حزم موقّعة. النتيجة 8.8 إذا تم التعامل مع تلك الصفحة كـ PR:L.

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

MethodSinkPrivilege
FILTER_SANITIZE_URL على مرآة مخصصة مع | ثم sed بنمط opnsense-updateإعادة كتابة OPNsense.confالنزاهة (مُثبتة مختبريًا): signature_type "none". مرآة التحكم تبقى "fingerprints". المختبر: sanitize-keeps-pipe=yes signature_type=none fingerprints-control=yes.
نفس المجموعة، حقل pluginssetAction يتجاهل pluginsسلبي (مُثبت مختبريًا): يتم تجاهل plugins قبل الحفظ.
ثم POST /api/core/firmware/install/<pkg>pkg install -y كـ root من عنوان URL الخاص بالمهاجمالنزاهة (مُستنتجة): حزمة غير موقّعة كـ root. صفحة firmware تثبّت بالفعل حزمًا موقّعة؛ هذه البقايا هي تخطي التحقق. لا حمولة غير موقّعة في المختبر.
ثم POST /api/core/firmware/update أو /upgradeopnsense-update -pt / -u كـ rootالنزاهة (مُستنتجة): مجموعات base/kernel مع تخطي التحقق (DO_INSECURE).
GET /api/core/firmware/info، /running، /upgradestatusfirmware APIاستطلاع (مُستنتج): قوائم الحزم، سجل التحديث، خيارات المرآة. مخصص لهذا ACL.
POST /api/core/firmware/reboot، /poweroff، /remove/<pkg>إجراءات configd firmwareالتوافر (مُستنتج): إعادة تشغيل/إيقاف/إزالة. مخصص لهذا ACL، وليس للبقايا.

مُثبت مختبريًا مقابل مُستنتج: sanitize يحتفظ بـ | و signature_type none هما نجاح مختبري. pkg install المباشر لحزمة غير موقّعة مُستنتج. أداة، وليست OPNsense FreeBSD VM كاملة. لا حمولة حزمة غير موقّعة.

يتطلب: مستخدم مسجّل الدخول أو مفتاح API المحلي لذلك المستخدم مع page-system-firmware-manualupdate وبدون page-all. CSRF على POST الجلسة. ليس غير مُصادَق. ليس dashboard-only.

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

SurfaceLab
Firmware غير مُصادَق401
Dashboard-only403
مرآة التحكم https://pkg.opnsense.orgsignature_type يبقى "fingerprints"
اجتياز اسم pluginfilter_pkgname
جلب Changelogلا يزال opnsense-verify
user-config-readonly على save()throwReadOnly()
مرايا HTTP العادية بدون تخطي تحققMITM للنقل؛ لا تزال البصمات مطلوبة
XMLRPC firmwareسلاسل الإصدار فقط

لا يوجد غير مُصادَق. لا يوجد dashboard-only. Changelog لا يزال موقّعًا.

المختبر

cd lab
./run.sh

Loopback 127.0.0.1:18860. مشروع Compose opnsense-firmware-mirror-sed. الشاهد OPNSENSE-FIRMWARE-MIRROR-SED-WITNESS. السطر الأخير:

SUCCESS opnsense-firmware-mirror-sed sanitize-keeps-pipe=yes signature_type=none fingerprints-control=yes OPNSENSE-FIRMWARE-MIRROR-SED-WITNESS

مشغّل الجذر: python3 opnsense-firmware-mirror-sed-Abraxas-Labs.py.

شكل مرآة الهجوم المستخدم في المختبر (شاهد فقط، لا حزمة غير موقّعة):

https://example.invalid/|;/signature_type/s/"fingerprints"/"none"/;#

الإصلاح

ارفض مرآة مخصصة ليست عنوان URL. أزل محارف sed الوصفية (|، ;، #، ") قبل opnsense-update -m / -n، أو مرّر عنوان URL كملف بحيث لا يراه sed كنص برنامج. أبقِ signature_type: "fingerprints" إلا إذا قام عنصر تحكم منفصل ومُدقَّق بإيقاف التحقق. لا تدع Firmware set يعيد كتابة البصمات إلى "none".

المراجع

  • github.com/opnsense/core a842fe48c21288d11a422cb944678e8eb308becf
  • FirmwareController.php setAction FILTER_SANITIZE_URL
  • scripts/firmware/repos/OPNsense.php opnsense-update -sd -m
  • OPNsense.conf.shadow.in stock signature_type: "fingerprints"
  • Sink خارج التثبيت: opnsense-update mod_mirrorurl (s\|\| على سطر url:)
  • CWE-74 / CWE-347
تنزيل الأداة