楼主: bbszy
收起左侧

[讨论] 关于eset监控漏毒问题的再探究

  [复制链接]
a27573
发表于 2025-4-9 20:01:56 | 显示全部楼层
bbszy 发表于 2025-4-9 19:56
runtime packer中文版好像写的加壳程序,虽然我也是用的英文版。

exe确实对应执行监控,但是cad病毒和 ...

一般执行监控的实现原理是 PsSetLoadImageNotifyRoutine,和监控文件系统读写用的不是同一套。这个是 Windows 提供的,也不会区分是不是自解压什么的

这么说来 ESET 还专门在这个回调函数里加了如果是自解压就跳过的判断?
bbszy
 楼主| 发表于 2025-4-9 20:20:03 来自手机 | 显示全部楼层
a27573 发表于 2025-4-9 20:01
一般执行监控的实现原理是 PsSetLoadImageNotifyRoutine,和监控文件系统读写用的不是同一套。这个是 Win ...

不知道eset的内部逻辑。
但是就像我另一个帖子介绍的 ,从xml配置文件看,他对于自解压文件有单独的开关,但是,在ui上只对新建文件提供开关,对已存在文件的选项里没有开关且默认是关闭的。这就导致一旦某个自解压文件被eset认为是已存在的(比如u盘上的、共享文件夹里的),就不会扫描自解压文件本身,他解包出来的文件eset认为是新文件,所以触发扫描。但是自解压文件完全可以在不解包的情况下执行命令,感染型病毒完成传播。

如果eset所写的自解压文件就是指sfx文件,也没什么,毕竟用的少,但是凡事被压缩的含有多个内部文件的可执行文件他都算,这下就把各种安装包都算进来了。
a27573
发表于 2025-4-9 20:31:46 | 显示全部楼层
本帖最后由 a27573 于 2025-4-9 20:35 编辑
bbszy 发表于 2025-4-9 20:20
不知道eset的内部逻辑。
但是就像我另一个帖子介绍的 ,从xml配置文件看,他对于自解压文件有单独的开关 ...

嗯,我理解这些。
只是自解压 exe 没有执行监控这一点,是有对应测试吗?

fas 文件的测试是对应“自解压类别 - 文件打开”这一情况,“自解压类别 - 文件执行”也是测试过了吗?

(刚才我想用 EICAR 测试下,发现简单在文件末尾嵌入 EICAR 字符串并不会触发报毒。。。)
bbszy
 楼主| 发表于 2025-4-9 20:35:27 来自手机 | 显示全部楼层
a27573 发表于 2025-4-9 20:31
嗯,我理解这些。
只是自解压 exe 没有执行监控这一点,是有对应测试吗?


你可以用winrar自己打包一个sfx文件,放u盘里就是可以直接运行。
帖子里的内容都是测试结论。
a27573
发表于 2025-4-9 22:27:06 | 显示全部楼层
本帖最后由 a27573 于 2025-4-9 23:02 编辑
bbszy 发表于 2025-4-9 20:35
你可以用winrar自己打包一个sfx文件,放u盘里就是可以直接运行。
帖子里的内容都是测试结论。

刚才试了一下,把 一段本来静态能杀的 AsyncRAT 的命令行填到自解压文件的命令行选项,右键扫描不杀。

由于自解压文件的可执行部分是一样的,因此实际上命令行是作为注释的一部分存在的。由此可见,ESET 对自解压的注释部分应该是没有使用静态扫描的,或者说对脚本的静态扫描可能只适用于该类型脚本。

这段命令行就是个 downloader。由于下载服务器看起来已经失效了(上面的文件被替换成了别的),因此这个测试不能说明高级启发式有没有工作。我手头暂时没有安装了 ESET 的虚拟机,因此也暂时无法测试 AMSI,楼主有空的话可以试一下?

另外一个测试是,创建一个自解压文件,包含写入 EICAR 测试文件的命令行。ESET 会杀写入的 EICAR 文件。

