2.1 实验:反病毒引擎扫描、编译时间、查壳、导入表查看、字符串查看--《恶意代码分析实战》

时间:2022-12-02 22:05:37

实验内容:

1、将文件上传到http://www.VirusTotal.com 进行分析并查看报告。文件匹配到了已有的反病毒软件特征吗?
(国内用https://www.virscan.org/替代)
2、这些文件是什么时候编译的?

3、这两个文件中是否存在迹象说明他们是否被加壳或混淆了?如果是,这些迹象在哪里?

4、是否有导入函数显示出了这个恶意代码是做什么的?如果是,是哪些导入函数?

5、是否有任何其他文件或基于主机的迹象,让你可以在受感染系统上查找?

6、是否有基于网络的迹象,可以用来发现受感染机器上的这个恶意代码?

7、你猜这些文件的目的是干什么的?

 


1.反病毒引擎的扫描

https://www.virscan.org/ :可以看到许多杀毒软件报毒了,所以我们可以判定这个文件是属于恶意软件了。

2.1 实验:反病毒引擎扫描、编译时间、查壳、导入表查看、字符串查看--《恶意代码分析实战》

 

2.文件编译时间

PE文件头中,_IMAGE_FILE_HEADER结构体里面就有存放文件编译时间戳的变量TimeDateStamp

2.1 实验:反病毒引擎扫描、编译时间、查壳、导入表查看、字符串查看--《恶意代码分析实战》

通过 StudyPE+ (x86)等工具可以查看

2.1 实验:反病毒引擎扫描、编译时间、查壳、导入表查看、字符串查看--《恶意代码分析实战》


3.StudyPE+ x86 查壳

如果有壳,文件类型处会显示壳特征,如果没有壳,会显示开发的语言。第三种情况就是会显示Unknow Exe Type,意思是他无法识别是什么壳或者什么语言开发的。

2.1 实验:反病毒引擎扫描、编译时间、查壳、导入表查看、字符串查看--《恶意代码分析实战》


4.导入函数

Lab01-01.exe中引用了两个动态库,而需要注意的是以下4个API函数。

  CreateFileA     //创建文件或打开文件

  FindNextFileA     //这两个都是用来遍历指定目录所有文件的,特别需要注意因为像勒索软件就需要遍历全盘 对文件进行加密

  FindFirstFileA

  CopyFileA         //拷贝文件,恶意软件往往喜欢将自己拷贝到系统目录。

2.1 实验:反病毒引擎扫描、编译时间、查壳、导入表查看、字符串查看--《恶意代码分析实战》

 

Lab01-01.dll中最有趣的导入函数是CreateFile和Sleep。文件也导入了 WS2_32.dll的函数,这些函数提供了通信功能。

2.1 实验:反病毒引擎扫描、编译时间、查壳、导入表查看、字符串查看--《恶意代码分析实战》


5.Strings查看敏感字符串信息

这测试电脑不知道为什么打不开 String,这里直接扔进 IDA 中查看字符串了。记得设置一下 IDA 能查看Unicode。

2.1 实验:反病毒引擎扫描、编译时间、查壳、导入表查看、字符串查看--《恶意代码分析实战》

Lab01-01.exe 这里不是kernel32.dll而是kerne132.dll是1234的1,结合导入表中 CreateFile、CopyFile,可能是要替换系统文件 kernel32.dll

2.1 实验:反病毒引擎扫描、编译时间、查壳、导入表查看、字符串查看--《恶意代码分析实战》

Lab01-01.dll 中发现有一个ip地址,"127.26.152.13" 并且结合之前dll的导入函数有网络通讯的动态库,可能是对"127.26.152.13"进行连接,此ip可能是黑客用来控制的主控端ip

2.1 实验:反病毒引擎扫描、编译时间、查壳、导入表查看、字符串查看--《恶意代码分析实战》