DarkAngels勒索病毒分析

0x00 前言准备

日常逛freebuf发现深信服发了一篇勒索病毒分析文章,名字非常炫酷“暗黑天使”降临,赶紧跟一下玩玩。

实验环境:win10

分析工具:die,IDA

0x01 样本基本信息

DarkAngels勒索病毒分析

 

md5

b4a07cdd640bbaef21cd0493b4d62675

样本VT下载

0x02 逆向分析

die静态信息查看

32位GUI程序

DarkAngels勒索病毒分析

用ida打开,start处即为程序开始处代码

DarkAngels勒索病毒分析

 

注意这个API,作用是设置当前调用进程的关闭参数。此函数设置相对于系统中其他进程的进程关闭顺序。设置的参数为0,意味着较其他进程关闭得最迟。

终止服务

跟进4750函数,这里是与服务相关的操作,为了确保在系统加密过程中不中断其加密过程,恶意软件会枚举和检索受害者机器上所有可用的服务,在加密系统之前尝试终止服务。

DarkAngels勒索病毒分析

 

API调用序列大致如下:

OpenSCManagerA(打开服务控制管理器数据库) –> OpenServiceA(打开一个目标服务) –> QueryServiceStatusEx(检索当前服务状态) –> EnumDependentServicesA(检索依赖于指定服务的每个服务的名称和状态) –> ControlService(终止服务)

要终止的服务列表可以在 OpenServiceA的参数 lpServiceName跟踪到,如下:

DarkAngels勒索病毒分析

 

终止进程

跟进4990,这里是与进程相关的操作

DarkAngels勒索病毒分析

 

API调用序列:

CreateToolhelp32Snapshot(获取当前运行进程快照) –> Process32FirstW(获取第一个进程句柄) –>用lstrcmpW与lpString1列表中的进程进行比较,如果匹配 –> OpenProcess(打开指定进程句柄) –> TerminateProcess(终止进程) 并且 CloseHandle(关闭进程句柄) –> Process32NextW(继续下一个进程)

lpString1列表中的进程:

DarkAngels勒索病毒分析

 

防止恢复

跟进46b0,这里最重要的是执行了一个cmd命令

DarkAngels勒索病毒分析

 

cmd的作用是删除卷影

DarkAngels勒索病毒分析

 

后面还有一个清空回收站的API,防止恢复已删除的文件

加密相关

下面有一个CreatThread创建线程的操作,我们跟进StartAddress,然后跟进a2b0

DarkAngels勒索病毒分析

 

首先是和勒索信生成相关的操作,跟进buffer可以查看勒索信的内容

DarkAngels勒索病毒分析

 

然后过滤不进行加密的目录以及文件,这个存在lpString2里

DarkAngels勒索病毒分析

 

DarkAngels勒索病毒分析

 

下面这里是过滤不加密的类型

DarkAngels勒索病毒分析

 

如果文件扩展名是exe,dll,babyk则不进行加密

跟进9720,里面是核心的加密操作

核心加密过程

首先用SetFileAttributesW()参数是0x80取消文档的只读、隐藏、系统、存档权限。

DarkAngels勒索病毒分析

 

然后用MoveFileExW给被加密的文件添加后缀.crypt

DarkAngels勒索病毒分析

 

下面是打开要被加密文件然后开始加密,密钥首先调用CryptGenRandom生成随机的AES私钥,然后使用unk_4141B8中的 RSA 公钥对 AES 密钥进行加密。

DarkAngels勒索病毒分析

 

加密过程首先加密0-64字节,然后是64-5242880,然后是5242880-20971520,最后加密20971520 之后的字符。

DarkAngels勒索病毒分析

 

最大化执行加密操作

回到主程序逻辑,有一个判断参数是shares还是path的过程

DarkAngels勒索病毒分析

 

如果是share,使用 NetShareEnum () API 检索有关服务器上每个共享资源的信息,检查  $ADMIN  共享并开始加密文件。

DarkAngels勒索病毒分析

 

如果是path,勒索软件会调用 GetDriveTypeW() API  来找出连接到受感染机器的网络驱动器。一旦识别出网络驱动器,勒索软件就会开始加密文件。

DarkAngels勒索病毒分析

 

如果两者都没有,勒索软件会递归遍历所有本地驱动器并加密所有目标文件。

首先创建一个DarkAngels的互斥体变量

DarkAngels勒索病毒分析

 

然后遍历本地驱动器

DarkAngels勒索病毒分析

 

最后的收尾工作又进行了一次删除卷影副本,至此执行结束

0x03 总结

整体来看这个勒索病毒分析起来结构比较清晰,也没有使用什么特殊的手段,很方便新手来进行分析跟踪了解勒索病毒常用的API,通过字符串和加密后缀很明显能看出来与Babuk  勒索软件有关系。

参考文献

“暗黑天使”降临:DarkAngels勒索病毒全揭秘 – FreeBuf网络安全行业门户

来源:孤客浪子

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年9月9日
下一篇 2022年9月9日

相关推荐