25
2025
03
10:00:51

免杀系列:一杀软基础

 免杀系列会在公众号中进行从简单入门到精通,让你看完整个系列也能成为免杀工作者中的一员。但是免杀和其他的行业区别在于需要你对操作系统杀软规则杀软特性免杀手法等都要有一定的了解,只有打好基础才可以轻松自如的使用第一性原理快速解决掉你在与杀软对抗中的难题。所以整个免杀系列会一直更新,需要学习免杀的同学可以持续关注



图片什么是免杀?

    免杀(Bypass AV, Anti-Virus Evasion)是指恶意软件通过各种手段规避杀毒软件和安全检测系统的识别和拦截,从而在目标系统中成功执行。这种技术不仅用于恶意软件的传播,也被信息安全研究人员用来测试和提升安全防护系统的能力。根据有无源码,免杀可以分为以下两种情况:

• 二进制免杀(无源码):通过直接修改二进制数据实现免杀。

• 有源码免杀:通过修改源代码实现免杀。

一般直接对二进制可执行文件进行无源码免杀技术难度较高,免杀效果也不好。于是可以通过将编译好的二进制可执行文件转化为一段shellcode,然后编写加载器执行这段shellcode,从而实现无源码免杀向有源码免杀的转化。根据免杀阶段还可以分为以下两种免杀:

• 动态免杀

静态免杀

    静态免杀主要是为了抵抗杀毒软件的静态扫描,杀毒软件的静态扫描一般会通过提取文件中的一段特征串来与自身的病毒库中的特征码进行对比来判断该文件是否为恶意文件,因此我们一般围绕修改或是掩盖文件的特征码来实现静态免杀。

特征码是一段能识别程序是否为病毒的特征串,不同杀毒软件识别病毒的特征码不同。

    现在特征码免杀是在逐渐衰退,因为现在 的杀软主要倾向了HIPS(主动防御)以及启发式扫描, 特征码修改和定位是越来越难了。(个人认为特征码定位会很蛋疼。。。)那么无特征码免杀更是难上加难,其实就是盲免。目前只有少数牛人在玩了源码免杀,一个当今非常好的免杀方法。啥?360你盯上我的API了?我动态调用啥?小红伞你盯上我代码了?,我源码无破损修改。啥?NOD32干扰太强你定位不出?直接用C32先找出大致范围,如输入表,代码段等等,我再在源码改 (意思就是源码免杀基本能解决所以免杀难题 )。


图片杀软特性

1. 360

    360作为中国杀软上的后期之秀,占中国杀软很大部分的市场,当时09,10年的360是非常弱的,定位根本无干扰,但现在的360查杀能力不在话中,但误报率过高,现在5引擎,小红伞,BD,QVM其中BD,木伞都是可以定位的,但QVM是一个伪启发,但是QVM07可以用定位,一般QVM都是杀输入表,杀壳,入口点,资源这些。



















HEUR/Malware.QVM06.Gen 一般情况下加数字签名可过HEUR/Malware.QVM07.Gen 一般情况下换资源HEUR/Malware.QVM13.Gen 加壳了HEUR/Malware.QVM19.Gen 杀壳 (lzz221089提供 )HEUR/Malware.QVM20.Gen 改变了入口点HEUR/Malware.QVM27.Gen 输入表HEUR/Malware.QVM18.Gen 加花HEUR/Malware.QVM05.Gen 加资源,改入口点
QVM07加资源一般加到2M会报QVM06再加数字签名,然后再慢慢减资源,这个方法对大部分木马有效果。QVM06 加数字签名QVM12杀壳QVM13杀壳QVM27杀输入表QVM19 加aspackQVM20就加大体积/加aspack压缩


2. 金山毒霸

金山走的是云安全,云防护,云鉴定这些云安全路线,所以,断了网后金山就是个废,原来有大牛这样写过马的,先运行时断开网络,然后释放出马,再运行,运行成功后就连接网络,这样是可以使免杀效果更好一些。现在在天朝大部分的人都用的360和金山

