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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
citrix-netscaler-triage — أداة فرز جنائي لأجهزة Citrix NetScaler، تتضمن ماسح مؤشرات الاختراق (IOC) القائم على Dissect للكشف عن القشرة الويب (webshells)، والتلاعب بالطوابع الزمنية (timestomping)، والملفات الثنائية المشبوهة، بالإضافة إلى ماسح إصدارات عن بُعد يحدد ثغرات CVE. | Kitploit
أدوات/GitHubGitHub/fox-it/citrix-netscaler-triage
إدارة مؤشرات الاختراق (IOC)ماسحات الثغرات الأمنيةأمن الويبأمن الشبكاتالتحاليل الرقمية الجنائيةالاستجابة للحوادث
GitHubfox-it/citrix-netscaler-triage

citrix-netscaler-triage

أداة فرز جنائي لأجهزة Citrix NetScaler، تتضمن ماسح مؤشرات الاختراق (IOC) القائم على Dissect للكشف عن القشرة الويب (webshells)، والتلاعب بالطوابع الزمنية (timestomping)، والملفات الثنائية المشبوهة، بالإضافة إلى ماسح إصدارات عن بُعد يحدد ثغرات CVE.

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة
عرض المستودعالموقع الإلكتروني
7419136منذ 14 أيامتمت المراجعة من قبل Kitploit

Citrix NetScaler Triage

يحتوي هذا المستودع على نصوص برمجية للفرز (triage) لأجهزة Citrix NetScaler:

  • iocitrix.py -- نص برمجي لـ Dissect لفرز صورة/هدف Citrix NetScaler.
  • scan-citrix-netscaler-version.py -- فحص وتحديد بصمة إصدار جهاز NetScaler عبر HTTP(s).

scan-citrix-netscaler-version.py

يمكنك استخدام هذا النص البرمجي لفحص وتحديد إصدار جهاز Citrix NetScaler عبر HTTP(s). سيحدد أيضًا ما إذا كان NetScaler عرضة لثغرات CVE محددة بناءً على الإصدار.

تثبيت scan-citrix-netscaler-version.py

استخدم الخطوات التالية إذا كنت تستخدم pip:

  1. git clone https://github.com/fox-it/citrix-netscaler-triage.git
  2. cd citrix-netscaler-triage
  3. pip install httpx
  4. python3 scan-citrix-netscaler-version.py --help

في حالة استخدام uv، يمكنك تشغيل النص البرمجي مباشرة باستخدام:

  1. uv run https://raw.githubusercontent.com/fox-it/citrix-netscaler-triage/refs/heads/main/scan-citrix-netscaler-version.py

مثال على الاستخدام:

$ python3 scan-citrix-netscaler-version.py 192.168.1.10 192.168.1.12
192.168.1.10 (*.local.domain) is running Citrix NetScaler version 13.1-51.15 (VULNERABLE)
192.168.1.12 (*.local.domain) is running Citrix NetScaler version 12.1-55.330 (NOT VULNERABLE)

أو الحصول على النتائج بصيغة JSON:

$ python3 scan-citrix-netscaler-version.py https://192.168.1.11 --json | jq
{
  "scanned_at": "2025-09-03T23:11:36.864228+00:00",
  "target": "https://192.168.1.11",
  "tls_names": "my-first-netscaler.local",
  "rdx_en_stamp": 1702886392,
  "rdx_en_dt": "2023-12-18T07:59:52+00:00",
  "version": "12.1-55.302",
  "error": null,
  "vulnerable": {
    "CVE-2025-5349": true,
    "CVE-2025-5777": true,
    "CVE-2025-6543": false,
    "CVE-2025-7775": true,
    "CVE-2025-7776": true,
    "CVE-2025-8424": true
  },
  "is_vulnerable": true
}

من الممكن أيضًا تحديد فحوصات حالة الثغرات لثغرات CVE معينة باستخدام العلامة --cve:

$ python3 scan-citrix-netscaler-version.py https://192.168.1.11 --cve CVE-2025-6543 --json | jq
{
  "scanned_at": "2025-09-03T23:16:36.573016+00:00",
  "target": "https://192.168.1.11",
  "tls_names": "my-first-netscaler.local",
  "rdx_en_stamp": 1702886392,
  "rdx_en_dt": "2023-12-18T07:59:52+00:00",
  "version": "12.1-55.302",
  "error": null,
  "vulnerable": {
    "CVE-2025-6543": false
  },
  "is_vulnerable": false
}

للحصول على النتائج بصيغة CSV، ما عليك سوى استخدام العلامة --csv. لمزيد من الخيارات راجع --help.

iocitrix.py

يمكنك استخدام iocitrix.py للتحقق من مؤشرات الاختراق (Indicators of Compromise) المعروفة على هدف NetScaler Dissect. يتحقق من الأمور التالية:

  • سلاسل نصية معروفة مستخدمة في webshells
  • ملفات تم التلاعب بطوابعها الزمنية (Timestomped)
  • مهام cron مشبوهة
  • ملفات SUID ثنائية غير معروفة

لاحظ أن هذا النص البرمجي مخصص للتشغيل على صور الأقراص الجنائية لأجهزة Citrix NetScaler وليس على الجهاز نفسه. راجع أيضًا قسم إنشاء صور أقراص Citrix NetScaler حول كيفية إنشاء صور أقراص جنائية لـ Citrix NetScaler الخاص بك.

تأكد من أن لديك أحدث إصدار من Dissect، فقد تمت إضافة دعم Citrix NetScaler في هذا PR: https://github.com/fox-it/dissect.target/pull/357

إخلاء المسؤولية: بينما يسعى هذا الأداة إلى الدقة، فمن الممكن أن تنتج نتائج إيجابية كاذبة أو سلبية كاذبة. يُنصح المستخدمون بالتحقق المتقاطع من النتائج واستخدام حكمهم الخاص قبل اتخاذ أي قرارات بناءً على مخرجات هذه الأداة.

تثبيت iocitrix.py

استخدم الخطوات التالية:

  1. git clone https://github.com/fox-it/citrix-netscaler-triage.git
  2. cd citrix-netscaler-triage
  3. pip install -r requirements.txt
  4. pip install --upgrade --pre dissect.volume dissect.target

لاحظ أن الخطوة 4 ستطبع الخطأ التالي، لكن يمكنك تجاهله:

ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.

يمكنك بعد ذلك تشغيل iocitrix.py <TARGETS> لبدء فحص IOC ضد صورة جنائية واحدة أو أكثر. يقبل النص البرمجي أي إدخال يمكن لـ dissect قراءته كـ Target، مثل .VMDK، أو صورة قرص خام. فيما يلي بعض الأمثلة.

python3 iocitrix.py image.vmx
python3 iocitrix.py image.vmdk

إذا كنت قد أنشأت أيضًا صورة جنائية لـ قرص RAM، يمكنك استخدام iocitrix.py لدمج البيانات المتطايرة في الفرز على النحو التالي:

python3 iocitrix.py md0.img+image.vmx
python3 iocitrix.py md0.img+image.vmdk
python3 iocitrix.py md0.img+da0.img

ستقوم علامة + (زائد) بتحميل صورة القرص كهدف Dissect واحد.

إنشاء صور أقراص Citrix NetScaler

يكشف Citrix NetScaler عن جهازي كتل مهمين يمكن تصويرهما للتحليل الجنائي دون اتصال. يمكن العثور على ملفات جهاز الكتل هذه في المسارات التالية:

  • /dev/md0: القرص الذي يحتوي على الدليل الجذر (/). هذا قرص RAM
  • /dev/da0 أو /dev/ada0: القرص الذي يحتوي على دليلي /var و /flash. هذا قرص دائم.

الدليل الجذر (/) لـ Citrix NetScaler هو قرص RAM، مما يعني أن هذا قرص متطاير. يمكن العثور على هذا القرص في /dev/md0 عندما يكون NetScaler قيد التشغيل والعمل، وسيكون غير متاح عندما يكون NetScaler مغلقًا. يوجد دليلا /var و /flash على قرص /dev/da0 أو /dev/ada0 كقسمين منفصلين وهما دائمين.

