监控行业

首页 » 常识 » 问答 » 对勒索病毒的逆向分析
TUhjnbcbe - 2025/6/28 21:10:00
治白癜风拉萨哪家医院好 https://m.39.net/pf/a_4618897.html

样本分析准备

基础知识:

1.开发能力达到一定程度

2.熟练掌握汇编语言

3.熟练掌握PE文件结构

工具使用:

熟练掌握下列常用工具的功能,就可以基于以下工具展开详细分析,对病毒样本进行详细流程和功能分析,由此分析还原关键的病毒功能,以及研究出对应的对抗方案。

样本分析流程

若要详细分析一个病毒样本或者软件,常规来说可以执行五个步骤来进行分析。样本功能:样本基本属性、样本结构、样本静态分析、样本功能行为监控、样本动态分析。根据上述五个步骤,就可以基本分析出详细的样本功能实现。

样本基本信息

PEID、ExeInfoPE工具——样本的一些基本属性。

Hasher工具——样本的MD5、sha1、CRC32的属性值。

PEID、ExeInfoPE两个工具原理:

通过解析PE文件结构解析出样本的区段信息、

通过匹配征码方式匹配出样本是否加壳、加哪种壳,样本开发语言和开发工具。

样本功能分析

病毒样本功能维度分析:自启动(服务器,注册表)、释放文件、网络通信、加密解密。

主要通过静态IDA分析和动态ollydbg分析二者相结合,通过IDA分析出样本中的流程结构,然后再针对每个函数进行分析,函数中的参数传递和返回值信息通过ollydbg工具附加下断点进行动态调试分析。

以下流程图是整个病毒样本的功能流程,主要就是进行系统服务操作,利用微软的SMB漏洞进行端口漏洞的尝试、释放真正的勒索病毒样本。

样本在IDA工具中的main函数的流程结构

样本入口函数的关键功能函数实现的解析

恶意代码功能解析

开始对端口漏洞尝试功能解析

进行内网端口漏洞尝试功能实现解析

进行外网端口漏洞尝试功能实现解析

漏洞尝试的效果展示

释放真正的勒索病毒文件

通过应用程序的资源部分,释放出病毒样本exe和dll模块,并将样本的exe和dll模块释放到C盘的windows目录下,伪装成为系统程序。

释放样本文件效果展示

通过procmon工具,并进行针对病毒样本进程进行监控,可以实际监控到样本释放文件的操作。

释放勒索病毒功能梳理

释放出来的样本在IDA中展示main函数的流程结构(直接用拖入方式即可)

样本main函数流程中的关键函数进行解析

样本中将比特币账号采用硬编码方式直接写在代码中

采用微软的加解密算法,通过调用系统CryptDecrypt和CryptDecrypt函数用于进行加解密ZIP文件。

动态释放模块进行判断释放出来的文件是否是标准PE文件(判断PE文件的DOS头部分“MZ”,在进行判断NT头的PE签名信息“PE”)

勒索病毒对以下所有后缀文件进行加密,这些后缀文件基本覆盖所有类型的文件。

(仅分享样本大概功能流程,还有如核心的加解密算法相关的功能没有进行分析)

对勒索病毒的一点思考

1.预中病毒常规方案

安装工具并定时查杀:

在系统上安装病毒查杀软件并及时更新病毒特征库并定时查杀(建议安装火绒)。

外部下载的文件进行检查:

从互联网上下载的文件、程序进行查看数字签名有效性,并手动扫描查询文件。

3.先查杀后打开:

使用移动存储介质时,进行查杀病毒后再进行打开。

4、对陌生软件有防御心

不随意打开、安装陌生或来路不明的软件。

2.分析勒索病毒方案

断网的虚拟机环境

PE文件解析工具进行静态PE文件分析。

IDA静态流程和ollydbg动态流程分析。

3.勒索病毒预防解决方案

主动关闭系统中的、、、端口。

创建一个互斥体名称为Global\MsWinZonesCacheCounterMutexA,让勒索病毒程序启动不起来。

及时更新系统补丁程序。

定期备份重要的数据在不同位置(网盘、移动硬盘)。

本文转载自:安全脉搏

本文作者:小道安全

原文链接

1
查看完整版本: 对勒索病毒的逆向分析