首页
社区
课程
招聘
[原创]震惊!他竟用这一招让杀软崩溃!<2>
2020-6-16 13:56 9219

[原创]震惊!他竟用这一招让杀软崩溃!<2>

2020-6-16 13:56
9219

前一篇地址
昨天的实验测试有个问题,那就是病毒才放了508个,后来检查发现原来是wprintf的缓冲区只能1024个字节,于是我修复了这个问题,对昨天没出问题的杀软再进行一次测试。

 

目录

思路

利用W版文件函数创建超深路径目录,并在目录中沿途放置病毒,以测试各大杀软扫描器。

源码

// 最大目录深度测试
// 用于测试扫描目录会不会崩溃

#include <windows.h>
#include <stdio.h>
#include <strsafe.h>

wchar_t dirname[32767 + 1] = { LR"(\\?\C:\)" };
wchar_t virusname[32767 + 100] = { 0 };

//   \\?\c:\      32767 - 7 = 32760     32760 / 2 = 16380

int main(int argc, char** argv)
{
    for (int i = 0; i < 16380; ++i)
    {
        wcscat_s(dirname, LR"(a\)");

        if (CreateDirectoryW(dirname, NULL))
        {
            ;
            // printf("创建成功:%ls\n", dirname);
        }
        else
        {
            printf("创建失败:%ls 此时的i==%d\n", dirname, i);
            break;
        }

        StringCbPrintfW(virusname, (32767 + 100) * 2, L"%sv", dirname);


        if (CopyFileW(L"c:\\virus", virusname, TRUE))
        {
            printf("copy success! i==%d\n", i);
        }
        else
        {
            ;
            DWORD dwerr = GetLastError();
            printf("copy failed! %d \n", dwerr);
        }

    }
    system("pause");
    return 0;
}

运行代码生成测试环境:

copy success! i==16356
copy success! i==16357
copy success! i==16358
copy success! i==16359
copy success! i==16360
copy success! i==16361
copy success! i==16362
copy success! i==16363
copy success! i==16364
copy success! i==16365
copy success! i==16366
copy failed! 206
创建失败:\\?\C:\a\a\a\a\a\a\a\a....\a 此时的i==16368

一共放置了0~16366共16367个病毒,0~16367一共16368个目录,16367+16368 = 32735, 用everything验证一下(everything也卡了半天):

 

 

没错,数字正确,接下来啊开始测试。

各安全软件测试(2020-6-16下载的官方包)

今天主要来测试的就是昨天成功扫出508个,但由于我的BUG导致没法继续测试的杀软。

金山毒霸V11

今天点自定义查杀没有昨天的黑了十几秒的问题,不知道是不是我虚拟机问题。

 

 

看来还是昨天测试得不够猛,今天可以明显地看出kscan的内存也在不断上升。

 

 

 

到了10024个文件的时候突然弹了一个runtime library的窗口:

 

 

然而这窗口透明的,也不知道它显示了什么,在这之后扫描似乎没有继续下去了:

 

 

把弹出的窗口关闭,可以看到程序错误:

 

 

阵亡了,下一个。

江民速智版V19

这个真的是让我震惊了,看起来这个东西UI这么简陋,扫描器真是意外地强大,16387个病毒全部扫出来了,而且只花了3分钟,这个扫描器真的是有东西的啊。

 

 

不过查看日志的时候照样卡死。

360杀毒

不知为什么扫描时会闪烁显示这个字符串:

 

 

扫到2044个之后,再也没增加了,另外我的explorer似乎卡死了,360杀毒实时监控崩溃:

 

 

360安全卫士

 

 

 

 

在扫了大概一小时四十七分钟后,崩溃了,那一瞬间我没捕捉到。 可以看到资源监视器中的下降波形,是它崩溃的形状。

卡巴斯基(kis20.0.14.1085_zh-hans-cn_full)

扫描到1068个之后卡住,然后看着everything中对象数目从32735龟速下降:

 

 

32735-1068=31667, 看它到了这个数之后还会不会继续减少吧。

 

 

 

可以看到卡巴只扫描1068级目录

总结

  1. 火绒,瑞星瞬间崩溃
  2. 腾讯电脑管家查杀131级目录,卡巴斯基查杀1068级目录
  3. 360杀毒扫描2000多个文件后卡住, 实时监控崩溃
  4. 360安全扫描1小时47分钟后崩溃
  5. 金山毒霸扫描2小时之后崩溃
  6. 江民速智成为最大赢家,3分钟全部扫描完毕。

前一篇地址


[培训]内核驱动高级班,冲击BAT一流互联网大厂工 作,每周日13:00-18:00直播授课

最后于 2020-6-18 09:28 被boursonjane编辑 ,原因: 增加卡巴斯基测试
收藏
点赞4
打赏
分享
最新回复 (12)
雪    币: 407
活跃值: (1622)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
Thead 2020-6-17 15:45
2
0
大佬牛皮
雪    币: 15
活跃值: (328)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
vaguem 2020-6-17 15:53
3
0
大佬牛皮,各大安全厂商表示:你这什么套路,防不胜防啊
雪    币: 5413
活跃值: (11835)
能力值: ( LV12,RANK:312 )
在线值:
发帖
回帖
粉丝
一半人生 5 2020-6-17 15:56
4
0
,以前测很大的样本集出现过类似的情况。本地保存命中的病毒名较为稳妥,UI只负责展示,内存可以被释放 。
雪    币: 6124
活跃值: (4161)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
黑洛 1 2020-6-17 17:20
5
0
实测有效,而且不止杀软,AC也会有问题。
雪    币: 219
活跃值: (190)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
XYUN 2020-6-19 09:18
6
0
用 NTFS枚举就没有问题,它枚举的是结点(不带长路径),不过显示的时候路径很长。KV应该是直接NTFS枚举的。
雪    币: 1535
活跃值: (695)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
开花的水管 2020-6-19 09:38
7
0
666
雪    币: 182
活跃值: (586)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
柒雪天尚 2020-6-20 08:09
8
0
请规范使用锁主页软件,不要出现违规操作
雪    币: 16
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
牧屿与暮雨 2020-6-20 23:14
9
0
还有这种操作厉害
雪    币: 6446
活跃值: (2320)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
shuyangzjg 2020-6-22 10:15
10
0
江民现在还有人用不
雪    币: 6
活跃值: (303)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
音混不散 2020-6-22 22:44
11
0
缓冲区的问题呗
雪    币: 2620
活跃值: (1911)
能力值: ( LV8,RANK:121 )
在线值:
发帖
回帖
粉丝
iyzyi 2 2020-6-26 21:17
12
0
安全厂商:在修了在修了
雪    币: 378
活跃值: (2908)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
appview 2020-12-8 15:45
13
0
SearchIndexer.exe也会崩溃
游客
登录 | 注册 方可回帖
返回