恶意代码5.1实践作业
Lab01-01.exe分析
1.分析并查看报告
可以看出这个PE文件可能包含了大量的木马病毒,可能会窃取用户的一些隐私信息,win32/malware.gen于Malware病毒系列的一个分支,主要目的是为了盗取用户的QQ密码,游戏密码。当用户在输入游戏密码时,此病毒会自动记录键盘按键记录,传送给互联网
ws2_32.dll是Windows Sockets应用程序接口,用于支持Internet和网络应用程序,可能用于下载病毒文件
psapi.dll是Windows系统进程状态支持模块,对于系统的稳定的运行非常重要
imm32.dll是电脑的系统文件,与输入法密切相关
lpk.dll病毒是个恶意后门病毒,计算机染毒后会在后台下载更多恶意程序,可造成用户机器被远程控制、资料被盗等状况。
USP10.dll是字符显示脚本 应用程序接口
2.文件是否加壳
未加壳
可以使用PE_iD查看文件的时间信息,如上图,时间日期标志为
4D0E2FD3
,换算为十进制为1292775379,在这个网站查到这个时间戳对应的时间。
可以看到文件的编译时间为2010年12月20日
3.分析导入函数
strings .\Lab01-01.exe
CloseHandle //停止当前程序的一个内存映射
UnmapViewOfFile //不再需要把文件的数据映射到进程的地址空间中时,可以该函数来释放内存区域
IsBadReadPtr //检查调用进程是否有读取指定内存的内容的权限
MapViewOfFile //将一个文件映射对象映射到当前应用程序的地址空间
CreateFileMappingA //创建一个文件映射对象
CreateFileA //创建或打开一个文件
FindClose //释放由FindFirst分配的内存
FindNextFileA //用来遍历目录或文件时,判断当前目录下是否有下一个目录或文件
FindFirstFileA //根据文件名查找文件
CopyFileA //复制文件
malloc
exit
_exit
_XcptFilter //初始化环境变量
__p___initenv //初始化环境变量
__getmainargs //调用分析的命令行并复制参数传递给 main() 返回传递的指针
_initterm //内部方法指浏览函数指针表并初始化它们
__setusermatherr //指定用户提供的事务来处理算术错误,而不是_matherr事务
_adjust_fdiv //找不到具体函数功能
__p__commode
__p__fmode //文件IO操作
__set_app_type //设置当前应用程序类型:_UNKNOWN_APP;_CONSOLE_APP;_GUI_APP
_except_handler3
_controlfp
_stricmp //比较字符串
MSVCRT.dll
KERNEL32.dll
Lab01-01.dll
C:\windows\system32\kerne132.dll
C:\Windows\System32\Kernel32.dll
根据上述函数,可以推测这个程序可以递归查找文件,复制文件的功能,且会防止系统报错,会设置文件的执行类型
我觉得关键的函数是
CopyFileA
,因为可以借助这个函数将恶意代码植入到目标机上
4.恶意代码查找的线索
可以遍历查找是否有Kernel32.dll ,Lab01-01.dll
5.文件作用
推测是copy了Lab01-01.dll,重命名为kerne132.dll,可能会窃取用户的隐私资料,但应该不会影响正常的系统功能