这篇博客文章是Hossein Jazi写的

在2021年7月下旬,我们确定了一个持续的矛网络钓鱼,推动Konni RAT瞄准俄罗斯。2014年首次在野外观察Konni,并潜在与名为APT37的朝鲜APT集团有关。

我们发现了用俄语编写的两份文件,并用同样的恶意宏武器化。其中一个诱惑是关于俄罗斯与朝鲜半岛之间的贸易和经济问题。另一个是关于政府间俄罗斯蒙古委员会的会议。

在本博客文章中,我们提供了使用t的这一运动概述WO不同的UAC旁路技术和聪明的混淆伎俩仍然在雷达下。

攻击概述

下图显示了该演员使用的整体流量损害受害者。恶意活动从执行宏的文档开始,然后是最终部署Konni RAT的活动链。

图1:整体流程

文件分析

我们发现了Konni APT使用的两种诱饵。第一份文件“Economic relations.doc”包含了一篇12页的文章,似乎是在2010年发表的,标题是:韩国国家远东俄罗斯的区域经济联系(2010年)“。第二个文件是在2021年在俄罗斯发生的会议概要:“政府间俄罗斯贸易委员会第二次会议,经济,科学和技术运作“。

图2:Konni APT使用的诱饵


这些被Konni APT使用的恶意文档都被同样简单但聪明的宏武器化了。它只使用Shell函数执行一行cmd命令。这个一行命令获取当前活动文档作为输入,并查找“^ var”字符串使用然后将线的内容写得从“var”到中y.js..最后它呼唤WScript.贝壳函数执行Java脚本文件(y.js.).

聪明的是,演员试图隐藏恶意JS是其主要的开始活动结束时文档内容,不把它直接进入宏来避免被检测到AV产品以及隐藏其主要意图。

图3:宏

y. js使用活动文档作为其参数调用文件。此JavaScript在主动文档中编码的两个模式,并且首先将其写入从模式开始的内容temp.txt文件,然后base64使用其内置的base64解码器功能解码,函数de(输入),最后将解码后的内容写入定义的输出。

yy.js用于存储第一个解码内容的数据和y.ps1用于存储第二解码内容的数据。创建输出文件后,使用它们使用WScript.Powershell

图4:y.js

Powershell脚本(y.ps1),使用DllImport函数进口URLDownloadToFileWinExeckernel32.dll.导入所需函数后,它定义了以下变量:

  • 从它下载文件的URL
  • 存放下载文件的目录(%APPDATA%/Temp)
  • 将存储在磁盘上的下载文件的名称。

在下一步中,它调用URLDownloadToFile下载一个机柜文件并将其存储在% APPDATA %临时具有唯一随机名称创建的目录GetTempFileName.最后它使用WinExec执行一个CMD命令,调用扩大提取机柜文件的内容并删除机柜文件。的Y.PS.1在结束时删除1Winexec

图5:y.ps1

提取的Cabinet文件包含5个文件:check.batinstall.bat.xmlprov.dllxmlprov.inixwtpui.d​​ll..YY.JS负责执行check.bat从机柜文件中提取并在最后删除自己的文件。

图6:YY.JS

Check.bat

此批处理文件检查命令提示符是否以管理员身份启动Net session > null如果是这样,它就执行install.bat..如果用户没有管理员权限,则检查操作系统版本,如果是Windows 10,则设置一个变量名为数字为4,否则设置为1。然后执行xwtpui.d​​ll.使用rundll32.exe通过将三个参数传递给它:入口点(要执行的DLL的导出函数),数字(表示操作系统版本号)和install.bat.

图7:check.bat

Install.bat

攻击者使用的恶意软件假装为XMLProv网络配置服务。此服务在域基础上管理XML配置文件以进行自动网络配置。
Install.bat负责安装xmlprov.dll作为服务。为实现此目标,它执行以下操作:

  • 停止运行xmlprov服务
  • 复制了xmlprov.dllxmlrov.ini.进入system32目录,并从当前目录中删除它们
  • 检查是否xmlProv服务是否已安装,如果未安装,则通过创建服务svchost.exe
  • 修改xmlProv服务价值包括typebinpath
  • 添加xmlProv要加载的服务列表svchost
  • 添加xmlProvxmlProv注册表项
  • 开始xmlProv服务
图8:install.bat

xwtpui.d​​ll.

正如我们之前提到的如果受害者的机器没有正确的权限,xwtpui.d​​ll.正在被调用加载install.bat.文件。自install.bat.正在创建一个服务,它应该具有高完整性级别权限和“xwtpui.dll”是用来绕过UAC并获得正确的特权,然后加载install.bat.

