恶流涌动: 披露来自反盗版公司的钓鱼行动

2021-08-03 来源:安全豹作者:安全豹

一、事件概述

        近期,金山毒霸“捕风”威胁感知系统监控到一批潜伏已久的窃密木马活动痕迹,该木马家族通过伪装系统服务实现持久化驻留,并持续监控收集操作系统、硬件信息、软件列表、WIFI热点、网络架构、浏览器账号以及邮件列表等敏感信息。该家族早期版本可以追溯到2019年底,并在近2年期间持续变种保持活跃,从安全对抗、信息窃取、代码框架等方面都表现出较高的专业性。

        通过数据溯源,我们发现该家族的传播源表现出明显聚合性,主要通过篡改知名工业设计软件的破解安装包、捆绑注册机等方式植入初始感染文件,涉及厂商和软件包括:CATIA(法国Dassault System)、VCS(美国Synopsys) 、ANSYS(美国Ansys)等。上述厂商均为全球知名工业设计软件供应商,在CAD/CAE/EDA等高端软件领域处于垄断巨头地位,旗下软件在航空航天、国防军工、石油化工、土木建筑、电子芯片、生物医学等几乎所有工业领域被广泛应用。

样本具体信息

        我们最初认为这可能是一起通过软件供应链污染方式,针对工业领域目标群体的钓鱼窃密攻击。但是随着对样本同源性的进一步深入分析,发现该攻击事件的幕后谋划目的并不简单。通过字符串、通讯CC和代码特征等多维关联分析,我们发现其与美国Cylynt公司的反盗版解决方案产品SmartFlow存在极高关联性和代码相似度。该产品于2014年对外发布,主要以SDK方式集成到被保护软件,通过采集并分析软件使用者的系统信息、操作数据实现对应用破解、盗版许可的监控追踪,最终协助客户通过法律诉讼等方式实现正版用户转化。

产品对比

        如上图所示,通过相似代码特征分析,在滤波器设计软件Filter Solutions、数字滤镜软件Tiffen Dfx、3D建模设计工具SketchUp等多款工业设计软件中,我们均发现SmartFlow反盗版方案SDK的嵌入。但与这些通过用户协议授权的软件功能不同,本次捕获的变种样本存在非常明显的木马病毒化倾向。无论是网盘传播渠道的钓鱼传播方式,还是伪装正常系统服务实现持久化驻留,再到窃取用户隐私的定制化技术方案,甚至为了规避安全厂商检测查杀的代码加密保护,以上都表明本次钓鱼事件和相关样本行为已经严重超出安全底线。

定制化区别

        另外,从SmartFlow的官方主页[1]介绍我们可以了解到,该产品从2020年6月开始升级为Cylynt智能流合规解决方案,通过提供整合包括遥测数据和企业内部数据集等多个信息源,实现更广泛的软件即服务(SaaS)盗版市场情报平台,在时间线上和该家族的传播活跃轨迹基本吻合。从创始人Ted Miracco的采访新闻中也可以看到,针对国内某大型电子公司的反盗版诉讼是其首个成功案例[2],亚太地区尤其是中国一直是该公司的重点情报收集地区[3],从我们捕获的中文破解版诱饵安装包也可以侧面佐证这一推断。除此之外,我们通过Virustotal等安全平台的样本数据分析,在全球多个地区均发现该家族活动痕迹。

关键网页内容截图

        综上所述,我们可以初步判定本次攻击事件是一起由反盗版软件公司幕后组织发起的,针对全球工业设计软件盗版使用组织的钓鱼狩猎行动,目的在于通过木马技术手段长期监控收集用户敏感信息,转化为产品情报数据用于服务自身客户。

        “与恶龙缠斗过久,自身亦成为恶龙”,所以本次钓鱼攻击事件被毒霸安全团队命名为"恶流行动-EvilFlow"。作为一家软件公司,我们强烈认可并践行反盗版软件的价值理念,但另一方面,所谓正义目的不应该成为非法窃密行为的伪装外衣,作为一家安全公司,我们需要负责任地对非法窃取用户敏感数据的行为进行公开披露。


二、行为分析

        我们对捕捉到的3类样本进行分析对比,发现CATIA、VCS和ANSYS在目标用户的计算机中安装木马的手法一致,都是伪装成正常的系统服务,区别在于CATIA和ANSYS是通过替换破解安装包的文件嵌入木马程序,而VCS是通过捆绑注册机实现。首次发现案例来源于CATIA的中文破解版安装包,接下来以CATIA为代表阐述此次木马样本行为,具体流程如下图所示:

