针对哈萨克斯坦的基于多阶段 PowerShell 的攻击

VSole2021-11-16 19:35:51

时间线

11 月 10 日,我们发现了一次多阶段 PowerShell 攻击,该攻击使用冒充哈萨克斯坦卫生部的文件诱饵,目标是哈萨克斯坦。

11 月 8 日,一个用户名为 DangerSklif(可能是指莫斯科的急诊医院)的攻击者创建了一个 GitHub 帐户(目前账号不存在)并上传了攻击的第一部分。

概述

攻击者在伪装成来自“哈萨克斯坦共和国卫生部”邮件,邮件中含有名为“Уведомление.rar”(“Notice.rar”)的 RAR压缩包。文件中包含一个同名的 lnk 文件,和伪装成来自“哈萨克斯坦共和国卫生部”的 PDF 文档。打开 lnk 文件后,将打开一个 PDF 文件以迷惑受害者,同时在后台执行此攻击的多个阶段。

pdf文件是对哈萨克斯坦国家卫生局发布的 Covid 19 政策的修订。

攻击过程

下图展示了这次攻击的全过程。

首先执行 lnk 文件,该文件调用 PowerShell 以通过运行多个Powershell脚本来操作注册表项和执行多种技术,例如权限提升和持久性。

这次攻击的所有阶段都托管在一个DangerSklif的用户于 11 月 8 日创建名为GoogleUpdate 的Github 存储库中 。该DangerSklif 用户注册于11月1日。可以看出这是一次针对性的攻击。

分析

嵌入的 lnk 文件被混淆,去混淆后我们可以看到它使用 cmd.exe 调用 PowerShell 从 Github 帐户(lib7.ps1)下载并执行攻击的第一阶段。

该 lib7.ps1 下载来自同一个帐户Github上,并将其存储在PDF文件目录中(其实可以下载在更隐蔽的目录中)。在下一步中,它会打开PDF 以迷惑目标,同时它会在后台执行其余过程,包括获取操作系统版本并根据操作系统版本下载下一阶段。

下载操作使用的是.net中的WebClient,比较常规的一种下载方法。获取操作系统版本的为win32_OperatingSystem.

如果操作系统版本为 7 或 8,则下载并执行 lib30.ps1 ,如果操作系统版本为 10,则下载并执行 lib207.ps1。检查操作系统的版本主要是为了进行提权。

这些提权技术在TA505在Srv Helper 的活动中使用过。

运行的 PowerShell 脚本包含一个 Base64 编码,解码后,在 CBC 模式下由三重 DES (3DES) 算法解密:

脚本的第一部分定义了一个名为 heller 的函数,作用是提升系统权限并允许绕过 UAC,在这里一共使用了2种技术:

技术 1 — 在任务计划程序中使用 SilentCleanup 任务:

SilentCleanup 可以由用户启动,在这种情况下,它会以提升的权限运行。可执行文件的路径是使用 %windir% 环境变量在其属性中指定的,例如,可以重置其值以触发 PowerShell 脚本的启动。在这种情况下,运行任务将导致 PowerShell 脚本以管理员权限启动,绕过 UAC。

该技术被黑客用于针对 Windows 8 和 Windows 10 系统。

该技术背后的代码与Metasploit 框架的模块实现相同。

技术 2 — 使用 sysprep.exe 系统实用程序和 DLL 劫持加载:

首先,创建一个帮助程序脚本以重新启动目录 C:\Windows\Temp 中的 PowerShell 脚本。然后创建一个包含辅助 DLL CRYPTBASE.dll(PowerShell 脚本包含 x86 和 x64 版本的库)的 CAB 存档。

然后使用 wusa.exe 系统实用程序将此存档解压缩到文件夹 C:\Windows\System32\Sysprep 中。

接下来,sysprep.exe 系统实用程序启动,加载先前解压的 DLL,然后 DLL 继续执行帮助脚本。然后PowerShell 脚本将以管理员权限重新启动,绕过 UAC。

http://www.labofapenetrationtester.com/2015/09/bypassing-uac-with-powershell.htmlPOC:https://github.com/samratashok/nishang/blob/master/Escalation/Invoke-PsUACme.ps1

在这次的攻击中,攻击者使用使用任务计划程序中的 SilentCleanup任务绕过 Windows 10 中的 UAC:使用Lib207.ps1 绕过 Windows 10 中的 UAC。用于执行绕过的 PowerShell 命令使用 0x58 密钥进行 XOR 加密。

解密命令后,我们可以看到UAC绕过的过程,包括在Task Scheduler中创建一个SilentCleanup任务,调用PowerShell以更高的权限执行创建的vbs文件。

