在U盘中发现病毒

前段时间需要往虚拟机中拷贝点资料,如同往常一样,插上我的U盘,并且在虚拟机的设置中选择连接U盘。奇怪的是这次的连接时间较以往长,并且还出现了“自动播放”窗口:

图1 自动播放窗口

在扫描完后,来到了U盘的打开类型选择窗口:

图2

以前我在虚拟机中使用U盘,都没有出现过“自动播放”的情况。尽管如此,我这次也没在意,选择了“打开文件夹以查看文件”。但是在U盘中却发现了奇怪的文件:

图3

上图的红框中的这几个文件,之所以说很奇怪,是因为它们都是使用了文件夹的图标,貌似是一个文件夹,但是在文件名称的后面却跟着一个“.exe”的小尾巴。诚然,我的U盘中本来确实有这四个文件夹,但是我不记得给他们加上了“.exe”这样的小尾巴。而不带小尾巴的真实的文件夹却找不到了。这就让我很是怀疑,于是分别查看这几个文件的属性:

图4

可见这四个并不是文件夹,而是不折不扣的应用程序,并且它们的大小还都是一致的。看到这里,就可以基本确定了,我的U盘是中了病毒了。

尝试手动消灭病毒

初步分析,这个病毒会将自身伪装成我的U盘中本来存在的文件夹,从而诱惑我去点击。那么原始的文件夹是被删除了还是被隐藏了呢?不妨在设置里面调整一下:

图5

然后就能够看到隐藏的文件与文件夹了:

图6

在上图中,红色框中的就是病毒程序,蓝色框中的就是我的原始文件夹。可见它们只是被设置成了隐藏,而没有被删除,看来病毒还是比较人性化的。通过设置,除了显示出了我本来的文件夹外。上图的第三行第四列出现了一个名为autorun.inf的文件,而第四行第四列出现了一个同样是文件夹的图标,名为Recycle.exe的文件,看来这个文件很可能与下面的四个文件也是一伙的。打开autorun.inf,看看它的内容是什么:

[AutoRun]

open=Recycle.exe

shell\1=打开(&O)

shell\1\Command=Recycle.exe

shell\2=浏览(&B)

shell\2\Command=Recycle.exe

shellexecute=Recycle.exe

很明显,每次U盘自动播放,都会运行Recycle.exe这个程序。那么现在可以尝试一下,将autorun.inf、Recycle.exe以及另外四个病毒文件删除掉,然后拔出U盘,之后在虚拟机中重新连接U盘。本以为病毒就不会再出现了,但是“自动播放”对话框再次出现,打开U盘,本来被删除的病毒再次顽强地回来了。这只能说明,病毒对于我们的操作系统也产生了影响,应当分析一下病毒对于系统的改动情况。

为了简单起见,这次不妨使用“火眼”帮我们进行分析。主要看一下它对注册表的修改情况以及看看它将自身隐藏在了什么位置:

图7 注册表监控

看来病毒在Run下创建了自启动项目。不过我的虚拟机中的Run下面的病毒名称和“火眼”提供的名称不一样,看来病毒可能是随机地对自身进行了命名操作,那么这里需要将这个位置删除掉。再看一下文件的监控:

图8 文件监控

同样的,在我的虚拟机系统中的病毒文件名称和上图中的名称也是不一致的,不过没关系,毕竟也是定位到了。但是首先应当利用任务管理器将病毒进程结束掉,然后再删除病毒本体:

这样一来,我们就成功地通过纯手动的方式,解决掉了这个病毒。

补充说明两个知识

最后还有两个问题需要补充说明。第一个问题是需要给大家讲解一下“自动播放”。事实上,U盘病毒传播技术的原理是病毒首先打开U盘的自动播放功能,然后向U盘写入病毒程序和autorun.inf文件,autorun.inf文件记录了用户选择何种程序来打开U盘的文件。如果autorun.inf指向了病毒程序,那么Windows就会运行这个程序,从而引发病毒。U盘自动播放功能的设置,是在注册表的

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer这个路径下面的“NoDriveTypeAutoRun”键值的位置。对于XP系统来说,这个值默认为0x91:

图10

这个0x91代表的是所有被禁止自动运行的设备值的总和。将0x91转换为二进制数就是10010001,其中每一位代表一个设备,在Windows系统中,不同设备会用下表中的不同数值进行表示:

上表中,数值为“0”表示设备运行,“1”表示设备不运行。可以发现,默认情况下,Windows禁止80H、10H以及01H这些设备自动运行,这些数值累加起来,正好就是16进制的91。从这个角度来说,由于U盘的的设备值为04H,那么事实上只要我们将“NoDriveTypeAutoRun”的键值设置为0x91+0x04,也就是0x95,就可以禁止U盘的自动播放功能了。

第二个需要说明的问题是,我之所以能够发现病毒文件,主要还是因为病毒名称的后面带了一个“.exe”的小尾巴。事实上,我们是可以通过设置来让文件的扩展名始终无法显示的。在注册表中找到

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\HideFileExt中的UnCheckedValue项,将它的值设为1,那么无论在“文件夹选项”中如何更改,文件扩展名都是无法显示的。相信如果病毒的作者知道这一点并且运用在这个病毒身上,那么我一会中招的。

小结

我个人觉得,只要我们平时养成危机意识,那么即便我们的计算机中没有安装任何杀毒软件,病毒也是难有可乘之机的。当然我在这里还是建议大家,最好还是安装杀毒软件,并且及时更新病毒库,不要给恶意程序任何机会。

