【CS学习笔记】26、杀毒软件

0x00 前言

这一节将来看看杀毒软件相关的概念,毕竟知己知彼才能百战不殆,最后会介绍一下常见的免杀方法。

0x01 目的

常规杀毒软件的目的就是发现已知病毒并中止删除它,而作为攻击者则需要对病毒文件进行免杀处理,从而使杀毒软件认为我们的文件是合法文件。

0x02 杀软受到的限制

1、杀毒软件不能把可疑文件删除或者结束运行,否则用户的正常操作可能就会受到影响,同时也会对杀毒软件公司的声誉、口碑产生影响。

2、杀毒软件不能占用太多的系统资源,否则用户可能会考虑卸载杀毒软件。

3、大多数杀毒软件的一个弱点就是只会在浏览器下载文件或者文件被写入磁盘时才会检查这个文件的特征码,也就是说在这种情况下才会检查文件是否是病毒。

0x03 如何工作

1、在大多数杀毒软件背后都会有一个已知病毒的签名数据库,通过将当前文件的特征码与病毒签名数据库进行比对,如果一致则说明该文件是病毒。

2、同时一些杀毒软件也会去发现用户的一些可疑行为,而且杀毒软件对这种可疑行为的判定会下比较大的功夫。因为如果误杀,造成的后果可能对用户来说是比较严重的。

3、一些杀毒软件会在沙箱环境中去运行可疑文件,然后根据该可疑文件的行为判断是否为病毒。

0x04 如何免杀

首先要判断目标使用了哪款杀毒软件,然后自己在虚拟机中去尝试绕过它。

其次可以使用 Cobalt Strike 的 Artifact Kit 组件制作免杀可执行文件。Artifact Kit 是一个制作免杀 EXE、DLL 和 Service EXE 的源代码框架,在 Cobalt Strike 的 处可下载 Artifact Kit。

Artifact Kit 的工作原理大概如下:

1、将病毒文件进行混淆处理,使杀毒软件将其判定为可疑文件而不是病毒文件。这种混淆可以逃避那些使用简单字符串搜索来识别恶意代码的杀毒软件。

2、对病毒文件进行一些处理,以绕过沙箱检测。比如 Artifact Kit 中的 src-common/bypass-pipe.c 会生成可执行文件和DLL,它们通过命名管道为自己提供shellcode。如果防病毒沙箱不能模拟命名管道,它将找不到已知的恶意 shellcode。

Artifact Kit 的使用步骤大概如下:

1、下载 Artifact Kit

2、如果需要的话就修改/混淆病毒文件

3、构建

4、使用 Artifact Kit 加载脚本

0x05 Artifact Kit 使用演示

首先来看看未进行免杀处理的效果,这里采用 virustotal 进行检测,发现被 42 个引擎检测到。

【CS学习笔记】26、杀毒软件

把每个杀软的病毒库升级到最新后,实测可以过腾讯电脑管家、火绒,但 360 安全卫士 、 360 杀毒不行。

说句题外话,至于为什么用了两款 360 的产品,主要就是为了截图好看些。

【CS学习笔记】26、杀毒软件

随后来到 Kali 下,输入 启动,输入 使用 Evasion 工具, 查看当前可用的 Payload

这里使用第 17 个即 Payload 作为示例,因为 go、c 等编译性语言语言相对于 python 等脚本语言来说免杀效果会好些。

之后输入 ,选择第三项 ,粘贴刚生成的 payload.txt 文本内容,输入要生成的 exe 文件名,即可生成一个免杀木马。

【CS学习笔记】26、杀毒软件

实测可以过360 安全卫士、 360 杀毒,但腾讯电脑管家、火绒不行。

看到 VT 的检测结果后,我还以为四款杀软都能检测到呢,没想到啊。

【CS学习笔记】26、杀毒软件

实测可以过 360 安全卫士、360 杀毒、腾讯电脑管家,但火绒不行。

【CS学习笔记】26、杀毒软件

文章知识点与官方知识档案匹配,可进一步学习相关知识网络技能树跨区域网络的通信学习网络层的作用22109 人正在系统学习中

来源:TeamsSix

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年8月22日
下一篇 2020年8月22日

相关推荐