一种利用开源远程设备管理软件持久化控制的APT技术

admin 2024年10月31日10:02:43评论19 views字数 3711阅读12分22秒阅读模式

part1

点击上方蓝字关注我们

往期推荐

一种新的EDR致盲技术

真主党寻呼机和对讲机同时爆炸背后的技术原理分析

无私钥绕过客户端非对称加密算法

利用Microsoft内核Applocker驱动漏洞过程

利用过期域名实现劫持海量邮件服务器和TLS/SSL证书

利用文件建立TCP连接隧道绕过防火墙

利用Windows引导程序安全加载DLL

EDR联动数据包封锁技术

开源下一代Web应用程序防火墙(WAF)

将二进制空间安全设为"星标⭐️"

第一时间收到文章更新

摘要

被用来进行持久化控制的开源软件是一款具有丰富功能的开源远程设备管理软件, 攻击者利用其MeshAgent组件, 可以通过代理隐蔽的与C2服务器进行通讯, 被利用的开源软件官网为:https://meshcentral.com/; Github地址:https://github.com/Ylianst/MeshCentral

存档解压分析

该APT组织的植入程序利用7-Zip创建了一个自解压存档, 并利用upx进行了打包。打包基本信息如下图:

一种利用开源远程设备管理软件持久化控制的APT技术

该存档包含五个文件, 其中有四个伪装成合法的系统服务和命令文件,如图:

一种利用开源远程设备管理软件持久化控制的APT技术

在进行解压时,可选择以"#"模式打开它, 这是7-Zip中的一种特殊解析器模式, 用于分析文件以收集存档相关的附加信息, 包括安装脚本,如图:

一种利用开源远程设备管理软件持久化控制的APT技术

以"#"模式打开的存档内容如下:

一种利用开源远程设备管理软件持久化控制的APT技术

为了确定植入程序怎样在系统中保持持久性, 先从名为"2"的安装脚本开始分析,如图:

一种利用开源远程设备管理软件持久化控制的APT技术

脚本的代码比较明显, 其将存档中所有组件提取到临时目录中并运行MicrosoftStores.exe,且不带参数。

自动化脚本分析

从上面的分析可知, 攻击的下一步是执行MicrosoftStores.exe文件, 该文件也是使用UPX压缩打包的,如图:

一种利用开源远程设备管理软件持久化控制的APT技术

解压该文件后, 可以看到它包含一个带有解释器的编译后的Autolt脚本, 该脚本的存在解释了为什么提取后可以不带参数执行文件。

该脚本内容如下:

一种利用开源远程设备管理软件持久化控制的APT技术

脚本最终会带参数的启动NetworkDrivers.exenKka9a82kjn8KJHA9.cmd, 以确保能在系统中长期保持持久性。

经过整理后的完整命令如下:

一种利用开源远程设备管理软件持久化控制的APT技术

Payload分析

首先看一下NetworkDirvers.exe, 其文件属性如下:

一种利用开源远程设备管理软件持久化控制的APT技术

该文件被安全产品检测出的名字为:HEUR:RemoteAdmin.Win32.MeshAgent.gen, 实际上该程序正是MeshCentral平台的合法代理程序MeshAgent。

接下来看一下nKka9a82kjn8KJHA9.cmd, 该脚本的文件大小居然超过了1MB, 其内容如下:

一种利用开源远程设备管理软件持久化控制的APT技术

很明显文件内容被混淆了, 虽然包含了大量代码, 但混淆逻辑还算简单, 攻击者使用了大量文本块进行内容填充, 在脚本执行时, 解释器会利用GOTO命令标签跳过无意义的文本, 对其反混淆后整理的代码如下:

一种利用开源远程设备管理软件持久化控制的APT技术

以上批处理脚本完成了以下操作:

(1).环境设置

  • @echo off:关闭命令显示,使得执行命令时不会在命令行中显示每一步操作。

  • setlocal enabledelayedexpansion:启用延迟环境变量扩展,允许在代码运行时动态地修改变量值。

(2).变量定义

  • set PWS=powershell -ExecutionPolicy Bypass -NoLogo -NonInteractive -NoProfile:定义了一个变量 PWS,内容为 PowerShell 的启动参数,用于绕过执行策略、禁用配置文件、无交互式运行。

  • set Aur3volr=%~f0:将当前批处理文件的完整路径赋值给变量 Aur3volr

  • set WsE5T=EdgeBrowser.cmd:定义了变量 WsE5T,指向一个文件名 EdgeBrowser.cmd

  • set AWDksnh=%1 %2 %3 %4 %5 %6=%7']] %:此行复杂且不常见,它将命令行参数 %1%6 拼接在一起,并添加了一些符号,创建一个看似混淆的字符串。

(3).创建计划任务

  • schtasks /create /f /tn "MicrosoftEdgeUpdateTaskMachineMS" /tr "%TEMP%%WsE5T%" %AWDksnh% 0001:00:使用 schtasks 命令创建一个名为 "MicrosoftEdgeUpdateTaskMachineMS" 的计划任务,设置其执行文件路径为 "%TEMP%%WsE5T%"(即在临时目录中的 EdgeBrowser.cmd 文件)。AWDksnh 的内容似乎是附加的参数,时间设定为每天凌晨 1:00 执行。

  • timeout /t 5:在计划任务创建之后,等待 5 秒。

(4).删除文件

  • del /f "%TEMP%MicrosoftStores.exe":强制删除 %TEMP% 目录下的 MicrosoftStores.exe 文件。

  • del /f "%Aur3volr%":强制删除当前批处理文件本身(由 Aur3volr 变量指向的路径)。

  • 该命令的主要作用是创建名为MicrosoftEdgeUpdateTaskMachineMS的计划任务。该任务运行EdgeBrowser,并删除与恶意活动相关的一些文件。可以看到, 该脚本启动了一个名为:EdgeBrowser.cmd的脚本, 该脚本内容如下:

一种利用开源远程设备管理软件持久化控制的APT技术

这段脚本实现过程如下:

(1).变量定义

  • set processPath="%temp%/NetworkDrivers.exe":定义了 processPath 变量,指向 %temp% 目录下的 NetworkDrivers.exe 文件。

  • set processArgs="run":定义了 processArgs 变量,用于给 NetworkDrivers.exe 程序传递参数 run

  • set processName="NetworkDrivers":定义了 processName 变量,表示进程的名称 NetworkDrivers

(2).PowerShell 循环

  • powershell -WindowStyle Hidden -NoProfile -ExecutionPolicy Bypass -Command "while ($true) { ... }":该命令使用 PowerShell 启动一个无限循环(while ($true)),并隐藏窗口执行。

  • if (-not (Get-Process -Name '%processName%' -ErrorAction SilentlyContinue)) { ... }:在循环中,检查是否存在名称为 NetworkDrivers 的进程。如果没有找到该进程,则执行 {...} 中的代码。

  • Start-Process -FilePath %processPath% -ArgumentList '%processArgs%' -WindowStyle Hidden:如果 NetworkDrivers 进程不存在,则启动指定路径的 NetworkDrivers.exe 程序,并传递参数 run,同时以隐藏窗口的方式运行。

  • Start-Sleep -Seconds 10:循环每次执行完后等待 10 秒。

通过以上功能分析, 该脚本的核心功能包含3点:

  • 监控 %temp%/NetworkDrivers.exe 是否正在运行。

  • 如果该程序未运行,则启动它,并将其窗口隐藏。

  • 每 10 秒检查一次程序状态,确保该进程持续运行。

上面分析出NetworkDrivers.exe实际上是MeshAgent代理, 这里植入程序利用PowerShell启动MeshAgent代理与C2服务器进行隐蔽交互。

这些操作可以让APT植入程序在系统中一直保持存活状态: 攻击者创建一个运行命令文件的计划任务, 该任务反过来启动MeshAgent与MeshCentral服务器建立连接。

在存档文件中还有一个名为NetworkDrivers.msh的文件, 该文件实际上是MeshAgent的配置文件,内容如下:

一种利用开源远程设备管理软件持久化控制的APT技术

该文件指定与 MeshCentral 服务器建立连接的代理参数:MeshName、MeshID、ServerID 和 C2 地址,通过 WebSocket 协议连接。通过 HTTPS 打开此地址时,会出现以下窗口 – MeshCentral 平台的登录表单。如图:

一种利用开源远程设备管理软件持久化控制的APT技术

这进一步证实了攻击者使用合法的MeshCentral系统与C2服务器进行交互。

参考链接:

https://securelist.com/awaken-likho-apt-new-implant-campaign/114101/

往期推荐

Microsoft Windows IPv6 TCP/IP 远程执行漏洞Poc

监视篡改进程与Linux内核交互

一款开源持续更新的后渗透免杀框架

开源跨平台高颜值十六进制编辑器

Linux找回(破解)root账户密码的四种方法

湖北武汉某科技公司恶意软件调查分析

一款可绕过防火墙/DPI的隧道工具

八种绕过WAF防火墙的Payload混淆技术

从网络蠕虫身上提取了一堆好用的安全工具

最受黑客和安全专家青睐的10款搜索引擎

一种可绕过VPN加密直接获取明文流量的新型攻击技术

暗网排名Top10的搜索引擎

一款跨平台比VNC更丝滑的远程桌面管理工具

一种利用开源远程设备管理软件持久化控制的APT技术

点个在看你最好看

一种利用开源远程设备管理软件持久化控制的APT技术

原文始发于微信公众号(二进制空间安全):一种利用开源远程设备管理软件持久化控制的APT技术

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年10月31日10:02:43
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   一种利用开源远程设备管理软件持久化控制的APT技术https://cn-sec.com/archives/3336598.html

发表评论

匿名网友 填写信息