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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
opnsense-captive-lastseen-roam — OPNsense 26.7.6 - عالية - عن بُعد - تجاوز الوصول إلى الشبكة - captive lastseen roam | Kitploit
أدوات/GitHubGitHub/abraxas/opnsense-captive-lastseen-roam
المصادقة والترخيصتحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبأمن الشبكاتاختبار الاختراقمختبرات وتدريب عملي
GitHub

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة
abraxas/opnsense-captive-lastseen-roam

opnsense-captive-lastseen-roam

OPNsense 26.7.6 - عالية - عن بُعد - تجاوز الوصول إلى الشبكة - captive lastseen roam

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

Abraxas Labs - opnsense-captive-lastseen-roam

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  opnsense-captive-lastseen-roam

opnsense-captive-lastseen-roam

التصنيف: تجاوز التحكم في الوصول إلى الشبكة الوصول: عن بُعد

OPNsense core 26.7.6 (a842fe48) - opnsense.org

لا يزال تجوال بوابة الالتقاط (captive-portal) يورّث جلسةً لأحدث مضيف IPv4 في hostwatch على عنوان MAC، بالإضافة إلى كل عناوين IPv6. أوقف GHSA-864r (26.7.3) سلوك "إضافة كل عنوان IPv4". عنوان IPv4 المتبقي هو list_hosts.py ORDER BY last_seen DESC. ثم يُسنَد العنوان IP الأساسي من current_ips[0] غير المُرشَّح. يُحدِّث ARP العشوائي (Gratuitous ARP) attacker_IP is-at victim_MAC قيمة last_seen. بعد 26.7.3 لم يعد ذلك العنوان IPv4 واحدًا من كثير؛ بل هو العنوان IPv4 الذي يُبقيه المرشِّح إن كان أحدث من ARP الخاص بالضحية. لم يُحدَّد IPv6 NDP أبدًا. التجوال وhostwatch مُفعَّلان افتراضيًا.

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

المعرّفلا يوجد CVE بعد
التصنيفتجاوز التحكم في الوصول إلى الشبكة
الوصولعن بُعد (مجاور للطبقة الثانية، منطقة بوابة الالتقاط)
CWECWE-345 / CWE-863
CVSSمرتفع: 7.4 CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:C/C:N/I:H/A:N
المنتجOPNsense core
المتأثر26.7.6 (a842fe48c21288d11a422cb944678e8eb308becf) تجوال بوابة الالتقاط
المصادقةمضيف غير مُصادَق مجاور للطبقة الثانية في منطقة بوابة الالتقاط؛ التجوال مُفعَّل
الترخيصGNU Affero GPL v3.0
المختبر127.0.0.1 فقط

ثبّتُّ الوسم 26.7.6 peel a842fe48. المختبر عبارة عن أداة Python تحاكي أسطر _filter_addresses / list_hosts.py / arp.py المثبَّتة، مع انتظار loopback على 127.0.0.1:18820.

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

الطريقةالمَصبّالصلاحية
أحدث مضيف IPv4 في hostwatch لعنوان MAC مع roaming=1تثبيت _filter_addresses / list_hosts.py ORDER BY last_seen DESC؛ الأساسي من current_ips[0] غير المُرشَّحالسلامة (مُثبَت مختبريًا): يُحتفَظ بعنوان المهاجم 192.0.2.99، ويُسقَط عنوان الضحية 192.0.2.10، الأساسي=192.0.2.99. المختبر: attacker-ipv4-kept=192.0.2.99 victim-ipv4-dropped=yes roaming=1.
نفس عنوان MAC، roaming=0_filter_addresses يُعيد [addresses[0]]سلبي (مُثبَت مختبريًا): يُحتفَظ بأول عنوان IPv4 192.0.2.10.
IPv6 على نفس عنوان MAC، roaming=1_filter_addresses يُبقي كل ما ليس v4السلامة (مُثبَت مختبريًا): يُحتفَظ بكل عناوين IPv6 (2001:db8::10 و2001:db8::99).
GARP / NDP مُزوَّر يخزّنه hostwatch تحت عنوان MAC الخاص بالضحيةPF.add_to_table / IPFW.add_accounting الحيّين على __captiveportal_zone_Nالسلامة (مُستنتَج): عنوان IP المصدر للمهاجم يطابق جدول مرور البوابة. يبقى اسم مستخدم الجلسة والحصة للضحية. لا يُشغَّل GARP الحيّ على الشبكة ولا مرور جدول المنطقة الحيّ في هذه الأداة.
نفس إضافة الجدولرقم قاعدة محاسبة ipfw لكل جلسةالسلامة (مُستنتَج): تُحتسَب بايتات المهاجم على جلسة الضحية.
لم يعد عنوان IPv4 للضحية أولًا_remove_client / حذف pf للعناوين غير الموجودة في list_session_ipsالتوافر (مُستنتَج): يمكن أن يسقط عنوان IPv4 للضحية من جدول المنطقة بينما يبقى عنوان IPv4 للمهاجم.

