
Ansible-Rolle, die eine anfällige CrushFTP 10.8.0-Instanz unter Windows für autorisierte Penetrationstests der CVE-2025-31161-Authentifizierungsumgehung bereitstellt.
Eine Ansible-Rolle, die eine verwundbare CrushFTP 10.8.0-Instanz auf Windows für autorisierte Penetrationstests von CVE-2025-31161 (Authentifizierungsumgehung) bereitstellt.
Die verwundbare CrushFTP-Binärdatei wird unter rufflabs/crushftp_cve-2025-31161 gehostet und zur Bereitstellungszeit automatisch heruntergeladen. Falls dieses Repository nicht verfügbar ist, greift die Rolle auf das direkte Abrufen von Docker Hub zurück.
[!WARNING] Diese Rolle stellt eine absichtlich verwundbare Anwendung bereit. Nur in isolierten Laborumgebungen verwenden. Nicht in ungeschützten Netzwerken bereitstellen.
api.adoptium.net beim ersten Bereitstellen (Dateien werden danach zwischengespeichert).Verfügbare Variablen sind unten zusammen mit Standardwerten aufgeführt (siehe ):
defaults/main.yml# GitHub Release URL for the vulnerable CrushFTP build
ludus_crushftp_download_url: "https://github.com/rufflabs/crushftp_cve-2025-31161/releases/download/v10.8.0_4/CrushFTP10_10.8.0_4.zip"
# Fall back to Docker Hub if GitHub download fails
ludus_crushftp_fallback_to_docker: true
# Installation path on the Windows target
ludus_crushftp_install_dir: "C:\\CrushFTP"
# Admin account (default exploit target for CVE-2025-31161)
ludus_crushftp_admin_user: "crushadmin"
ludus_crushftp_admin_password: "CrushAdmin123!"
# Windows service settings
ludus_crushftp_service_name: "CrushFTP"
ludus_crushftp_service_start_mode: auto
# Network ports
ludus_crushftp_http_port: 8080
ludus_crushftp_https_port: 443
# Create Windows Firewall allow rules
ludus_crushftp_configure_firewall: true
Keine.
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:
- rufflabs.ludus_crushftp_cve_2025_31161
role_vars:
ludus_crushftp_admin_user: "crushadmin"
ludus_crushftp_admin_password: "CrushAdmin123!"
# Add the role
ludus ansible role add rufflabs.ludus_crushftp_cve_2025_31161
# Update your range config
ludus range config get > config.yml
# Edit config.yml to add the role (see example above)
ludus range config set -f config.yml
# Deploy (role only, if range is already up)
ludus range deploy -t user-defined-roles
- hosts: crushftp_hosts
roles:
- rufflabs.ludus_crushftp_cve_2025_31161
Nach der Bereitstellung vom Angriffs-VM aus testen:
# Nuclei detection
nuclei -u http://<target-ip>:8080 -t CVE-2025-2825.yaml
# Immersive Labs PoC (creates a backdoor admin account)
python3 cve-2025-31161.py \
--target_host http://<target-ip>:8080 \
--target_user crushadmin \
--new_user backdoor \
--password backdoor123
CrushFTP10_10.8.0_4.zip von rufflabs/crushftp_cve-2025-31161 GitHub Releases ab (fällt auf Docker Hub Registry-API zurück, falls nicht verfügbar). Lädt Adoptium JDK 21 herunter. Beide werden auf dem Ludus-Host unter /opt/ludus/resources/crushftp/ zwischengespeichert.crushadmin-Benutzer, installiert den Windows-Dienst, setzt JAVA_HOME und öffnet Firewall-Ports.| Repository | Zweck |
|---|---|
| rufflabs/crushftp_cve-2025-31161 | Hostet die verwundbare CrushFTP-Binärdatei als GitHub-Release-Asset |
| rufflabs/ludus_crushftp_cve-2025-31161 | Diese Rolle — Ansible/Ludus-Automatisierung für die Bereitstellung |
MIT