
Ansible-Rolle, die ein realistisches CrushFTP CVE-2025-31161 Ausnutzungsszenario mit rotierenden sensiblen Datendateien und automatischer Bereinigung durch Verteidiger für Pentesting-Übungen simuliert.
Begleitrolle für ludus_crushftp_cve-2025-31161, die eine realistische Szenario-Ebene auf die verwundbare CrushFTP-Instanz hinzufügt.
[!NOTE] Diese Rolle erfordert, dass die Hauptrolle
ludus_crushftp_cve-2025-31161zuerst angewendet wird.
Simulierter Geschäftsprozess — Erstellt ein CrushFTP-Benutzerkonto (svc_fileprocessor) mit sensiblen Datendateien, die alle 2 Minuten rotieren, sodass der Angreifer nach Ausnutzung der Authentifizierungsumgehung etwas Exfiltrierbares hat.
Simulation eines Verteidigers — Eine geplante Aufgabe wird alle 5 Minuten ausgeführt und entfernt alle Windows-Dienste, die auf exfil* passen, und simuliert so eine EDR- oder Verteidigerbereinigung. Pentester müssen dies umgehen, um Persistenz aufrechtzuerhalten.
| Komponente | Name | Intervall |
|---|---|---|
| Bereinigungsskript für Dienste | Invoke-ServiceCleanup.ps1 | Alle 5 Min. |
| Datenrotationsskript | Invoke-DataRotation.ps1 | Alle 2 Min. |
| CrushFTP-Benutzer | svc_fileprocessor | — |
| Geplante Aufgabe | CrushFTP Service Monitor | Alle 5 Min. |
| Geplante Aufgabe | CrushFTP Data Processing | Alle 2 Min. |
Das Rotationsskript erstellt Dateien mit dem Namen sensitive_data_<timestamp>.txt, die einen CONFIDENTIAL-Header und den SHA256-Hash des Dateinamens enthalten. Maximal 5 Dateien werden behalten; die älteste wird gelöscht, wenn eine neue erstellt wird.
ludus_crushftp_cve-2025-31161 muss zuerst auf derselben VM angewendet werden.# 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*"
Muss nach ludus_crushftp_cve-2025-31161 ausgeführt werden.
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
Nach der Bereitstellung würde ein Pentester Folgendes tun:
crushadmin zu umgehensvc_fileprocessor und seine Datendateien entdeckensensitive_data_*.txt-Dateien über die CrushFTP-Oberfläche exfiltrierenexfil_c2) — der alle 5 Minuten bereinigt wirdMIT