前言
参考SecretTeam安全团队的学习记载
什么是免杀?
免杀(Bypass AV, Anti-Virus Evasion)是指恶意软件通过各种手段规避杀毒软件和安全检测系统的辨认和拦截,从而在目标系统中乐成执行。这种技术不仅用于恶意软件的流传,也被信息安全研究人员用来测试和提升安全防护系统的本领。根据有无源码,免杀可以分为以下两种情况:
直接对一个二进制程序举行免杀,通过修改数据,加壳加花,定位修改特性码等等黑盒方式
通过修改源码来举行免杀(大概率成为今后免杀的主流)
直接对一个二进制程序来举行免杀技术难度较高,免杀结果也不好,所以通常将二进制程序转换成一段shellcode,使用加载器来执行shellcode的方式来举行从无源码免杀向有源码免杀的转换,根据免杀阶段还分为以下两个阶段:
静态免杀重要是为了抵抗杀毒软件的静态扫描,杀毒软件的静态扫描一般会通过提取文件中的一段特性串来与自身的病毒库中的特性码举行对比来判断该文件是否为恶意文件,因此我们一般围绕修改或是掩盖文件的特性码来实现静态免杀
动态免杀重要是为了抵抗杀毒软件的动态查杀,如内存扫描,行为分析等
杀软特性
360
360有点全能了,在国内基本各个方面都是顶尖
报毒特性- 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 加aspack
- QVM20就加大体积/加aspack压缩
复制代码 金山毒霸
金山走的是云安全,云防护,云鉴定这些云安全门路,所以,断了网后金山就是个废
江民
重要是对特性码和资源举行定位查杀
瑞星
重要是主动防御查杀
卡巴斯基
非常变态的一款杀软,误报低,查杀率高,特性码+输入表变态查杀+静动态启发式+强力的虚拟机脱壳技术。人类已经无法阻止卡巴斯基的输入表查杀了,在反汇编下,你无论对输入表怎么重建,移位都不可,需要举行手动异或加密。
小红伞,木伞
小红伞的特性码定位抗干扰技术和启发式比较好
火绒
重要是主动防御这块,静态查杀也比较严格,不过很好做免杀
Windows Defender
静态查杀本领较强,动态查杀较强,监控 HTTP 流量
杀软的查杀方式
特性码
特性码是什么?特性码就是病毒分析师从病毒中提取的不普通化的不大于64字节的特性串。通过判断是否有这个特性字符串从而确定是否为病毒。通常为了减少误报,一个病毒会取数个特性码。举个例子,一款很出名的木马,它的名字就能被当作特性码。
静态启发式
静态启发式即对整个软件举行分析,杀软会指定一系列的规则,然后对软件举行扫描,当扫描出匹配这些规则的字符串等等之类时,杀软会将软件标记成猜疑对象,匹配到的规则越多,软件的可疑程度越高,到肯定程度,就成了恶意软件了
动态启发式
动态启发式又叫虚拟机查杀技术,会模拟出一个近似于windows的系统,杀软将软件放入这个虚拟机运行,监测它的行为,如果操纵越可疑,就越容易被定为病毒
HIPS
HIPS可以说是主动防御,何为主动防御,一个病毒或木马如果通过了表面查杀,那么主动防御就是最后一道防线,HIPS重要是对一个软件运行时的操纵举行检测,如果发现软件有注册表操纵,加载驱动这些一般程序不应操纵的操纵时,那么他就会以他R0级的优势,拦截掉并将程序停息运行,也就是挂起,询问用户是否举行该操纵。
云查杀
杀软那边有一套规则,如果一个软件触犯了这些规则,则杀软会上报至云服务器,到了云服务器后,则会对上报文件举行鉴定,大概会是人工鉴定,如许的结果比杀软查杀结果要好得多。那么如果分析出这个程序是病毒,那么就会将这个程序的MD5发生至云中心,用户在联网状态下杀毒的话,就与云中心核对MD5,如果对上了,无条件认定为病毒。相当于安装了杀软的所有用户给云上提供素材,一旦素材在一台电脑上被认定为病毒,则所有安装了该杀软的用户都会查杀这个素材
免杀中的术语
API
泛指Windows的API函数,Windows编程中的内容。Windows API是一套用来控制Windows的各个部件的外观和行为的预先定义的Windows函数,对Windows系统中的东西举行操纵都会用到API,比如我移动个鼠标,点击个键盘都会有相对于的API函数
花指令
一段无意义的代码,用来迷惑杀软或则别的的反汇编工具,例如在汇编里:add eax, 1; sub eax, 1
就这种添加了代码,但对整体并无影响的代码就是花指令,当然我这里只是简单的树模,真正的花指令没有这么简单
输入表(导入表)
输入表就相当于EXE文件与DLL文件沟通的钥匙,形象的可以比喻成两个都会之间交流的高速公路,所有的导入函数信息都会写入输入表中,在PE 文件映射到内存后,Windows 将相应的DLL文件装入,EXE 文件通过“输入表”找到相应的DLL 中的导入函数,从而完成程序的正常运行,这一动态连接的过程都是由“输入表”参与的。
区段
PE结构中的区段,.data .text等等,保存代码,数据等等
加壳
加壳分为加压缩壳和保护壳〔加密壳〕压缩壳是目的是使程序变小,但没有防止被反破解的作用。保护壳恰恰相反,保护壳的目的是使程序尽量防止被反汇编,但好的保护壳会给程序植入大量垃圾代码,以干扰破解版者,所以程序会变大。
反启发
即加入对杀软的启发式干扰的代码
隐蔽输入表
通过自定义API的方式隐蔽导入表中的恶意API
肴杂
这是一种将代码转换为难以理解的形式的技术,使得分析者难以从字节码中理解程序的逻辑。肴杂可以应用于源代码、编译后的代码或二进制文件
代码注入
将恶意代码注入到合法程序中,使得恶意代码在合法程序的执行过程中被执行,从而避开杀毒软件的检测。
内存执行
恶意代码不在磁盘上留下陈迹,而是直接在内存中执行,如许可以减少被杀毒软件扫描到的机会
文件加密
将恶意文件加密存储,只有在执行时才解密,如许可以避免杀毒软件通过文件内容举行检测。
多态
生成多个变种的恶意代码,每种变种都有差别的特性,使得杀毒软件难以通过单一的特性码来辨认。
行为肴杂
通过改变程序的行为模式,使得恶意行为看起来像是正常行为,从而避开基于行为分析的检测
0day
利用操纵系统或应用程序的0day漏洞来执行恶意代码,杀毒软件无法检测到
签名
使用合法的数字证书签名恶意软件,以欺骗用户和杀毒软件,使其看起来像是可信的软件
沙箱逃逸
沙箱是一种检测恶意软件的情况,它模拟了一个安全的执行情况。沙箱逃逸技术是指恶意软件能够检测到自己是否在沙箱中运行,并在检测到沙箱时改变行为,以避免被检测。
利用系统服务
通过操纵系统服务来执行恶意行为,因为系统服务通常具有较高的权限,可以绕过一些安全措施
利用云服务
将恶意代码或数据存储在云服务上,通过云服务来分发或执行恶意行为,如许可以分散风险并增加检测难度
杀软报毒定名规则
杀毒软件的报毒基本遵循一套原则,就是CARO原则,由反病毒专家联盟 CARO提出,遵循以下格式:
....
卡巴斯基在此基础上添加了前缀:
[前缀:]..
前缀
该前缀标识检测到该对象的子系统。
前缀HEUR:用于表现启发式分析器检测到的对象;
前缀PDM:用于表现主动防御模块检测到的对象。
前缀不是全名的必须部分,而且大概不存在。
行为
威胁类型/行为代表重要威胁种别,描述威胁的重要行为是什么
- 对于恶意软件:Trojan(木马)、Worm(蠕虫)、Virus(病毒)、Ransomware(打单软件)、Coinminer(挖矿) 和Backdoor(后门)是我们最常见的威胁类型。
- 对于灰色软件:Adware广告软件、Spyware间谍软件和 PUA 是最常见的威胁类型。
平台
通常指win32,x64,linux,mac os
家族
用于表现一组具有雷同来源(作者、源代码)、操纵原理或有效负载的检测到的对象。每个家族都是根据其表现的行为来定名的。常见的就是:Generic、Infector、AntiAV、KillFiles等。
变体
为了辨认一个家族中差别恶意软件的变体,字母按次序使用并称为变体,从“.a”开始:“.a”-“.z”、“.aa”-“.zz”等
报毒案例
- 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
- 此分类涵盖的对象搜索远程计算机网络并尝试将自身复制到读/写可访问目录、使用操作系统功能搜索可访问网络目录和/或对计算机进行随机搜索。
复制代码 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |