病毒木马查杀实战第009篇:QQ盗号木马之手动查杀
前言
之前在《病毒木马查杀第002篇:熊猫烧香之手动查杀》中,我在不借助任何工具的情况下,基本实现了对于“熊猫烧香”病毒的查杀。但是毕竟“熊猫烧香”是一款比较简单的病毒,它并没有采取一些特别强的自我保护技术,所以我们完全可以“徒手”解决。但是这次研究的恶意程序就没那么简单,它采取了进程保护的技术,使得我们不能够使用常规手法对其实现查杀。所以这次我引入了两个工具——icesword与autoruns,以达到查杀的目的。
病毒的基本信息
这次研究的是一个QQ盗号木马程序,为了避免不必要的麻烦,在此我依旧不提供病毒样本,其基本信息如下:
文件名称:OSO.exe
MD5:0a2ba47887c20abbb42d0a1dd436d9b4
Sha-1:f2164baba4634eddc7f2f69acf4a1e6225624786
文件大小:95KB
大家在网上搜索到的病毒样本可能与我的不同,但是基本上都是大同小异的,查杀的核心思想还是一样的。在文章中我会尽可能细致地进行讲解,使得大家仅仅是看这篇文章,就能够收获不少。
这里我将病毒样本以及icesword与autoruns拷贝到之前配置好的虚拟机中(注意要备份),如图所示:
图1 配置实验环境
病毒查杀
在病毒运行前不妨先查看一下任务管理器:
图2 病毒运行前的任务管理器
在图2中可以看到,在病毒运行前,系统中一共包含有19个进程,那么现在我们运行一下病毒程序,再查看一下任务管理器:
图3 运行病毒后的任务管理器
对比图2和图3可以发现,我们的进程中多出了三个进程,分别是severe.exe、conime.exe与tfidma.exe。那么这三个进程当然要列为重点怀疑对象。需要说明的是,对于conime.exe来说,正常来讲,它是一个重要的系统进程,它不会随系统的启动而自动启动,只会在启动命令行(cmd)才会启动,但如果删除或者终止将导致特殊文字的输入困难,另外微软新版系统中此进程不会运行。而这里我们的病毒则是伪造了这个进程。
不妨试一下在任务管理器中直接关闭这三个进程。在第一个severe.exe上单击鼠标右键,选择“结束进程”(或“结束进程树”),在弹出的对话框中选择“确定”。此时进程确实可以关闭,但是很快就又自动运行了。很明显,这三个病毒进程之间会相互保护,关闭了其中的一个,那么由于另外两个依旧存在,所以无法关闭,从而实现了进程的保护。正是因为这个问题的存在,因此常规的方法已经不再奏效,那么就必须要借助于专业查杀工具了。这里我使用的是icesword这款工具。
不过问题又来了,双击已经拷贝到桌面上的icesword这个程序,竟然并没有实现启动。那么可以认为,病毒是将这个程序给屏蔽掉了,毕竟这款软件实在是太出名,因此稍微有点自我保护意识的病毒程序都会屏蔽这款软件,而屏蔽的最简单的方式就是通过文件名称。所以,不妨将“icesword.exe”改名为“冰刃.exe”来尝试一下:
图4 将icesword.exe改名后再打开
可见此时已经可以正常打开了。那么用冰刃查看一下当前进程:
图5 利用“冰刃”查看当前进程
由进程的图标也能够看到当前可疑的进程一共是三个(不是“记事本”程序,却用着“记事本”程序的图标)。我们也能够清晰地看到病毒文件的路径。为了能够同时删除这三个进程,我们可以单击“冰刃”菜单栏中的“文件”,选择“创建进程规则”,在弹出的对话框中选择“添加规则”。在弹出的“添加进程规则”对话框中的“动作”中选择“禁止”,在“子进程”中的“文件名”中,分三次输入三个病毒程序的进程名称,最后单击“确定”:
图6 添加进程规则
将三个进程名都添加进进程规则后,我们在“冰刃”中就能够顺利结束这三个进程了。接下来我们需要删除病毒的启动项,这里我们打开autoruns这个软件:
图7 使用autoruns查看启动项
在初始界面的“Everything”选项卡下面,很容易就发现了两个可疑启动项,因为它们作为可执行程序,使用了“记事本”图标,没有“Description”也没有“Publisher”。当然,即便是有这两项,它本身也可能是病毒。而且它俩的生成时间也比较新,那么就有必要在这里删除这两个启动项了。选中欲删除的启动项,然后按下“Delete”键即可。接下来看一下非常重要的“Image Hijacks”标签:
图8 查看映像劫持
Autoruns在这里已经列出了所有的映像劫持项,可见IceSword.exe也在其中,它被劫持为执行adamrf.exe程序,这也就解释了为什么“冰刃”之前无法启动。病毒同时也劫持了主流的杀毒软件等程序。这里我们同样可以利用“Delete”键对这些劫持进行删除。当然我们也可以再查看一下诸如“Winlogon”,“Scheduled Tasks”等选项卡下的内容,从而更全面地查杀。因为不是重点,这里不进行讨论。
最后的工作就是删除病毒的本体,它与之前论述的“熊猫烧香”手动查杀的方式是基本一致的,这里不再赘述。
小结
其实该病毒还有很多的隐藏项,因为不是重点,所以也就不进行过多的讨论。本文主要讲解了icesword和autoruns在病毒查杀中的基本用法,希望大家能够掌握,毕竟它们都是我们在手动查杀病毒时候的利器。
病毒木马查杀实战第009篇:QQ盗号木马之手动查杀的更多相关文章
- 病毒木马查杀实战第025篇:JS下载者脚本木马的分析与防御
前言 这次我与大家分享的是我所总结的关于JS下载者脚本木马的分析与防御技术.之所以要选择这样的一个题目,是因为在日常的病毒分析工作中,每天都会遇到这类病毒样本,少则几个,多则几十个(当然了,更多的样本 ...
- 病毒木马查杀实战第011篇:QQ盗号木马之专杀工具的编写
前言 由于我已经在<病毒木马查杀第004篇:熊猫烧香之专杀工具的编写>中编写了一个比较通用的专杀工具的框架,而这个框架对于本病毒来说,经过简单修改也是基本适用的,所以本文就不讨论那些重叠的 ...
- 病毒木马查杀实战第010篇:QQ盗号木马之十六进制代码分析
前言 按照我的个人习惯,在运用诸如IDA Pro与OllyDBG对病毒进行逆向分析之前,我都会利用一些自动化的工具,通过静态或动态的分析方法(参见<病毒木马查杀第008篇:熊猫烧香之病毒查杀总结 ...
- 病毒木马查杀实战第012篇:QQ盗号木马之逆向分析
前言 在本系列的文章中,对每一个病毒分析的最后一个部分,若无特殊情况,我都会采用逆向分析的手段来为读者彻底剖析目标病毒.但是之前的"熊猫烧香"病毒,我用了三篇文章的篇幅(每篇250 ...
- 病毒木马查杀实战第020篇:Ring3层主动防御之基本原理
前言 假设说我们的计算机中安装有杀毒软件,那么当我们有意或无意地下载了一个恶意程序后.杀软一般都会弹出一个对话框提示我们,下载的程序非常可能是恶意程序,建议删除之类的.或者杀软就不提示.直接删除了:或 ...
- 病毒木马查杀实战第015篇:U盘病毒之脱壳研究
前言 因为我们的终于目标是编写出针对于这次的U盘病毒的专杀工具.而通过上次的分析我们知道,病毒有可能在不同的计算机中会以不同的名称进行显示.假设真是如此,那么就有必要在此分析出病毒的命名规律等特征,然 ...
- 病毒木马查杀实战第017篇:U盘病毒之专杀工具的编写
前言 经过前几次的讨论,我们对于这次的U盘病毒已经有了一定的了解,那么这次我们就依据病毒的行为特征,来编写针对于这次U盘病毒的专杀工具. 专杀工具功能说明 因为这次是一个U盘病毒,所以我打算把这次的专 ...
- 病毒木马查杀实战第021篇:Ring3层主动防御之编程实现
前言 我们这次会依据上次的内容,编程实现一个Ring3层的简单的主动防御软件.整个程序使用MFC实现,程序开始监控时,会将DLL程序注入到explorer.exe进程中,这样每当有新的进程创建,程序首 ...
- 病毒木马查杀实战第022篇:txt病毒研究
前言 反病毒爱好者们非常喜欢讨论的一个问题就是,现在什么样的病毒才算得上是主流,或者说什么样的病毒才是厉害的病毒呢?我们之前的课程所解说的都是Ring3层的病毒.所以有些朋友可能会觉得.那么Ring0 ...
随机推荐
- 解读KMP算法
前后断断续续搞了5个月,每次都以为自己懂了, 但是要写的时候都不知从何下手,然后又是各种找博客,看帖子,所以这次试着用自己的语言写一个博客. 首先,KMP算法就是从一个模板字符串(S) 中匹配目标字符 ...
- uni-app创建项目
下载 HBuilderX 下载地址(https://www.dcloud.io/hbuilderx.html) HBuilderX是通用的前端开发工具,但为uni-app做了特别强化. 创建uni ...
- LeetCode-层数最深叶子结点的和
层数最深叶子结点的和 LeetCode-1302 这里可以采用上一题中求解二叉树的深度的方法. 因为需要记录最深结点的值的和,所以这里可以边求和,如果遇到不符合最深结点时再将和sum=0. /** * ...
- Nginx常见的错误配置
Blog:博客园 个人 翻译自Common Nginx misconfigurations that leave your web server open to attack Nginx是当前主流的W ...
- 漫漫Java路1—基础知识3—数据类型和变量作用域以及常量
强类型语言 所有变量定义后才能使用,区别于js等弱类型语言 数据类型分类 基本类型(primitive type) 引用类型(reference type) 整数类 byte:占1字节 short:占 ...
- Shuffle Card HDU - 6707
题目链接:https://vjudge.net/problem/HDU-6707 题意:给你一个数组a[ ](a[1]=1,a[2]=2.....a[n]=n),然后m次操作,每次把那个数拿到最前面去 ...
- Poj3660(floyd)
题目传送门 题意:编号为1-N的奶牛参加比赛,告诉我们m场比赛结果试问有几头奶牛的排名可以确定. 题解:其实就是一个传递闭包的模板题,用Floyd把所有有联系的比赛结果串在一起. Ac 代码: #in ...
- Salesforce LWC学习(三十二)实现上传 Excel解析其内容
本篇参考:salesforce lightning零基础学习(十七) 实现上传 Excel解析其内容 上一篇我们写了aura方式上传excel解析其内容.lwc作为salesforce的新宠儿,逐渐的 ...
- P1055_ISBN号码(JAVA语言)
题目描述 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字.1位识别码和3位分隔符, 其规定格式如x-xxx-xxxxx-x,其中符号-就是分隔符(键盘上的减号), 最后一位是 ...
- Android学习之CoordinatorLayout+AppBarLayout
•AppBarLayout 简介 AppbarLayout 是一种支持响应滚动手势的 app bar 布局: 基本使用 新建一个项目,命名为 TestAppBarLayout: 修改 activity ...