يمكن استخدام الأوامر التالية على جهاز Linux محلي لإنشاء نسخ أقراص من NetScaler الخاص بك عبر SSH. إذا كنت تستخدم Windows، يمكنك استخدام WSL (wsl.exe) أو Git Bash (git-bash.exe) لاستخدام نفس الأوامر. تجنب استخدام أوامر PowerShell الأصلية، لأن PowerShell لا يتعامل بشكل صحيح مع بث البيانات الثنائية الخام عبر SSH.

1. تحقق من أحجام الصور المتوقعة من خلال فحص أحجام الأقراص على NetScaler.

سيعرض هذا الأقراص المتاحة، بما في ذلك ما إذا كان قرصك الدائم هو /dev/da0 أو /dev/ada0. ثم تحقق من الحجم الدقيق:

local ~ $ ssh nsroot@<YOUR-NETSCALER-IP> shell diskinfo /dev/da0
local ~ $ ssh nsroot@<YOUR-NETSCALER-IP> shell diskinfo /dev/ada0

لقرص RAM:

local ~ $ ssh nsroot@<YOUR-NETSCALER-IP> shell diskinfo /dev/md0

سيكون da0.img أو ada0.img الناتج بحجم الجهاز المعني تقريبًا، و md0.img بحجم /dev/md0 تقريبًا.

2. تحقق من مساحة القرص في نظامك المحلي

local ~ $ df -h .

تأكد من وجود مساحة كافية لاستيعاب ملفات صور الأقراص، التي تم حساب أحجامها في الخطوة السابقة.

3. أنشئ صورة قرص لقرص /dev/da0 أو /dev/ada0 على جهازك المحلي

اعتمادًا على اسم القرص لديك، نفذ إما

local ~ $ ssh nsroot@<YOUR-NETSCALER-IP> shell dd if=/dev/da0 bs=10M | tail -c +7 | head -c -6 > da0.img

أو

local ~ $ ssh nsroot@<YOUR-NETSCALER-IP> shell dd if=/dev/ada0 bs=10M | tail -c +7 | head -c -6 > ada0.img

لاحظ أن هذا قد يستغرق بعض الوقت لإكماله. لا يظهر أي تقدم عند استخدام dd. يُنصح بالانتظار حتى تستعيد السيطرة على موجه الأوامر. هذا مؤشر على أن dd قد انتهى.

تُستخدم أوامر tail و head لإزالة لافتات SSH الخاصة بـ NetScaler من تدفق البايتات. كن على علم بأن لافتات SSH الخاصة بـ NetScaler قد تتغير بمرور الوقت، وفي هذه الحالة يجب عليك تحرير الأمر يدويًا.

4. (اختياري) أنشئ صورة قرص لقرص /dev/md0 على جهازك المحلي

يمكن تخطي هذه الخطوة، على الرغم من أن ذلك قد يتسبب في أن يفوت iocitrix.py بعض مؤشرات الاختراق. لذلك يُنصح بإنشاء صور أقراص لكل من /dev/md0 و /dev/da0 أو /dev/ada0.

local ~ $ ssh nsroot@<YOUR-NETSCALER-IP> shell dd if=/dev/md0 bs=10M | tail -c +7 | head -c -6 > md0.img

5. تشغيل iocitrix.py على صورك

بعد تنفيذ الأوامر السابقة على جهازك المحلي، ستكون ملفات da0.img أو ada0.img و md0.img موجودة. يمكنك توجيه iocitrix إلى هذه الملفات لبدء فرز صورك. استخدم الأمر التالي للقيام بذلك:

local ~ $ python3 iocitrix.py md0.img+da0.img

أو

local ~ $ python3 iocitrix.py md0.img+ada0.img

مثال على المخرجات:

(venv) user@dissect:/data/netscaler/image$ python3 iocitrix.py md0.img+da0.img
<Target md0.img+da0.img>

Disks
- <RawContainer size=555745286 vs=None>
- <RawContainer size=21474836486 vs=<DissectVolumeSystem serial=None>>
تنزيل الأداة