病毒木马查杀实战第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 ...
随机推荐
- 【Azure 服务总线】Azure Service Bus中私信(DLQ - Dead Letter Queue)如何快速清理
在博文ServiceBus 队列中死信(DLQ - Dead Letter Queue)问题一文中,介绍了服务总线产生私信的原因及可以通过代码的方式来清楚私信队列中的消息,避免长期占用空间(因为私信中 ...
- IDEA中部署servlet
配置和不是servlet 第一种方法:(两种方法不能混用,使用第一种方法后,尽量删除第二种方法的注解方式) 使用xml文件配置: name没有什么特别的,就是需要统一即可.url-pattern中的地 ...
- 摄像机+LookAt矩阵+视角移动+欧拉角
一: 摄像机 OpenGL本身没有摄像机(Camera)的概念,但我们可以通过把场景中的所有物体往相反方向移动的方式来模拟出摄像机,产生一种我们在移动的感觉,而不是场景在移动. 以摄像机的视角作为场景 ...
- 浅谈Dotnet的数据定位和匹配
Dotnet里,数据定位和匹配的相关编程现在变得很舒服. 最近项目紧,还要不停出差. 所以,写个短点的.最近经常用到的内容:数据定位和匹配. 数据定位 假设我们有这样一个数组: var arr ...
- Apache配置 3.域名跳转
(1)介绍 当我们变更网站域名或者申多个域名指向一个网站的时候,这个时候我们就会用到域名跳转. (2)配 设置不是以111.com开头的网站都跳转到111.com上. 置 配置 设置不是以111.co ...
- Ubuntu更换python默认版本
设置python版本: 1 sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 100 2 sudo ...
- pytest+jenkins+allure 生成测试报告发送邮件
前言第一部分:Pycharm for Gitee1. pycharm安装gitee插件2. gitee关联本地Git快速设置- 如果你知道该怎么操作,直接使用下面的地址简易的命令行入门教程:3. Gi ...
- P2766 最长不下降子序列问题 题解(网络流)
题目链接 最长不下降子序列问题 解题思路 分成三小问解决. 第一小问,求\(LIS\),因为\(n<=500\),直接\(O(N^2)\)暴力求解即可. 第二三小问,建立模型用网络流求解. 对于 ...
- 在ASP.NET Core中用HttpClient(四)——提高性能和优化内存
到目前为止,我们一直在使用字符串创建请求体,并读取响应的内容.但是我们可以通过使用流提高性能和优化内存.因此,在本文中,我们将学习如何在请求和响应中使用HttpClient流. 什么是流 流是以文件. ...
- 【MCU】国民N32固件库移植
目录 前言 移植N32Gxxx系列要点 前言 链接: 李柱明博客 移植AT32库&FreeRTOS教程 由于大部分国产MCU移植固件库.RTOS源码都是差不多的,所以本文不讲细节,如想熟悉移植 ...