مُثبَت مختبريًا مقابل مُستنتَج: الإبقاء/الإسقاط على last_seen IPv4، وأول IP عند roaming=0، وكل IPv6 هي نجاح مختبري. GARP المُزوَّر على الشبكة، ومرور pf/ipfw الحيّ، وتلويث المحاسبة مُستنتَجة. أداة، وليست جهازًا افتراضيًا كاملًا لـ OPNsense FreeBSD.

يتطلب: مضيفًا غير مُصادَق مجاورًا للطبقة الثانية في منطقة بوابة الالتقاط. التجوال مُفعَّل (افتراضي). hostwatch مُفعَّل (افتراضي). جلسة واحدة مُصرَّح بها مسبقًا في تلك المنطقة.

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

السطحالمختبر
GHSA-864r إضافة-كل-IPv4مغلق في 26.7.3؛ هذا المتبقي هو last_seen IPv4 بالإضافة إلى كل IPv6
roaming=0يُحتفَظ بأول IPv4؛ لا يُختار عنوان IPv4 للمهاجم
انتحال XFF / X-Real-Ip لعنوان IP تسجيل دخول مختلفوكيل المنطقة يُلحِق؛ ليس CIDR pf نظيفًا
logon غير مُصادَق لعنوان IP الخاص بالمتصلتسجيل دخول البوابة الموثَّق لـ getClientIp()
تخمين القسائم على CSPRNG الافتراضي 8+10ليس هذا المتبقي
zip-slip في القالبrealpath بالإضافة إلى رفع المسؤول
XSS في شاشة البوابة إلى أصل WebGUIمنفذ / chroot مختلف
WAN غير مُصادَقمجاور للطبقة الثانية في المنطقة
WebGUI / root / إصدار القسائميبقى مغلقًا

لا WebGUI غير مُصادَق. لا root. لا تجاوز للبوابة من WAN.

المختبر

cd lab
./run.sh

انتظار loopback 127.0.0.1:18820. مشروع Compose opnsense-captive-lastseen-roam. وسم الصورة من ذلك الـ compose. الشاهد OPNSENSE-CAPTIVE-LASTSEEN-ROAM-WITNESS. السطر الأخير:

SUCCESS opnsense-captive-lastseen-roam attacker-ipv4-kept=192.0.2.99 victim-ipv4-dropped=yes roaming=1 OPNSENSE-CAPTIVE-LASTSEEN-ROAM-WITNESS

مُشغِّل الجذر: python3 opnsense-captive-lastseen-roam-Abraxas-Labs.py.

الإصلاح

اختر عنوان IPv4 الذي صرّحت به الجلسة مسبقًا، وليس أحدث صف hostwatch لذلك العنوان MAC. حدِّد IPv6 بالطريقة نفسها، أو اشترط NDP الذي لا يزال النواة يحتفظ به. لا تُسنِد الأساسي من current_ips[0] غير المُرشَّح عندما يكون المرشِّح قد اختار بالفعل عنوانًا مختلفًا. عامل GARP الذي يُحدِّث last_seen فقط كملاحظة غير موثوقة، وهو ثابت GHSA-864r.

المراجع

  • github.com/opnsense/core a842fe48c21288d11a422cb944678e8eb308becf
  • cp-background-process.py _filter_addresses وإعادة كتابة IP الأساسي
  • list_hosts.py ORDER BY last_seen DESC
  • lib/arp.py get_all_addresses_by_mac
  • شقيق (إضافة-كل-IPv4، وليس هذا المتبقي): GHSA-864r
  • CWE-345 / CWE-863
تنزيل الأداة