抑郁症健康,内容丰富有趣,生活中的好帮手!
抑郁症健康 > 病毒分析——静态特征分析 及 动态行为分析

病毒分析——静态特征分析 及 动态行为分析

时间:2022-05-07 10:35:13

相关推荐

一、静态特征分析

1、上传漏洞平台检测(简单实用的方法,但是这也仅供一个参考,尽量还是要自己去分析):

常用检测平台:微步在线、VT等可查看评论是否有安全专家分析结果,可查看可疑行为进行初步分析;若有报FSG壳病毒:Packer.FSG.A,可能加了FSG壳,exeinfo可能查不到壳,DIE等可以查到。

2、编译时间:

有利于辨别一些系统文件(如svchost.exe等)是不是伪装。还有另一种情景,当确定一个文件是恶意的,如Lab01-01.exe,若发现Lab01-01.dll的编译时间是相似的,那么有理由相信它们是出自同一个作者。

3、查壳(必须脱壳后才能进行下一步分析):

常用的查壳工具:exeinfo/DIE/PEiD等常用的脱壳工具:upx脱壳工具、UPXsehll;upx脱壳命令:upx.exe –o 别名 –d 现名;

4、导入、导出函数分析:

函数库:msvcrt.dll是几乎所有可执行文件都会导入的库(包含最基本的函数);ws2_32.dll是网络库,可以看到其中有很多操作网络套接字的函数;kernel32.dll是控制着系统的内存管理、数据的输入输出操作和中断处理,有个创建进程的函数CreateProcess,这些都是可疑的函数,猜测病毒可能有恶意的网络行为;advapi32.dll是一个高级API应用程序接口服务库的一部分,包含的函数与对象的安全性,注册表的操控以及事件日志有关;若样本DLL导出函数有ServiceMain、UninstallService等于服务有关的函数,这个DLL会将自己安装成一个服务;4.1遍历文件的函数:FindFirstFileA、FindNextFileA,操作文件的函数UnmapViewOfFile、CreateFileMappingA等。通过这些可以猜测病毒有恶意操作文件的行为。4.2疑似在提权的函数组合:OpenProcessToken、LookupPrivilegeValueA、AdjustTokenPrivileges。4.3执行磁盘上的一个文件的函数:WinExec。4.4加载资源节中的数据函数组合:SizeofResource、CreateRemoteThread、FindResourceA。4.5网上下载另一个程序的函数:URLDownloadToFileA(网址在可疑字符串中可能找的到)。4.6从自己的资源节中读取数据的函数,可能存放的就是一段恶意代码:FreeResource、SizeofResource、LockResource、LoadResource、FindResourceA4.7进程注入的函数组合:SetThreadContext修改傀儡进程的EIP,指向恶意代码,ResumeThread恢复傀儡进程的运行

5、可疑字符串:

在IDA中按下Shift+F12即可显示出程序中的所有字符串。系统函数库不会有c:\\windows\\system32\\前缀,若有,则可能是病毒创建的一个恶意文件,伪装成系统函数库。若有HTTP的操作,GET、DOWNLOAD、UPLOAD,疑似会跟黑客服务器进行通信;若有cmd.exe,疑似干了很不好的事(可能是典型的自删除)。

6、病毒有加载资源的函数时进行资源节检测(可使用ResourceHacker):

若检测出其资源节存在PE结构,则病毒有加载资源

二、动态行为分析:

7、查看进程信息(可使用Process Explorer):

运行样本,查看进程信息,点击View->Lower Pane View->Handles;当有Type为mutant互斥体对象,可疑;点击View->Lower Pane View->DLLs,可以查看该进程导入了哪些DLL;看的DLL的Description描述中有socket有关的DLL,可以猜测该进程发起了网络连接;*Process Explorer还有个强大的功能,右键进程>Properties->Strings,选择下方的Memory选项,即可查看该进程在内存中的所有字符串。若有xx.log明进程可能会创建这个文件,可以全局搜索这个文件,若有[ENTER]、[DEL]、[TAB]等键盘特征,有理由猜测进程在进行键盘记录的恶意行为。

8、进程监视(可用Process Monitor):

运行程序前先配置ProcMon的规则,用于筛选出我们关心的恶意行为例如:进程名、写操作表的操作(RegSetValue)、创建文件的操作(WriteFile)若对DLL进程监控,需要用到rundll32.exe(用于在内存中运行DLL文件),命令:rundll32.exe xxx.dll,dll中的函数入口(比如:intallA,在导出函数中分析获得)每一个程序启动时都会帮随机数发生器更新种子,因此会有RegSetValue类型的Seed若操作地址在IPRIP下,则为创建恶意的服务,使用命令net start IPRIP来启动该服务,使用Process Explorer查看进程信息,可以找到该服务出现在哪个进程中。

9、网络数据包(可用Wireshark抓包):

对进程发起的请求进行分析,若数据包加密,则无法获取其内容

如果觉得《病毒分析——静态特征分析 及 动态行为分析》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。