首页>软件资讯>常见问题

常见问题

通过Navicat进行供应链攻击的样本分析

发布时间:2022-11-15 10:30:31人气:691

导语

供应链攻击是指通过目标所使用的软件、工具、服务商等方式对目标进行网络攻击的行为,随着国家、企业对网络安全的重视程度越来越高,通过传统钓鱼、渗透等手法入侵一家公司变得越来越困难,因此供应链攻击成为了企业网络安全的新兴威胁。

安全解决方案公司Check Point的《网络攻击趋势:2022年安全报告》指出:2021年供应链攻击同比骤增650%。近年来,多起供应链攻击事件造成的恶劣影响,也让软件供应链的固有风险显露无遗,近几年影响巨大的供应链攻击事件有:


2015年 通过污染非官方渠道的Xcode传播XcodeGhost病毒导致大量苹果app感染。

2017年 NetSarang公司的Xshell软件被捆绑Gh0st后门导致大量公司被入侵。

2021年 远程IT服务管理软件Kaseya供应链污染事件,导致其大量用户遭受勒索软件攻击。

2021年 IT管理软件供应商SolarWinds供应链污染事件,导致微软、FireEye等大量公司被入侵。


随着企业供应链安全监管力度的加大和员工安全意识的增强,供应链攻击正向着变种多、隐蔽强的趋势发展。攻击手法包括但不限于:

通过捆绑,重打包等方式污染非官方渠道的开发、运维工具。

通过入侵开发、运维工具公司直接篡改工具源代码。

通过入侵具有远程管理权限的工具厂商。


我们结合近期的Navicat的攻击案例,针对第一种攻击方式:通过捆绑,重打包等方式污染非官方渠道的开发、运维工具进行探讨,我们建议使用如下防御思路:

根据公司的开发、运维需要对软件进行统一采购,在企业内部建立企业软件商店。


对于常用的开发、运维工具,加强员工安全教育,让员工在企业内部的软件商店或软件官网进行下载。

企业要在终端或服务器部署零信任、XDR等安全产品,此类安全产品不是基于软件的签名等静态特征检测,而是基于软件的异常行为进行检测和风险阻拦,可有效防御软件供应链攻击。


接下来就对一起捕获的样本(利用知名运维软件Navicat进行供应链攻击)进行详细分析,希望能对大家有所帮助。


1.样本的攻击流程:

近期我们发现有攻击者精心构造了多个迷惑性很高的Navicat官方网站,通过SEO优化抢占搜索结果,散播多种捆绑木马的Navicat软件,进行供应链攻击。一旦开发、运维人员被攻击成功,会对公司的网络安全构成极大的威胁。Navicat是一款知名的数据库管理软件、具有非常广泛的用户,用以方便管理 MySQL、Oracle、PostgreSQL、SQLite、SQL Server、MariaDB 和 MongoDB 等不同类型的数据库,是各类开发、运维从业人员的常用工具软件。以下是其中一个木马的具体攻击流程图:

通过Navicat进行供应链攻击的样本分析.png

图1. 仿冒navicat供应链攻击流程示意图


2.精心构造的Navicat下载站


2.1 水坑攻击:


攻击者针对国内用户精心构造了虚假的Navicat中文下载站,站点中包含几乎所有的Navicat公司产品,所有产品均捆绑了木马。伪造的网站包括但不限于navicat-cn.com、navicat-zh.com,系列网站域名均于近半年注册,还做了SEO优化,通过搜索引擎搜索navicat很容易被引流到该网站。此外,我们在多个下载站提供的navicat中也发现了该木马的多种不同变种。


通过Navicat进行供应链攻击的样本分析.png

图2. 仿冒的navicat官网之一


3.木马详细分析


 目前有多款navicat捆绑有木马,此外其他行业软件也有少部分捆绑了相似木马,以下针对navicat-zh.com网站下载的捆绑了木马的Navicat进行详细分析


3.1 初始木马植入


