动态分析基础技术

动态分析:运行恶意代码后进行分析,通常是在静态分析无法处理后实行,是恶意代码分析流程的第二步

沙盒技术-SandBox

定义

  • 用于安全运行程序的安全环境
  • 经常被用于执行和分析非可信的代码

作用

  • 样本是否对硬件读写,创建了什么文件
  • 样本是否进行网络连接,连接什么端口
  • 创建了哪些进程(系统/用户),进程有哪些API函数调用
  • 相关的可疑文件大小和MD5
  • 文件是否加壳压缩
  • 是否是已知病毒

缺点

  • 只能简单地运行可执行程序,若需要命令行执行,无法触发
  • 不能记录所有事件,尤其是需要长时间等待的情况
  • 虚拟机检测
  • 运行环境需要特定的注册表项或文件
  • 如果是一个DLL,无法正确调用执行
  • 操作系统的限制
  • 结论需要安全人员自己总结

运行恶意代码

exe:命令行或双击

dll:命令行

C:\Windows\System32\rundll32.exe DLLname, Export arguments

export值是dll文件导出函数表中的函数名或序号

image-20221102113604978.png

进程监视器

Process Monitor:可监视特定注册表、文件系统、网络、进程以及线程活动,能够进行过滤选项卡

进程浏览器查看进程

Process Explorer,一款用来执行动态分析的工具,类似于任务管理器

双击一个特定进程,会产生跟过有关进程的信息

进程浏览器显示的主要五栏有:进程名、进程id、CPU占比、描述、软件公司名

Process Explorer实验

题目:在一个安全的环境中执行给定的文件(Lab03-03.exe)中发现的恶意代码,同时,使用基础的静态分析和动态分析工具监视它的行为。

问题

  1. 当使用Process Explorer工具进行监视时,注意到了什么?

未运行恶意样本时:image-20221015101019912.png运行恶意样本后:Lab03-03.exe创建了一个svchost.exe进程,之后杀死自己的进程,保留子进程!image-20221015101219483.pngimage-20221015101310646.png

请输入图片描述

  1. 可以找出任何的内存修改行为吗?

通过右键调出svchost.exe的属性,查看Strings下的镜像和内存中的字符串,对比发现不一样,说明存在内存修改行为【识别进程替换】

image-20221015102048759.png

  1. 这个恶意代码在主机上的感染迹象特征是什么?

创建子进程svchost.exe进行替换,在同一目录下生成practicalmalwareanalysis.log![image-

image-20221015102621716.png

  1. 这个恶意代码的目的是什么?记录键盘输入,如下,我敲击了xherlock,并点击回车键,log文件中便有了相关记录image-20221015102917309.png由第二步查看内存中字符串可知,他记录了字母数字按键以及shift、enter、backspace、tab、ctrl、del、caps lock等常用按键

Regshot比较注册表快照

Regshot开源的注册表比较工具,可以比较两个注册表的快照,发现差异

模拟网络

目的:避免连接恶意代码的真实服务器(控制服务器)

最后修改:2022 年 11 月 02 日
如果觉得我的文章对你有用,请随意赞赏