目录
1、使用VirScan - 多引擎文件在线检测平台扫描实验文件
1、将文件上传至http://www.VirusTotal.com/进行分析并查看报告。文件匹配到了已有的反病毒软件特征吗?
2、这些文件是什么时候编译的?
3、这两个文件中是否存在迹象说明它们是否被加壳或混淆了?如果是,这些迹象在哪里?
4、是否有导入函数显示出了这个恶意代码是做什么的?如果是,是哪些导入函数?
5、是否有任何其他文件或基于主机的迹象,让你可以在受感染系统上查找?
6、是否有基于网络的迹象,可以用来发现受感染机器上的这个恶意代码?
7、你猜这些文件的目的是什么?
操作系统:Windows XP sp2
软件版本:
扫描exe文件:
扫描dll文件:
从扫描结果来看,两个文件基本上确认是病毒文件。
在PE头的_IMAGE_FILE_HEADER结构体中,TimeDateStamp这个字段记录了文件的创建时间。
实际操作:
(1)将待检测文件(以lab1-1.exe文件为例子)拖入PETools,点击"文件头";
(2)点击"时间/日期标志"(点后面的三个点点)
同样的方式,查看dll文件的编译时间。
用到的工具是PEid.
看PEiDdSCAN的结果,可以看到该程序是用VC++6.0编写的。
假设程序被加壳,PEiDdSCAN要么显示壳的名称,要么显示"nothing found";
主要用的是Dependency walker,不过,PEiD也可以查看导入函数。这里用PEiD查看导入函数。(以lab1-1.exe为例)
(1)将待测文件拖入PEiD,查看"子系统";
(2)查看输入表;
可以看到程序调用了FindNextFileA和FindFirstFileA这两个API函数,它们主要用于查找系统中的一些文件,CopyFile用于复制文件,CreateFile用于创建文件。病毒程序用copyfile函数一般的目的是想把自己复制到一个隐藏的位置。
以同样的方法查看dll文件的导出表:
可以看到dll文件导入了WS2_32.dll链接库,WS2_32.dll链接库经常被用来做一些联网的操作。所以,待测程序会用到联网功能。
将strings.exe与待测文件放在一个目录下,使用命令:
strings 文件名
可以发现有一个路径:C:\windows\System32\lerne132.dll,在这里可以猜到程序是想把自身或其他文件复制到该目录。
同样的方法查看第二个文件:
在第二个文件中出现了一个网址,继续查看这一IP地址,其实可以大概猜到病毒制造者是想让我们访问这一地址。以教学为目的,所以ip地址用保留地址。
问题说:基于网络的迹象,可以从网址看出来。基于主机的迹象可以从这儿看出来:病毒会将某个程序改名为kene132.dll,并且隐藏到C:\windows\System32\lerne132.dll目录下。
这些文件的目的:exe程序用于安装运行dll文件,病毒的功能主要由dll文件实现。