病毒木马查杀实战第014篇:U盘病毒之手动查杀的更多相关文章

  1. 病毒木马查杀实战第022篇:txt病毒研究

    前言 反病毒爱好者们非常喜欢讨论的一个问题就是,现在什么样的病毒才算得上是主流,或者说什么样的病毒才是厉害的病毒呢?我们之前的课程所解说的都是Ring3层的病毒.所以有些朋友可能会觉得.那么Ring0 ...

  2. 病毒木马查杀实战第024篇:MBR病毒之编程解析引导区

    前言 通过之前的学习,相信大家已经对磁盘的引导区有了充分的认识.但是我们之前的学习都是利用现成的工具来对引导区进行解析的,而对于一名反病毒工程师而言,不单单需要有扎实的逆向分析功底,同时也需要有很强的 ...

  3. 病毒木马查杀实战第023篇:MBR病毒之引导区的解析

    前言 引导型病毒指寄生在磁盘引导区或主引导区的计算机病毒.这种病毒利用系统引导时,不对主引导区的内容正确与否进行判别的缺点,在引导系统的过程中入侵系统,驻留内存,监视系统运行,伺机传染和破坏.按照引导 ...

  4. 病毒木马查杀实战第025篇:JS下载者脚本木马的分析与防御

    前言 这次我与大家分享的是我所总结的关于JS下载者脚本木马的分析与防御技术.之所以要选择这样的一个题目,是因为在日常的病毒分析工作中,每天都会遇到这类病毒样本,少则几个,多则几十个(当然了,更多的样本 ...

  5. 病毒木马查杀实战第011篇:QQ盗号木马之专杀工具的编写

    前言 由于我已经在<病毒木马查杀第004篇:熊猫烧香之专杀工具的编写>中编写了一个比较通用的专杀工具的框架,而这个框架对于本病毒来说,经过简单修改也是基本适用的,所以本文就不讨论那些重叠的 ...

  6. 病毒木马查杀实战第010篇:QQ盗号木马之十六进制代码分析

    前言 按照我的个人习惯,在运用诸如IDA Pro与OllyDBG对病毒进行逆向分析之前,我都会利用一些自动化的工具,通过静态或动态的分析方法(参见<病毒木马查杀第008篇:熊猫烧香之病毒查杀总结 ...

  7. 病毒木马查杀实战第009篇:QQ盗号木马之手动查杀

    前言 之前在<病毒木马查杀第002篇:熊猫烧香之手动查杀>中,我在不借助任何工具的情况下,基本实现了对于"熊猫烧香"病毒的查杀.但是毕竟"熊猫烧香" ...

  8. 病毒木马查杀实战第020篇:Ring3层主动防御之基本原理

    前言 假设说我们的计算机中安装有杀毒软件,那么当我们有意或无意地下载了一个恶意程序后.杀软一般都会弹出一个对话框提示我们,下载的程序非常可能是恶意程序,建议删除之类的.或者杀软就不提示.直接删除了:或 ...

  9. 病毒木马查杀实战第012篇:QQ盗号木马之逆向分析

    前言 在本系列的文章中,对每一个病毒分析的最后一个部分,若无特殊情况,我都会采用逆向分析的手段来为读者彻底剖析目标病毒.但是之前的"熊猫烧香"病毒,我用了三篇文章的篇幅(每篇250 ...

随机推荐

  1. pytorch(05)计算图

    张量的一系列操作,增多,导致可能出现多个操作之间的串行并行,协同不同的底层之间的协作,避免操作的冗余.计算图就是为了解决这些问题产生的. 计算图与动态图机制 1. 计算图 计算图用来描述运算的有向无环 ...

  2. Centos7网络配置——设置固定ip

    有段时间没有用虚拟机了,这几天翻出了以前的虚拟机,写几个demo,但遇到了一个让人难受的问题.使用xshell远程连接虚拟机,命令还没敲几个,不到一分钟就自动断开了,只能重新再次连接.啥事都干不成,有 ...

  3. 部分rpm包总结描述

    acl-2.2.51-15.el7.x86_64 Commands for Manipulating POSIX(可移植操作系统接口 of unix) Access Control Lists.有ge ...

  4. 文件包含-phpinfo()

    我也是听朋友说有这个姿势的,github有集成好的环境 先讲一下利用phpinfo上传文件,然后在文件包含的原理: 在给PHP发送POST数据包时,如果数据包里包含文件区块,无论访问的代码中是否有处理 ...

  5. C# 应用 - 使用 HttpClient 发起 Http 请求

    1. 需要的库类 \Reference Assemblies\Microsoft\Framework\.NETFramework\v4.7.2\System.Net.Http.dll System.N ...

  6. JS逆向-抠代码的第一天【手把手学会抠代码】

    首先声明,本人经过无数次摸爬滚打及翻阅各类资料,理论知识极其丰富,但是抠代码怎么都抠不会. 无奈之下,只能承认:这个活,需要熟练度. 本文仅对部分参数进行解析,有需要调用,请自行根据现实情况调整. 第 ...

  7. 推荐模型DeepCrossing: 原理介绍与TensorFlow2.0实现

    DeepCrossing是在AutoRec之后,微软完整的将深度学习应用在推荐系统的模型.其应用场景是搜索推荐广告中,解决了特征工程,稀疏向量稠密化,多层神经网路的优化拟合等问题.所使用的特征在论文中 ...

  8. 滑动窗口解决最小子串问题 leetcode3. Longest Substring Without Repeating Characters

    问题描述: Given a string, find the length of the longest substring without repeating characters. Example ...

  9. 利用eigen库简单实现矩阵功能

    eigen是目前运行速度较快的C++矩阵运算库,而且其轻便小巧安装方便的特点简直是吸引人啊!特做此笔记,记录一下这个安装简单.体积轻巧.功能强大的C++库. 1. Download and Insta ...

  10. 网易云信 QUIC 加速服务架构与实践

    导语:网易云信作为音视频服务提供商的领导者,一直致力于提供顶级的音视频通话服务体验,为用户在各种恶劣环境下提供可靠的音视频服务.如何在极端弱网条件下仍然能给用户提供可靠的音视频服务,是网易云信关注的重 ...