样本是之前在app.any.run首页看到的,看样本名称是针对韩国地区的一个样本,下载了分析一下。
样本的执行流程大概如下:
通过VT可以看到,样本是在19年12-29上传到VT的,原始样本名称:전산 및 비전산자료 보존 요청서(20191230))요청자료 꼭 준비부탁드립니다.exe
翻译后如下:
光从文件名并不能直接推断出样本的针对目标。
首先exeinfo发现文件无壳,vc编译:
在start函数末尾处通过call [ebp+var_10] 跳转到新开辟的内存执行
VirtualAlloc了一个009B0000开始的空间
循环写入,然后通过VirtualProtect更改属性
最后复制文件,并且通过VirtualFree清空解密的内存
将该内存中的PE文件dump出来并保存为dump.exe
依旧是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指定进程:
因为之前已经分析到了该样本的通信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用户是一名韩国地区的研究员,韩国的确的威胁情报、样本也可以关注他。