Analysis and Attribution of the Eternity Ransomware: Timeline and Emergence of the Eternity Group
by CloudSEK Threat Intelligence
原文地址:https://cloudsek.com/analysis-and-attribution-of-the-eternity-ransomware-timeline-and-emergence-of-the-eternity-group/
翻译:梦幻的彼岸
研究人员: Rishika Desai, Anandeshwar Unnikrishnan
| 种类:
攻击者情报 | 行业:
多样 | 动机:
经济 | 地区分布:
Global | 来源:
D4 |
| ----------------------- | ------------------ | ----------------- | ----------------------- | --------------- |
内容提要
CloudSEK的情境AI数字风险平台XVigil发现了一个被名为Eternity的以财务为动机的威胁行为组织,正在互联网上运营,出售蠕虫、窃取程序、DDoS工具和勒索软件生成器
L1ghtM4n被怀疑是 "Eternity团队 "的经营者之一
Eternity勒索软件的时间线
Eternity "勒索软件团队的原始运营商的活动可以追溯到几年前,当时他们在多个论坛上以不同的名字(Vulturi Stealer、Jester Malware等)积极运作。然而,最初的威胁行为者在GitHub上以 "L1ghtM4n "的名义运作,这可以解释为 "LightMan"。由该行为人维护的Github资源库,有各种项目。基于L1ghtM4n的活动,CloudSEK的研究人员已经绘制出了开发Eternity恶意软件的活动图。
分析
Eternity勒索软件组织在多个渠道上都很活跃,并在所有渠道上提供各种更新,这表明该集团可能是以集团的形式运作。该集团最近出售的勒索软件生成器,正在获得整个威胁行为者的青睐。CloudSEK研究人员发现了L1ghtM4n的GitHub仓库,他被怀疑是Eternity的运营商之一。
Eternal 勒索软件的技术分析
最近,CloudSEK的威胁情报研究团队发现了一个Eternity勒索软件的样本,它可以加密文件并留下勒索信。
加密前的操作
- 该勒索软件是用C#/.NET编写的,因为数据启动后会生成一个随机密码,这在加密操作中起着关键作用。下面的图片显示了密码启动和分配给变量 "password "的过程。
- 下图所示的函数负责生成密码。
- 在成功完成密码生成后,该恶意软件执行 "Encrypt_pass "函数,以安全地存储密码,以便解密。
- Encrypt_pass函数如下所示。密码字符串使用RSA加密算法进行加密。提供给算法的参数是N个XML字符串的格式,包含算法所需的模数和指数。
- 有趣的是,在对密码字符串进行加密后,该恶意软件使用Base64编码方案对加密数据进行编码。编码后的数据会以 "sendme.eternityraas "文件的形式存储在目标设备的桌面目录下。这个文件非常重要,因为解密时需要它。
- 在系统中的用户数据成功加密后,该恶意软件指示用户将 "sendme.eternityraas "文件的副本与ID一起通过邮件发送给攻击者。
- 在支付800美元的赎金要求后,攻击者将从 "sendme.eternityraas "文件中获取的密码发送给用户。然后,该恶意软件启动了解密过程。
加密进程
- 恶意软件通过执行函数 "start "来启动加密进程。
- 本地和网络驱动器都被恶意软件列举出来。以迭代的方式,每个驱动器中的文件都通过执行 "Attack "函数进行加密处理,如下图所示。
- 每个目录都被处理,如下图所示。恶意软件保留了一个非常长的加密扩展名列表,并检查被处理文件的扩展名是否在该列表中。如果文件通过了检查,恶意软件就会通过执行 "ProcessFile "函数选择该文件进行进一步处理。
- 具有以下扩展名的文件将被该恶意软件加密。
“pdf”, “pps”, “ppt”, “pptm”, “pptx”, “ps”, “psd”, “vcf”, “xlr”, “xls”, “xlsx”, “xlsm”, “ods”, “odp”, “indd”, “dwg”, “dxf”, “kml”, “kmz”, “gpx”, “cad”, “wmf”, “3fr”, “ari”, “arw”, “bay”, “bmp”, “cr2”, “crw”, “cxi”, “dcr”, “dng”, “eip”, “erf”, “fff”, “gif”, “iiq”, “j6i”, “k25”, “kdc”, “mef”, “mfw”, “mos”, “mrw”, “nef”, “nrw”, “orf”, “pef”, “png”, “raf”, “raw”, “rw2”, “rwl”, “rwz”, “sr2”, “srf”, “srw”, “x3f”, “jpg”, “jpeg”, “tga”, “tiff”, “tif”, “ai”, “3g2”, “3gp”, “asf”, “avi”, “flv”, “m4v”, “mkv”, “mov”, “mp4”, “mpg”, “rm”, “swf”, “vob”, “wmv”, “txt”, “php'”, “html”, “tar”, “gz”, “sql”, “js”, “css”, “txt”, “pdf”, “tgz”, “war”, “jar”, “java”, “class”, “ruby”, “py”, “cs”, “zip”, “db”, “doc”, “xls”, “properties”, “xml”, “jpg”, “jpeg”, “gif”, “mov”, “avi”, “wmv”, “mp3”, “mp4”, “wma”, “acc”, “wav”, “pem”, “pub”, “docx”, “apk”, “exe”, “dll”, “tpl”, “psd”, “asp”, “phtml”, “aspx”, “csv”, “sql”, “mp4”, “7z”, “rar”, “m4a”, “wma”, “avi”, “wmv”, “csv”, “d3dbsp”, “zip”, “sie”, “sum”, “ibank”, “t13”, “t12”, “qdf”, “gdb”, “tax”, “pkpass”, “bc6”, “bc7”, “bkp”, “qic”, “bkf”, “sidn”, “sidd”, “mddata”, “itl”, “itdb”, “icxs”, “hvpl”, “hplg”, “hkdb”, “mdbackup”, “syncdb”, “gho”, “cas”, “svg”, “map”, “wmo”, “itm”, “sb”, “fos”, “mov”, “vdf”, “ztmp”, “sis”, “sid”, “ncf”, “menu”, “layout”, “dmp”, “blob”, “esm”, “vcf”, “vtf”, “dazip”, “fpk”, “mlx”, “kf”, “iwd”, “vpk”, “tor”, “psk”, “rim”, “w3x”, “fsh”, “ntl”, “arch00”, “lvl”, “snx”, “cfr”, “ff”, “vpp_pc”, “lrf”, “m2”, “mcmeta”, “vfs0”, “mpqge”, “kdb”, “db0”, “dba”, “rofl”, “hkx”, “bar”, “upk”, “das”, “iwi”, “litemod”, “asset”, “forge”, “ltx”, “bsa”, “apk”, “re4”, “sav”, “lbf”, “slm”, “bik”, “epk”, “rgss3a”, “pak”, “big”, “wallet”, “wotreplay”, “xxx”, “desc”, “py”, “m3u”, “flv”, “js”, “css”, “rb”, “png”, “jpeg”, “txt”, “p7c”, “p7b”, “p12”, “pfx”, “pem”, “crt”, “cer”, “der”, “x3f”, “srw”, “pef”, “ptx”, “r3d”, “rw2”, “rwl”, “raw”, “raf”, “orf”, “nrw”, “mrwref”, “mef”, “erf”, “kdc”, “dcr”, “cr2”, “crw”, “bay”, “sr2”, “srf”, “arw”, “3fr”, “dng”, “jpe”, “jpg”, “cdr”, “indd”, “ai”, “eps”, “pdf”, “pdd”, “psd”, “dbf”, “mdf”, “wb2”, “rtf”, “wpd”, “dxg”, “xf”, “dwg”, “pst”, “accdb”, “mdb”, “pptm”, “pptx”, “ppt”, “xlk”, “xlsb”, “xlsm”, “xlsx”, “xls”, “wps”, “docm”, “docx”, “doc”, “odb”, “odc”, “odm”, “odp”, “ods”, “odt”, “odt”, “ods”, “odp”, “odm”, “odc”, “odb”, “doc”, “docx”, “docm”, “wps”, “xls”, “xlsx”, “xlsm”, “xlsb”, “xlk”, “ppt”, “pptx”, “pptm”, “mdb”, “accdb”, “pst”, “dwg”, “dxf”, “dxg”, “wpd”, “rtf”, “wb2”, “mdf”, “dbf”, “psd”, “pdd”, “pdf”, “eps”, “ai”, “indd”, “cdr”, “dng”, “3fr”, “arw”, “srf”, “sr2”, “mp3”, “bay”, “crw”, “cr2”, “dcr”, “kdc”, “erf”, “mef”, “mrw”, “nef”, “nrw”, “orf”, “raf”, “raw”, “rwl”, “rw2”, “r3d”, “ptx”, “pef”, “srw”, “x3f”, “der”, “cer”, “crt”, “pem”, “pfx”, “p12”, “p7b”, “p7c”, “jpg”, “png”, “jfif”, “jpeg”, “gif”, “bmp”, “exif”, “txt”, “3fr”, “accdb”, “ai”, “arw”, “bay”, “cdr”, “cer”, “cr2”, “crt”, “crw”, “dbf”, “dcr”, “der”, “dng”, “doc”, “docm”, “docx”, “dwg”, “dxf”, “dxg”, “eps”, “erf”, “indd”, “jpe”, “jpg”, “kdc”, “mdb”, “mdf”, “mef”, “mrw”, “nef”, “nrw”, “odb”, “odm”, “odp”, “ods”, “odt”, “orf”, “p12”, “p7b”, “p7c”, “pdd”, “pef”, “pem”, “pfx”, “ppt”, “pptm”, “pptx”, “psd”, “pst”, “ptx”, “r3d”, “raf”, “raw”, “rtf”, “rw2”, “rwl”, “srf”, “srw”, “wb2”, “wpd”, “wps”, “xlk”, “xls”, “xlsb”, “xlsm”, “xlsx”, “wb2”, “psd”, “p7c”, “p7b”, “p12”, “pfx”, “pem”, “crt”, “cer”, “der”, “pl”, “py”, “lua”, “css”, “js”, “asp”, “php”, “incpas”, “asm”, “hpp”, “h”, “cpp”, “c”, “7z”, “zip”, “rar”, “drf”, “blend”, “apj”, “3ds”, “dwg”, “sda”, “ps”, “pat”, “fxg”, “fhd”, “fh”, “dxb”, “drw”, “design”, “ddrw”, “ddoc”, “dcs”, “csl”, “csh”, “cpi”, “cgm”, “cdx”, “cdrw”, “cdr6”, “cdr5”, “cdr4”, “cdr3”, “cdr”, “awg”, “ait”, “ai”, “agd1”, “ycbcra”, “x3f”, “stx”, “st8”, “st7”, “st6”, “st5”, “st4”, “srw”, “srf”, “sr2”, “sd1”, “sd0”, “rwz”, “rwl”, “rw2”, “raw”, “raf”, “ra2”, “ptx”, “pef”, “pcd”, “orf”, “nwb”, “nrw”, “nop”, “nef”, “ndd”, “mrw”, “mos”, “mfw”, “mef”, “mdc”, “kdc”, “kc2”, “iiq”, “gry”, “grey”, “gray”, “fpx”, “fff”, “exf”, “erf”, “dng”, “dcr”, “dc2”, “crw”, “craw”, “cr2”, “cmt”, “cib”, “ce2”, “ce1”, “arw”, “3pr”, “3fr”, “mpg”, “jpeg”, “jpg”, “mdb”, “sqlitedb”, “sqlite3”, “sqlite”, “sql”, “sdf”, “sav”, “sas7bdat”, “s3db”, “rdb”, “psafe3”, “nyf”, “nx2”, “nx1”, “nsh”, “nsg”, “nsf”, “nsd”, “ns4”, “ns3”, “ns2”, “myd”, “kpdx”, “kdbx”, “idx”, “ibz”, “ibd”, “fdb”, “erbsql”, “db3”, “dbf”, “db-journal”, “db”, “cls”, “bdb”, “al”, “adb”, “backupdb”, “bik”, “backup”, “bak”, “bkp”, “moneywell”, “mmw”, “ibank”, “hbk”, “ffd”, “dgc”, “ddd”, “dac”, “cfp”, “cdf”, “bpw”, “bgt”, “acr”, “ac2”, “ab4”, “djvu”, “pdf”, “sxm”, “odf”, “std”, “sxd”, “otg”, “sti”, “sxi”, “otp”, “odg”, “odp”, “stc”, “sxc”, “ots”, “ods”, “sxg”, “stw”, “sxw”, “odm”, “oth”, “ott”, “odt”, “odb”, “csv”, “rtf”, “accdr”, “accdt”, “accde”, “accdb”, “sldm”, “sldx”, “ppsm”, “ppsx”, “ppam”, “potm”, “potx”, “pptm”, “pptx”, “pps”, “pot”, “ppt”, “xlw”, “xll”, “xlam”, “xla”, “xlsb”, “xltm”, “xltx”, “xlsm”, “xlsx”, “xlm”, “xlt”, “xls”, “xml”, “dotm”, “dotx”, “docm”, “docx”, “dot”, “doc”, “txt”, “odt”, “ods”, “odp”, “odm”, “odc”, “odb”, “doc”, “docx”, “docm”, “wps”, “xls”, “xlsx”, “xlsm”, “xlsb”, “xlk”, “ppt”, “pptx”, “pptm”, “mdb”, “accdb”, “pst”, “dwg”, “dxf”, “dxg”, “wpd”, “rtf”, “wb2”, “mdf”, “dbf”, “psd”, “pdd”, “pdf”, “eps”, “ai”, “indd”, “cdr”, “jpg”, “jpe”, “jpg”, “dng”, “3fr”, “arw”, “srf”, “sr2”, “bay”, “crw”, “cr2”, “dcr”, “kdc”, “erf”, “mef”, “mrw”, “nef”, “nrw”, “orf”, “raf”, “raw”, “rwl”, “rw2”, “r3d”, “ptx”, “pef”, “srw”, “x3f”, “der”, “cer”, “crt”, “pem”, “pfx”, “p12”, “p7b”, “p7c
- 如下图所示,"ProcessFile "函数最初检查所选文件是否被标记。
- 这种验证是通过检查文件的前3个字节的标记 "Eth "来完成的。如果文件没有标记,那么函数 "ProcessFile "就会调用另一个函数 "EncryptFile "来锁定该文件。
- 当涉及到目录枚举时,该恶意软件跳过了以下目录中的文件:
- “All Users\Microsoft\”
- “$Recycle.Bin”
- “C:\Windows”
- “C:\Program Files”
- “Temporary Internet Files”
- “AppData\”
- “\source\”
- “C:\ProgramData”
- “\Eternity\”
- 下图显示了该恶意软件使用的文件加密功能。该恶意软件使用AES加密方案来锁定用户数据。在写入加密数据之前,恶意软件首先在文件中写入标记字节,如下图所示。对应于 "Eth "的字节被添加到加密数据中,作为初始的3个字节。
加密后的操作
加密后,该恶意软件继续执行三个函数。"DestroyCopy"、"SetStartup "和 "CreateUI"。
销毁副本-DestroyCopy
这个函数,顾名思义,通过WMI破坏数据的备份副本。如下图所示,该恶意软件访问WMI "Win32_ShadowCopy "类,并执行Delete()方法。在执行 "Delete "时,备份数据被删除,用户被阻止执行数据备份以恢复被锁定的文件。
设置开机启动-SetStartup
这个函数将 "Eternity "写成 "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run "中的一个新值,它指向勒索软件的二进制文件,如下图所示。这将在用户每次登录系统时执行该勒索软件。
下面的图片是执行恶意软件样本 "sam.exe "后的运行键的注册表快照。
创建用户-CreateUI
这个功能在勒索软件的操作中起着至关重要的作用。它发起并启动了一个Windows Form,如下图所示。Windows窗体是桌面应用程序的用户界面元素。恶意软件有一个名为PayM3的类,它代表了 Form。CreateUI函数将所需的数据实例化并执行表单。
一旦Form被执行,就会产生一个弹出窗口,如下图所示。解密逻辑与该 Form相关联。如前所述,当用户提交由勒索软件生成的正确密码时,该 Form将启动解密程序。由于 Form对数据的解密至关重要,复杂得多的勒索软件会勾住键盘,以便用户不会关闭窗口,即使是意外。
截获Keyboard函数的钩子
前面提到的Form在函数PayM3_Load中植入了一个keyboard钩子,以拦截用户键盘上的事件,如下图所示。回调函数 "LowLevelKeyboardProc "和 "SetWindowsHookEx "被用来钩住用户键盘。而每当用户按下一个键,系统就会执行恶意软件提供的函数 "captureKey"。虽然键盘钩子在后门程序和僵尸程序中是一个微不足道的机制,但在这个例子中,这个钩子被用来实现一个不同的结果。
下图中显示的钩子确保用户没有明确或意外终止Form。 该钩子只对拦截 Shift/ Alt/ CTRL/ Windows 键等修饰键感兴趣。通常,用户利用它来强制终止程序或执行其他任务,例如在 Windows 上打开任务管理器。Eternity 勒索软件的运营商将此作为攻击者恶意软件的故障安全功能。该钩子只是检查按下的键是否是修饰键。如果是,那么它只是简单地执行一个返回,确保按下的键没有被系统注册。
在向 Form提交有效密码后,它将执行一个名为 "UndoAttack "的函数,对锁定的数据进行解密。
近期事件
- 最近,CloudSEK的威胁研究团队发现了一个Eternity勒索软件的样本,它可以加密文件并留下勒索信。
Eternity 勒索软件的勒索记录 [来源:Triage]
- 为了获得解密密钥,受害者需要联系以下通信渠道:
- 根据CloudSEK的调查,这个勒索软件与Eternity Malware捆绑在一起。
L1ghtM4n, Jester, 和Eternity之间的联系
- 根据我们的技术分析,开发并发布在Github L1ghtM4n存储库上的模块是由Jester恶意软件获取的。
- L1ghtM4n 的详细信息与 Eternity 团队提供的沟通渠道相同,并且该威胁参与者的技术技能与恶意软件开发高度相关。
- 与 L1ghtM4n 相关的恶意软件团队发布的所有教程和数据都以俄语共享,表明了威胁的来源。
- CloudSEK研究人员认为,在Virology学培训期间,为不同语言的学员提供的招聘计划有一点可能组成Eternity的事例之一。
- TEternity, Jester, Lilith, 和 Merlyn 的广告都采用了类似的艺术涂鸦方法,这是另一种观察,有助于暗示,轻微信任,他们之间可能存在某种联系。
影响和缓解措施
参考资料
- https://en.wikipedia.org/wiki/Intelligence_source_and_information_reliability
- https://en.wikipedia.org/wiki/Traffic_Light_Protocol
- Hybrid Analysis
附录
联系方式
样本和图片证明
Eternity 运营商提供的首批窃取程序之一 --Vulturi项目
Jester恶意软件的技术分析提取了链接到Github L1ghtM4n存储库的字符串
Jester恶意软件招募人员进行病毒开发培训
Eternity蠕虫在一个英语网络犯罪论坛上做广告
Eternity组织的TOR网站提供的通信模式
威胁者提供的教程表明他们来自俄罗斯
托管Eternity组织服务的TOR网站
发现Jester 与 Eternity的广告有惊人的相似之处
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论