红蓝对抗----免杀原理和绕过研究

2023-10-25 06:30

本文主要是介绍红蓝对抗----免杀原理和绕过研究,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

前言

静态查杀

已知病毒查杀-特征码查杀

未知病毒查杀-静态启发式查杀

动态查杀

已知病毒查杀查杀-内存特征

未知病毒查杀-启发式查杀和主动防御

免杀流程

参考资料


前言

    世面上很多的杀软免杀文章,但经过笔者实战,发现一个问题,会有很多方法推荐给你,例如加壳,加花指令等等的方式。本来不会被查杀的程序,被加壳后还被查杀了。这对新手十分不友好。那么有没有一种实战性强(既免杀率高,免杀效果持久),一站式的免杀流程和方案来让你制作免杀。并且该免杀方案还能保持一些原则来增加程序的免杀持久性。答案是有。接下来我们将在该系列中介绍一种一站式免杀流程和方案,让新手更快的学会和应用。

在该系列文章中将静态免杀动态免杀,划分方式为是否运行程序。主要分为以下两种情况:

1.如果放置进杀软环境被查杀则可能静态查杀动态查杀(沙箱查杀DLL,因为DLL并不会直接运行)。

2.如果双击运行被查杀,则为动态查杀

静态查杀

    静态查杀可以分为两种查杀,一种为查杀已知类型查杀,一种为查杀未知类型查杀。其中通过指定文件hash,或文件中存在多个字符串则可以通过指定存在这些特征的则为这一类病毒,以下分别介绍。




已知病毒查杀-特征码查杀

    特征码是表示,知乎按照指定模式进行特征匹配的算法,而具体使用什么类型的规则(既各种扫描算法)取决于扫描器,下面我们来介绍一种模式匹配规则,YARA规则。YARA是一款旨在帮助恶意软件研究人员识别和分类恶意软件样本的开源工具,使用YARA可以基于文本或二进制模式创建恶意软件家族描述信息,当然也可以是其他匹配信息。接下来我们来分析一个出名通用远控PoisonIvy的yara规则。

rule PoisonIvy_Generic_3 {meta:description = "PoisonIvy RAT Generic Rule"license = "https://creativecommons.org/licenses/by-nc/4.0/"author = "Florian Roth"date = "2015-05-14"hash = "e1cbdf740785f97c93a0a7a01ef2614be792afcd"strings:$k1 = "Tiger324{" fullword ascii$s2 = "WININET.dll" fullword ascii$s3 = "mscoree.dll" fullword wide$s4 = "WS2_32.dll" fullword$s5 = "Explorer.exe" fullword wide$s6 = "USER32.DLL"$s7 = "CONOUT$"$s8 = "login.asp"$h1 = "HTTP/1.0"$h2 = "POST"$h3 = "login.asp"$h4 = "check.asp"$h5 = "result.asp"$h6 = "upload.asp"condition:uint16(0) == 0x5a4d and filesize < 500KB and( $k1 or all of ($s*) or all of ($h*))
}

上述规则说,满足k1或s规则或h规则且大小小于500kb为pe文件的则为poisonlvy病毒。可以从规则上来看,大小,字符串,使用的DLL等等软件构成部分都可以成为检测病毒的一部分。总结一下即程序符合特定规则则认定这个程序为指定病毒




未知病毒查杀-静态启发式查杀

    启发式查杀是对单一特征码查杀的补充,解决未知病毒查杀。早期杀软都是发现病毒,制作该病毒的特征码,但是对于未知病毒就无法查杀,而启发式则是将一类病毒总结后,归纳其特征,其后的演变都为一类病毒,这既是启发式算法。具体启发式算法可以由杀软来定,比如可以使用机器学习把家族病毒聚类,或简单的通过使用通用型yara规则,例如文件大小小于100kb,且没有图标则可以识别为病毒,以此达到查杀壳病毒。例如,有的杀软会查杀main函数中仅仅有几行无效代码。这也是我们经常遇到的误报



动态查杀

    动态查杀同样分为两种查杀,一种为指定类型查杀,一种为未知类型查杀。




已知病毒查杀查杀-内存特征

    例如,某数字查杀cobaltstrike等知名远控则是通过shell code内存匹配来进行查杀。





未知病毒查杀-启发式查杀和主动防御

    杀软通过拦截程序运行的api调用,通过api序列,或其是否高危来判定是否为病毒。

举几个例子,

1.Kas针对cobaltstrike的查杀是通过联网URL的地址特征,进行查杀。

2.通过将Dll拷贝到磁盘后,会被沙箱进行行为分析。例如,Dll下载者会被查杀,很明显DLL是没办法直接双击运行,但某些杀软依旧会查杀。

3.注入explorer.exe直接被干掉。

4.Bitdexxxxx会在运行时查杀空壳且名字随机的1.exe,asd.exe,干扰免杀。

