互联网的飞速发展在给用户的日常工作生活带来了巨大方便的同时,也给各种各样的恶意软件提供了一片繁衍扩散的沃土。媒体上时有关于某种恶意软件大规模流行造成严重损失的报道。恶意软件的扩散早已引起信息安全业界的重视,各安全软件和杀毒软件厂商都有成型的解决方案。不过恶意软件的更新换代总是走在安全厂商的产品前面,恶意软件变种的出现速度越来越快,单纯使用防杀毒软件已不能完全保证用户远离恶意软件。

本文提出一个分析Windows平台的恶意软件和可疑文件的参考方法,该方法通过监视目标样本的执行后的行为观察,可对目标样本的性质、行为及影响进行判断。

恶意软件的定义:恶意软件(Malware,malicioussoftware的缩写),指未经用户允许安装执行,会对用户及系统运行产生影响和危害的软件,包括病毒(Virus)、蠕虫(Worm)、木马(Trojan)、后门程序(Backdoor/Rootkit)、密码盗窃程序(Mal.PSW)及其他有以上所列恶意软件功能的软件。

分析原理和流程

关键词定义:

1)恶意软件样本:从各种媒介提取到的怀疑是恶意软件的可执行文件、可能包含恶意软件的压缩文件、Office文档等

2)软件行为:文档或可执行文件被用户直接或通过其他处理软件打开时该文件或系统执行的操作

样本分析原理:

在一个可控的Windows测试环境中,通过使用特定的监视工具软件,对目标样本文件打开后执行的操作进行记录,分析记录的结果并与已知的恶意软件行为进行对比,判断目标样本的性质和影响,最后提供受该目标样本影响的系统的清理方案。

样本分析流程:

1)测试环境搭建

2)分析工具软件的准备和安装

3)目标样本在测试环境系统上的运行监视、数据采集

4)结果处理和文档记录

环境准备和搭建

1、系统环境:

测试平台可选择使用虚拟机或者物理机搭建,两种选择的结果略有不同:如果使用虚拟机作为平台,需要先安装一套虚拟机软件,可以选择VMware([url]http://www.vmware.com[/url])或VirtualPC([url]http://www.microsoft.com/windows/virtualpc/[/url]),然后在部署好的虚拟机中安装Windows操作系统;如果使用实体机,直接安装Windows操作系统即可。Windows安装完成后,使用WindowsUpdate给测试用操作系统升级,使其达到最新补丁版本状态。

本文使用的测试环境为VMwareworkstation上的WindowsXPprofessionalSP2英文版,并升级补丁到2006年11月底的最新版本。

2、分析软件:

1)系统监视软件

a)InstallRite:

InstallRite是一个软件安装监视复制工具,可以监视软件安装时对系统文件、注册表执行的改动。它可以用来监视目标样本在执行前后系统发生的改动。InstallRite可以从它的官方网站下载:[url]http://www.epsilonsquared.com/installrite.htm[/url]

b)ProcessExplorer:

ProcessExplorer是一个监视系统当前运行进程、进程创建、进程删除及获取指定进程详细信息的工具,它可以用来分析目标样本对进程的操作。ProcessExplorer可以从它的官方网站下载:[url]http://www.microsoft.com/technet/sysinternals/utilities/ProcessExplorer.mspx[/url]

c)ProcessMonitor:

ProcessMonitor是ProcessExplorer的升级版本,它除了包含ProcessExplorer的功能外,还增加了文件和注册表操作监视功能,但是它进程监视功能使用方便性上比不上ProcessExplorer。它可以用来实时监视目标样本在执行过程中对系统文件、注册表的操作情况。ProcessMonitor可以从它的官方网站下载:[url]http://www.microsoft.com/technet/sysinternals/processesandthreads/processmonitor.mspx[/url]

d)TCPView:

TCPView是一个监视网络连接与进程对应关系的工具,可用于分析目标样本在执行时进行网络操作的情况。TCPView可以从它的官方网站下载:[url]http://www.microsoft.com/technet/sysinternals/utilities/TcpView.mspx[/url]

2)嗅探器

a)Ethereal:

Ethereal是一个功能强大的开源网络协议分析软件,它可用于存储和分析目标样本进行的网络传输的具体内容。Ethereal可以从它的官方网站下载:

[url]http://www.ethereal.com/download.html[/url]

b)EffeTechHTTPSniffer:

EffeTechHTTPSniffer是一个专长于HTTP流量流量监视和分析的嗅探工具,可以用于分析Downloader一类使用HTTP协议和采用HTTP隧道封装进行通讯封装的目标样本。EffeTechHTTPSniffer可以从它的官方网站上下载:

[url]http://www.effetech.com/download/[/url]

3)系统分析工具

a)RootkitRevealer:

RootkitRevealer是一个功能强大的Rootkit检测工具,可用于检测Rootkit类及带有Rootkit隐藏功能的目标样本。RootkitRevealer可以从它的官方网站下载:

[url]http://www.microsoft.com/technet/sysinternals/utilities/RootkitRevealer.mspx[/url]

b)Gmer:

Gmer是一个来自波兰的Rootkit检测工具,它的功能比RootkitRevealer稍多一点,检测的速度更快,可用于检测Rootkit类及带有Rootkit隐藏功能的目标样本。Gmer可以从它的官方网站上下载:

[url]http://www.gmer.net/files.php[/url]

c)Autoruns:

Autoruns是一个功能强大的启动项管理工具,它可以直接操作注册表,管理常见的启动方式,可用于分析目标样本的自启动方式。Autoruns可以从它的官方网站上下载:

[url]http://www.microsoft.com/technet/sysinternals/utilities/Autoruns.mspx[/url]

d)WinHex:

WinHex是一个功能强大的通用十六进制编辑工具,它可以用于对目标样本的内容进行查看和字符串查找。WinHex可以从它的官方网站下载:

[url]http://www.x-ways.net/winhex/[/url]

e)FinalRecovery:

FinalRecovery是一个快速的反删除工具,它可以用于对目标样本执行过程中删除的文件进行恢复操作。FinalRecovery可以从它的官方网站下载:

[url]http://www.finalrecovery.com/download.htm[/url]

3、文档准备:

在完成系统环境和分析软件的安装调试后,应该进行目标样本的记录文档设计。一个使用表格的记录文档的例子如下:

样本分析记录表格(1)

样本名称

样本日期

大小(Bytes)

样本编号

样本来源

Sample1.bak

2006-1-25

72052

060125A2

Customer

VirusSample.dat

2006-1-25

21084

060125A3

Support

VirusSample2.dat

2006-1-25

14205

060125A4

Support

Trojansample.bak

2006-1-25

104272

060125A5

Customer

样本分析结果登记表                      样本编号:060125A5

项目

属性

详细描述

备注

自删除

  是

启动方式

Run Key

\LMHK\Software\Windows\CurrentVers-ion\Run\TrojanRun  Trojan.exe

释放文件

%SystemRoot%\Trojan.exe

复制到%SystemRoot%

进程注入

注入到iexplore.exe

网络连接

TCP

连接到212.24.55.188:80

Nobody.noip.cn (DNS)

其他属性

网络连接、文件不隐藏

网络连接不加密

样本分析实例

样本是一个伪装成wmv媒体文件的可执行文件,如图:

它使用了wmv文件的图标,由于Windows默认不显示已知文件的扩展名,因此目标样本的真实名字是WR.wmv.exe。

分析流程:

1)测试环境做一个恢复用的快照(Snapshot),使用实体机的测试环境可以用Ghost来达到相同目的。

2)依次启动InstallRite和ProcessMonitor,先给ProcessMonitor做Filter配置:

配置时用exclude方式将与目标样本无关的程序如csrss.exe、installrite.exe等程序对注册表的操作过滤,只留下explorer.exe、services.exe、svchost.exe等目标样本可能使用到的程序。

使用InstallRite对系统状态做一个快照:

注:在使用InstallRite做快照的时候可以先把ProcessMonitor的监视暂停。

3)运行目标样本

4)ProcessMonitor的监视显示目标样本运行时启动了Iexplore.exe和svchost.exe:

用InstallRite对目标样本执行前后的系统状态进行对比,在InstallRite的界面选ReviewInstallation查看对比的结果:

新增的文件:

新增的注册表项:

删除的文件:

由此可知:

目标样本在C:\programfiles\CommonFiles\MicrosoftShared\Msinfo路径下新建了2个文件,paramstr.txt和svchost.exe,并添加了一个叫做Svchost的服务。完成这两个操作之后,目标样本把自身删除。

5)使用Gmer和ProcessExplorer检查系统发生的改变:

从ProcessExplorer和Gmer的显示结果可知,目标样本启动了一个隐藏的Iexplore.exe进程。

6)使用TCPView查看网络连接

可以看见目标样本启动的Iexplore.exe进程连接的是

186.119.232.72.reverse.layeredtech.com的http(80)端口。

7)使用Ethereal抓包检查网络连接的数据

Ethereal五分钟的抓包结果显示,目标样本会通过DNS服务器查询([url]www.ifrstats.com[/url])的IP地址,并每隔30秒向其发送TCP包,包的长度为0,具体含义未知。

8)分析和文档

综合以上工具的监视结果,我们可以总结出样本的性质,目标样本为一个服务安装启动方式的木马程序,会使用进程注入技术(注入Iexplore.exe)穿透防火墙的网络连接控制,并带简单的Rootkit功能(隐藏其启动的iexplore.exe进程)

目标样本分析结果整理后,记录如下:

样本分析结果记录表                样本编号:TR061125A2

项目

属性

详细描述

备注

自删除

进程注入

注入到C:\program files\Internet Explorer\iexplore.exe

Iexplore.exe为隐藏进程,使用Gmer检查。

安装路径

路径:C:\program files\common files\microsoft shared\MSInfo\

svchost.exe

Paramstr.txt

注册表

\\LMHK\SYSTEM\CurrentControlSet\Services\

新增svchost

启动方式

服务启动

系统增加以svchost命名的服务

网络连接

TCP

186.119.232.72.reverse.layeredtech.com

72.232.119.186