样本流程v1

        当目标用户下载安装盗版软件时,安装包会释放程序进行服务的注册和启动,通过内存解密加载PrsCore.dll实现隐私数据的收集,并将数据信息格式化后上传至云端。

(一)CATIA

        CATIA是全球领先的商业三维CAD设计软件。我们从“捕风”系统捕获的日志可知该用户下载“CATIA”的中文破解版安装包的渠道是百度网盘,其中安装包内的DSYAdmVC11preqInstaller.exe和DSYAdmVC11preq.exe文件被替换,DSYAdmVC11preq.exe会在系统中备份和启动DSYAdmVC11preqInstaller.exe程序。

CATIA

        在样本启动后释放了5个子文件,其中csns.rc和两个.exe文件是通过样本携带的资源释放,两个.bat文件由加密字符串解密后写入文件。释放文件具体信息如以下表格所示:

释放文件信息

1. 伪装系统服务持久化:.bat脚本

        文件名称随机生成,作用是通过命令行操作启动指定服务。内容来源是DSYAdmVC11preqInstaller程序,其中两个服务名称和描述都伪装成系统正常的服务内容。启动Network Connection Checker服务的脚本具体内容如以下文本所示,启动Service Counter Virtual DLL服务的脚本与此.bat文件内的处理流程基本一致。

::创建一个指定路径下的每次重新启动计算机时自动启动的窗口服务
sc create "Network Connection Checker" 
binPath= "C:\Windows\Temp\A3fjRGPfH8s4fJUiJJWJ\UU6zeVA9g912SX2XpzzV\n01ivrQBdyGo_rCXR_9d\Network Connection Checker.exe" 
DisplayName= "Network Connection Checker" start= auto
::超出86400s则服务失败,执行两次重启和一次执行操作
sc failure "Network Connection Checker" reset=86400 actions=restart/1000/restart/1000/run/1000
::设置服务的描述字符串
::网络连接检查器:检查允许 Windows 应用商店应用程序从 Internet 接收通知的连接。
sc description "Network Connection Checker" 
"Check connections that allow Windows Store Apps to receive notifications from the internet." 
:: 启动服务
sc start "Network Connection Checker"
::删除当前脚本
del C:\Windows\Temp\A3fjRGPfH8s4fJUiJJWJ\UU6zeVA9g912SX2XpzzV\n01ivrQBdyGo_rCXR_9d\{6C0B1108-F1E8-4EAE-8612-EAFC9E210285}.bat

2. 后门服务一:Service Counter Virtual DLL.exe

        服务程序由.bat文件创建并启动,在ServiceMain函数中执行了对csns.rc文件的解密操作,解密后为动态链接库PrsCore.dll,其后对此模块进行内存加载并获取导出信息收集相关功能函数供服务程序调用。资源文件解密和加载操作的部分代码实现如下图所示:

内存解密和加载

3. 窃密DLL:PrsCore.dll

此动态链接库一共导出以下4个函数,以下介绍函数的主要行为:

(1)ServiceMain_Run_Before和ServiceMain_Run_After

        - ServiceMain_Run_Before根据参数决定是服务报告还是服务监控行为,并且进行服务的初始化操作;

        - ServiceMain_Run_After服务数据的清理及内存释放工作。

(2)ServiceOSCommunication_ReportStop

        - 执行进程结束之前的清理工作;

        - 创建网络通讯的线程发送协议停止进程。

(3)ServiceMain_ThreadRun

        - 通过不断打开服务进行服务自身持久化的检查,实现长期隐蔽地采集目标用户信息;

        - 获取用目标用户的数据,包含时间信息、WIFI信息、系统信息、网络信息、库信息、邮件信息以及网络扫描器信息;

          以下表格展示了监控目标用户的信息汇总和内存截图:

GetUserInfo

          以下说明邮件信息的获取方式:

              a. Outlook:根据不同版本从注册表对应路径定位配置相关信息,通过枚举子项获取到邮件的用户账户名称。

              b. Chrome:从Chrome自动填充表单中获取项,通过文件路径读取数据库文件Login Data的数据来获取用户账号名称。

              c. IE:读取IE的表单历史记录,使用vaultcli.dll库(Windows保险库)枚举项目获取用户账号名称和URL。

              d. Firefox:读取Firefox的表单历史记录,通过文件路径定位配置文件夹的signons.sqlite文件,

                                再使用nss3.dll密码库获取解密后的用户账户名称和URL。

        - 与IP:54.225.164.82进行网络通信,此IP是在线托管SmartFlow Professional的亚马逊网络服务 (AWS) ,

           服务名为PHDLServer;

        - 通过校验破解文件的Hash值检查产品是否遭到篡改、破解;

          下图描述了样本对破解文件的校验代码以及破解文件名称与SHA512的对应关系:

CheckFile        - 收集运行环境信息,将请求的所有数据信息格式化并发送至服务器端,进行数据的采集与上报。

           服务端IP为54.225.164.82,此IP与正常内嵌Smartflow的产品共用。

网络通讯

4. 后门服务二:Network Connection Checker.exe

        此程序的逻辑与Service Counter Virtual DLL.exe基本一致但是体积具有较大差异,通过查看发现资源内部藏匿了一个PE文件”NetworkScanner“,此文件的作用是网络扫描器。执行NetworkScanner.exe时会释放两个文件,其中.test文件内容是窃取目标用户的网络数据,包含IP地址、主机名以及MAC地址,.dat文件是其加密格式。主要行为如图所示:

资源PE文件

        网络扫描器的资源中还内嵌了一份MAC地址和设备生产厂商名映射数据,未发现直接引用,推测被用于内网接入设备的扫描探测和识别信息收集。

Company

(二)Synopsys VCS

        Synopsys 是电子设计自动化软件工具的主导企业,致力于复杂的芯片上系统(SoCs)的开发,VCS 是业内最高性能的仿真引擎、约束条件解算器引擎。通过样本溯源发现,与其他直接篡改破解安装包的植入方式不同,针对VCS的攻击诱饵,是通过在其外部广为流传的注册机程序scl_keygen.exe中捆绑后门实现。

Synopsys注册机信息

        此样本将服务名伪装成智能卡缓存(Smart Card Cache)和系统代理(System Broker),描述分别为“Enables data caching for smart card readers.”和“Monitors execution of background processes and coordinates their work.”,实际功能与CATIA样本的两个服务一致。其释放的smsp.imp在内存解密装载后是PrsCore.dll。此样本中服务端IP是54.87.181.244,如下图所示,其关联域名大多伪装成升级检查或者数据服务等类型。

Synopsys

(三)Ansys

        美国ANSYS公司的大型通用有限元分析软件,在全球众多行业中被工程师和设计师广泛采用,是现代产品设计中的高级计算机辅助工程工具之一。通过日志我们可以发现安装包内篡改了AnsConfigCommonInstaller.exe和AnsConfigCommon.exe两个文件,在运行时同样创建了两个服务,如下图所示:

ANSYS        此样本同样将服务名进行了伪装,一个名称是Windows错误检查器(Windows Error Checker.exe),描述服务的字符串是“Allows checking for errors when programs no longer work properly.”,另一个名称是虚拟音频服务(Virtual Audio Service.exe),描述服务的字符串是“Provides management services for mixed reality audio simulation.”,imp.csnj为PrsCore.dll的加密文件。释放文件的具体信息在以下表格列出:

ANSYS释放文件此样本中服务端的IP为54.225.164.82,仍是和正常软件的服务端复用,与CATIA样本一致。


三、结论

        盗版软件历来是病毒木马传播的温床,前段时间毒霸安全团队刚刚披露过国外黑客组织伪造破解软件下载站群大肆传播STOP勒索病毒[4],从这些安全事件可以看出,紧盯着盗版软件的不仅仅是黑客组织,还有反盗版软件公司和软件厂商。用户使用破解版软件的行为,不仅对于正规软件厂商利益是一种巨大损害,于己而言更存在巨大的网络安全风险和法律风险。

        当前软件安全问题影响已经广泛地渗透到我国基础互联网的各个领域,工业网络安全更是国家网络安全的重中之重,我们呼吁国内工业领域相关厂商参照本文公开披露的IOC信息应进行积极自查,避免内部破解软件意外使用带来的敏感信息泄露和法律诉讼风险。


IoCs(部分)

MD5

7c43585653f4166836016d36dc68288b 

d93b369071ea0e9657c9bed68431ab61

4fd9a93cc45d31f786970d37f3fea54d

b36b0f672e52eb1d7f6cf55384f338ec

b1ae71f946adf1eb2e757366d729e880