入口点是这个dll的主要导出函数。它通过解析API调用来启动它的活动。所有API调用名都是硬编码的,参与者没有使用任何混淆技术来隐藏它们。

图9:入口点

在下一步中,它通过调用来检查权限级别check_priviledge_leve.l函数。此函数执行以下操作,如果用户没有正确的权限或UAC未禁用UAC,则返回零。

  • 调用rtlqueryelevationflags.通过检查得到仰角状态pflag价值。如果设置为0,则表示UAC被禁用。
  • 使用。获取与当前进程关联的访问令牌NtOpenProcessToken然后调用NtQueryInformationToken得到这一点TokenElevationType检查它的值是否为3(如果值不是3,则表示当前进程被提升)。TokenElevationType可以有三个值:
    • tokenelevationdefault(1):表示UAC已禁用。
    • tokenelevationtypefull(2):表示当前进程运行升高。
    • TokenElevationTypeLimited(3):表示进程不是提升运行。
图10:检查权限级别

检查权限级别后,它会检查参数传递表单check.bat表示操作系统版本,如果操作系统版本是Windows 10,它使用修改版本的RPC UAC旁路的组合谷歌Project Zero和Parent PID Spoofing for UAC bypass while for other Windows versions it uses "令牌模拟技术"绕过UAC的技术。

令牌模拟UAC旁路(Calvary UAC旁路)

Calvary是一种令牌模拟/盗窃权特权升级技术,用于模拟Windows Update独立安装程序进程的令牌(wusa.exe)产卵cmd.exe.具有最高权限才能执行install.bat..该技术是美国中央情报局工具集的一部分,称为Vault7。

行为人对其使用了这种方法2019年竞选也这个UAC旁路从执行开始wusa.exe使用ShellExecuteExw并使用它访问令牌使用NtOpenProcessToken.然后访问令牌wusa.exe重复使用NtDuplicatetoken.的DesiredAccess此函数的参数指定新令牌的请求的访问权限。在这种情况下,演员通过了token_all_access.作为DesiredAccess值,表示新令牌拥有当前令牌的所有访问权限的组合。然后将复制的令牌传递给ImpersonateloggedonUser.然后生成一个CMD实例CreateProcessWithLogomW.最后,复制的令牌被分配给创建的线程NtSetINformationThread使它提升。

图11:骑兵PE

Windows 10 UAC旁路

用于Windows 10的UAC旁路使用了一个基于RPC的修改版本的UAC旁路的组合谷歌项目零和父PID欺骗绕过UAC。该过程如下:

  • 步骤1:为接口id创建一个字符串绑定句柄“201:201eF99A-7FA0-444C-9399-19BA84F12A1A”并返回其绑定句柄,并为绑定句柄设置服务信息的所需身份验证,授权和安全质量。
图12:RPC绑定
  • 步骤2:初始化RPC_ASYNC_STATE来进行异步调用,并创建一个新的非提升进程(它使用winver.exe作为非提升的过程)通过ndrasyncclientcall.
图13:RPC asyncall
  • 步骤3:使用NtQueryInformationProcess通过将创建的进程的句柄传递给它来打开调试对象的句柄。然后使用此过程分离调试器NtRemoveProcessDebug并终止使用此创建的进程terminateprocess.
图14:分离过程
  • 步骤4:重复步骤1和步骤2以创建新的提升过程:taskmgr.exe.
  • 第5步:完全访问任务管理器通过检索其初始调试事件来处理句柄。首先,它使用调试对象的等待使用waitfordebugevent.获取初始流程创建调试事件,然后使用NtDuplicateObject获取完整的访问过程句柄。
图15:创建自动提升过程(TaskMgr.exe)
  • 步骤6:在获得的完全特权句柄之后taskmgr.exe., actor使用此句柄执行CMD作为高权限进程执行install.bat..为了实现这一点,actor使用了父PID欺骗技术来生成一个新的cmd进程使用CreateProcessW和处理taskmgr.exe.哪一个自动提升的进程被分配为它的父进程使用UpdateProcThreadAttribute
图16:父PID欺骗

Xmlprov.dll (Konni鼠)

这是已将其作为服务部署为服务的最终有效负载svchost.exe.这只老鼠是严重混淆和使用多种反分析技术。它有一个自定义部分名为QWDFR0.“执行所有脱模过程。使用其导出功能将此有效载荷寄存器作为服务ServiceMain

图17:ServiceMain

尽管这个示例非常模糊,但它的功能没有太大变化,与之前的示例相似版本.似乎这个角色使用了一个严重的混淆过程来阻碍所有的安全机制。在分析时,该样本的病毒总数检测为3,这表明行体成功地使用了混淆和绕过大多数AV产品。

