首页
社区
课程
招聘
[原创] Radamant勒索病毒分析
发表于: 2019-12-8 20:39 7108

[原创] Radamant勒索病毒分析

2019-12-8 20:39
7108

       从Github上获取的一个Radmnant勒索样本, 样本具有早期勒索病毒的主要特征,比较典型 。虽然勒索病毒现在都不这么玩了,但还是可以学习其功能实现的思路和方法。 因为还在学习这方面的内容,所以分析过程尽可能比较详细地列出来,分析结果可能存在一些遗漏或错误,也请大家指教。图片从word拷贝过来比较模糊,所以把idb文件放在附件了,病毒文件来源于Github上的theZoo项目。

       首先,使用PEiD检测该勒索病毒是否加壳。虽然PEiD显示“Nothing found”,但EP Section显示了“UPX1”节区(应该只进行了壳的特征值处理)。显然,这是使用了常见的UPX压缩壳对病毒进行了加壳。


      前面分析得知病毒已使用了upx进行压缩,所以使用upx命令行工具进行脱壳,脱壳过程显示如下:

       成功获得了脱壳后的Radmant.exe病毒文件。

使用PEid分析病毒的导入表,发现有7个模块被导入。下面分析一些主要模块的导入函数,可以得到其中的一些关键信息。

1.      kernel32.dll:除了一些病毒必须的函数外,该模块还导入了GetLogicalDrives、GetFileSize等函数,估计与文件加密部分有关。

2.      advapi32.dll:勒索病毒中常见导入模块,与密钥生成、注册表写入有关。

3.      dnsapi.dll和ws2_32.dll:发现了诸如socket、connect、DnsQuery_A等函数,与病毒的网络行为有关,且很有可能和消息通信相关。

4.      SHELL32.dll:该模块导入了两个关键的函数SHGetFolderPathA和ShellExecuteA, 表明病毒除运行本身外还运行了其他外部程序(也可以是病毒释放的程序)。

       使用Resource Hacker查看病毒的资源段,如下图所示:

       发现了一个资源ID为1033的自定义资源,且该资源未被加密。分析似乎与文件信息有关,文件名为“DirectX”。暂时没有什么头绪,待后续分析。

       从模块入口定位到该函数,经过分析,发现这个函数是病毒的主函数,且没有使用任何的混淆反调试等保护手段。以下是对主函数逻辑的分析:

       下面,按顺序和层次一一分析其中的关键函数。

       这个函数获取了病毒文件当前的路径名和文件名,然后检查该病毒程序是否按照指定的路径和名称在运行:

       上一个函数检查文件路径,若不在指定目录以指定名称运行,则将自身拷贝到一个指定的目录下,重命名为DirectX.exe,文件属性设置为隐藏,然后运行拷贝后的病毒程序:

       如下图所示,病毒样本拷贝到对应目录下:

       拷贝完成,调用Delself()函数新建一个批处理文件aaa.bat,删除原病毒样本:

       这个函数检查注册表是否写入了该病毒程序。

       这个函数创建了一个名为“radamantv2.1”的互斥体,防止双开;没有异常,则使用WMI命令行,启动病毒进程:

       这个函数在注册表写入病毒文件位置。

       如下图,为注册表的写入验证:

       这个函数,根据系统信息、计算机名、硬件信息等多种信息,计算出一个MD5值,并将这个MD5值作为标识ID用于后面功能的实现:

       如下图,在虚拟机上得到的ID:

       这个函数的参数是一个加密了域名,使用AES算法和解密密钥,计算最终可以得到未加密的域名:

       如下图,解密得到的服务器域名为“tangotango.com”, 这是一级控制服务器的域名:

       这个函数,首先向域名“checkup.dyndns.org”发送一个GET请求,该域名会返回宿主机的外网地址:

       这个函数比较直观,从注册表中获取一个域名列表。第一次运行,查询不到域名,所以先执行后面的函数。

       上一个函数判断了注册表中是否有域名列表。若没有,就执行这个函数。该函数向服务器的IP地址发送了一个POST请求,并从返回的数据中获取指定的值(根据下一个函数判断,这个值为域名):

       动态调试这个函数,显示向一级域名发送请求二级域名的消息:

       这里设置一级域名服务器“tangotango.com”为另一个虚拟机地址,POST的消息如下:


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

上传的附件:
收藏
免费 3
支持
分享
最新回复 (6)
雪    币: 783
活跃值: (1121)
能力值: ( LV5,RANK:78 )
在线值:
发帖
回帖
粉丝
2
老板是真的有耐心
2019-12-9 10:32
0
雪    币: 11
活跃值: (96)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3

 .

最后于 2020-12-24 15:37 被snappyjack编辑 ,原因:
2020-1-8 23:07
0
雪    币: 2843
活跃值: (331)
能力值: ( LV5,RANK:65 )
在线值:
发帖
回帖
粉丝
4
zhangzycn 弱弱的问下,lz做一次这种病毒分析,要大概多久
看病毒类型难度吧,几天到几周都有可能
2020-1-9 11:08
0
雪    币: 228
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
楼主我下了the zoo,找到了样本压缩包,但是需要密码才能解压,那个密码要怎么获取呢?
最后于 2020-1-31 16:57 被山森编辑 ,原因: 问题更新
2020-1-30 16:48
0
雪    币: 2843
活跃值: (331)
能力值: ( LV5,RANK:65 )
在线值:
发帖
回帖
粉丝
6
山森 楼主我下了the zoo,找到了样本压缩包,但是需要密码才能解压,那个密码要怎么获取呢?
记得好像是“infected”
2020-2-2 01:32
1
雪    币:
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
7
楼主怎么弄的,为什么在xp下边加密不了,
2020-4-16 11:33
0
游客
登录 | 注册 方可回帖
返回
//