[url]www.ifrstats.com[/url] (DNS)

网络连接内容未知。

根据检查结果登记表,就可以对该目标样本感染过的计算机进行有针对性的清理,更进一步的可以编写专杀程序,或者将检查的结果提交应急响应机构,不过这就不是本文要讨论的内容了。

转自https://blog.csdn.net/kezhen/article/details/12750877

自己动手搭建恶意软件样本行为分析环境相关推荐

  1. 恶意软件样本行为分析——灰鸽子为例

    第一阶段:熟悉Process Moniter的使用  利用Process Moniter监视WinRAR的解压缩过程. 设置过滤器:进程名称  包含  winrar.exe.应用. 打开Process ...

  2. 自己动手搭建 Linux 0.12 编译环境 — Linux主机

    Hi,又见面了,这两天事情比较少,所以又快速构思这篇的内容. 上篇我用极简模式说完了关于Linux 0.12的模拟环境Bochs,这篇同样沿袭上篇的思路,不过主要内容是关于Linux主机.在搭建Lin ...

  3. python 生信分析_安利一款生信分析神器:Biopython之分析环境搭建

    当然作为入门,python语言基础还是要会一点点的,不过不需要很深.工具嘛,我们只用关心怎么用得溜,平时也没人追究勺子咋造的只管拿来用,是吧~Biopython是一个包含大量实用功能模块的集合,它支持 ...

  4. 手把手教你搭建 ELK 实时日志分析平台

    来自:武培轩 本篇文章主要是手把手教你搭建 ELK 实时日志分析平台,那么,ELK 到底是什么呢? ELK 是三个开源项目的首字母缩写,这三个项目分别是:Elasticsearch.Logstash ...

  5. 手把手教你如何快速搭建 ELK 实时日志分析平台

    本篇文章主要是手把手教你搭建 ELK 实时日志分析平台,那么,ELK 到底是什么呢? ELK 是三个开源项目的首字母缩写,这三个项目分别是:Elasticsearch.Logstash 和 Kiban ...

  6. 病毒分析系列 _ 病毒分析环境搭建

    前言 通常进行病毒分析,需要有一个配置好的病毒分析环境,fireeye之前也出过配置好的虚拟机,但是虚拟机安装过程很慢,不如我们自己配置一个,下边对虚拟机的配置和病毒分析的基本原则进行展开说明,打好病 ...

  7. docker卸载命令_使用docker完成生信分析环境搭建

    生信开发人员最头疼的问题,可能就是平台搭建和软件安装了.部署和迁移上要费很大力气.本文讲述使用docker制作一个镜像,后续通过导入自己定制的镜像,复制文件完成分析流程的部署和迁移. 如何使用dock ...

  8. (一)phoneGap之环境搭建教程及其example分析

    phoneGap之环境搭建教程及其example分析 一.环境搭建 与普通的开发android应用一样,phoneGap也同于原生android应用一样,环境相同,只是有部分不同,下面就我做理解,进行 ...

  9. 用yara实现分析恶意样本_Yara –识别和分类恶意软件样本

    用yara实现分析恶意样本 Yara is a popular open source tool used to identify and classify Malware Samples. It i ...

最新文章

  1. 最近最近在微软的Mobile Soft factory
  2. matlab 二次指数平滑法预测
  3. srping基础——DI(三)
  4. java弹出提示窗口_Java实现弹窗效果的基本操作(2)
  5. 理论基础 —— 排序 —— 鸡尾酒排序
  6. fatal: protocol error: bad line length character: No s原因
  7. underscore.js中的节流函数debounce及trottle
  8. 软件产品需求分析思维导图
  9. Unity 简易读取配置文件内容(txt,懒人用)
  10. 图像去雾开源数据集资源汇总
  11. 【渝粤教育】电大中专常见病药物治疗 (2)_1作业 题库
  12. C numi和弓道 双指针(2020牛客寒假基础训练营1 )
  13. 对策论基础---矩阵对策的解法
  14. 华硕B460m plus+Intel 10400+AMD 5500xt黑苹果EFI引导文件
  15. INTERVAL函数的使用
  16. 网络协议MPL(3):RFC2606--The Trickle Algorithm文档翻译
  17. 学号20189220余超 2018-2019-2 《密码与安全新技术专题》第一周作业
  18. APP的缓存文件到底应该存在哪?
  19. 树和二叉树(TreeBinary Tree)
  20. 家到学校路线图怎么画_从家到学校的详细地图这样画

热门文章

  1. Python 画图,点线图
  2. 基于组态王和S7-200 PLC的六层电梯8层电梯控制
  3. Oracle求5的阶乘,oracle 求阶乘 | 学步园
  4. vue使用windows自带能力播放音频
  5. Oracle数据泵迁移数据
  6. 淘宝,天猫,1688,微店,京东,苏宁,淘特,小红书等30多个平台一键复制商品到拼多多平台(批量上传宝贝详情接口教程)
  7. Java全栈技术体系汇总----主目录----持续更新
  8. Android常用布局-线性布局和相对布局
  9. Lectra Formaris v5R1C1\
  10. ifconfig eth Rx error