Glupteba 木马是一种具有信息窃取和流量路由功能的加载程序,其最早于 2011 年在野外被发现,人们起初认为它主要用于在受感染的主机上安装其他病毒,但是现在看来它可以做的远不止如此。在经过不断地更新后,它成为了一种危险且需要防范的病毒。
近期,360威胁情报中心和360沙箱云监测到 Glupteba 木马病毒的活跃信息,在这篇文章中对此木马进行详细分析。
样本信息:
MD5 | 63b9bb556d78230dce5834cd8abd1e6b |
---|---|
SHA1 | 0a83a88b48441e5fc0e7687192d2d5a5e420d742 |
样本概述:
该样本外层是一个 loader,其 payload 是使用 Go 语言开发的 Glupteba 木马。payload 运行后先进行提权操作,在具有 system 权限后才进行恶意操作,包括 bypass firewall、defender,创建计划任务,使用 rootkit 组件隐藏木马进程、文件等,其最终会连接 C2 下载后续组件执行。
运行流程:
详细分析:
Loader:
1,解密执行 shellcode1。
2,shellcode1 解密执行 shellcode2与 PE1.exe(payload)。
3,shellcode2 中首先进行反调试、反沙箱。
反沙箱。
软件断点检测。
4,shellcode2 使用进程映像替换将当前进程映像替换为 PE1.exe,并进入入口点执行。
Payload:
1,payload 使用 Go 语言编写,由于去除了符号所以使用老版本的 IDA 不能自动恢复符号,需要使用 IDA 7.6 及以上的版本。
文件基本信息。
2,其运行后首先在注册表中存储配置信息及获取的主机信息。
存储位置:
HKEY_USERS\[用户 SID]\Software\Microsoft\[用户 SID SHA256 的前8位]
从存储的信息中可以看出其中包括木马 C2 地址,软件版本等信息。
3,判断当前是否是管理员,不是则利用白名单程序 fodhelper.exe\CompMgmtLauncher.exe 进行 bypass UAC 提权。
首先进行系统版本判断,根据系统版本设置不同的注册表并启动不同的进程进行提权。
是 win10 则设置以下注册表并启动 fodhelper.exe 进程:
不是 win10则设置以下注册表并启动 CompMgmtLauncher.exe 进程:
4,判断当前是否是 system 权限,不是则模拟 TrustedInstaller.exe 进程令牌重新运行。
首先设置 sedebugprivilege 权限,然后打开 TrustedInstaller.exe 进程复制其访问令牌,最后使用复制的访问令牌运行该木马。
5,判断当前是否是以持久化路径运行。
6,不是以持久化路径运行。
6.1>检测虚拟机。
使用符号链接、CPU信息、进程名称检测虚拟机。
6.2>创建互斥体。
6.3>判断是否安装防病毒软件,如果未安装则进行 bypass firewall\defender和持久化操作。
使用 netsh 命令添加防火墙规则 bypass firewall。
在以下注册表中添加文件路径 bypass defender。
在以下注册表进行持久化操作。
持久化完成后重新启动。
7,是以持久化路径运行。
7.1>创建互斥体。
7.2>在配置存储注册表设置用户 uuid。
7.3>创建计划任务。
第一个计划任务用于在登录时运行木马。
第二个计划任务用于从 C2 下载后续组件到本地运行。
下载地址:hxxps://gfixprice.space/app/app.exe
存储位置:%temp%\csrss\scheduled.exe
7.4>释放 rootkit 组件将其注册成服务运行并使用其隐藏木马进程和文件。
在 %windir%\system32\drivers 目录下释放三个驱动文件 Winmon.sys、WinmonFS.sys、WinmonProcessMonitor.sys并将其注册成服务运行。
使用如下 sc 命令将上述三个服务添加 defender 白名单。
使用Winmon.sys隐藏木马进程,包括当前进程和windefender.exe、cloudnet.exe。
使用 WinMonFS.sys 隐藏 %temp%\csrss\ 目录。
WinmonProcessMonitor.sys 则是自动查找并终止安全软件进程,然后阻止安全软件进程启动。
部分被阻止的安全软件进程。
7.5>与 C2 通信,发送主机信息接收数据、指令。
首先是获取主机信息,包括操作系统位数、版本,CPU、GPU信息,病毒组件安装情况,uuid,病毒版本等。
操作系统信息从注册表中存储的配置信息获得。
病毒组件安装情况则是通过检测互斥体获得。
疑似挖矿组件(门罗币)互斥体。
cloudnet组件检测。
要发送的数据如下,经过加密编码后发送。
通信地址是配置注册表中的 Servers 的值加 uuid。
例:
从 C2 获得数据或指令,执行后续操作。
可预见的操作有下载执行、组件更新。
使用永恒之蓝漏洞横向移动。
沙箱云检测结果
检测环境 | Windows 7 SP1 Pro 32位 |
---|---|
默认用户 | 管理员 |
1,提权检测。
2,反虚拟机检测。
3,bypass 防火墙、defender 检测。
4,持久化检测。
5,网络行为检测。
关于我们
360沙箱云是 360 自主研发的在线高级威胁分析平台,对提交的文件、URL,经过静态检测、动态分析等多层次分析的流程,触发揭示漏洞利用、检测逃逸等行为,对检测样本进行恶意定性,弥补使用规则查杀的局限性,通过行为分析发现未知、高级威胁,形成高级威胁鉴定、0day 漏洞捕获、情报输出的解决方案;帮助安全管理员聚焦需关注的安全告警,过安全运营人员的分析后输出有价值的威胁情报,为企业形成专属的威胁情报生产能力,形成威胁管理闭环。解决当前政企用户安全管理困境及专业安全人员匮乏问题,沙箱云为用户提供持续跟踪微软已纰漏,但未公开漏洞利用代码的 1day,以及在野 0day 的能力。
360混天零实验室成立于2015年,负责高级威胁自动化检测项目和云沙箱技术研究,专注于通过自动化监测手段高效发现高级威胁攻击;依托于 360 安全大数据,多次发现和监测到在野漏洞利用、高级威胁攻击、大规模网络挂马等危害网络安全的攻击事件,多次率先捕获在野利用 0day 漏洞的网络攻击并获得厂商致谢,在野 0day 漏洞的发现能力处于国内外领先地位,为上亿用户上网安全提供安全能力保障。