最后更新于2024年4月10日(星期三)14:32:16 GMT

Rapid7的管理检测和响应(MDR)团队持续监控客户的环境, 识别新出现的威胁并开发新的检测方法.

在2023年8月,Rapid7发现了一个新的恶意软件加载器 IDAT Loader. 恶意软件加载程序是一种恶意软件,旨在向受害者的系统传递和执行额外的恶意软件. IDAT Loader的独特之处在于它从PNG文件中检索数据的方式, 搜索以49 44 41 54开头的偏移量(IDAT).

在我们的博客系列的第一部分, 我们讨论了如何使用基于Rust的应用程序来下载和执行IDAT Loader. 在本系列的第二部分中, 我们将分析MSIX安装程序如何导致IDAT加载程序的下载和执行.

威胁行为者利用MSIX包来分发恶意代码并不是什么新鲜事, 这次事件的特点是妥协的攻击流程. 根据最近的战术, 技术和程序观察(TTPs), 我们认为这些活动与有经济动机的威胁组织有关.

图1 -攻击流

MSIX安装程序

2024年1月,红金丝雀 发布文章 将不同的威胁行为归因于恶意MSIX安装程序的各种部署. MSIX安装人员采用了多种技术将初始有效载荷传送到受损系统.

所有感染都始于用户在使用搜索引擎查找特定软件包下载后导航到错别字的url. 拼写错误抢注又名URL劫持是一种特定的技术,威胁行为者通过注册与合法域名非常相似的域名来欺骗用户. 威胁行为者模仿合法网站的布局,以引诱用户下载他们的初始有效载荷.

Additionally, 威胁行为者利用一种被称为SEO中毒的技术, 使威胁行为者能够确保他们的恶意网站出现在用户搜索结果的顶部附近.

技术分析

错别字误用广告

在我们最近的IDAT装载器事件中, Rapid7观察到一个用户从一个冒充合法网站的网站下载一个名为“Room Planner”的应用程序的安装程序. 用户在Google上搜索“Room Planner”应用程序并点击了URL hxxps: / / roomplannerapp.cn[.]com. 在用户交互后,用户浏览器被引导下载一个MSIX包, Room_Planner-x86.msix (SHA256: 6 f350e64d4efbe8e2953b39bfee1040c8b041f6f212e794214e1836561a30c23).

图2 -房间规划应用程序的恶意站点

PowerShell脚本

在执行MSIX文件期间,PowerShell脚本, 1.ps1 ,被放入文件夹路径中 C:\Program Files\ WindowsApps \ RoomPlanner.RoomPlanner_7.2.0.0 _x86__s3garmmmnyfa0 \ and executed. Rapid7确定它做以下事情:

  • 获取被入侵资产的IP地址
  • 将受损资产的IP地址发送给Telegram bot
  • 检索另一个托管在Telegram bot上的PowerShell脚本
  • 删除包含被入侵资产IP地址的消息
  • 调用从Telegram bot检索到的PowerShell脚本

图3 - PowerShell脚本.包含在MSIX文件Room_Planner-x86中的ps1.msix