3. 江民

江民定位就OK,主要是对特征码字符串和资源进行查杀(具体方法已经记录到私密博客)。

4. 瑞星

瑞星曾经是很霸气的,现在低调了许多,主要是主动防御拦截(具体方法已经记录到私密博客)

5. 安天防线

安天防线作为一款不是杀软的杀软,现在是纯特征码扫描。

6. 卡巴斯基

非常变态的一款杀软,误报低,查杀率高,特征码+输入表变态查杀+静动态启发式+强力的虚拟机脱壳技术。人类已经无法阻止卡巴斯基的输入表查杀了,在反汇编下,你无论对输入表怎么重建,移位都不行,需要进行手动异或加密。

7. NOD32 ESET

我个人认为的最好的杀软,NOD32主要盯的是资源和输入表,他的启发式是相当不赖的,而且NOD32抗定位干扰非常强,一般是定位的不出特征码了,需要手工一段一段的找特征码大致所在区域,再修改,这样是非常耗时的,而且一上报,就完蛋。所以一般的不会做NOD32的免杀

8. 诺顿

诺顿不是NOD32,诺顿的主动防御貌似的是很牛B,但表面查杀一般(具体方法已经记录到私密博客)。

9. 小红伞,木伞

小红伞的特征码定位抗干扰技术比较好。还有小红伞的启发式也比较不错(具体方法已经记录到私密博客)。

10. BD

比特焚德,以全球最大的病毒库著名,HIPS+特征码+虚拟机+高启发,还是不错的


11. 火绒

火绒对程序的静态检测比较严格,主要表现在对程序中嵌入的shellcode以及程序的导入表有严格的检查。而且火绒存在本地沙箱,在程序的静态特征较为明显的情况下需要借助反沙箱的技术对火绒静态查杀进行绕过,在某些情况下如果对程序的静态特征做了很好的消除,甚至可以不利用反沙箱技术即可绕过火绒本地沙箱。


12. Windows Defender

静态查杀能力较强,动态查杀较强,监控 HTTP 流量。

按照静态查杀能力强弱排列如下:

火绒 < 360安全卫士、360杀毒、Windows Defender、卡巴斯基标准版 < 卡巴斯基企业版、ESET < 360QVM

目前见过静态查杀能力最强的属360QVM,连国外的杀软都有所不及,可以说360QVM是非常流氓的了。

按照动态查杀能力强弱排列如下:

火绒、360、ESET < 卡巴斯基 < Windows Defender

火绒、360、ESET 这几个没有动态查杀。

行为查杀有强有弱,而且不好比较,看自己体验吧。

图片杀软的查杀方法

1。最基础的查杀

特征码查杀你说杀软要认为这个东西是个木马得有个判断条件吧,总不可能随便给你杀了。特征码就是最基础的查杀方式。特征码是什么?特征码就是病毒分析狮从病毒中提取的不大众化的不大于64字节的特征串。通过判断是否有这个特征字符串从而确定是否为病毒。通常为了减少误报,一个病毒会取数个特征码。

2. 静态启发式

静态启发式即对整个软件进行分析。首先,杀软会规定规则,这个问题规则就是法律一样的,如果静态启发式分析出了杀软中的规定的法律,那么他的怀疑等级就会提高,跟起诉一个犯罪嫌疑人的证据一样,证据越多,那个人的可疑性就越高,到一定程度,就成了做坏事的人

3. 动态启发式

动态启发式又叫虚拟机查杀技术,会模拟出一个近似于windows的系统,但没有我们使用的windows那么全健,杀软会把病毒丢进他的虚拟机里,进行操作监视,如果操作越可疑,就越容易被定为病毒这段话为了大家能看懂,我省去了一些专业术语

4. HIPS

HIPS可以说是主动防御,何为主动防御,一个马儿如果通过了表面查杀,那么主动防御就是最后一道防线,既然是最后一道防线,做得肯定要很牛咯。HIPS主要是对一个软件运行时的进行检测,如果发现软件有注册表操作,加载驱动这些一般程序不应操作的操作时,那么他就会以他R0级的优势,拦截掉,并将程序暂停运行,也就是挂起,询问用户是否进行该操作。