在 Windows 7 和 8 中使用 sysprep.exe 系统实用程序和 DLL 旁加载绕过 UAC:Lib30.ps1 用于执行此绕过。与 lib207.ps1 类似,此 PowerShell 脚本也是 XOR 加密的,但使用不同的密钥 (0x02)。

该过程首先在“ Windows/Temp ”目录中创建一个批处理文件 ( cmd.bat ) 。在下一步中,将创建一个包含 DLL(Windows 7 为 CRYPTBASE.dll 或 Windows 8 为 shcore.dll)的 cab 存档文件。然后使用 wusa.exe 将此 cab 文件解压缩到 C:\Windows\System32\Sysprep 目录中.

最后,sysprep.exe 系统实用程序启动哪一侧加载 Windows 7 的 CRYPTBASE.dll 或 Windows 8 的 shcore.dll。此 DLL 执行创建的cmd.bat文件,从而导致以高权限执行它,用来绕过UAC。

绕过 UAC 后,在所有操作系统版本中,都会下载并执行下一阶段的有效负载 ( lib106.ps1 )。

此阶段执行以下操作:

在ProgramFiles 目录中创建一个 vbs 文件 (cu.vbs), 并通过将此 vbs 文件添加到HKLM\Software\Microsoft\Windows\CurrentVersion\Run 注册表项来使这种多阶段攻击持久化 。 

使用“Attrib.exe +h”命令隐藏 vbs 文件。

使用 PowerShell下载并执行最后阶段 ( updater.ps1 )。

最后一个阶段 ( updater.ps1 ) 是在 PowerShell 中执行 Cobalt Strike的payload。这个 PowerShell 脚本是 Cobalt Strike 的 PowerShell payload的免杀。

虽然经过免杀处理,但还是明显看出来是coabltstrike的powershell payload。采用 base64 编码并使用 35 密钥进行 XOR 加密。在解码和解密 ShellCode 后,它使用 VirtualAlloc 将其分配到内存中,最后通过调用 Invoke 函数执行它。

比较常规的一次攻击,分享一下

powershelluac
本作品采用《CC 协议》,转载必须注明作者和本文链接
前几天受到某位红队大佬指点了一波amsi接口限制powershell脚本的问题,随即便深知自己的知识面不足,这其实是个很基础的技术点,惭愧,于是便快速学习并产出此文,本文尽力通俗易懂,希望能帮到对这一块不太熟悉的小伙伴。
时间线11 月 10 日,我们发现了一次多阶段 PowerShell 攻击,该攻击使用冒充哈萨克斯坦卫生部的
刚入行时在网上搜各种工具使用技巧及方法,通过别人的经验提高自身的技巧,然后再拿个小本本记录,这是每个网安人初入行时的必备姿势,那么今天丹丹就拿起先前做过的笔记和网上别人的经验做一个合集,把大部分使用到的工具技巧整理成册,后续自己以及大家查阅,如总结不到位的地方希望海涵,那现在就开始吧。。。。。
据Securityaffairs网站消息,UAC-0099的威胁行为者正在利用WinRAR中的一个高危漏洞CVE-2023-38831对乌克兰投放LONEPAGE恶意软件。 实际上,自2022年中旬以来,UAC-0099一直在对乌克兰境外公司的员工进行攻击。
在本文中,我们将简要介绍一下用户帐户控制,即UAC。我们还将研究它如何潜在地保护免受恶意软件的攻击并忽略UAC提示可能给系统带来的一些问题。
Malwarebytes 威胁情报团队最近审查了一系列针对乌克兰的网络攻击,我们高度相信这些攻击归因于 UAC-0056 (AKA UNC2589, TA471)。该威胁组织按照相同的通用策略、技术和程序 (TTP),通过网络钓鱼活动一再针对乌克兰的政府实体。
UAC Bypass 技术学习
2022-07-01 16:22:43
通过在这些操作启动前对其进行验证,UAC 可以帮助防止恶意软件和间谍软件在未经许可的情况下在计算机上进行安装或对计算机进行更改。提升的应用程序以 High 完整性级别运行,普通进程以 Medium 完整性级别运行,低权限进程以 Low 完整性级别运行。
Bypass UAC 技术总结
BypassUAC技术总结
2022-05-02 06:57:08
用户帐户控制(User Account Control,简写作UAC)是微软公司在其[Windows Vista](https://baike.baidu.com/item/Windows Vista)及更高版本操作系统中采用的一种控制机制,保护系统进行不必要的更改,提升操作系统的稳定性和安全性。
VSole
网络安全专家