所以“利用自解压的命令行实现感染”应该是不现实的,因为感染的过程有写入,这个时候 ESET 会有反应。对于无文件攻击,理论上 AMSI 应该可以应对。

另外测试了你说的,把一个报毒的样本打包成自解压,是否启用 sfx 扫描确实会影响 ESET 是否会在启动时拦截。不过严谨地说,这说明关闭 sfx 扫描之后 ESET 不会在执行时解包扫描,但不能说明其他技术(高级启发式等)是否工作。也就是有可能在执行时高级启发式还是工作了,也就是自解压程序还是被扫描了,只是没报毒,因为没解压。
bbszy
 楼主| 发表于 2025-4-10 02:37:36 | 显示全部楼层
本帖最后由 bbszy 于 2025-4-10 02:47 编辑
a27573 发表于 2025-4-9 22:27
刚才试了一下,把 一段本来静态能杀的 AsyncRAT 的命令行填到自解压文件的命令行选项,右键扫描不杀。

...

1.用命令写入EICAR到文件肯定被杀,这个我之前试过,因为属于新建与已知更改的文件,这个没有问题,帖子也没说这个会漏。

2.帖子中说的可能会漏的就是被识别为已存在的文件的“自解压文件”,包括帖子中用的cad的fas文件病毒,不是因为高级启发的问题,而是在eset监控的设计中,对于“自解压文件”除了在文件创建时扫描,文件的打开、执行都没有扫描,而这个fas文件又被识别成了“自解压文件”,且他能够顺利被autocad加载、执行命令完成感染(而不光是用记事本模拟打开),且没有触发创建新文件,这个是稳定复现的。自解压文件解包因为会写入新文件,所以自然会被监控到(参考1)。什么是已存在文件?u盘里的、共享文件夹里的、监控没开时产生的文件都被eset认为是已存在的文件。

3.基于2,我发现还有其他可能被识别为“自解压程序”的文件,例如程序的安装包,因此推测除了fas文件还有可能因为被识别成自解压文件使用cad加载fas文件的方式(加载payload)而导致漏毒。看到你前面的回复后,我试图用感染型病毒去感染sfx,但是可能是因为感染后程序的文件头被改或其他原因,感染后的sfx反而被eset监控到了(先关闭监控,拷贝过来,再打开监控),不需要运行就能检测到。我还在做进一步测试。




a27573
发表于 2025-4-10 03:30:57 | 显示全部楼层
本帖最后由 a27573 于 2025-4-10 03:44 编辑
bbszy 发表于 2025-4-10 02:37
1.用命令写入EICAR到文件肯定被杀,这个我之前试过,因为属于新建与已知更改的文件,这个没有问题,帖子 ...

首先感谢楼主打这么多字回复我,只是我可能没表达清楚我想讨论的问题

1. 我是想说明,“利用命令行感染文件”这个过程也属于新建与更改的文件,因此应该不用担心这个
这是回复这句
但是自解压文件完全可以在不解包的情况下执行命令,感染型病毒完成传播。

2. 准确说是一个逻辑上的问题,可以当我钻牛角尖了,我用稍微 formal 一点的语言来描述一下:

设 A 文件为右键扫描可以检测出的样本,B 文件为包含了 A 文件的 sfx 文件。
测试结果为:
  • xml 关闭 sfx 扫描,双击 B 文件,miss
  • xml 开启 sfx 扫描,双击 B 文件,检出

那么有两种可能导致这个结果的原因
1. xml 关闭 sfx 扫描时,执行监控不对 sfx 做任何扫描 (如你所说)
2. xml 关闭 sfx 扫描时,执行监控不解压 sfx 进行扫描(不能发现其中的 A 文件),但可能仍进行了其他扫描(如高级启发式扫描),但其他扫描未检出,因此总体表现为未检出

这两种情况都可能导致这种测试结果,光从这个测试结果来说不能确定是哪种原因。楼主有没有做能排除2的测试?