5. 云安全

云查杀。这个是这样的。首先,杀软那里有一套规则,如果一个软件触犯了这些规则,则杀软会上报至云服务器,到了云服务器后,则会对上报文件进行鉴定,可能会是人工鉴定,这样的效果比杀软查杀效果要好得多。那么如果分析出这个程序是病毒,那么就会将这个程序的MD5发生至云中心,用户在联网状态下杀毒的话,就与云中心核对MD5,如果对上了,无条件认定为病毒。

图片免杀方面的术语

1. API

Windows API是一套用来控制Windows的各个部件的外观和行为的预先定义的Windows函数。用户的每个动作都会引发一个或几个函数的运行以告诉Windows发生了什么。API这个,我也说不清。我认为是这样的,程序的操作都会有一个API,有些操作产生的API则是可疑的,如,写注册表这一类的api就会被杀软所盯上,报为病毒。

2. 花指令

花指令是一段无用代码,用来迷惑杀毒软件。就好像男扮女装,用来伪装自己。

3. 输入表

输入表是每个程序必备的,里面有程序所调用的大小姐函数,而一些可疑操作的函数则会引起杀软注意。

4. 区段

区段是程序保存数据的地方,不同的区段保存了不同的东西,大家可以用LPE打开一个程序,找到区段选项,就可以看到区段了。

5. 加壳

加壳分为加压缩壳和保护壳〔加密壳〕压缩壳是目的是使程序变小,但无保护程序防止被反破解的作用。保护壳恰恰相反,保护壳的目的是使程序尽量防止被反汇报,但好的保护壳会议给程序植入大量垃圾代码,以干扰破解版者,所以程序会变大。

6. 反启发

即加入对杀软的启发式干扰的代码

7. 隐藏输入表

即让输入表无法在c32中出现。

  1. 混淆(Obfuscation)

这是一种将代码转换为难以理解的形式的技术,使得分析者难以从字节码中理解程序的逻辑。混淆可以应用于源代码、编译后的代码或二进制文件。

  1. 代码注入(Code Injection)


将恶意代码注入到合法程序中,使得恶意代码在合法程序的执行过程中被执行,从而避开杀毒软件的检测。

9. 内存执行(In-Memory Execution)

恶意代码不在磁盘上留下痕迹,而是直接在内存中执行,这样可以减少被杀毒软件扫描到的机会。

10. 文件加密(File Encryption)

将恶意文件加密存储,只有在执行时才解密,这样可以避免杀毒软件通过文件内容进行检测。

11. 多态(Polymorphism)

生成多个变种的恶意代码,每种变种都有不同的特征,使得杀毒软件难以通过单一的特征码来识别。

12. 行为混淆(Behavioral Obfuscation)

通过改变程序的行为模式,使得恶意行为看起来像是正常行为,从而避开基于行为分析的检测。

13. 利用漏洞(Exploiting Vulnerabilities)

利用操作系统或应用程序的漏洞来执行恶意代码,有时这些漏洞可能还未被广泛认知,因此杀毒软件可能无法检测到。


使用合法的数字证书签名恶意软件,以欺骗用户和杀毒软件,使其看起来像是可信的软件。

15. 沙箱逃逸(Sandbox Evasion)

沙箱是一种检测恶意软件的环境,它模拟了一个安全的执行环境。沙箱逃逸技术是指恶意软件能够检测到自己是否在沙箱中运行,并在检测到沙箱时改变行为,以避免被检测。

16. 利用系统服务(Using System Services)

通过操作系统服务来执行恶意行为,因为系统服务通常具有较高的权限,可以绕过一些安全措施。

17. 利用云服务(Using Cloud Services)

将恶意代码或数据存储在云服务上,通过云服务来分发或执行恶意行为,这样可以分散风险并增加检测难度。


图片杀软报毒命名规则

