普通程序和免杀程序的区别
不免杀就是代码问题?
有同学编译代码后遇到被查杀,认为就是代码有问题,以为工具被标记,还有参考了网上一些编译器配置但依然无法实现免杀,其实问题远远没有那么简单。
反其道而行之
我们要做的是免杀程序,但资料告诉我们,要启用优化,但事实是我们做的程序与普通程序不同,你就不能那样做。编译器默认是为了性能而启用优化的,它会对我们的代码执行进行了一些调整。而我们在代码中插入的一些干扰或无效代码,这些代码作用在于绕过查杀,如果被优化掉了,那程序就没有按照我们的预期走,因此容易被查杀。
“360连helloworld也不放过?宁可错杀一千不放过一个?”
这你就真的冤枉它了,作为一个杀毒软件,它只是做了它该做的事,就是匹配规则库。
由于大部分人(这里指的是普通程序员和黑客)都使用默认配置编译程序。
我们的思路是:反其道而行之,通过改变常见的编译配置,降低程序被杀软匹配到的可能性
。
实操案例
编译免杀核晶:
编译免杀卡巴斯基:
编译AV终结者:
clang++编译AV杀手:
0/71免杀策略
我们采用增量测试,在每次调整编译配置后,进行测试,确保程序能够绕过检测,一旦未通过,则回滚配置,继续测试其他配置项,直至调整至最佳配置。配置按照作用/效果会产生三种结果:
正作用配置 (免杀、低熵、暴露面少) | 保留 |
副作用配置 (被查杀、高熵、加壳 ) | 回滚 |
无影响配置 (字面意思) | 回滚 |
消除VT中的1/71中的W64.AIDetectMalware
仔细思考问题所在,太多案例由于蓝队通过编译时间戳推测程序演变时间轴,我们需要去除时间戳。去后,编译时间为1970-01-01 08:00:00
,无法追溯活跃时间。再次编译上传,0/71全部通过。
strip --strip-all helloworld3.exe
最终配置
综上所述,我们的最终配置如下:
付费查阅
篇幅有限,上结果:
配置 | 是否查杀 | 查杀编号 | 熵值 | 导入函数 | 微步查杀 | vt查杀 | 样本 | 其他 |
直接编译 | 查杀 | Win64/Heur.Generic.H8oAGpAA | 4.89356 | 14 | 1/28 | - | ad5af61852f56d1f6fe37dacd8dc138a25a0c9f80e43a54742b0f7336a71130c | - |
关闭调试 | 查杀 | HEUR/QVM202.0.1A90.Malware.Gen | 4.98604 | 14 | 1/26 | - | ea0f8362da6d8975693eb15eb31f70fa5cf867f1c2c6620e87be5af5121a44ae | - |
关闭调试、关闭生成清单 | 查杀 | HEUR/QVM202.0.1A90.Malware.Gen | 4.90851 | 14 | 1/26 | - | 092c0a4eb34516cb4349a63d59da1238b493010fb281c056dba0c71e2133f73c | - |
禁用优化 | 不查杀 | - | 4.95993 | 13 | 0/26 | 1/71 | a4243dfc8ceca1a58ca60e3f38a449f56c9b861ee0ab40f4044096639e93161c | - |
关闭SDL检查 | 不查杀 | - | 4.91667 | 13 | 0/27 | - | fb417b818cf639a4437ed43f16efea3b0034b7d0143b3f8fac01d49ca19f6c93 | 指纹+1 |
启用最小重新生成 | 不查杀 | - | 4.91697 | 13 | 0/27 | - | ea4c86d6fb05821254bb6058299a855618d2a6af47a3d6f35ca2132a3055748a | - |
多线程MT | 不查杀 | - | 6.50933 | 96 | 0/27 | 1/73 | - | - |
禁用安全检查 | 不查杀 | - | 4.91518 | 13 | 0/27 | 2/73 | 318f9d1431521793e61a91b590182f87c065a6b0316eade95a742390efa50c2d | - |
禁用函数级链接 | 不查杀 | - | 4.91034 | 13 | 0/26 | 1/73 | 7958c348c406bd86ce35973bd5de3fe6d5107c16b774f40689277c6f9a97ce4d | - |
详细输出否 | 不查杀 | - | 4.91034 | 13 | 0/28 | 1/73 | 指纹+1 | |
嵌入清单否 | 不查杀 | - | 4.90982 | 13 | 0/28 | 1/73 | fdd7452eb87a2b1497cdde9e1badb4030a428fc2f028e7cf42c4fb6d6a8f1dcc | 指纹+4 |
C++17 | 不查杀 | - | 4.91078 | 13 | 0/28 | 1/73 | 48496411d5eb418384dc544e395d98a366775427f2553ef389b8a2b0bc110756 | - |
C++最新 | 不查杀 | - | 5.19674 | 15 | 0/28 | 1/73 | c9e69969352a882f3edf0a95ce9244b5b134ac789b1b6c0c077d70a7d4c80619 | Sigma 规则+1 |
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...