CS免杀之03杀软查杀原理
杀软基础
常见的杀毒软件对程序的划分大致分为三种
- 无害 : 没有任何的可疑行为 , 没有任何的特征符合病毒或木马, 白程序
- 可疑 : 存在可疑行为:操作注册表,打开cmd/powershell,修改用户,操作敏感文件等
- 存在木马病毒 : 特征符合木马或者病毒
杀软常用识别恶意样本的方式
- 静态查杀
- 动态查杀 ( 启发式查杀 )
静态查杀
静态查杀通常会使用病毒特征库,特征库中包含病毒、恶意软件或其他威胁的特定标识。这些特定标识可以是文件的 特定代码片段 、 独特的字符串 、 文件结构 等。杀毒软件通过比对文件的这些特征与特征库中存在的信息是否匹配,来判断文件是否是病毒木马。
常见检测特征
-
代码中的函数
如: virtualalloc,rtlmovememory,creatthread 等
主要都是 windows api 函数,尤其是和内存、堆、线程相关的函数
危险函数 远控关键词(msf , cobaltstrike) 一些关键字(shellcode) 等 -
shellcode的特征
-
文件名和hash值
-
加密(可疑)
使用加密解密行为或者对文件有额外保护措施(加壳) -
数字签名
判断当前程序的数字签名是否正常,
白程序, 都是有数字签名的 -
资源文件
软件的一些图标信息, 产品名称, 产品版本, 文件版本, 版权, 语言等信息
动态查杀(启发式)
通常都是静态分析之后做的,大多杀毒软件会有云沙箱 , 相当于开一个虚拟机运行一下恶意样本, 通过分析程序指令出现的顺序,或者特定的组合情况以及所调用的函数及其参数等是否属于恶意行为特征,来判断目标程序是不是木马/病毒程序。
相比于静态查杀,动态查杀更关注程序的执行过程,允许检测和分析未知的、可能是恶意的行为。
检测特征
- 网络相关
- iP,域名,ssl证书 : 查找回连的ip或域名是否之前被标记成cs远控了
- 通信流量内容
内容特征:数据包中是否存在命令控制相关的关键词或者加密特征
结构特征:是否存在已知远控的通讯结构特征 \x00\x00\0x00\x00
若一上线执行命令就被杀, 很可能就是流量特征被查杀了
如果你执行的是 shell xxx, 因为默认运行的原理是起一个cmd进程运行, 有的杀软会直接查杀不正常的
进程链
- 内存相关
- 内存中存在的特征码
ReflectiveLoader
beacon.dll等 - 内存相关的属性
rwx,一般为rw
- 内存中存在的特征码