胆大包天:GitHub出现针对信息安全专业人员的木马

Dr.Web AV-Desk新闻 | Hot news | Doctor Web公司新闻

Doctor Web反病毒实验室专家持续关注GitHub仓库被感染事件。我们在被感染仓库中的Microsoft Visual Studio开发环境项目的.suo和.csproj文件以及Python和Go语言的源代码文件发现恶意代码。最终载荷是应用程序Microsoft.exe,能够巧妙地绕过各层防护,可实现后门、剪切板劫持功能,能够窃取用户的重要数据。本案例最特殊的细节在于这些恶意项目针对的不止是加密游戏玩家,还针对信息安全方面的专业人员专家。在我们开始对其进行分析时,已有超过2000台电脑被感染。

感染源

首批被感染的仓库出现在两年前。早期版本针对的是加密钱包用户,因为攻击者发布的是Visual Studio项目仓库,用于加密游戏以及于这些游戏相关机器人和作弊工具。

用于Telegram游戏Catizen的被感染仓库示例

此类仓库中包含:

  • 带有PreBuildEvent指令的.csproj文件,该指令会在项目编译前运行恶意代码,
  • 内嵌PowerShell命令的.suo文件。

攻击者还特别“关照”不具备足够技术能力自行操作的用户,附上了如何安装Visual Studio并克隆仓库的说明。

内含恶意代码的 .csproj 文件

然而,目前病毒编写者已转向另一目标群体——信息安全专家,隐藏恶意软件的项目类型已扩展到扫描自动化、系统安全测试和日志分析。除了之前的载荷,还新增了 .go 和 .py两个 文件,将恶意代码隐藏在大段空格之后。在被感染仓库中发现了多个攻击者的地址:

  • muckanthropic[.]com
  • muckduck.duckdns[.]org
  • muckcoding[.]com
  • muckdeveloper[.]com
  • 130.12.182[.]172

被感染仓库中有用于解析、清理和Fscan结果格式化的脚本

内含恶意代码的Python文件

内含恶意代码的Golang文件

感染流程

PowerShell.Packed.270

被感染文件下载后会在用户计算机运行PowerShell脚本。可能的路径示例如下:

  • C:\Users\Public\Pictures\t.ps1,
  • C:\Users\Public\Pictures\L.ps1.

PowerShell.Packed.270

这个脚本既能连攻击者的服务器,也能访问YouTube、Telegram、Google文档、GitCode、Pastebin这些正常服务。

Pastebin Pastebin服务上的加密字符串

木马从那里获取一个字符串,解密后会变成指向压缩包 Quixo.7z 的链接。随后,会从攻击者的服务器或GitHub下载这个压缩包,并解压到目录 C:\ProgramData\Windows.Microsoft.Photos。

Microsoft.exe (Trojan.Loader.3261)

压缩包内是一个基于Electron框架编写的应用程序,也就是能造成了实际损害恶意软件。该木马具有复杂的模块化结构,截至撰写本文时的版本为1.4.5。Trojan.Loader.3261功能广泛,包括:

  • 下载 Nexara.7z 文件:其中包含加密的有效载荷、配置文件和辅助文件;
  • 收集电脑信息,并通过Telegram机器人发送给攻击者;
  • 将自身添加至开机自启动项;
  • 通过两种不同方式提升权限;
  • 关闭Windows Defender、UAC、通知、系统还原、VSS(卷影复制服务);
  • 添加Windows Defender排除项;
  • 将恶意文件注入合法进程(BackDoor.AsyncRAT.115、Trojan.InjectNET.14);
  • 从 Nexara/Nvdia.7z 压缩包中解压并启动附加载荷(JS.Stealer.191);
  • 卸载McAfee、ESET和Malwarebytes反病毒软件;
  • 修改 C:\windows\system32\drivers\etc\hosts 路径下的文件。

病毒编写者将恶意文件注入方式命名为mode3、mode2、mode3non和handler。下面我们来逐一分析一下。

Mode3

开发者编写这个模块的目的是绕过防护系统,采用了一系列技术手段。

  • PPID spoofing——将父进程的PID替换为 explorer.exe 的标识符。
  • Smart App Control bypass——绕过防护功能Smart App Control,该功能会在不可信或潜在危险程序运行前将其拦截。木马通过修改Windows注册表中 VerifiedAndReputablePolicyState 参数的值来达到绕过这一功能。
  • Ntdll.dll unhooking——让系统库 ntdll 中设置的挂钩失效,例如由EDR系统设置的挂钩。木马会从磁盘读取原始的 ntdll.dll,并将其与进程中现有的版本进行比较。若发现类似挂钩的指令,便依据该库的原始数据将其覆写。
  • Halo's Gate——可经由syscall直接调用Windows系统函数,从而使EDR难以拦截调用。木马会提取实现注入所需的NT函数的SSN编号。
  • ETW patch——通过在进程内存中打补丁修改 ntdll.dll!EtwEventWrite,关闭 Event Tracing for Windows 遥测。
  • AMSI patch——修改 amsi.dll 库中的 AmsiScanBuffer 函数,导致进程中运行的脚本不会被送交反病毒软件进行检查。

