基本信息
Tycoon是针对Windows®和Linux®的多平台Java勒索软件,至少从2019年12月起就在野外活动,它以木马Java运行时环境(JRE)的形式部署,并利用晦涩的Java图像格式在执行。
人们观察到Tycoon背后的威胁行为者使用了针对性强的传递机制,渗透到教育和软件行业的中小型公司和机构中,在那里他们将继续加密文件服务器并要求赎金。但是,由于重用了公共RSA私钥,因此有可能恢复数据而无需在较早版本中进行支付。
BlackBerry研究与情报团队与毕马威(KPMG)的UK Cyber Response Services合作,最近发现了一种用Java编写的新勒索软件。勒索软件是针对组织的有针对性的攻击而部署的,该组织的域控制器和文件服务器受到攻击后,系统管理员已被锁定在系统之外。在对受感染系统进行取证调查后,很明显最初的入侵是通过面向Internet的RDP跳转服务器进行的。
下图说明了攻击者如何设法获得初始访问权并开始感染整个场所的系统:
图1:攻击时间表
面向Internet的RDP服务器的事件后分析无法执行,因为它已被还原。但是,我们对受害机器的分析表明,攻击者使用的某些技术是异常且值得注意的:
· 为了在受害者的机器上实现持久性,攻击者使用了一种称为“ 图像文件执行选项”(IFEO)注入的技术 [ 2] 。IFEO设置存储在Windows注册表中。这些设置使开发人员可以选择在目标应用程序执行期间通过调试应用程序的附件来调试软件。
· 然后,在操作系统的Microsoft Windows屏幕键盘(OSK)功能旁边执行了后门操作:
图2:用于执行后门程序的注册表项
· 攻击者使用ProcessHacker实用程序禁用了组织的反恶意软件解决方案,并更改了Active Directory服务器的密码。这使受害者无法访问其系统。
· 大多数攻击者文件都带有时间戳,包括Java库和执行脚本,并且文件日期时间戳为2020年4月11日15:16:22:
图3:文件时间戳
最后,攻击者执行了Java勒索软件模块,对所有文件服务器进行了加密,包括连接到网络的备份系统。
样本分析
Tycoon勒索软件以ZIP存档的形式出现,其中包含Trojanized Java Runtime Environment(JRE)构建。该恶意软件被编译为Java映像文件(JIMAGE),位于构建目录中的lib \ modules。
JIMAGE是一种特殊的文件格式,用于存储自定义JRE映像,该映像设计用于Java虚拟机(JVM)在运行时使用。它包含支持特定JRE构建的所有Java模块的资源和类文件。该格式最初是在Java版本9中引入的,并且记录很少。与流行的Java存档格式(JAR)不同,JIMAGE主要是JDK内部的,很少被开发人员使用:
图4:恶意的“模块”文件;JIMAGE格式使用以0xDADAFECA签名开头的标头
OpenJDK9 jimage实用程序可以提取和反编译Java图像文件:
``` $ ./jimage --help Usage: jimage jimage... ```
提取后,勒索软件映像包含与一个名为“ tycoon”的项目相关的三个模块:
图5:ZIP存档的内容(左)和反编译的Java模块JIMAGE的结构(右)
勒索软件是通过执行shell脚本触发的,该脚本使用java -m命令运行恶意Java模块的Main函数。
恶意的JRE构建包含此脚本的Windows®和Linux®版本,这表明威胁因素也针对Linux®服务器:
图6:用于执行勒索软件的Shell脚本和Java“发布”文件
样本数据
恶意软件配置存储在项目的BuildConfig文件中,并包含以下信息:
· 攻击者的电子邮件地址
· RSA公钥
· 赎金说明的内容
· 排除清单
· 要执行的Shell命令列表
图7:示例配置值
图8:BuildConfig文件的一部分
攻击行为
执行后,该恶意软件将运行BuildConfig文件中指定的一组Shell命令:
vssadmin delete shadows /all /quiet
wmic shadowcopy delete
bcdedit /set {default} bootstatuspolicy ignoreallfailures
bcdedit /set {default} recoveryenabled no
wbadmin delete catalog -quiet
netsh advfirewall set currentprofile state off
netsh firewall set opmode mode=disable
将使用系统UUID值的SHA256哈希值中的前四个字节为每个受害者生成 一个install_id值。为了获取UUID,恶意软件执行以下wmic命令:
wmic csproduct get UUID
加密路径列表可以作为参数传递;或者,该恶意软件将生成系统中所有根路径的列表。将为路径列表中的每个项目创建一个单独的加密线程。
加密过程完成后,恶意软件将通过覆盖每个加密路径中的已删除文件来确保文件不可恢复。它使用嵌入式Windows实用程序cipher.exe来完成此任务:
图9:安全删除原始文件
文件加密
使用[Galois / Counter(GCM)模式 3]中 的AES-256算法,使用16字节长的GCM身份验证标签对文件进行加密,以确保数据完整性。使用java.security.SecureRandom函数为每个加密块生成一个12字节长的初始化向量(IV)。加密块的大小在BuildConfig中指定,并设置为10 MB,而模式设置则指定要在其中处理文件块的模式。通过跳过较大文件的一部分,攻击者可以在破坏文件并使其无法使用的同时加快加密过程。
对于每个加密路径,使用java.security.Secure.Random函数生成AES-256密钥数组。每个路径的最大密钥数是在BuildConfig中设置的,并且在样本之间可能有所不同。每个文件(或文件块,如果文件大于块大小)将使用不同的AES密钥加密,然后使用攻击者的RSA-1024公钥加密并保存在块元数据块中:
图10:AES密钥生成
添加到每个加密块的元数据包含以下内容:
· BuildConfig中指定的标头值
· 块索引(8个字节)
· 块大小(8个字节)
· 每块生成的AES IV(12字节)
· AES GCM标签(16字节)
· RSA加密的AES密钥方案(128个字节),包含: o受害者ID(4个字节) o AES密钥(32个字节) o受害者ID和AES密钥的SHA512哈希(64个字节)
图11:带有突出显示的元数据的加密文件
由于使用非对称RSA算法对安全生成的AES密钥进行加密,因此文件解密需要获得攻击者的私有RSA密钥。尽管从理论上讲可以分解1024位RSA密钥,但尚未实现,并且需要非凡的计算能力。
但是,在 BleepingComputer论坛 上寻求帮助的受害者之一[ 4] 存储了一个RSA私有密钥,该密钥大概来自从攻击者那里购买的受害者。事实证明,此密钥可以成功解密受最早版本的Tycoon勒索软件影响的某些文件,该版本向加密文件中添加了.redrum扩展名:
图12:解密的AES密钥元数据:install_id(红色),AES密钥(绿色),sha512哈希(蓝色)
图13:使用解密的AES密钥恢复.redrum文件
不幸的是,它不适用于最新的“ happyny3.1”版本,该版本在加密文件中添加了.grinch和.thanos扩展名。
0x06 分析总结
恶意软件编写者一直在寻找新的传播方式。它们正逐渐摆脱传统的混淆技术,转向不常见的编程语言和晦涩的数据格式。我们已经看到以Java和Go这样的语言编写的勒索软件有了大幅度的增长。这是我们遇到的第一个示例,该示例专门滥用Java JIMAGE格式来创建自定义的恶意JRE构建。
Tycoon已经在野存在了至少六个月,但受害人数似乎有限。这表明该恶意软件可能具有很高的针对性。它也可能是使用几种不同勒索软件解决方案的更广泛活动的一部分,这取决于在特定环境中被认为更成功的方法。
一些电子邮件地址中的重叠以及勒索文本和用于加密文件的命名约定,表明Tycoon与Dharma / CrySIS勒索软件之间存在联系。
0x07 IOCs
JIMAGE模块(lib \ modules):eddc43ee369594ac8b0a8a0eab6960dba8d58c0b499a51a717667f05572617fb 电子邮件地址:
· pay4dec[at]cock[.]lu
· dataissafe[at]protonmail[.]com
· dataissafe[at]mail[.]com
· foxbit[at]tutanota[.]com
· moncler[at]tutamail[.]com
· moncler[at]cock[.]li
· relaxmate[at]protonmail[.]com
· crocodelux[at]mail[.]ru
· savecopy[at]cock[.]li
· bazooka[at]cock[.]li
· funtik[at]tutamail[.]com
· proff-mariarti[at]protonmail[.]com
加密文件扩展名:
· thanos
· grinch
· redrum
加密文件签名:
· happyny3.1
· redrum3_0
RSA公钥(happyny3.1版本):
-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDa+whJSxr9ngcD1T5GmjDNSUEY
gz5esbymvy4lE9g2M3PvVc9iLw9Ybe+NMqJwHB8FYCTled48mXQmCvRH2Vw3lPkA
TrQ4zbVx0fgEsoxekqtb3GbK2NseXEeavCi5lo5/jXZi4Td7nlWTu27CluyxRSgv
L0O19CwzvckTM91BKwIDAQAB
-----END PUBLIC KEY-----
RSA私钥(redrum3_0版本):
-----BEGIN RSA PRIVATE KEY-----
MIICXQIBAAKBgQCyNELzNaPcGBlt2YEARamc+a+uyM8/mRadrMLLQ9tuzkppvdWI
iM/LH+xATZUgByknwzaMtRQZi6R2pQ8nBG6DxNtdhla33L+njQLTW+7wo1tSaaJz
6Of0FvCUZNPZ0mF5OrJO+Z6ZfDxafcwv653Ii7aTwaKlhjFoZijBMrA43wIDAQAB
AoGAPJ+I0yJBX0OXiwY+W3BXdj5+5LANyS30QqmeDvZDtRtat0RMW0lnn0t53JpI
DABDoPJJIW8MqnAWAALA994LFhk9jUtJTUgwsViyKL/Q/dOCeBPJU3xyXNkqhmCN
ImP4v7DxjvWp1pomrIIRCW68GkbB+cSGyLAzUo+1KHVh6LECQQDdL26UsVNsNYTX
rfv6BZItGO1HJHYTiz0cI82n4woZY2fS2lpBDEvy3Rl8E4Y7F9tQby4odDLHi/9l
RCeoif45AkEAzkDsPGauMmWsPXAbXrjzq3/0+MWgh7Vd8Gpgn83QUYjTO2RxtE1n
zAYzTLrFFtM8zmCAubpKM1dyi4Xs7hlv1wJBAJD5ofV8NT3b5nKn61z5gdJlYEEd
OPeecDOdlBLS0a/KZCbkT/wK300UdrvI4FajUHDsLsj9QLtim8f4YDYsHKECQQCX
R40+XD3mnyZvRbv9hQDMyKSglyvAfimxvgSzEZ17QDVWubygd6nrPpz/6XnH3RYb
dTLVhysHb1uHtKpslWGvAkAf0kivk9miSFnVeoO1XZumRAwrhTh6Rxhkg6MJCLBP
ThoY7wYXmV9zNPo02xYTvZlyhwnWspz4Kx4LsUutWmBs
-----END RSA PRIVATE KEY-----
勒索信息:
Hello!
All your documents, photos, databases and other important files have been ENCRYPTED! Do you really interested to restore your files?
If so, you must buy decipher software and private key to unlock your data!
Write to our email - %s and tell us your unique %s
We will send you full instruction how to decrypt all your files.
In case of no answer in 24 hours write us on additional e-mail address - %s
========================================================================================================================
FAQ FOR DECRYPTION YOUR FILES:
========================================================================================================================
* WHATS HAPPENED ???
Your files are NOT DAMAGED! Your files have been modified and encrypted with strong cipher algorithm. This modification is reversible. The only way to decrypt your files is to purchase the decipher software and private key. Any attempts to restore your files with the third-party software will be fatal for your files, because would damage data essential for decryption !
Note !!! You have only 24 hours to write us on e-mail or all your files will be lost or the decryption price will be "increased!"
====================================================================================
====================================
* HOW TO RECOVERY MY FILES ???
You have to pay for decryption in Bitcoins. The price depends on how fast you write to us. After payment we will send you the decipher software and private key that will decrypt all your files.
========================================================================================================================
* FREE DECRYPTION !!!
Free decryption as guarantee! If you don't believe in our service and you want to see a proof, you can ask us about test" for decryption. You send us up to 5 modified files. Use file-sharing service and Win-Rar to send files for test. Files have to be less than 1 MB (non archived). Files should not be important! Don't send us databases, backups, large excel files, etc. We will decrypt and send you your decrypted files back as a proof!"
========================================================================================================================
* WHY DO I NEED A TEST???
This is done so that you can make sure that only we can decrypt your files and that there will be no problems with the decryption!
========================================================================================================================
* HOW TO BUY BITCOINS ???
There are two simple ways to by bitcoins:
https://exmo.me/en/support#/1_3
https://localbitcoins.net/guides/how-to-buy-bitcoins
Read this information carefully because it's enough to purchase even in large amounts
========================================================================================================================
!!! ATTENTION !!!
!!! After 60 hours the price for your encryption will increase 10 percent each day
!!! Do not rename encrypted files.
!!! Do not try to decrypt your data using third party software, it may cause permanent data loss.
!!! Decryption of your files with the help of third parties