这篇博客文章是Hossein Jazi写的
在2021年7月下旬,我们确定了一个持续的矛网络钓鱼,推动Konni RAT瞄准俄罗斯。2014年首次在野外观察Konni,并潜在与名为APT37的朝鲜APT集团有关。
我们发现了用俄语编写的两份文件,并用同样的恶意宏武器化。其中一个诱惑是关于俄罗斯与朝鲜半岛之间的贸易和经济问题。另一个是关于政府间俄罗斯蒙古委员会的会议。
在本博客文章中,我们提供了使用t的这一运动概述WO不同的UAC旁路技术和聪明的混淆伎俩仍然在雷达下。
攻击概述
下图显示了该演员使用的整体流量损害受害者。恶意活动从执行宏的文档开始,然后是最终部署Konni RAT的活动链。
文件分析
我们发现了Konni APT使用的两种诱饵。第一份文件“Economic relations.doc”包含了一篇12页的文章,似乎是在2010年发表的,标题是:韩国国家远东俄罗斯的区域经济联系(2010年)“。第二个文件是在2021年在俄罗斯发生的会议概要:“政府间俄罗斯贸易委员会第二次会议,经济,科学和技术运作“。
这些被Konni APT使用的恶意文档都被同样简单但聪明的宏武器化了。它只使用Shell函数执行一行cmd命令。这个一行命令获取当前活动文档作为输入,并查找“^ var”
字符串使用中
然后将线的内容写得从“var”到中y.js.
.最后它呼唤WScript.
贝壳
函数执行Java脚本文件(y.js.
).
聪明的是,演员试图隐藏恶意JS是其主要的开始活动结束时文档内容,不把它直接进入宏来避免被检测到AV产品以及隐藏其主要意图。
y. js
使用活动文档作为其参数调用文件。此JavaScript在主动文档中编码的两个模式,并且首先将其写入从模式开始的内容temp.txt
文件,然后base64使用其内置的base64解码器功能解码,函数de(输入)
,最后将解码后的内容写入定义的输出。
yy.js
用于存储第一个解码内容的数据和y.ps1
用于存储第二解码内容的数据。创建输出文件后,使用它们使用WScript.
和Powershell
.
Powershell脚本(y.ps1
),使用DllImport
函数进口URLDownloadToFile
从玩
和WinExec
从kernel32.dll
.导入所需函数后,它定义了以下变量:
- 从它下载文件的URL
- 存放下载文件的目录(%APPDATA%/Temp)
- 将存储在磁盘上的下载文件的名称。
在下一步中,它调用URLDownloadToFile
下载一个机柜文件并将其存储在% APPDATA %临时
具有唯一随机名称创建的目录GetTempFileName
.最后它使用WinExec
执行一个CMD命令,调用扩大
提取机柜文件的内容并删除机柜文件。的Y.PS.
1在结束时删除1Winexec
.
提取的Cabinet文件包含5个文件:check.bat
,install.bat.
,xmlprov.dll
,xmlprov.ini
和xwtpui.dll.
.YY.JS负责执行check.bat
从机柜文件中提取并在最后删除自己的文件。
Check.bat
此批处理文件检查命令提示符是否以管理员身份启动Net session > null
如果是这样,它就执行install.bat.
.如果用户没有管理员权限,则检查操作系统版本,如果是Windows 10,则设置一个变量名为数字
为4,否则设置为1。然后执行xwtpui.dll.
使用rundll32.exe
通过将三个参数传递给它:入口点
(要执行的DLL的导出函数),数字
(表示操作系统版本号)和install.bat.
.
Install.bat
攻击者使用的恶意软件假装为XMLProv网络配置服务。此服务在域基础上管理XML配置文件以进行自动网络配置。Install.bat
负责安装xmlprov.dll
作为服务。为实现此目标,它执行以下操作:
- 停止运行
xmlprov
服务 - 复制了
xmlprov.dll
和xmlrov.ini.
进入system32目录,并从当前目录中删除它们 - 检查是否
xmlProv
服务是否已安装,如果未安装,则通过创建服务svchost.exe
- 修改
xmlProv
服务价值包括type
和binpath
- 添加
xmlProv
要加载的服务列表svchost
- 添加
xmlProv
到xmlProv
注册表项 - 开始
xmlProv
服务
xwtpui.dll.
正如我们之前提到的如果受害者的机器没有正确的权限,xwtpui.dll.
正在被调用加载install.bat.
文件。自install.bat.
正在创建一个服务,它应该具有高完整性级别权限和“xwtpui.dll”
是用来绕过UAC并获得正确的特权,然后加载install.bat.
.
入口点
是这个dll的主要导出函数。它通过解析API调用来启动它的活动。所有API调用名都是硬编码的,参与者没有使用任何混淆技术来隐藏它们。
在下一步中,它通过调用来检查权限级别check_priviledge_leve.
l函数。此函数执行以下操作,如果用户没有正确的权限或UAC未禁用UAC,则返回零。
- 调用
rtlqueryelevationflags.
通过检查得到仰角状态pflag
价值。如果设置为0,则表示UAC被禁用。 - 使用。获取与当前进程关联的访问令牌
NtOpenProcessToken
然后调用NtQueryInformationToken
得到这一点TokenElevationType
检查它的值是否为3(如果值不是3,则表示当前进程被提升)。TokenElevationType可以有三个值:- tokenelevationdefault(1):表示UAC已禁用。
- tokenelevationtypefull(2):表示当前进程运行升高。
- TokenElevationTypeLimited(3):表示进程不是提升运行。
检查权限级别后,它会检查参数传递表单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
使它提升。
Windows 10 UAC旁路
用于Windows 10的UAC旁路使用了一个基于RPC的修改版本的UAC旁路的组合谷歌项目零和父PID欺骗绕过UAC。该过程如下:
- 步骤1:为接口id创建一个字符串绑定句柄“201:201eF99A-7FA0-444C-9399-19BA84F12A1A”并返回其绑定句柄,并为绑定句柄设置服务信息的所需身份验证,授权和安全质量。
- 步骤2:初始化RPC_ASYNC_STATE来进行异步调用,并创建一个新的非提升进程(它使用
winver.exe
作为非提升的过程)通过ndrasyncclientcall.
.
- 步骤3:使用
NtQueryInformationProcess
通过将创建的进程的句柄传递给它来打开调试对象的句柄。然后使用此过程分离调试器NtRemoveProcessDebug
并终止使用此创建的进程terminateprocess.
.
- 步骤4:重复步骤1和步骤2以创建新的提升过程:
taskmgr.exe.
. - 第5步:完全访问
任务管理器
通过检索其初始调试事件来处理句柄。首先,它使用调试对象的等待使用waitfordebugevent.
获取初始流程创建调试事件,然后使用NtDuplicateObject
获取完整的访问过程句柄。
- 步骤6:在获得的完全特权句柄之后
taskmgr.exe.
, actor使用此句柄执行CMD作为高权限进程执行install.bat.
.为了实现这一点,actor使用了父PID欺骗技术来生成一个新的cmd进程使用CreateProcessW
和处理taskmgr.exe.
哪一个自动提升的进程被分配为它的父进程使用UpdateProcThreadAttribute
.
Xmlprov.dll (Konni鼠)
这是已将其作为服务部署为服务的最终有效负载svchost.exe
.这只老鼠是严重混淆和使用多种反分析技术。它有一个自定义部分名为QWDFR0.
“执行所有脱模过程。使用其导出功能将此有效载荷寄存器作为服务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%
).
将数据发送到服务器后,它将进入循环以从服务器接收命令(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.dll. | 062AA6A968090CF6FD98E1AC8612DD4985BF9B29E13D60EBA8F24E5A706F8311 |
xmlprov.dll | F702DFDDBC5B4F1D5A5A9DB0A2C013900D30515E69A09420A7C3F6AAC901B12 |
xmlprov.dll | 80641207 b659931d5e3cad7ad5e3e653a27162c66b35b9ae9019d5e19e092362 |
xmlprov.ini | 491ED46847E30B9765A7EC5FF08D9ACB8601698019002BE0B38BECCE477E12F6 |
域:
takemetoyouheart c1[][]商业
taketodjnfnei898 [] ueuo。com
taketodjnfnei898 [。] c1 [。] biz
roomanovawillkillyou [。] c1 [。] biz
评论