
Ansibleロールで、CVE-2025-31161の認証バイパスの許可されたペネトレーションテスト用に、Windows上に脆弱なCrushFTP 10.8.0インスタンスを展開します。
Windows上で脆弱性のあるCrushFTP 10.8.0インスタンスを展開し、CVE-2025-31161(認証バイパス)の認可されたペネトレーションテストを行うためのAnsibleロールです。
脆弱性のあるCrushFTPバイナリはrufflabs/crushftp_cve-2025-31161でホストされており、展開時に自動的にダウンロードされます。そのリポジトリが利用できない場合、ロールはDocker Hubから直接取得するフォールバックを使用します。
[!WARNING] このロールは意図的に脆弱性を持たせたアプリケーションを展開します。 隔離されたラボ環境でのみ使用してください。信頼できないネットワークに公開しないでください。
api.adoptium.netへの発信HTTPS接続が必要です(その後はファイルがキャッシュされます)。利用可能な変数はデフォルト値とともに以下に示されています(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
なし。
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
展開後、攻撃VMからテストします:
# 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
rufflabs/crushftp_cve-2025-31161のGitHub ReleasesからCrushFTP10_10.8.0_4.zipを取得します(利用できない場合はDocker HubレジストリAPIにフォールバック)。Adoptium JDK 21をダウンロードします。どちらもLudusホストの/opt/ludus/resources/crushftp/にキャッシュされます。crushadminアカウントを作成し、Windowsサービスをインストールし、JAVA_HOMEを設定し、ファイアウォールのポートを開放します。| リポジトリ | 目的 |
|---|---|
| rufflabs/crushftp_cve-2025-31161 | 脆弱性のあるCrushFTPバイナリをGitHub Releaseアセットとしてホスト |
| rufflabs/ludus_crushftp_cve-2025-31161 | このロール — 展開用のAnsible/Ludus自動化 |
MIT