f1e1eba3ccb167b8fd049b939d54c609 

b7a579d2dd685485718cbfa0b0f8ea3e

c94dda6cf976ac83bc59753b78fac573

2ab727e50e89976c44452b8270b29496

3f99f76ca1cb4c998c8c4ccc9ca0e3c0

27fc98cc8f319c04ea2b909fe06d31c8

3680cd403620901fad99e813cdf3aed7

036048692942635706c424a4912be1f9

1f5152b3d4168b7335f949abc7bb08c4

2c895039f3992d6779e4b681493a6923

3fd894b1deb1fb4344f080e001b4232e

1c4ab48dd313e1725cf68f3e5b11d7b1

2a82b71512182d224feeb78d14c79483

8b0442c32a4949527c25699b3b8dfdf8

41f46d5f2b334d0bb579943bc90f0108

436c7e268b030295199d73084b5cc8f0

26835aa6c68d5bd7c601ab442c72742b

dbd526d46a9f45160d99081fd509288a

e3ea84b47bbc5e052bda82645fc2998b

YARA规则

rule EvilFlowServices
{
    meta:
        description = "Malicious service of EvilFlow"
        author = "kingsoft internet security"
        date = "2021-08-02"
        hash = "4fd9a93cc45d31f786970d37f3fea54d|b36b0f672e52eb1d7f6cf55384f338ec"
    strings:
        $func1_string = "ServiceMain_Run_Before" fullword
        $func2_string = "ServiceMain_Run_After" fullword
        $func3_string = "ServiceMain_ThreadRun" fullword
        $func4_string = "ServiceOSCommunication_ReportStop" fullword
        $ServiceMonitoring_string = "tcmztd2M+HkXkBy/cTZMDDJCn7mn6gKquZtXf+n9HNQ2Oc8TTnaMwU6GNcZylTKb" fullword
        $console_string = "dSkS+FFYfBI/H7vjZxLcz4oWbsZYUC56v2l7njhMdJA=" fullword
    condition:
        uint16(0) == 0x5a4d and 4 of them
}

rule EvilFlowInstaller
{
    meta:
        description = "Malicious installer of EvilFlow"
        author = "kingsoft internet security"
        date = "2021-08-02"
        hash = "7c43585653f4166836016d36dc68288b|b1ae71f946adf1eb2e757366d729e880"
    strings:
        $systemdrive_string = "HKT4aEPcgXRo0rXdX5WvX/1ziRQ/089COUMIJ2P4K0c=" fullword
        $Executable_string  = "asC+MzzZB97r/E42lxjXQyU9nBQ3Z3Rt74eSK4m6VJ4=" fullword
        $WindowsTemp_string = "nhQ+Tepq0xFYL5i/kvI2c5vShwh1PxgIjwikT3XAXfU=" fullword
    condition:
        uint16(0) == 0x5a4d and 3 of them
}

C&C (IP)

54.225.164.82 (此IP与内嵌smartflow的正常软件复用)

54.87.181.244

100.24.182.26

C&C(URL)

http://data-msversion.net/Update/gls

http://winimgserv.com/Update/cnv

http://asmstatic-channel.com/Update/cnvd

http://asmstatic-channel.com/Update/upd

http://asmstatic-channel.com/Update/cnv

http://asmstatic-channel.com/Update/gls

http://winimgserv.com/Update/cnvd

http://asmstatic-channel.com/Update/scc




[1] SmartFlow Compliance Solutions Becomes Cylynt, Leverages (globenewswire.com):https://www.globenewswire.com/en/news-release/2020/06/01/2041261/0/en/SmartFlow-Compliance-Solutions-Becomes-Cylynt-Leverages-Anti-Piracy-Expertise-to-Expand-into-Usage-Analytics-and-Software-Monetization.html

[2] Ted Miracco of Cylynt: 5 Things You Need To Know To Tighten Up Your Company’s Approach to Data Privacy and Cybersecurity | by Jason Remillard | Authority Magazine | Medium:https://medium.com/authority-magazine/ted-miracco-of-cylynt-5-things-you-need-to-know-to-tighten-up-your-companys-approach-to-data-4c6275c940b6

[3] SmartFlow Compliance Solutions: Taking the offensive on Software (edacafe.com):https://www10.edacafe.com/blogs/ipshowcase/?p=1719

[4]"毒群"家族:勒索、窃密组团来袭 (ijinshan.com):https://www.ijinshan.com/info/202107121420.shtml