安装包是攻击者重新打包的,与正常的安装包在行为上并没有多大区别,因此几乎所有的安全软件都不会拦截该软件安装包,安装后木马和正常的navicat程序一同被释放到软件安装目录,文件名也做了深度伪装,看起来均与软件本身相关,十分隐蔽。而安装过程在桌面、开始菜单释放的快捷方式则直接指向木马文件,当用户每次双击快捷方式启动navicat的时候率先启动了木马,并由木马启动真正的navicat程序,此启动过程用户也难以察觉。


通过Navicat进行供应链攻击的样本分析.png

图3. 初始入侵示意图


3.1.1 安装过程会释放木马文件Navicat-version.dll、NAVICATlaunch.exe到安装目录中,并在桌面上释放Navicat Premium.lnk文件,该lnk文件直接指向木马文件和命令如下:


C:Program Files (x86)Navicat Premium 12NAVICATlaunch.exe" Navicat-version.dll cYreenQillmnavicat01


安装.png

图4. 快捷方式指向木马文件


3.1.2 木马使用dll侧加载(白加黑)技术,NAVICATlaunch.exe带有正常数字签名(Zhuhai Kingsoft Office Software Co.,Ltd)的白文件,该文件会加载通过命令行传入的dll名称和接口函数名(功能类似于rundll32)。


白文件的有效数字签名信息.png

图5. 白文件的有效数字签名信息


3.1.3 Navicat-version.dll使用伪造的数字签名, vmp加壳,并将功能代码全部虚拟化加密,开启反调试功能。


恶意dll的伪造数字签名信息.png

图6. 恶意dll的伪造数字签名信息


3.1.4 恶意dll启动后主要功能是连接C2:global.apple-cdn.com:8081,先接收payload大小后在内存中申请相应大小的内存,再接收payload,解密后作为shellcode执行。


下载payload过程数据包信息.png

图7. 下载payload过程数据包信息


3.1.5 解密后得到一个PE文件,在内存中展开并调用其fuckyou接口。


下载payload解密出PE文件并内存加载调用其fuckyou接口.png

图8,下载payload解密出PE文件并内存加载调用其fuckyou接口


内存加载的PE文件.png

图9,内存加载的PE文件


3.2 内存加载远控木马gh0st


经分析,内存加载的为远控控制木马,C2:jp.aws-oss[.]com,该木马与开源木马gh0st具有较高的相似性,功能与gh0st相似,包括键盘记录、文件管理、插件加载等功能。分析过程中,我们发现攻击者会向重点目标下发更加高级的远控木马PlugX。

3.2.1 连接C2成功后会发送机器名、系统版本、安装日期、木马版本、备注、杀软信息等上线,上线后接收控制端指令实现远程控制。


加密前的木马上线包内容.png

图10. 加密前的木马上线包内容


3.2.2 木马支持远控指令及对应的功能如下表:


指令


功能描述

0 重启、关机、注销等操作

1 卸载木马自身

2 修改host

3 修改group:分组信息

4 删除系统日志

5 下载执行文件

6 下载执行文件后删除

7 运行程序

8 隐藏窗口运行程序

9 接收文件

0xA MessageBox弹窗

0xB 查找进程

0xC 查找窗口

0xD 加载代理插件,调用OpenProxy接口

0xE 关闭代理

0xF 加载插件,调用PluginMe接口

...

表1. gh0st 木马远控指令及对应功能


gh0st远控命令分发相关代码.png

图11. gh0st远控命令分发相关代码


3.2.3 通过执行cmdshell命令向重点目标下发高级木马,执行curl命令,从139.5.200.6:13621下载了iTunesHelper.exe、CoreFoundation.dll、Apple.xml三个文件到C:UsersPublic目录并启动iTunesHelper.exe。


下发高级木马plugx行为日志.png

图12. 下发高级木马plugx行为日志


3.3 向重点目标下发后渗透远控木马plugX分析


