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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
pfsense-api-unix-sock-noauth — pfSense Plus MIM API toolkit b4acd7ca - عالي - محلي - صلاحية متبقية - unix sock enroll no JWT | Kitploit
أدوات/GitHubGitHub/abraxas/pfsense-api-unix-sock-noauth
تصعيد الامتيازاتتحليل الثغرات الأمنيةالاستغلالجمع المعلوماتأمن الشبكاتاختبار الاختراقالمصادقةمختبرات وتدريب عملي

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة
GitHub
abraxas/pfsense-api-unix-sock-noauth

pfsense-api-unix-sock-noauth

pfSense Plus MIM API toolkit b4acd7ca - عالي - محلي - صلاحية متبقية - unix sock enroll no JWT

عرض المستودع
2منذ يوم واحدلم تتم المراجعة بعد

Abraxas Labs - pfsense-api-unix-sock-noauth

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  pfsense-api-unix-sock-noauth

pfsense-api-unix-sock-noauth

الفئة: صلاحية متبقية الوصول: محلي

pfSense Plus MIM API b4acd7ca - Netgate

github.com/Netgate/pfsense-api هو OpenAPI العام بالإضافة إلى Python المولّد لـ pfSense Plus Nexus Multi-instance Management. وهو ليس حزمة CE REST. يسجّل نموذج التسجيل الرسمي الدخول إلى HTTPS :8443 باستخدام Bearer JWT، ثم ينفّذ SSH لنقل سكربت POSIX إلى كل جدار حماية. يتواصل ذلك السكربت مع /var/run/pfnet-controller.sock بدون Authorization.

curl --unix-socket /var/run/pfnet-controller.sock -H "Content-Type: application/json" -d "{controller JSON}" http://unix/api/mim/controllers
curl --unix-socket /var/run/pfnet-controller.sock http://unix/api/mim/device/identity

البدائل المهملة /api/system/controller و /api/system/mim/devid متطابقة: بلا Bearer. تسجيل الدخول عبر HTTPS لا يزال يصدر JWT. لا يُطبَّق ذلك الرمز على مقبس الجهاز. هذه حدود ثقة منفصلة عن :8443 بالإضافة إلى مجموعات mim_*.

الجزء 3 من سلسلة Nexus MIM. بعد أن يستقر G1 / G2 على الجهاز، يصبح هذا المقبس هو المستوى المحلي.

عملية محلية قادرة على connect(2) إلى المقبس يمكنها تسجيل وحدة تحكم واستخراج هوية الجهاز دون JWT. كما لم يُنفَّذ Plus. وضع DAC الحقيقي للمقبس غير معروف.

المعرّفلا يوجد CVE بعد
الفئةصلاحية متبقية
الوصولمحلي (connect(2) إلى /var/run/pfnet-controller.sock)
CWECWE-306
CVSSمرتفع: 7.8 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H إذا كان وضع المقبس يسمح لمستخدم محلي آخر بالاتصال. بصراحة: DAC غير معروف، ولم يُنفَّذ Plus.
المنتجNetgate/pfsense-api (مجموعة أدوات Plus Nexus MIM)
المتأثرmain العام b4acd7ca21dbca739a530403a1f62a7440f7726f (2026-05-25)
المصادقةلا شيء على طلبات curl الرسمية لتسجيل unix-socket
الترخيصGNU Affero GPL v3.0
المختبر127.0.0.1:19121 فقط. محاكاة Unix HTTP. لا توجد صورة Plus.

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

الفاعل هو أي عملية على جهاز pfSense قادرة على connect(2) إلى /var/run/pfnet-controller.sock. ليس TCP عن بُعد في هذا المثال (curl --unix-socket فقط). لا ينطبق JWT الخاص بـ HTTPS :8443 ومجموعات mim_* على هذا الواصف.

مُثبَت مختبريًا (محاكاة لبروتوكول التسجيل المنشور)

الطريقةالهدفالصلاحية
POST الرسمي لـ device_script بدون AuthorizationPOST http://unix/api/mim/controllersالسلامة: قبلت المحاكاة JSON التسجيل. سجل الضربة authorization_present=false.
GET الرسمي لـ device_script بدون AuthorizationGET http://unix/api/mim/device/identityاستطلاع: أعادت المحاكاة JSON على شكل DeviceIdentity بما في ذلك PFSENSE-API-UNIX-SOCK-NOAUTH-WITNESS.
نفس GET مع Authorization: Bearer lab-jwtنفس مسار الهويةضبط مختبري: 401، الشاهد غير موجود في الجسم. يميّز بين الموجود والمفقود. ليس نتيجة Plus.

مُستنتَج على خادم Plus حي (الملف التنفيذي غير خاضع للاختبار)

هذه هي نفس عمليات OpenAPI التي يضعها النموذج الرسمي ووسم mim على الجهاز. مُثبَتة فقط كبروتوكول، وليس كنتيجة Plus 200.

