搜索
首页运维安全如何实现Winnti Group新变体分析
如何实现Winnti Group新变体分析May 12, 2023 pm 10:01 PM
winnti group

2020年2月发现Winnti Group新的模块化后门PipeMon。其主要目标是韩国和台湾多人在线游戏和视频公司,恶意软件可发起对供应链的攻击。攻击者可在发行的游戏中植入木马,或攻击游戏服务器,利用游戏货币获取经济利益。Winnti Group从2012年以来一直保持活跃,该组织针对软件行业供应链攻击。最近ESET研究人员还发现了其针对香港几所大学的攻击。

技术分析

在目标公司中发现了PipeMon的两个变体,PipeMon的第一阶段包括启动嵌入在.rsrc中受密码保护的可执行文件。 启动程序将RARSFX会在自动生成目录下写入setup0.exe,通过参数提供密码,利用CreateProcess执行RARSFX,如下所示:

setup0.exe -p*|T/PMR{|T2^LWJ*

每个样本的密码都不相同,然后将RARSFX的内容提取到%TMP%\RarSFX0中:

    CrLnc.dat – 加密负载

    Duser.dll – UAC bypass

    osksupport.dll – UAC bypass

    PrintDialog.dll – 恶意软件初始化

    PrintDialog.exe – 加载PrintDialog.dll的合法Windows文件

    setup.dll – 安装dll

    setup.exe – 主程序

如果文件夹名发生冲突,RarSFX0字符串末尾的数字将递增,直到没有冲突为止。提取文件后,setup.exe将不带参数地执行,使用LoadLibraryA加载setup.dll。 加载后,setup.dll将检查形如‘–x:n’的参数,n不同操作模式也不同。表1中显示了支持的参数及其相应的行为。

如何实现Winnti Group新变体分析

RARSFX在不带参数的情况下执行setup.exe,检查它是否以特权运行。 如果不是,进一步判断Windows版本是否低于Windows 7 build 7601,如果符合条件则会利用token impersonation获取权限。 否则它将尝试使用不同的UAC bypass技术,可将有效载荷加载安装到以下其中一项中:

    C:\Windows\System32\spool\prtprocs\x64\DEment.dll

    C:\Windows\System32\spool\prtprocs\x64\EntAppsvc.dll

    C:\Windows\System32\spool\prtprocs\x64\Interactive.dll

攻击者并不是随机选择恶意DLL的位置,setup.dll通过设置以下注册表值将DLL加载程序注册为备用打印器:    

HKLM\SYSTEM\ControlSet001\Control\Print\Environments\Windows x64\Print Processors\PrintFiiterPipelineSvc\Driver = “DEment.dll”      

HKLM\SYSTEM\CurrentControlSet\Control\Print\Environments\Windows x64\Print Processors\lltdsvc1\Driver = “EntAppsvc.dll”        

请注意PrintFiiterPipelineSvc中的拼写错误(由于可以使用任何名称,因此对打印处理器的安装没有影响)。

注册打印处理器后,PipeMon重新启动打印后台处理服务(spoolsv.exe),将加载恶意打印进程。 Print Spooler服务会在每次PC启动时启动,从而确保了恶意程序的持久性。根据安装程序的不同,会将CrLnc.dat写入注册表中的以下位置:

HKLM\SOFTWARE\Microsoft\Print\Components\DC20FD7E-4B1B-4B88-8172-61F0BED7D9E8

HKLM\SOFTWARE\Microsoft\Print\Components\A66F35-4164-45FF-9CB4-69ACAA10E52D

整个PipeMon执行过程如下图所示:    

如何实现Winnti Group新变体分析PipeMon

PipeMon是一个模块化后门,每个模块都是一个DLL,可导出IntelLoader函数,使用反射加载技术进行加载。每个模块具有不同的功能,如表2所示。

如何实现Winnti Group新变体分析

负责加载主要模块(ManagerMain和GuardClient)的加载程序是Win32CmdDll.dll,位于打印处理器目录中。这些模块以加密的方式存储在相同位置,其命名如下:

    banner.bmp

    certificate.cert

    License.hwp

    JSONDIU7c9djE

    D8JNCKS0DJE

    B0SDFUWEkNCj.logN

.hwp是韩文文字处理程序使用的扩展名,在韩国非常流行。模块经过R**加密,解密密钥‘Com!123Qasdz’会硬编码在每个模块之中。 Win32CmDll.dll解密并注入ManagerMain和GuardClient模块。 ManagerMain模块负责解密和注入Communication模块,而GuardClient模块将确保Communication模块正在运行,并在必要时重新加载。下图概述了PipeMon的工作方式。

如何实现Winnti Group新变体分析

Win32CmDll.dll首先尝试将ManagerMain和GuardClient模块注入以下名称之一的进程中:lsass.exe,wininit.exe或lsm.exe。如果失败,它将尝试注入已注册的Windows服务进程之一,但不包括名为spoolsv.exe,ekrn.exe(ESET),avp.exe(Kaspersky)或dllhost.exe的进程。如果所有操作均失败,它将尝试进程taskhost.exe,taskhostw.exe或explorer.exe。

可以使用专用命令按需加载其他模块,但是还没有发现其中的任何模块。模块间通过命名管道通信,每个模块之间通信通道使用两个命名管道,一个用于发送,一个用于接收。 

如何实现Winnti Group新变体分析从C&C服务器收到%CNC_DEFINED%字符串,变量%B64_TIMESTAMP%是base64编码的时间戳:    

如何实现Winnti Group新变体分析

通讯模块负责通过管道管理C&C服务器与其他模块之间的通讯,其C&C地址硬编码在ManagerMain模块中。通信协议是基于TCP的TLS,通过HP-Socket库处理。 所有消息均使用硬编码密钥进行R**加密。如果传输内容大于或等于4KB,则先使用zlib对其进行压缩。

如何实现Winnti Group新变体分析启动与C&C服务器的通信,首先发送信标消息,其中包含以下信息:

    OS version

    physical addresses of connected network adapters concatenated with %B64_TIMESTAMP%

    victim’s local IP address

    backdoor version/campaign ID; we’ve observed the following values

        “1.1.1.4beat”

        “1.1.1.4Bata”

        “1.1.1.5”

    Victim computer name

支持的命令如下表:    

如何实现Winnti Group新变体分析

攻击者还使用了PipeMon的更新版本,R**替换为简单的XOR,以0x75E8EEAF作为密钥,删除了所有硬编码的字符串,使用随机值命名模块间通信管道。只有主加载程序作为文件存储在磁盘上,更新的模块如下表描述:

如何实现Winnti Group新变体分析

C&C 通信格式发生变化:    

如何实现Winnti Group新变体分析

后门配置被加密并嵌入到加载程序DLL中。    

如何实现Winnti Group新变体分析

PipeMon模块和安装程序都使用相同的签名,该证书可能是Winnti组织在上一次攻击中盗取的。    

如何实现Winnti Group新变体分析

以上是如何实现Winnti Group新变体分析的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文转载于:亿速云。如有侵权,请联系admin@php.cn删除

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )专业的PHP集成开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

EditPlus 中文破解版

EditPlus 中文破解版

体积小,语法高亮,不支持代码提示功能

mPDF

mPDF

mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),