这个RAT病毒有一个加密的配置文件“xmlpro .ini”,它将在分析开始时被加载和解密。RAT病毒的功能是通过执行以下命令从受害者的机器上收集信息:

  • cmd / c系统信息:使用此命令收集有关受害者机器的详细配置信息,包括操作系统配置,安全信息和硬件数据(RAM尺寸,磁盘空间和网卡信息),并将收集的数据存储在TMP文件中。
  • cmd / c tasklist:执行此命令收集受害者机器上正在运行的进程列表,并将它们存储在一个tmp文件中。

在下一步中,每个收集的TMP文件正在使用CAB文件使用cmd / c makecab然后通过HTTP POST请求加密并发送到攻击者服务器(http://taketodjnfnei898.c1.biz/up.php?name=%UserName%).

图18:上传数据到服务器

将数据发送到服务器后,它将进入循环以从服务器接收命令(http://taketodjnfnei898.c1.biz/dn.php? name=%USERNME%&PREFIX=TT.).在进行分析的时候,服务器宕机了,不幸的是,我们没有关于这次攻击下一步行动的足够信息。这个有效载荷的详细分析将在后续的博客文章中发布。

运动分析

KONNI是一个潜在的大鼠,可能是APT37用于针对其受害者的目标。这一大鼠的主要受害者主要是俄罗斯和韩国的政治组织,但它不仅限于这些国家,并已观察到它有针对日本,越南,尼泊尔和蒙古。

有几种使用此大鼠的操作,但特别是竞选报告estsecurity.CyberInt2019年和2020年类似于我们在此报告的内容。在那些竞选活动中,演员用俄语诱惑瞄准俄罗斯。这个演员的过去的广告系列之间存在若干差异以及我们在这里记录的内容,但仍然是主要过程是相同的:在所有广告系列中,演员使用宏武器化的文档下载CAB文件并将KONNI RAT作为服务部署。

以下是这项新活动与较大的主要差异:

  • 宏是不同的。在旧的活动中,参与者使用TextBoxes存储其数据,而在新活动中,内容在文档内容中使用base64编码。
  • 在新的活动中,JavaScript文件被用于执行批处理和PowerShell文件。
  • 新的活动使用Powershell和URLMON API调用来下载cab文件,而在旧的活动中使用certutil下载CAB文件。
  • 新的广告系列使用了基于受害者的操作系统的两个不同的UAC旁路技术,而在旧的ONE中仅使用令牌模拟技术。
  • 在新的竞选活动中,演员已经开发出一种新的konni老鼠的新变种,这是严重混淆的。此外,其配置已加密,并且不是Base64再编码。它还不使用FTP进行exfiltration。

必威平台APP恶意软件字节客户受到保护,不受此运动。

国际石油公司

名称 Sha256
N / A. fccad2fea7371ad24a1256b78165bceffc5d01a850f6e2ff576a2d8801ef94fa
经济学relations.doc d283a0d5cfed4d212cd76497920cf820472c5f138fd061f25e3cddf65190283f
y.js. 7F82540A6B3FC81D581450DBDF7DEC7AD45D2984D3799084B29150BA91C004FD
yy.js 7a8f0690cb0eb7cbe72ddc9715b1527f33cec7497dcd2a1010def69e75c46586
y.ps1 617年f733c05b42048c0399ceea50d6e342a4935344bad85bba2f8215937bc0b83
tmpBD2B.tmp 10109E69D1FB2FE8F801C3588F829E020F1F29C4638FAD5394C1033BC298FD3F
check.bat a7d5f7a14e36920413e743932f26e624573bbb0f431c594fb71d87a252c8d90d
install.bat. 4876A41CA8919C4FF58FFB4B4DF54202D82804FD85D0010669C7CB4F369C12C3
xwtpui.d​​ll. 062AA6A968090CF6FD98E1AC8612DD4985BF9B29E13D60EBA8F24E5A706F8311
xmlprov.dll F702DFDDBC5B4F1D5A5A9DB0A2C013900D30515E69A09420A7C3F6AAC901B12
xmlprov.dll 80641207 b659931d5e3cad7ad5e3e653a27162c66b35b9ae9019d5e19e092362
xmlprov.ini 491ED46847E30B9765A7EC5FF08D9ACB8601698019002BE0B38BECCE477E12F6


域:
takemetoyouheart c1[][]商业
taketodjnfnei898 [] ueuo。com
taketodjnfnei898 [。] c1 [。] biz
roomanovawillkillyou [。] c1 [。] biz