一旦成功绕过防护,木马就会从 RegAsm.exe、dwwin.exe、dwm.exe 这几个进程里挑出一个进行注入。恶意模块放在从 Nexara.7z 解压出来的 boot_f、kernel_f、thread_f 文件里,都经过加密,密钥在 Nexara /manifest/config.json 里的 b_f、k_f、t_f 这几个值下面。

注入到进程后,木马会用PowerShell脚本和Netstat工具检查跟控制服务器的连接。如果任何载荷未能成功注入,脚本会向Telegram机器人发送报错信息。

Mode2

如没能启动有效载荷,木马便会启用Mode2这个注入方式,运行情况如下:

  • 解密并检查 Nexara.7z 压缩包中的 thumbcache_{11..20}.dll 文件,这些文件用于实现注入;
  • 将 regasm.exe、dwm.exe 添加至 Windows Defender 的排除项;
  • 从配置中解密出 PowerShell 脚本(PowerShell.Inject.245)的一部分,然后将其写入 temp 文件夹,以随机名称命名并运行。该脚本则会解密文件boot_f、kernel_f、thread_f,并将它们注入到 RegAsm.exe 进程;
  • 查找文件cryptwizard,对其解密并注入到 dwwin.exe 进程。截至本文撰写之时,这个文件尚不存在,其启动标志被设置为 false;
  • 借助 PowerShell 脚本和 Netstat 工具检查与 C2 服务器的连接情况。

Mode3non

除不具备防护规避技术外,功能与Mode3相同。

Handler

与Mode2恶意模块启动流程。这种方式相比Mode2在灵活性和模块化程度上都要低。例如不使用配置文件,所有数据都直接硬编码。这可能是一个陈旧的启动版本,病毒编写者出于某种原因将其保留。

上述所有注入方式的主要任务,都是启动三个恶意载荷:两个BackDoor.AsyncRAT.115文件和一个Trojan.InjectNET.14文件。

BackDoor.AsyncRAT.115

这个木马能为攻击者提供对被感染计算机的完全访问权限。注入进程的两个恶意文件完全相同,只是连接端口不同。我们推测,这样做是为了让两名操作员能够同时操控同一台电脑。

Trojan.InjectNET.14

这个木马将 Trojan.Clipper.688 文件注入 regasm.exe 进程,该文件会替换剪贴板中的加密货币钱包地址。在替换过程中会截取屏幕截图,并将其连同剪切板劫持器版本信息、活动窗口名称、用户名及其IP一起发送至Telegram机器人。

在注入有效载荷后,木马会从 Nexara/Nvdia.7z 压缩包中解压出另一个基于Electron框架编写的程序——窃密程序 JS.Stealer.191.

JS.Stealer.191

木马会检测是否是在隔离的虚拟沙箱环境或虚拟机运行,能够收集被感染电脑的信息,并窃取用户数据:

  • 浏览器中的数据;
  • FileZilla程序的XML文件;
  • MobaXterm程序的 MobaXterm.ini 文件;
  • TotalCommander程序的 wcx_ftp.ini 文件;
  • VPN配置;
  • 即时通讯软件的文件;
  • 游戏账号;
  • 游戏服务账号;
  • Discord令牌。

窃取的数据会进行打包压缩,并通过Telegram机器人发送给攻击者。

如被感染机安装由反病毒软件ESET、McAfee、Malwarebytes,木马会对其采取删除操作。

反病毒软件删除码

木马会向系统文件 system32\drivers\etc\hosts 添加一条记录,用于屏蔽多家反病毒厂商的域名。此外,还会删除 system32\drivers\etc\ 目录下的所有文件和文件夹,仅保留hosts、networks、protocol、services、lmhosts.sam,目的在于让用户无法利用备份。

功能预测

攻击者在不断修改代码,为木马添加新功能。我们在研究过程中发现有暂未启用的功能,是负责下载并启动另一个压缩包——Lodge.7z,里面是一个仍在基于Electron框架进行开发的项目,其可执行文件为 WUDFHost.exe。从代码可以识别出其功能会包括:

  • 使用 sc.exe 工具创建服务,以固定 Microsoft.exe;
  • 监控 Microsoft.exe 是否存在于磁盘,若不存在则重新下载;
  • 监控开机自启动项;
  • 安装自身的更新。

从木马的功能可以看出,即便是对于包括信息安全专家在内的经验丰富的用户,这些恶意软件也能构成严重威胁。为避免电脑被感染,建议定期更新病毒库,并检查所有从互联网下载的文件。Dr.Web Security Space 和 Dr.Web Desktop Security Suite 能够识别这一木马,并迅速删除被感染文件。

Trojan.Loader.3261 更多详情

Trojan.Clipper.688 更多详情

JS.Stealer.191 更多详情

失陷指标

0
最新新闻 全部新闻