在分析过程中,我们发现攻击者会向感兴趣的目标机器下发高级木马Plugx,该木马是一款功能十分强大的远程控制木马,常用于APT攻击,攻击者通过gh0st远控使用curl命令下发的三个恶意文件,是plugx木马经典的攻击组合,白文件+黑dll加载器+加密的payload数据文件,经分析此版本Plugx与之前公开曝光的相比绝大多数行为一致,但多了如下新功能:1)自动横向移动的线程,该线程会自动对内网共享机器进行横向渗透,将自身复制到目标机器运行。2)向lsass.exe注入BootCamps.sys文件,但分析过程中并未获取到该文件,疑似用于域渗透。


PlugX木马执行示意图.png

图13. PlugX木马执行示意图


3.3.1 下发的同样使用dll侧加载(白加黑)技术iTunesHelper.exe带有正常的数字签名(Apple Inc.),运行后会加载同目录下的CoreFoundation.dll。


白文件带有正常的数字签名.png

图14. 白文件带有正常的数字签名


3.3.2 恶意dllCoreFoundation.dll启动后会读取同目录下的Apple.xml文件解密后作为shellcode执行,该文件PDB:C:UsersAdministratorDesktopCoreFoundationReleaseCoreFoundation.pdb。


读取并解密Apple.xml后执行shellcode相关代码.png

图15. 读取并解密Apple.xml后执行shellcode相关代码


3.3.3 解密后的shellcode通过RtlDecompressBuffer解密出payload,经分析payload为Plugx木马,带有经典的PLUG标志。


代码中带有的大量PLUG特征标志.png

图16. 代码中带有的大量PLUG特征标志


3.3.4 随后创建傀儡进程Synchost.exe和msdt.exe将payload注入进程中,根据命令行参数不同分别实现与C2:steam.Ladygaag.com通讯和执行远程控制功能。


注入相关代码.png

图17. 注入相关代码


3.3.5 随后木马会将自身安装到


%ALLUSERSPROFILE%MicrosoftDiagnosisSquadcloud目录并创建服务持久化,具体配置信息如下图所示。


plugx远控配置硬编码信息.png

图18. plugx远控配置硬编码信息


3.3.6 与之前曝光的PlugX版本相比,多了自动横向移动线程,主要功能是自动查找内网中的共享机器,将木马拷贝到目标机器,并在目标机器启动目录中释放Update.vbs启动木马实现自动横移。


通过Navicat进行供应链攻击的样本分析.png

图19. 自动横移线程相关代码1


通过Navicat进行供应链攻击的样本分析.png

图20. 自动横移线程相关代码2


3.3.7 plugx远控的主指令及相关功能如下表:


指令功能描述

Disk 磁盘/文件操作,包括上传下载删除移动运行查找等

Nethood 枚举内网共享资源

Netstat 查询网络连接情况:TCP,UDP

Option 电源操作:关机、重启、锁屏、弹窗等

PortMap 端口映射

Process 进程操作:创建、枚举、结束进程操作

RegEdit 注册表操作:创建,删除、查询、修改等

Service 服务操作:创建删除查询修改等操作

Shell 启动CMDshell

SQL 数据库操作:列出数据库驱动,获取数据库信息,连接数据库

Telnet 启动telnet服务

表2. PlugX远控控制指令及功能描述表


通过Navicat进行供应链攻击的样本分析.png

图21. PlugX远控命令分发相关代码 


3.4 附录IOC


1a3d2691eab8d1b95103ddd105fcdb49    CoreFoundation.dll

af52b1cd6f51da77b8f6f69c8e5eca0a    Apple.xml

6ce6784df5fc5b8550c44f90382c2cdd    iTunesHelper.exe

d5632e4fbc93bae9f05a1cd74f4057e9    Navicat_Premium_cs_x64..exe

8b58f37fefc0665fff67f2b8c7d45d2b    NAVICATlaunch.exe

7dd07fff9d1d7aad98b1a00aabc3b12a    Navicat-version.dll

jp.aws-oss.com

global.apple-cdn.com:8081

steam.Ladygaag.com



上一条:ChemDraw绘制窗口的基本操作

下一条:11月-12月 Minitab 公开课培训计划新鲜出炉!