注意:主动防御有的杀软会在断网模式不开启该功能。

免杀流程

参考资料

1.GitHub - Micropoor/Micro8: Gitbook
2.LOLBAS Windows白名单列表
3.方程式组织EQUATION DRUG平台解析 方程式组织EQUATION DRUG平台解析
4.GitHub - TideSec/BypassAntiVirus: 远控免杀系列文章及配套工具,汇总测试了互联网上的几十种免杀工具、113种白名单免杀方式、8种代码编译免杀、若干免杀实战技术,并对免杀效果进行了一一测试,为远控的免杀和杀软对抗免杀提供参考。
5.[原创]过所有主流杀软查杀的“免杀壳”编写揭秘-加壳脱壳-看雪论坛-安全社区|安全招聘|bbs.pediy.com


欢迎交流

这篇关于红蓝对抗----免杀原理和绕过研究的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/280648

相关文章

Spring Security 单点登录与自动登录机制的实现原理

《SpringSecurity单点登录与自动登录机制的实现原理》本文探讨SpringSecurity实现单点登录(SSO)与自动登录机制,涵盖JWT跨系统认证、RememberMe持久化Token... 目录一、核心概念解析1.1 单点登录(SSO)1.2 自动登录(Remember Me)二、代码分析三、

在MySQL中实现冷热数据分离的方法及使用场景底层原理解析

《在MySQL中实现冷热数据分离的方法及使用场景底层原理解析》MySQL冷热数据分离通过分表/分区策略、数据归档和索引优化,将频繁访问的热数据与冷数据分开存储,提升查询效率并降低存储成本,适用于高并发... 目录实现冷热数据分离1. 分表策略2. 使用分区表3. 数据归档与迁移在mysql中实现冷热数据分

从原理到实战深入理解Java 断言assert

《从原理到实战深入理解Java断言assert》本文深入解析Java断言机制,涵盖语法、工作原理、启用方式及与异常的区别,推荐用于开发阶段的条件检查与状态验证,并强调生产环境应使用参数验证工具类替代... 目录深入理解 Java 断言(assert):从原理到实战引言:为什么需要断言?一、断言基础1.1 语

MySQL中的表连接原理分析

《MySQL中的表连接原理分析》:本文主要介绍MySQL中的表连接原理分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、背景2、环境3、表连接原理【1】驱动表和被驱动表【2】内连接【3】外连接【4编程】嵌套循环连接【5】join buffer4、总结1、背景

深度解析Spring AOP @Aspect 原理、实战与最佳实践教程

《深度解析SpringAOP@Aspect原理、实战与最佳实践教程》文章系统讲解了SpringAOP核心概念、实现方式及原理,涵盖横切关注点分离、代理机制(JDK/CGLIB)、切入点类型、性能... 目录1. @ASPect 核心概念1.1 AOP 编程范式1.2 @Aspect 关键特性2. 完整代码实

Java Stream的distinct去重原理分析

《JavaStream的distinct去重原理分析》Javastream中的distinct方法用于去除流中的重复元素,它返回一个包含过滤后唯一元素的新流,该方法会根据元素的hashcode和eq... 目录一、distinct 的基础用法与核心特性二、distinct 的底层实现原理1. 顺序流中的去重

Spring @Scheduled注解及工作原理

《Spring@Scheduled注解及工作原理》Spring的@Scheduled注解用于标记定时任务,无需额外库,需配置@EnableScheduling,设置fixedRate、fixedDe... 目录1.@Scheduled注解定义2.配置 @Scheduled2.1 开启定时任务支持2.2 创建

Spring Boot 实现 IP 限流的原理、实践与利弊解析

《SpringBoot实现IP限流的原理、实践与利弊解析》在SpringBoot中实现IP限流是一种简单而有效的方式来保障系统的稳定性和可用性,本文给大家介绍SpringBoot实现IP限... 目录一、引言二、IP 限流原理2.1 令牌桶算法2.2 漏桶算法三、使用场景3.1 防止恶意攻击3.2 控制资源

Python中使用uv创建环境及原理举例详解

《Python中使用uv创建环境及原理举例详解》uv是Astral团队开发的高性能Python工具,整合包管理、虚拟环境、Python版本控制等功能,:本文主要介绍Python中使用uv创建环境及... 目录一、uv工具简介核心特点:二、安装uv1. 通过pip安装2. 通过脚本安装验证安装:配置镜像源(可

Maven 配置中的 <mirror>绕过 HTTP 阻断机制的方法

《Maven配置中的<mirror>绕过HTTP阻断机制的方法》:本文主要介绍Maven配置中的<mirror>绕过HTTP阻断机制的方法,本文给大家分享问题原因及解决方案,感兴趣的朋友一... 目录一、问题场景:升级 Maven 后构建失败二、解决方案:通过 <mirror> 配置覆盖默认行为1. 配置示