本文基于国家计算机病毒应急处理中心、计算机病毒防治技术国家工程实验室最新通报及相关公开威胁情报编写,面向安全运维、应急响应及企业安全管理人员。
一、事件概述
2026 年,国家计算机病毒应急处理中心和计算机病毒防治技术国家工程实验室依托国家计算机病毒协同分析平台(virus.cverc.org.cn),在我国境内连续监测发现多起"Sorry"勒索病毒攻击事件。受害者涵盖托管服务商、电商平台、企业门户及政府网站,部分案例中攻击者在数小时内即完成从入侵到全盘加密的全流程。
核心事实速览:
| 病毒名称 | Sorry Ransomware(2026 新型变种) |
| 编写语言 | Go(Golang),静态编译为单一二进制文件 |
| 目标系统 | Linux Web 服务器(含信创操作系统) |
| 初始入侵 | cPanel 授权绕过漏洞(CVE-2026-41940) |
| 加密算法 | AES + RSA 双层加密 |
| 扩散方式 | SSH 弱口令横向传播 |
| 勒索模式 | 双重勒索(加密 + 数据窃取) |
| 伪装手段 | 进程名伪装为 sshd |
感染后,所有用户文件被追加 .sorry 扩展名,攻击者在各目录释放勒索信,要求受害者通过加密通信工具联系并支付赎金。截至通报发布时,尚无公开解密工具。
二、攻击链全景:六阶段深度拆解
相较于传统勒索病毒"入侵即加密"的简单模式,Sorry 的攻击链呈现出 APT 级别的成熟度——从信息收集、防御规避、数据窃取到横向扩散,每一步都经过精心设计。
#mermaid-svg-XUkozJPFdSYJIlb4{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-XUkozJPFdSYJIlb4 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-XUkozJPFdSYJIlb4 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-XUkozJPFdSYJIlb4 .error-icon{fill:#552222;}#mermaid-svg-XUkozJPFdSYJIlb4 .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-XUkozJPFdSYJIlb4 .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-XUkozJPFdSYJIlb4 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-XUkozJPFdSYJIlb4 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-XUkozJPFdSYJIlb4 .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-XUkozJPFdSYJIlb4 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-XUkozJPFdSYJIlb4 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-XUkozJPFdSYJIlb4 .marker{fill:#333333;stroke:#333333;}#mermaid-svg-XUkozJPFdSYJIlb4 .marker.cross{stroke:#333333;}#mermaid-svg-XUkozJPFdSYJIlb4 svg{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-XUkozJPFdSYJIlb4 p{margin:0;}#mermaid-svg-XUkozJPFdSYJIlb4 .label{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;color:#333;}#mermaid-svg-XUkozJPFdSYJIlb4 .cluster-label text{fill:#333;}#mermaid-svg-XUkozJPFdSYJIlb4 .cluster-label span{color:#333;}#mermaid-svg-XUkozJPFdSYJIlb4 .cluster-label span p{background-color:transparent;}#mermaid-svg-XUkozJPFdSYJIlb4 .label text,#mermaid-svg-XUkozJPFdSYJIlb4 span{fill:#333;color:#333;}#mermaid-svg-XUkozJPFdSYJIlb4 .node rect,#mermaid-svg-XUkozJPFdSYJIlb4 .node circle,#mermaid-svg-XUkozJPFdSYJIlb4 .node ellipse,#mermaid-svg-XUkozJPFdSYJIlb4 .node polygon,#mermaid-svg-XUkozJPFdSYJIlb4 .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-XUkozJPFdSYJIlb4 .rough-node .label text,#mermaid-svg-XUkozJPFdSYJIlb4 .node .label text,#mermaid-svg-XUkozJPFdSYJIlb4 .image-shape .label,#mermaid-svg-XUkozJPFdSYJIlb4 .icon-shape .label{text-anchor:middle;}#mermaid-svg-XUkozJPFdSYJIlb4 .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-XUkozJPFdSYJIlb4 .rough-node .label,#mermaid-svg-XUkozJPFdSYJIlb4 .node .label,#mermaid-svg-XUkozJPFdSYJIlb4 .image-shape .label,#mermaid-svg-XUkozJPFdSYJIlb4 .icon-shape .label{text-align:center;}#mermaid-svg-XUkozJPFdSYJIlb4 .node.clickable{cursor:pointer;}#mermaid-svg-XUkozJPFdSYJIlb4 .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-XUkozJPFdSYJIlb4 .arrowheadPath{fill:#333333;}#mermaid-svg-XUkozJPFdSYJIlb4 .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-XUkozJPFdSYJIlb4 .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-XUkozJPFdSYJIlb4 .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-XUkozJPFdSYJIlb4 .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-XUkozJPFdSYJIlb4 .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-XUkozJPFdSYJIlb4 .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-XUkozJPFdSYJIlb4 .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-XUkozJPFdSYJIlb4 .cluster text{fill:#333;}#mermaid-svg-XUkozJPFdSYJIlb4 .cluster span{color:#333;}#mermaid-svg-XUkozJPFdSYJIlb4 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-XUkozJPFdSYJIlb4 .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-XUkozJPFdSYJIlb4 rect.text{fill:none;stroke-width:0;}#mermaid-svg-XUkozJPFdSYJIlb4 .icon-shape,#mermaid-svg-XUkozJPFdSYJIlb4 .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-XUkozJPFdSYJIlb4 .icon-shape p,#mermaid-svg-XUkozJPFdSYJIlb4 .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-XUkozJPFdSYJIlb4 .icon-shape .label rect,#mermaid-svg-XUkozJPFdSYJIlb4 .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-XUkozJPFdSYJIlb4 .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-XUkozJPFdSYJIlb4 .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-XUkozJPFdSYJIlb4 :root{–mermaid-font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}
🐚 cPanel 漏洞入侵
🔍 环境指纹探测
🛡️ 终止安全/数据库服务
📤 批量窃取敏感数据
🔐 AES+RSA 全盘加密
🦠 SSH 弱口令横向扩散
2.1 初始入侵:cPanel 授权绕过漏洞(CVE-2026-41940)
漏洞技术细节:
- 漏洞编号:CNNVD-202604-5641 / CVE-2026-41940
- 影响产品:cPanel & WHM、WP Squared 等 WebPros 全系产品
- 漏洞类型:授权问题漏洞(Authorization Bypass)
- 攻击效果:攻击者无需任何有效凭据即可获取服务器管理级权限,执行的命令以 root 或 cPanel 服务账户身份运行
cPanel 是全球市场份额最高的 Linux 虚拟主机管理面板,据 W3Techs 统计,全球约 8% 的网站托管于 cPanel 环境。对攻击者而言,这是一个天然的"高价值目标池"——大量中小型网站和托管业务集中部署,且运维水平参差不齐。
实际攻击场景还原:
攻击者使用 Shodan/Fofa 批量扫描公网 cPanel 登录端口(2083/2087)
→ 识别 cPanel 版本号,匹配受影响版本范围
→ 构造恶意 HTTP 请求,触发授权绕过逻辑
→ 获取 Web 服务器 shell,投放 Go 编译的勒索载荷
→ 载荷以 sshd 进程名在后台运行,运维人员难以察觉
2.2 环境探测:Victim ID 指纹机制
载荷运行后的首个动作不是加密,而是生成一个唯一受害者标识符(Victim ID),这是该家族区别于其他勒索软件的重要特征。
Victim ID 融合的系统指纹:
VictimID = Hash(
Username + // 运行上下文用户
Hostname + // 主机名,可能透露业务角色
CPU Count + // 服务器规格,反映目标价值
OS/Kernel Ver + // 精确到内核版本号
Network IFs + // IP、MAC、网卡列表
Timestamp // 感染时间戳
)
回传至 C2 服务器 68.183.190.253:80 后,攻击者能够:
- 目标分级:根据 CPU、内存等硬件规格判断是否为高价值服务器
- 密钥绑定:为该 Victim ID 生成唯一的 RSA 密钥对,确保不同受害者之间无法交叉解密
- 赎金追踪:后续赎金支付状态与 Victim ID 绑定
2.3 防御规避:多维度清除障碍
在正式加密前,病毒系统性地清除可能阻碍其运行的各类服务:
第一层:释放文件锁(数据库服务)
# 病毒内部执行的等效操作
systemctl stop mysql mariadb postgresql mongod redis
killall -9 mysqld postgres mongod redis-server
数据库被终止不仅是为了释放文件句柄方便加密,更是一种直接打击——大量 Web 应用在数据库停服后立即瘫痪,增加了受害者的紧迫感。
第二层:解除安全防护
病毒遍历进程列表,匹配常见安全产品进程名并强制终止。这一步骤直接影响:
- 主机型 IDS/EDR Agent
- 第三方杀毒软件
- 应用防火墙(ModSecurity 等 WAF 模块)
第三层:清除备份和恢复路径
# 删除 cron 定期备份任务
crontab -r
rm -rf /var/spool/cron/*
# 终止正在运行的 rsync/tar/dump 进程
killall rsync tar mysqldump pg_dump
# 卸载快照卷(部分云环境)
umount /mnt/snapshots 2>/dev/null
2.4 数据窃取:双重勒索的关键一环
Sorry 采用了"先窃取、后加密"的双重勒索(Double Extortion)策略,这个顺序至关重要——如果先加密再窃取,攻击者自己也读不到数据。
窃取目标优先级:
| P0 | 数据库文件(.sql, .mdb, .db) | 包含客户数据、交易记录 |
| P1 | 配置文件(.env, config.php, web.config) | 暴露数据库密码、API 密钥、支付网关凭证 |
| P2 | 网站源码(.php, .js, .py, .java) | 知识产权、商业逻辑 |
| P3 | SSH 密钥(id_rsa, authorized_keys) | 横向移动跳板、长期驻留 |
| P4 | 业务文档(.pdf, .docx, .xlsx) | 合同、客户信息、商业机密 |
窃取的数据被打包后通过 HTTP POST 回传至 C2 服务器。攻击者在勒索信中以此为筹码——即使受害者通过备份恢复了数据,攻击者仍威胁公开或出售窃取的敏感信息。
2.5 文件加密:AES + RSA 双层机制详解
加密流程是该病毒的技术核心:
┌─────────────────────────────────────────────────┐
│ 1. 生成随机 AES-256 会话密钥(每文件唯一) │
│ │ │
│ ▼ │
│ 2. 使用 AES-256-GCM 加密文件内容 │
│ – GCM 模式提供认证加密,附带完整性校验 │
│ – 分块读取和写入,控制内存占用 │
│ │ │
│ ▼ │
│ 3. 使用攻击者 RSA-2048 公钥加密 AES 会话密钥 │
│ – 公钥嵌入病毒二进制文件 │
│ – 私钥仅攻击者持有 │
│ │ │
│ ▼ │
│ 4. 加密后的 AES 密钥写入文件尾部或独立 .key 文件 │
│ │ │
│ ▼ │
│ 5. 重命名文件:原文件名 → 原文件名.sorry │
└─────────────────────────────────────────────────┘
为什么不可破解?
AES-256 在计算上是安全的——即使使用全球所有计算资源,暴力破解一个 AES-256 密钥所需的时间远超宇宙年龄。RSA-2048 同样在当前计算能力下不可破解。攻击者的设计确保了解密密钥(RSA 私钥)从不出现在受害者系统上,分析人员即使完全逆向工程师病毒代码,也只能得到 RSA 公钥——公钥只能加密,不能解密。
这一设计决定了:在没有攻击者提供的私钥的条件下,文件恢复的唯一希望是离线备份。
2.6 横向扩散:从单点到集群沦陷
Sorry 的横向传播能力是其区别于绝大多数 Linux 勒索软件的核心特征:
扩散三通道:
通道1: SSH 端口扫描(22 / 2222 / 22222)
├── 扫描同网段所有活跃主机
├── 识别开放 SSH 服务的 IP
└── 进入弱口令爆破流程
通道2: 弱口令爆破
├── 内置字典包含常见组合:
│ root:root, root:123456, root:password
│ admin:admin, ubuntu:ubuntu, test:test
│ www:www, mysql:mysql, postgres:postgres
├── 尝试频率控制,避免触发账户锁定
└── 成功登录后立即上传自身载荷
通道3: SSH 密钥复用
├── 读取 ~/.ssh/id_rsa(从当前主机窃取)
├── 解析 ~/.ssh/known_hosts(获取历史连接记录)
└── 逐台尝试免密登录
典型感染时间线(模拟案例):
T+0 : cPanel 漏洞利用成功,载荷植入 Web 服务器 A
T+5min : 环境探测完成,Victim ID 回传
T+15min: 数据库服务被终止,Web 业务中断
T+30min: 敏感数据窃取完成并回传
T+1h : 文件加密持续进行中
T+2h : 通过 SSH 弱口令入侵测试服务器 B
T+4h : 服务器 B 完成加密,继续向数据库服务器 C 扩散
T+12h : 三台以上服务器沦陷,集群级灾难
三、样本技术特征与检测
3.1 样本基本信息
| 文件名 | sshd(伪装为 OpenSSH 守护进程) |
| MD5 | 01896fbb58e8edefc5a8392e467c2260 |
| SHA-256 | 2fc0a056fd4eff5d31d06c103af3298d711f33dbcd5d122cae30b571ac511e5a |
| 文件类型 | ELF 64-bit LSB executable, statically linked (Go) |
| C2 通信 | HTTP to 68.183.190.253:80 |
| 平台验证 | 国家计算机病毒协同分析平台 |
3.2 Go 语言编写带来的安全挑战
勒索软件使用 Go 语言编写并非偶然,而是一种趋势性选择:
静态编译优势(对攻击者):
- Go 编译产物为单一 ELF 二进制文件,包含运行时和所有依赖,无需目标系统安装任何库
- 一个 10-15MB 的二进制即可在从 CentOS 7 到 Ubuntu 24.04 的任何 Linux 上直接运行
跨平台编译:
# 同一份源码,攻击者只需切换编译参数
GOOS=linux GOARCH=amd64 go build # x86_64 服务器
GOOS=linux GOARCH=arm64 go build # ARM 服务器(信创/华为鲲鹏)
GOOS=linux GOARCH=loong64 go build # 龙芯架构
逆向分析阻力:
- Go 的 Goroutine 调度机制导致函数调用图复杂化
- 字符串在二进制中以连续块存储,常规 strings 命令提取效率降低
- Go 自有的调用约定(Plan 9 ABI)与标准 x86-64 ABI 不同
3.3 检测规则
YARA 规则(文件扫描):
rule Sorry_Ransomware_2026_Go {
meta:
description = "Detects 2026 Sorry ransomware Go variant"
author = "CVERC Analysis"
hash_md5 = "01896fbb58e8edefc5a8392e467c2260"
hash_sha256 = "2fc0a056fd4eff5d31d06c103af3298d711f33dbcd5d122cae30b571ac511e5a"
date = "2026-08"
strings:
$go_build = "go.buildid" ascii
$ext1 = ".sorry" ascii wide
$ransom1 = "SORRY" ascii wide
$ransom2 = "decrypt" ascii nocase
$ransom3 = "bitcoin" ascii nocase
$net1 = "68.183.190.253" ascii
condition:
uint16(0) == 0x457f and // ELF magic
(uint16(18) & 0xFF00) == 0x3E00 and // x86_64 or ARM64
$go_build and
($ext1 or (2 of ($ransom*))) or
$net1
}
Sigma 规则(SIEM/SOC 检测):
title: Sorry Ransomware – Suspicious Process Masquerading as sshd
id: cverc–sorry–001
status: experimental
description: >
Detects a process named 'sshd' running from a non-standard path,
which is a known indicator of the 2026 Sorry ransomware variant.
references:
– https://virus.cverc.org.cn
logsource:
product: linux
category: process_creation
detection:
selection:
Image|endswith: '/sshd'
filter_legit:
Image|startswith:
– '/usr/sbin/'
– '/usr/bin/'
– '/sbin/'
– '/bin/'
condition: selection and not filter_legit
falsepositives:
– Legitimate sshd daemon
level: critical
tags:
– attack.defense_evasion
– attack.t1036.005
title: Sorry Ransomware – Mass File Rename with .sorry Extension
id: cverc–sorry–002
status: experimental
description: Detects mass file rename operations appending .sorry extension
logsource:
product: linux
category: file_event
detection:
selection:
TargetFilename|endswith: '.sorry'
timeframe: 5m
condition: selection | count() > 100
level: critical
title: Sorry Ransomware – Shadow Copy / Cron Deletion
id: cverc–sorry–003
description: Detects commands used by Sorry ransomware to delete backups
logsource:
product: linux
category: process_creation
detection:
selection:
– Image|endswith: '/crontab'
CommandLine|contains: '-r'
– CommandLine|contains|all:
– 'rm'
– '-rf'
– 'cron'
condition: selection
level: high
威胁狩猎命令(主动排查):
# 1. 排查伪装 sshd 进程
ps aux | grep sshd | grep -v /usr/sbin/sshd | grep -v grep
# 2. 排查异常网络连接
ss -antp | grep -E 'ESTAB|SYN_SENT' | grep -v ':22\\|:443\\|:80'
# 3. 检查最近修改的可疑文件
find /tmp /var/tmp /dev/shm -type f -mtime -1 -exec file {} \\; | grep ELF
# 4. 检查 crontab 是否被清空
for user in $(cut -f1 -d: /etc/passwd); do
crontab -u $user -l 2>/dev/null
done | wc -l # 如果输出为 0 且之前有配置,高度可疑
# 5. 检查 SSH 认证日志中的异常登录
grep -E 'Accepted (password|publickey)' /var/log/auth.log* | tail -50
# 6. 扫描局域网 SSH 弱口令(用于自检)
# 注意:仅为排查目的,需授权后执行
nmap -p 22,2222,22222 –script ssh-brute 192.168.0.0/24
四、风险态势评估
国家计算机病毒应急处理中心针对此事件发布了四项风险评级:
风险一:广泛的系统兼容性 🔴 高危
该病毒可在国内主流 Linux 发行版上运行,包括但不限于:
| Red Hat 系 | RHEL 7/8/9、CentOS 7/8/Stream、Rocky Linux、AlmaLinux |
| Debian 系 | Debian 10/11/12、Ubuntu 18.04-24.04 LTS |
| 信创系统 | 麒麟 V10、统信 UOS、华为 openEuler/EulerOS、龙蜥 AnolisOS |
| 其他 | SUSE、OpenCloudOS、TencentOS |
这意味着部署信创操作系统的政府、央企和关键基础设施同样是潜在目标。
风险二:双重勒索的复合打击 🔴 高危
单纯的加密勒索可以通过备份恢复应对,但"先窃取后加密"的策略改变了威胁模型:
- 敏感数据泄露可能导致 GDPR/《个人信息保护法》/《数据安全法》合规处罚
- 商业机密泄露可能带来竞争劣势和信誉损失
- 即使恢复数据,攻击者仍保有二次勒索筹码
风险三:主动扩散能力 🟠 中高危
大多数勒索软件依赖攻击者手动横向移动,而 Sorry 内置的 SSH 弱口令扫描模块使其具备自主扩散能力。在口令管理不规范的内网环境(如开发测试服务器使用统一弱口令),单点感染可在数小时内演变为集群沦陷。
风险四:恢复不可行 🟡 中危(取决于备份)
AES-256 + RSA-2048 的密码学组合在数学上是安全的。目前没有公开可用的解密工具。文件恢复的唯一可行路径是离线备份。
五、防御加固方案
以下加固方案按优先级排序,建议从 P0 开始逐步推进。
P0 — 漏洞修补(立即执行)
# 1. 检查 cPanel/WHM 版本
/usr/local/cpanel/cpanel -V
# 2. 升级至已修复版本
/scripts/upcp –force
# 3. 如无法立即升级,临时限制 cPanel 管理端口访问
iptables -A INPUT -p tcp –dport 2083 -s <管理IP> -j ACCEPT
iptables -A INPUT -p tcp –dport 2083 -j DROP
iptables -A INPUT -p tcp –dport 2087 -s <管理IP> -j ACCEPT
iptables -A INPUT -p tcp –dport 2087 -j DROP
P0 — SSH 安全加固
# 禁止 root 登录
sed -i 's/^#PermitRootLogin.*/PermitRootLogin no/' /etc/ssh/sshd_config
sed -i 's/^PermitRootLogin yes/PermitRootLogin no/' /etc/ssh/sshd_config
# 禁用密码认证,强制密钥登录
sed -i 's/^#PasswordAuthentication.*/PasswordAuthentication no/' /etc/ssh/sshd_config
sed -i 's/^PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config
# 更改 SSH 默认端口(可选,增加扫描成本)
sed -i 's/^#Port 22/Port <自定义端口>/' /etc/ssh/sshd_config
# 限制登录用户白名单
echo "AllowUsers adminuser deployuser" >> /etc/ssh/sshd_config
systemctl restart sshd
P1 — 网络暴露面收敛
- cPanel 管理端口(2082/2083/2086/2087):仅允许堡垒机或管理 VPN 的 IP 访问
- SSH(22/2222/22222):禁止公网直接暴露,通过堡垒机中转
- 数据库端口(3306/5432/6379/27017):禁止公网监听,使用 bind-address = 127.0.0.1
- 全量公网端口审计:ss -tlnp 列出所有监听端口,逐个确认必要性
P1 — 强制口令策略
# 安装 pam_pwquality(Debian/Ubuntu)
apt install libpam-pwquality
# 配置密码复杂度(/etc/security/pwquality.conf)
minlen = 12
minclass = 3 # 至少包含3种字符类型
maxrepeat = 3 # 同一字符最多连续出现3次
enforce_for_root # 对 root 也生效
# 配置登录失败锁定(/etc/pam.d/common-auth 追加)
auth required pam_tally2.so deny=5 unlock_time=1800 onerr=fail
P2 — 终端检测与响应
- 部署 Linux 兼容的 EDR 方案,开启行为检测和实时监控
- 重点监控以下行为:
- 非系统路径下名为 sshd 的进程启动
- 批量文件重命名操作(inotify 事件风暴)
- crontab 被清空
- 非管理员主动停止数据库/安全服务
- 接入国家计算机病毒协同分析平台的 IOC 情报源
P2 — 备份策略(3-2-1-1 增强版)
| 3 份副本 | 生产数据 + 本地备份 + 异地备份 |
| 2 种介质 | 磁盘/ NAS + 磁带/离线硬盘 |
| 1 份异地 | 物理隔离或跨云存储 |
| 1 份不可变 | WORM(Write Once Read Many)存储,防篡改防删除 |
备份验证脚本示例:
#!/bin/bash
# 每周自动执行,验证备份完整性
BACKUP_DIR="/backup/weekly"
RESTORE_TEST="/tmp/restore_test_$(date +%Y%m%d)"
mkdir -p $RESTORE_TEST
tar -xzf $BACKUP_DIR/db_backup.tar.gz -C $RESTORE_TEST
# 验证数据库文件完整性
mysqlcheck –all-databases –check-only
# 测试后清理
rm -rf $RESTORE_TEST
P3 — 安全意识
- 警惕搜索引擎和电商平台上的"解密工具""数据恢复服务"广告——这些多为二次诈骗
- 切勿下载安装攻击者提供的"加密通信工具"——可能是远控木马
- 发现可疑文件时,上传至 virus.cverc.org.cn 进行检测
- 建立安全事件逐级上报和应急响应 SOP
六、应急响应手册
第一阶段:止损(黄金 1 小时)
□ 立即断开感染主机网络(物理断网或云安全组隔离)
□ 检查 /var/log/auth.log 中近 24 小时的异常 SSH 登录
□ 排查同网段内使用相同 SSH 密钥或密码的其他主机
□ 封锁 C2 地址 68.183.190.253(防火墙 + DNS sinkhole)
□ 重置全部受影响凭据(密码、SSH 密钥、API Token、数据库密码)
□ 通知相关业务方启动应急预案
第二阶段:取证(24 小时内)
# 保存当前进程快照
ps auxf > /tmp/forensics/ps_$(date +%s).txt
# 保存网络连接状态
ss -antup > /tmp/forensics/netstat_$(date +%s).txt
# 保存 SSH 认证日志
cp /var/log/auth.log* /tmp/forensics/
# 保存所有用户的 crontab
for user in $(cut -f1 -d: /etc/passwd); do
crontab -u $user -l 2>/dev/null
done > /tmp/forensics/crontabs.txt
# 搜索 .sorry 文件,了解加密范围
find / -name "*.sorry" -type f 2>/dev/null > /tmp/forensics/encrypted_files.txt
# 检查未知的 SUID 文件(可能的持久化后门)
find / -perm -4000 -type f -mtime -7 2>/dev/null
# 如条件允许,制作磁盘镜像
dd if=/dev/sda of=/mnt/forensics/disk.img bs=4M status=progress
日志分析重点:
# SSH 登录成功记录
grep 'Accepted' /var/log/auth.log* | awk '{print $1,$2,$3,$9,$11}' | sort | uniq -c | sort -rn
# 登录失败的 IP 统计(暴力破解特征)
grep 'Failed password' /var/log/auth.log* | awk '{print $(NF-3)}' | sort | uniq -c | sort -rn | head -20
# 用户切换记录
grep 'su:' /var/log/auth.log* | grep -v 'session opened' | tail -50
第三阶段:恢复(24-72 小时)
□ 确认离线备份的完整性和未被感染
□ 准备全新的操作系统安装介质
□ 重建服务器(不要尝试原地修复——攻击者可能遗留后门)
□ 按优先级恢复:数据库 → Web 服务 → 其他应用
□ 恢复后执行安全加固(参照第五章)
□ 持续监控 72 小时,确保无异常连接和异常进程
□ 编写事件报告,总结经验教训
联系与上报
- 国家计算机病毒协同分析平台:https://virus.cverc.org.cn
- 国家互联网应急中心(CNCERT/CC):https://www.cert.org.cn
- 向当地公安机关网络安全保卫部门报案
七、趋势研判与总结
2026 年 Sorry 勒索病毒的爆发不是孤立事件,它映射出勒索软件生态的几个结构性变化:
1. Linux 服务器成为主战场。 当企业的核心业务(Web、数据库、API)全面运行在 Linux 上时,攻击者的目标也随之迁移。Go 语言的跨平台编译能力使攻击者可以"一次编写、全架构部署",信创生态同样无法免疫。
2. 漏洞利用取代口令爆破成为首要入侵向量。 cPanel 类管理面板的漏洞一旦曝光,攻击窗口期内存在大量未修补的暴露资产。与 RDP 爆破相比,漏洞利用更快、更隐蔽、更多针对高价值目标。
3. 双重勒索成为行业标准。 仅靠加密文件已不足以胁迫受害者——当备份成为普遍实践,"先窃取后加密"开辟了数据泄露这一新的勒索维度。
4. 主动扩散能力提升威胁级别。 内置横向移动模块的勒索软件从"点状攻击"升级为"面状攻击",对缺乏网络分段的组织破坏力成倍增加。
防守方的应对公式:
安全 = 最小化攻击面 × 及时修补漏洞 × 防篡改备份 × 行为检测能力
没有单一防御措施能 100% 阻止攻击。但每个环节的提升都在拉高攻击者的成本、缩小攻击窗口、降低成功概率。这场对抗的胜负不取决于某一项技术参数,而取决于组织安全实践的全面性和一致性。
本文技术数据来源于国家计算机病毒应急处理中心、计算机病毒防治技术国家工程实验室公开通报及国家计算机病毒协同分析平台(virus.cverc.org.cn)。文中 Sigma/YARA 规则为示范性质,部署前请根据实际环境调整。
附录
A. IOC 汇总
| 文件名 | sshd | 伪装进程名,非标准路径运行 |
| MD5 | 01896fbb58e8edefc5a8392e467c2260 | 样本文件哈希 |
| SHA-256 | 2fc0a056fd4eff5d31d06c103af3298d711f33dbcd5d122cae30b571ac511e5a | 样本文件哈希 |
| C2 IP | 68.183.190.253 | C2 通信,端口 80 |
| 漏洞编号 | CVE-2026-41940 | cPanel 授权绕过 |
| 国内漏洞编号 | CNNVD-202604-5641 | 对应国内漏洞库编号 |
| 文件扩展名 | .sorry | 加密后文件后缀 |
B. 关键命令速查
# === 排查检测 ===
ps aux | grep sshd | grep -v 'sshd:' | grep -v grep # 伪装进程
ss -antp | grep 68.183.190.253 # C2 连接
find / -name "*.sorry" -type f 2>/dev/null | head # 加密文件
grep 'Accepted' /var/log/auth.log | tail -20 # SSH 登录
crontab -l 2>/dev/null; ls /var/spool/cron/ # 计划任务
find / -perm -4000 -mtime -7 -type f 2>/dev/null # 新增 SUID
# === 加固操作 ===
/scripts/upcp –force # 升级 cPanel
sed -i 's/^PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config
systemctl restart sshd # 禁用 SSH 密码登录
iptables -A INPUT -p tcp –dport 2083 -s <可信IP> -j ACCEPT # 限制 cPanel 访问
C. 参考来源
- 国家计算机病毒协同分析平台:https://virus.cverc.org.cn
- 国家计算机病毒应急处理中心
- 计算机病毒防治技术国家工程实验室
- MITRE ATT&CK:T1486(Data Encrypted for Impact)、T1036.005(Match Legitimate Name or Location)
- OWASP:CVE-2026-41940 / CNNVD-202604-5641





