
एक असुरक्षित CrushFTP 10.8.0 इंस्टेंस को Windows पर तैनात करने वाला Ansible भूमिका, CVE-2025-31161 प्रमाणीकरण बाईपास के अधिकृत पेनिट्रेशन परीक्षण के लिए
एक Ansible Role जो विंडोज़ पर CVE-2025-31161 (प्रमाणीकरण बायपास) के अधिकृत पेनिट्रेशन टेस्टिंग के लिए एक असुरक्षित CrushFTP 10.8.0 इंस्टेंस तैनात करता है।
असुरक्षित CrushFTP बाइनरी rufflabs/crushftp_cve-2025-31161 पर होस्ट की गई है और डिप्लॉयमेंट के समय स्वचालित रूप से डाउनलोड होती है। यदि वह रेपो अनुपलब्ध है, तो Role सीधे Docker Hub से पुल करने पर वापस आ जाती है।
[!WARNING] यह Role एक जानबूझकर असुरक्षित एप्लिकेशन तैनात करता है। केवल पृथक लैब वातावरण में उपयोग करें। अविश्वसनीय नेटवर्क पर एक्सपोज़ न करें।
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
CrushFTP10_10.8.0_4.zip को rufflabs/crushftp_cve-2025-31161 GitHub Releases से लाता है (अनुपलब्ध होने पर Docker Hub रजिस्ट्री API पर वापस आ जाता है)। Adoptium JDK 21 डाउनलोड करता है। दोनों Ludus होस्ट पर /opt/ludus/resources/crushftp/ पर कैश किए जाते हैं।crushadmin खाता बनाता है, विंडोज़ सेवा स्थापित करता है, JAVA_HOME सेट करता है, और फ़ायरवॉल पोर्ट खोलता है।| Repository | उद्देश्य |
|---|---|
| rufflabs/crushftp_cve-2025-31161 | असुरक्षित CrushFTP बाइनरी को GitHub Release एसेट के रूप में होस्ट करता है |
| rufflabs/ludus_crushftp_cve-2025-31161 | यह Role — तैनाती के लिए Ansible/Ludus स्वचालन |
MIT