杀毒软件的报毒基本遵循一套原则,就是“CARO”原则,由反病毒专家联盟 CARO提出,遵循以下格式:



<威胁类型>.<平台>.<恶意软件系列>.<变体>.<其他信息*>


卡巴斯基在此基础上添加了前缀:



[前缀:]<威胁类型/行为>.<平台>.<恶意软件家族><.变体><其他信息>



前缀

该前缀标识检测到该对象的子系统。

前缀“HEUR:”用于表示启发式分析器检测到的对象;

前缀“PDM:”用于表示主动防御模块检测到的对象。

前缀不是全名的必需部分,并且可能不存在。

前缀这一部分,是卡巴斯基实验室反病毒数据库早期提出,该司在2007年推出的一个启发式模块,当该模块检测到对象时,对象的名称以“HEUR:”前缀开头。

主动防御模块是监视系统中应用程序执行的操作顺序的模块,如果检测到可疑活动,则阻止该应用程序进行进一步的活动。如果 是PDM 检测到某个威胁程序,则该威胁程序的名称以“PDM:”前缀开头。

这两个模块都分析对象的活动(或活动序列)。如果该活动是典型的恶意程序,则启发式分析器或 PDM 将检测到该对象。

行为

威胁类型/行为代表主要威胁类别,描述威胁的主要行为是什么。

1.  对于恶意软件:Trojan(木马)、Worm(蠕虫)、Virus(病毒)、Ransomware(勒索软件)、Coinminer(挖矿) 和Backdoor(后门)是我们最常见的威胁类型。

2.  对于灰色软件:Adware广告软件、Spyware间谍软件和 PUA 是最常见的威胁类型。

在这里讲一下常见的威胁类型和他们的一些对应操作,以后大家碰到报毒也可以对着看看究竟是哪部分出了问题:

图片

图片


4. 平台

平台是指恶意软件开发时,设定的能够执行的环境,涵盖软件和硬件。这包括操作系统:Windows(Win32、Win64)、Mac OS、Linux 和 Android,以及编程语言和文件格式(Microsoft Word/Excel/PowerPoint)。

家族

用于表示一组具有相同来源(作者、源代码)、操作原理或有效负载的检测到的对象。每个家族都是根据其表现的行为来命名的。常见的就是:Generic、Infector、AntiAV、KillFiles等。

变体

为了识别一个家族中不同恶意软件的变体,字母按顺序使用并称为变体,从“.a”开始:“.a”-“.z”、“.aa”-“.zz”等。

变体不是全名的强制部分,并且可能不存在。

7. 其他信息

被认为有助于进一步了解某些复杂威胁的信息可以利用命名方案的这个可选部分。例如,dldr 表示下载器。因此,检测名称 Ransom.Win32.Locky.A.dldr 提供的信息表明该威胁程序是 Locky Ransomware 的下载程序。


样例

举一些恶意软件的分类和他们的作用:

HEUR:Worm.[Platform].Generic此分类涵盖的对象在远程计算机上运行搜索,并尝试将自身复制到读/写可访问目录、使用操作系统功能搜索可访问网络目录和/或对计算机进行随机搜索。[Platform] 字段可以是“Script”或“Win32”。

HEUR:Virus.[Platform].Generic此分类涵盖的对象会在受害计算机的本地资源上创建自身的副本。[Platform] 字段可以是“Script”或“Win32”。

HEUR:Email-Worm.[Platform].Generic此分类涵盖的对象尝试以电子邮件附件的形式发送自身的副本,或者作为位于网络资源上的自身文件的链接。[Platform] 字段可以是“Script”或“Win32”。

HEUR:Virus.[Platform].Infector此分类涵盖的对象在计算机中搜索文件并将一系列信息写入这些文件。例如,这样的对象可以将其主体写入可执行文件或写入包含指向具有 .html、.php、.asp 和其他扩展名的文件的链接的 HTML 代码。[Platform] 字段可以是“Script”或“Win32”。