الطريقةالهدفالصلاحية
POST /mim/controllers (البديل POST /api/system/controller) مع ControllerIdentity من المهاجم (key، vpn_pubkey، vpn_listenaddr، vpn_netkey، cert)SetControllerالسلامة: تسجيل وحدة تحكم معادية. المواصفات: الجهاز "سيستمر في إصدار طلب اتصال كل 10 ثوانٍ" (Netgard VPN إلى المهاجم).
GET /mim/device/identity (البديل GET /api/system/mim/devid)GetDeviceIdentityاستطلاع: مفاتيح Noise/VPN العامة للجهاز، address، نص curl الخاص بـ controller_add.
GET /mim/controllersGetControllersاستطلاع: قائمة وحدات التحكم بالإضافة إلى معلومات الجهاز (ControllerInfo.noise_secret، المفاتيح).
GET /mim/controllers/id/{key}GetMIMControllerاستطلاع: سجل وحدة تحكم واحدة.
DELETE /mim/controllers/id/{key}DeleteMIMControllerالسلامة / التوافر: إلغاء تسجيل وحدة التحكم الحقيقية (مفتاح hex أو base64-URL).
POST /mim/device/pubkey مع privkey / pubkey من المهاجمSetDevicePublicKey (يتضمن DevicePublicKeyOption الحقل privkey)السلامة: استبدال هوية ED25519 للجهاز. عندئذٍ تثق مصافحة وحدة التحكم بمفتاح المهاجم.

لا يمنح بحد ذاته صدفة root على المضيف. يمنح مستوى MIM: من يثق به الجهاز كوحدة تحكم، ومفتاح Noise الخاص بالجهاز إذا تم احترام POST الخاص بـ pubkey.

يتطلب: connect(2) محلي إلى /var/run/pfnet-controller.sock. DAC (mode، owner، group، SO_PEERCRED) ليس في شجرة العميل العامة. إذا كان الـ daemon يربط 0600 root، فهذا بالفعل root محلي (confused deputy لـ helper أو package أو escape يمكنه رؤية /var/run). إذا كان الـ sock قابلاً للوصول من uid آخر، فـ CVSS 7.8 كما تم تقييمه.

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

  • remote TCP غير مصادق عليه إلى /mim/controllers على Nexus HTTPS :8443. هذا المنفذ موثق كـ User Manager JWT. هذه البقايا هي الـ unix fd.
  • HTTPS POST /login لا يزال يصدر Bearer JWT. AuthenticatedClient لا يزال يرسله إلى CONTROLLER_URL+"/api".
  • المكتبة المولدة افتراضياً verify_ssl=True. معاملات المسار ترمّز ../ بنسبة مئوية.
  • OpenAPI security: MISSING على جميع 755 عملية هو فجوة في المخطط، وليس تجاوز HTTPS غير مصادق عليه مُثبت.
  • هذا المختبر هو unix HTTP mock. لا يثبت أن ثنائي Plus قبل الطلب.
  • Diagnostics php/shell الإداري المقصود على JWT superuser. ليس هذه البقايا.

نفس pin، مستوى التسجيل عن بعد: pfsense-api-enroll-json-ssh وpfsense-api-enroll-autoadd. خريطة السلسلة: pfsense-api-nexus-mim.

كيف وجدته

قمت بتثبيت Netgate/pfsense-api b4acd7ca21dbca739a530403a1f62a7440f7726f وقرأت حلقة التسجيل الرسمية: login، GET /mim/controller/identity، stringify، SSH exec لـ unix-socket POST/GET، POST /mim/devices. HTTPS يستخدم AuthenticatedClient(token=...). الـ sock curls لا تفعل ذلك.

منعطفات خاطئة: التعامل مع securitySchemes المفقود كـ HTTPS غير مصادق عليه (login يفتقده أيضاً؛ الأمثلة دائماً Bearer أولاً). افتراض أن الـ sock قابل للكتابة عالمياً (mode ليس في هذا المستودع). ادعاء Plus 200. البقايا المُثبتة هنا هي بروتوكول التسجيل المنشور.

المسرح: reverse shell. الـ oracle هو شكل curl الرسمي بالإضافة إلى شاهد في جسم identity بالإضافة إلى تحكم Bearer 401.

المختبر

python3 pfsense-api-unix-sock-noauth-Abraxas-Labs.py

أو

cd lab
./run.sh

Loopback فقط: 127.0.0.1:19121. مشروع Compose pfsense-api-unix-sock-noauth. محاكاة unix HTTP على /var/run/pfnet-controller.sock. الشاهد PFSENSE-API-UNIX-SOCK-NOAUTH-WITNESS. محاكاة Docker unix-socket. بدون صورة Plus.

السطر الأخير المتوقع:

SUCCESS PFSENSE-API-UNIX-SOCK-NOAUTH auth-absent=yes identity-witness=yes bearer-401=yes PFSENSE-API-UNIX-SOCK-NOAUTH-WITNESS

الإصلاح

تنزيل الأداة