دور Ansible يحاكي سيناريو استغلال واقعي لـ CrushFTP CVE-2025-31161 مع ملفات بيانات حساسة متناوبة وتنظيف تلقائي من قبل المدافع لممارسة اختبار الاختراق.
دور مصاحب لـ ludus_crushftp_cve-2025-31161 يضيف طبقة سيناريو واقعية فوق مثيل CrushFTP الضعيف.
[!NOTE] يتطلب هذا الدور تطبيق الدور الرئيسي
ludus_crushftp_cve-2025-31161أولاً.
عملية تجارية محاكاة — ينشئ حساب مستخدم CrushFTP (svc_fileprocessor) مع ملفات بيانات حساسة تدور كل دقيقتين، مما يعطي المهاجم شيئًا يستحق التصدير بعد استغلال تجاوز المصادقة.
محاكاة المدافع — مهمة مجدولة تعمل كل 5 دقائق تزيل أي خدمات Windows تطابق exfil*، محاكاة لتنظيف EDR أو المدافع. يجب على مختبر الاختراق التغلب على هذا للحفاظ على الثبات.
| المكون | الاسم | الفاصل الزمني |
|---|
| سكريبت تنظيف الخدمة | Invoke-ServiceCleanup.ps1 | كل 5 دقائق |
| سكريبت تدوير البيانات | Invoke-DataRotation.ps1 | كل دقيقتين |
| مستخدم CrushFTP | svc_fileprocessor | — |
| مهمة مجدولة | CrushFTP Service Monitor | كل 5 دقائق |
| مهمة مجدولة | CrushFTP Data Processing | كل دقيقتين |
يقوم سكريبت التدوير بإنشاء ملفات باسم sensitive_data_<timestamp>.txt تحتوي على رأس CONFIDENTIAL وقيمة SHA256 لاسم الملف. يتم الاحتفاظ بحد أقصى 5 ملفات؛ يتم حذف الأقدم عند إنشاء ملف جديد.
ludus_crushftp_cve-2025-31161 على نفس VM أولاً.# CrushFTP install dir (must match main role)
ludus_crushftp_sim_install_dir: "C:\\CrushFTP"
# Simulated business user
ludus_crushftp_sim_user: "svc_fileprocessor"
ludus_crushftp_sim_password: "Pr0c3ss!ng2024"
# Data directory and rotation settings
ludus_crushftp_sim_data_dir: "C:\\CrushFTP\\svc_fileprocessor_home"
ludus_crushftp_sim_max_files: 5
ludus_crushftp_sim_data_interval_minutes: 2
# Service cleanup settings
ludus_crushftp_sim_cleanup_interval_minutes: 5
ludus_crushftp_sim_exfil_pattern: "exfil*"
يجب تشغيله بعد ludus_crushftp_cve-2025-31161.
ludus:
- vm_name: "{{ range_id }}-crushftp"
hostname: "{{ range_id }}-CRUSH"
template: win2022-server-x64-template
vlan: 20
ip_last_octet: 10
ram_gb: 4
cpus: 2
windows:
sysprep: true
roles:
- ludus_crushftp_cve-2025-31161
- ludus_crushftp_cve-2025-31161_sim
role_vars:
ludus_crushftp_admin_password: "CrushAdmin123!"
ludus_crushftp_sim_password: "Pr0c3ss!ng2024"
ludus ansible role add -d ./ludus_crushftp_cve-2025-31161_sim
ludus range deploy -t user-defined-roles
بعد النشر، سيقوم مختبر الاختراق بما يلي:
crushadminsvc_fileprocessor وملفات بياناتهsensitive_data_*.txt عبر واجهة CrushFTPexfil_c2) — والتي يتم تنظيفها كل 5 دقائقMIT