3. 这个就是我说的“自解压文件的可执行部分是一样的”。因此我可以理解这其实是对这种同样的可执行部分的一种白名单,虽然不一定严谨(因为可以执行命令)。

我做上面的测试的目的是,验证在开启 sfx 扫描的情况下,ESET 是否有能力发现恶意命令。目前没有证据表明有。如果确实没有,那对于 sfx exe,执行监控开启与关闭这个选项其实是差不多的。

ESET 应该是对信任的可执行部分做了匹配的。如果不做这种匹配,或者匹配做得不完善,都可能导致“恶意软件利用 sfx 的特征伪装成 sfx”。

但是 fas 格式被归类为 sfx 肯定是有问题的。
bbszy
 楼主| 发表于 2025-4-10 08:54:41 | 显示全部楼层
本帖最后由 bbszy 于 2025-4-10 08:59 编辑
a27573 发表于 2025-4-10 03:30
首先感谢楼主打这么多字回复我,只是我可能没表达清楚我想讨论的问题

1. 我是想说明,“利用命令行感 ...

1.可能我用词不准确,我说执行命令是代码层面的,比如感染型病毒的。

2.
xml 关闭 sfx 扫描时,执行监控不解压 sfx 进行扫描(不能发现其中的 A 文件),但可能仍进行了其他扫描(如高级启发式扫描)

从测试来看不是这个逻辑,仅对新建的sfx会有高级启发扫描,而执行扫描和新建的扫描是独立关系,不是继承关系,分别都继承的threatsense默认扫描参数。

3.确实打开sfx扫描后,那个fas病毒监控可以直接拦截到。

a27573
发表于 2025-4-10 09:24:36 | 显示全部楼层
本帖最后由 a27573 于 2025-4-10 09:30 编辑
bbszy 发表于 2025-4-10 08:54
1.可能我用词不准确,我说执行命令是代码层面的,比如感染型病毒的。

2.

1. 理论上是一样的,感染文件的过程就是修改文件,这个应该是按“新创建和修改”监控的,感染之后就杀了,可能后果是丢可执行文件(如果不能修复的话)。倒是可能需要担心勒索,毕竟勒索不会往磁盘上写入恶意文件

2. 是从日志里看出来的吗?我试过开调试日志选项,但日志似乎没什么变化
还是说测过仅高级启发式可以检出的 sfx 样本之类的?

毕竟光靠之前提到的测试逻辑上不能排除这个可能,不过从实现角度推测的话确实很可能是你说的这样

3. 提到了特指 sfx exe。如果我对识别 sfx exe 的推测正确,自解压二进制代码部分应该是不能随意修改的,修改了应该就不会识别为 sfx。这样唯一可能的漏洞也只有安装命令部分了。我到时候 patch 几条指令试试
bbszy
 楼主| 发表于 2025-4-10 09:31:07 | 显示全部楼层
本帖最后由 bbszy 于 2025-4-10 09:38 编辑
a27573 发表于 2025-4-10 09:24
1. 理论上是一样的,感染文件的过程就是修改文件,这个应该是按“新创建和修改”监控的,感染之后就杀了 ...

高级启发式随便开关都可以,而对于sfx,只在新建文件扫描这里留了开关,执行监控继承的是threatsense默认参数,默认参数没有打开sfx扫描,那执行扫描也不会。那个fas样本不需要高级启发就能检测到,所以根本不是高级启发的问题,已经控制了变量了。


还一个问题就是,我之前帖子也提到了,sfx除了自身可以运行(对应eset执行扫描)外,参照fas被cad加载的过程,是否还存在被识别为sfx的文件被其他程序加载(类似于payload)再产生威胁(对应eset的打开扫描)。而eset默认只对sfx的新建处罚扫描,打开和执行都不扫描的。

另外,那个fas如果事先右键扫描了,后续监控也会被杀,这个在原贴也有提到。

您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2025-4-19 10:40 , Processed in 0.097000 second(s), 15 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表