用简单的方式做好免杀

免杀这个东西,往深了做,可以做的很难,但是如果只是保持能过国内基本的,所谓360,Defender,火绒这三个经常在项目中遇到的杀软,还是相对简单的。要想简单,核心思路就是白加黑形式的分离免杀。白的东西,就是加载器,因为加载器本身就不会有病毒,它只是一个单纯把shellcode放到内存中加载的工具而已,除了用多了,杀软用特征匹配来查杀,其他的东西,是基本没有逻辑来杀的,因为它本身不含毒,而且也可以天然过沙箱,因为沙箱放进去没有shellcode加载,那啥也没有。例如我这里网上找了一段shellcode加载器load

d2b5ca33bd20240711172958

这段代码本身是不含shellcode的,只是一个单纯的加载器shellcode被我使用文件读取的方式来进行调用,先读取,然后再放进来加载。这里首先找到锚点,然后把shellcode文件命名为1

d2b5ca33bd20240711173028

然后再找一个文件读取的function

d2b5ca33bd20240711173126

然后再调用刚刚的shellcode注入

d2b5ca33bd20240711173156

 

最后go build直接编译一次(不要加任何隐藏后台进程的参数,会很容易被杀,后台运行进程在代码层
面处理即可)
得到对应的main.exe

d2b5ca33bd20240711173226

d2b5ca33bd20240711173251

第一次没做修改的代码编译完,直接就被扫出来了
解决的方法也很简单
1、换变量名,然后颠倒代码位置,或者颠倒代码结构
比如这里我就随便换了几个变量名

d2b5ca33bd20240711173327

 

2、直接加一些莫名其妙的代码进去填充这里随便从网上找一些golang游戏代码,golang爬虫代码塞

d2b5ca33bd20240711173358

d2b5ca33bd20240711173425

golang的一个好处就是,这些函数和变量塞进去之后,就算不调用也没事,编译也不会报错做完以上两步之后,再次编译一下,然后去360那里

d2b5ca33bd20240711173511

d2b5ca33bd20240711173545

这里把马和shellcode放到一个文件夹下面,然后直接双击drama.exe

d2b5ca33bd20240711173658

 

d2b5ca33bd20240711173716

 

© 版权声明
THE END
喜欢就支持一下吧
点赞7 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片快捷回复

    暂无评论内容