20181302张辰旭
实践作业5.1 简单静态分析1.将样例代码上传到在线杀毒中心进行分析并查看报告,从报告可以看出什么信息?2.这个文件是否加壳了?如果加壳了,请进行脱壳;3.有没有导入函数能够暗示出这个程序的功能?如果有,你认为是哪些函数,从这些函数你可以得到什么信息?4.有没有什么线索可以被用来在被感染主机上进行该恶意代码的查找?5.这个文件的作用可能是什么?
1.将样例代码上传到在线杀毒中心进行分析并查看报告,从报告可以看出什么信息?
上传完毕,会来到检查结果页面。页面给出了文件校验和和各种杀毒软件的检查结果,其中还有一些杀毒软件给出的详细的分类。
切换到DETAILS选项,可以看到更多信息。如,可执行文件类型,运行子系统,校验和等。
如下图,可以看到程序编译时间戳,各个段,导入的DLL等。
展开Imports,我们可以看到程序引用了那些具体的API。通过这个我们可以了解恶意程序可能做的事情。
切换到BEHAVIOR选项卡,可以查看程序在沙河里运行测试的行为,包括打开了哪些文件,写了哪些文件,请求了哪些权限等。
2.这个文件是否加壳了?如果加壳了,请进行脱壳;
利用PEiD工具进行查壳,发现无壳,程序为Visual C++编写
或者通过查看报告:
3.有没有导入函数能够暗示出这个程序的功能?如果有,你认为是哪些函数,从这些函数你可以得到什么信息?
首先用PEview查看导入表位置
之后看到导入的函数:
再通过PE Explorer查看具体直观的函数,或者查看第一部分的报告
MapViewOfFile功能是将一个文件映射对象映射到当前应用程序的地址 空间。MapViewOfFileEx允许我们指定一个基本地址来进行映射。
UnmapViewOfFile,是停止当前程序的一个内存映射。
FindFirstFile则为根据文件名查找文件
FindNextFile是一个函数,可以用来遍历目录或文件时,判断当前目录下是否有下一个目录或文件。
FindClose用于释放由FindFirst分配的内存,可以停止一个FindFirst/FindNext序列。是计算机程序上的一个运算指令。
MapViewOfFile和MapViewOfFileEx函数使用CreateFileMapping返回的文件映射对象句柄来在进程的虚拟地址空间里建立文件的视图,或者文件的某个部分。如果这些函数指定的权限标志和CreateFileMapping中的权限标志不一致,则会执行失败。
IsBadReadPtr用来检查进程是否有权限访问指定的内存块。
其中的内存映射可能还会使感染程序每运行一次增加4kb大小,并随着运行次数不断增加。通过这些函数大体可以猜测出它的功能是遍历你的文件目录,根据文件名进行查找并copy复制备份。根据之前的报告种的沙盒测试也可以看出它打开了许多文件,写入甚至删除了一些文件。
4.有没有什么线索可以被用来在被感染主机上进行该恶意代码的查找?
通过观察字符串可以看到和之前的函数没有什么差别。
5.这个文件的作用可能是什么?