PDM:Worm.Win32.Generic此分类涵盖的对象搜索远程计算机网络并尝试将自身复制到读/写可访问目录、使用操作系统功能搜索可访问网络目录和/或对计算机进行随机搜索。

PDM:P2P-Worm.Win32.Generic此分类涵盖的对象将自身复制到通常与 P2P 客户端关联的文件夹、修改与 P2P 客户端关联的注册表项等。

HEUR:Trojan.[Platform].Generic此分类涵盖的对象会删除、阻止、修改或复制信息,并破坏计算机或计算机网络的性能。[Platform] 字段可以是“Script”或“Win32”。

HEUR:Trojan.Win32.Invader此分类涵盖的对象将其代码注入其他进程的地址空间。病毒编写者经常使用这种策略来执行各种操作,就好像这些操作是由受信任的应用程序执行的一样。

HEUR:Trojan.[Platform].AntiAV此分类涵盖的对象会阻止防病毒程序和防火墙工作。[Platform] 字段可以是“Script”或“Win32”。

HEUR:Trojan.[Platform].KillFiles此分类涵盖的对象删除用户文件和/或操作系统文件。[Platform] 字段可以是“Script”或“Win32”。

HEUR:Trojan.[Platform].StartPage此分类涵盖的对象会修改 StartPage、SearchPage 和其他 Internet 浏览器设置。[Platform] 字段可以是“Script”或“Win32”。

HEUR:Trojan.Script.Iframer此分类涵盖的对象通过使用隐藏标签在用户不知情的情况下访问互联网资源。

HEUR:Trojan.[Platform].Cryptic此分类涵盖的对象是高度加密或混淆的。[Platform] 字段可以是“Script”或“Win32”。

HEUR:Backdoor.[Platform].Generic此分类涵盖的对象使恶意用户能够远程控制受害计算机。[Platform] 字段可以是“Script”或“Win32”。

HEUR:Trojan-Downloader.[Platform].Generic此分类涵盖的对象旨在下载恶意程序的新版本并将其安装到受害计算机。[Platform] 字段可以是“Script”或“Win32”。

HEUR:Trojan-PSW.[Platform].Generic此分类涵盖的对象旨在从受害者计算机窃取用户帐户信息(登录名和密码)。[Platform] 字段可以是“Script”或“Win32”。

HEUR:Trojan-Dropper.[Platform].Generic此分类涵盖的对象会从原始恶意程序主体中偷偷地将其他恶意程序安装到受害者计算机上。[Platform] 字段可以是“Script”或“Win32”。

HEUR:Exploit.[Platform].Generic此分类涵盖的对象利用本地或远程计算机上的一个或多个软件漏洞。[Platform] 字段可以是“Script”或“Win32”。

PDM:Trojan.Win32.Generic此分类涵盖的对象删除、阻止、修改或复制信息,或破坏计算机和计算机网络的性能。

PDM:Rootkit.Win32.Generic此分类涵盖的对象隐藏系统上的某些对象或活动。此分类还会检测到旨在秘密安装向受害计算机展示 Rootkit 行为的驱动程序的程序。

HEUR:Adware.[Platform].Generic此分类涵盖的对象重定向搜索请求。[Platform] 字段可以是“Script”或“Win32”。

PDM:Monitor.Win32.Keylogger此分类涵盖的对象记录计算机键盘上按下的按键。如果用户或网络管理员将此类程序安装到计算机上,则它不会构成威胁。但是会泄露一些信息。



图片总结


当你看完这里的时候,你一定已经对杀软有了足够多的了解,并且免杀的工作就是无聊加乏味。所以当你能耐着寂寞读完这6400字后说明你可以沉下心来做这个事情,那么你已经比好多脚本小子强了几条街了。




推荐本站淘宝优惠价购买喜欢的宝贝:

image.png

本文链接:https://hqyman.cn/post/9690.html 非本站原创文章欢迎转载,原创文章需保留本站地址!

分享到:
打赏





休息一下~~


« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

请先 登录 再评论,若不是会员请先 注册

您的IP地址是: