静态分析总结

反病毒引擎扫描

分析前,最好拿多个反病毒软件扫描下这个文件,帮助分析

哈希值

唯一标识,常用算法MD5算法,SHA-1算法

查找字符串

主要是文件访问的URL等,这些字符串通常是以ASCII或Unicode格式存储;分别每个字符使用1个字节和两个字节

加壳

也可以不脱壳直接操作,大多数还是先脱壳在分析;
PEID早以停止维护,但还是能用它看头文件;用exeinfoPE

PE文件格式

以上都是不考虑格式进行扫描的工具;

连接库与函数

分静态链接、运行时链接与动态链接;静态链接UNIX与Linux中常用,win不常用
使用Dependency Walker探索动态链接函数

静态分析总结_第1张图片
image.png

命名约定

  • 每当微软更新一个函数,且新函数与原函数不兼容时,微软会继续支持原来旧函数;这时新函数会与旧函数有相同的名字,并在后面加上Ex,更新两次的函数会加两个Ex后缀。
    例如,CreateWindowEx
  • 以字符串作为参数的许多函数在他们的名字后面会包含一个A或W;例如CreateDirectoryW

沙箱

沙箱只报告基本功能,不告诉你它做了什么。
简单而粗糙,应该作为恶意代码分析的第一步,当有大量恶意代码需要分析时,沙箱是一个不错的选择。
沙箱只能简单地运行可执行程序,不能带有命令行选项,当然后门程序也不能,因为它需要一些控制命令才会启动特定行为,还有有些恶意代码被设置为等待一天才去执行,我们可能错过,因而大多数沙箱对sleep函数进行了挂钩,并设置为只进行很短的时间休眠,但我们还是要提防。还有沙箱模拟的环境可能也有问题,毕竟很多恶意代码都是针对某些操作系统的。

运行恶意代码

win中有一个rundll32.exe程序,它提供了一个运行DLL的平台。
语法格式

rundll32.exe DLLname, Export arguements

进程监视器(process monitor)

主要功能是监视进程,例如它创建了一个文件、修改了注册表等等。
要注意的是如果要监视的是开机自启的,我们需要使用进程监视器的启动选项,将其安装为一个自启动驱动。

进程浏览器(process explorer)

记忆:粉色-服务 蓝色-进程 绿色-新进程 红色-被终止进程

  • 验证功能
    验证的是磁盘上的镜像文件,而不是内存中的,但对于进程替换技术失效!
  • 比较字符串
    用来识别进程替换
  • 使用依赖遍历器
  • 分析恶意文档

其它常用工具

Regshot
用来比较两个注册表的快照,来查看注册表的修改
ApateDNS
在本机上监视UDP的53端口,对用户指定的IP地址给出虚假的DNS响应(和DNS污染好像)
Netcat
TCP/IP协议栈瑞士军刀,可以用来支持端口扫描、隧道、代理、端口转发等的对内对外连接上;监听模式下充当服务器,连接模式下作为客户端
Wireshark
通吃几乎所有数据包
INetSim
提供模拟服务,基于linux,它努力伪装为一台真正的服务器,如果被扫描到,他会返回IIS网络服务器的标志(和蜜罐技术好像)

你可能感兴趣的:(静态分析总结)