恶意代码--杀毒软件查杀的对抗技巧分享

0x01 静态查杀


静态特征码查杀概念

   

      从病毒体中提取的病毒特征码,逐个与程序文件比较。特征码是反病毒公司在分析病毒时,

确定的只有该病毒才可能会有的一系列二进制串,由这些特征可以与其它病毒或正常程序区别

开来。

     静态特征码免杀针对kingsoft,macafee、Avira、trendmicro免杀效果比较明显。


     如何绕过静态查杀?


    1.1 动态调用 API


        1 特征码定位;

        2 动态获取API地址;

        3 自己调用;


    1.2 代码混淆技术

                                        
        定位到被查杀的函数块,然后通过 API 乱序调用或者插入一些正常其它API调用, 如释

放文件时采用单个字节循环写入。    


    1.3 底层API替代调用


         当模块在进行特殊操作的时候被杀,可以采用调用底层的API接口完成同样的功能,如

使用CreateProcessInternalW创建进程,NtQuerySystemInfomation获取系统信息,以及一些

其它的Native API。


    1.4 加壳保护


         自己开发的代码保护工具进行加壳保护。

0x02 启发式查杀


            启发式查杀概念


         启发式查杀是虚拟机引擎和行为检测相结合,通过模拟执行, 分析程序行为的安全检测

技术。


     如何突破启发式?
     

      2.1 内存载入解析技术


             自己在内存中完成对模块的载入、修复和调用。


      2.2 模块二次载入技术


             当需要调用一些敏感模块的时候,可以采用在内存二次载入我们的目标模块,然后

动态查找EAT 完成函数调用。 启发检测。


      2.3 模块劫持和白名单


         利用受信任进程完成对目标模块的加载,对主动防御拥有比
   较好的免杀效果。


      2.4 白名单进程


      系统进程,带数字签名进程;内置白名单。可劫持模块,如lpk.dll、imm32.dll等。劫持用户

常用软件。


      2.5 功能模块分离

     

            启发式分析一般都是针对目标进程的行为进行综合分析,如果将多个行为在分离在多个

进程中实现,将能成功绕过。


        2.5.1 进程A中完成文件释放;      

        2.5.2 进程B中完成提权; 

        2.5.3 进程C完成安装。


      2.6 代码注入


         有两种意义上的注入,远程线程式注入和远程进程式注入。


         远程线程式注入可以注入到其它模块中,在其它用户受信任 进程中完成目标操作,如注入

到explorer进程中完成文件释放和复制等操作。

         远程进程式注入其实就是傀儡进程,利用系统进程为进程载体,然后注入我们的模块代码

并运行。


      2.7 正常软件行为模拟


          SHFileOperation完成文件操作;      
          添加UI界面;
          加入弹框代码,如MessageBox调用。
          举例:当触发Norton的sonar主动防御的时候,可以通过在特定条件下添加对MessageBox

的调用,而该条件永远不会被触发。


0x03 云查杀


云查杀概念


    云安全机制是一种新兴的安全查杀机制,不同的安全厂商的云安全查杀机制不一样。基于云共享

特征库扫描机制360 安全卫士,电脑管家,基于主动防御信誉云的扫描机制  。
   云查杀特点

         云查杀机制现在仍处于起步阶段;

         本地查杀机制和云网络相结合;

         集群服务器虚拟机动态跟踪分析;

         上传样本,安全人员人工分析;

         其它方式。


   如何突破云?


             云安全分析也是由一套安全厂商自定义规则形成的查杀机制,可以从云查杀机制上进行过滤,

突破云查杀。


      3.1 降低本地文件行为危险等级;


      3.2 白名单机制;


      3.3 文件体积膨胀。


你可能感兴趣的:(网络安全,杀毒软件,恶意,逆向,恶意代码,查杀技巧,学习笔记,安全札记,恶意代码,技术文章)