Kali Linux

Shellcode Template : An Easily Modifiable Shellcode Template For Windows X64/X86

Shellcode Template is heavily based on Austin Hudson’s (aka SecIdiot) TitanLdr It compiles the project into a PE Executable and extracts the .text section

Example

The entry point of the shellcode looks like this. Of course, this can be changed for your need. First we need to initialize needed libraries and functions by using our custom written GetModuleHandle and GetProcAddress.

SEC( text, B ) VOID Entry( VOID )
{
INSTANCE Instance = { };
Instance.Modules.Kernel32 = TGetModuleHandle( HASH_KERNEL32 );
Instance.Modules.Ntdll = TGetModuleHandle( HASH_NTDLL );
if ( Instance.Modules.Kernel32 != NULL )
{
// Load needed functions
Instance.Win32.LoadLibraryA = TGetProcAddr( Instance.Modules.Kernel32, 0xb7072fdb );
// Load needed Libraries
Instance.Modules.User32 = Instance.Win32.LoadLibraryA( GET_SYMBOL( “User32” ) );
if ( Instance.Modules.User32 != NULL )
{
Instance.Win32.MessageBoxA = TGetProcAddr( Instance.Modules.User32, 0xb303ebb4 );
}
}

Btw as you can see we can use normal strings in our shellcode. This is because we include the .rdata section into our shellcode at linking time. And GET_SYMBOL gets the pointer to the function or string via its relative offset to GetRIP()

Get Started

Clone this project and you are ready to start

git clone https://www.github.com/Cracked5pider/ShellcodeTemplate

Next you would need to change the project name in the makefile from ShellcodeTemplate to whatever you want Then you can compile the project by using make

make // to compile x64 and x86
make x64 // to compile only x64
make x86 // to compile only x86

R K

Recent Posts

Install Joomla on Ubuntu 18.04 with Apache: LAMP Stack Guide

Joomla is one of the most popular open-source content management systems in the world. It is…

12 hours ago

Install WordPress on Ubuntu 18.04 with Apache: LAMP Stack Guide

WordPress is the most popular open-source content management system in the world, powering over a quarter…

12 hours ago

Install Curl on Ubuntu 18.04: Setup and Common Usage Examples

You follow a tutorial, run a command, and get: curl: command not found. It simply means…

12 hours ago

Install Postman on Ubuntu 18.04: Snap Setup and First API Request

Postman is a complete API development environment used by developers at every stage of building APIs…

12 hours ago

Install VLC Media Player on Ubuntu 18.04: Snap Setup Guide

VLC is one of the most popular open-source multimedia players in the world, developed by the…

12 hours ago

Install Opera Web Browser on Ubuntu 18.04: Complete Setup Guide

Opera is one of the most popular cross-platform web browsers in the world, available on Windows,…

1 day ago