胆大包天:GitHub出现针对信息安全专业人员的木马
Dr.Web AV-Desk新闻 | Hot news | Doctor Web公司新闻
感染源
首批被感染的仓库出现在两年前。早期版本针对的是加密钱包用户,因为攻击者发布的是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 更多详情