恶意文件快速分析

本文记录恶意样本的初级分析方法,适用于快速的恶意软件分析,在缺少合适的高级分析环境或者状态下,快速的基于现有工具进行基本的分析手段。

md5&在线反病毒引擎扫描

  1. MD5作为最常见的哈希值可用于恶意代码的指纹获取,对于单文件的病毒文件比较好用,获取md5值后进行搜索即可

  2. 提交恶意样本至反病毒引擎如: https://lesuobingdu.360.cn/ (勒索病毒引擎)或者其他在线病毒扫描

  3. 使用在线沙盒: https://s.threatbook.cn/

strings字符串

  1. strings是Linux下的一个工具,可以读取PE文件中的.rdata中的存的全局字符串,当然大多数字符串都是不具备任何意义的,如果有幸找到部分可读字符串可以猜测出相关的功能

  2. 如果strings工具发现的字符串少得可怜,那么这个程序是被加壳的,因为正常程序即使一个Helloworld都有几十个字符串

PEID工具

PEID工具是个老牌监测软件加壳工具,2011年已经停止更新了,对于已知壳有办法监测,对于自己写的壳没办法监测,对于未知壳只能想办法提取内存

Dependency walker

一个查看导入导出表的工具,没用过,个人感觉使用使用IDA即可,导入表可以查看该软件使用了那些动态链接库这有助于猜测代码的功能,导出表一般没有有效的用处,因为代码是程序开发者自己写的,如果是恶意软件,他会主动混淆,如下是常见的动态库

kernel32.dll 最常见的dll,包含核心系统功能,如访问和操作内存,文件和硬件
Advapi32.dll 这个DLL提供了对核心Windows组件的访问,比如服务管理器和注册表
User32.dll 包含了所有用户界面组件,如按钮,滚动条以及控制和响应用户操作系统的组件
Gdi32.dll 包含了图形显示和操作的函数
Ntdll.dll 使用这个dll均是企图使用那些不正常提供给windows程序使用的函数
wsock32.dll 连接网络和网络任务相关的dll
ws2_32.dll 连接网络和执行网络任务相关的dll
wininet.dll NET相关的库,如实现FTP,HTTP,NTP等协议

PEview

PEview是一个可以将PE二进制文件解读出来的工具的,使用方法比较简单,但是想要理解里面的各个参数的含义,还需要下功夫

Resource Hacker工具

这个工具可以读取.rsrc下面的文件,一般情况下可以看到UI元素等,偶尔具有意义

初级动态技术

顾名思义,动态的分析程序的行为,这里最好使用虚拟机,并且在执行代码前保存快照和注册表(保存注册表是为了分析执行后的注册表变化)

使用恶意代码沙箱

这里的代码沙箱还是使用在线的如: https://s.threatbook.cn/

运行恶意的代码

exe和elf文件比较简单,直接执行即可,dll文件则相对麻烦,需要使用rundll32.exe这个工具用法如下:

c:\>rundll32.exe DLLname,Export arguments
c:\>rundll32.exe rip.dll,Install #假设有一个rip.dll,导出表中有一个Install

进程浏览器

有一个windows tools是process Explorer,可监控查看注册表,文件系统,网络,进程线程等,类似的有国内的火绒剑,更好用一些,只是必须要安装使用才行.process Explorer可以手动打开一个进程或者恶意文件比如word,然后来进行分析,阴暗配合进程监视器(process monitor)使用

Regshot

注册表快照工具,可以根据2个时间段的快照来进行注册表对比,有助于分析恶意软件对注册表变更

常见的网络工具

  1. wireshark 比较全的网络分析工具,用法相对复杂
  2. ApateDNS 本机模拟DNS的工具

猜你喜欢

转载自blog.csdn.net/u014247926/article/details/127122485