首页
论坛
课程
招聘
雪    币: 14313
活跃值: 活跃值 (161)
能力值: (RANK:327 )
在线值:
发帖
回帖
粉丝

[原创] 疑似VenusLocker 针对韩国地区的窃密木马分析

2020-2-26 14:54 2082

[原创] 疑似VenusLocker 针对韩国地区的窃密木马分析

2020-2-26 14:54
2082

0x00 前言

样本是之前在app.any.run首页看到的,看样本名称是针对韩国地区的一个样本,下载了分析一下。
图片描述

 

样本的执行流程大概如下:
图片描述

 

通过VT可以看到,样本是在19年12-29上传到VT的,原始样本名称:전산 및 비전산자료 보존 요청서(20191230))요청자료 꼭 준비부탁드립니다.exe

 

翻译后如下:
图片描述

 

光从文件名并不能直接推断出样本的针对目标。

0x01 原始样本分析

首先exeinfo发现文件无壳,vc编译:
图片描述

 

在start函数末尾处通过call [ebp+var_10] 跳转到新开辟的内存执行
图片描述

 

图片描述

 

VirtualAlloc了一个009B0000开始的空间
图片描述

 

循环写入,然后通过VirtualProtect更改属性
图片描述

 

最后复制文件,并且通过VirtualFree清空解密的内存
图片描述

 

将该内存中的PE文件dump出来并保存为dump.exe

0x02 dump样本分析

依旧是vc++编译
图片描述

 

main函数入口点如下:
图片描述

 

首先是检索有关本地计算机的当前硬件配置文件的信息
图片描述

 

图片描述

 

获取GUID:
图片描述

 

拼接获取到的信息:
图片描述

 

创建互斥体,互斥体名称为上面组装的字符串:
图片描述

 

解密一些会用到的字符串
图片描述

 

图片描述

 

生成一个随机文件名:
图片描述

 

然后拼接路径:
图片描述

 

拼接出的路径:
图片描述

 

然后通过CreateDirectoryA创建该路径
图片描述

 

生成子目录 \files并创建
图片描述

 

解密出请求地址:
likeanimals.net/276
图片描述

 

添加多类请求头:
图片描述

 

设置Content-Type:
Content-Type: multipart/form-data; boundary=1BEF0A57BE110FD467A\r\n
图片描述

 

设置Content-Length=25
图片描述

 

发起请求:
图片描述

 

抓包可以看到
请求数据就是--1BEF0A57BE110FD467A--\r\n
图片描述

 

服务器响应
图片描述

 

如果成功请求,则会在西面的sub_409ac3函数通过InternetReadFile下载文件到本地
图片描述

 

这里是尝试请求下载freeb13.dll
图片描述

 

通过代码发现,下载的dll一共有:
freebl3.dll
mozglue.dll
msvcp140.dll
nss3.dll
softokn3.dll
vcruntime140.dll

 

而这些dll是用于协助窃取用户的隐私数据的。

 

之后建立了TCP连接,一直通信:
图片描述

 

最后可以看到,是在本地通过post请求向CC发送了一个压缩包
图片描述

 

将数据流提取出来,解压压缩包,可以看到如下的目录结构:
图片描述

 

很明显,这里是将用户主机上搜索到的数据全部以文件形式存储并打包上传了。
图片描述

 

这里基本上可以确定该样本是一例窃密木马了。
接着往下看看代码,看还有没有其他功能啥的。
下载dll文件:
图片描述

 

收集一些关键目录下的文件信息:
图片描述

 

图片描述

 

执行完之后删除下载的dll文件:
图片描述

 

通过http://ip-api.com/line/获取本机的出口ip
图片描述

 

然后创建information.txt收集本机的一些基本信息
图片描述

 

收集了所有信息之后,生成压缩包:
图片描述

 

压缩包在上一级目录:
![图片描述]
(upload/attach/202002/757351_U95HNDVEUUQENCF.png)

 

写入数据
图片描述

 

接着在sub_40A171函数处将压缩包上传到CC
图片描述

 

最后一个长休眠
图片描述

 

这里是一个大的while(1)循环,sleep之后程序还会继续走一遍上面的流程
进程结束的条件在if(v149>=2)里面
图片描述

 

如果信息收集上传完成,程序就会删除本地的压缩包:
图片描述

 

并且调用cmd命令kill指定进程:
图片描述

0x03 后续分析

因为之前已经分析到了该样本的通信C2:http[:]//likeanimals[.]net/

 

直接尝试在VT上搜索该C2:
图片描述

 

可以看到,上面的地址在样本中都找到了对应的访问位置。

 

继续往下看,看到该样本还关联了一些相关的样本
图片描述

 

考虑到韩文的文件名比较特殊,所以直接尝试在Google搜索韩文文件名
图片描述

 

发现ESTsecurity 发布了该文件的概要分析,提到了疑似的组织
图片描述
ESTsecurity 是韩国本土的安全公司,遇到跟韩国相关的样本,可以尝试在ESTsecurity 的博客或者Twitter上寻找一下相关信息。

 

继续搜索提到的这个韩文组织名: VenusLocker
图片描述

 

改用国内的搜索引擎看下国内对该组织的关注情况
图片描述

 

继续Google,可以看到直接会弹出两个关键词,分别是
venus locker ransomware
venus locker north korea
图片描述

 

经过分析发现,VenusLocker ransomware应该是俄罗斯黑客开发的勒索病毒。VenusLocker组织早起会通过恶意代码投递GandCrab勒索,其攻击目标以韩国、北韩(朝鲜)为主。

 

最后,还可以在Twitter上搜索一些组织或是样本的相关信息:
图片描述

 

图中的Twitter用户是一名韩国地区的研究员,韩国的确的威胁情报、样本也可以关注他。

HWS计划·2020安全精英夏令营来了!我们在华为松山湖欧洲小镇等你

最新回复 (6)
雪    币: 4774
活跃值: 活跃值 (2520)
能力值: (RANK:65 )
在线值:
发帖
回帖
粉丝
Editor 活跃值 2020-2-26 16:20
2
0
感谢分享!
雪    币: 40
活跃值: 活跃值 (37)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
killpy 活跃值 2 2020-2-26 20:27
3
0
你是用啥工具分析网络的 他下载上传的文件 你是怎么提取的
雪    币: 14313
活跃值: 活跃值 (161)
能力值: (RANK:327 )
在线值:
发帖
回帖
粉丝
顾何 活跃值 6 2020-2-26 21:20
4
0
killpy 你是用啥工具分析网络的 他下载上传的文件 你是怎么提取的
我是直接搭建的安全网络,挂wireshark抓包的哇,那个时候C2还是活的,可以抓到正常流量,   也或者可以用github的工具fakenet,还有一种就是直接通过app.any.run 的云沙箱,跑流量  然后下载数据包到本地分析
雪    币: 4234
活跃值: 活跃值 (89)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
xiaokangpwn 活跃值 2020-3-13 09:30
5
0
你在app.any.run 上的样本下载下来没有解压密码嘛?
雪    币: 14313
活跃值: 活跃值 (161)
能力值: (RANK:327 )
在线值:
发帖
回帖
粉丝
顾何 活跃值 6 2020-3-13 10:01
6
0
有的   国外各个平台下载回来的样本默认密码是infected   在app.any.run下载的时候也会提醒你
雪    币: 182
活跃值: 活跃值 (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
shenluo 活跃值 2020-3-13 20:51
7
0
认真学习了!
最后于 2020-3-14 21:03 被shenluo编辑 ,原因:
游客
登录 | 注册 方可回帖
返回