在受控环境中, Rapid7访问了托管下一阶段PowerShell脚本的Telegram bot,并确定它做了以下事情:

  • 使用从域icanhazip[]中检索数据的Invoke-RestMethod来检索受损资产的IP地址。.]com
  • 列举被入侵的资产操作系统、域和AV产品
  • 把信息发送给Telegram机器人
  • 创建一个随机生成的8个字符的名称,并将其分配给变量$JAM
  • 从URL下载gpg文件 hxxps: / / read-holy-quran [.]group/ld/cr.tar.gpg,将文件保存为%APPDATA%,并将其保存为分配给$JAM变量的名称
  • 使用密码短语“riudswrk”解密gpg文件的内容。, 将它们保存到以其中的$JAM变量命名的新创建的文件夹中 C: \ ProgramData \ cr \ \ $堵塞 as a .RAR归档文件
  • 使用tar解压RAR文件
  • 启动一个名为run的可执行文件.从新创建的文件夹中删除
  • Create a link (.链接)文件在启动文件夹, 以存储在变量$JAM中的随机生成的名称命名, 指向奔跑.Exe存储在文件路径中 C: \ ProgramData \ cr \ \ $堵塞 为了创造恒心
  • 请阅读Pastebin网站上的另一个PowerShell脚本, hxxps: / / pastebin.pl /视图/生/ a137d133 using downloadstring 并执行其内容(PowerShell脚本是一种用于绕过AMSI的工具) IEX (Invoke-Expression)
  • 从URL下载数据 hxxps: / / kalpanastickerbindi [.]com/1.jpg 反思性地加载内容,并从函数EntryPoint(表示下载的数据是a)开始执行程序 .. NET汇编二进制文件)

图4 - API Bot托管PowerShell脚本

图5 - PowerShell AMSI旁路工具

经过分析的AMSI(反恶意软件扫描接口)绕过工具, 我们观察到,这是一个自定义的工具,给一个网站的信用, hxxps: / / rastamosue [.] memory-patching-amsi-bypass, 其中讨论了如何创建一个可以绕过AMSI扫描的程序.

AMSI是一种扫描工具,用于在脚本引擎试图运行脚本后扫描脚本,以查找潜在的恶意代码. 如果内容被认为是恶意的, AMSI将告诉脚本引擎(在本例中是PowerShell)不要运行代码.

RAR Contents

RAR文件中包含以下文件:

Files Description
Dharna.7z 文件包含加密的IDAT Loader配置
Guar.xslx 文件包含随机字节,在感染期间未使用
Run.exe 重命名的WebEx可执行文件,用于侧载DLL WbxTrace.dll
Msvcp140.dll 运行读取良性DLL.exe
PtMgr.dll 运行读取良性DLL.exe
Ptusredt.dll 运行读取良性DLL.exe
Vcruntime140.dll 运行读取良性DLL.exe
Wbxtrace.dll 包含IDAT加载器的WebEx DLL已损坏
WCLDll.dll 良性WebEx DLL读取运行.exe

在对文件夹内容进行分析后,Rapid7确定其中一个dll, wbxtrace.dll的签名已损坏,表明其原始代码已被篡改. 在分析修改后的WebEx DLL后, wbxtrace.dll, Rapid7确定DLL包含类似IDAT Loader的可疑功能.

图6 -分析显示wbxtrace的损坏签名.dll

在将RAR文件的内容提取到目录路径时 C:\ProgramData\cr, PowerShell脚本执行 run.exe executable.

The IDAT Loader

执行期间 run.exe (一个合法的重命名的WebEx可执行文件),可执行文件附带加载被篡改的WebEx DLL, wbxtrace.dll. Once the DLL wbxtrace.dll is loaded, DLL执行一段包含IDAT Loader的新代码, 哪个从内部读取内容 dharna.7z.

阅读后的内容从 dharna.7z, IDAT加载程序搜索偏移量 49 44 41 54 (idat) followed by C6 A5 79 EA. 定位此偏移量后,加载程序读取以下4个字节, E1 4E 91 99,用作解密其余内容的解密密钥. 在解密的内容中包含额外的代码, 特定的DLL和可执行文件路径,以及使用200字节异或密钥解密的最终加密有效负载.

IDAT加载器采用了先进的技术,例如 过程Doppelganging and the 天门术 以便启动新进程并注入额外的代码. 此策略使加载程序能够逃避反病毒检测并成功加载最后阶段, SecTop RAT 在新创建的过程中, msbuild.exe.

我们最近开发了一个配置提取器,它能够解密隐藏在包含 伊达(49 44 41 54) sections. 配置提取器可以在我们的Rapid7实验室github页面上找到.

在使用配置提取器之后,我们分析了 SecTop RAT 并确定它与IP地址通信 91.215.85[.]66.

Rapid7客户

通过Rapid7扩展的检测规则库,insighttidr和管理检测和响应客户已经拥有了现有的检测覆盖范围. Rapid7建议在所有适用的主机上安装Insight Agent,以确保对可疑进程的可见性和适当的检测覆盖率. 以下是部署的检测和对所描述的活动发出警报的非详尽列表:

  • 攻击者技术-高级安装程序 .MSI可执行程序生成Powershell
  • 可疑进程-从ProgramData的根执行
  • 可疑进程- PowerShell不常见的大小写组合
  • 可疑进程-浏览器.exe在非标准位置

MITRE ATT&CK Techniques

Tactics Techniques Details
Execution 命令和脚本解释器:PowerShell (T1059).001) 1.ps1用于识别受感染的机器并执行额外的PowerShell脚本
Execution 本地API (T1106) IDAT注入器和IDAT装载机使用天堂之门技术逃避检测
Execution 用户执行:恶意文件(T1204.002) 用户执行二进制Room_Planner-x86.msix
Defense Evasion 伪装:匹配合法名称或位置(T1036).005) 恶意MSIX伪装成合法的Room Planner安装程序
Defense Evasion 解混淆/解码文件或信息(T1140) gpg.用于解密cr.tar.gpg
Defense Evasion 劫持执行流程:DLL搜索命令劫持(T1574.001) run.Exe加载恶意的wbxtrace.dll
Defense Evasion 反射代码加载(T1620) PowerShell脚本加载位于kalpanastickerbindi的二进制文件[.]com/1.jpg
Defense Evasion 工艺注入(T1055) IDAT注入器实现NtCreateSection + NtMapViewOfSection代码注入技术注入到cmd.exe process
Defense Evasion 工艺注入:工艺Doppelgänging (T1055.013) IDAT加载器实现过程Doppelganging技术来加载SecTop RAT
Defense Evasion 虚拟化/沙盒规避:基于时间的规避(T1497).003) 执行延迟在整个攻击流中由几个阶段执行

IOCs

IOC Sha256 Notes
Room_Planner-x86.msix 6 f350e64d4efbe8e2953b39bfee1040c8b041f6f212e794214e1836561a30c23 包含PowerShell脚本的初始安装程序
1.ps1 928年bd805b924ebe43169ad6d670acb2dfe45722e17d461ff0394852b82862d23 由Room_Planner-x86删除并执行.msix
wbxtrace.dll 1 d0daf989cf28852342b1c0dfee05374860e1300106ff7788bba26d84549b845 恶意DLL执行运行.重命名的Cisco Webex二进制文件
Dharna.7z B7469153DC92BF5DE9BF2521D9550DF21BC4574D0D0CFC919FF26D1071C000B2 由wbxtrace解密的加密负载.dll
read-holy-quran [.]group/ld/cr.tar.gpg 主机包含RAR文件的GPG文件
kalpanastickerbindi [.]com/1.jpg Hosts .. NET可执行文件从API Bot PowerShell脚本下载
91.215.85[.]66 SecTop RAT域

References

Article URL
MSIX安装程序恶意软件在多个活动中的传播呈上升趋势 http://redcanary.com/blog/msix-installers/
过程Doppelganging http://malware.news/t/uncovering-the-serpent/76253
《十大赌博官方正规网址》解析(上) http://sachiel-archangel.medium.com/analysis-of-heavens-gate-part-1-62cca0ace6f0
假更新利用新的IDAT加载器来执行StealC和Lumma infostelers http://70n6t.basilinfracon.com/blog/post/2023/08/31/fake-update-utilizes-new-idat-loader-to-execute-stealc-and-lumma-infostealers/
故事从SOC第1部分:IDAT加载器到BruteRatel http://70n6t.basilinfracon.com/blog/post/2024/03/28/stories-from-the-soc-part-1-idat-loader-to-bruteratel/