
Роль Ansible, которая имитирует реалистичный сценарий эксплуатации CrushFTP CVE-2025-31161 с ротацией файлов конфиденциальных данных и автоматической очисткой защитника для практики пентестинга.
Вспомогательная роль для ludus_crushftp_cve-2025-31161, добавляющая реалистичный сценарий поверх уязвимого экземпляра CrushFTP.
[!NOTE] Эта роль требует предварительного применения основной роли
ludus_crushftp_cve-2025-31161.
Симуляция бизнес-процесса — Создаёт учётную запись пользователя CrushFTP (svc_fileprocessor) с файлами конфиденциальных данных, которые обновляются каждые 2 минуты, предоставляя атакующему что-то ценное для эксфильтрации после эксплуатации обхода аутентификации.
Симуляция защиты — Запланированная задача выполняется каждые 5 минут, удаляя любые службы Windows, соответствующие exfil*, имитируя очистку EDR или защитника. Пентестерам необходимо обходить это для поддержания постоянства.
| Компонент | Имя | Интервал |
|---|---|---|
| Скрипт очистки служб | Invoke-ServiceCleanup.ps1 | Каждые 5 мин |
| Скрипт ротации данных | Invoke-DataRotation.ps1 | Каждые 2 мин |
| Пользователь CrushFTP | svc_fileprocessor | — |
| Запланированная задача | CrushFTP Service Monitor | Каждые 5 мин |
| Запланированная задача | CrushFTP Data Processing | Каждые 2 мин |
Скрипт ротации создаёт файлы с именем sensitive_data_<timestamp>.txt, содержащие заголовок CONFIDENTIAL и SHA256-хэш имени файла. Хранится максимум 5 файлов; самый старый удаляется при создании нового.
ludus_crushftp_cve-2025-31161 к той же виртуальной машине.# 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