0. 概述
在这个实验使用Lab01-01.exe和Lab01-01.dll,使用本章描述的工具和技术来获取关于这些文件的信息,实验使用的文件从GITHUB下载。
1. Lab 1-1
1. 将文件上传至VirusTotal进行分析并查看报告。文件是否匹配到了已有的反病毒软件的特征?
Lab01-01.exe被VirusTotal的52个反病毒引擎检测为恶意软件,Lab01-01.dll被VirusTotal39个反病毒引擎检测为恶意软件。
2. 这些文件是什么时候编译的?
使用PEview对PE文件头部进行分析,查看IMAGE_NT_HEADERS中IMAGE_FILE_HEADER中的时间戳信息。通过IDA Pro(使用反汇编子视图的文本视图)获取上述信息,Lab01-01.exe的编译时间是Sun Dec 19 16:16:19 2010,Lab01-01.dll的编译时间是Sun Dec 19 16:16:38 2010。
3. 这两个文件是否存在迹象说明它们被加壳或混淆?如果是,这些迹象在哪里?
首先通过PEiD工具检测上述两个文件,并未发现文件加壳的迹象。之后分析两个文件的字符串信息,发现存在有效字符串,但有效字符串的数量不多(加壳后字符串应该未乱码)。最后分析两个文件的PE头信息,VIRTUAL SIZE与SIZE OF RAW DATA数值类似。综上,两个文件被加壳的可能性较低。
4. 是否有导入函数显示出这个恶意代码是做什么的?如果是,是哪些导入代码?
EXE文件导入的函数包括,CloseHandle、UnmapViewOfFile、IsbadReadPtr、MapViewOfFile、CreateFileMappingA、CreateFileA、FindClose、FindNextFileA、FindFirstFileA、CopyFileA、malloc、exit、_exit、_XcptFilter、__p__initenv、__getmainargs、_initterm、__seusermatherr、_adjust_fdiv、__p__commode、__p__fmode、__set_app_type、_except_handler3、_controlfp、_stricmp。
DLL文件导入的函数包括,Sleep、CreateProcessA、CreateMutexA、OpenMutexA、CloseHandle、_adjust_fdiv、malloc、_initterm、free、strncmp、socket、WSAStartup、inet_addr、connect、send、shutdown、recv、closesocket、WSACleanup、htons。
5. 是否有任何其他文件或基于主机的迹象,让你可以在受感染系统上查找?
检查C:\Windows\System32\kere132.dll来发现额外的恶意活动。请注意,文件kerne132.DLL,用数字1代替了字母l,是为了看起来像是系统文件kernel32.dll。这个文件可以用来在主机作为恶
意代码感染的迹象进行搜索。
6. 是否有基于网络的迹象,可以用来发现受感染机器上的这个恶意代码?
.dll 文件中包含一个私有子网IP地址127.26.152.13的字符串。这个正地址预示着这个程序是为了教学目的而不是恶意目的而编制的,如果这是真正的恶意代码,这个IP地址应该是可路由的公网IP地址,它会是一个很好的基于网络的恶意代码感染迹象,可以用来识别这个恶意代码。
7. 猜测这些文件的目的?
.dll 文件可能是一个后门。而.exe 文件是用来安装与运行DLL文件的。
2. 注意
1. 由于虚拟机系统为Windows7,Lab 1-1中的问题5、6、7并未实现,将在后续的学习中补充实验。
2. 并未进行Lab 1-2、Lab 1-3、Lab 1-4,,将在后续的学习中补充实验。